From 8fd5c63e4bfdcf59ed7797ea7bf17e4feb04116c Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Tue, 7 Jan 2025 09:40:31 +0000 Subject: [PATCH] Multi-build support; tested successfully for Electron --- android/.gitignore | 101 + android/app/.gitignore | 2 + android/app/build.gradle | 54 + android/app/capacitor.build.gradle | 19 + android/app/proguard-rules.pro | 21 + .../myapp/ExampleInstrumentedTest.java | 26 + android/app/src/main/AndroidManifest.xml | 41 + .../java/app/timesafari/app/MainActivity.java | 5 + .../main/res/drawable-land-hdpi/splash.png | Bin 0 -> 7705 bytes .../main/res/drawable-land-mdpi/splash.png | Bin 0 -> 4040 bytes .../main/res/drawable-land-xhdpi/splash.png | Bin 0 -> 9251 bytes .../main/res/drawable-land-xxhdpi/splash.png | Bin 0 -> 13984 bytes .../main/res/drawable-land-xxxhdpi/splash.png | Bin 0 -> 17683 bytes .../main/res/drawable-port-hdpi/splash.png | Bin 0 -> 7934 bytes .../main/res/drawable-port-mdpi/splash.png | Bin 0 -> 4096 bytes .../main/res/drawable-port-xhdpi/splash.png | Bin 0 -> 9875 bytes .../main/res/drawable-port-xxhdpi/splash.png | Bin 0 -> 13346 bytes .../main/res/drawable-port-xxxhdpi/splash.png | Bin 0 -> 17489 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable/ic_launcher_background.xml | 170 + android/app/src/main/res/drawable/splash.png | Bin 0 -> 4040 bytes .../app/src/main/res/layout/activity_main.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2786 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3450 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4341 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1869 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2110 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2725 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3981 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 5036 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6593 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6644 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 9793 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10455 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9441 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 15529 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15916 bytes .../res/values/ic_launcher_background.xml | 4 + android/app/src/main/res/values/strings.xml | 7 + android/app/src/main/res/values/styles.xml | 22 + android/app/src/main/res/xml/file_paths.xml | 5 + .../getcapacitor/myapp/ExampleUnitTest.java | 18 + android/build.gradle | 29 + android/capacitor.settings.gradle | 3 + android/gradle.properties | 22 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 63375 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + android/gradlew | 248 + android/gradlew.bat | 92 + android/settings.gradle | 5 + android/variables.gradle | 16 + capacitor.config.ts | 10 + .../assets/AccountViewView-Cb0hfdQH.js | 11 + .../assets/ClaimAddRawView-jDXY8ZHT.js | 1 + .../assets/ClaimCertificateView-D2wPvj1g.js | 8 + dist-electron/assets/ClaimView-BUQRK2PH.css | 1 + dist-electron/assets/ClaimView-Cfn-VLjV.js | 1 + .../assets/ConfirmContactView-Bu5eW1VH.js | 1 + .../assets/ConfirmGiftView-CeT6C-iT.js | 1 + .../assets/ContactAmountsView-CCKLhJR0.js | 1 + .../assets/ContactGiftingView-CdUGNhUN.js | 1 + .../assets/ContactImportView-DZPWpIFn.js | 1 + .../assets/ContactNameDialog-CYaRfHTt.js | 1 + .../assets/ContactQRScanShowView-BuPN1_H8.js | 5 + .../assets/ContactScanView-BRcSw92W.js | 1 + dist-electron/assets/ContactsView-DWxFtwlm.js | 1 + dist-electron/assets/DIDView-CYsX9_-v.css | 1 + dist-electron/assets/DIDView-jWGo47Q6.js | 1 + dist-electron/assets/DiscoverView-CcC36y43.js | 1 + .../assets/DiscoverView-DB9VWQSd.css | 1 + dist-electron/assets/EntityIcon-CF1RwQI5.js | 1 + .../assets/GiftedDetailsView-D3S_W0BS.js | 3 + dist-electron/assets/GiftedDialog-CFmou4Be.js | 1 + .../HelpNotificationTypesView-C-v2IBbQ.js | 1 + .../assets/HelpNotificationsView-BF_DQZBp.js | 1 + .../assets/HelpOnboardingView-BvXnO2S2.js | 1 + dist-electron/assets/HelpView-CjZShKPC.js | 1 + dist-electron/assets/HomeView-CbUUhM8l.js | 1 + dist-electron/assets/HomeView-iOU0cseJ.css | 1 + .../assets/IdentitySwitcherView-CBVlDTfr.js | 1 + .../assets/ImageMethodDialog-B6b8zZ7c.js | 1 + .../assets/ImageMethodDialog-CTvzd81h.css | 1 + .../assets/ImportAccountView-B6wxsBWU.js | 1 + .../ImportDerivedAccountView-ssD6kQlS.js | 1 + .../assets/InfiniteScroll-B5tl9k_n.js | 1 + .../assets/InviteOneAcceptView-BGpYTokg.js | 1 + .../assets/InviteOneView-Czbsn5gd.js | 1 + .../assets/NewActivityView-CdcfSJ3P.js | 1 + .../assets/NewEditAccountView-C8sbyNXm.js | 1 + .../assets/NewEditProjectView-xpLbOAog.js | 1 + .../assets/NewIdentifierView-DKie1CXF.js | 1 + .../assets/OfferDetailsView-C1laA_fH.js | 1 + dist-electron/assets/OfferDialog-BFpCo0de.js | 1 + .../assets/OnboardingDialog-CiAZLb6o.js | 1 + .../assets/OnboardingDialog-DBDPRnmU.css | 1 + dist-electron/assets/PhotoDialog-Dn3GjI9b.js | 20 + dist-electron/assets/PhotoDialog-VFFukDsZ.css | 1 + dist-electron/assets/ProjectIcon-BlrP4rvy.js | 1 + .../assets/ProjectViewView-BEbHgHxu.js | 1 + dist-electron/assets/ProjectsView-3QN3-T5E.js | 1 + .../PushNotificationPermission-9Wf_h46a.js | 1 + .../PushNotificationPermission-tn0RQdqM.css | 0 .../QuickActionBvcBeginView-C0Z58a0n.js | 1 + .../assets/QuickActionBvcEndView-DM6g0NBZ.js | 1 + .../assets/QuickActionBvcView-DU2ibwzk.js | 1 + dist-electron/assets/QuickNav-DgCyvgDx.js | 1 + ...RecentOffersToUserProjectsView-CJ3U9ASr.js | 1 + .../assets/RecentOffersToUserView-DLi5_oJ6.js | 1 + .../assets/SearchAreaView-B6aUX_Cn.js | 1 + .../assets/SeedBackupView-BQrWrpcu.js | 1 + .../assets/ShareMyContactInfoView-C9KDv0BI.js | 1 + .../assets/SharedPhotoView-Db-WSozv.js | 1 + dist-electron/assets/StartView-ChmEHxHu.js | 1 + .../assets/StatisticsView-BybwZXpR.js | 3563 ++ dist-electron/assets/TestView-CcyiekfD.js | 1 + dist-electron/assets/TopMessage-BE0GBIgW.js | 1 + .../assets/UserNameDialog-B8a82q1n.js | 1 + dist-electron/assets/blank-square-D9dGgMJw.js | 1 + .../assets/chrome-install-pwa-DuUggvhZ.png | Bin 0 -> 5188 bytes dist-electron/assets/concat-BK8PKeDS.js | 1 + dist-electron/assets/datetime-BDQ5ptpc.js | 1 + .../assets/dexie-export-import-B7Ze1sjn.js | 28 + dist-electron/assets/index-BH4jUAKp.js | 2 + dist-electron/assets/index-BLqts8WY.js | 656 + dist-electron/assets/index-CsfPLOYu.js | 1 + dist-electron/assets/index-DJsLjCDx.css | 1 + dist-electron/assets/index-MyY_xqVN.js | 2247 + dist-electron/assets/js-yaml-CxlQHuPU.js | 32 + dist-electron/assets/leaflet-Dgihpmma.css | 1 + dist-electron/assets/leaflet-src-DKb5ysSI.js | 4 + .../assets/leaflet-src.esm-HdBnhJze.js | 4 + .../mac-installed-app-settings-B9fFiuKk.png | Bin 0 -> 96643 bytes .../assets/marker-icon-2x-D4k_ikNW.js | 1 + dist-electron/assets/marker-icon-C2eJqgqv.js | 1 + .../assets/marker-shadow-DU6CIJ0p.js | 1 + dist-electron/assets/sort-Dh4GzQVc.js | 1 + .../assets/vue-leaflet.es-D17g3l39.js | 2 + ...s-system-enable-notifications-Dpjdl83C.png | Bin 0 -> 145456 bytes dist-electron/favicon.ico | Bin 0 -> 3262 bytes dist-electron/img/background/cert-frame-1.jpg | Bin 0 -> 276126 bytes dist-electron/img/background/cert-frame-2.jpg | Bin 0 -> 340302 bytes .../img/icons/android-chrome-192x192.png | Bin 0 -> 79796 bytes .../img/icons/android-chrome-512x512.png | Bin 0 -> 474131 bytes .../icons/android-chrome-maskable-192x192.png | Bin 0 -> 34989 bytes .../icons/android-chrome-maskable-512x512.png | Bin 0 -> 154075 bytes .../img/icons/apple-touch-icon-120x120.png | Bin 0 -> 34094 bytes .../img/icons/apple-touch-icon-152x152.png | Bin 0 -> 52049 bytes .../img/icons/apple-touch-icon-180x180.png | Bin 0 -> 71372 bytes .../img/icons/apple-touch-icon-60x60.png | Bin 0 -> 9922 bytes .../img/icons/apple-touch-icon-76x76.png | Bin 0 -> 14941 bytes dist-electron/img/icons/apple-touch-icon.png | Bin 0 -> 71372 bytes dist-electron/img/icons/favicon-16x16.png | Bin 0 -> 5036 bytes dist-electron/img/icons/favicon-32x32.png | Bin 0 -> 7508 bytes .../img/icons/msapplication-icon-144x144.png | Bin 0 -> 47347 bytes dist-electron/img/icons/mstile-150x150.png | Bin 0 -> 50731 bytes .../img/icons/safari-pinned-tab-512x512.svg | 86 + dist-electron/img/icons/safari-pinned-tab.svg | 226 + .../textures/leafy-autumn-forest-floor.jpg | Bin 0 -> 721566 bytes dist-electron/index.html | 18 + dist-electron/models/lupine_plant/license.txt | 11 + dist-electron/models/lupine_plant/scene.bin | Bin 0 -> 157944 bytes dist-electron/models/lupine_plant/scene.gltf | 229 + .../textures/lambert2SG_baseColor.png | Bin 0 -> 3752385 bytes .../textures/lambert2SG_normal.png | Bin 0 -> 4914385 bytes dist-electron/robots.txt | 2 + ios/.gitignore | 13 + ios/App/App.xcodeproj/project.pbxproj | 408 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + ios/App/App/AppDelegate.swift | 49 + .../AppIcon.appiconset/AppIcon-512@2x.png | Bin 0 -> 110522 bytes .../AppIcon.appiconset/Contents.json | 14 + ios/App/App/Assets.xcassets/Contents.json | 6 + .../Splash.imageset/Contents.json | 23 + .../Splash.imageset/splash-2732x2732-1.png | Bin 0 -> 41273 bytes .../Splash.imageset/splash-2732x2732-2.png | Bin 0 -> 41273 bytes .../Splash.imageset/splash-2732x2732.png | Bin 0 -> 41273 bytes .../App/Base.lproj/LaunchScreen.storyboard | 32 + ios/App/App/Base.lproj/Main.storyboard | 19 + ios/App/App/Info.plist | 49 + ios/App/Podfile | 24 + package-lock.json | 50863 ++++++++-------- package.json | 247 +- src/App.vue | 247 +- src/components/EntityIcon.vue | 2 +- src/components/InviteDialog.vue | 2 +- src/electron/main.js | 51 + src/electron/preload.js | 5 + src/main.ts | 3 +- src/router/index.ts | 28 +- vite.config.mjs | 46 +- vite.config.utils.js | 2 +- 193 files changed, 36297 insertions(+), 24052 deletions(-) create mode 100644 android/.gitignore create mode 100644 android/app/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/capacitor.build.gradle create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/app/timesafari/app/MainActivity.java create mode 100644 android/app/src/main/res/drawable-land-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/splash.png create mode 100644 android/app/src/main/res/layout/activity_main.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/main/res/xml/file_paths.xml create mode 100644 android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java create mode 100644 android/build.gradle create mode 100644 android/capacitor.settings.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/gradlew create mode 100644 android/gradlew.bat create mode 100644 android/settings.gradle create mode 100644 android/variables.gradle create mode 100644 capacitor.config.ts create mode 100644 dist-electron/assets/AccountViewView-Cb0hfdQH.js create mode 100644 dist-electron/assets/ClaimAddRawView-jDXY8ZHT.js create mode 100644 dist-electron/assets/ClaimCertificateView-D2wPvj1g.js create mode 100644 dist-electron/assets/ClaimView-BUQRK2PH.css create mode 100644 dist-electron/assets/ClaimView-Cfn-VLjV.js create mode 100644 dist-electron/assets/ConfirmContactView-Bu5eW1VH.js create mode 100644 dist-electron/assets/ConfirmGiftView-CeT6C-iT.js create mode 100644 dist-electron/assets/ContactAmountsView-CCKLhJR0.js create mode 100644 dist-electron/assets/ContactGiftingView-CdUGNhUN.js create mode 100644 dist-electron/assets/ContactImportView-DZPWpIFn.js create mode 100644 dist-electron/assets/ContactNameDialog-CYaRfHTt.js create mode 100644 dist-electron/assets/ContactQRScanShowView-BuPN1_H8.js create mode 100644 dist-electron/assets/ContactScanView-BRcSw92W.js create mode 100644 dist-electron/assets/ContactsView-DWxFtwlm.js create mode 100644 dist-electron/assets/DIDView-CYsX9_-v.css create mode 100644 dist-electron/assets/DIDView-jWGo47Q6.js create mode 100644 dist-electron/assets/DiscoverView-CcC36y43.js create mode 100644 dist-electron/assets/DiscoverView-DB9VWQSd.css create mode 100644 dist-electron/assets/EntityIcon-CF1RwQI5.js create mode 100644 dist-electron/assets/GiftedDetailsView-D3S_W0BS.js create mode 100644 dist-electron/assets/GiftedDialog-CFmou4Be.js create mode 100644 dist-electron/assets/HelpNotificationTypesView-C-v2IBbQ.js create mode 100644 dist-electron/assets/HelpNotificationsView-BF_DQZBp.js create mode 100644 dist-electron/assets/HelpOnboardingView-BvXnO2S2.js create mode 100644 dist-electron/assets/HelpView-CjZShKPC.js create mode 100644 dist-electron/assets/HomeView-CbUUhM8l.js create mode 100644 dist-electron/assets/HomeView-iOU0cseJ.css create mode 100644 dist-electron/assets/IdentitySwitcherView-CBVlDTfr.js create mode 100644 dist-electron/assets/ImageMethodDialog-B6b8zZ7c.js create mode 100644 dist-electron/assets/ImageMethodDialog-CTvzd81h.css create mode 100644 dist-electron/assets/ImportAccountView-B6wxsBWU.js create mode 100644 dist-electron/assets/ImportDerivedAccountView-ssD6kQlS.js create mode 100644 dist-electron/assets/InfiniteScroll-B5tl9k_n.js create mode 100644 dist-electron/assets/InviteOneAcceptView-BGpYTokg.js create mode 100644 dist-electron/assets/InviteOneView-Czbsn5gd.js create mode 100644 dist-electron/assets/NewActivityView-CdcfSJ3P.js create mode 100644 dist-electron/assets/NewEditAccountView-C8sbyNXm.js create mode 100644 dist-electron/assets/NewEditProjectView-xpLbOAog.js create mode 100644 dist-electron/assets/NewIdentifierView-DKie1CXF.js create mode 100644 dist-electron/assets/OfferDetailsView-C1laA_fH.js create mode 100644 dist-electron/assets/OfferDialog-BFpCo0de.js create mode 100644 dist-electron/assets/OnboardingDialog-CiAZLb6o.js create mode 100644 dist-electron/assets/OnboardingDialog-DBDPRnmU.css create mode 100644 dist-electron/assets/PhotoDialog-Dn3GjI9b.js create mode 100644 dist-electron/assets/PhotoDialog-VFFukDsZ.css create mode 100644 dist-electron/assets/ProjectIcon-BlrP4rvy.js create mode 100644 dist-electron/assets/ProjectViewView-BEbHgHxu.js create mode 100644 dist-electron/assets/ProjectsView-3QN3-T5E.js create mode 100644 dist-electron/assets/PushNotificationPermission-9Wf_h46a.js create mode 100644 dist-electron/assets/PushNotificationPermission-tn0RQdqM.css create mode 100644 dist-electron/assets/QuickActionBvcBeginView-C0Z58a0n.js create mode 100644 dist-electron/assets/QuickActionBvcEndView-DM6g0NBZ.js create mode 100644 dist-electron/assets/QuickActionBvcView-DU2ibwzk.js create mode 100644 dist-electron/assets/QuickNav-DgCyvgDx.js create mode 100644 dist-electron/assets/RecentOffersToUserProjectsView-CJ3U9ASr.js create mode 100644 dist-electron/assets/RecentOffersToUserView-DLi5_oJ6.js create mode 100644 dist-electron/assets/SearchAreaView-B6aUX_Cn.js create mode 100644 dist-electron/assets/SeedBackupView-BQrWrpcu.js create mode 100644 dist-electron/assets/ShareMyContactInfoView-C9KDv0BI.js create mode 100644 dist-electron/assets/SharedPhotoView-Db-WSozv.js create mode 100644 dist-electron/assets/StartView-ChmEHxHu.js create mode 100644 dist-electron/assets/StatisticsView-BybwZXpR.js create mode 100644 dist-electron/assets/TestView-CcyiekfD.js create mode 100644 dist-electron/assets/TopMessage-BE0GBIgW.js create mode 100644 dist-electron/assets/UserNameDialog-B8a82q1n.js create mode 100644 dist-electron/assets/blank-square-D9dGgMJw.js create mode 100644 dist-electron/assets/chrome-install-pwa-DuUggvhZ.png create mode 100644 dist-electron/assets/concat-BK8PKeDS.js create mode 100644 dist-electron/assets/datetime-BDQ5ptpc.js create mode 100644 dist-electron/assets/dexie-export-import-B7Ze1sjn.js create mode 100644 dist-electron/assets/index-BH4jUAKp.js create mode 100644 dist-electron/assets/index-BLqts8WY.js create mode 100644 dist-electron/assets/index-CsfPLOYu.js create mode 100644 dist-electron/assets/index-DJsLjCDx.css create mode 100644 dist-electron/assets/index-MyY_xqVN.js create mode 100644 dist-electron/assets/js-yaml-CxlQHuPU.js create mode 100644 dist-electron/assets/leaflet-Dgihpmma.css create mode 100644 dist-electron/assets/leaflet-src-DKb5ysSI.js create mode 100644 dist-electron/assets/leaflet-src.esm-HdBnhJze.js create mode 100644 dist-electron/assets/mac-installed-app-settings-B9fFiuKk.png create mode 100644 dist-electron/assets/marker-icon-2x-D4k_ikNW.js create mode 100644 dist-electron/assets/marker-icon-C2eJqgqv.js create mode 100644 dist-electron/assets/marker-shadow-DU6CIJ0p.js create mode 100644 dist-electron/assets/sort-Dh4GzQVc.js create mode 100644 dist-electron/assets/vue-leaflet.es-D17g3l39.js create mode 100644 dist-electron/assets/windows-system-enable-notifications-Dpjdl83C.png create mode 100644 dist-electron/favicon.ico create mode 100644 dist-electron/img/background/cert-frame-1.jpg create mode 100644 dist-electron/img/background/cert-frame-2.jpg create mode 100644 dist-electron/img/icons/android-chrome-192x192.png create mode 100644 dist-electron/img/icons/android-chrome-512x512.png create mode 100644 dist-electron/img/icons/android-chrome-maskable-192x192.png create mode 100644 dist-electron/img/icons/android-chrome-maskable-512x512.png create mode 100644 dist-electron/img/icons/apple-touch-icon-120x120.png create mode 100644 dist-electron/img/icons/apple-touch-icon-152x152.png create mode 100644 dist-electron/img/icons/apple-touch-icon-180x180.png create mode 100644 dist-electron/img/icons/apple-touch-icon-60x60.png create mode 100644 dist-electron/img/icons/apple-touch-icon-76x76.png create mode 100644 dist-electron/img/icons/apple-touch-icon.png create mode 100644 dist-electron/img/icons/favicon-16x16.png create mode 100644 dist-electron/img/icons/favicon-32x32.png create mode 100644 dist-electron/img/icons/msapplication-icon-144x144.png create mode 100644 dist-electron/img/icons/mstile-150x150.png create mode 100644 dist-electron/img/icons/safari-pinned-tab-512x512.svg create mode 100644 dist-electron/img/icons/safari-pinned-tab.svg create mode 100644 dist-electron/img/textures/leafy-autumn-forest-floor.jpg create mode 100644 dist-electron/index.html create mode 100644 dist-electron/models/lupine_plant/license.txt create mode 100644 dist-electron/models/lupine_plant/scene.bin create mode 100644 dist-electron/models/lupine_plant/scene.gltf create mode 100644 dist-electron/models/lupine_plant/textures/lambert2SG_baseColor.png create mode 100644 dist-electron/models/lupine_plant/textures/lambert2SG_normal.png create mode 100644 dist-electron/robots.txt create mode 100644 ios/.gitignore create mode 100644 ios/App/App.xcodeproj/project.pbxproj create mode 100644 ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/App/App/AppDelegate.swift create mode 100644 ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png create mode 100644 ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png create mode 100644 ios/App/App/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/App/App/Base.lproj/Main.storyboard create mode 100644 ios/App/App/Info.plist create mode 100644 ios/App/Podfile create mode 100644 src/electron/main.js create mode 100644 src/electron/preload.js diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..48354a3 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,101 @@ +# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore + +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + +# Android Profiling +*.hprof + +# Cordova plugins for Capacitor +capacitor-cordova-android-plugins + +# Copied web assets +app/src/main/assets/public + +# Generated Config files +app/src/main/assets/capacitor.config.json +app/src/main/assets/capacitor.plugins.json +app/src/main/res/xml/config.xml diff --git a/android/app/.gitignore b/android/app/.gitignore new file mode 100644 index 0000000..043df80 --- /dev/null +++ b/android/app/.gitignore @@ -0,0 +1,2 @@ +/build/* +!/build/.npmkeep diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..6561800 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,54 @@ +apply plugin: 'com.android.application' + +android { + namespace "app.timesafari.app" + compileSdk rootProject.ext.compileSdkVersion + defaultConfig { + applicationId "app.timesafari.app" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + aaptOptions { + // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. + // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 + ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +repositories { + flatDir{ + dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' + } +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" + implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" + implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" + implementation project(':capacitor-android') + testImplementation "junit:junit:$junitVersion" + androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" + implementation project(':capacitor-cordova-android-plugins') +} + +apply from: 'capacitor.build.gradle' + +try { + def servicesJSON = file('google-services.json') + if (servicesJSON.text) { + apply plugin: 'com.google.gms.google-services' + } +} catch(Exception e) { + logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") +} diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle new file mode 100644 index 0000000..fdb4970 --- /dev/null +++ b/android/app/capacitor.build.gradle @@ -0,0 +1,19 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN + +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } +} + +apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" +dependencies { + + +} + + +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java new file mode 100644 index 0000000..f2c2217 --- /dev/null +++ b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import android.content.Context; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.getcapacitor.app", appContext.getPackageName()); + } +} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..4d7ca38 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/java/app/timesafari/app/MainActivity.java b/android/app/src/main/java/app/timesafari/app/MainActivity.java new file mode 100644 index 0000000..5313fcb --- /dev/null +++ b/android/app/src/main/java/app/timesafari/app/MainActivity.java @@ -0,0 +1,5 @@ +package app.timesafari.app; + +import com.getcapacitor.BridgeActivity; + +public class MainActivity extends BridgeActivity {} diff --git a/android/app/src/main/res/drawable-land-hdpi/splash.png b/android/app/src/main/res/drawable-land-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..e31573b4fc93e60d171f4046c0220e1463075d9e GIT binary patch literal 7705 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 wKmFJ0_JHhk1&0B>;%YXATM literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-mdpi/splash.png b/android/app/src/main/res/drawable-land-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xhdpi/splash.png b/android/app/src/main/res/drawable-land-xhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..807725501bdd92e94e51e7b2b0006f69e0083a0b GIT binary patch literal 9251 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..14c6c8fe39fcd51a0414866ad28cbe8ff3acb060 GIT binary patch literal 13984 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®q@N z14_H8ofW)l{|J8q+a)eH)I0r)>WXdzV%7J>PA~6_J)KLT90iYa^K=Wz7D!OybzqSru=f4?|KFl;Y)gP_H6V4x`~kZ6fE(xM1&;?72-TZNk+0 zr+Crr5yl%Iy@vfmt3eYFl!jIvPGFz^8Ek+2`48O1_pCX3xNWh-zBa{rIcc%+=|XVj zANYTg&s}TKb#OztQrCW(Xk?V^i{`q~%HtcveTxq(_HKeC9GzrtguMT4Nvs@KakPTA z9>*8bBZmLz`lK5=l)=b|=dT3a5ag^a1^znZyx5QKfUb1b9yacArRp%3@QWo(hrsCU z-K!-=jDmv!zb7XT>)r|-Z0Ry}lk2;dk-ECqMwr_nKN#x*X6~B5hVIN>6$1HwBz3Of z=Pk){AL5*=d90f17_qZEJLm;Q%WMdX=*N&!ki@E&cy7?>{1ssAH(tACtp*r@d^til z)x(1#6(kPD+joSF&J3sxJU@{-sWCS+pZq{Gsx=?z4wP;>?)1yHv0?X?VP{}cX4~aH zxeBPKw_rgW8rvewS1W2#^y+c>-183iMbJCqc38RN_o~__9-n|jcd&oA`m7*&Fqqpc z;Tev*0LS-ZK47Sq1unfvP1S43uA12P?PJmI8BeTYPr~R*tYUm^0;U%Hmu?bSZHEK6 zPjsW=E67Kq-&trmf;)UkmRABH2U)V)-eRT$j(%G12lLMsThSsU10iP#{)ZnvjzN$d z*K%P3`}oqyvpWP~venr>3viH8^`)Ma*=B31hw*Q+tqE>i2y7w!(o^lI^Yss^=tHW( z;cnCT(%B1gLz+TRGW9roFjI1EQTu-u`(f#RmZ8;FSN(bsC1J;+(i_R6mrW=yYx$cy z#%QKVrEx~kVMg~yo?^N28Wnk6x%L;J8i|*|ANEiNjq(Vhzuzl3ikpA*G!Z}kLAzAI z9qnySo%D|AuJj12%h;Otqjs(>LPj?rNdeU8so>P(C>XMzlho94ZD#w=cCOOU;=3&^ zsqAG!i{~lY271D|m>ztPV`)X@FO_;`wPjppYNQpM+ncvtz1lZjN>!Q^*I}T%uP78Z7tbV2$q3W_)14=kLFyJ z1GqL6T>ClgeZorL!}xP4f%OB_EsmJ`uw7dGWNV9OLlhb|UMpVhc{4@Bhh`tO!ZqzD zhusd<=K^ah!L@gQ?6dOpI-ge^e>S5W9eII57Zu16eU?GRbgKTeVk9yS{iK|O(zLR> zheb?;jwGCHS80NCn=jKxgJ>}qu4l%5NPihjzazGv#J?Jcyl;<#IW&x4mm>nrW8>}C z3U@aeD~)*F(0o^2{GnKVm$Jr#aZE ztl~TOkM^SdzJapQ((!-i8b!RkVQBKkL`2ZCBuy!qI1L{3Er526plVols~68U-^9Px zR(3{j;Z9RHX^muc0dUywJ|`yyZFf=k&-Gb#m4u73Lm5Ks%BfHj%2|gjn#i> zLC5pO$2Em9H;qoKQmMtl<@wgtPF1%2HariD5O~u>8=^*J&au~JH%Ih@&2Uging3U_ z0bzfKucW$ZHSx}!#buB?+-J)%RQbbXM-!BJTS&#dU_@lxU6>te2O+9 z@F{F{Nb!;{Cd`Gx+$G?11aB~S#wIH%D=*=7f7H@D@%B1)&bF$@t3JDq4l*%(wJTlh zo`?uMq{YilKUewPNaC)GuOr<8j9&ofqRU__BRUX^x8Cj3a;a$rXzgXqW>LR#CUn%~m)t zYC&ol(gAkbc^fd`xWU&bk5vT6KbFmsR=O78Bn%t7 znbw&=c+|T&#r+bls5rU6D#HMvqA<|;)BV%jOMonkm^p$7Vcel-Wwn$=uAJv&(8W>% z9))Fxpl*(%E#wFm_m!U~2HqgZs^2vaGeY(UfYKrSHV}w^D0N6!se5Ewy)Yy-!(2

aKj2hWG7>znxs|SE zN4rHtiSPqLskWp(?(_YYwgq+1@8v+~8As|(bC>$D(atG3ZE8-ZM3SVcg|vHQz$I=!(A`k`5= zOqR>&%G)$)k*QLz7MTB9wleWpv&N9Sta64wy}3Ytd?x!Ja8z>(z~(3UNFu^eFmn#6 zw!!gUxOuZi$PQIs*ixfZR3iLyADJ z5&s%tPfk>V!x|A-;oq%1!yk9H$UBP0ToA*EDtz(^!_AnF1bBQ7joj|? z5b)gSI8c8O$PYFE!vXJ<4gebg*9G9P2wcB{#kv0FItc5T@PDNo)}Rh4Us}L{e}xzW zhwt`)j`M)mP=G6H0;^&q=I0{jU%bIRkF#uLF;{vVC&H|_uc literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..244ca2506dbe0fd8f6a05520ac7d1a629ea81438 GIT binary patch literal 17683 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..bfabe6871a17a5e95b78fb30d49b7d2b4d2fe4c0 GIT binary patch literal 13346 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

VwO4Hu8X}%XHUAz_J@50rzbkIsat>4oWtQt< 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..6929071268eb03ee0f088142b6523566b78550e2 GIT binary patch literal 17489 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 KR&><$`~L^lv%S~= literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d5fccc5 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/splash.png b/android/app/src/main/res/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b5ad138 --- /dev/null +++ b/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c023e50595074292c7361183a64de08cf9686c9c GIT binary patch literal 2786 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2127973b2d318df7085734d236d0ec649a2b0292 GIT binary patch literal 3450 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1e077104cd61e6a4c3707e87363b523077245a GIT binary patch literal 3981 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 nm0GElTB(&OnKI&V600000NkvXXu0mjff+~0a literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..df0f15880bee46332dfc6622583215194f948b0f GIT binary patch literal 5036 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdf97c1196d48e9833487ff6de7c4cfc4e1232d GIT binary patch literal 6644 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2960cbb6104b915c84760f889deed9bff2b3e17a GIT binary patch literal 9793 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 y3vD~Wi9;mL_v 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..a40d73e9c68ea638c28c7b13e4bcd1e179a3a102 GIT binary patch literal 15916 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 + + #FFFFFF + \ No newline at end of file diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..fe17bf0 --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + + TimeSafari + TimeSafari + app.timesafari.app + app.timesafari.app + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..be874e5 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..bd0c4d8 --- /dev/null +++ b/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java new file mode 100644 index 0000000..0297327 --- /dev/null +++ b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java @@ -0,0 +1,18 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..85a5dda --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.2.1' + classpath 'com.google.gms:google-services:4.4.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply from: "variables.gradle" + +allprojects { + repositories { + google() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle new file mode 100644 index 0000000..9a5fa87 --- /dev/null +++ b/android/capacitor.settings.gradle @@ -0,0 +1,3 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN +include ':capacitor-android' +project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..2e87c52 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,22 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..033e24c4cdf41af1ab109bc7f253b2b887023340 GIT binary patch literal 63375 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≫L+crb^Bz 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000..6689b85 --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..3b4431d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,5 @@ +include ':app' +include ':capacitor-cordova-android-plugins' +project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') + +apply from: 'capacitor.settings.gradle' \ No newline at end of file diff --git a/android/variables.gradle b/android/variables.gradle new file mode 100644 index 0000000..8ef305d --- /dev/null +++ b/android/variables.gradle @@ -0,0 +1,16 @@ +ext { + minSdkVersion = 22 + compileSdkVersion = 34 + targetSdkVersion = 34 + androidxActivityVersion = '1.8.0' + androidxAppCompatVersion = '1.6.1' + androidxCoordinatorLayoutVersion = '1.2.0' + androidxCoreVersion = '1.12.0' + androidxFragmentVersion = '1.6.2' + coreSplashScreenVersion = '1.0.1' + androidxWebkitVersion = '1.9.0' + junitVersion = '4.13.2' + androidxJunitVersion = '1.1.5' + androidxEspressoCoreVersion = '3.5.1' + cordovaAndroidVersion = '10.1.1' +} \ No newline at end of file diff --git a/capacitor.config.ts b/capacitor.config.ts new file mode 100644 index 0000000..4fb30ef --- /dev/null +++ b/capacitor.config.ts @@ -0,0 +1,10 @@ +import type { CapacitorConfig } from '@capacitor/cli'; + +const config: CapacitorConfig = { + appId: 'app.timesafari.app', + appName: 'TimeSafari', + webDir: 'dist', + bundledWebRuntime: false, +}; + +export default config; diff --git a/dist-electron/assets/AccountViewView-Cb0hfdQH.js b/dist-electron/assets/AccountViewView-Cb0hfdQH.js new file mode 100644 index 0000000..d915115 --- /dev/null +++ b/dist-electron/assets/AccountViewView-Cb0hfdQH.js @@ -0,0 +1,11 @@ +var K=Object.defineProperty;var q=(t,e,i)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var n=(t,e,i)=>q(t,typeof e!="symbol"?e+"":e,i);import{a as J,r as Q,V as X,A as Z,D as _,b as O,c as ee,d as T,e as l,f as te,M as w,X as se,u as G,I as ie,C as oe,_ as ne,g as k,h as u,i as d,j as s,k as a,w as c,l as b,t as m,m as y,v as E,n as F,o as I,p as re,q as j,T as ae,s as P,F as le,x as p}from"./index-BLqts8WY.js";import{t as N,r as de,b as H,D as W,a as Y,o as pe,f as ue,c as me,g as fe,d as ge}from"./index-MyY_xqVN.js";import"./dexie-export-import-B7Ze1sjn.js";import{u as we}from"./index-CsfPLOYu.js";import{E as be}from"./EntityIcon-CF1RwQI5.js";import{I as ye}from"./ImageMethodDialog-B6b8zZ7c.js";import{P as ve}from"./PushNotificationPermission-9Wf_h46a.js";import{Q as he}from"./QuickNav-DgCyvgDx.js";import{T as ce}from"./TopMessage-BE0GBIgW.js";import{U as Se}from"./UserNameDialog-B8a82q1n.js";import"./PhotoDialog-Dn3GjI9b.js";const{Axios:ts,AxiosError:ke,CanceledError:ss,isCancel:is,CancelToken:os,VERSION:ns,all:rs,Cancel:as,isAxiosError:ls,spread:ds,toFormData:ps,AxiosHeaders:us,HttpStatusCode:ms,formToJSON:fs,getAdapter:gs,mergeConfig:ws}=J;var Ie=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,xe=(t,e,i,r)=>{for(var f=r>1?void 0:r?Ce(e,i):e,v=t.length-1,S;v>=0;v--)(S=t[v])&&(f=(r?S(e,i,f):S(f))||f);return r&&f&&Ie(e,i,f),f};const C=Q();let D=class extends X{constructor(){super(...arguments);n(this,"$notify");n(this,"AppConstants",Z);n(this,"DEFAULT_PUSH_SERVER",_);n(this,"DEFAULT_IMAGE_API_SERVER",O);n(this,"DEFAULT_PARTNER_API_SERVER",ee);n(this,"activeDid","");n(this,"apiServer","");n(this,"apiServerInput","");n(this,"derivationPath","");n(this,"downloadUrl","");n(this,"endorserLimits",null);n(this,"givenName","");n(this,"hideRegisterPromptOnNewContact",!1);n(this,"imageLimits",null);n(this,"imageServer","");n(this,"isRegistered",!1);n(this,"limitsMessage","");n(this,"loadingLimits",!1);n(this,"notifyingNewActivity",!1);n(this,"notifyingNewActivityTime","");n(this,"notifyingReminder",!1);n(this,"notifyingReminderMessage","");n(this,"notifyingReminderTime","");n(this,"partnerApiServer","");n(this,"partnerApiServerInput","");n(this,"passkeyExpirationDescription","");n(this,"passkeyExpirationMinutes",T);n(this,"previousPasskeyExpirationMinutes",T);n(this,"profileImageUrl");n(this,"publicHex","");n(this,"publicBase64","");n(this,"showAdvanced",!1);n(this,"showB64Copy",!1);n(this,"showContactGives",!1);n(this,"showDidCopy",!1);n(this,"showDerCopy",!1);n(this,"showGeneralAdvanced",!1);n(this,"showLargeIdenticonId");n(this,"showLargeIdenticonUrl");n(this,"showPubCopy",!1);n(this,"showShortcutBvc",!1);n(this,"subscription",null);n(this,"warnIfProdServer",!1);n(this,"warnIfTestServer",!1);n(this,"webPushServer","");n(this,"webPushServerInput","")}async mounted(){var i;try{await this.initializeState(),await this.processIdentity()}catch(r){console.error("Telling user to clear cache at page create because:",r),console.error("To repeat with concatenated error: telling user to clear cache at page create because: "+r),this.$notify({group:"alert",type:"danger",title:"Error Loading Profile",text:"See the Help page about errors with your personal data."},-1)}try{const r=await((i=navigator.serviceWorker)==null?void 0:i.ready);this.subscription=await r.pushManager.getSubscription(),this.subscription||(this.notifyingNewActivity||this.notifyingReminder)&&this.turnOffNotifyingFlags()}catch{this.$notify({group:"alert",type:"warning",title:"Cannot Set Notifications",text:"This browser does not support notifications. Use Chrome, or install this to the home screen, or try other suggestions on the 'Troubleshoot your notifications' page."},3e3)}this.passkeyExpirationDescription=N()}beforeUnmount(){this.downloadUrl&&URL.revokeObjectURL(this.downloadUrl)}async initializeState(){await l.open();const i=await te();this.activeDid=i.activeDid||"",this.apiServer=i.apiServer||"",this.apiServerInput=i.apiServer||"",this.givenName=((i==null?void 0:i.firstName)||"")+(i!=null&&i.lastName?` ${i.lastName}`:""),this.hideRegisterPromptOnNewContact=!!i.hideRegisterPromptOnNewContact,this.isRegistered=!!(i!=null&&i.isRegistered),this.imageServer=i.imageServer||"",this.notifyingNewActivity=!!i.notifyingNewActivityTime,this.notifyingNewActivityTime=i.notifyingNewActivityTime||"",this.notifyingReminder=!!i.notifyingReminderTime,this.notifyingReminderMessage=i.notifyingReminderMessage||"",this.notifyingReminderTime=i.notifyingReminderTime||"",this.partnerApiServer=i.partnerApiServer||"",this.partnerApiServerInput=i.partnerApiServer||"",this.profileImageUrl=i.profileImageUrl,this.showContactGives=!!i.showContactGivesInline,this.passkeyExpirationMinutes=i.passkeyExpirationMinutes??T,this.previousPasskeyExpirationMinutes=this.passkeyExpirationMinutes,this.showGeneralAdvanced=!!i.showGeneralAdvanced,this.showShortcutBvc=!!i.showShortcutBvc,this.warnIfProdServer=!!i.warnIfProdServer,this.warnIfTestServer=!!i.warnIfTestServer,this.webPushServer=i.webPushServer||"",this.webPushServerInput=i.webPushServer||""}doCopyTwoSecRedo(i,r){r(),we().copy(i).then(()=>setTimeout(r,2e3))}async toggleShowContactAmounts(){this.showContactGives=!this.showContactGives,await l.open(),await l.settings.update(w,{showContactGivesInline:this.showContactGives})}async toggleShowGeneralAdvanced(){this.showGeneralAdvanced=!this.showGeneralAdvanced,await l.open(),await l.settings.update(w,{showGeneralAdvanced:this.showGeneralAdvanced})}async toggleProdWarning(){this.warnIfProdServer=!this.warnIfProdServer,await l.open(),await l.settings.update(w,{warnIfProdServer:this.warnIfProdServer})}async toggleTestWarning(){this.warnIfTestServer=!this.warnIfTestServer,await l.open(),await l.settings.update(w,{warnIfTestServer:this.warnIfTestServer})}async toggleShowShortcutBvc(){this.showShortcutBvc=!this.showShortcutBvc,await l.open(),await l.settings.update(w,{showShortcutBvc:this.showShortcutBvc})}readableDate(i){return i.substring(0,i.indexOf("T"))}async processIdentity(){var r;const i=await de(this.activeDid);if(i!=null&&i.identity){const f=JSON.parse(i.identity);this.publicHex=f.keys[0].publicKeyHex,this.publicBase64=H.Buffer.from(this.publicHex,"hex").toString("base64"),this.derivationPath=(r=f.keys[0].meta)==null?void 0:r.derivationPath,await this.checkLimitsFor(this.activeDid)}else i!=null&&i.publicKeyHex&&(this.publicHex=i.publicKeyHex,this.publicBase64=H.Buffer.from(this.publicHex,"hex").toString("base64"),await this.checkLimitsFor(this.activeDid))}async showNewActivityNotificationInfo(){this.$notify({group:"modal",type:"confirm",title:"New Activity Notification",text:` + This will only notify you when there is new relevant activity for you personally. + Note that it runs on your device and many factors may affect delivery, + so if you want a reliable but simple daily notification then choose a 'Reminder'. + Do you want more details? + `,onYes:async()=>{await this.$router.push({name:"help-notification-types"})},yesText:"tell me more."},-1)}async showNewActivityNotificationChoice(){this.notifyingNewActivity?this.$notify({group:"modal",type:"notification-off",title:W,text:"",callback:async i=>{i&&(await l.settings.update(w,{notifyingNewActivityTime:""}),this.notifyingNewActivity=!1,this.notifyingNewActivityTime="")}},-1):this.$refs.pushNotificationPermission.open(W,async(i,r)=>{i&&(await l.settings.update(w,{notifyingNewActivityTime:r}),this.notifyingNewActivity=!0,this.notifyingNewActivityTime=r)})}async showReminderNotificationInfo(){this.$notify({group:"modal",type:"confirm",title:"Reminder Notification",text:` + This will notify you at a specific time each day. + Note that it does not give you personalized notifications, + so if you want less reliable but personalized notification then choose a 'New Activity' Notification. + Do you want more details? + `,onYes:async()=>{await this.$router.push({name:"help-notification-types"})},yesText:"tell me more."},-1)}async showReminderNotificationChoice(){this.notifyingReminder?this.$notify({group:"modal",type:"notification-off",title:Y,text:"",callback:async i=>{i&&(await l.settings.update(w,{notifyingReminderMessage:"",notifyingReminderTime:""}),this.notifyingReminder=!1,this.notifyingReminderMessage="",this.notifyingReminderTime="")}},-1):this.$refs.pushNotificationPermission.open(Y,async(i,r,f)=>{i&&(await l.settings.update(w,{notifyingReminderMessage:f,notifyingReminderTime:r}),this.notifyingReminder=!0,this.notifyingReminderMessage=f||"",this.notifyingReminderTime=r)})}async toggleHideRegisterPromptOnNewContact(){const i=!this.hideRegisterPromptOnNewContact;await l.open(),await l.settings.update(w,{hideRegisterPromptOnNewContact:i}),this.hideRegisterPromptOnNewContact=i}async updatePasskeyExpiration(){await l.open(),await l.settings.update(w,{passkeyExpirationMinutes:this.passkeyExpirationMinutes}),ge(),this.passkeyExpirationDescription=N()}async turnOffNotifyingFlags(){await l.open(),await l.settings.update(w,{notifyingNewActivityTime:"",notifyingReminderMessage:"",notifyingReminderTime:""}),this.notifyingNewActivity=!1,this.notifyingNewActivityTime="",this.notifyingReminder=!1,this.notifyingReminderMessage="",this.notifyingReminderTime=""}async exportDatabase(){try{const i=await this.generateDatabaseBlob();this.downloadUrl=this.createBlobURL(i),this.downloadDatabaseBackup(this.downloadUrl),this.notifyDownloadStarted(),setTimeout(()=>URL.revokeObjectURL(this.downloadUrl),1e3)}catch(i){this.handleExportError(i)}}async generateDatabaseBlob(){return await l.export({prettyJson:!0})}createBlobURL(i){return URL.createObjectURL(i)}downloadDatabaseBackup(i){const r=this.$refs.downloadLink;r.href=i,r.download=`${l.name}-backup.json`,r.click()}computedStartDownloadLinkClassNames(){return{hidden:this.downloadUrl}}computedDownloadLinkClassNames(){return{hidden:!this.downloadUrl}}notifyDownloadStarted(){this.$notify({group:"alert",type:"success",title:"Download Started",text:"See your downloads directory for the backup. It is in the Dexie format."},-1)}handleExportError(i){console.error("Export Error:",i),this.$notify({group:"alert",type:"danger",title:"Export Error",text:"There was an error exporting the data."},-1)}async uploadImportFile(i){C.value=i.target.files[0]}showContactImport(){return!!C.value}confirmSubmitImportFile(){C.value!=null&&this.$notify({group:"modal",type:"confirm",title:"Replace All",text:"This will replace all settings and contacts, so we recommend you first do the backup step above. Are you sure you want to import and replace all contacts and settings?",onYes:this.submitImportFile},-1)}async submitImportFile(){C.value!=null&&(await l.delete(),await se.import(C.value,{progressCallback:this.progressCallback}))}async checkContactImports(){const i=new FileReader;i.onload=r=>{var v,S,A,h;const f=((v=r.target)==null?void 0:v.result)||"{}";try{const x=((h=(A=(S=JSON.parse(f).data)==null?void 0:S.data)==null?void 0:A.find(R=>R.tableName==="contacts"))==null?void 0:h.rows).map(R=>pe(["$types"],R));this.$router.push({name:"contact-import",query:{contacts:JSON.stringify(x)}})}catch(g){console.error("Error checking contact imports:",g),this.$notify({group:"alert",type:"danger",title:"Error Importing",text:"There was an error reading that Dexie file."},3e3)}},i.readAsText(C.value)}progressCallback(i){return console.log(`Import progress: ${i.completedRows} of ${i.totalRows} rows completed.`),i.done&&this.$notify({group:"alert",type:"success",title:"Import Complete",text:""},5e3),!0}async checkLimits(){this.activeDid?this.checkLimitsFor(this.activeDid):this.limitsMessage="You have no identifier, or your data has been corrupted."}async checkLimitsFor(i){this.loadingLimits=!0,this.limitsMessage="";try{const r=await ue(this.apiServer,this.axios,i);if(r.status===200){if(this.endorserLimits=r.data,!this.isRegistered)try{await G(i,{isRegistered:!0}),this.isRegistered=!0}catch(v){console.error("Got an error updating settings:",v),this.$notify({group:"alert",type:"danger",title:"Update Error",text:"Unable to update your settings. Check claim limits again."},-1)}const f=await me(this.axios,i);f.status===200&&(this.imageLimits=f.data)}}catch(r){this.handleRateLimitsError(r)}this.loadingLimits=!1}handleRateLimitsError(i){var r,f;if(i instanceof ke){const v=(r=i.response)==null?void 0:r.data;this.limitsMessage=((f=v==null?void 0:v.error)==null?void 0:f.message)||"Bad server response.",console.error("Got bad response retrieving limits, which usually means user isn't registered.",i)}else this.limitsMessage="Got an error retrieving limits.",console.error("Got some error retrieving limits:",i)}async onClickSaveApiServer(){await l.open(),await l.settings.update(w,{apiServer:this.apiServerInput}),this.apiServer=this.apiServerInput}async onClickSavePartnerServer(){await l.open(),await l.settings.update(w,{partnerApiServer:this.partnerApiServerInput}),this.partnerApiServer=this.partnerApiServerInput}async onClickSavePushServer(){await l.open(),await l.settings.update(w,{webPushServer:this.webPushServerInput}),this.webPushServer=this.webPushServerInput,this.$notify({group:"alert",type:"warning",title:"Reload",text:"Now reload the app to get a new VAPID to use with this push server."},-1)}openImageDialog(){this.$refs.imageMethodDialog.open(async i=>{await l.open(),await l.settings.update(w,{profileImageUrl:i}),this.profileImageUrl=i},ie,!0)}confirmDeleteImage(){this.$notify({group:"modal",type:"confirm",title:"Note that anyone with you already as a contact will no longer see a picture, and you will have to reshare your data with them if you save a new picture. Are you sure you want to delete your profile picture?",text:"",onYes:this.deleteImage},-1)}async deleteImage(){if(this.profileImageUrl)try{const i=await fe(this.activeDid);this.passkeyExpirationDescription=N();const r=await this.axios.delete(O+"/image/"+encodeURIComponent(this.profileImageUrl),{headers:i});r.status===204||(console.error("Non-success deleting image:",r),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem deleting the image. Contact support if you want it removed from the servers."},-1)),await l.open(),await l.settings.update(w,{profileImageUrl:void 0}),this.profileImageUrl=void 0}catch(i){console.error("Error deleting image:",i),i.response.status===404?(console.error("The image was already deleted:",i),await G(this.activeDid,{profileImageUrl:void 0}),this.profileImageUrl=void 0):this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error deleting the image."},5e3)}}};D=xe([oe({components:{EntityIcon:be,ImageMethodDialog:ye,PushNotificationPermission:ve,QuickNav:he,TopMessage:ce,UserNameDialog:Se}})],D);const Re={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},Ae={key:0,id:"noticeBeforeShare",class:"bg-amber-200 text-amber-900 border-amber-500 border-dashed border text-center rounded-md overflow-hidden px-4 py-3 mt-4"},Ee={id:"sectionIdentityDetails",class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mt-4"},Pe={key:0},Te={class:"text-xl font-semibold mb-2"},Ne={class:"whitespace-nowrap"},De={key:1,class:"block w-full text-center text-md bg-amber-200 border border-dashed border-slate-400 px-1.5 py-2 rounded-md mb-2"},Ue={class:"flex justify-center mt-4"},Le={key:0,class:"flex justify-between"},$e={key:1,class:"text-center"},Me={class:"mt-6"},Be={class:"flex justify-center text-center"},Ve={class:"flex justify-center"},Oe={key:2,class:"fixed z-[100] top-0 inset-x-0 w-full"},Ge={class:"absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"},Fe={class:"text-sm text-slate-500 flex justify-start items-center mb-1","data-testId":"didWrapper"},je={class:"truncate"},He={class:"text-blue-500 text-sm font-bold"},We={key:1,id:"noticeBeforeAnnounce",class:"bg-amber-200 text-amber-900 border-amber-500 border-dashed border text-center rounded-md overflow-hidden px-4 py-3 mt-4"},Ye={id:"sectionNotifications",class:"bg-slate-100 rounded-md overflow-hidden px-4 py-4 mt-8 mb-8"},ze={class:"flex items-center justify-between"},Ke={key:0,class:"w-full flex justify-between"},qe={class:"ml-8 mr-8"},Je={class:"mt-2 flex items-center justify-between"},Qe={key:1,class:"w-full text-right"},Xe={id:"sectionSearchLocation",class:"bg-slate-100 rounded-md overflow-hidden px-4 py-4 mt-8 mb-8"},Ze={key:2,id:"sectionUsageLimits",class:"bg-slate-100 rounded-md overflow-hidden px-4 py-4 mt-8 mb-8"},_e={key:0,class:"text-center"},et={key:1},tt={class:"text-sm"},st={class:"whitespace-nowrap"},it={class:"mt-3 text-sm"},ot={class:"whitespace-nowrap"},nt={key:0,class:"mt-3 text-sm"},rt={class:"whitespace-nowrap"},at={id:"sectionDataExport",class:"bg-slate-100 rounded-md overflow-hidden px-4 py-4 mt-8 mb-8"},lt={class:"mt-4"},dt={class:"list-disc list-outside ml-4"},pt={key:3,id:"sectionAdvanced"},ut={id:"sectionDeepIdentifier",class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mb-4"},mt={class:"text-sm text-slate-500 flex justify-start items-center mb-1"},ft={class:"truncate"},gt={class:"text-sm text-slate-500 flex justify-start items-center mb-1"},wt={class:"truncate"},bt={key:0,class:"text-sm text-slate-500 flex justify-start items-center mb-1"},yt={class:"truncate"},vt={key:1,class:"text-sm text-slate-500 flex justify-start items-center mb-1"},ht={id:"sectionImportContactsSettings",class:"mt-4"},ct={class:"ml-4 mt-2"},St={key:0,class:"mt-4"},kt={class:"flex justify-center"},It={class:"flex justify-center"},Ct={class:"relative ml-2"},xt={id:"sectionClaimServer"},Rt={class:"px-4 py-4"},At={class:"relative ml-2"},Et={class:"relative ml-2"},Pt={id:"sectionNotificationPushServer",class:"px-3 py-4"},Tt={key:0,class:"px-4 text-sm"},Nt={class:"px-3 py-4"},Dt={key:1,class:"px-4 text-sm"},Ut={id:"sectionImageServerURL",class:"mt-2"},Lt={class:"text-sm"},$t={class:"relative ml-2"},Mt={class:"relative ml-2"},Bt={class:"flex mt-4"},Vt={id:"sectionPasskeyExpiration",class:"flex justify-between"},Ot={class:"text-sm ml-2"},Gt={class:"relative ml-2"},Ft={class:"relative ml-2"};function jt(t,e,i,r,f,v){var L,$,M,B,V;const S=k("QuickNav"),A=k("TopMessage"),h=k("router-link"),g=k("fa"),U=k("UserNameDialog"),x=k("EntityIcon"),R=k("ImageMethodDialog"),z=k("PushNotificationPermission");return p(),u(le,null,[d(S,{selected:"Profile"}),d(A),s("section",Re,[e[123]||(e[123]=s("h1",{id:"ViewHeading",class:"text-4xl text-center font-light"}," Your Identity ",-1)),t.activeDid?b("",!0):(p(),u("div",Ae,[e[50]||(e[50]=s("p",{class:"mb-4"},[s("b",null,"Note:"),a(" Before you can share with others or take any action, you need an identifier. ")],-1)),d(h,{to:{name:"start"},class:"inline-block text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md"},{default:c(()=>e[49]||(e[49]=[a(" Create An Identifier ")])),_:1})])),s("div",Ee,[t.givenName?(p(),u("div",Pe,[s("h2",Te,[s("span",Ne,[d(h,{to:{name:"contact-qr"},class:"bg-slate-500 text-white px-1.5 py-1 rounded-md"},{default:c(()=>[d(g,{icon:"qrcode",class:"fa-fw text-xl"})]),_:1})]),a(" "+m(t.givenName)+" ",1),d(h,{to:{name:"new-edit-account"}},{default:c(()=>[d(g,{icon:"pen",class:"text-xs text-blue-500 ml-2 mb-1"})]),_:1})])])):(p(),u("span",De,[s("button",{onClick:e[0]||(e[0]=()=>this.$refs.userNameDialog.open(o=>this.givenName=o)),class:"inline-block text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md"}," Set Your Name "),d(U,{ref:"userNameDialog"},null,512)])),s("div",Ue,[t.profileImageUrl?(p(),u("span",Le,[d(x,{"icon-size":96,profileImageUrl:t.profileImageUrl,class:"inline-block align-text-bottom border border-slate-300 rounded",onClick:e[1]||(e[1]=o=>t.showLargeIdenticonUrl=t.profileImageUrl)},null,8,["profileImageUrl"]),d(g,{icon:"trash-can",onClick:t.confirmDeleteImage,class:"text-red-500 fa-fw ml-8 mt-8 w-12 h-12"},null,8,["onClick"])])):(p(),u("div",$e,[s("div",{class:"",onClick:e[3]||(e[3]=o=>t.openImageDialog())},[d(g,{icon:"camera",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-l"}),d(g,{icon:"image-portrait",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-r",onClick:e[2]||(e[2]=o=>t.openImageDialog())})])])),d(R,{ref:"imageMethodDialog"},null,512)]),s("div",Me,[s("div",Be,[a(" People "+m(t.profileImageUrl?"without your image":"")+" see this ",1),e[51]||(e[51]=s("br",null,null,-1)),e[52]||(e[52]=a(" (if you've let them see your activity): "))]),s("div",Ve,[d(x,{entityId:t.activeDid,iconSize:64,class:"inline-block align-middle border border-slate-300 rounded-md mr-1",onClick:e[4]||(e[4]=o=>t.showLargeIdenticonId=t.activeDid)},null,8,["entityId"])])]),t.showLargeIdenticonId||t.showLargeIdenticonUrl?(p(),u("div",Oe,[s("div",Ge,[d(x,{entityId:t.showLargeIdenticonId,iconSize:512,profileImageUrl:t.showLargeIdenticonUrl,class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg",onClick:e[5]||(e[5]=o=>{t.showLargeIdenticonId=void 0,t.showLargeIdenticonUrl=void 0})},null,8,["entityId","profileImageUrl"])])])):b("",!0),e[54]||(e[54]=s("div",{class:"text-slate-500 text-sm font-bold"},"ID",-1)),s("div",Fe,[s("code",je,m(t.activeDid),1),s("button",{onClick:e[6]||(e[6]=o=>t.doCopyTwoSecRedo(t.activeDid,()=>t.showDidCopy=!t.showDidCopy)),class:"ml-2"},[d(g,{icon:"copy",class:"text-slate-400 fa-fw"})]),y(s("span",null,"Copied",512),[[E,t.showDidCopy]])]),s("div",He,[d(h,{to:{path:"/did/"+encodeURIComponent(t.activeDid)}},{default:c(()=>e[53]||(e[53]=[a(" Your Activity ")])),_:1},8,["to"])])]),!t.loadingLimits&&!((L=t.endorserLimits)!=null&&L.nextWeekBeginDateTime)?(p(),u("div",We,[e[56]||(e[56]=s("p",{class:"mb-4"},[s("b",null,"Note:"),a(" Before you can publicly announce a new project or time commitment, a friend needs to register you. ")],-1)),d(h,{to:{name:"contact-qr"},class:"inline-block text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md"},{default:c(()=>e[55]||(e[55]=[a(" Share Your Info ")])),_:1})])):b("",!0),s("div",Ye,[e[64]||(e[64]=s("div",{class:"mb-2 font-bold"},"Notifications",-1)),s("div",ze,[s("div",null,[e[57]||(e[57]=a(" Reminder Notification ")),d(g,{icon:"question-circle",class:"text-slate-400 fa-fw ml-2 cursor-pointer",onClick:F(t.showReminderNotificationInfo,["stop"])},null,8,["onClick"])]),s("div",{class:"relative ml-2 cursor-pointer",onClick:e[8]||(e[8]=o=>t.showReminderNotificationChoice())},[y(s("input",{type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=o=>t.notifyingReminder=o),class:"sr-only"},null,512),[[I,t.notifyingReminder]]),e[58]||(e[58]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[59]||(e[59]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),t.notifyingReminder?(p(),u("div",Ke,[s("span",qe,'Message: "'+m(t.notifyingReminderMessage)+'"',1),s("span",null,m(t.notifyingReminderTime.replace(" "," ")),1)])):b("",!0),s("div",Je,[s("div",null,[e[60]||(e[60]=a(" New Activity Notification ")),d(g,{icon:"question-circle",class:"text-slate-400 fa-fw ml-2 cursor-pointer",onClick:F(t.showNewActivityNotificationInfo,["stop"])},null,8,["onClick"])]),s("div",{class:"relative ml-2 cursor-pointer",onClick:e[10]||(e[10]=o=>t.showNewActivityNotificationChoice())},[y(s("input",{type:"checkbox","onUpdate:modelValue":e[9]||(e[9]=o=>t.notifyingNewActivity=o),class:"sr-only"},null,512),[[I,t.notifyingNewActivity]]),e[61]||(e[61]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[62]||(e[62]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),t.notifyingNewActivityTime?(p(),u("div",Qe,m(t.notifyingNewActivityTime.replace(" "," ")),1)):b("",!0),d(h,{class:"pl-4 text-sm text-blue-500",to:"/help-notifications"},{default:c(()=>e[63]||(e[63]=[a(" Troubleshoot your notifications. ")])),_:1})]),d(z,{ref:"pushNotificationPermission"},null,512),s("div",Xe,[e[66]||(e[66]=s("div",{class:"mb-2 font-bold"},"Location for Searches",-1)),d(h,{to:{name:"search-area"},class:"block w-full text-center text-m bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-2 mt-6"},{default:c(()=>e[65]||(e[65]=[a(" Set Search Area… ")])),_:1})]),t.activeDid?(p(),u("div",Ze,[e[79]||(e[79]=s("div",{class:"mb-2 font-bold"},"Usage Limits",-1)),t.loadingLimits?(p(),u("div",_e,[e[67]||(e[67]=a(" Checking… ")),d(g,{icon:"spinner",class:"fa-spin"})])):b("",!0),s("div",null,m(t.limitsMessage),1),($=t.endorserLimits)!=null&&$.nextWeekBeginDateTime?(p(),u("div",et,[s("p",tt,[e[68]||(e[68]=a(" You have done ")),s("b",null,m(t.endorserLimits.doneClaimsThisWeek)+" claims",1),e[69]||(e[69]=a(" out of ")),s("b",null,m(t.endorserLimits.maxClaimsPerWeek),1),e[70]||(e[70]=a(" for this week. Your claims counter resets at ")),s("b",st,m(t.readableDate(t.endorserLimits.nextWeekBeginDateTime)),1)]),s("p",it,[e[71]||(e[71]=a(" You have done ")),s("b",null,m(t.endorserLimits.doneRegistrationsThisMonth)+" registrations",1),e[72]||(e[72]=a(" out of ")),s("b",null,m(t.endorserLimits.maxRegistrationsPerMonth),1),e[73]||(e[73]=a(" for this month. ")),e[74]||(e[74]=s("i",null,"(You cannot register anyone else on your first day.)",-1)),e[75]||(e[75]=a(" Your registration counter resets at ")),s("b",ot,m(t.readableDate(t.endorserLimits.nextMonthBeginDateTime)),1)]),t.imageLimits?(p(),u("p",nt,[e[76]||(e[76]=a(" You have uploaded ")),s("b",null,m((M=t.imageLimits)==null?void 0:M.doneImagesThisWeek)+" images",1),e[77]||(e[77]=a(" out of ")),s("b",null,m((B=t.imageLimits)==null?void 0:B.maxImagesPerWeek),1),e[78]||(e[78]=a(" for this week. Your image counter resets at ")),s("b",rt,m(t.readableDate((V=t.imageLimits)==null?void 0:V.nextWeekBeginDateTime)),1)])):b("",!0)])):b("",!0),s("button",{class:"block float-right w-fit text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md mt-2",onClick:e[11]||(e[11]=o=>t.checkLimits())}," Recheck Limits ")])):b("",!0),s("div",at,[e[86]||(e[86]=s("div",{class:"mb-2 font-bold"},"Data Export",-1)),t.activeDid?(p(),re(h,{key:0,to:{name:"seed-backup"},class:"block w-full text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-2 mt-2"},{default:c(()=>e[80]||(e[80]=[a(" Backup Identifier Seed ")])),_:1})):b("",!0),s("button",{class:j([t.computedStartDownloadLinkClassNames(),"block w-full text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"]),onClick:e[12]||(e[12]=o=>t.exportDatabase())},e[81]||(e[81]=[a(" Download Settings & Contacts "),s("br",null,null,-1),a(" (excluding Identifier Data) ")]),2),s("a",{ref:"downloadLink",class:j([t.computedDownloadLinkClassNames(),"block w-full text-center text-md bg-gradient-to-b from-green-500 to-green-800 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-6"])}," If no download happened yet, click again here to download now. ",2),s("div",lt,[e[85]||(e[85]=s("p",null," After the download, you can save the file in your preferred storage location. ",-1)),s("ul",null,[e[84]||(e[84]=s("li",{class:"list-disc list-outside ml-4"},' On iOS: Choose "More..." and select a place in iCloud, or go "Back" and save to another location. ',-1)),s("li",dt,[e[82]||(e[82]=a(' On Android: Choose "Open" and then share ')),d(g,{icon:"share-nodes",class:"fa-fw"}),e[83]||(e[83]=a(" to your prefered place. "))])])])]),s("h3",{id:"advanced",class:"text-sm uppercase font-semibold mb-3",onClick:e[13]||(e[13]=o=>t.showAdvanced=!t.showAdvanced)}," Advanced "),t.showAdvanced||t.showGeneralAdvanced?(p(),u("div",pt,[e[119]||(e[119]=s("p",{class:"text-rose-600 mb-8"}," Beware: the features here can be confusing and even change data in ways you do not expect. But we support your freedom! ",-1)),e[120]||(e[120]=s("span",{class:"text-slate-500 text-sm font-bold mb-2"}," Deep Identifier Details ",-1)),s("div",ut,[e[87]||(e[87]=s("div",{class:"text-slate-500 text-sm font-bold"},"Public Key (base 64)",-1)),s("div",mt,[s("code",ft,m(t.publicBase64),1),s("button",{onClick:e[14]||(e[14]=o=>t.doCopyTwoSecRedo(t.publicBase64,()=>t.showB64Copy=!t.showB64Copy)),class:"ml-2"},[d(g,{icon:"copy",class:"text-slate-400 fa-fw"})]),y(s("span",null,"Copied",512),[[E,t.showB64Copy]])]),e[88]||(e[88]=s("div",{class:"text-slate-500 text-sm font-bold"},"Public Key (hex)",-1)),s("div",gt,[s("code",wt,m(t.publicHex),1),s("button",{onClick:e[15]||(e[15]=o=>t.doCopyTwoSecRedo(t.publicHex,()=>t.showPubCopy=!t.showPubCopy)),class:"ml-2"},[d(g,{icon:"copy",class:"text-slate-400 fa-fw"})]),y(s("span",null,"Copied",512),[[E,t.showPubCopy]])]),e[89]||(e[89]=s("div",{class:"text-slate-500 text-sm font-bold"},"Derivation Path",-1)),t.derivationPath?(p(),u("div",bt,[s("code",yt,m(t.derivationPath),1),s("button",{onClick:e[16]||(e[16]=o=>t.doCopyTwoSecRedo(t.derivationPath,()=>t.showDerCopy=!t.showDerCopy)),class:"ml-2"},[d(g,{icon:"copy",class:"text-slate-400 fa-fw"})]),y(s("span",null,"Copied",512),[[E,t.showDerCopy]])])):(p(),u("div",vt," (none) "))]),d(h,{id:"switch-identity-link",to:{name:"identity-switcher"},class:"block w-fit text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md mb-2"},{default:c(()=>e[90]||(e[90]=[a(" Switch Identifier ")])),_:1}),s("div",ht,[e[93]||(e[93]=s("h2",{class:"text-slate-500 text-sm font-bold"}," Import Contacts & Settings Database ",-1)),s("div",ct,[s("input",{type:"file",onChange:e[17]||(e[17]=(...o)=>t.uploadImportFile&&t.uploadImportFile(...o)),class:"ml-2"},null,32),d(ae,{"enter-active-class":"transform ease-out duration-300 transition","enter-from-class":"translate-y-2 opacity-0 sm:translate-y-4","enter-to-class":"translate-y-0 opacity-100 sm:translate-y-0","leave-active-class":"transition ease-in duration-500","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:c(()=>[t.showContactImport()?(p(),u("div",St,[s("div",kt,[s("button",{class:"block text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-6",onClick:e[18]||(e[18]=o=>t.confirmSubmitImportFile())},e[91]||(e[91]=[a(" Overwrite Settings & Contacts "),s("br",null,null,-1),a(" (which doesn't include Identifier Data) ")]))]),s("div",It,[s("button",{class:"block text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-6",onClick:e[19]||(e[19]=o=>t.checkContactImports())},e[92]||(e[92]=[a(" Import Only Contacts "),s("br",null,null,-1),a(" after comparing ")]))])])):b("",!0)]),_:1})])]),s("label",{for:"toggleShowAmounts",class:"flex items-center justify-between cursor-pointer my-4",onClick:e[21]||(e[21]=(...o)=>t.toggleShowContactAmounts&&t.toggleShowContactAmounts(...o))},[e[96]||(e[96]=s("span",{class:"text-slate-500 text-sm font-bold"},"Contacts Display",-1)),e[97]||(e[97]=s("span",{class:"ml-2"},"Show hours given & received",-1)),s("div",Ct,[y(s("input",{type:"checkbox","onUpdate:modelValue":e[20]||(e[20]=o=>t.showContactGives=o),name:"showContactGives",class:"sr-only"},null,512),[[I,t.showContactGives]]),e[94]||(e[94]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[95]||(e[95]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),s("div",xt,[e[104]||(e[104]=s("h2",{class:"text-slate-500 text-sm font-bold mt-4"},"Claim Server",-1)),s("div",Rt,[y(s("input",{type:"text",class:"block w-full rounded border border-slate-400 px-4 py-2","onUpdate:modelValue":e[22]||(e[22]=o=>t.apiServerInput=o)},null,512),[[P,t.apiServerInput]]),t.apiServerInput!=t.apiServer?(p(),u("button",{key:0,class:"w-full px-4 rounded bg-yellow-500 border border-slate-400",onClick:e[23]||(e[23]=o=>t.onClickSaveApiServer())},[d(g,{icon:"floppy-disk",class:"fa-fw",color:"white"})])):b("",!0),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[24]||(e[24]=o=>t.apiServerInput=t.AppConstants.PROD_ENDORSER_API_SERVER)}," Use Prod "),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[25]||(e[25]=o=>t.apiServerInput=t.AppConstants.TEST_ENDORSER_API_SERVER)}," Use Test "),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[26]||(e[26]=o=>t.apiServerInput=t.AppConstants.LOCAL_ENDORSER_API_SERVER)}," Use Local ")]),s("label",{for:"toggleProdWarningMessage",class:"flex items-center justify-between cursor-pointer px-4 py-4",onClick:e[28]||(e[28]=(...o)=>t.toggleProdWarning&&t.toggleProdWarning(...o))},[e[100]||(e[100]=s("h2",null,"Show warning if on prod server",-1)),s("div",At,[y(s("input",{type:"checkbox","onUpdate:modelValue":e[27]||(e[27]=o=>t.warnIfProdServer=o),class:"sr-only"},null,512),[[I,t.warnIfProdServer]]),e[98]||(e[98]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[99]||(e[99]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),s("label",{for:"toggleTestWarningMessage",class:"flex items-center justify-between cursor-pointer px-4 py-4",onClick:e[30]||(e[30]=(...o)=>t.toggleTestWarning&&t.toggleTestWarning(...o))},[e[103]||(e[103]=s("h2",null,"Show warning if on non-prod server",-1)),s("div",Et,[y(s("input",{type:"checkbox","onUpdate:modelValue":e[29]||(e[29]=o=>t.warnIfTestServer=o),class:"sr-only"},null,512),[[I,t.warnIfTestServer]]),e[101]||(e[101]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[102]||(e[102]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])])]),e[121]||(e[121]=s("h2",{class:"text-slate-500 text-sm font-bold mb-2"}," Notification Push Server ",-1)),s("div",Pt,[y(s("input",{type:"text",class:"block w-full rounded border border-slate-400 px-3 py-2","onUpdate:modelValue":e[31]||(e[31]=o=>t.webPushServerInput=o)},null,512),[[P,t.webPushServerInput]]),t.webPushServerInput!=t.webPushServer?(p(),u("button",{key:0,class:"w-full px-4 rounded bg-yellow-500 border border-slate-400",onClick:e[32]||(e[32]=o=>t.onClickSavePushServer())},[d(g,{icon:"floppy-disk",class:"fa-fw",color:"white"})])):b("",!0),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[33]||(e[33]=o=>t.webPushServerInput=t.AppConstants.PROD_PUSH_SERVER)}," Use Prod "),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[34]||(e[34]=o=>t.webPushServerInput=t.AppConstants.TEST1_PUSH_SERVER)}," Use Test 1 "),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[35]||(e[35]=o=>t.webPushServerInput=t.AppConstants.TEST2_PUSH_SERVER)}," Use Test 2 ")]),t.webPushServerInput?b("",!0):(p(),u("span",Tt," When that setting is blank, this app will use the default web push server URL: "+m(t.DEFAULT_PUSH_SERVER),1)),e[122]||(e[122]=s("h2",{class:"text-slate-500 text-sm font-bold mb-2"},"Partner Server URL",-1)),s("div",Nt,[y(s("input",{type:"text",class:"block w-full rounded border border-slate-400 px-3 py-2","onUpdate:modelValue":e[36]||(e[36]=o=>t.partnerApiServerInput=o)},null,512),[[P,t.partnerApiServerInput]]),t.partnerApiServerInput!=t.partnerApiServer?(p(),u("button",{key:0,class:"w-full px-4 rounded bg-yellow-500 border border-slate-400",onClick:e[37]||(e[37]=o=>t.onClickSavePartnerServer())},[d(g,{icon:"floppy-disk",class:"fa-fw",color:"white"})])):b("",!0),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[38]||(e[38]=o=>t.partnerApiServerInput=t.AppConstants.PROD_PARTNER_API_SERVER)}," Use Prod "),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[39]||(e[39]=o=>t.partnerApiServerInput=t.AppConstants.TEST_PARTNER_API_SERVER)}," Use Test "),s("button",{class:"px-3 rounded bg-slate-200 border border-slate-400",onClick:e[40]||(e[40]=o=>t.partnerApiServerInput=t.AppConstants.LOCAL_PARTNER_API_SERVER)}," Use Local ")]),t.partnerApiServerInput?b("",!0):(p(),u("span",Dt," When that setting is blank, this app will use the default partner server URL: "+m(t.DEFAULT_PARTNER_API_SERVER),1)),s("div",Ut,[e[105]||(e[105]=s("span",{class:"text-slate-500 text-sm font-bold"},"Image Server URL",-1)),e[106]||(e[106]=a("   ")),s("span",Lt,m(t.DEFAULT_IMAGE_API_SERVER),1)]),s("label",{for:"toggleHideRegisterPromptOnNewContact",class:"flex items-center justify-between cursor-pointer mt-4",onClick:e[42]||(e[42]=o=>t.toggleHideRegisterPromptOnNewContact())},[e[109]||(e[109]=s("span",{class:"text-slate-500 text-sm font-bold"}," Hide Register Prompt on New Contact ",-1)),s("div",$t,[y(s("input",{type:"checkbox","onUpdate:modelValue":e[41]||(e[41]=o=>t.hideRegisterPromptOnNewContact=o),class:"sr-only"},null,512),[[I,t.hideRegisterPromptOnNewContact]]),e[107]||(e[107]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[108]||(e[108]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),s("label",{for:"toggleShowShortcutBvc",class:"flex items-center justify-between cursor-pointer mt-4",onClick:e[44]||(e[44]=(...o)=>t.toggleShowShortcutBvc&&t.toggleShowShortcutBvc(...o))},[e[112]||(e[112]=s("span",{class:"text-slate-500 text-sm font-bold"}," Show BVC Shortcut on Home Page ",-1)),s("div",Mt,[y(s("input",{type:"checkbox","onUpdate:modelValue":e[43]||(e[43]=o=>t.showShortcutBvc=o),class:"sr-only"},null,512),[[I,t.showShortcutBvc]]),e[110]||(e[110]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[111]||(e[111]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),s("div",Bt,[s("button",null,[d(h,{to:{name:"statistics"},class:"block w-fit text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md mb-2"},{default:c(()=>e[113]||(e[113]=[a(" See Global Animated History of Giving ")])),_:1})])]),s("div",Vt,[s("span",null,[e[114]||(e[114]=s("span",{class:"text-slate-500 text-sm font-bold mb-2"}," Passkey Expiration Minutes ",-1)),e[115]||(e[115]=s("br",null,null,-1)),s("span",Ot,m(t.passkeyExpirationDescription),1)]),s("div",Gt,[y(s("input",{type:"number",class:"border border-slate-400 rounded px-2 py-2 text-center w-20","onUpdate:modelValue":e[45]||(e[45]=o=>t.passkeyExpirationMinutes=o),onChange:e[46]||(e[46]=(...o)=>t.updatePasskeyExpiration&&t.updatePasskeyExpiration(...o))},null,544),[[P,t.passkeyExpirationMinutes]])])]),s("label",{for:"toggleShowGeneralAdvanced",class:"flex items-center justify-between cursor-pointer mt-4",onClick:e[48]||(e[48]=(...o)=>t.toggleShowGeneralAdvanced&&t.toggleShowGeneralAdvanced(...o))},[e[118]||(e[118]=s("span",{class:"text-slate-500 text-sm font-bold"}," Show All General Advanced Functions ",-1)),s("div",Ft,[y(s("input",{type:"checkbox","onUpdate:modelValue":e[47]||(e[47]=o=>t.showGeneralAdvanced=o),class:"sr-only"},null,512),[[I,t.showGeneralAdvanced]]),e[116]||(e[116]=s("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[117]||(e[117]=s("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])])])):b("",!0)])],64)}const ys=ne(D,[["render",jt]]);export{ys as default}; diff --git a/dist-electron/assets/ClaimAddRawView-jDXY8ZHT.js b/dist-electron/assets/ClaimAddRawView-jDXY8ZHT.js new file mode 100644 index 0000000..957eaa6 --- /dev/null +++ b/dist-electron/assets/ClaimAddRawView-jDXY8ZHT.js @@ -0,0 +1 @@ +var h=Object.defineProperty;var g=(s,t,i)=>t in s?h(s,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[t]=i;var c=(s,t,i)=>g(s,typeof t!="symbol"?t+"":t,i);import{V as v,f as x,y as w,C as b,_ as S,g as p,h as y,i as f,j as l,k as C,m as _,s as $,F as N,x as V}from"./index-BLqts8WY.js";import{Q as D}from"./QuickNav-DgCyvgDx.js";import{i as O,g as A,w as J,x as P,u as E}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var I=Object.defineProperty,R=Object.getOwnPropertyDescriptor,T=(s,t,i,a)=>{for(var e=a>1?void 0:a?R(t,i):t,n=s.length-1,o;n>=0;n--)(o=s[n])&&(e=(a?o(t,i,e):o(e))||e);return a&&e&&I(t,i,e),e};let u=class extends v{constructor(){super(...arguments);c(this,"$notify");c(this,"accountIdentityStr","null");c(this,"activeDid","");c(this,"apiServer","");c(this,"claimStr","")}async mounted(){var a;const i=await x();if(this.activeDid=i.activeDid||"",this.apiServer=i.apiServer||"",this.claimStr=this.$route.query.claim,this.claimStr)try{const e=JSON.parse(this.claimStr);this.claimStr=JSON.stringify(e,null,2)}catch{}else{const e=this.$route.query.claimJwtId;if(e){const n=O(e)?"/api/claim/byHandle/":"/api/claim/",o=this.apiServer+n+encodeURIComponent(e),m=await A(this.activeDid);try{const r=await this.axios.get(o,{headers:m});if(r.status===200){const d=(a=r.data)==null?void 0:a.claim;d.lastClaimId=J(e),this.claimStr=JSON.stringify(d,null,2)}else throw{message:"Got an error loading that claim.",response:{status:r.status,statusText:r.statusText}}}catch(r){w("Error retrieving claim: "+P(r),!0),this.$notify({group:"alert",type:"danger",title:"Error",text:"Got an error retrieving claim data."},3e3)}}}}async submitClaim(){const i=JSON.parse(this.claimStr),a=await E(i,this.activeDid,this.apiServer,this.axios);a.type==="success"?this.$notify({group:"alert",type:"success",title:"Success",text:"Claim submitted."},5e3):(console.error("Got error submitting the claim:",a),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem submitting the claim."},-1))}};u=T([b({components:{QuickNav:D}})],u);const k={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},B={id:"ViewBreadcrumb",class:"mb-8"},F={class:"text-lg text-center font-light relative px-7"},G={class:"flex"};function Q(s,t,i,a,e,n){const o=p("QuickNav"),m=p("fa");return V(),y(N,null,[f(o),l("section",k,[l("div",B,[l("h1",F,[l("button",{onClick:t[0]||(t[0]=r=>s.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[f(m,{icon:"chevron-left",class:"fa-fw"})]),t[3]||(t[3]=C(" Raw Claim "))])]),l("div",G,[_(l("textarea",{rows:"20",class:"border-2 w-full","onUpdate:modelValue":t[1]||(t[1]=r=>s.claimStr=r)},null,512),[[$,s.claimStr]])]),l("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:t[2]||(t[2]=r=>s.submitClaim())}," Sign & Send ")])],64)}const z=S(u,[["render",Q]]);export{z as default}; diff --git a/dist-electron/assets/ClaimCertificateView-D2wPvj1g.js b/dist-electron/assets/ClaimCertificateView-D2wPvj1g.js new file mode 100644 index 0000000..90394cc --- /dev/null +++ b/dist-electron/assets/ClaimCertificateView-D2wPvj1g.js @@ -0,0 +1,8 @@ +var le=Object.defineProperty;var fe=(o,i,r)=>i in o?le(o,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[i]=r;var H=(o,i,r)=>fe(o,typeof i!="symbol"?i+"":i,r);import{B as de,V as he,f as ge,E as me,e as It,G as we,C as Ce,_ as pe,g as ye,h as Bt,j as St,i as Ae,w as Ee,l as Te,x as Nt}from"./index-BLqts8WY.js";import{s as Ie,g as Rt,y as Pt,z as Be,A as Se}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var k={},$,_t;function Ne(){return _t||(_t=1,$=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),$}var Y={},V={},bt;function q(){if(bt)return V;bt=1;let o;const i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return V.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17},V.getSymbolTotalCodewords=function(e){return i[e]},V.getBCHDigit=function(r){let e=0;for(;r!==0;)e++,r>>>=1;return e},V.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');o=e},V.isKanjiModeEnabled=function(){return typeof o<"u"},V.toSJIS=function(e){return o(e)},V}var Q={},Mt;function yt(){return Mt||(Mt=1,function(o){o.L={bit:1},o.M={bit:0},o.Q={bit:3},o.H={bit:2};function i(r){if(typeof r!="string")throw new Error("Param is not a string");switch(r.toLowerCase()){case"l":case"low":return o.L;case"m":case"medium":return o.M;case"q":case"quartile":return o.Q;case"h":case"high":return o.H;default:throw new Error("Unknown EC Level: "+r)}}o.isValid=function(e){return e&&typeof e.bit<"u"&&e.bit>=0&&e.bit<4},o.from=function(e,t){if(o.isValid(e))return e;try{return i(e)}catch{return t}}}(Q)),Q}var Z,vt;function Re(){if(vt)return Z;vt=1;function o(){this.buffer=[],this.length=0}return o.prototype={get:function(i){const r=Math.floor(i/8);return(this.buffer[r]>>>7-i%8&1)===1},put:function(i,r){for(let e=0;e>>r-e-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(i){const r=Math.floor(this.length/8);this.buffer.length<=r&&this.buffer.push(0),i&&(this.buffer[r]|=128>>>this.length%8),this.length++}},Z=o,Z}var X,Lt;function Pe(){if(Lt)return X;Lt=1;function o(i){if(!i||i<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=i,this.data=new Uint8Array(i*i),this.reservedBit=new Uint8Array(i*i)}return o.prototype.set=function(i,r,e,t){const n=i*this.size+r;this.data[n]=e,t&&(this.reservedBit[n]=!0)},o.prototype.get=function(i,r){return this.data[i*this.size+r]},o.prototype.xor=function(i,r,e){this.data[i*this.size+r]^=e},o.prototype.isReserved=function(i,r){return this.reservedBit[i*this.size+r]},X=o,X}var tt={},Dt;function _e(){return Dt||(Dt=1,function(o){const i=q().getSymbolSize;o.getRowColCoords=function(e){if(e===1)return[];const t=Math.floor(e/7)+2,n=i(e),a=n===145?26:Math.ceil((n-13)/(2*t-2))*2,u=[n-7];for(let s=1;s=0&&t<=7},o.from=function(t){return o.isValid(t)?parseInt(t,10):void 0},o.getPenaltyN1=function(t){const n=t.size;let a=0,u=0,s=0,c=null,f=null;for(let I=0;I=5&&(a+=i.N1+(u-5)),c=l,u=1),l=t.get(g,I),l===f?s++:(s>=5&&(a+=i.N1+(s-5)),f=l,s=1)}u>=5&&(a+=i.N1+(u-5)),s>=5&&(a+=i.N1+(s-5))}return a},o.getPenaltyN2=function(t){const n=t.size;let a=0;for(let u=0;u=10&&(u===1488||u===93)&&a++,s=s<<1&2047|t.get(f,c),f>=10&&(s===1488||s===93)&&a++}return a*i.N3},o.getPenaltyN4=function(t){let n=0;const a=t.data.length;for(let s=0;s=0;){const a=n[0];for(let s=0;s0){const u=new Uint8Array(this.degree);return u.set(n,a),u}return n},it=i,it}var ot={},st={},at={},zt;function ie(){return zt||(zt=1,at.isValid=function(i){return!isNaN(i)&&i>=1&&i<=40}),at}var M={},Gt;function oe(){if(Gt)return M;Gt=1;const o="[0-9]+",i="[A-Z $%*+\\-./:]+";let r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";r=r.replace(/u/g,"\\u");const e="(?:(?![A-Z0-9 $%*+\\-./:]|"+r+`)(?:.|[\r +]))+`;M.KANJI=new RegExp(r,"g"),M.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),M.BYTE=new RegExp(e,"g"),M.NUMERIC=new RegExp(o,"g"),M.ALPHANUMERIC=new RegExp(i,"g");const t=new RegExp("^"+r+"$"),n=new RegExp("^"+o+"$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return M.testKanji=function(s){return t.test(s)},M.testNumeric=function(s){return n.test(s)},M.testAlphanumeric=function(s){return a.test(s)},M}var jt;function U(){return jt||(jt=1,function(o){const i=ie(),r=oe();o.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},o.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},o.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},o.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},o.MIXED={bit:-1},o.getCharCountIndicator=function(n,a){if(!n.ccBits)throw new Error("Invalid mode: "+n);if(!i.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?n.ccBits[0]:a<27?n.ccBits[1]:n.ccBits[2]},o.getBestModeForData=function(n){return r.testNumeric(n)?o.NUMERIC:r.testAlphanumeric(n)?o.ALPHANUMERIC:r.testKanji(n)?o.KANJI:o.BYTE},o.toString=function(n){if(n&&n.id)return n.id;throw new Error("Invalid mode")},o.isValid=function(n){return n&&n.bit&&n.ccBits};function e(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return o.NUMERIC;case"alphanumeric":return o.ALPHANUMERIC;case"kanji":return o.KANJI;case"byte":return o.BYTE;default:throw new Error("Unknown mode: "+t)}}o.from=function(n,a){if(o.isValid(n))return n;try{return e(n)}catch{return a}}}(st)),st}var xt;function He(){return xt||(xt=1,function(o){const i=q(),r=re(),e=yt(),t=U(),n=ie(),a=7973,u=i.getBCHDigit(a);function s(g,l,N){for(let R=1;R<=40;R++)if(l<=o.getCapacity(R,N,g))return R}function c(g,l){return t.getCharCountIndicator(g,l)+4}function f(g,l){let N=0;return g.forEach(function(R){const _=c(R.mode,l);N+=_+R.getBitsLength()}),N}function I(g,l){for(let N=1;N<=40;N++)if(f(g,N)<=o.getCapacity(N,l,t.MIXED))return N}o.from=function(l,N){return n.isValid(l)?parseInt(l,10):N},o.getCapacity=function(l,N,R){if(!n.isValid(l))throw new Error("Invalid QR Code version");typeof R>"u"&&(R=t.BYTE);const _=i.getSymbolTotalCodewords(l),d=r.getTotalCodewordsCount(l,N),S=(_-d)*8;if(R===t.MIXED)return S;const A=S-c(R,l);switch(R){case t.NUMERIC:return Math.floor(A/10*3);case t.ALPHANUMERIC:return Math.floor(A/11*2);case t.KANJI:return Math.floor(A/13);case t.BYTE:default:return Math.floor(A/8)}},o.getBestVersionForData=function(l,N){let R;const _=e.from(N,e.M);if(Array.isArray(l)){if(l.length>1)return I(l,_);if(l.length===0)return 1;R=l[0]}else R=l;return s(R.mode,R.getLength(),_)},o.getEncodedBits=function(l){if(!n.isValid(l)||l<7)throw new Error("Invalid QR Code version");let N=l<<12;for(;i.getBCHDigit(N)-u>=0;)N^=a<=0;)s^=i<0&&(n=this.data.substr(t),a=parseInt(n,10),e.put(a,u*3+1))},lt=i,lt}var ft,Jt;function Ue(){if(Jt)return ft;Jt=1;const o=U(),i=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function r(e){this.mode=o.ALPHANUMERIC,this.data=e}return r.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let a=i.indexOf(this.data[n])*45;a+=i.indexOf(this.data[n+1]),t.put(a,11)}this.data.length%2&&t.put(i.indexOf(this.data[n]),6)},ft=r,ft}var dt,Wt;function Fe(){if(Wt)return dt;Wt=1;const o=U();function i(r){this.mode=o.BYTE,typeof r=="string"?this.data=new TextEncoder().encode(r):this.data=new Uint8Array(r)}return i.getBitsLength=function(e){return e*8},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(r){for(let e=0,t=this.data.length;e=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` +Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},ht=r,ht}var gt={exports:{}},Yt;function ze(){return Yt||(Yt=1,function(o){var i={single_source_shortest_paths:function(r,e,t){var n={},a={};a[e]=0;var u=i.PriorityQueue.make();u.push(e,0);for(var s,c,f,I,g,l,N,R,_;!u.empty();){s=u.pop(),c=s.value,I=s.cost,g=r[c]||{};for(f in g)g.hasOwnProperty(f)&&(l=g[f],N=I+l,R=a[f],_=typeof a[f]>"u",(_||R>N)&&(a[f]=N,u.push(f,N),n[f]=c))}if(typeof t<"u"&&typeof a[t]>"u"){var d=["Could not find a path from ",e," to ",t,"."].join("");throw new Error(d)}return n},extract_shortest_path_from_predecessor_list:function(r,e){for(var t=[],n=e;n;)t.push(n),r[n],n=r[n];return t.reverse(),t},find_path:function(r,e,t){var n=i.single_source_shortest_paths(r,e,t);return i.extract_shortest_path_from_predecessor_list(n,t)},PriorityQueue:{make:function(r){var e=i.PriorityQueue,t={},n;r=r||{};for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t.queue=[],t.sorter=r.sorter||e.default_sorter,t},default_sorter:function(r,e){return r.cost-e.cost},push:function(r,e){var t={value:r,cost:e};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};o.exports=i}(gt)),gt.exports}var Qt;function Ge(){return Qt||(Qt=1,function(o){const i=U(),r=qe(),e=Ue(),t=Fe(),n=ke(),a=oe(),u=q(),s=ze();function c(d){return unescape(encodeURIComponent(d)).length}function f(d,S,A){const w=[];let b;for(;(b=d.exec(A))!==null;)w.push({data:b[0],index:b.index,mode:S,length:b[0].length});return w}function I(d){const S=f(a.NUMERIC,i.NUMERIC,d),A=f(a.ALPHANUMERIC,i.ALPHANUMERIC,d);let w,b;return u.isKanjiModeEnabled()?(w=f(a.BYTE,i.BYTE,d),b=f(a.KANJI,i.KANJI,d)):(w=f(a.BYTE_KANJI,i.BYTE,d),b=[]),S.concat(A,w,b).sort(function(E,y){return E.index-y.index}).map(function(E){return{data:E.data,mode:E.mode,length:E.length}})}function g(d,S){switch(S){case i.NUMERIC:return r.getBitsLength(d);case i.ALPHANUMERIC:return e.getBitsLength(d);case i.KANJI:return n.getBitsLength(d);case i.BYTE:return t.getBitsLength(d)}}function l(d){return d.reduce(function(S,A){const w=S.length-1>=0?S[S.length-1]:null;return w&&w.mode===A.mode?(S[S.length-1].data+=A.data,S):(S.push(A),S)},[])}function N(d){const S=[];for(let A=0;A=0&&p<=6&&(P===0||P===6)||P>=0&&P<=6&&(p===0||p===6)||p>=2&&p<=4&&P>=2&&P<=4?m.set(C+p,T+P,!0,!0):m.set(C+p,T+P,!1,!0))}}function N(m){const E=m.size;for(let y=8;y>p&1)===1,m.set(B,C,T,!0),m.set(C,B,T,!0)}function d(m,E,y){const h=m.size,B=f.getEncodedBits(E,y);let C,T;for(C=0;C<15;C++)T=(B>>C&1)===1,C<6?m.set(C,8,T,!0):C<8?m.set(C+1,8,T,!0):m.set(h-15+C,8,T,!0),C<8?m.set(8,h-C-1,T,!0):C<9?m.set(8,15-C-1+1,T,!0):m.set(8,15-C-1,T,!0);m.set(h-8,8,1,!0)}function S(m,E){const y=m.size;let h=-1,B=y-1,C=7,T=0;for(let p=y-1;p>0;p-=2)for(p===6&&p--;;){for(let P=0;P<2;P++)if(!m.isReserved(B,p-P)){let D=!1;T>>C&1)===1),m.set(B,p-P,D),C--,C===-1&&(T++,C=7)}if(B+=h,B<0||y<=B){B-=h,h=-h;break}}}function A(m,E,y){const h=new r;y.forEach(function(P){h.put(P.mode.bit,4),h.put(P.getLength(),I.getCharCountIndicator(P.mode,m)),P.write(h)});const B=o.getSymbolTotalCodewords(m),C=u.getTotalCodewordsCount(m,E),T=(B-C)*8;for(h.getLengthInBits()+4<=T&&h.put(0,4);h.getLengthInBits()%8!==0;)h.putBit(0);const p=(T-h.getLengthInBits())/8;for(let P=0;P=7&&_(P,E),S(P,T),isNaN(h)&&(h=a.getBestMask(P,d.bind(null,P,y))),a.applyMask(h,P),d(P,y,h),{modules:P,version:E,errorCorrectionLevel:y,maskPattern:h,segments:B}}return Y.create=function(E,y){if(typeof E>"u"||E==="")throw new Error("No input text");let h=i.M,B,C;return typeof y<"u"&&(h=i.from(y.errorCorrectionLevel,i.M),B=c.from(y.version),C=a.from(y.maskPattern),y.toSJISFunc&&o.setToSJISFunction(y.toSJISFunc)),b(E,B,h,C)},Y}var mt={},wt={},Xt;function se(){return Xt||(Xt=1,function(o){function i(r){if(typeof r=="number"&&(r=r.toString()),typeof r!="string")throw new Error("Color should be defined as hex string");let e=r.slice().replace("#","").split("");if(e.length<3||e.length===5||e.length>8)throw new Error("Invalid hex color: "+r);(e.length===3||e.length===4)&&(e=Array.prototype.concat.apply([],e.map(function(n){return[n,n]}))),e.length===6&&e.push("F","F");const t=parseInt(e.join(""),16);return{r:t>>24&255,g:t>>16&255,b:t>>8&255,a:t&255,hex:"#"+e.slice(0,6).join("")}}o.getOptions=function(e){e||(e={}),e.color||(e.color={});const t=typeof e.margin>"u"||e.margin===null||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,a=e.scale||4;return{width:n,scale:n?4:a,margin:t,color:{dark:i(e.color.dark||"#000000ff"),light:i(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},o.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},o.getImageWidth=function(e,t){const n=o.getScale(e,t);return Math.floor((e+t.margin*2)*n)},o.qrToImageData=function(e,t,n){const a=t.modules.size,u=t.modules.data,s=o.getScale(a,n),c=Math.floor((a+n.margin*2)*s),f=n.margin*s,I=[n.color.light,n.color.dark];for(let g=0;g=f&&l>=f&&g"u"&&(!a||!a.getContext)&&(s=a,a=void 0),a||(c=e()),s=i.getOptions(s);const f=i.getImageWidth(n.modules.size,s),I=c.getContext("2d"),g=I.createImageData(f,f);return i.qrToImageData(g.data,n,s),r(I,c,f),I.putImageData(g,0,0),c},o.renderToDataURL=function(n,a,u){let s=u;typeof s>"u"&&(!a||!a.getContext)&&(s=a,a=void 0),s||(s={});const c=o.render(n,a,s),f=s.type||"image/png",I=s.rendererOpts||{};return c.toDataURL(f,I.quality)}}(mt)),mt}var Ct={},ee;function Ke(){if(ee)return Ct;ee=1;const o=se();function i(t,n){const a=t.a/255,u=n+'="'+t.hex+'"';return a<1?u+" "+n+'-opacity="'+a.toFixed(2).slice(1)+'"':u}function r(t,n,a){let u=t+n;return typeof a<"u"&&(u+=" "+a),u}function e(t,n,a){let u="",s=0,c=!1,f=0;for(let I=0;I0&&g>0&&t[I-1]||(u+=c?r("M",g+a,.5+l+a):r("m",s,0),s=0,c=!1),g+1':"",l="',N='viewBox="0 0 '+I+" "+I+'"',_=''+g+l+` +`;return typeof u=="function"&&u(null,_),_},Ct}var ne;function Oe(){if(ne)return k;ne=1;const o=Ne(),i=je(),r=xe(),e=Ke();function t(n,a,u,s,c){const f=[].slice.call(arguments,1),I=f.length,g=typeof f[I-1]=="function";if(!g&&!o())throw new Error("Callback required as last argument");if(g){if(I<2)throw new Error("Too few arguments provided");I===2?(c=u,u=a,a=s=void 0):I===3&&(a.getContext&&typeof c>"u"?(c=s,s=void 0):(c=s,s=u,u=a,a=void 0))}else{if(I<1)throw new Error("Too few arguments provided");return I===1?(u=a,a=s=void 0):I===2&&!a.getContext&&(s=u,u=a,a=void 0),new Promise(function(l,N){try{const R=i.create(u,s);l(n(R,a,s))}catch(R){N(R)}})}try{const l=i.create(u,s);c(null,n(l,a,s))}catch(l){c(l)}}return k.create=i.create,k.toCanvas=t.bind(null,r.render),k.toDataURL=t.bind(null,r.renderToDataURL),k.toString=t.bind(null,function(n,a,u){return e.render(n,u)}),k}var Je=Oe();const We=de(Je);var $e=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Qe=(o,i,r,e)=>{for(var t=e>1?void 0:e?Ye(i,r):i,n=o.length-1,a;n>=0;n--)(a=o[n])&&(t=(e?a(i,r,t):a(t))||t);return e&&t&&$e(i,r,t),t};let pt=class extends he{constructor(){super(...arguments);H(this,"$notify");H(this,"activeDid","");H(this,"allMyDids",[]);H(this,"apiServer","");H(this,"claimId","");H(this,"claimData",null);H(this,"serverUtil",Ie)}async created(){const r=await ge();this.activeDid=r.activeDid||"",this.apiServer=r.apiServer||"";const e=window.location.pathname.substring(12);this.claimId=e,await this.fetchClaim()}async fetchClaim(){try{const r=await Rt(this.activeDid),e=await this.axios.get(`${this.apiServer}/api/claim/${this.claimId}`,{headers:r});if(e.status===200){this.claimData=await e.data;const t=[this.claimId],n=await Rt(this.activeDid),a=await this.axios.post(`${this.apiServer}/api/v2/report/confirmers/?claimEntryIds=${this.claimId}`,{claimEntryIds:t},{headers:n});let u=[];a.status===200&&(u=await a.data.data),await me(),this.claimData&&this.drawCanvas(this.claimData,u)}else throw new Error(`Error fetching claim: ${e.statusText}`)}catch(r){console.error("Failed to load claim:",r),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem loading the claim."})}}async drawCanvas(r,e){await It.open();const t=await It.contacts.toArray(),n=this.$refs.claimCanvas;if(n){n.width=1100,n.height=850;const s=n.getContext("2d");if(s){const c=new Image;c.src="/img/background/cert-frame-2.jpg",c.onload=async()=>{var N,R,_;s.drawImage(c,0,0,1100,850),s.fillStyle="black",s.font="bold 20px Arial";const f=r.claimType==="GiveAction"?"Gift":r.claimType==="PlanAction"?"Project":this.serverUtil.capitalizeAndInsertSpacesBeforeCaps(r.claimType||""),I=s.measureText(f).width;if(s.fillText(f,(1100-I)/2,850*.33),r.claimType==="GiveAction"&&r.claim.agent){const d="Thanks To ";s.font="14px Arial";const S=s.measureText(d).width;s.fillText(d,(1100-S)/2,850*.37);const A=r.claim.agent.identifier||r.claim.agent,w=Pt(A,t);s.font="bold 20px Arial";const b=s.measureText(w).width;s.fillText(w,(1100-b)/2,850*.41)}const g=r.claim.name||r.claim.description;if(g){const d=g.length>50?g.substring(0,75)+"...":g;s.font="14px Arial";const S=s.measureText(d).width;s.fillText(d,(1100-S)/2,850*.495)}if((N=r.claim.object)!=null&&N.amountOfThisGood&&((R=r.claim.object)!=null&&R.unitCode)){const d=r.claim.object.amountOfThisGood,S=r.claim.object.unitCode,A=Se(S,d),w=s.measureText(A).width,b=g?850*.525:850*.495;s.font="14px Arial",s.fillText(A,(1100-w)/2,b)}if(console.log("claimData.issuer",r.issuer),r.issuer==null||Be(r.issuer)||r.issuer!==((_=r.claim.agent)==null?void 0:_.identifier)){s.font="14px Arial";let d=Pt(r.issuer,t);d.length>30&&(d=d.substring(0,30)+"...");const S="Issued by "+d;s.fillText(S,1100*.3,850*.6)}if(e.length>0){const d="Confirmed by "+e.length+(e.length===1?" person":" people");s.font="14px Arial",s.fillText(d,1100*.3,850*.63)}s.font="14px Arial",s.fillText(this.claimId,1100*.3,850*.7),s.fillText("via EndorserSearch.com",1100*.3,850*.73);const l=document.createElement("canvas");await We.toCanvas(l,we+"/claim/"+this.claimId,{width:150,color:{light:"#0000"}}),s.drawImage(l,1100*.6,850*.55)}}}}};pt=Qe([Ce],pt);const Ze={id:"Content"},Xe={class:"flex items-center justify-center h-screen"},tn={key:0},en={class:"w-full block mx-auto",ref:"claimCanvas"};function nn(o,i,r,e,t,n){const a=ye("router-link");return Nt(),Bt("section",Ze,[St("div",Xe,[o.claimData?(Nt(),Bt("div",tn,[Ae(a,{to:"/claim/"+this.claimId},{default:Ee(()=>[St("canvas",en,null,512)]),_:1},8,["to"])])):Te("",!0)])])}const cn=pe(pt,[["render",nn]]);export{cn as default}; diff --git a/dist-electron/assets/ClaimView-BUQRK2PH.css b/dist-electron/assets/ClaimView-BUQRK2PH.css new file mode 100644 index 0000000..4ba121a --- /dev/null +++ b/dist-electron/assets/ClaimView-BUQRK2PH.css @@ -0,0 +1 @@ +.tooltip{position:relative;display:inline-block;border-bottom:1px dotted black}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:#000;color:#fff;text-align:center;padding:5px 0;border-radius:6px;position:absolute;z-index:1}.tooltip:hover .tooltiptext,.tooltip:hover .tooltiptext-left{visibility:visible} diff --git a/dist-electron/assets/ClaimView-Cfn-VLjV.js b/dist-electron/assets/ClaimView-Cfn-VLjV.js new file mode 100644 index 0000000..6256744 --- /dev/null +++ b/dist-electron/assets/ClaimView-Cfn-VLjV.js @@ -0,0 +1 @@ +var Y=Object.defineProperty;var q=(e,i,l)=>i in e?Y(e,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[i]=l;var a=(e,i,l)=>q(e,typeof i!="symbol"?i+"":i,l);import{y as Q,d as M}from"./js-yaml-CxlQHuPU.js";import{R as x}from"./index-BH4jUAKp.js";import{V as J,f as W,e as Z,y as K,C as X,_ as ee,g as A,h as o,i as u,j as t,k as n,t as v,l as d,w as E,F as T,z as V,p as S,x as s}from"./index-BLqts8WY.js";import{u as ie}from"./index-CsfPLOYu.js";import{G as te}from"./GiftedDialog-CFmou4Be.js";import{Q as se}from"./QuickNav-DgCyvgDx.js";import{B,l as oe,s as le,e as re,h as ae,i as ne,g as G,j as de,k as me,m as fe,n as ue,p as he,q as ce,u as pe,v as ve}from"./index-MyY_xqVN.js";import"./concat-BK8PKeDS.js";import"./sort-Dh4GzQVc.js";var Ce=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,ge=(e,i,l,m)=>{for(var h=m>1?void 0:m?ye(i,l):i,g=e.length-1,C;g>=0;g--)(C=e[g])&&(h=(m?C(i,l,h):C(h))||h);return m&&h&&Ce(i,l,h),h};let L=class extends J{constructor(){super(...arguments);a(this,"$notify");a(this,"activeDid","");a(this,"allMyDids",[]);a(this,"allContacts",[]);a(this,"apiServer","");a(this,"canShare",!1);a(this,"confirmerIdList",[]);a(this,"confsVisibleErrorMessage","");a(this,"confsVisibleToIdList",[]);a(this,"detailsForGive",null);a(this,"detailsForOffer",null);a(this,"fullClaim",null);a(this,"fullClaimDump","");a(this,"fullClaimMessage","");a(this,"isEditedGlobalId",!1);a(this,"isRegistered",!1);a(this,"issuerName","");a(this,"numConfsNotVisible",0);a(this,"providersForGive",[]);a(this,"showIdCopy",!1);a(this,"showVeriClaimDump",!1);a(this,"veriClaim",B);a(this,"veriClaimDump","");a(this,"veriClaimDidsVisible",{});a(this,"windowLocation",window.location.href);a(this,"R",x);a(this,"yaml",Q);a(this,"libsUtil",oe);a(this,"serverUtil",le);a(this,"window",window)}resetThisValues(){this.confirmerIdList=[],this.confsVisibleErrorMessage="",this.confsVisibleToIdList=[],this.detailsForGive=null,this.detailsForOffer=null,this.fullClaim=null,this.fullClaimDump="",this.fullClaimMessage="",this.isEditedGlobalId=!1,this.numConfsNotVisible=0,this.providersForGive=[],this.veriClaim=B,this.veriClaimDump="",this.veriClaimDidsVisible={}}async created(){const l=await W();this.activeDid=l.activeDid||"",this.apiServer=l.apiServer||"",this.allContacts=await Z.contacts.toArray(),this.isRegistered=l.isRegistered||!1;try{this.allMyDids=await re()}catch(g){K("Error retrieving all account DIDs on home page:"+g,!0),this.$notify({group:"alert",type:"danger",title:"Error Loading Profile",text:"See the Help page for problems with your personal data."},-1)}const m=window.location.pathname.substring(7);let h;m?(h=decodeURIComponent(m),await this.loadClaim(h,this.activeDid)):this.$notify({group:"alert",type:"danger",title:"Error",text:"No claim ID was provided."},-1),this.canShare=!!navigator.share}capitalizeAndInsertSpacesBeforeCaps(l){return l?l[0].toUpperCase()+l.substr(1).replace(/([A-Z])/g," $1"):""}totalConfirmers(){return this.numConfsNotVisible+this.confirmerIdList.length+this.confsVisibleToIdList.length}didInfo(l){return ae(l,this.activeDid,this.allMyDids,this.allContacts)}async loadClaim(l,m){var f;const h=ne(l)?"/api/claim/byHandle/":"/api/claim/",g=this.apiServer+h+encodeURIComponent(l),C=await G(m);try{const c=await this.axios.get(g,{headers:C});if(c.status===200)this.veriClaim=c.data,this.issuerName=this.didInfo(this.veriClaim.issuer),this.veriClaimDump=M(this.veriClaim),this.veriClaimDidsVisible=de(this.veriClaim,!0);else{console.error("Error getting claim:",c),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem retrieving that claim."},-1);return}if(this.isEditedGlobalId=!this.veriClaim.handleId.endsWith(l),this.veriClaim.claimType==="GiveAction"){const k=this.apiServer+"/api/v2/report/gives?handleId="+encodeURIComponent(this.veriClaim.handleId),I=await G(m),y=await this.axios.get(k,{headers:I});y.status===200&&((f=y.data.data)==null?void 0:f.length)>0?this.detailsForGive=y.data.data[0]:console.error("Error getting detailed give info:",y);const $=this.apiServer+"/api/v2/report/providersToGive?handleId="+encodeURIComponent(this.veriClaim.handleId),U=await G(m),D=await this.axios.get($,{headers:U});D.status===200&&Array.isArray(D.data.data)?this.providersForGive=D.data.data:(console.error("Error getting give providers:",y),this.$notify({group:"alert",type:"warning",title:"Error",text:"Got error retrieving linked provider data."},-1))}else if(this.veriClaim.claimType==="Offer"){const k=this.apiServer+"/api/v2/report/offers?handleId="+encodeURIComponent(this.veriClaim.handleId),I=await G(m),y=await this.axios.get(k,{headers:I});y.status===200?this.detailsForOffer=y.data.data[0]:(console.error("Error getting detailed offer info:",y),this.$notify({group:"alert",type:"warning",title:"Error",text:"Got error retrieving linked offer data."},-1))}const p=await me(this.apiServer,l,this.veriClaim.issuer,m);p?(this.confirmerIdList=p.confirmerIdList,this.confsVisibleToIdList=p.confsVisibleToIdList,this.numConfsNotVisible=p.numConfsNotVisible):this.confsVisibleErrorMessage="Had problems retrieving confirmations."}catch(c){console.error("Error retrieving claim:",c),this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving claim data."},3e3)}}async showFullClaim(l){var g;const m=this.apiServer+"/api/claim/full/"+encodeURIComponent(l),h=await G(this.activeDid);try{const C=await this.axios.get(m,{headers:h});C.status===200?(this.fullClaim=C.data,this.fullClaimDump=M(this.fullClaim)):(console.error("Error getting full claim:",C),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem getting that claim."},-1))}catch(C){if(console.error("Error retrieving full claim:",C),((g=C.response)==null?void 0:g.status)===403){let c="";const p=fe(this.veriClaim.issuer,this.allContacts);p!=null&&p.name&&(c+="Ask "+p.name+" to show you the full claim details."),(this.confirmerIdList.length>0||this.confsVisibleToIdList.length>0)&&(p!=null&&p.name?c+="You could also ask someone in the Confirmations section to make an introduction.":c+="Ask someone in the Confirmations section to make an introduction."),this.fullClaimMessage="You are not authorized to view the full contents of this claim."+c+" You might ask someone in your network -- like the person who registered you -- if they can find out more and make an introduction: send them this page and see if they can make a connection for you."}else this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving that claim."},-1)}}confirmConfirmClaim(){this.$notify({group:"modal",type:"confirm",title:"Confirm",text:"Do you personally confirm that this is true?",onYes:async()=>{await this.confirmClaim()}},-1)}async confirmClaim(){const m={"@context":"https://schema.org","@type":"AgreeAction",object:ue(he(ce(this.veriClaim.claim,this.veriClaim.id,this.veriClaim.handleId)))},h=await pe(m,this.activeDid,this.apiServer,this.axios);h.type==="success"?this.$notify({group:"alert",type:"success",title:"Success",text:"Confirmation submitted."},5e3):(console.error("Got error submitting the confirmation:",h),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem submitting the confirmation."},-1))}showDifferentClaimPage(l){const m={path:"/claim/"+encodeURIComponent(l)};this.$router.push(m).then(async()=>{this.resetThisValues(),await this.loadClaim(l,this.activeDid)})}openFulfillGiftDialog(){const l={did:ve(this.veriClaim)};this.$refs.customGiveDialog.open(l,void 0,this.veriClaim.handleId,"Offer fulfilled by "+((l==null?void 0:l.name)||"someone not named"))}copyToClipboard(l,m){ie().copy(m).then(()=>{this.$notify({group:"alert",type:"toast",title:"Copied",text:(l||"That")+" was copied to the clipboard."},2e3)})}onClickShareClaim(){window.navigator.share({title:"Help Connect Me",text:"I'm trying to find the full details of this claim. Can you help me?",url:this.windowLocation})}onClickEditClaim(){if(this.veriClaim.claimType==="GiveAction"){const l={name:"gifted-details",query:{prevCredToEdit:JSON.stringify(this.veriClaim),destinationPathAfter:"/claim/"+encodeURIComponent(this.veriClaim.handleId)}};this.$router.push(l)}else if(this.veriClaim.claimType==="Offer"){const l={name:"offer-details",query:{prevCredToEdit:JSON.stringify(this.veriClaim),destinationPathAfter:"/claim/"+encodeURIComponent(this.veriClaim.handleId)}};this.$router.push(l)}else if(this.veriClaim.claimType==="PlanAction"){const l={name:"new-edit-project",query:{projectId:this.veriClaim.handleId}};this.$router.push(l)}else console.error("Unrecognized claim type for edit:",this.veriClaim.claimType),this.$notify({group:"alert",type:"danger",title:"Error",text:"This is an unrecognized claim type."},3e3)}};L=ge([X({components:{GiftedDialog:te,QuickNav:se}})],L);const be={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},we={id:"ViewBreadcrumb",class:"mb-8"},ke={class:"text-lg text-center font-light relative px-7"},Ie={class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mb-4 w-full"},De={class:"block flex gap-4 overflow-hidden w-full"},Te={class:"w-full"},Ee={class:"flex columns-3"},Ve={class:"text-md font-bold w-full"},Ge={class:"flex justify-center w-full"},$e={class:"flex justify-end w-full"},Ue={class:"text-sm"},Ae={"data-testId":"description"},Se={key:0,class:"flex justify-center"},Le=["href"],Fe=["src"],Re={key:1,class:"mt-4"},Oe={key:2,class:"mt-4"},Ne={key:3},Pe={key:4},He={key:5,class:"mt-4"},_e={class:"ml-4"},je={class:"flex gap-4"},Me={class:"grow overflow-hidden"},Be=["onClick"],ze={class:"mt-2"},Ye={class:"mt-8"},qe={key:0},Qe={class:"flex columns-3"},xe={key:1,class:"font-bold uppercase text-xl mt-2"},Je={class:"mt-0.5 px-4 py-2"},We={class:"mt-2"},Ze={key:0},Ke={key:1},Xe={key:2},ei={key:0},ii={key:0},ti={key:1},si={key:2},oi={class:"ml-4"},li={class:"flex gap-4"},ri={class:"grow overflow-hidden"},ai={class:"text-sm"},ni={key:0},di=["onClick"],mi={key:3},fi={class:"ml-4"},ui={class:"flex gap-4"},hi={class:"grow overflow-hidden"},ci={class:"text-sm"},pi={key:0},vi=["onClick"],Ci={key:1},yi={key:2},gi={key:3},bi={key:0,class:"mb-2"},wi={key:0},ki={key:1},Ii={key:1},Di={key:0},Ti={key:1},Ei={class:"text-sm"},Vi={class:"ml-12 p-1"},Gi={class:"text-sm mt-2"},$i={key:0},Ui=["onClick"],Ai={key:1},Si=["href"],Li={key:2,class:"mt-2"},Fi={key:3,class:"text-sm overflow-x-scroll bg-slate-100 px-4 py-3 rounded-md"},Ri={key:1},Oi={key:0,class:"mb-4"},Ni={key:2},Pi={class:"text-sm overflow-x-scroll bg-slate-100 px-4 py-3 rounded-md"},Hi=["href"];function _i(e,i,l,m,h,g){var k,I,y,$,U,D,F,R,O,N,P,H;const C=A("QuickNav"),f=A("fa"),c=A("router-link"),p=A("GiftedDialog");return s(),o(T,null,[u(C),t("section",be,[t("div",we,[t("h1",ke,[t("button",{onClick:i[0]||(i[0]=r=>e.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[u(f,{icon:"chevron-left",class:"fa-fw"})]),i[12]||(i[12]=n(" Verifiable Claim Details "))])]),t("div",Ie,[t("div",De,[t("div",Te,[t("div",Ee,[t("h2",Ve,[n(v(e.capitalizeAndInsertSpacesBeforeCaps(e.veriClaim.claimType))+" ",1),["GiveAction","Offer","PlanAction"].includes(e.veriClaim.claimType)&&e.veriClaim.issuer===e.activeDid?(s(),o("button",{key:0,onClick:i[1]||(i[1]=(...r)=>e.onClickEditClaim&&e.onClickEditClaim(...r)),title:"Edit","data-testId":"editClaimButton"},[u(f,{icon:"pen",class:"text-sm text-blue-500 ml-2 mb-1"})])):d("",!0)]),t("div",Ge,[u(c,{to:"/claim-cert/"+encodeURIComponent(e.veriClaim.id),class:"text-blue-500 mt-2",title:"Printable Certificate"},{default:E(()=>[u(f,{icon:"square",class:"text-white bg-yellow-500 p-1"})]),_:1},8,["to"])]),t("div",$e,[t("button",{title:"Copy Link",onClick:i[2]||(i[2]=r=>e.copyToClipboard("Current page link",e.window.location.href))},[u(f,{icon:"link",class:"text-slate-500"})])])]),t("div",Ue,[t("div",Ae,[u(f,{icon:"message",class:"fa-fw text-slate-400"}),n(" "+v(((I=(k=e.veriClaim.claim)==null?void 0:k.itemOffered)==null?void 0:I.description)||((y=e.veriClaim.claim)==null?void 0:y.description)),1)]),t("div",null,[u(f,{icon:"user",class:"fa-fw text-slate-400"}),n(" "+v(e.didInfo(e.veriClaim.issuer)),1)]),t("div",null,[u(f,{icon:"calendar",class:"fa-fw text-slate-400"}),n(" "+v(($=e.veriClaim.issuedAt)==null?void 0:$.replace(/T/," ").replace(/Z/," UTC")),1)]),e.veriClaim.claim.image?(s(),o("div",Se,[t("a",{href:e.veriClaim.claim.image,target:"_blank"},[t("img",{src:e.veriClaim.claim.image,class:"h-24 rounded-xl"},null,8,Fe)],8,Le)])):d("",!0),e.veriClaim.claimType==="PlanAction"?(s(),o("div",Re,[u(c,{to:"/project/"+encodeURIComponent(e.veriClaim.handleId),class:"text-blue-500 mt-2"},{default:E(()=>i[13]||(i[13]=[n(" Go to Project page ")])),_:1},8,["to"])])):d("",!0),(U=e.detailsForGive)!=null&&U.fulfillsPlanHandleId?(s(),o("div",Oe,[u(c,{to:"/project/"+encodeURIComponent((D=e.detailsForGive)==null?void 0:D.fulfillsPlanHandleId),class:"text-blue-500 mt-2"},{default:E(()=>i[14]||(i[14]=[n(" Fulfills a bigger plan... ")])),_:1},8,["to"])])):d("",!0),(F=e.detailsForGive)!=null&&F.fulfillsType&&((R=e.detailsForGive)==null?void 0:R.fulfillsType)!=="PlanAction"&&((O=e.detailsForGive)!=null&&O.fulfillsHandleId)?(s(),o("div",Ne,[t("a",{onClick:i[3]||(i[3]=r=>{var w;return e.showDifferentClaimPage((w=e.detailsForGive)==null?void 0:w.fulfillsHandleId)}),class:"text-blue-500 mt-4 cursor-pointer"}," Fulfills "+v(e.capitalizeAndInsertSpacesBeforeCaps(e.detailsForGive.fulfillsType))+"... ",1)])):d("",!0),(N=e.detailsForOffer)!=null&&N.fulfillsPlanHandleId?(s(),o("div",Pe,[u(c,{to:"/project/"+encodeURIComponent((P=e.detailsForOffer)==null?void 0:P.fulfillsPlanHandleId),class:"text-blue-500 mt-4"},{default:E(()=>i[15]||(i[15]=[n(" Offered to a bigger plan... ")])),_:1},8,["to"])])):d("",!0),((H=e.providersForGive)==null?void 0:H.length)>0?(s(),o("div",He,[i[16]||(i[16]=t("span",null,"Other assistance provided by:",-1)),t("ul",_e,[(s(!0),o(T,null,V(e.providersForGive,r=>(s(),o("li",{key:r.identifier,class:"list-disc ml-4"},[t("div",je,[t("div",Me,[t("a",{onClick:w=>r.identifier.startsWith("did:")?this.$router.push("/did/"+encodeURIComponent(r.identifier)):e.showDifferentClaimPage(r.identifier),class:"text-blue-500 mt-4 cursor-pointer"}," an activity... ",8,Be)])])]))),128))])])):d("",!0)])])])]),t("div",ze,[u(f,{icon:"comment",class:"text-slate-400"}),n(" "+v(e.issuerName)+" posted that. ",1)]),t("div",Ye,[e.libsUtil.canFulfillOffer(e.veriClaim)?(s(),o("button",{key:0,onClick:i[4]||(i[4]=r=>e.openFulfillGiftDialog()),class:"col-span-1 block w-fit text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"},[i[17]||(i[17]=n(" Affirm Delivery ")),u(f,{icon:"hand-holding-heart",class:"ml-2 text-white cursor-pointer"})])):d("",!0)]),u(p,{ref:"customGiveDialog"},null,512),e.libsUtil.isGiveAction(e.veriClaim)?(s(),o("div",qe,[t("div",Qe,[e.libsUtil.isGiveRecordTheUserCanConfirm(e.isRegistered,e.veriClaim,e.activeDid,e.confirmerIdList)?(s(),o("button",{key:0,class:"col-span-1 bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-4 py-2 rounded-md",onClick:i[5]||(i[5]=r=>e.confirmConfirmClaim())},[i[18]||(i[18]=n(" Confirm ")),u(f,{icon:"circle-check",class:"ml-2 text-white cursor-pointer"})])):(s(),o("h2",xe,"Confirmations")),t("span",Je,[e.libsUtil.isGiveAction(e.veriClaim)?(s(),S(c,{key:0,to:"/confirm-gift/"+encodeURIComponent(e.veriClaim.id),class:"col-span-1 text-blue-500","data-testId":"confirmGiftLink"},{default:E(()=>i[19]||(i[19]=[n(" Details... ")])),_:1},8,["to"])):d("",!0)])]),t("div",We,[e.totalConfirmers()===0?(s(),o("span",Ze,"Nobody has confirmed this.")):e.totalConfirmers()===1?(s(),o("span",Ke," One person has confirmed this. ")):(s(),o("span",Xe,v(e.totalConfirmers())+" people have confirmed this. ",1))]),e.totalConfirmers()>0?(s(),o("div",ei,[e.confirmerIdList.length===0&&e.confsVisibleToIdList.length===0?(s(),o("div",ii," Nobody that you know confirmed this claim, nor do they have any confirmers in their network. ")):d("",!0),e.confirmerIdList.length===0&&e.confsVisibleToIdList.length>0?(s(),o("div",ti," Nobody that you know has issued or confirmed this claim. ")):d("",!0),e.confirmerIdList.length>0?(s(),o("div",si,[i[20]||(i[20]=n(" The following people have confirmed this claim. ")),t("ul",oi,[(s(!0),o(T,null,V(e.confirmerIdList,r=>(s(),o("li",{key:r,class:"list-disc ml-4"},[t("div",li,[t("div",ri,[t("div",ai,[n(v(e.didInfo(r))+" ",1),e.serverUtil.isEmptyOrHiddenDid(r)?d("",!0):(s(),o("span",ni,[t("button",{onClick:w=>e.copyToClipboard("The DID of "+r,r)},[u(f,{icon:"copy",class:"text-slate-400 fa-fw"})],8,di)]))])])])]))),128))])])):d("",!0),e.confsVisibleToIdList.length>0?(s(),o("div",mi,[i[21]||(i[21]=n(" The following people can connect you with people who have issued or confirmed this claim. ")),t("ul",fi,[(s(!0),o(T,null,V(e.confsVisibleToIdList,r=>(s(),o("li",{key:r,class:"list-disc ml-4"},[t("div",ui,[t("div",hi,[t("div",ci,[n(v(e.didInfo(r))+" ",1),e.serverUtil.isEmptyOrHiddenDid(r)?d("",!0):(s(),o("span",pi,[t("button",{onClick:w=>e.copyToClipboard("The DID of "+r,r)},[u(f,{icon:"copy",class:"text-slate-400 fa-fw"})],8,vi)]))])])])]))),128))])])):d("",!0)])):d("",!0),e.confirmerIdList.includes(e.activeDid)?(s(),o("div",Ci," You have confirmed this claim. ")):e.veriClaim.issuer==e.activeDid?(s(),o("div",yi," You cannot confirm this because you issued this claim, so you already count as confirming it. ")):e.serverUtil.containsHiddenDid(e.veriClaim.claim)?(s(),o("div",gi," You cannot confirm this because it contains hidden identifiers. ")):d("",!0)])):d("",!0),t("div",null,[i[32]||(i[32]=t("h2",{class:"font-bold uppercase text-xl mt-8 mb-2"},"Details",-1)),e.serverUtil.containsHiddenDid(e.veriClaim)&&e.R.isEmpty(e.veriClaimDidsVisible)?(s(),o("div",bi,[i[26]||(i[26]=n(' Some of the details are not visible to you; they show as "HIDDEN". They are not visible to any of your direct contacts, either. ')),e.canShare?(s(),o("span",wi,[i[22]||(i[22]=n(" If you'd like to ask any of your contacts to take a look and see if their contacts can see more details, ")),t("a",{onClick:i[6]||(i[6]=r=>e.onClickShareClaim()),class:"text-blue-500"},"click to send them this info"),i[23]||(i[23]=n(" and see if they are willing to make an introduction. They are surely connected to someone; if you don't know who to ask, you might try the person who registered you. "))])):(s(),o("span",ki,[i[24]||(i[24]=n(" If you'd like to ask any of your contacts to take a look and see if their contacts can see more details, ")),t("a",{onClick:i[7]||(i[7]=r=>e.copyToClipboard("A link to this page",e.windowLocation)),class:"text-blue-500"},"share this page with them"),i[25]||(i[25]=n(" and see if they are willing to make an introduction. "))]))])):d("",!0),e.R.isEmpty(e.veriClaimDidsVisible)?d("",!0):(s(),o("div",Ii,[i[30]||(i[30]=n(" Some of the details are not visible to you but they are visible to some of your contacts. ")),e.canShare?(s(),o("span",Di,[i[27]||(i[27]=n(" If you'd like an introduction, ")),t("a",{onClick:i[8]||(i[8]=r=>e.onClickShareClaim()),class:"text-blue-500"},"click to share the information with them and ask if they'll tell you more about the participants.")])):(s(),o("span",Ti,[i[28]||(i[28]=n(" If you'd like an introduction, ")),t("a",{onClick:i[9]||(i[9]=r=>e.copyToClipboard("A link to this page",e.windowLocation)),class:"text-blue-500"},"share this page with them and ask if they'll tell you more about about the participants.")])),(s(!0),o(T,null,V(Object.keys(e.veriClaimDidsVisible),(r,w)=>(s(),o("div",{key:w,class:"list-disc p-4"},[t("div",Ei,[u(f,{icon:"minus",class:"fa-fw"}),n(" The "+v(r)+" is visible to: ",1)]),t("div",Vi,[t("ul",null,[(s(!0),o(T,null,V(e.veriClaimDidsVisible[r],(b,z)=>{var _,j;return s(),o("li",{key:z,class:"list-disc"},[t("div",Gi,[t("span",null,[n(v(e.didInfo(b))+" ",1),e.serverUtil.isEmptyOrHiddenDid(b)?d("",!0):(s(),o("span",$i,[t("button",{onClick:ji=>e.copyToClipboard("The DID of "+b,b)},[u(f,{icon:"copy",class:"text-slate-400 fa-fw"})],8,Ui)])),(_=e.veriClaim.publicUrls)!=null&&_[b]?(s(),o("span",Ai,[i[29]||(i[29]=n(", found at ")),t("a",{href:(j=e.veriClaim.publicUrls)==null?void 0:j[b],class:"text-blue-500"},[u(f,{icon:"globe",class:"fa-fw text-slate-400"}),n(" "+v(e.veriClaim.publicUrls[b].substring(e.veriClaim.publicUrls[b].indexOf("//")+2)),1)],8,Si)])):d("",!0)])])])}),128))])])]))),128))])),e.isEditedGlobalId?(s(),o("span",Li," This record is an edited version. The latest version is here. ")):d("",!0),i[33]||(i[33]=t("br",null,null,-1)),t("button",{onClick:i[10]||(i[10]=r=>e.showVeriClaimDump=!e.showVeriClaimDump),class:"ml-2"},[i[31]||(i[31]=n(" Details ")),e.showVeriClaimDump?(s(),S(f,{key:0,icon:"chevron-up",class:"text-blue-400"})):(s(),S(f,{key:1,icon:"chevron-down",class:"text-blue-400"}))]),e.showVeriClaimDump?(s(),o("pre",Fi,v(e.veriClaimDump),1)):d("",!0)]),i[34]||(i[34]=t("h2",{class:"text-xl mt-8 mb-2"},"Full Claim",-1)),i[35]||(i[35]=t("p",{class:"mb-4"}," The full claim includes the claim as it was originally issued, including the signature (ie. the proof of issuance by that person). ",-1)),e.fullClaim?(s(),o("div",Ni,[t("pre",Pi,v(e.fullClaimDump),1)])):(s(),o("div",Ri,[e.fullClaimMessage?(s(),o("p",Oi,v(e.fullClaimMessage),1)):(s(),o("button",{key:1,class:"block w-full text-center text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-2",onClick:i[11]||(i[11]=r=>e.showFullClaim(e.veriClaim.id))}," Load Full Claim Details "))])),t("a",{href:e.apiServer+"/api/claim/"+e.veriClaim.id,target:"_blank",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-2"}," View on the Public Server ",8,Hi)])],64)}const Xi=ee(L,[["render",_i]]);export{Xi as default}; diff --git a/dist-electron/assets/ConfirmContactView-Bu5eW1VH.js b/dist-electron/assets/ConfirmContactView-Bu5eW1VH.js new file mode 100644 index 0000000..11d7f87 --- /dev/null +++ b/dist-electron/assets/ConfirmContactView-Bu5eW1VH.js @@ -0,0 +1 @@ +import{V as m,C as x,_ as u,g as c,h as f,j as d,i,w as _,k as b,H as v,x as w}from"./index-BLqts8WY.js";var g=Object.defineProperty,C=Object.getOwnPropertyDescriptor,h=(n,t,a,o)=>{for(var e=o>1?void 0:o?C(t,a):t,l=n.length-1,s;l>=0;l--)(s=n[l])&&(e=(o?s(t,a,e):s(e))||e);return o&&e&&g(t,a,e),e};let r=class extends m{};r=h([x({components:{}})],r);const V={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},k={id:"ViewBreadcrumb",class:"mb-8"},y={class:"text-lg text-center font-light relative px-7"};function $(n,t,a,o,e,l){const s=c("fa"),p=c("router-link");return w(),f("section",V,[d("div",k,[d("h1",y,[i(p,{to:{name:"account"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:_(()=>[i(s,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[0]||(t[0]=b(" Confirm Contact "))])]),t[1]||(t[1]=v('

Would you like to add Firstname to your network?

Firstname Lastname

ID
did:peer:kl45kj41lk451kl3
',3))])}const N=u(r,[["render",$]]);export{N as default}; diff --git a/dist-electron/assets/ConfirmGiftView-CeT6C-iT.js b/dist-electron/assets/ConfirmGiftView-CeT6C-iT.js new file mode 100644 index 0000000..ceb8e2f --- /dev/null +++ b/dist-electron/assets/ConfirmGiftView-CeT6C-iT.js @@ -0,0 +1 @@ +var F=Object.defineProperty;var P=(e,i,n)=>i in e?F(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n;var r=(e,i,n)=>P(e,typeof i!="symbol"?i+"":i,n);import{y as O,d as _}from"./js-yaml-CxlQHuPU.js";import{R as B}from"./index-BH4jUAKp.js";import{V as M,f as j,e as Y,C as W,_ as z,g as k,h as t,i as d,j as o,k as a,t as u,l as h,w as A,F as w,z as I,x as s}from"./index-BLqts8WY.js";import{u as Q}from"./index-CsfPLOYu.js";import{Q as q}from"./QuickNav-DgCyvgDx.js";import{B as E,l as K,s as Z,e as J,h as X,i as x,g as G,j as ee,k as ie,n as te,p as se,q as oe,u as ne,C as ae,E as re,F as le,A as de}from"./index-MyY_xqVN.js";import{T as me}from"./TopMessage-BE0GBIgW.js";import"./concat-BK8PKeDS.js";import"./sort-Dh4GzQVc.js";var he=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,ue=(e,i,n,f)=>{for(var c=f>1?void 0:f?fe(i,n):i,v=e.length-1,p;v>=0;v--)(p=e[v])&&(c=(f?p(i,n,c):p(c))||c);return f&&c&&he(i,n,c),c};let T=class extends M{constructor(){super(...arguments);r(this,"$notify");r(this,"activeDid","");r(this,"allMyDids",[]);r(this,"allContacts",[]);r(this,"apiServer","");r(this,"canShare",!1);r(this,"confirmerIdList",[]);r(this,"confsVisibleErrorMessage","");r(this,"confsVisibleToIdList",[]);r(this,"giveDetails");r(this,"giverName","");r(this,"issuerName","");r(this,"isLoading",!1);r(this,"isRegistered",!1);r(this,"numConfsNotVisible",0);r(this,"recipientName","");r(this,"showVeriClaimDump",!1);r(this,"urlForNewGive","");r(this,"veriClaim",E);r(this,"veriClaimDump","");r(this,"veriClaimDidsVisible",{});r(this,"windowLocation",window.location);r(this,"R",B);r(this,"yaml",O);r(this,"libsUtil",K);r(this,"serverUtil",Z)}resetThisValues(){this.confirmerIdList=[],this.confsVisibleErrorMessage="",this.confsVisibleToIdList=[],this.giveDetails=void 0,this.isRegistered=!1,this.numConfsNotVisible=0,this.urlForNewGive="",this.veriClaim=E,this.veriClaimDump=""}async mounted(){this.isLoading=!0;const i=await j();this.activeDid=i.activeDid||"",this.apiServer=i.apiServer||"",this.allContacts=await Y.contacts.toArray(),this.isRegistered=i.isRegistered||!1,this.allMyDids=await J();const n=window.location.pathname.substring(14);let f;n?(f=decodeURIComponent(n),await this.loadClaim(f,this.activeDid)):this.$notify({group:"alert",type:"danger",title:"Error",text:"No claim ID was provided."},3e3),this.canShare=!!navigator.share,this.isLoading=!1}capitalizeAndInsertSpacesBeforeCaps(i){return i?i[0].toUpperCase()+i.substr(1).replace(/([A-Z])/g," $1"):""}capitalizeAndInsertSpacesBeforeCapsWithAPrefix(i){const n=this.capitalizeAndInsertSpacesBeforeCaps(i);if(n){const f=n[0].toLowerCase();return(["a","e","i","o","u"].includes(f)?"an":"a")+" "+n}else return""}totalConfirmers(){return this.numConfsNotVisible+this.confirmerIdList.length+this.confsVisibleToIdList.length}didInfo(i){return X(i,this.activeDid,this.allMyDids,this.allContacts)}async loadClaim(i,n){var v;const f=x(i)?"/api/claim/byHandle/":"/api/claim/",c=this.apiServer+f+encodeURIComponent(i);try{const p=await G(n),C=await this.axios.get(c,{headers:p});if(C.status===200)this.veriClaim=C.data,this.veriClaimDump=_(this.veriClaim),this.veriClaimDidsVisible=ee(this.veriClaim,!0);else{console.error("Error getting claim:",C),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem retrieving that claim."},3e3);return}if(this.veriClaim.claimType!=="GiveAction")return;this.issuerName=this.didInfo(this.veriClaim.issuer);const m=this.apiServer+"/api/v2/report/gives?handleId="+encodeURIComponent(this.veriClaim.handleId),D=await G(n),b=await this.axios.get(m,{headers:D});if(b.status===200)this.giveDetails=b.data.data[0];else{console.error("Error getting detailed give info:",b),this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving gift data."},3e3);return}if(!this.giveDetails)return;this.urlForNewGive="/gifted-details?",this.giveDetails.amount&&(this.urlForNewGive+="&amountInput="+encodeURIComponent(String(this.giveDetails.amount))),this.giveDetails.unit&&(this.urlForNewGive+="&unitCode="+encodeURIComponent(this.giveDetails.unit)),this.giveDetails.description&&(this.urlForNewGive+="&description="+encodeURIComponent(this.giveDetails.description)),this.giverName=this.didInfo(this.giveDetails.agentDid),this.giveDetails.agentDid&&(this.urlForNewGive+="&giverDid="+encodeURIComponent(this.giveDetails.agentDid)+"&giverName="+encodeURIComponent(this.giverName)),this.recipientName=this.didInfo(this.giveDetails.recipientDid),this.giveDetails.recipientDid&&(this.urlForNewGive+="&recipientDid="+encodeURIComponent(this.giveDetails.recipientDid)+"&recipientName="+encodeURIComponent(this.recipientName)),this.giveDetails.fullClaim.image&&(this.urlForNewGive+="&image="+encodeURIComponent(this.giveDetails.fullClaim.image)),this.giveDetails.type=="Offer"&&this.giveDetails.fulfillsHandleId&&(this.urlForNewGive+="&offerId="+encodeURIComponent((v=this.giveDetails)==null?void 0:v.fulfillsHandleId)),this.giveDetails.fulfillsPlanHandleId&&(this.urlForNewGive+="&fulfillsProjectId="+encodeURIComponent(this.giveDetails.fulfillsPlanHandleId));const y=await ie(this.apiServer,i,this.veriClaim.issuer,n);y?(this.confirmerIdList=y.confirmerIdList,this.confsVisibleToIdList=y.confsVisibleToIdList,this.numConfsNotVisible=y.numConfsNotVisible):this.confsVisibleErrorMessage="Had problems retrieving confirmations."}catch(p){console.error("Error retrieving claim:",p),this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving claim data."},3e3)}}confirmConfirmClaim(){this.$notify({group:"modal",type:"confirm",title:"Confirm",text:"Do you personally confirm that this is true?",onYes:async()=>{await this.confirmClaim()}},-1)}async confirmClaim(){const n={"@context":"https://schema.org","@type":"AgreeAction",object:te(se(oe(this.veriClaim.claim,this.veriClaim.id,this.veriClaim.handleId)))},f=await ne(n,this.activeDid,this.apiServer,this.axios);f.type==="success"?this.$notify({group:"alert",type:"success",title:"Success",text:"Confirmation submitted."},3e3):(console.error("Got error submitting the confirmation:",f),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem submitting the confirmation."},5e3))}showClaimPage(i){const n={path:"/claim/"+encodeURIComponent(i)};this.$router.push(n).then(async()=>{this.resetThisValues(),await this.loadClaim(i,this.activeDid)})}copyToClipboard(i,n){Q().copy(n).then(()=>{this.$notify({group:"alert",type:"toast",title:"Copied",text:(i||"That")+" was copied to the clipboard."},2e3)})}notifyWhyCannotConfirm(){ae(this.$notify,this.isRegistered,this.veriClaim.claimType,this.giveDetails,this.activeDid,this.confirmerIdList)}notifyWhyCannotConfirmBak(){var i,n;this.isRegistered?re(this.veriClaim)?this.confirmerIdList.includes(this.activeDid)?this.$notify({group:"alert",type:"info",title:"Already Confirmed",text:"You already confirmed this claim."},3e3):((i=this.giveDetails)==null?void 0:i.issuerDid)==this.activeDid?this.$notify({group:"alert",type:"info",title:"Cannot Confirm",text:"You cannot confirm this because you issued this claim."},3e3):le((n=this.giveDetails)==null?void 0:n.fullClaim)?this.$notify({group:"alert",type:"info",title:"Cannot Confirm",text:"You cannot confirm this because some people are hidden."},3e3):this.$notify({group:"alert",type:"info",title:"Cannot Confirm",text:"You cannot confirm this claim. There are no other details, but we can help more if you contact us and send us screenshots."},3e3):this.$notify({group:"alert",type:"info",title:"Not A Give",text:"This is not a giving action to confirm."},3e3):this.$notify({group:"alert",type:"info",title:"Not Registered",text:"Someone needs to register you before you can contribute."},3e3)}onClickShareClaim(){window.navigator.share({title:"Help Connect Me",text:"I'm trying to find the full details of this claim. Can you help me?",url:this.windowLocation.href})}};T=ue([W({methods:{displayAmount:de},components:{TopMessage:me,QuickNav:q}})],T);const ce={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},pe={id:"ViewBreadcrumb",class:"mb-8"},ve={class:"text-lg text-center font-light relative px-7"},ge={key:0},ye={key:1},Ce={key:0},be={class:"flex justify-center"},we={class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mt-4"},De={class:"flex gap-4 overflow-hidden"},ke={class:"overflow-hidden"},Ie={class:"text-sm"},Ne={key:0},Te={key:1},Re={key:2,class:"mt-2"},Le={key:3},Ve={class:"mt-2"},Ue={key:0,class:"mt-4"},$e={key:0},Se={key:1},Ae={key:2},Ee={key:3},Ge={key:0},He={key:1},Fe={key:2},Pe={class:"ml-4"},Oe={class:"flex gap-4"},_e={class:"grow overflow-hidden"},Be={class:"text-sm"},Me={key:0},je=["onClick"],Ye={key:3},We={class:"ml-4"},ze={class:"flex gap-4"},Qe={class:"grow overflow-hidden"},qe={class:"text-sm"},Ke={key:0},Ze=["onClick"],Je={key:4},Xe={key:5},xe={key:6},ei={key:0},ii={key:1},ti={key:1},si={key:0,class:"mb-2"},oi={key:0},ni={key:1},ai={key:1},ri={key:0},li={key:1},di={class:"text-sm"},mi={class:"ml-12 p-1"},hi={class:"text-sm mt-2"},fi={key:0},ui=["onClick"],ci={key:1},pi=["href"],vi={class:"text-sm overflow-x-scroll px-4 py-3 bg-slate-100 rounded-md"},gi={class:"mt-2 ml-2"},yi={class:"mt-2 ml-2"},Ci=["href"],bi={key:1},wi={key:2,class:"fixed left-6 bottom-24 text-center text-4xl leading-none bg-slate-400 text-white w-14 py-2.5 rounded-full"};function Di(e,i,n,f,c,v){var b,y,R,L,V,U;const p=k("QuickNav"),C=k("TopMessage"),m=k("fa"),D=k("router-link");return s(),t(w,null,[d(p),d(C),o("section",ce,[o("div",pe,[o("h1",ve,[o("button",{onClick:i[0]||(i[0]=l=>e.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[d(m,{icon:"chevron-left",class:"fa-fw"})]),e.libsUtil.isGiveRecordTheUserCanConfirm(e.isRegistered,e.veriClaim,e.activeDid,e.confirmerIdList)?(s(),t("span",ge," Do you agree? ")):(s(),t("span",ye," Confirmation Details "))])]),e.giveDetails&&!e.isLoading?(s(),t("div",Ce,[o("div",be,[e.libsUtil.isGiveRecordTheUserCanConfirm(e.isRegistered,e.veriClaim,e.activeDid,e.confirmerIdList)?(s(),t("button",{key:0,class:"col-span-1 bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md",onClick:i[1]||(i[1]=l=>e.confirmConfirmClaim())},[i[9]||(i[9]=a(" Confirm ")),d(m,{icon:"circle-check",class:"ml-2 text-white cursor-pointer"})])):(s(),t("button",{key:1,onClick:i[2]||(i[2]=l=>e.notifyWhyCannotConfirm()),class:"col-span-1 bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md"},[i[10]||(i[10]=a(" Confirm ")),d(m,{icon:"circle-check",class:"ml-2 text-white cursor-pointer"})]))]),o("div",we,[o("div",De,[o("div",ke,[o("div",Ie,[o("div",null,[d(m,{icon:"arrow-left",class:"fa-fw text-slate-400"}),a(" "+u(e.giverName),1)]),i[12]||(i[12]=o("div",{class:"ml-6"},"gave",-1)),e.giveDetails.amount?(s(),t("div",Ne,[d(m,{icon:"hand-holding-dollar",class:"fa-fw text-slate-400"}),a(" "+u(e.displayAmount(e.giveDetails.unit,e.giveDetails.amount)),1)])):h("",!0),e.giveDetails.description?(s(),t("div",Te,[d(m,{icon:"message",class:"fa-fw text-slate-400"}),a(" "+u(e.giveDetails.amount?"and:":"")+" "+u(e.giveDetails.description),1)])):h("",!0),i[13]||(i[13]=o("div",{class:"ml-6"},"to",-1)),o("div",null,[d(m,{icon:"arrow-right",class:"fa-fw text-slate-400"}),a(" "+u(e.recipientName),1)]),o("div",null,[d(m,{icon:"calendar",class:"fa-fw text-slate-400"}),a(" on "+u(e.giveDetails.issuedAt.substring(0,10)),1)]),(b=e.giveDetails)!=null&&b.fulfillsPlanHandleId?(s(),t("div",Re,[d(D,{to:"/project/"+encodeURIComponent(((y=e.giveDetails)==null?void 0:y.fulfillsPlanHandleId)||""),class:"text-blue-500 mt-2 cursor-pointer",target:"_blank"},{default:A(()=>[i[11]||(i[11]=a(" This fulfills a bigger plan ")),d(m,{icon:"arrow-up-right-from-square",class:"fa-fw"})]),_:1},8,["to"])])):h("",!0),(R=e.giveDetails)!=null&&R.fulfillsType&&((L=e.giveDetails)==null?void 0:L.fulfillsType)!=="PlanAction"&&((V=e.giveDetails)!=null&&V.fulfillsHandleId)?(s(),t("div",Le,[d(D,{to:"/claim/"+encodeURIComponent(((U=e.giveDetails)==null?void 0:U.fulfillsHandleId)||""),class:"text-blue-500 mt-2 cursor-pointer",target:"_blank"},{default:A(()=>{var l;return[a(" This fulfills "+u(e.capitalizeAndInsertSpacesBeforeCapsWithAPrefix(((l=e.giveDetails)==null?void 0:l.fulfillsType)||""))+" ",1),d(m,{icon:"arrow-up-right-from-square",class:"fa-fw"})]}),_:1},8,["to"])])):h("",!0)])])])]),o("div",Ve,[d(m,{icon:"comment",class:"text-slate-400"}),a(" "+u(e.issuerName)+" posted that. ",1)]),e.libsUtil.isGiveAction(e.veriClaim)?(s(),t("div",Ue,[i[16]||(i[16]=o("h2",{class:"font-bold uppercase text-xl mt-8 mb-2"},"Confirmations",-1)),e.totalConfirmers()===0?(s(),t("span",$e,"Nobody has confirmed this.")):e.totalConfirmers()===1?(s(),t("span",Se," One person confirmed this. ")):(s(),t("span",Ae,u(e.totalConfirmers())+" people confirmed this. ",1)),e.totalConfirmers()>0?(s(),t("div",Ee,[e.confirmerIdList.length===0&&e.confsVisibleToIdList.length===0?(s(),t("div",Ge," Nobody that you know confirmed this claim, nor do they have any confirmers in their network. ")):h("",!0),e.confirmerIdList.length===0&&e.confsVisibleToIdList.length>0?(s(),t("div",He," Nobody that you know issued or confirmed this claim. ")):h("",!0),e.confirmerIdList.length>0?(s(),t("div",Fe,[i[14]||(i[14]=a(" The following people confirmed this claim. ")),o("ul",Pe,[(s(!0),t(w,null,I(e.confirmerIdList,l=>(s(),t("li",{key:l,class:"list-disc ml-4"},[o("div",Oe,[o("div",_e,[o("div",Be,[a(u(e.didInfo(l))+" ",1),e.serverUtil.isEmptyOrHiddenDid(l)?h("",!0):(s(),t("span",Me,[o("button",{onClick:N=>e.copyToClipboard("The DID of "+l,l)},[d(m,{icon:"copy",class:"text-slate-400 fa-fw"})],8,je)]))])])])]))),128))])])):h("",!0),e.confsVisibleToIdList.length>0?(s(),t("div",Ye,[i[15]||(i[15]=a(" The following people can connect you with people who issued or confirmed this claim. ")),o("ul",We,[(s(!0),t(w,null,I(e.confsVisibleToIdList,l=>(s(),t("li",{key:l,class:"list-disc ml-4"},[o("div",ze,[o("div",Qe,[o("div",qe,[a(u(e.didInfo(l))+" ",1),e.serverUtil.isEmptyOrHiddenDid(l)?h("",!0):(s(),t("span",Ke,[o("button",{onClick:N=>e.copyToClipboard("The DID of "+l,l)},[d(m,{icon:"copy",class:"text-slate-400 fa-fw"})],8,Ze)]))])])])]))),128))])])):h("",!0)])):h("",!0),e.isRegistered?e.giveDetails.issuerDid==e.activeDid?(s(),t("div",Xe," You cannot confirm this because you issued this claim, so you already count as confirming it. ")):e.serverUtil.containsHiddenDid(e.veriClaim.claim)?(s(),t("div",xe," You cannot confirm this because some people are hidden. ")):h("",!0):(s(),t("div",Je," You cannot confirm this because you are not registered. Find someone to register you, maybe on the Help page. "))])):h("",!0),o("h2",{class:"font-bold uppercase text-xl text-blue-500 mt-8 mb-2 cursor-pointer",onClick:i[3]||(i[3]=l=>e.showVeriClaimDump=!e.showVeriClaimDump)},[i[17]||(i[17]=a(" Details ")),e.showVeriClaimDump?(s(),t("span",ii,[d(m,{icon:"chevron-up"})])):(s(),t("span",ei,[d(m,{icon:"chevron-down"})]))]),e.showVeriClaimDump?(s(),t("div",ti,[e.serverUtil.containsHiddenDid(e.veriClaim)&&e.R.isEmpty(e.veriClaimDidsVisible)?(s(),t("div",si,[i[22]||(i[22]=a(' Some of the details are not visible to you; they show as "HIDDEN". They are not visible to any of your direct contacts, either. ')),e.canShare?(s(),t("span",oi,[i[18]||(i[18]=a(" If you'd like to ask any of your contacts to take a look and see if their contacts can see more details, ")),o("a",{onClick:i[4]||(i[4]=l=>e.onClickShareClaim()),class:"text-blue-500"},"click to send them this info"),i[19]||(i[19]=a(" and see if they are willing to make an introduction. They are surely connected to someone; if you don't know who to ask, you might try the person who registered you. "))])):(s(),t("span",ni,[i[20]||(i[20]=a(" If you'd like to ask any of your contacts to take a look and see if their contacts can see more details, ")),o("a",{onClick:i[5]||(i[5]=l=>e.copyToClipboard("Location",e.windowLocation.href)),class:"text-blue-500"},"share this page with them"),i[21]||(i[21]=a(" and see if they are willing to make an introduction. "))]))])):h("",!0),e.R.isEmpty(e.veriClaimDidsVisible)?h("",!0):(s(),t("div",ai,[i[26]||(i[26]=a(" Some of the details are not visible to you but they are visible to some of your contacts. ")),e.canShare?(s(),t("span",ri,[i[23]||(i[23]=a(" If you'd like an introduction, ")),o("a",{onClick:i[6]||(i[6]=l=>e.onClickShareClaim()),class:"text-blue-500"},"click to share the information with them and ask if they'll tell you more about the participants.")])):(s(),t("span",li,[i[24]||(i[24]=a(" If you'd like an introduction, ")),o("a",{onClick:i[7]||(i[7]=l=>e.copyToClipboard("A link to this page",e.windowLocation.href)),class:"text-blue-500"},"share this page with them and ask if they'll tell you more about about the participants.")])),(s(!0),t(w,null,I(Object.keys(e.veriClaimDidsVisible),(l,N)=>(s(),t("div",{key:N,class:"list-disc p-4"},[o("div",di,[d(m,{icon:"minus",class:"fa-fw"}),a(" The "+u(l)+" is visible to: ",1)]),o("div",mi,[o("ul",null,[(s(!0),t(w,null,I(e.veriClaimDidsVisible[l],(g,H)=>{var $,S;return s(),t("li",{key:H,class:"list-disc"},[o("div",hi,[o("span",null,[a(u(e.didInfo(g))+" ",1),e.serverUtil.isEmptyOrHiddenDid(g)?h("",!0):(s(),t("span",fi,[o("button",{onClick:ki=>e.copyToClipboard("The DID of "+g,g)},[d(m,{icon:"copy",class:"text-slate-400 fa-fw"})],8,ui)])),($=e.veriClaim.publicUrls)!=null&&$[g]?(s(),t("span",ci,[i[25]||(i[25]=a(", found at ")),d(m,{icon:"globe",class:"fa-fw text-slate-400"}),o("a",{href:(S=e.veriClaim.publicUrls)==null?void 0:S[g],class:"text-blue-500"},u(e.veriClaim.publicUrls[g].substring(e.veriClaim.publicUrls[g].indexOf("//")+2)),9,pi)])):h("",!0)])])])}),128))])])]))),128))])),o("pre",vi,u(e.veriClaimDump),1),o("div",gi,[o("a",{onClick:i[8]||(i[8]=l=>e.showClaimPage(e.veriClaim.id)),class:"text-blue-500 cursor-pointer"},[d(m,{icon:"file-lines"}),i[27]||(i[27]=a(" See All Generic Info "))])]),o("div",yi,[e.isRegistered?(s(),t("a",{key:0,class:"text-blue-500 cursor-pointer",href:e.urlForNewGive},[d(m,{icon:"file-lines"}),i[28]||(i[28]=a(" Record a Give Similar to the Original "))],8,Ci)):h("",!0)])])):h("",!0)])):e.isLoading?h("",!0):(s(),t("div",bi,"This does not have details to confirm.")),e.isLoading?(s(),t("div",wi,[d(m,{icon:"spinner",class:"fa-spin-pulse"})])):h("",!0)])],64)}const Ei=z(T,[["render",Di]]);export{Ei as default}; diff --git a/dist-electron/assets/ContactAmountsView-CCKLhJR0.js b/dist-electron/assets/ContactAmountsView-CCKLhJR0.js new file mode 100644 index 0000000..6911ceb --- /dev/null +++ b/dist-electron/assets/ContactAmountsView-CCKLhJR0.js @@ -0,0 +1 @@ +var $=Object.defineProperty;var T=(a,t,s)=>t in a?$(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s;var v=(a,t,s)=>T(a,typeof t!="symbol"?t+"":t,s);import{V as E,e as N,f as O,C as V,_ as j,g as x,h as l,i as m,j as e,w as G,t as y,F as b,z as R,x as d,k as D,l as A}from"./index-BLqts8WY.js";import{Q as I}from"./QuickNav-DgCyvgDx.js";import{A as U,G as F,g as _,H as J,S,I as M}from"./index-MyY_xqVN.js";import{c as B}from"./concat-BK8PKeDS.js";import{s as H}from"./sort-Dh4GzQVc.js";import"./index-CsfPLOYu.js";var P=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,W=(a,t,s,i)=>{for(var n=i>1?void 0:i?Q(t,s):t,h=a.length-1,r;h>=0;h--)(r=a[h])&&(n=(i?r(t,s,n):r(n))||n);return i&&n&&P(t,s,n),n};let w=class extends E{constructor(){super(...arguments);v(this,"$notify");v(this,"activeDid","");v(this,"apiServer","");v(this,"contact",null);v(this,"giveRecords",[]);v(this,"numAccounts",0);v(this,"displayAmount",U)}async beforeCreate(){this.numAccounts=await F()}async created(){try{const t=this.$route.query.contactDid;this.contact=await N.contacts.get(t)||null;const s=await O();this.activeDid=(s==null?void 0:s.activeDid)||"",this.apiServer=(s==null?void 0:s.apiServer)||"",this.activeDid&&this.contact&&this.loadGives(this.activeDid,this.contact)}catch(t){console.error("Error retrieving settings or gives.",t),this.$notify({group:"alert",type:"danger",title:"Error",text:t.userMessage||"There was an error retrieving your settings or contacts or gives."},-1)}}async loadGives(t,s){try{let i=[];const n=this.apiServer+"/api/v2/report/gives?agentDid="+encodeURIComponent(this.activeDid)+"&recipientDid="+encodeURIComponent(s.did),h=await _(t),r=await this.axios.get(n,{headers:h});r.status===200?i=r.data.data:(console.error("Got bad response status & data of",r.status,r.data),this.$notify({group:"alert",type:"danger",title:"Error With Server",text:"Got an error retrieving your given time from the server."},-1));const c=this.apiServer+"/api/v2/report/gives?agentDid="+encodeURIComponent(s.did)+"&recipientDid="+encodeURIComponent(this.activeDid),g=await _(t),p=await this.axios.get(c,{headers:g});p.status===200?i=B(i,p.data.data):(console.error("Got bad response status & data of",p.status,p.data),this.$notify({group:"alert",type:"danger",title:"Error With Server",text:"Got an error retrieving your given time from the server."},-1));const o=H((u,f)=>new Date(f.issuedAt).getTime()-new Date(u.issuedAt).getTime(),i);this.giveRecords=o}catch(i){this.$notify({group:"alert",type:"danger",title:"Error With Server",text:i},-1)}}async confirm(t){var g,p;const s=J(t.fullClaim);t.fullClaim["@context"]==S&&delete s["@context"],s.identifier=t.handleId;const i={"@context":S,"@type":"AgreeAction",object:s},n=await M(this.activeDid,i),h=JSON.stringify({jwtEncoded:n}),r=this.apiServer+"/api/v2/claim",c=await _(this.activeDid);try{(g=(await this.axios.post(r,h,{headers:c})).data)!=null&&g.success&&(t.amountConfirmed=((p=s.object)==null?void 0:p.amountOfThisGood)||1)}catch(o){let u="There was an error.";const f=o;f?f.message?u=f.message:u=JSON.stringify(f.toJSON()):u=o,this.$notify({group:"alert",type:"danger",title:"Error With Server",text:u},-1)}}cannotConfirmMessage(){this.$notify({group:"alert",type:"danger",title:"Not Allowed",text:"Only the recipient can confirm final receipt."},-1)}};w=W([V({components:{QuickNav:I}})],w);const L={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},q={class:"mb-8"},z={id:"ViewBreadcrumb",class:"text-lg text-center font-light relative px-7"},X={id:"ViewHeading",class:"text-4xl text-center font-light pt-4"},K={class:"table-auto w-full border-t border-slate-300 text-sm sm:text-base text-center"},Y={class:"p-1 text-xs sm:text-sm text-left text-slate-500"},Z={class:"p-1"},tt={key:0},et={class:"font-bold"},st={key:0,title:"Confirmed"},ot=["onClick"],at={class:"italic text-xs sm:text-sm text-slate-500"},it={class:"p-1"},nt={key:0},rt={key:1},ct={class:"p-1"},lt={key:0},dt={class:"font-bold"},pt={key:0,title:"Confirmed"},ut={class:"italic text-xs sm:text-sm text-slate-500"};function ft(a,t,s,i,n,h){var p;const r=x("QuickNav"),c=x("fa"),g=x("router-link");return d(),l(b,null,[m(r,{selected:"Contacts"}),e("section",L,[e("div",q,[e("h1",z,[m(g,{to:{name:"contacts"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:G(()=>[m(c,{icon:"chevron-left",class:"fa-fw"})]),_:1})]),e("h1",X," Transferred with "+y((p=a.contact)==null?void 0:p.name),1)]),t[2]||(t[2]=e("div",{class:"flex justify-around"},[e("span"),e("span",{class:"justify-around"},"(Only 50 most recent)"),e("span")],-1)),t[3]||(t[3]=e("div",{class:"flex justify-around"},[e("span"),e("span",{class:"justify-around"}," (This does not include claims by them if they're not visible to you.) "),e("span")],-1)),e("table",K,[t[1]||(t[1]=e("thead",{class:"bg-slate-100"},[e("tr",{class:"border-b border-slate-300"},[e("th"),e("th",{class:"px-1 py-2"},"From Them"),e("th"),e("th",{class:"px-1 py-2"},"To Them")])],-1)),e("tbody",null,[(d(!0),l(b,null,R(a.giveRecords,o=>{var u,f,C;return d(),l("tr",{key:o.id,class:"border-b border-slate-300"},[e("td",Y,y(new Date(o.issuedAt).toLocaleString()),1),e("td",Z,[o.agentDid==((u=a.contact)==null?void 0:u.did)?(d(),l("span",tt,[e("div",et,[D(y(a.displayAmount(o.unit,o.amount))+" ",1),o.amountConfirmed?(d(),l("span",st,[m(c,{icon:"circle-check",class:"text-green-600 fa-fw"})])):(d(),l("button",{key:1,onClick:k=>a.confirm(o),title:"Unconfirmed"},[m(c,{icon:"circle",class:"text-blue-600 fa-fw"})],8,ot))]),e("div",at,y(o.description),1)])):A("",!0)]),e("td",it,[o.agentDid==((f=a.contact)==null?void 0:f.did)?(d(),l("span",nt,[m(c,{icon:"arrow-left",class:"text-slate-400 fa-fw"})])):(d(),l("span",rt,[m(c,{icon:"arrow-right",class:"text-slate-400 fa-fw"})]))]),e("td",ct,[o.agentDid!=((C=a.contact)==null?void 0:C.did)?(d(),l("span",lt,[e("div",dt,[D(y(a.displayAmount(o.unit,o.amount))+" ",1),o.amountConfirmed?(d(),l("span",pt,[m(c,{icon:"circle-check",class:"text-green-600 fa-fw"})])):(d(),l("button",{key:1,onClick:t[0]||(t[0]=k=>a.cannotConfirmMessage()),title:"Unconfirmed"},[m(c,{icon:"circle",class:"text-slate-600 fa-fw"})]))]),e("div",ut,y(o.description),1)])):A("",!0)])])}),128))])])])],64)}const wt=j(w,[["render",ft]]);export{wt as default}; diff --git a/dist-electron/assets/ContactGiftingView-CdUGNhUN.js b/dist-electron/assets/ContactGiftingView-CdUGNhUN.js new file mode 100644 index 0000000..7c7a324 --- /dev/null +++ b/dist-electron/assets/ContactGiftingView-CdUGNhUN.js @@ -0,0 +1 @@ +var y=Object.defineProperty;var v=(o,t,e)=>t in o?y(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var i=(o,t,e)=>v(o,typeof t!="symbol"?t+"":t,e);import{V as C,f as D,e as k,C as $,_ as j,g as p,h as u,i as a,j as s,w as I,k as _,F as g,z as G,x as f,t as V}from"./index-BLqts8WY.js";import{G as E}from"./GiftedDialog-CFmou4Be.js";import{Q as N}from"./QuickNav-DgCyvgDx.js";import{E as P}from"./EntityIcon-CF1RwQI5.js";import{_ as S}from"./blank-square-D9dGgMJw.js";import"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var B=Object.defineProperty,O=Object.getOwnPropertyDescriptor,Q=(o,t,e,r)=>{for(var n=r>1?void 0:r?O(t,e):t,c=o.length-1,l;c>=0;c--)(l=o[c])&&(n=(r?l(t,e,n):l(n))||n);return r&&n&&B(t,e,n),n};let b=class extends C{constructor(){super(...arguments);i(this,"$notify");i(this,"activeDid","");i(this,"allContacts",[]);i(this,"apiServer","");i(this,"description","");i(this,"projectId","");i(this,"prompt","")}async created(){try{const e=await D();this.apiServer=e.apiServer||"",this.activeDid=e.activeDid||"";const r=await k.contacts.toArray();this.allContacts=r.sort((n,c)=>(n.name||"").localeCompare(c.name||"")),this.projectId=this.$route.query.projectId||"",this.prompt=this.$route.query.prompt??this.prompt}catch(e){console.error("Error retrieving settings & contacts:",e),this.$notify({group:"alert",type:"danger",title:"Error",text:e.message||"There was an error retrieving your settings or contacts."},5e3)}}openDialog(e){const r=this.projectId?void 0:{did:this.activeDid,name:"you"};this.$refs.customDialog.open(e,r,void 0,"Given by "+((e==null?void 0:e.name)||"someone not named"),this.prompt)}};b=Q([$({components:{GiftedDialog:E,QuickNav:N,EntityIcon:P}})],b);const A={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={id:"ViewBreadcrumb",class:"mb-8"},q={class:"text-lg text-center font-light relative px-7"},z={class:"border-t border-slate-300"},T={class:"border-b border-slate-300 py-3"},U={class:"text-base flex gap-4 items-center"},H={class:"text-right"},L={class:"text-base flex gap-4 items-center"},J={class:"grow font-semibold"},K={class:"text-right"},M=["onClick"];function R(o,t,e,r,n,c){const l=p("QuickNav"),m=p("fa"),h=p("router-link"),x=p("EntityIcon"),w=p("GiftedDialog");return f(),u(g,null,[a(l,{selected:"Home"}),s("section",A,[s("div",F,[s("h1",q,[a(h,{to:{name:"home"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:I(()=>[a(m,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[1]||(t[1]=_(" Given by... "))])]),s("ul",z,[s("li",T,[s("h2",U,[t[2]||(t[2]=s("span",{class:"grow"},[s("img",{src:S,width:"32",class:"inline-block align-middle border border-slate-300 rounded-md mr-1"}),_(" Unnamed/Unknown ")],-1)),s("span",H,[s("button",{type:"button",onClick:t[0]||(t[0]=d=>o.openDialog()),class:"block w-full text-center text-sm uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-3 py-1.5 rounded-md"},[a(m,{icon:"gift",class:"fa-fw"})])])])]),(f(!0),u(g,null,G(o.allContacts,d=>(f(),u("li",{key:d.did,class:"border-b border-slate-300 py-3"},[s("h2",L,[s("span",J,[a(x,{contact:d,iconSize:32,class:"inline-block align-middle border border-slate-300 rounded-md mr-1"},null,8,["contact"]),_(" "+V(d.name||"(no name)"),1)]),s("span",K,[s("button",{type:"button",onClick:W=>o.openDialog(d),class:"block w-full text-center text-sm uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-3 py-1.5 rounded-md"},[a(m,{icon:"gift",class:"fa-fw"})],8,M)])])]))),128))]),a(w,{ref:"customDialog",toProjectId:o.projectId},null,8,["toProjectId"])])],64)}const it=j(b,[["render",R]]);export{it as default}; diff --git a/dist-electron/assets/ContactImportView-DZPWpIFn.js b/dist-electron/assets/ContactImportView-DZPWpIFn.js new file mode 100644 index 0000000..67a43f6 --- /dev/null +++ b/dist-electron/assets/ContactImportView-DZPWpIFn.js @@ -0,0 +1 @@ +var S=Object.defineProperty;var $=(t,s,n)=>s in t?S(t,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[s]=n;var p=(t,s,n)=>$(t,typeof s!="symbol"?s+"":s,n);import{R as D,i as E}from"./index-BH4jUAKp.js";import{V as N,A as O,f as A,e as u,C as j,_ as U,g as w,h as r,i as _,j as l,m as k,o as V,k as x,l as g,t as f,F as b,z as I,p as R,x as c}from"./index-BLqts8WY.js";import{Q as T}from"./QuickNav-DgCyvgDx.js";import{E as B}from"./EntityIcon-CF1RwQI5.js";import{O as F}from"./OfferDialog-BFpCo0de.js";import{l as J,J as P,H as Q,K as M}from"./index-MyY_xqVN.js";import"./concat-BK8PKeDS.js";import"./sort-Dh4GzQVc.js";import"./index-CsfPLOYu.js";var H=Object.defineProperty,q=Object.getOwnPropertyDescriptor,z=(t,s,n,d)=>{for(var e=d>1?void 0:d?q(s,n):s,i=t.length-1,a;i>=0;i--)(a=t[i])&&(e=(d?a(s,n,e):a(e))||e);return d&&e&&H(s,n,e),e};let v=class extends N{constructor(){super(...arguments);p(this,"$notify");p(this,"AppString",O);p(this,"libsUtil",J);p(this,"R",D);p(this,"activeDid","");p(this,"apiServer","");p(this,"contactsExisting",{});p(this,"contactsImporting",[]);p(this,"contactsSelected",[]);p(this,"contactDifferences",{});p(this,"importing",!1);p(this,"makeVisible",!0);p(this,"sameCount",0)}async created(){var i;const n=await A();this.activeDid=n.activeDid||"",this.apiServer=n.apiServer||"";const d=this.$route.query.contacts;d&&await this.setContactsSelected(JSON.parse(d));const e=(i=window.location.pathname.match(/\/contact-import\/(ey.+)$/))==null?void 0:i[1];if(e){const a=await P(e);await this.setContactsSelected(a.payload.contacts)}}async setContactsSelected(n){this.contactsImporting=n,this.contactsSelected=new Array(this.contactsImporting.length).fill(!0),await u.open();const d=await u.contacts.toArray();for(let e=0;em.did===i.did);if(a){this.contactsExisting[i.did]=a;const m={};Object.keys(i).forEach(o=>{i[o]!==a[o]&&(m[o]={old:a[o],new:i[o]})}),this.contactDifferences[i.did]=m,E(m)&&this.sameCount++,this.contactsSelected[e]=!1}}}async importContacts(){this.importing=!0;let n=0,d=0;for(let e=0;ei.name).join(", ")}`},-1)}this.importing=!1,this.$notify({group:"alert",type:"success",title:"Imported",text:`${n} contact${n==1?"":"s"} imported.`+(d?` ${d} updated.`:"")},3e3),this.$router.push({name:"contacts"})}};v=z([j({components:{EntityIcon:B,OfferDialog:F,QuickNav:T}})],v);const K={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},L={class:"text-lg text-center font-light relative px-7"},Y={key:0,class:"flex justify-center"},G={key:1},W={key:0},X={key:1},Z={key:2,class:"border-t border-slate-300"},tt={key:0,class:"grow overflow-hidden border-b border-slate-300 pt-2.5 pb-4"},et={class:"text-base font-semibold"},st=["onUpdate:modelValue"],it={key:0,class:"text-orange-500"},ot={key:1,class:"text-green-500"},nt={class:"text-sm truncate"},at={key:0},ct={class:"border p-1"},rt={class:"border p-1"},lt={class:"border p-1"},dt={key:3};function pt(t,s,n,d,e,i){const a=w("QuickNav"),m=w("fa");return c(),r(b,null,[_(a,{selected:"Contacts"}),l("section",K,[l("div",L,[l("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:s[0]||(s[0]=o=>t.$router.back())},[_(m,{icon:"chevron-left",class:"fa-fw"})])]),s[5]||(s[5]=l("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Contact Import ",-1)),t.contactsImporting.length>t.sameCount?(c(),r("span",Y,[k(l("input",{type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=o=>t.makeVisible=o),class:"mr-2"},null,512),[[V,t.makeVisible]]),s[3]||(s[3]=x(" Make my activity visible to these contacts. "))])):g("",!0),t.sameCount>0?(c(),r("div",G,[t.sameCount==1?(c(),r("span",W,"One contact is the same as an existing contact")):(c(),r("span",X,f(t.sameCount)+" contacts are the same as existing contacts",1))])):g("",!0),t.contactsImporting.length>t.sameCount?(c(),r("ul",Z,[(c(!0),r(b,null,I(t.contactsImporting,(o,y)=>(c(),r("li",{key:o.did},[!t.contactsExisting[o.did]||!t.R.isEmpty(t.contactDifferences[o.did])?(c(),r("div",tt,[l("h2",et,[k(l("input",{type:"checkbox","onUpdate:modelValue":h=>t.contactsSelected[y]=h},null,8,st),[[V,t.contactsSelected[y]]]),x(" "+f(o.name||t.AppString.NO_CONTACT_NAME)+" - ",1),t.contactsExisting[o.did]?(c(),r("span",it,"Existing")):(c(),r("span",ot,"New"))]),l("div",nt,f(o.did),1),t.contactDifferences[o.did]?(c(),r("div",at,[l("div",null,[s[4]||(s[4]=l("div",{class:"grid grid-cols-3 gap-2"},[l("div",{class:"font-bold"},"Field"),l("div",{class:"font-bold"},"Old Value"),l("div",{class:"font-bold"},"New Value")],-1)),(c(!0),r(b,null,I(t.contactDifferences[o.did],(h,C)=>(c(),r("div",{key:C,class:"grid grid-cols-3 border"},[l("div",ct,f(C),1),l("div",rt,f(h.old),1),l("div",lt,f(h.new),1)]))),128))])])):g("",!0)])):g("",!0)]))),128)),t.importing?(c(),R(m,{key:0,icon:"spinner",class:"animate-spin"})):(c(),r("button",{key:1,class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-sm text-white mt-2 px-2 py-1.5 rounded",onClick:s[2]||(s[2]=(...o)=>t.importContacts&&t.importContacts(...o))}," Import Selected Contacts "))])):(c(),r("p",dt,"There are no contacts to import."))])],64)}const kt=U(v,[["render",pt]]);export{kt as default}; diff --git a/dist-electron/assets/ContactNameDialog-CYaRfHTt.js b/dist-electron/assets/ContactNameDialog-CYaRfHTt.js new file mode 100644 index 0000000..090226a --- /dev/null +++ b/dist-electron/assets/ContactNameDialog-CYaRfHTt.js @@ -0,0 +1 @@ +var b=Object.defineProperty;var p=(t,e,s)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var i=(t,e,s)=>p(t,typeof e!="symbol"?e+"":e,s);import{C as h,V as C,_ as m,x as v,h as u,j as n,t as d,k as g,m as f,s as x,l as _}from"./index-BLqts8WY.js";var k=Object.defineProperty,w=Object.getOwnPropertyDescriptor,y=(t,e,s,o)=>{for(var a=o>1?void 0:o?w(e,s):e,c=t.length-1,l;c>=0;c--)(l=t[c])&&(a=(o?l(e,s,a):l(a))||a);return o&&a&&k(e,s,a),a};let r=class extends C{constructor(){super(...arguments);i(this,"cancelCallback",()=>{});i(this,"saveCallback",()=>{});i(this,"message","");i(this,"newText","");i(this,"title","Contact Name");i(this,"visible",!1)}async open(s,o,a,c,l){this.cancelCallback=c||this.cancelCallback,this.saveCallback=a||this.saveCallback,this.message=o??this.message,this.newText=l??"",this.title=s??this.title,this.visible=!0}async onClickSaveChanges(){this.visible=!1,this.saveCallback&&this.saveCallback(this.newText)}onClickCancel(){this.visible=!1,this.cancelCallback&&this.cancelCallback()}};r=y([h],r);const N={key:0,class:"dialog-overlay"},D={class:"dialog"},T={class:"text-xl font-bold text-center mb-4"},$={class:"mt-8"},V={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function O(t,e,s,o,a,c){return t.visible?(v(),u("div",N,[n("div",D,[n("h1",T,d(t.title),1),g(" "+d(t.message)+" Note that their name is only stored on this device. ",1),f(n("input",{type:"text",placeholder:"Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":e[0]||(e[0]=l=>t.newText=l)},null,512),[[x,t.newText]]),n("div",$,[n("div",V,[n("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[1]||(e[1]=l=>t.onClickSaveChanges())}," Save "),n("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[2]||(e[2]=l=>t.onClickCancel())}," Cancel ")])])])])):_("",!0)}const B=m(r,[["render",O]]);export{B as C}; diff --git a/dist-electron/assets/ContactQRScanShowView-BuPN1_H8.js b/dist-electron/assets/ContactQRScanShowView-BuPN1_H8.js new file mode 100644 index 0000000..4c0bda6 --- /dev/null +++ b/dist-electron/assets/ContactQRScanShowView-BuPN1_H8.js @@ -0,0 +1,5 @@ +var xa=Object.defineProperty;var _a=(r,a,i)=>a in r?xa(r,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[a]=i;var ot=(r,a,i)=>_a(r,typeof a!="symbol"?a+"":a,i);import{S as Sa,B as Pa,U as Oa,r as dt,W as Dt,Y as Ta,Z as Ma,$ as or,x as vt,h as yt,j as Ie,a0 as Da,m as $a,v as ka,a1 as Ea,V as Ra,f as Aa,e as ht,M as Br,C as Ia,_ as ja,g as pt,i as gt,k as qt,l as Ba,w as Fa,F as qa}from"./index-BLqts8WY.js";import{u as Fr}from"./index-CsfPLOYu.js";import{Q as La}from"./QuickNav-DgCyvgDx.js";import{U as Na}from"./UserNameDialog-B8a82q1n.js";import{aa as za,r as Ua,ab as Wa,ac as Ha,ad as Va,K as Ga,ae as Qa}from"./index-MyY_xqVN.js";var ar={exports:{}},qr;function Ya(){return qr||(qr=1,function(r,a){(function(i,h){r.exports=h(Sa())})(self,function(i){return(()=>{var h={192:(F,P)=>{var B,V,W=function(){var ae=function(R,k){var E=R,T=$e[k],w=null,d=0,n=null,u=[],c={},l=function(p,M){w=function(b){for(var m=new Array(b),O=0;O=7&&I(p),n==null&&(n=ee(E,T,u)),D(n,M)},v=function(p,M){for(var b=-1;b<=7;b+=1)if(!(p+b<=-1||d<=p+b))for(var m=-1;m<=7;m+=1)M+m<=-1||d<=M+m||(w[p+b][M+m]=0<=b&&b<=6&&(m==0||m==6)||0<=m&&m<=6&&(b==0||b==6)||2<=b&&b<=4&&2<=m&&m<=4)},_=function(){for(var p=8;p>b&1)==1;w[Math.floor(b/3)][b%3+d-8-3]=m}for(b=0;b<18;b+=1)m=!p&&(M>>b&1)==1,w[b%3+d-8-3][Math.floor(b/3)]=m},q=function(p,M){for(var b=T<<3|M,m=he.getBCHTypeInfo(b),O=0;O<15;O+=1){var H=!p&&(m>>O&1)==1;O<6?w[O][8]=H:O<8?w[O+1][8]=H:w[d-15+O][8]=H}for(O=0;O<15;O+=1)H=!p&&(m>>O&1)==1,O<8?w[8][d-O-1]=H:O<9?w[8][15-O-1+1]=H:w[8][15-O-1]=H;w[d-8][8]=!p},D=function(p,M){for(var b=-1,m=d-1,O=7,H=0,G=he.getMaskFunction(M),U=d-1;U>0;U-=2)for(U==6&&(U-=1);;){for(var ne=0;ne<2;ne+=1)if(w[m][U-ne]==null){var te=!1;H>>O&1)==1),G(m,U-ne)&&(te=!te),w[m][U-ne]=te,(O-=1)==-1&&(H+=1,O=7)}if((m+=b)<0||d<=m){m-=b,b=-b;break}}},ee=function(p,M,b){for(var m=We.getRSBlocks(p,M),O=Le(),H=0;H8*U)throw"code length overflow. ("+O.getLengthInBits()+">"+8*U+")";for(O.getLengthInBits()+4<=8*U&&O.put(0,4);O.getLengthInBits()%8!=0;)O.putBit(!1);for(;!(O.getLengthInBits()>=8*U||(O.put(236,8),O.getLengthInBits()>=8*U));)O.put(17,8);return function(ne,te){for(var Y=0,ye=0,we=0,J=new Array(te.length),ge=new Array(te.length),ue=0;ue=0?Re.getAt(Be):0}}var at=0;for(ce=0;cete)&&(G=te,U=ne)}return U}())},c.createTableTag=function(p,M){p=p||2;var b="";b+='";for(var O=0;O';b+=""}return(b+="")+"
"},c.createSvgTag=function(p,M,b,m){var O={};typeof arguments[0]=="object"&&(p=(O=arguments[0]).cellSize,M=O.margin,b=O.alt,m=O.title),p=p||2,M=M===void 0?4*p:M,(b=typeof b=="string"?{text:b}:b||{}).text=b.text||null,b.id=b.text?b.id||"qrcode-description":null,(m=typeof m=="string"?{text:m}:m||{}).text=m.text||null,m.id=m.text?m.id||"qrcode-title":null;var H,G,U,ne,te=c.getModuleCount()*p+2*M,Y="";for(ne="l"+p+",0 0,"+p+" -"+p+",0 0,-"+p+"z ",Y+=''+j(m.text)+"":"",Y+=b.text?''+j(b.text)+"":"",Y+='',Y+='"},c.createDataURL=function(p,M){p=p||2,M=M===void 0?4*p:M;var b=c.getModuleCount()*p+2*M,m=M,O=b-M;return lt(b,b,function(H,G){if(m<=H&&H"};var j=function(p){for(var M="",b=0;b":M+=">";break;case"&":M+="&";break;case'"':M+=""";break;default:M+=m}}return M};return c.createASCII=function(p,M){if((p=p||1)<2)return function(J){J=J===void 0?2:J;var ge,ue,je,Ne,ce,Ee=1*c.getModuleCount()+2*J,Re=J,Be=Ee-J,at={"██":"█","█ ":"▀"," █":"▄"," ":" "},Xe={"██":"▀","█ ":"▀"," █":" "," ":" "},be="";for(ge=0;ge=Be?Xe[ce]:at[ce];be+=` +`}return Ee%2&&J>0?be.substring(0,be.length-Ee-1)+Array(Ee+1).join("▀"):be.substring(0,be.length-1)}(M);p-=1,M=M===void 0?2*p:M;var b,m,O,H,G=c.getModuleCount()*p+2*M,U=M,ne=G-M,te=Array(p+1).join("██"),Y=Array(p+1).join(" "),ye="",we="";for(b=0;b>>8),d.push(255&c)):d.push(T)}}return d}};var fe,K,de,re,ve,$e={L:1,M:0,Q:3,H:2},he=(fe=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],K=1335,de=7973,ve=function(R){for(var k=0;R!=0;)k+=1,R>>>=1;return k},(re={}).getBCHTypeInfo=function(R){for(var k=R<<10;ve(k)-ve(K)>=0;)k^=K<=0;)k^=de<5&&(E+=3+d-5)}for(T=0;T=256;)T-=255;return R[T]}}}();function oe(R,k){if(R.length===void 0)throw R.length+"/"+k;var E=function(){for(var w=0;w>>7-T%8&1)==1},put:function(T,w){for(var d=0;d>>w-d-1&1)==1)},getLengthInBits:function(){return k},putBit:function(T){var w=Math.floor(k/8);R.length<=w&&R.push(0),T&&(R[w]|=128>>>k%8),k+=1}};return E},He=function(R){var k=R,E={getMode:function(){return 1},getLength:function(d){return k.length},write:function(d){for(var n=k,u=0;u+2>>8&255)+(255&n),T.put(n,13),d+=2}if(d>>8)},writeBytes:function(E,T,w){T=T||0,w=w||E.length;for(var d=0;d0&&(E+=","),E+=R[T];return E+"]"}};return k},ct=function(R){var k=R,E=0,T=0,w=0,d={read:function(){for(;w<8;){if(E>=k.length){if(w==0)return-1;throw"unexpected end of file./"+w}var u=k.charAt(E);if(E+=1,u=="=")return w=0,-1;u.match(/^\s$/)||(T=T<<6|n(u.charCodeAt(0)),w+=6)}var c=T>>>w-8&255;return w-=8,c}},n=function(u){if(65<=u&&u<=90)return u-65;if(97<=u&&u<=122)return u-97+26;if(48<=u&&u<=57)return u-48+52;if(u==43)return 62;if(u==47)return 63;throw"c:"+u};return d},lt=function(R,k,E){for(var T=function(v,_){var L=v,I=_,q=new Array(v*_),D={setPixel:function(p,M,b){q[M*L+p]=b},write:function(p){p.writeString("GIF87a"),p.writeShort(L),p.writeShort(I),p.writeByte(128),p.writeByte(0),p.writeByte(0),p.writeByte(0),p.writeByte(0),p.writeByte(0),p.writeByte(255),p.writeByte(255),p.writeByte(255),p.writeString(","),p.writeShort(0),p.writeShort(0),p.writeShort(L),p.writeShort(I),p.writeByte(0);var M=ee(2);p.writeByte(2);for(var b=0;M.length-b>255;)p.writeByte(255),p.writeBytes(M,b,255),b+=255;p.writeByte(M.length-b),p.writeBytes(M,b,M.length-b),p.writeByte(0),p.writeString(";")}},ee=function(p){for(var M=1<>>ue)throw"length over";for(;U+ue>=8;)G.writeByte(255&(ge<>>=8-U,ne=0,U=0;ne|=ge<0&&G.writeByte(ne)}});Y.write(M,m);var ye=0,we=String.fromCharCode(q[ye]);for(ye+=1;ye=6;)D(v>>>_-6),_-=6},q.flush=function(){if(_>0&&(D(v<<6-_),v=0,_=0),L%3!=0)for(var j=3-L%3,p=0;p>6,128|63&re):re<55296||re>=57344?K.push(224|re>>12,128|re>>6&63,128|63&re):(de++,re=65536+((1023&re)<<10|1023&fe.charCodeAt(de)),K.push(240|re>>18,128|re>>12&63,128|re>>6&63,128|63&re))}return K}(ae)},(V=typeof(B=function(){return W})=="function"?B.apply(P,[]):B)===void 0||(F.exports=V)},103:F=>{F.exports=i}},y={};function x(F){var P=y[F];if(P!==void 0)return P.exports;var B=y[F]={exports:{}};return h[F](B,B.exports,x),B.exports}x.n=F=>{var P=F&&F.__esModule?()=>F.default:()=>F;return x.d(P,{a:P}),P},x.d=(F,P)=>{for(var B in P)x.o(P,B)&&!x.o(F,B)&&Object.defineProperty(F,B,{enumerable:!0,get:P[B]})},x.o=(F,P)=>Object.prototype.hasOwnProperty.call(F,P);var $={};return(()=>{x.d($,{default:()=>w});var F=x(103);const P={key:1};var B=function(){return(B=Object.assign||function(d){for(var n,u=1,c=arguments.length;u2||L&&I||q&&D)this._basicSquare({x:u,y:c,size:l,context:v,rotation:0});else{if(ee===2){var j=0;return L&&q?j=Math.PI/2:q&&I?j=Math.PI:I&&D&&(j=-Math.PI/2),void this._basicCornerRounded({x:u,y:c,size:l,context:v,rotation:j})}ee===1&&(j=0,q?j=Math.PI/2:I?j=Math.PI:D&&(j=-Math.PI/2),this._basicSideRounded({x:u,y:c,size:l,context:v,rotation:j}))}else this._basicDot({x:u,y:c,size:l,context:v,rotation:0})},d.prototype._drawExtraRounded=function(n){var u=n.x,c=n.y,l=n.size,v=n.context,_=n.getNeighbor,L=+_(-1,0),I=+_(1,0),q=+_(0,-1),D=+_(0,1),ee=L+I+q+D;if(ee!==0)if(ee>2||L&&I||q&&D)this._basicSquare({x:u,y:c,size:l,context:v,rotation:0});else{if(ee===2){var j=0;return L&&q?j=Math.PI/2:q&&I?j=Math.PI:I&&D&&(j=-Math.PI/2),void this._basicCornerExtraRounded({x:u,y:c,size:l,context:v,rotation:j})}ee===1&&(j=0,q?j=Math.PI/2:I?j=Math.PI:D&&(j=-Math.PI/2),this._basicSideRounded({x:u,y:c,size:l,context:v,rotation:j}))}else this._basicDot({x:u,y:c,size:l,context:v,rotation:0})},d.prototype._drawClassy=function(n){var u=n.x,c=n.y,l=n.size,v=n.context,_=n.getNeighbor,L=+_(-1,0),I=+_(1,0),q=+_(0,-1),D=+_(0,1);L+I+q+D!==0?L||q?I||D?this._basicSquare({x:u,y:c,size:l,context:v,rotation:0}):this._basicCornerRounded({x:u,y:c,size:l,context:v,rotation:Math.PI/2}):this._basicCornerRounded({x:u,y:c,size:l,context:v,rotation:-Math.PI/2}):this._basicCornersRounded({x:u,y:c,size:l,context:v,rotation:Math.PI/2})},d.prototype._drawClassyRounded=function(n){var u=n.x,c=n.y,l=n.size,v=n.context,_=n.getNeighbor,L=+_(-1,0),I=+_(1,0),q=+_(0,-1),D=+_(0,1);L+I+q+D!==0?L||q?I||D?this._basicSquare({x:u,y:c,size:l,context:v,rotation:0}):this._basicCornerExtraRounded({x:u,y:c,size:l,context:v,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:u,y:c,size:l,context:v,rotation:-Math.PI/2}):this._basicCornersRounded({x:u,y:c,size:l,context:v,rotation:Math.PI/2})},d}();var re=function(){return(re=Object.assign||function(d){for(var n,u=1,c=arguments.length;u0&&U[U.length-1])||J[0]!==6&&J[0]!==2)){te=0;continue}if(J[0]===3&&(!U||J[1]>U[0]&&J[1]U||ne&&ne=(_-q.hideXDots)/2&&O<(_+q.hideXDots)/2&&H>=(_-q.hideYDots)/2&&H<(_+q.hideYDots)/2||!((G=Z[O])===null||G===void 0)&&G[H]||!((U=Z[O-_+7])===null||U===void 0)&&U[H]||!((ne=Z[O])===null||ne===void 0)&&ne[H-_+7]||!((te=oe[O])===null||te===void 0)&&te[H]||!((Y=oe[O-_+7])===null||Y===void 0)&&Y[H]||!((ye=oe[O])===null||ye===void 0)&&ye[H-_+7])}),this.drawCorners(),this._options.image&&this.drawImage({width:q.width,height:q.height,count:_,dotSize:I}),[2]}})},new((l=void 0)||(l=Promise))(function(_,L){function I(ee){try{D(v.next(ee))}catch(j){L(j)}}function q(ee){try{D(v.throw(ee))}catch(j){L(j)}}function D(ee){var j;ee.done?_(ee.value):(j=ee.value,j instanceof l?j:new l(function(p){p(j)})).then(I,q)}D((v=v.apply(u,c||[])).next())});var u,c,l,v},d.prototype.drawBackground=function(){var n=this.context,u=this._options;if(n){if(u.backgroundOptions.gradient){var c=u.backgroundOptions.gradient,l=this._createGradient({context:n,options:c,additionalRotation:0,x:0,y:0,size:this._canvas.width>this._canvas.height?this._canvas.width:this._canvas.height});c.colorStops.forEach(function(v){var _=v.offset,L=v.color;l.addColorStop(_,L)}),n.fillStyle=l}else u.backgroundOptions.color&&(n.fillStyle=u.backgroundOptions.color);n.fillRect(0,0,this._canvas.width,this._canvas.height)}},d.prototype.drawDots=function(n){var u=this;if(!this._qr)throw"QR code is not defined";var c=this.context;if(!c)throw"QR code is not defined";var l=this._options,v=this._qr.getModuleCount();if(v>l.width||v>l.height)throw"The canvas is too small.";var _=Math.min(l.width,l.height)-2*l.margin,L=Math.floor(_/v),I=Math.floor((l.width-v*L)/2),q=Math.floor((l.height-v*L)/2),D=new de({context:c,type:l.dotsOptions.type});c.beginPath();for(var ee=function(m){for(var O=function(G){return n&&!n(m,G)?"continue":j._qr.isDark(m,G)?void D.draw(I+m*L,q+G*L,L,function(U,ne){return!(m+U<0||G+ne<0||m+U>=v||G+ne>=v)&&!(n&&!n(m+U,G+ne))&&!!u._qr&&u._qr.isDark(m+U,G+ne)}):"continue"},H=0;H=0&&D<=.25*Math.PI||D>1.75*Math.PI&&D<=2*Math.PI?(ee-=I/2,j-=I/2*Math.tan(q),p+=I/2,M+=I/2*Math.tan(q)):D>.25*Math.PI&&D<=.75*Math.PI?(j-=I/2,ee-=I/2/Math.tan(q),M+=I/2,p+=I/2/Math.tan(q)):D>.75*Math.PI&&D<=1.25*Math.PI?(ee+=I/2,j+=I/2*Math.tan(q),p-=I/2,M-=I/2*Math.tan(q)):D>1.25*Math.PI&&D<=1.75*Math.PI&&(j+=I/2,ee+=I/2/Math.tan(q),M-=I/2,p-=I/2/Math.tan(q)),u=c.createLinearGradient(Math.round(ee),Math.round(j),Math.round(p),Math.round(M))}return u},d}();for(var Le={},He=0;He<=40;He++)Le[He]=He;const Qe={width:300,height:300,data:"",margin:0,qrOptions:{typeNumber:Le[0],mode:void 0,errorCorrectionLevel:"Q"},imageOptions:{hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}};var ke=function(){return(ke=Object.assign||function(d){for(var n,u=1,c=arguments.length;uMath.min(n.width,n.height)&&(n.margin=Math.min(n.width,n.height)),n.dotsOptions=ke({},n.dotsOptions),n.dotsOptions.gradient&&(n.dotsOptions.gradient=Ve(n.dotsOptions.gradient)),n.cornersSquareOptions&&(n.cornersSquareOptions=ke({},n.cornersSquareOptions),n.cornersSquareOptions.gradient&&(n.cornersSquareOptions.gradient=Ve(n.cornersSquareOptions.gradient))),n.cornersDotOptions&&(n.cornersDotOptions=ke({},n.cornersDotOptions),n.cornersDotOptions.gradient&&(n.cornersDotOptions.gradient=Ve(n.cornersDotOptions.gradient))),n.backgroundOptions&&(n.backgroundOptions=ke({},n.backgroundOptions),n.backgroundOptions.gradient&&(n.backgroundOptions.gradient=Ve(n.backgroundOptions.gradient))),n}var ct=x(192),lt=x.n(ct);const R=function(){function d(n){this._options=n?Je(ae(Qe,n)):Qe,this.update()}return d._clearContainer=function(n){n&&(n.innerHTML="")},d.prototype.update=function(n){d._clearContainer(this._container),this._options=n?Je(ae(this._options,n)):this._options,this._options.data&&(this._qr=lt()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(u){switch(!0){case/^[0-9]*$/.test(u):return"Numeric";case/^[0-9A-Z $%*+\-./:]*$/.test(u):return"Alphanumeric";default:return"Byte"}}(this._options.data)),this._qr.make(),this._canvas=new We(this._options),this._drawingPromise=this._canvas.drawQR(this._qr),this.append(this._container))},d.prototype.append=function(n){if(n){if(typeof n.appendChild!="function")throw"Container should be a single DOM node";this._canvas&&n.appendChild(this._canvas.getCanvas()),this._container=n}},d.prototype.getImageUrl=function(n){return u=this,c=void 0,v=function(){return function(_,L){var I,q,D,ee,j={label:0,sent:function(){if(1&D[0])throw D[1];return D[1]},trys:[],ops:[]};return ee={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(ee[Symbol.iterator]=function(){return this}),ee;function p(M){return function(b){return function(m){if(I)throw new TypeError("Generator is already executing.");for(;j;)try{if(I=1,q&&(D=2&m[0]?q.return:m[0]?q.throw||((D=q.return)&&D.call(q),0):q.next)&&!(D=D.call(q,m[1])).done)return D;switch(q=0,D&&(m=[2&m[0],D.value]),m[0]){case 0:case 1:D=m;break;case 4:return j.label++,{value:m[1],done:!1};case 5:j.label++,q=m[1],m=[0];continue;case 7:m=j.ops.pop(),j.trys.pop();continue;default:if(!((D=(D=j.trys).length>0&&D[D.length-1])||m[0]!==6&&m[0]!==2)){j=0;continue}if(m[0]===3&&(!D||m[1]>D[0]&&m[1]0&&l[l.length-1])||D[0]!==6&&D[0]!==2)){_=0;continue}if(D[0]===3&&(!l||D[1]>l[0]&&D[1]d.onDownloadClick&&d.onDownloadClick(..._))},(0,F.toDisplayString)(d.buttonName),3)])):(0,F.createCommentVNode)("v-if",!0)])};const w=T})(),$.default})()})}(ar)),ar.exports}var Ja=Ya();const Xa=Pa(Ja);var Xr=(r,a,i)=>{if(!a.has(r))throw TypeError("Cannot "+i)},Lr=(r,a,i)=>(Xr(r,a,"read from private field"),i?i.call(r):a.get(r)),Ka=(r,a,i)=>{if(a.has(r))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(r):a.set(r,i)},Za=(r,a,i,h)=>(Xr(r,a,"write to private field"),a.set(r,i),i);const Kr=[["aztec","Aztec"],["code_128","Code128"],["code_39","Code39"],["code_93","Code93"],["codabar","Codabar"],["databar","DataBar"],["databar_expanded","DataBarExpanded"],["data_matrix","DataMatrix"],["dx_film_edge","DXFilmEdge"],["ean_13","EAN-13"],["ean_8","EAN-8"],["itf","ITF"],["maxi_code","MaxiCode"],["micro_qr_code","MicroQRCode"],["pdf417","PDF417"],["qr_code","QRCode"],["rm_qr_code","rMQRCode"],["upc_a","UPC-A"],["upc_e","UPC-E"],["linear_codes","Linear-Codes"],["matrix_codes","Matrix-Codes"]],ei=[...Kr,["unknown"]].map(r=>r[0]),Nt=new Map(Kr);function ti(r){for(const[a,i]of Nt)if(r===i)return a;return"unknown"}function ri(r){if(Zr(r))return{width:r.naturalWidth,height:r.naturalHeight};if(en(r))return{width:r.width.baseVal.value,height:r.height.baseVal.value};if(tn(r))return{width:r.videoWidth,height:r.videoHeight};if(nn(r))return{width:r.width,height:r.height};if(an(r))return{width:r.displayWidth,height:r.displayHeight};if(rn(r))return{width:r.width,height:r.height};if(on(r))return{width:r.width,height:r.height};throw new TypeError("The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'.")}function Zr(r){try{return r instanceof HTMLImageElement}catch{return!1}}function en(r){try{return r instanceof SVGImageElement}catch{return!1}}function tn(r){try{return r instanceof HTMLVideoElement}catch{return!1}}function rn(r){try{return r instanceof HTMLCanvasElement}catch{return!1}}function nn(r){try{return r instanceof ImageBitmap}catch{return!1}}function on(r){try{return r instanceof OffscreenCanvas}catch{return!1}}function an(r){try{return r instanceof VideoFrame}catch{return!1}}function sn(r){try{return r instanceof Blob}catch{return!1}}function ni(r){try{return r instanceof ImageData}catch{return!1}}function oi(r,a){try{const i=new OffscreenCanvas(r,a);if(i.getContext("2d")instanceof OffscreenCanvasRenderingContext2D)return i;throw void 0}catch{const h=document.createElement("canvas");return h.width=r,h.height=a,h}}async function un(r){if(Zr(r)&&!await ui(r))throw new DOMException("Failed to load or decode HTMLImageElement.","InvalidStateError");if(en(r)&&!await ci(r))throw new DOMException("Failed to load or decode SVGImageElement.","InvalidStateError");if(an(r)&&li(r))throw new DOMException("VideoFrame is closed.","InvalidStateError");if(tn(r)&&(r.readyState===0||r.readyState===1))throw new DOMException("Invalid element or state.","InvalidStateError");if(nn(r)&&fi(r))throw new DOMException("The image source is detached.","InvalidStateError");const{width:a,height:i}=ri(r);if(a===0||i===0)return null;const h=oi(a,i).getContext("2d");h.drawImage(r,0,0);try{return h.getImageData(0,0,a,i)}catch{throw new DOMException("Source would taint origin.","SecurityError")}}async function ai(r){let a;try{if(globalThis.createImageBitmap)a=await createImageBitmap(r);else if(globalThis.Image){a=new Image;let i="";try{i=URL.createObjectURL(r),a.src=i,await a.decode()}finally{URL.revokeObjectURL(i)}}else return r}catch{throw new DOMException("Failed to load or decode Blob.","InvalidStateError")}return await un(a)}function ii(r){const{width:a,height:i}=r;if(a===0||i===0)return null;const h=r.getContext("2d");try{return h.getImageData(0,0,a,i)}catch{throw new DOMException("Source would taint origin.","SecurityError")}}async function si(r){if(sn(r))return await ai(r);if(ni(r)){if(di(r))throw new DOMException("The image data has been detached.","InvalidStateError");return r}return rn(r)||on(r)?ii(r):await un(r)}async function ui(r){try{return await r.decode(),!0}catch{return!1}}async function ci(r){var a;try{return await((a=r.decode)==null?void 0:a.call(r)),!0}catch{return!1}}function li(r){return r.format===null}function di(r){return r.data.buffer.byteLength===0}function fi(r){return r.width===0&&r.height===0}function Nr(r,a){return r instanceof DOMException?new DOMException(`${a}: ${r.message}`,r.name):r instanceof Error?new r.constructor(`${a}: ${r.message}`):new Error(`${a}: ${r}`)}const zr=["Aztec","Codabar","Code128","Code39","Code93","DataBar","DataBarExpanded","DataMatrix","DXFilmEdge","EAN-13","EAN-8","ITF","Linear-Codes","Matrix-Codes","MaxiCode","MicroQRCode","None","PDF417","QRCode","rMQRCode","UPC-A","UPC-E"];function hi(r){return r.join("|")}function pi(r){const a=Ur(r);let i=0,h=zr.length-1;for(;i<=h;){const y=Math.floor((i+h)/2),x=zr[y],$=Ur(x);if($===a)return x;${const i=r.match(/_(.+?)\.wasm$/);return i?`https://fastly.jsdelivr.net/npm/zxing-wasm@1.1.3/dist/${i[1]}/${r}`:a+r}};let Wr=new WeakMap;function sr(r,a){var i;const h=Wr.get(r);if(h!=null&&h.modulePromise&&a===void 0)return h.modulePromise;const y=(i=h==null?void 0:h.moduleOverrides)!=null?i:Ci,x=r({...y});return Wr.set(r,{moduleOverrides:y,modulePromise:x}),x}async function xi(r,a,i=bt){const h={...bt,...i},y=await sr(r),{size:x}=a,$=new Uint8Array(await a.arrayBuffer()),F=y._malloc(x);y.HEAPU8.set($,F);const P=y.readBarcodesFromImage(F,x,cn(y,h));y._free(F);const B=[];for(let V=0;V{var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return function(a={}){var i=a,h,y;i.ready=new Promise((e,t)=>{h=e,y=t});var x=Object.assign({},i),$="./this.program",F=typeof window=="object",P=typeof importScripts=="function";typeof process=="object"&&typeof process.versions=="object"&&process.versions.node;var B="";function V(e){return i.locateFile?i.locateFile(e,B):B+e}var W;(F||P)&&(P?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),r&&(B=r),B.indexOf("blob:")!==0?B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1):B="",P&&(W=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)})),i.print||console.log.bind(console);var ae=i.printErr||console.error.bind(console);Object.assign(i,x),x=null,i.arguments&&i.arguments,i.thisProgram&&($=i.thisProgram),i.quit&&i.quit;var fe;i.wasmBinary&&(fe=i.wasmBinary),typeof WebAssembly!="object"&&u("no native wasm support detected");var K,de=!1,re,ve,$e,he,Z,oe,We,Le;function He(){var e=K.buffer;i.HEAP8=re=new Int8Array(e),i.HEAP16=$e=new Int16Array(e),i.HEAPU8=ve=new Uint8Array(e),i.HEAPU16=he=new Uint16Array(e),i.HEAP32=Z=new Int32Array(e),i.HEAPU32=oe=new Uint32Array(e),i.HEAPF32=We=new Float32Array(e),i.HEAPF64=Le=new Float64Array(e)}var Qe=[],ke=[],Ve=[];function Je(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)R(i.preRun.shift());ee(Qe)}function ct(){ee(ke)}function lt(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)E(i.postRun.shift());ee(Ve)}function R(e){Qe.unshift(e)}function k(e){ke.unshift(e)}function E(e){Ve.unshift(e)}var T=0,w=null;function d(e){var t;T++,(t=i.monitorRunDependencies)===null||t===void 0||t.call(i,T)}function n(e){var t;if(T--,(t=i.monitorRunDependencies)===null||t===void 0||t.call(i,T),T==0&&w){var o=w;w=null,o()}}function u(e){var t;(t=i.onAbort)===null||t===void 0||t.call(i,e),e="Aborted("+e+")",ae(e),de=!0,e+=". Build with -sASSERTIONS for more info.";var o=new WebAssembly.RuntimeError(e);throw y(o),o}var c="data:application/octet-stream;base64,",l=e=>e.startsWith(c),v;v="zxing_reader.wasm",l(v)||(v=V(v));function _(e){if(e==v&&fe)return new Uint8Array(fe);if(W)return W(e);throw"both async and sync fetching of the wasm failed"}function L(e){return!fe&&(F||P)&&typeof fetch=="function"?fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()}).catch(()=>_(e)):Promise.resolve().then(()=>_(e))}function I(e,t,o){return L(e).then(s=>WebAssembly.instantiate(s,t)).then(s=>s).then(o,s=>{ae(`failed to asynchronously prepare wasm: ${s}`),u(s)})}function q(e,t,o,s){return!e&&typeof WebAssembly.instantiateStreaming=="function"&&!l(t)&&typeof fetch=="function"?fetch(t,{credentials:"same-origin"}).then(f=>{var g=WebAssembly.instantiateStreaming(f,o);return g.then(s,function(C){return ae(`wasm streaming compile failed: ${C}`),ae("falling back to ArrayBuffer instantiation"),I(t,o,s)})}):I(t,o,s)}function D(){var e={a:ea};function t(s,f){return De=s.exports,K=De.ia,He(),vr=De.ma,k(De.ja),n(),De}d();function o(s){t(s.instance)}if(i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(s){ae(`Module.instantiateWasm callback failed with error: ${s}`),y(s)}return q(fe,v,e,o).catch(y),{}}var ee=e=>{for(;e.length>0;)e.shift()(i)};i.noExitRuntime;var j=[],p=0,M=e=>{var t=new O(e);return t.get_caught()||(t.set_caught(!0),p--),t.set_rethrown(!1),j.push(t),$r(t.excPtr),t.get_exception_ptr()},b=0,m=()=>{xe(0,0);var e=j.pop();Dr(e.excPtr),b=0};function O(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(t){oe[this.ptr+4>>2]=t},this.get_type=function(){return oe[this.ptr+4>>2]},this.set_destructor=function(t){oe[this.ptr+8>>2]=t},this.get_destructor=function(){return oe[this.ptr+8>>2]},this.set_caught=function(t){t=t?1:0,re[this.ptr+12>>0]=t},this.get_caught=function(){return re[this.ptr+12>>0]!=0},this.set_rethrown=function(t){t=t?1:0,re[this.ptr+13>>0]=t},this.get_rethrown=function(){return re[this.ptr+13>>0]!=0},this.init=function(t,o){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(o)},this.set_adjusted_ptr=function(t){oe[this.ptr+16>>2]=t},this.get_adjusted_ptr=function(){return oe[this.ptr+16>>2]},this.get_exception_ptr=function(){var t=Er(this.get_type());if(t)return oe[this.excPtr>>2];var o=this.get_adjusted_ptr();return o!==0?o:this.excPtr}}var H=e=>{throw b||(b=e),b},G=e=>{var t=b;if(!t)return Mt(0),0;var o=new O(t);o.set_adjusted_ptr(t);var s=o.get_type();if(!s)return Mt(0),t;for(var f in e){var g=e[f];if(g===0||g===s)break;var C=o.ptr+16;if(kr(g,s,C))return Mt(g),t}return Mt(s),t},U=()=>G([]),ne=e=>G([e]),te=(e,t)=>G([e,t]),Y=()=>{var e=j.pop();e||u("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(j.push(e),e.set_rethrown(!0),e.set_caught(!1),p++),b=t,b},ye=(e,t,o)=>{var s=new O(e);throw s.init(t,o),b=e,p++,b},we=()=>p,J={},ge=e=>{for(;e.length;){var t=e.pop(),o=e.pop();o(t)}};function ue(e){return this.fromWireType(Z[e>>2])}var je={},Ne={},ce={},Ee,Re=e=>{throw new Ee(e)},Be=(e,t,o)=>{e.forEach(function(S){ce[S]=t});function s(S){var A=o(S);A.length!==e.length&&Re("Mismatched type converter count");for(var z=0;z{Ne.hasOwnProperty(S)?f[A]=Ne[S]:(g.push(S),je.hasOwnProperty(S)||(je[S]=[]),je[S].push(()=>{f[A]=Ne[S],++C,C===g.length&&s(f)}))}),g.length===0&&s(f)},at=e=>{var t=J[e];delete J[e];var o=t.rawConstructor,s=t.rawDestructor,f=t.fields,g=f.map(C=>C.getterReturnType).concat(f.map(C=>C.setterArgumentType));Be([e],g,C=>{var S={};return f.forEach((A,z)=>{var Q=A.fieldName,ie=C[z],se=A.getter,le=A.getterContext,_e=C[z+f.length],Te=A.setter,Ce=A.setterContext;S[Q]={read:qe=>ie.fromWireType(se(le,qe)),write:(qe,N)=>{var X=[];Te(Ce,qe,_e.toWireType(X,N)),ge(X)}}}),[{name:t.name,fromWireType:A=>{var z={};for(var Q in S)z[Q]=S[Q].read(A);return s(A),z},toWireType:(A,z)=>{for(var Q in S)if(!(Q in z))throw new TypeError(`Missing field: "${Q}"`);var ie=o();for(Q in S)S[Q].write(ie,z[Q]);return A!==null&&A.push(s,ie),ie},argPackAdvance:Ze,readValueFromPointer:ue,destructorFunction:s}]})},Xe=(e,t,o,s,f)=>{},be=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ke=e},Ke,me=e=>{for(var t="",o=e;ve[o];)t+=Ke[ve[o++]];return t},ze,pe=e=>{throw new ze(e)};function Ct(e,t){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=t.name;if(e||pe(`type "${s}" must have a positive integer typeid pointer`),Ne.hasOwnProperty(e)){if(o.ignoreDuplicateRegistrations)return;pe(`Cannot register type '${s}' twice`)}if(Ne[e]=t,delete ce[e],je.hasOwnProperty(e)){var f=je[e];delete je[e],f.forEach(g=>g())}}function Fe(e,t){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Ct(e,t,o)}var Ze=8,On=(e,t,o,s)=>{t=me(t),Fe(e,{name:t,fromWireType:function(f){return!!f},toWireType:function(f,g){return g?o:s},argPackAdvance:Ze,readValueFromPointer:function(f){return this.fromWireType(ve[f])},destructorFunction:null})},Tn=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Wt=e=>{function t(o){return o.$$.ptrType.registeredClass.name}pe(t(e)+" instance already deleted")},Ht=!1,cr=e=>{},Mn=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},lr=e=>{e.count.value-=1;var t=e.count.value===0;t&&Mn(e)},dr=(e,t,o)=>{if(t===o)return e;if(o.baseClass===void 0)return null;var s=dr(e,t,o.baseClass);return s===null?null:o.downcast(s)},fr={},Dn=()=>Object.keys(St).length,$n=()=>{var e=[];for(var t in St)St.hasOwnProperty(t)&&e.push(St[t]);return e},xt=[],Vt=()=>{for(;xt.length;){var e=xt.pop();e.$$.deleteScheduled=!1,e.delete()}},_t,kn=e=>{_t=e,xt.length&&_t&&_t(Vt)},En=()=>{i.getInheritedInstanceCount=Dn,i.getLiveInheritedInstances=$n,i.flushPendingDeletes=Vt,i.setDelayFunction=kn},St={},Rn=(e,t)=>{for(t===void 0&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},An=(e,t)=>(t=Rn(e,t),St[t]),kt=(e,t)=>{(!t.ptrType||!t.ptr)&&Re("makeClassHandle requires ptr and ptrType");var o=!!t.smartPtrType,s=!!t.smartPtr;return o!==s&&Re("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Pt(Object.create(e,{$$:{value:t,writable:!0}}))};function In(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var o=An(this.registeredClass,t);if(o!==void 0){if(o.$$.count.value===0)return o.$$.ptr=t,o.$$.smartPtr=e,o.clone();var s=o.clone();return this.destructor(e),s}function f(){return this.isSmartPointer?kt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):kt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var g=this.registeredClass.getActualType(t),C=fr[g];if(!C)return f.call(this);var S;this.isConst?S=C.constPointerType:S=C.pointerType;var A=dr(t,this.registeredClass,S.registeredClass);return A===null?f.call(this):this.isSmartPointer?kt(S.registeredClass.instancePrototype,{ptrType:S,ptr:A,smartPtrType:this,smartPtr:e}):kt(S.registeredClass.instancePrototype,{ptrType:S,ptr:A})}var Pt=e=>typeof FinalizationRegistry>"u"?(Pt=t=>t,e):(Ht=new FinalizationRegistry(t=>{lr(t.$$)}),Pt=t=>{var o=t.$$,s=!!o.smartPtr;if(s){var f={$$:o};Ht.register(t,f,t)}return t},cr=t=>Ht.unregister(t),Pt(e)),jn=()=>{Object.assign(Et.prototype,{isAliasOf(e){if(!(this instanceof Et)||!(e instanceof Et))return!1;var t=this.$$.ptrType.registeredClass,o=this.$$.ptr;e.$$=e.$$;for(var s=e.$$.ptrType.registeredClass,f=e.$$.ptr;t.baseClass;)o=t.upcast(o),t=t.baseClass;for(;s.baseClass;)f=s.upcast(f),s=s.baseClass;return t===s&&o===f},clone(){if(this.$$.ptr||Wt(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Pt(Object.create(Object.getPrototypeOf(this),{$$:{value:Tn(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Wt(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),cr(this),lr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Wt(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),xt.push(this),xt.length===1&&_t&&_t(Vt),this.$$.deleteScheduled=!0,this}})};function Et(){}var Ot=(e,t)=>Object.defineProperty(t,"name",{value:e}),hr=(e,t,o)=>{if(e[t].overloadTable===void 0){var s=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe(`Function '${o}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[s.argCount]=s}},Gt=(e,t,o)=>{i.hasOwnProperty(e)?((o===void 0||i[e].overloadTable!==void 0&&i[e].overloadTable[o]!==void 0)&&pe(`Cannot register public name '${e}' twice`),hr(i,e,e),i.hasOwnProperty(o)&&pe(`Cannot register multiple overloads of a function with the same number of arguments (${o})!`),i[e].overloadTable[o]=t):(i[e]=t,o!==void 0&&(i[e].numArguments=o))},Bn=48,Fn=57,qn=e=>{if(e===void 0)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var t=e.charCodeAt(0);return t>=Bn&&t<=Fn?`_${e}`:e};function Ln(e,t,o,s,f,g,C,S){this.name=e,this.constructor=t,this.instancePrototype=o,this.rawDestructor=s,this.baseClass=f,this.getActualType=g,this.upcast=C,this.downcast=S,this.pureVirtualFunctions=[]}var Qt=(e,t,o)=>{for(;t!==o;)t.upcast||pe(`Expected null or instance of ${o.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Nn(e,t){if(t===null)return this.isReference&&pe(`null is not a valid ${this.name}`),0;t.$$||pe(`Cannot pass "${Zt(t)}" as a ${this.name}`),t.$$.ptr||pe(`Cannot pass deleted object as a pointer of type ${this.name}`);var o=t.$$.ptrType.registeredClass,s=Qt(t.$$.ptr,o,this.registeredClass);return s}function zn(e,t){var o;if(t===null)return this.isReference&&pe(`null is not a valid ${this.name}`),this.isSmartPointer?(o=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,o),o):0;(!t||!t.$$)&&pe(`Cannot pass "${Zt(t)}" as a ${this.name}`),t.$$.ptr||pe(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&pe(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var s=t.$$.ptrType.registeredClass;if(o=Qt(t.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(t.$$.smartPtr===void 0&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?o=t.$$.smartPtr:pe(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:o=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)o=t.$$.smartPtr;else{var f=t.clone();o=this.rawShare(o,rt.toHandle(()=>f.delete())),e!==null&&e.push(this.rawDestructor,o)}break;default:pe("Unsupporting sharing policy")}return o}function Un(e,t){if(t===null)return this.isReference&&pe(`null is not a valid ${this.name}`),0;t.$$||pe(`Cannot pass "${Zt(t)}" as a ${this.name}`),t.$$.ptr||pe(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&pe(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var o=t.$$.ptrType.registeredClass,s=Qt(t.$$.ptr,o,this.registeredClass);return s}function pr(e){return this.fromWireType(oe[e>>2])}var Wn=()=>{Object.assign(Rt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;(t=this.rawDestructor)===null||t===void 0||t.call(this,e)},argPackAdvance:Ze,readValueFromPointer:pr,deleteObject(e){e!==null&&e.delete()},fromWireType:In})};function Rt(e,t,o,s,f,g,C,S,A,z,Q){this.name=e,this.registeredClass=t,this.isReference=o,this.isConst=s,this.isSmartPointer=f,this.pointeeType=g,this.sharingPolicy=C,this.rawGetPointee=S,this.rawConstructor=A,this.rawShare=z,this.rawDestructor=Q,!f&&t.baseClass===void 0?s?(this.toWireType=Nn,this.destructorFunction=null):(this.toWireType=Un,this.destructorFunction=null):this.toWireType=zn}var gr=(e,t,o)=>{i.hasOwnProperty(e)||Re("Replacing nonexistant public symbol"),i[e].overloadTable!==void 0&&o!==void 0?i[e].overloadTable[o]=t:(i[e]=t,i[e].argCount=o)},Hn=(e,t,o)=>{var s=i["dynCall_"+e];return o&&o.length?s.apply(null,[t].concat(o)):s.call(null,t)},At=[],vr,Se=e=>{var t=At[e];return t||(e>=At.length&&(At.length=e+1),At[e]=t=vr.get(e)),t},Vn=(e,t,o)=>{if(e.includes("j"))return Hn(e,t,o);var s=Se(t).apply(null,o);return s},Gn=(e,t)=>{var o=[];return function(){return o.length=0,Object.assign(o,arguments),Vn(e,t,o)}},Ye=(e,t)=>{e=me(e);function o(){return e.includes("j")?Gn(e,t):Se(t)}var s=o();return typeof s!="function"&&pe(`unknown function pointer with signature ${e}: ${t}`),s},Qn=(e,t)=>{var o=Ot(t,function(s){this.name=t,this.message=s;var f=new Error(s).stack;f!==void 0&&(this.stack=this.toString()+` +`+f.replace(/^Error(:[^\n]*)?\n/,""))});return o.prototype=Object.create(e.prototype),o.prototype.constructor=o,o.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},o},yr,mr=e=>{var t=Mr(e),o=me(t);return nt(t),o},It=(e,t)=>{var o=[],s={};function f(g){if(!s[g]&&!Ne[g]){if(ce[g]){ce[g].forEach(f);return}o.push(g),s[g]=!0}}throw t.forEach(f),new yr(`${e}: `+o.map(mr).join([", "]))},Yn=(e,t,o,s,f,g,C,S,A,z,Q,ie,se)=>{Q=me(Q),g=Ye(f,g),S&&(S=Ye(C,S)),z&&(z=Ye(A,z)),se=Ye(ie,se);var le=qn(Q);Gt(le,function(){It(`Cannot construct ${Q} due to unbound types`,[s])}),Be([e,t,o],s?[s]:[],function(_e){_e=_e[0];var Te,Ce;s?(Te=_e.registeredClass,Ce=Te.instancePrototype):Ce=Et.prototype;var qe=Ot(Q,function(){if(Object.getPrototypeOf(this)!==N)throw new ze("Use 'new' to construct "+Q);if(X.constructor_body===void 0)throw new ze(Q+" has no accessible constructor");var jr=X.constructor_body[arguments.length];if(jr===void 0)throw new ze(`Tried to invoke ctor of ${Q} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(X.constructor_body).toString()}) parameters instead!`);return jr.apply(this,arguments)}),N=Object.create(Ce,{constructor:{value:qe}});qe.prototype=N;var X=new Ln(Q,qe,N,se,Te,g,S,z);if(X.baseClass){var Me,Ae;(Ae=(Me=X.baseClass).__derivedClasses)!==null&&Ae!==void 0||(Me.__derivedClasses=[]),X.baseClass.__derivedClasses.push(X)}var ft=new Rt(Q,X,!0,!1,!1),Ft=new Rt(Q+"*",X,!1,!1,!1),Ir=new Rt(Q+" const*",X,!1,!0,!1);return fr[e]={pointerType:Ft,constPointerType:Ir},gr(le,qe),[ft,Ft,Ir]})},Yt=(e,t)=>{for(var o=[],s=0;s>2]);return o};function Jn(e){for(var t=1;t{var C=Yt(t,o);f=Ye(s,f),Be([],[e],function(S){S=S[0];var A=`constructor ${S.name}`;if(S.registeredClass.constructor_body===void 0&&(S.registeredClass.constructor_body=[]),S.registeredClass.constructor_body[t-1]!==void 0)throw new ze(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${S.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return S.registeredClass.constructor_body[t-1]=()=>{It(`Cannot construct ${S.name} due to unbound types`,C)},Be([],C,z=>(z.splice(1,0,null),S.registeredClass.constructor_body[t-1]=Jt(A,z,null,f,g),[])),[]})},wr=e=>{e=e.trim();const t=e.indexOf("(");return t!==-1?e.substr(0,t):e},Kn=(e,t,o,s,f,g,C,S,A)=>{var z=Yt(o,s);t=me(t),t=wr(t),g=Ye(f,g),Be([],[e],function(Q){Q=Q[0];var ie=`${Q.name}.${t}`;t.startsWith("@@")&&(t=Symbol[t.substring(2)]),S&&Q.registeredClass.pureVirtualFunctions.push(t);function se(){It(`Cannot call ${ie} due to unbound types`,z)}var le=Q.registeredClass.instancePrototype,_e=le[t];return _e===void 0||_e.overloadTable===void 0&&_e.className!==Q.name&&_e.argCount===o-2?(se.argCount=o-2,se.className=Q.name,le[t]=se):(hr(le,t,ie),le[t].overloadTable[o-2]=se),Be([],z,function(Te){var Ce=Jt(ie,Te,Q,g,C);return le[t].overloadTable===void 0?(Ce.argCount=o-2,le[t]=Ce):le[t].overloadTable[o-2]=Ce,[]}),[]})};function Zn(){Object.assign(br.prototype,{get(e){return this.allocated[e]},has(e){return this.allocated[e]!==void 0},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function br(){this.allocated=[void 0],this.freelist=[]}var Ge=new br,Xt=e=>{e>=Ge.reserved&&--Ge.get(e).refcount===0&&Ge.free(e)},eo=()=>{for(var e=0,t=Ge.reserved;t{Ge.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ge.reserved=Ge.allocated.length,i.count_emval_handles=eo},rt={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Ge.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ge.allocate({refcount:1,value:e})}}},ro=(e,t)=>{t=me(t),Fe(e,{name:t,fromWireType:o=>{var s=rt.toValue(o);return Xt(o),s},toWireType:(o,s)=>rt.toHandle(s),argPackAdvance:Ze,readValueFromPointer:ue,destructorFunction:null})},no=(e,t,o)=>{switch(t){case 1:return o?function(s){return this.fromWireType(re[s>>0])}:function(s){return this.fromWireType(ve[s>>0])};case 2:return o?function(s){return this.fromWireType($e[s>>1])}:function(s){return this.fromWireType(he[s>>1])};case 4:return o?function(s){return this.fromWireType(Z[s>>2])}:function(s){return this.fromWireType(oe[s>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},oo=(e,t,o,s)=>{t=me(t);function f(){}f.values={},Fe(e,{name:t,constructor:f,fromWireType:function(g){return this.constructor.values[g]},toWireType:(g,C)=>C.value,argPackAdvance:Ze,readValueFromPointer:no(t,o,s),destructorFunction:null}),Gt(t,f)},Kt=(e,t)=>{var o=Ne[e];return o===void 0&&pe(t+" has unknown type "+mr(e)),o},ao=(e,t,o)=>{var s=Kt(e,"enum");t=me(t);var f=s.constructor,g=Object.create(s.constructor.prototype,{value:{value:o},constructor:{value:Ot(`${s.name}_${t}`,function(){})}});f.values[o]=g,f[t]=g},Zt=e=>{if(e===null)return"null";var t=typeof e;return t==="object"||t==="array"||t==="function"?e.toString():""+e},io=(e,t)=>{switch(t){case 4:return function(o){return this.fromWireType(We[o>>2])};case 8:return function(o){return this.fromWireType(Le[o>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},so=(e,t,o)=>{t=me(t),Fe(e,{name:t,fromWireType:s=>s,toWireType:(s,f)=>f,argPackAdvance:Ze,readValueFromPointer:io(t,o),destructorFunction:null})},uo=(e,t,o,s,f,g,C)=>{var S=Yt(t,o);e=me(e),e=wr(e),f=Ye(s,f),Gt(e,function(){It(`Cannot call ${e} due to unbound types`,S)},t-1),Be([],S,function(A){var z=[A[0],null].concat(A.slice(1));return gr(e,Jt(e,z,null,f,g),t-1),[]})},co=(e,t,o)=>{switch(t){case 1:return o?s=>re[s>>0]:s=>ve[s>>0];case 2:return o?s=>$e[s>>1]:s=>he[s>>1];case 4:return o?s=>Z[s>>2]:s=>oe[s>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},lo=(e,t,o,s,f)=>{t=me(t);var g=Q=>Q;if(s===0){var C=32-8*o;g=Q=>Q<>>C}var S=t.includes("unsigned"),A=(Q,ie)=>{},z;S?z=function(Q,ie){return A(ie,this.name),ie>>>0}:z=function(Q,ie){return A(ie,this.name),ie},Fe(e,{name:t,fromWireType:g,toWireType:z,argPackAdvance:Ze,readValueFromPointer:co(t,o,s!==0),destructorFunction:null})},fo=(e,t,o)=>{var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],f=s[t];function g(C){var S=oe[C>>2],A=oe[C+4>>2];return new f(re.buffer,A,S)}o=me(o),Fe(e,{name:o,fromWireType:g,argPackAdvance:Ze,readValueFromPointer:g},{ignoreDuplicateRegistrations:!0})},Cr=(e,t,o,s)=>{if(!(s>0))return 0;for(var f=o,g=o+s-1,C=0;C=55296&&S<=57343){var A=e.charCodeAt(++C);S=65536+((S&1023)<<10)|A&1023}if(S<=127){if(o>=g)break;t[o++]=S}else if(S<=2047){if(o+1>=g)break;t[o++]=192|S>>6,t[o++]=128|S&63}else if(S<=65535){if(o+2>=g)break;t[o++]=224|S>>12,t[o++]=128|S>>6&63,t[o++]=128|S&63}else{if(o+3>=g)break;t[o++]=240|S>>18,t[o++]=128|S>>12&63,t[o++]=128|S>>6&63,t[o++]=128|S&63}}return t[o]=0,o-f},ho=(e,t,o)=>Cr(e,ve,t,o),xr=e=>{for(var t=0,o=0;o=55296&&s<=57343?(t+=4,++o):t+=3}return t},_r=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,po=(e,t,o)=>{for(var s=t+o,f=t;e[f]&&!(f>=s);)++f;if(f-t>16&&e.buffer&&_r)return _r.decode(e.subarray(t,f));for(var g="";t>10,56320|z&1023)}}return g},er=(e,t)=>e?po(ve,e,t):"",go=(e,t)=>{t=me(t);var o=t==="std::string";Fe(e,{name:t,fromWireType(s){var f=oe[s>>2],g=s+4,C;if(o)for(var S=g,A=0;A<=f;++A){var z=g+A;if(A==f||ve[z]==0){var Q=z-S,ie=er(S,Q);C===void 0?C=ie:(C+="\0",C+=ie),S=z+1}}else{for(var se=new Array(f),A=0;A>2]=g,o&&C)ho(f,A,g+1);else if(C)for(var z=0;z255&&(nt(A),pe("String has UTF-16 code units that do not fit in 8 bits")),ve[A+z]=Q}else for(var z=0;z{for(var o=e,s=o>>1,f=s+t/2;!(s>=f)&&he[s];)++s;if(o=s<<1,o-e>32&&Sr)return Sr.decode(ve.subarray(e,o));for(var g="",C=0;!(C>=t/2);++C){var S=$e[e+C*2>>1];if(S==0)break;g+=String.fromCharCode(S)}return g},yo=(e,t,o)=>{var s;if((s=o)!==null&&s!==void 0||(o=2147483647),o<2)return 0;o-=2;for(var f=t,g=o>1]=S,t+=2}return $e[t>>1]=0,t-f},mo=e=>e.length*2,wo=(e,t)=>{for(var o=0,s="";!(o>=t/4);){var f=Z[e+o*4>>2];if(f==0)break;if(++o,f>=65536){var g=f-65536;s+=String.fromCharCode(55296|g>>10,56320|g&1023)}else s+=String.fromCharCode(f)}return s},bo=(e,t,o)=>{var s;if((s=o)!==null&&s!==void 0||(o=2147483647),o<4)return 0;for(var f=t,g=f+o-4,C=0;C=55296&&S<=57343){var A=e.charCodeAt(++C);S=65536+((S&1023)<<10)|A&1023}if(Z[t>>2]=S,t+=4,t+4>g)break}return Z[t>>2]=0,t-f},Co=e=>{for(var t=0,o=0;o=55296&&s<=57343&&++o,t+=4}return t},xo=(e,t,o)=>{o=me(o);var s,f,g,C,S;t===2?(s=vo,f=yo,C=mo,g=()=>he,S=1):t===4&&(s=wo,f=bo,C=Co,g=()=>oe,S=2),Fe(e,{name:o,fromWireType:A=>{for(var z=oe[A>>2],Q=g(),ie,se=A+4,le=0;le<=z;++le){var _e=A+4+le*t;if(le==z||Q[_e>>S]==0){var Te=_e-se,Ce=s(se,Te);ie===void 0?ie=Ce:(ie+="\0",ie+=Ce),se=_e+t}}return nt(A),ie},toWireType:(A,z)=>{typeof z!="string"&&pe(`Cannot pass non-string to C++ string type ${o}`);var Q=C(z),ie=nr(4+Q+t);return oe[ie>>2]=Q>>S,f(z,ie+4,Q+t),A!==null&&A.push(nt,ie),ie},argPackAdvance:Ze,readValueFromPointer:ue,destructorFunction(A){nt(A)}})},_o=(e,t,o,s,f,g)=>{J[e]={name:me(t),rawConstructor:Ye(o,s),rawDestructor:Ye(f,g),fields:[]}},So=(e,t,o,s,f,g,C,S,A,z)=>{J[e].fields.push({fieldName:me(t),getterReturnType:o,getter:Ye(s,f),getterContext:g,setterArgumentType:C,setter:Ye(S,A),setterContext:z})},Po=(e,t)=>{t=me(t),Fe(e,{isVoid:!0,name:t,argPackAdvance:0,fromWireType:()=>{},toWireType:(o,s)=>{}})},tr=[],Oo=(e,t,o,s)=>(e=tr[e],t=rt.toValue(t),e(null,t,o,s)),To={},Mo=e=>{var t=To[e];return t===void 0?me(e):t},Pr=()=>{if(typeof globalThis=="object")return globalThis;function e(t){t.$$$embind_global$$$=t;var o=typeof $$$embind_global$$$=="object"&&t.$$$embind_global$$$==t;return o||delete t.$$$embind_global$$$,o}if(typeof $$$embind_global$$$=="object"||(typeof global=="object"&&e(global)?$$$embind_global$$$=global:typeof self=="object"&&e(self)&&($$$embind_global$$$=self),typeof $$$embind_global$$$=="object"))return $$$embind_global$$$;throw Error("unable to get global object.")},Do=e=>e===0?rt.toHandle(Pr()):(e=Mo(e),rt.toHandle(Pr()[e])),$o=e=>{var t=tr.length;return tr.push(e),t},ko=(e,t)=>{for(var o=new Array(e),s=0;s>2],"parameter "+s);return o},Eo=Reflect.construct,Ro=(e,t,o)=>{var s=[],f=e.toWireType(s,o);return s.length&&(oe[t>>2]=rt.toHandle(s)),f},Ao=(e,t,o)=>{var s=ko(e,t),f=s.shift();e--;var g=new Array(e),C=(A,z,Q,ie)=>{for(var se=0,le=0;leA.name).join(", ")}) => ${f.name}>`;return $o(Ot(S,C))},Io=e=>{e>4&&(Ge.get(e).refcount+=1)},jo=e=>{var t=rt.toValue(e);ge(t),Xt(e)},Bo=(e,t)=>{e=Kt(e,"_emval_take_value");var o=e.readValueFromPointer(t);return rt.toHandle(o)},Fo=()=>{u("")},qo=(e,t,o)=>ve.copyWithin(e,t,t+o),Lo=()=>2147483648,No=e=>{var t=K.buffer,o=(e-t.byteLength+65535)/65536;try{return K.grow(o),He(),1}catch{}},zo=e=>{var t=ve.length;e>>>=0;var o=Lo();if(e>o)return!1;for(var s=(A,z)=>A+(z-A%z)%z,f=1;f<=4;f*=2){var g=t*(1+.2/f);g=Math.min(g,e+100663296);var C=Math.min(o,s(Math.max(e,g),65536)),S=No(C);if(S)return!0}return!1},rr={},Uo=()=>$||"./this.program",Tt=()=>{if(!Tt.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:Uo()};for(var o in rr)rr[o]===void 0?delete t[o]:t[o]=rr[o];var s=[];for(var o in t)s.push(`${o}=${t[o]}`);Tt.strings=s}return Tt.strings},Wo=(e,t)=>{for(var o=0;o>0]=e.charCodeAt(o);re[t>>0]=0},Ho=(e,t)=>{var o=0;return Tt().forEach((s,f)=>{var g=t+o;oe[e+f*4>>2]=g,Wo(s,g),o+=s.length+1}),0},Vo=(e,t)=>{var o=Tt();oe[e>>2]=o.length;var s=0;return o.forEach(f=>s+=f.length+1),oe[t>>2]=s,0},Go=e=>e,jt=e=>e%4===0&&(e%100!==0||e%400===0),Qo=(e,t)=>{for(var o=0,s=0;s<=t;o+=e[s++]);return o},Or=[31,29,31,30,31,30,31,31,30,31,30,31],Tr=[31,28,31,30,31,30,31,31,30,31,30,31],Yo=(e,t)=>{for(var o=new Date(e.getTime());t>0;){var s=jt(o.getFullYear()),f=o.getMonth(),g=(s?Or:Tr)[f];if(t>g-o.getDate())t-=g-o.getDate()+1,o.setDate(1),f<11?o.setMonth(f+1):(o.setMonth(0),o.setFullYear(o.getFullYear()+1));else return o.setDate(o.getDate()+t),o}return o};function Jo(e,t,o){var s=xr(e)+1,f=new Array(s);return Cr(e,f,0,f.length),f}var Xo=(e,t)=>{re.set(e,t)},Ko=(e,t,o,s)=>{var f=oe[s+40>>2],g={tm_sec:Z[s>>2],tm_min:Z[s+4>>2],tm_hour:Z[s+8>>2],tm_mday:Z[s+12>>2],tm_mon:Z[s+16>>2],tm_year:Z[s+20>>2],tm_wday:Z[s+24>>2],tm_yday:Z[s+28>>2],tm_isdst:Z[s+32>>2],tm_gmtoff:Z[s+36>>2],tm_zone:f?er(f):""},C=er(o),S={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var A in S)C=C.replace(new RegExp(A,"g"),S[A]);var z=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Q=["January","February","March","April","May","June","July","August","September","October","November","December"];function ie(N,X,Me){for(var Ae=typeof N=="number"?N.toString():N||"";Ae.length0?1:0}var Ae;return(Ae=Me(N.getFullYear()-X.getFullYear()))===0&&(Ae=Me(N.getMonth()-X.getMonth()))===0&&(Ae=Me(N.getDate()-X.getDate())),Ae}function _e(N){switch(N.getDay()){case 0:return new Date(N.getFullYear()-1,11,29);case 1:return N;case 2:return new Date(N.getFullYear(),0,3);case 3:return new Date(N.getFullYear(),0,2);case 4:return new Date(N.getFullYear(),0,1);case 5:return new Date(N.getFullYear()-1,11,31);case 6:return new Date(N.getFullYear()-1,11,30)}}function Te(N){var X=Yo(new Date(N.tm_year+1900,0,1),N.tm_yday),Me=new Date(X.getFullYear(),0,4),Ae=new Date(X.getFullYear()+1,0,4),ft=_e(Me),Ft=_e(Ae);return le(ft,X)<=0?le(Ft,X)<=0?X.getFullYear()+1:X.getFullYear():X.getFullYear()-1}var Ce={"%a":N=>z[N.tm_wday].substring(0,3),"%A":N=>z[N.tm_wday],"%b":N=>Q[N.tm_mon].substring(0,3),"%B":N=>Q[N.tm_mon],"%C":N=>{var X=N.tm_year+1900;return se(X/100|0,2)},"%d":N=>se(N.tm_mday,2),"%e":N=>ie(N.tm_mday,2," "),"%g":N=>Te(N).toString().substring(2),"%G":N=>Te(N),"%H":N=>se(N.tm_hour,2),"%I":N=>{var X=N.tm_hour;return X==0?X=12:X>12&&(X-=12),se(X,2)},"%j":N=>se(N.tm_mday+Qo(jt(N.tm_year+1900)?Or:Tr,N.tm_mon-1),3),"%m":N=>se(N.tm_mon+1,2),"%M":N=>se(N.tm_min,2),"%n":()=>` +`,"%p":N=>N.tm_hour>=0&&N.tm_hour<12?"AM":"PM","%S":N=>se(N.tm_sec,2),"%t":()=>" ","%u":N=>N.tm_wday||7,"%U":N=>{var X=N.tm_yday+7-N.tm_wday;return se(Math.floor(X/7),2)},"%V":N=>{var X=Math.floor((N.tm_yday+7-(N.tm_wday+6)%7)/7);if((N.tm_wday+371-N.tm_yday-2)%7<=2&&X++,X){if(X==53){var Me=(N.tm_wday+371-N.tm_yday)%7;Me!=4&&(Me!=3||!jt(N.tm_year))&&(X=1)}}else{X=52;var Ae=(N.tm_wday+7-N.tm_yday-1)%7;(Ae==4||Ae==5&&jt(N.tm_year%400-1))&&X++}return se(X,2)},"%w":N=>N.tm_wday,"%W":N=>{var X=N.tm_yday+7-(N.tm_wday+6)%7;return se(Math.floor(X/7),2)},"%y":N=>(N.tm_year+1900).toString().substring(2),"%Y":N=>N.tm_year+1900,"%z":N=>{var X=N.tm_gmtoff,Me=X>=0;return X=Math.abs(X)/60,X=X/60*100+X%60,(Me?"+":"-")+("0000"+X).slice(-4)},"%Z":N=>N.tm_zone,"%%":()=>"%"};C=C.replace(/%%/g,"\0\0");for(var A in Ce)C.includes(A)&&(C=C.replace(new RegExp(A,"g"),Ce[A](g)));C=C.replace(/\0\0/g,"%");var qe=Jo(C);return qe.length>t?0:(Xo(qe,e),qe.length-1)},Zo=(e,t,o,s,f)=>Ko(e,t,o,s);Ee=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},be(),ze=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},jn(),En(),Wn(),yr=i.UnboundTypeError=Qn(Error,"UnboundTypeError"),Zn(),to();var ea={s:M,u:m,b:U,g:ne,q:te,J:Y,f:ye,V:we,d:H,da:at,Q:Xe,_:On,ca:Yn,ba:Xn,w:Kn,Y:ro,x:oo,h:ao,L:so,M:uo,t:lo,o:fo,K:go,C:xo,A:_o,ea:So,$:Po,R:Oo,ha:Xt,fa:Do,Z:Ao,N:Io,O:jo,aa:Bo,B:Fo,X:qo,W:zo,T:Ho,U:Vo,E:va,D:aa,F:ga,n:ya,a:ta,e:sa,m:oa,k:ca,H:ha,v:da,G:pa,z:wa,P:Ca,l:ua,j:ia,c:na,p:ra,I:fa,r:ma,i:la,y:ba,ga:Go,S:Zo},De=D(),nt=i._free=e=>(nt=i._free=De.ka)(e),nr=i._malloc=e=>(nr=i._malloc=De.la)(e),Mr=e=>(Mr=De.na)(e),xe=(e,t)=>(xe=De.oa)(e,t),Mt=e=>(Mt=De.pa)(e),Pe=()=>(Pe=De.qa)(),Oe=e=>(Oe=De.ra)(e),Dr=e=>(Dr=De.sa)(e),$r=e=>($r=De.ta)(e),kr=(e,t,o)=>(kr=De.ua)(e,t,o),Er=e=>(Er=De.va)(e);i.dynCall_viijii=(e,t,o,s,f,g,C)=>(i.dynCall_viijii=De.wa)(e,t,o,s,f,g,C);var Rr=i.dynCall_jiiii=(e,t,o,s,f)=>(Rr=i.dynCall_jiiii=De.xa)(e,t,o,s,f);i.dynCall_iiiiij=(e,t,o,s,f,g,C)=>(i.dynCall_iiiiij=De.ya)(e,t,o,s,f,g,C),i.dynCall_iiiiijj=(e,t,o,s,f,g,C,S,A)=>(i.dynCall_iiiiijj=De.za)(e,t,o,s,f,g,C,S,A),i.dynCall_iiiiiijj=(e,t,o,s,f,g,C,S,A,z)=>(i.dynCall_iiiiiijj=De.Aa)(e,t,o,s,f,g,C,S,A,z);function ta(e,t){var o=Pe();try{return Se(e)(t)}catch(s){if(Oe(o),s!==s+0)throw s;xe(1,0)}}function ra(e,t,o,s){var f=Pe();try{Se(e)(t,o,s)}catch(g){if(Oe(f),g!==g+0)throw g;xe(1,0)}}function na(e,t,o){var s=Pe();try{Se(e)(t,o)}catch(f){if(Oe(s),f!==f+0)throw f;xe(1,0)}}function oa(e,t,o,s){var f=Pe();try{return Se(e)(t,o,s)}catch(g){if(Oe(f),g!==g+0)throw g;xe(1,0)}}function aa(e,t,o,s,f){var g=Pe();try{return Se(e)(t,o,s,f)}catch(C){if(Oe(g),C!==C+0)throw C;xe(1,0)}}function ia(e,t){var o=Pe();try{Se(e)(t)}catch(s){if(Oe(o),s!==s+0)throw s;xe(1,0)}}function sa(e,t,o){var s=Pe();try{return Se(e)(t,o)}catch(f){if(Oe(s),f!==f+0)throw f;xe(1,0)}}function ua(e){var t=Pe();try{Se(e)()}catch(o){if(Oe(t),o!==o+0)throw o;xe(1,0)}}function ca(e,t,o,s,f){var g=Pe();try{return Se(e)(t,o,s,f)}catch(C){if(Oe(g),C!==C+0)throw C;xe(1,0)}}function la(e,t,o,s,f,g,C,S,A,z,Q){var ie=Pe();try{Se(e)(t,o,s,f,g,C,S,A,z,Q)}catch(se){if(Oe(ie),se!==se+0)throw se;xe(1,0)}}function da(e,t,o,s,f,g,C){var S=Pe();try{return Se(e)(t,o,s,f,g,C)}catch(A){if(Oe(S),A!==A+0)throw A;xe(1,0)}}function fa(e,t,o,s,f){var g=Pe();try{Se(e)(t,o,s,f)}catch(C){if(Oe(g),C!==C+0)throw C;xe(1,0)}}function ha(e,t,o,s,f,g){var C=Pe();try{return Se(e)(t,o,s,f,g)}catch(S){if(Oe(C),S!==S+0)throw S;xe(1,0)}}function pa(e,t,o,s,f,g,C,S){var A=Pe();try{return Se(e)(t,o,s,f,g,C,S)}catch(z){if(Oe(A),z!==z+0)throw z;xe(1,0)}}function ga(e,t,o,s){var f=Pe();try{return Se(e)(t,o,s)}catch(g){if(Oe(f),g!==g+0)throw g;xe(1,0)}}function va(e,t,o,s){var f=Pe();try{return Se(e)(t,o,s)}catch(g){if(Oe(f),g!==g+0)throw g;xe(1,0)}}function ya(e){var t=Pe();try{return Se(e)()}catch(o){if(Oe(t),o!==o+0)throw o;xe(1,0)}}function ma(e,t,o,s,f,g,C,S){var A=Pe();try{Se(e)(t,o,s,f,g,C,S)}catch(z){if(Oe(A),z!==z+0)throw z;xe(1,0)}}function wa(e,t,o,s,f,g,C,S,A,z,Q,ie){var se=Pe();try{return Se(e)(t,o,s,f,g,C,S,A,z,Q,ie)}catch(le){if(Oe(se),le!==le+0)throw le;xe(1,0)}}function ba(e,t,o,s,f,g,C,S,A,z,Q,ie,se,le,_e,Te){var Ce=Pe();try{Se(e)(t,o,s,f,g,C,S,A,z,Q,ie,se,le,_e,Te)}catch(qe){if(Oe(Ce),qe!==qe+0)throw qe;xe(1,0)}}function Ca(e,t,o,s,f){var g=Pe();try{return Rr(e,t,o,s,f)}catch(C){if(Oe(g),C!==C+0)throw C;xe(1,0)}}var Bt;w=function e(){Bt||Ar(),Bt||(w=e)};function Ar(){if(T>0||(Je(),T>0))return;function e(){Bt||(Bt=!0,i.calledRun=!0,!de&&(ct(),h(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),lt()))}i.setStatus?(i.setStatus("Running..."),setTimeout(function(){setTimeout(function(){i.setStatus("")},1),e()},1)):e()}if(i.preInit)for(typeof i.preInit=="function"&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Ar(),a.ready}})();function Si(r){return sr(ur,r)}async function Pi(r,a){return xi(ur,r,a)}async function Oi(r,a){return _i(ur,r,a)}var $t;class Hr extends EventTarget{constructor(a={}){var i;super(),Ka(this,$t,void 0);try{const h=(i=a==null?void 0:a.formats)==null?void 0:i.filter(y=>y!=="unknown");if((h==null?void 0:h.length)===0)throw new TypeError("Hint option provided, but is empty.");h==null||h.forEach(y=>{if(!Nt.has(y))throw new TypeError(`Failed to read the 'formats' property from 'BarcodeDetectorOptions': The provided value '${y}' is not a valid enum value of type BarcodeFormat.`)}),Za(this,$t,h??[]),Si().then(y=>{this.dispatchEvent(new CustomEvent("load",{detail:y}))}).catch(y=>{this.dispatchEvent(new CustomEvent("error",{detail:y}))})}catch(h){throw Nr(h,"Failed to construct 'BarcodeDetector'")}}static async getSupportedFormats(){return ei.filter(a=>a!=="unknown")}async detect(a){try{const i=await si(a);if(i===null)return[];let h;try{sn(i)?h=await Pi(i,{tryHarder:!0,formats:Lr(this,$t).map(y=>Nt.get(y))}):h=await Oi(i,{tryHarder:!0,formats:Lr(this,$t).map(y=>Nt.get(y))})}catch(y){throw console.error(y),new DOMException("Barcode detection service unavailable.","NotSupportedError")}return h.map(y=>{const{topLeft:{x,y:$},topRight:{x:F,y:P},bottomLeft:{x:B,y:V},bottomRight:{x:W,y:ae}}=y.position,fe=Math.min(x,F,B,W),K=Math.min($,P,V,ae),de=Math.max(x,F,B,W),re=Math.max($,P,V,ae);return{boundingBox:new DOMRectReadOnly(fe,K,de-fe,re-K),rawValue:y.text,format:ti(y.format),cornerPoints:[{x,y:$},{x:F,y:P},{x:W,y:ae},{x:B,y:V}]}})}catch(i){throw Nr(i,"Failed to execute 'detect' on 'BarcodeDetector'")}}}$t=new WeakMap;const dn=(r,a,i="error")=>{let h,y;const x=new Promise(($,F)=>{h=$,y=F,r.addEventListener(a,h),r.addEventListener(i,y)});return x.finally(()=>{r.removeEventListener(a,h),r.removeEventListener(i,y)}),x},Vr=r=>new Promise(a=>setTimeout(a,r));class fn extends Error{constructor(){super("this browser has no Stream API support"),this.name="StreamApiNotSupportedError"}}class Ti extends Error{constructor(){super("camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP."),this.name="InsecureContextError"}}class Mi extends Error{constructor(){super("Loading camera stream timed out after 6 seconds. If you are on iOS in PWA mode, this is a known issue (see https://github.com/gruhn/vue-qrcode-reader/issues/298)"),this.name="StreamLoadTimeoutError"}}let hn;async function Di(r){if(window.BarcodeDetector===void 0)return console.debug("[vue-qrcode-reader] Native BarcodeDetector not supported. Will use polyfill."),new Hr({formats:r});const a=await window.BarcodeDetector.getSupportedFormats(),i=r.filter(h=>!a.includes(h));return i.length>0?(console.debug(`[vue-qrcode-reader] Native BarcodeDetector does not support formats ${JSON.stringify(i)}. Will use polyfill.`),new Hr({formats:r})):(console.debug("[vue-qrcode-reader] Will use native BarcodeDetector."),new window.BarcodeDetector({formats:r}))}async function pn(r){hn=await Di(r)}const $i=async(r,{detectHandler:a,locateHandler:i,minDelay:h,formats:y})=>{console.debug("[vue-qrcode-reader] start scanning"),await pn(y);const x=$=>async F=>{if(r.readyState===0)console.debug("[vue-qrcode-reader] stop scanning: video element readyState is 0");else{const{lastScanned:P,contentBefore:B,lastScanHadContent:V}=$;if(F-P!B.includes(de.rawValue));ae&&a(W);const fe=W.length>0;fe&&i(W),!fe&&V&&i(W);const K={lastScanned:F,lastScanHadContent:fe,contentBefore:ae?W.map(de=>de.rawValue):B};window.requestAnimationFrame(x(K))}}};x({lastScanned:performance.now(),contentBefore:[],lastScanHadContent:!1})(performance.now())};var gn={},Ue={};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.compactObject=mn;Ue.deprecated=qi;var ki=Ue.detectBrowser=Li;Ue.disableLog=ji;Ue.disableWarnings=Bi;Ue.extractVersion=zt;Ue.filterStats=Ni;Ue.log=Fi;Ue.walkStats=Ut;Ue.wrapPeerConnectionEvent=Ii;function Ei(r,a,i){return a=Ri(a),a in r?Object.defineProperty(r,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[a]=i,r}function Ri(r){var a=Ai(r,"string");return st(a)==="symbol"?a:String(a)}function Ai(r,a){if(st(r)!=="object"||r===null)return r;var i=r[Symbol.toPrimitive];if(i!==void 0){var h=i.call(r,a||"default");if(st(h)!=="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(r)}function st(r){"@babel/helpers - typeof";return st=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},st(r)}var vn=!0,yn=!0;function zt(r,a,i){var h=r.match(a);return h&&h.length>=i&&parseInt(h[i],10)}function Ii(r,a,i){if(r.RTCPeerConnection){var h=r.RTCPeerConnection.prototype,y=h.addEventListener;h.addEventListener=function($,F){if($!==a)return y.apply(this,arguments);var P=function(B){var V=i(B);V&&(F.handleEvent?F.handleEvent(V):F(V))};return this._eventMap=this._eventMap||{},this._eventMap[a]||(this._eventMap[a]=new Map),this._eventMap[a].set(F,P),y.apply(this,[$,P])};var x=h.removeEventListener;h.removeEventListener=function($,F){if($!==a||!this._eventMap||!this._eventMap[a])return x.apply(this,arguments);if(!this._eventMap[a].has(F))return x.apply(this,arguments);var P=this._eventMap[a].get(F);return this._eventMap[a].delete(F),this._eventMap[a].size===0&&delete this._eventMap[a],Object.keys(this._eventMap).length===0&&delete this._eventMap,x.apply(this,[$,P])},Object.defineProperty(h,"on"+a,{get:function(){return this["_on"+a]},set:function($){this["_on"+a]&&(this.removeEventListener(a,this["_on"+a]),delete this["_on"+a]),$&&this.addEventListener(a,this["_on"+a]=$)},enumerable:!0,configurable:!0})}}function ji(r){return typeof r!="boolean"?new Error("Argument type: "+st(r)+". Please use a boolean."):(vn=r,r?"adapter.js logging disabled":"adapter.js logging enabled")}function Bi(r){return typeof r!="boolean"?new Error("Argument type: "+st(r)+". Please use a boolean."):(yn=!r,"adapter.js deprecation warnings "+(r?"disabled":"enabled"))}function Fi(){if((typeof window>"u"?"undefined":st(window))==="object"){if(vn)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function qi(r,a){yn&&console.warn(r+" is deprecated, please use "+a+" instead.")}function Li(r){var a={browser:null,version:null};if(typeof r>"u"||!r.navigator||!r.navigator.userAgent)return a.browser="Not a browser.",a;var i=r.navigator;if(i.mozGetUserMedia)a.browser="firefox",a.version=zt(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||r.isSecureContext===!1&&r.webkitRTCPeerConnection)a.browser="chrome",a.version=zt(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(r.RTCPeerConnection&&i.userAgent.match(/AppleWebKit\/(\d+)\./))a.browser="safari",a.version=zt(i.userAgent,/AppleWebKit\/(\d+)\./,1),a.supportsUnifiedPlan=r.RTCRtpTransceiver&&"currentDirection"in r.RTCRtpTransceiver.prototype;else return a.browser="Not a supported browser.",a;return a}function Gr(r){return Object.prototype.toString.call(r)==="[object Object]"}function mn(r){return Gr(r)?Object.keys(r).reduce(function(a,i){var h=Gr(r[i]),y=h?mn(r[i]):r[i],x=h&&!Object.keys(y).length;return y===void 0||x?a:Object.assign(a,Ei({},i,y))},{}):r}function Ut(r,a,i){!a||i.has(a.id)||(i.set(a.id,a),Object.keys(a).forEach(function(h){h.endsWith("Id")?Ut(r,r.get(a[h]),i):h.endsWith("Ids")&&a[h].forEach(function(y){Ut(r,r.get(y),i)})}))}function Ni(r,a,i){var h=i?"outbound-rtp":"inbound-rtp",y=new Map;if(a===null)return y;var x=[];return r.forEach(function($){$.type==="track"&&$.trackIdentifier===a.id&&x.push($)}),x.forEach(function($){r.forEach(function(F){F.type===h&&F.trackId===$.id&&Ut(r,F,y)})}),y}Object.defineProperty(gn,"__esModule",{value:!0});var zi=gn.shimGetUserMedia=Hi,Ui=Wi(Ue);function wn(r){if(typeof WeakMap!="function")return null;var a=new WeakMap,i=new WeakMap;return(wn=function(h){return h?i:a})(r)}function Wi(r,a){if(r.__esModule)return r;if(r===null||it(r)!=="object"&&typeof r!="function")return{default:r};var i=wn(a);if(i&&i.has(r))return i.get(r);var h={},y=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var x in r)if(x!=="default"&&Object.prototype.hasOwnProperty.call(r,x)){var $=y?Object.getOwnPropertyDescriptor(r,x):null;$&&($.get||$.set)?Object.defineProperty(h,x,$):h[x]=r[x]}return h.default=r,i&&i.set(r,h),h}function it(r){"@babel/helpers - typeof";return it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},it(r)}var Qr=Ui.log;function Hi(r,a){var i=r&&r.navigator;if(i.mediaDevices){var h=function(P){if(it(P)!=="object"||P.mandatory||P.optional)return P;var B={};return Object.keys(P).forEach(function(V){if(!(V==="require"||V==="advanced"||V==="mediaSource")){var W=it(P[V])==="object"?P[V]:{ideal:P[V]};W.exact!==void 0&&typeof W.exact=="number"&&(W.min=W.max=W.exact);var ae=function(K,de){return K?K+de.charAt(0).toUpperCase()+de.slice(1):de==="deviceId"?"sourceId":de};if(W.ideal!==void 0){B.optional=B.optional||[];var fe={};typeof W.ideal=="number"?(fe[ae("min",V)]=W.ideal,B.optional.push(fe),fe={},fe[ae("max",V)]=W.ideal,B.optional.push(fe)):(fe[ae("",V)]=W.ideal,B.optional.push(fe))}W.exact!==void 0&&typeof W.exact!="number"?(B.mandatory=B.mandatory||{},B.mandatory[ae("",V)]=W.exact):["min","max"].forEach(function(K){W[K]!==void 0&&(B.mandatory=B.mandatory||{},B.mandatory[ae(K,V)]=W[K])})}}),P.advanced&&(B.optional=(B.optional||[]).concat(P.advanced)),B},y=function(P,B){if(a.version>=61)return B(P);if(P=JSON.parse(JSON.stringify(P)),P&&it(P.audio)==="object"){var V=function(K,de,re){de in K&&!(re in K)&&(K[re]=K[de],delete K[de])};P=JSON.parse(JSON.stringify(P)),V(P.audio,"autoGainControl","googAutoGainControl"),V(P.audio,"noiseSuppression","googNoiseSuppression"),P.audio=h(P.audio)}if(P&&it(P.video)==="object"){var W=P.video.facingMode;W=W&&(it(W)==="object"?W:{ideal:W});var ae=a.version<66;if(W&&(W.exact==="user"||W.exact==="environment"||W.ideal==="user"||W.ideal==="environment")&&!(i.mediaDevices.getSupportedConstraints&&i.mediaDevices.getSupportedConstraints().facingMode&&!ae)){delete P.video.facingMode;var fe;if(W.exact==="environment"||W.ideal==="environment"?fe=["back","rear"]:(W.exact==="user"||W.ideal==="user")&&(fe=["front"]),fe)return i.mediaDevices.enumerateDevices().then(function(K){K=K.filter(function(re){return re.kind==="videoinput"});var de=K.find(function(re){return fe.some(function(ve){return re.label.toLowerCase().includes(ve)})});return!de&&K.length&&fe.includes("back")&&(de=K[K.length-1]),de&&(P.video.deviceId=W.exact?{exact:de.deviceId}:{ideal:de.deviceId}),P.video=h(P.video),Qr("chrome: "+JSON.stringify(P)),B(P)})}P.video=h(P.video)}return Qr("chrome: "+JSON.stringify(P)),B(P)},x=function(P){return a.version>=64?P:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[P.name]||P.name,message:P.message,constraint:P.constraint||P.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},$=function(P,B,V){y(P,function(W){i.webkitGetUserMedia(W,B,function(ae){V&&V(x(ae))})})};if(i.getUserMedia=$.bind(i),i.mediaDevices.getUserMedia){var F=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(P){return y(P,function(B){return F(B).then(function(V){if(B.audio&&!V.getAudioTracks().length||B.video&&!V.getVideoTracks().length)throw V.getTracks().forEach(function(W){W.stop()}),new DOMException("","NotFoundError");return V},function(V){return Promise.reject(x(V))})})}}}}var bn={};Object.defineProperty(bn,"__esModule",{value:!0});var Vi=bn.shimGetUserMedia=Yi,Gi=Qi(Ue);function Cn(r){if(typeof WeakMap!="function")return null;var a=new WeakMap,i=new WeakMap;return(Cn=function(h){return h?i:a})(r)}function Qi(r,a){if(r.__esModule)return r;if(r===null||mt(r)!=="object"&&typeof r!="function")return{default:r};var i=Cn(a);if(i&&i.has(r))return i.get(r);var h={},y=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var x in r)if(x!=="default"&&Object.prototype.hasOwnProperty.call(r,x)){var $=y?Object.getOwnPropertyDescriptor(r,x):null;$&&($.get||$.set)?Object.defineProperty(h,x,$):h[x]=r[x]}return h.default=r,i&&i.set(r,h),h}function mt(r){"@babel/helpers - typeof";return mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},mt(r)}function Yi(r,a){var i=r&&r.navigator,h=r&&r.MediaStreamTrack;if(i.getUserMedia=function(P,B,V){Gi.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(P).then(B,V)},!(a.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){var y=function(P,B,V){B in P&&!(V in P)&&(P[V]=P[B],delete P[B])},x=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(P){return mt(P)==="object"&&mt(P.audio)==="object"&&(P=JSON.parse(JSON.stringify(P)),y(P.audio,"autoGainControl","mozAutoGainControl"),y(P.audio,"noiseSuppression","mozNoiseSuppression")),x(P)},h&&h.prototype.getSettings){var $=h.prototype.getSettings;h.prototype.getSettings=function(){var P=$.apply(this,arguments);return y(P,"mozAutoGainControl","autoGainControl"),y(P,"mozNoiseSuppression","noiseSuppression"),P}}if(h&&h.prototype.applyConstraints){var F=h.prototype.applyConstraints;h.prototype.applyConstraints=function(P){return this.kind==="audio"&&mt(P)==="object"&&(P=JSON.parse(JSON.stringify(P)),y(P,"autoGainControl","mozAutoGainControl"),y(P,"noiseSuppression","mozNoiseSuppression")),F.apply(this,[P])}}}}var tt={};Object.defineProperty(tt,"__esModule",{value:!0});tt.shimAudioContext=as;tt.shimCallbacksAPI=es;tt.shimConstraints=Sn;tt.shimCreateOfferLegacy=os;var Ji=tt.shimGetUserMedia=ts;tt.shimLocalStreamsAPI=Ki;tt.shimRTCIceServerUrls=rs;tt.shimRemoteStreamsAPI=Zi;tt.shimTrackEventTransceiver=ns;var xn=Xi(Ue);function _n(r){if(typeof WeakMap!="function")return null;var a=new WeakMap,i=new WeakMap;return(_n=function(h){return h?i:a})(r)}function Xi(r,a){if(r.__esModule)return r;if(r===null||ut(r)!=="object"&&typeof r!="function")return{default:r};var i=_n(a);if(i&&i.has(r))return i.get(r);var h={},y=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var x in r)if(x!=="default"&&Object.prototype.hasOwnProperty.call(r,x)){var $=y?Object.getOwnPropertyDescriptor(r,x):null;$&&($.get||$.set)?Object.defineProperty(h,x,$):h[x]=r[x]}return h.default=r,i&&i.set(r,h),h}function ut(r){"@babel/helpers - typeof";return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},ut(r)}function Ki(r){if(!(ut(r)!=="object"||!r.RTCPeerConnection)){if("getLocalStreams"in r.RTCPeerConnection.prototype||(r.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in r.RTCPeerConnection.prototype)){var a=r.RTCPeerConnection.prototype.addTrack;r.RTCPeerConnection.prototype.addStream=function(i){var h=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(i)||this._localStreams.push(i),i.getAudioTracks().forEach(function(y){return a.call(h,y,i)}),i.getVideoTracks().forEach(function(y){return a.call(h,y,i)})},r.RTCPeerConnection.prototype.addTrack=function(i){for(var h=this,y=arguments.length,x=new Array(y>1?y-1:0),$=1;$=0)){i._remoteStreams.push(y);var x=new Event("addstream");x.stream=y,i.dispatchEvent(x)}})}),a.apply(i,arguments)}}}function es(r){if(!(ut(r)!=="object"||!r.RTCPeerConnection)){var a=r.RTCPeerConnection.prototype,i=a.createOffer,h=a.createAnswer,y=a.setLocalDescription,x=a.setRemoteDescription,$=a.addIceCandidate;a.createOffer=function(P,B){var V=arguments.length>=2?arguments[2]:arguments[0],W=i.apply(this,[V]);return B?(W.then(P,B),Promise.resolve()):W},a.createAnswer=function(P,B){var V=arguments.length>=2?arguments[2]:arguments[0],W=h.apply(this,[V]);return B?(W.then(P,B),Promise.resolve()):W};var F=function(P,B,V){var W=y.apply(this,[P]);return V?(W.then(B,V),Promise.resolve()):W};a.setLocalDescription=F,F=function(P,B,V){var W=x.apply(this,[P]);return V?(W.then(B,V),Promise.resolve()):W},a.setRemoteDescription=F,F=function(P,B,V){var W=$.apply(this,[P]);return V?(W.then(B,V),Promise.resolve()):W},a.addIceCandidate=F}}function ts(r){var a=r&&r.navigator;if(a.mediaDevices&&a.mediaDevices.getUserMedia){var i=a.mediaDevices,h=i.getUserMedia.bind(i);a.mediaDevices.getUserMedia=function(y){return h(Sn(y))}}!a.getUserMedia&&a.mediaDevices&&a.mediaDevices.getUserMedia&&(a.getUserMedia=(function(y,x,$){a.mediaDevices.getUserMedia(y).then(x,$)}).bind(a))}function Sn(r){return r&&r.video!==void 0?Object.assign({},r,{video:xn.compactObject(r.video)}):r}function rs(r){if(r.RTCPeerConnection){var a=r.RTCPeerConnection;r.RTCPeerConnection=function(i,h){if(i&&i.iceServers){for(var y=[],x=0;x{let a=!1,i;return(...h)=>(a||(i=r(h),a=!0),i)};function et(r,a){if(r===!1)throw new Error(a??"assertion failure")}function Yr(r){throw new Error("this code should be unreachable")}const ss=is(()=>{const r=ki(window);switch(r.browser){case"chrome":zi(window,r);break;case"firefox":Vi(window,r);break;case"safari":Ji(window,r);break;default:throw new fn}});let wt=Promise.resolve({type:"stop",data:{}});async function Jr(r,a,i){var h,y,x;if(console.debug("[vue-qrcode-reader] starting camera with constraints: ",JSON.stringify(a)),window.isSecureContext!==!0)throw new Ti;if(((h=navigator==null?void 0:navigator.mediaDevices)==null?void 0:h.getUserMedia)===void 0)throw new fn;ss(),console.debug("[vue-qrcode-reader] calling getUserMedia");const $=await navigator.mediaDevices.getUserMedia({audio:!1,video:a});r.srcObject!==void 0?r.srcObject=$:r.mozSrcObject!==void 0?r.mozSrcObject=$:window.URL.createObjectURL?r.src=window.URL.createObjectURL($):window.webkitURL?r.src=window.webkitURL.createObjectURL($):r.src=$.id,r.play(),console.debug("[vue-qrcode-reader] waiting for video element to load"),await Promise.race([dn(r,"loadeddata"),Vr(6e3).then(()=>{throw new Mi})]),console.debug("[vue-qrcode-reader] video element loaded"),await Vr(500);const[F]=$.getVideoTracks(),P=(x=(y=F==null?void 0:F.getCapabilities)==null?void 0:y.call(F))!=null?x:{};let B=!1;return i&&P.torch&&(await F.applyConstraints({advanced:[{torch:!0}]}),B=!0),console.debug("[vue-qrcode-reader] camera ready"),{type:"start",data:{videoEl:r,stream:$,capabilities:P,constraints:a,isTorchOn:B}}}async function us(r,{constraints:a,torch:i,restart:h=!1}){wt=wt.then(x=>{if(x.type==="start"){const{data:{videoEl:$,stream:F,constraints:P,isTorchOn:B}}=x;return!h&&r===$&&a===P&&i===B?x:Pn($,F,B).then(()=>Jr(r,a,i))}else if(x.type==="stop"||x.type==="failed")return Jr(r,a,i);Yr()}).catch(x=>(console.debug(`[vue-qrcode-reader] starting camera failed with "${x}"`),{type:"failed",error:x}));const y=await wt;if(y.type==="stop")throw new Error("Something went wrong with the camera task queue (start task).");if(y.type==="failed")throw y.error;if(y.type==="start")return y.data.capabilities;Yr()}async function Pn(r,a,i){console.debug("[vue-qrcode-reader] stopping camera"),r.src="",r.srcObject=null,r.load(),await dn(r,"error");for(const h of a.getTracks())i!=null||await h.applyConstraints({advanced:[{torch:!1}]}),a.removeTrack(h),h.stop();return{type:"stop",data:{}}}async function Lt(){if(wt=wt.then(r=>{if(r.type==="stop"||r.type==="failed")return r;const{data:{videoEl:a,stream:i,isTorchOn:h}}=r;return Pn(a,i,h)}),(await wt).type==="start")throw new Error("Something went wrong with the camera task queue (stop task).")}const cs=Oa({__name:"QrcodeStream",props:{constraints:{default:()=>({facingMode:"environment"})},formats:{default:()=>["qr_code"]},paused:{type:Boolean,default:!1},torch:{type:Boolean,default:!1},track:{type:Function,default:void 0}},emits:["detect","camera-on","camera-off","error"],setup(r,{emit:a}){const i=r,h=a,y=dt(i.constraints),x=dt(i.formats);Dt(()=>i.constraints,(he,Z)=>{JSON.stringify(he)!==JSON.stringify(Z)&&(y.value=he)},{deep:!0}),Dt(()=>i.formats,(he,Z)=>{JSON.stringify(he)!==JSON.stringify(Z)&&(x.value=he)},{deep:!0});const $=dt(),F=dt(),P=dt(),B=dt(!1),V=dt(!1);Ta(()=>{V.value=!0}),Ma(()=>{Lt()});const W=or(()=>({torch:i.torch,constraints:y.value,shouldStream:V.value&&!i.paused}));Dt(W,async he=>{const Z=P.value;et(Z!==void 0,"cameraSettings watcher should never be triggered when component is not mounted. Thus video element should always be defined.");const oe=$.value;et(oe!==void 0,"cameraSettings watcher should never be triggered when component is not mounted. Thus canvas should always be defined.");const We=oe.getContext("2d");if(et(We!==null,"if cavnas is defined, canvas 2d context should also be non-null"),he.shouldStream){Lt(),B.value=!1;try{const Le=await us(Z,he);V.value?(B.value=!0,h("camera-on",Le)):await Lt()}catch(Le){h("error",Le)}}else oe.width=Z.videoWidth,oe.height=Z.videoHeight,We.drawImage(Z,0,0,Z.videoWidth,Z.videoHeight),Lt(),B.value=!1,h("camera-off")},{deep:!0}),Dt(x,async he=>{V.value&&await pn(he)});const ae=or(()=>W.value.shouldStream&&B.value);Dt(ae,he=>{if(he){et($.value!==void 0,"shouldScan watcher should only be triggered when component is mounted. Thus pause frame canvas is defined"),fe($.value),et(F.value!==void 0,"shouldScan watcher should only be triggered when component is mounted. Thus tracking canvas is defined"),fe(F.value);const Z=()=>i.track===void 0?500:40;et(P.value!==void 0,"shouldScan watcher should only be triggered when component is mounted. Thus video element is defined"),$i(P.value,{detectHandler:oe=>h("detect",oe),formats:x.value,locateHandler:K,minDelay:Z()})}});const fe=he=>{const Z=he.getContext("2d");et(Z!==null,"canvas 2d context should always be non-null"),Z.clearRect(0,0,he.width,he.height)},K=he=>{const Z=F.value;et(Z!==void 0,"onLocate handler should only be called when component is mounted. Thus tracking canvas is always defined.");const oe=P.value;if(et(oe!==void 0,"onLocate handler should only be called when component is mounted. Thus video element is always defined."),he.length===0||i.track===void 0)fe(Z);else{const We=oe.offsetWidth,Le=oe.offsetHeight,He=oe.videoWidth,Qe=oe.videoHeight,ke=Math.max(We/He,Le/Qe),Ve=He*ke,Je=Qe*ke,ct=Ve/He,lt=Je/Qe,R=(We-Ve)/2,k=(Le-Je)/2,E=({x:n,y:u})=>({x:Math.floor(n*ct),y:Math.floor(u*lt)}),T=({x:n,y:u})=>({x:Math.floor(n+R),y:Math.floor(u+k)}),w=he.map(n=>{const{boundingBox:u,cornerPoints:c}=n,{x:l,y:v}=T(E({x:u.x,y:u.y})),{x:_,y:L}=E({x:u.width,y:u.height});return{...n,cornerPoints:c.map(I=>T(E(I))),boundingBox:DOMRectReadOnly.fromRect({x:l,y:v,width:_,height:L})}});Z.width=oe.offsetWidth,Z.height=oe.offsetHeight;const d=Z.getContext("2d");et(d!==null,"canvas 2d context should always be non-null"),i.track(w,d)}},de={width:"100%",height:"100%",position:"relative","z-index":"0"},re={width:"100%",height:"100%",position:"absolute",top:"0",left:"0"},ve={width:"100%",height:"100%","object-fit":"cover"},$e=or(()=>ae.value?ve:{...ve,visibility:"hidden",position:"absolute"});return(he,Z)=>(vt(),yt("div",{style:de},[Ie("video",{ref_key:"videoRef",ref:P,style:Da($e.value),autoplay:"",muted:"",playsinline:""},null,4),$a(Ie("canvas",{id:"qrcode-stream-pause-frame",ref_key:"pauseFrameRef",ref:$,style:ve},null,512),[[ka,!ae.value]]),Ie("canvas",{id:"qrcode-stream-tracking-layer",ref_key:"trackingLayerRef",ref:F,style:re},null,512),Ie("div",{style:re},[Ea(he.$slots,"default")])]))}});var ls=Object.defineProperty,ds=Object.getOwnPropertyDescriptor,fs=(r,a,i,h)=>{for(var y=h>1?void 0:h?ds(a,i):a,x=r.length-1,$;x>=0;x--)($=r[x])&&(y=(h?$(a,i,y):$(y))||y);return h&&y&&ls(a,i,y),y};let ir=class extends Ra{constructor(){super(...arguments);ot(this,"$notify");ot(this,"activeDid","");ot(this,"apiServer","");ot(this,"givenName","");ot(this,"hideRegisterPromptOnNewContact",!1);ot(this,"isRegistered",!1);ot(this,"qrValue","");ot(this,"ETHR_DID_PREFIX",za)}async created(){const a=await Aa();this.activeDid=a.activeDid||"",this.apiServer=a.apiServer||"",this.givenName=a.firstName||"",this.hideRegisterPromptOnNewContact=!!a.hideRegisterPromptOnNewContact,this.isRegistered=!!a.isRegistered;const i=await Ua(this.activeDid);if(i){const h=(a.firstName||"")+(a.lastName?` ${a.lastName}`:"");this.qrValue=await Wa(i,!!a.isRegistered,h,a.profileImageUrl,!1)}}danger(a,i="Error",h=5e3){this.$notify({group:"alert",type:"danger",title:i,text:a},h)}async onScanDetect(a){var h;const i=(h=a[0])==null?void 0:h.rawValue;if(i){let y;try{const x=Ha(i);if(!x){this.$notify({group:"alert",type:"danger",title:"No Contact Info",text:"The contact info could not be parsed."},3e3);return}if(y={did:x.iss,name:x.own.name,nextPubKeyHashB64:x.own.nextPublicEncKeyHash,profileImageUrl:x.own.profileImageUrl,publicKeyBase64:x.own.publicEncKey,registered:x.own.registered},!y.did){this.danger("There is no DID.","Incomplete Contact");return}if(!Va(y.did)){this.danger("The DID must begin with 'did:'","Invalid DID");return}}catch(x){console.error("Error parsing QR info:",x),this.danger("Could not parse the QR info.","Read Error");return}try{await ht.open(),await ht.contacts.add(y);let x;this.activeDid?(await this.setVisibility(y,!0),y.seesMe=!0,x="They were added, and your activity is visible to them."):x="They were added.",this.$notify({group:"alert",type:"success",title:"Contact Added",text:x},3e3),this.isRegistered&&!this.hideRegisterPromptOnNewContact&&!y.registered&&setTimeout(()=>{this.$notify({group:"modal",type:"confirm",title:"Register",text:"Do you want to register them?",onCancel:async $=>{$&&(await ht.settings.update(Br,{hideRegisterPromptOnNewContact:$}),this.hideRegisterPromptOnNewContact=$)},onNo:async $=>{$&&(await ht.settings.update(Br,{hideRegisterPromptOnNewContact:$}),this.hideRegisterPromptOnNewContact=$)},onYes:async()=>{await this.register(y)},promptToStopAsking:!0},-1)},500)}catch(x){console.error("Error saving contact info:",x),this.$notify({group:"alert",type:"danger",title:"Contact Error",text:"Could not save contact info. Check if it already exists."},5e3)}}else this.$notify({group:"alert",type:"danger",title:"Invalid Contact QR Code",text:"No QR code detected with contact information."},5e3)}async setVisibility(a,i){const h=await Ga(this.activeDid,this.apiServer,this.axios,ht,a,i);h.error?this.danger(h.error,"Error Setting Visibility"):h.success||console.error("Got strange result from setting visibility:",h)}async register(a){var i,h,y;this.$notify({group:"alert",type:"toast",text:"",title:"Registration submitted..."},1e3);try{const x=await Qa(this.activeDid,this.apiServer,this.axios,a);x.success?(a.registered=!0,ht.contacts.update(a.did,{registered:!0}),this.$notify({group:"alert",type:"success",title:"Registration Success",text:(a.name||"That unnamed person")+" has been registered."},5e3)):this.$notify({group:"alert",type:"danger",title:"Registration Error",text:x.error||"Something went wrong during registration."},5e3)}catch(x){console.error("Error when registering:",x);let $="There was an error.";const F=x;F?(y=(h=(i=F.response)==null?void 0:i.data)==null?void 0:h.error)!=null&&y.message?$=F.response.data.error.message:F.message?$=F.message:$=JSON.stringify(F.toJSON()):$=x,this.$notify({group:"alert",type:"danger",title:"Registration Error",text:$},5e3)}}onScanError(a){console.error("Scan was invalid:",a),this.$notify({group:"alert",type:"danger",title:"Invalid Scan",text:"The scan was invalid."},5e3)}onCopyUrlToClipboard(){Fr().copy(this.qrValue).then(()=>{console.log("Contact URL:",this.qrValue),this.$notify({group:"alert",type:"toast",title:"Copied",text:"Contact URL was copied to clipboard."},2e3)})}onCopyDidToClipboard(){Fr().copy(this.activeDid).then(()=>{this.$notify({group:"alert",type:"info",title:"Copied",text:"Your DID was copied to the clipboard. Have them paste it in the box on their 'People' screen to add you."},5e3)})}};ir=fs([Ia({components:{QrcodeStream:cs,QRCodeVue3:Xa,QuickNav:La,UserNameDialog:Na}})],ir);const hs={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},ps={class:"mb-8"},gs={class:"text-lg text-center font-light relative px-7"},vs={key:0,class:"bg-amber-200 rounded-md overflow-hidden text-center px-4 py-3 mb-4"},ys={key:1,class:"text-center"},ms={key:2,class:"text-center"},ws={class:"text-center"};function bs(r,a,i,h,y,x){const $=pt("QuickNav"),F=pt("fa"),P=pt("UserNameDialog"),B=pt("QRCodeVue3"),V=pt("router-link"),W=pt("qrcode-stream");return vt(),yt(qa,null,[gt($,{selected:"Profile"}),Ie("section",hs,[Ie("div",ps,[Ie("div",gs,[Ie("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:a[0]||(a[0]=ae=>r.$router.back())},[gt(F,{icon:"chevron-left",class:"fa-fw"})])]),a[7]||(a[7]=Ie("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4"}," Your Contact Info ",-1)),r.givenName?Ba("",!0):(vt(),yt("p",vs,[a[4]||(a[4]=Ie("span",{class:"text-red"},"Beware!",-1)),a[5]||(a[5]=qt(" You aren't sharing your name, so quickly ")),a[6]||(a[6]=Ie("br",null,null,-1)),Ie("span",{onClick:a[1]||(a[1]=()=>r.$refs.userNameDialog.open(ae=>this.givenName=ae)),class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md"}," click here to set it for them. ")]))]),gt(P,{ref:"userNameDialog"},null,512),r.activeDid&&r.activeDid.startsWith(r.ETHR_DID_PREFIX)?(vt(),yt("div",{key:0,onClick:a[2]||(a[2]=ae=>r.onCopyUrlToClipboard()),class:"text-center"},[gt(B,{value:this.qrValue,cornersSquareOptions:{type:"extra-rounded"},dotsOptions:{type:"square"},class:"flex justify-center"},null,8,["value"]),a[8]||(a[8]=Ie("span",null," Click the QR code to copy your contact info to your clipboard. ",-1))])):r.activeDid?(vt(),yt("div",ys,[Ie("span",{onClick:a[3]||(a[3]=ae=>r.onCopyDidToClipboard()),class:"text-blue-500"}," Click here to copy your DID to your clipboard. "),a[9]||(a[9]=Ie("span",null," Then give it to them so they can paste it in their list of People. ",-1))])):(vt(),yt("div",ms,[a[11]||(a[11]=qt(" You have no identitifiers yet, so ")),gt(V,{to:{name:"start"},class:"bg-blue-500 text-white px-1.5 py-1 rounded-md"},{default:Fa(()=>a[10]||(a[10]=[qt(" create your identifier. ")])),_:1}),a[12]||(a[12]=Ie("br",null,null,-1)),a[13]||(a[13]=qt(" If you don't that first, these contacts won't see your activity. "))])),Ie("div",ws,[a[14]||(a[14]=Ie("h1",{class:"text-4xl text-center font-light pt-6"},"Scan Contact Info",-1)),gt(W,{onDetect:r.onScanDetect,onError:r.onScanError},null,8,["onDetect","onError"]),a[15]||(a[15]=Ie("span",null," If you do not see a scanning camera window here, check your camera permissions. ",-1))])])],64)}const Ts=ja(ir,[["render",bs]]);export{Ts as default}; diff --git a/dist-electron/assets/ContactScanView-BRcSw92W.js b/dist-electron/assets/ContactScanView-BRcSw92W.js new file mode 100644 index 0000000..bb9c41a --- /dev/null +++ b/dist-electron/assets/ContactScanView-BRcSw92W.js @@ -0,0 +1 @@ +import{V as p,C as u,_ as m,g as c,h,j as n,i as b,w as f,k as w,H as v,x}from"./index-BLqts8WY.js";var _=Object.defineProperty,g=Object.getOwnPropertyDescriptor,C=(a,t,r,o)=>{for(var e=o>1?void 0:o?g(t,r):t,l=a.length-1,s;l>=0;l--)(s=a[l])&&(e=(o?s(t,r,e):s(e))||e);return o&&e&&_(t,r,e),e};let d=class extends p{};d=C([u({components:{}})],d);const y={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},k={id:"ViewBreadcrumb",class:"mb-8"},V={class:"text-lg text-center font-light relative px-7"};function S(a,t,r,o,e,l){const s=c("fa"),i=c("router-link");return x(),h("section",y,[n("div",k,[n("h1",V,[b(i,{to:{name:"account"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:f(()=>[b(s,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[0]||(t[0]=w(" Scan Contact "))])]),t[1]||(t[1]=v('

Scan a QR Code…

…or Enter Contact Data

',7))])}const $=m(d,[["render",S]]);export{$ as default}; diff --git a/dist-electron/assets/ContactsView-DWxFtwlm.js b/dist-electron/assets/ContactsView-DWxFtwlm.js new file mode 100644 index 0000000..69e71fb --- /dev/null +++ b/dist-electron/assets/ContactsView-DWxFtwlm.js @@ -0,0 +1 @@ +var R=Object.defineProperty;var V=(t,a,e)=>a in t?R(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e;var u=(t,a,e)=>V(t,typeof a!="symbol"?a+"":a,e);import{l as j,af as _,ag as K,g as $,x as S,ah as L,ai as E,b as I,ac as F,ad as H,ae as J,K as Y,aj as A,ak as W,H as U}from"./index-MyY_xqVN.js";import{V as q,A as z,e as T,f as Q,u as X,y as k,a2 as M,C as Z,G as ee,_ as te,g as x,h as y,i as g,j as h,p as se,w as N,m as oe,s as ie,l as b,a0 as B,t as D,k as G,q as ne,F as P,z as re,x as p}from"./index-BLqts8WY.js";import{u as ae}from"./index-CsfPLOYu.js";import{Q as de}from"./QuickNav-DgCyvgDx.js";import{E as le}from"./EntityIcon-CF1RwQI5.js";import{G as ce}from"./GiftedDialog-CFmou4Be.js";import{O as he}from"./OfferDialog-BFpCo0de.js";import{C as ue}from"./ContactNameDialog-CYaRfHTt.js";import{T as me}from"./TopMessage-BE0GBIgW.js";import{s as fe}from"./sort-Dh4GzQVc.js";var ge=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,ye=(t,a,e,s)=>{for(var o=s>1?void 0:s?pe(a,e):a,i=t.length-1,r;i>=0;i--)(r=t[i])&&(o=(s?r(a,e,o):r(o))||o);return s&&o&&ge(a,e,o),o};let O=class extends q{constructor(){super(...arguments);u(this,"$notify");u(this,"activeDid","");u(this,"apiServer","");u(this,"contacts",[]);u(this,"contactInput","");u(this,"contactEdit",null);u(this,"contactNewName","");u(this,"contactsSelected",[]);u(this,"givenByMeDescriptions",{});u(this,"givenByMeConfirmed",{});u(this,"givenByMeUnconfirmed",{});u(this,"givenToMeDescriptions",{});u(this,"givenToMeConfirmed",{});u(this,"givenToMeUnconfirmed",{});u(this,"hideRegisterPromptOnNewContact",!1);u(this,"isRegistered",!1);u(this,"showDidCopy",!1);u(this,"showPubKeyCopy",!1);u(this,"showPubKeyHashCopy",!1);u(this,"showGiveNumbers",!1);u(this,"showGiveTotals",!0);u(this,"showGiveConfirmed",!0);u(this,"showLargeIdenticon");u(this,"AppString",z);u(this,"libsUtil",j)}async created(){await T.open();const e=await Q();this.activeDid=e.activeDid||"",this.apiServer=e.apiServer||"",this.isRegistered=!!e.isRegistered,this.showGiveNumbers=!!e.showContactGivesInline,this.hideRegisterPromptOnNewContact=!!e.hideRegisterPromptOnNewContact,this.showGiveNumbers&&this.loadGives();const s=await T.contacts.toArray();this.contacts=s.sort((r,n)=>(r.name||"").localeCompare(n.name||""));const o=this.$route.query.contactJwt;if(o){const{payload:r}=_(o),n=r.own,c={did:r.iss,name:n.name,nextPubKeyHashB64:n.nextPublicEncKeyHash,profileImageUrl:n.profileImageUrl,publicKeyBase64:n.publicEncKey,registered:n.registered};this.addContact(c)}const i=this.$route.query.inviteJwt;if(i==="")this.$notify({group:"alert",type:"danger",title:"Blank Invite",text:"The invite was not included, which can happen when your iOS device cuts off the link. Try pasting the full link into a browser."},7e3);else if(i){this.activeDid||(this.activeDid=await K());const r=await $(this.activeDid);try{const n=await this.axios.post(this.apiServer+"/api/v2/claim",{jwtEncoded:i},{headers:r});if(n.status!=201)throw{error:{response:n}};await X(this.activeDid,{isRegistered:!0}),this.isRegistered=!0,this.$notify({group:"alert",type:"success",title:"Registered",text:"You are now registered."},3e3),await new Promise(m=>setTimeout(m,1e3));const d=_(i).payload;this.$refs.contactNameDialog.open("Who Invited You?","",async m=>{await this.addContact({did:d.vc.credentialSubject.agent.identifier,name:m,registered:!0}),await new Promise(f=>setTimeout(f,1e3)),this.showOnboardingInfo()},async()=>{await this.addContact({did:d.vc.credentialSubject.agent.identifier,name:"(person who invited you)",registered:!0}),await new Promise(m=>setTimeout(m,1e3)),this.showOnboardingInfo()})}catch(n){const c="Error redeeming invite: "+S(n);k(c,!0);let d="Got an error sending the invite.";n.response&&n.response.data&&n.response.data.error?n.response.data.error.message?d=n.response.data.error.message:d=n.response.data.error:n.message&&(d=n.message),this.$notify({group:"alert",type:"danger",title:"Error with Invite",text:d},5e3)}}}danger(e,s="Error",o=5e3){this.$notify({group:"alert",type:"danger",title:s,text:e},o)}showOnboardingInfo(){this.$notify({group:"modal",type:"confirm",title:"They're Added To Your List",text:"Would you like to go to the main page now?",onYes:async()=>{this.$router.push({name:"home"})}},-1)}filteredContacts(){return this.showGiveNumbers?this.contactsSelected.length===0?this.contacts:this.contacts.filter(e=>this.contactsSelected.includes(e.did)):this.contacts}async loadGives(){if(!this.activeDid)return;const e=(s,o,i,r,n)=>{if(s.status===200){const c=s.data.data;for(const d of c){const m=n?d.recipientDid:d.agentDid;if(d.unit==="HUR"){if(d.amountConfirmed){const f=i[m]||0;i[m]=f+d.amount}else{const f=r[m]||0;r[m]=f+d.amount}!o[m]&&d.description&&(o[m]=d.description)}}}else console.error("Got bad response status & data of",s.status,s.data),this.$notify({group:"alert",type:"danger",title:"Retrieval Error",text:"Got an error retrieving your "+(n?"given":"received")+" data from the server."},5e3)};try{const s=await $(this.activeDid,this.$notify),o=this.apiServer+"/api/v2/report/gives?agentDid="+encodeURIComponent(this.activeDid),i=this.apiServer+"/api/v2/report/gives?recipientDid="+encodeURIComponent(this.activeDid),[r,n]=await Promise.all([this.axios.get(o,{headers:s}),this.axios.get(i,{headers:s})]),c={},d={},m={};e(r,c,d,m,!0),this.givenByMeDescriptions=c,this.givenByMeConfirmed=d,this.givenByMeUnconfirmed=m;const f={},w={},v={};e(n,f,w,v,!1),this.givenToMeDescriptions=f,this.givenToMeConfirmed=w,this.givenToMeUnconfirmed=v}catch(s){const o="Error loading gives: "+S(s);k(o,!0),this.$notify({group:"alert",type:"danger",title:"Load Error",text:"Got an error loading your gives."},5e3)}}async onClickNewContact(){const e=this.contactInput.trim();if(!e){this.danger("There was no contact info to add. Try the other green buttons.","No Contact");return}if(e.startsWith(L)){await this.addContactFromScan(e);return}if(e.startsWith(E)){const s=e.split(/\n/),o=[];for(const r of s)!r.trim()||r.startsWith(E)||o.push(this.addContactFromEndorserMobileLine(r));try{await Promise.all(o),this.$notify({group:"alert",type:"success",title:"Contacts Added",text:"Each contact was added. Nothing was sent to the server."},3e3)}catch(r){const n="Error adding contacts from CSV: "+S(r);k(n,!0),this.danger("An error occurred. Some contacts may have been added.")}const i=await T.contacts.toArray();this.contacts=i.sort((r,n)=>(r.name||"").localeCompare(n.name||""));return}if(e.startsWith("did:")){let s=e,o,i,r;const n=e.indexOf(",");if(n>-1){s=e.substring(0,n).trim(),o=e.substring(n+1).trim();const f=e.indexOf(",",n+1);if(f>-1){o=e.substring(n+1,f).trim(),i=e.substring(f+1).trim();const w=e.indexOf(",",f+1);w>-1&&(i=e.substring(f+1,w).trim(),r=e.substring(w+1).trim())}}let c=i;c&&/^[0-9A-Fa-f]{66}$/i.test(c)&&(c=I.Buffer.from(c,"hex").toString("base64"));let d=r;d&&/^[0-9A-Fa-f]{66}$/i.test(d)&&(d=I.Buffer.from(d,"hex").toString("base64"));const m={did:s,name:o,publicKeyBase64:c,nextPubKeyHashB64:d};await this.addContact(m);return}if(e.includes("[")){const s=e.substring(e.indexOf("["),e.lastIndexOf("]")+1);try{const o=JSON.parse(s);this.$router.push({name:"contact-import",query:{contacts:JSON.stringify(o)}})}catch(o){const i="Error adding contacts from array: "+S(o);k(i,!0),this.danger("The input could not be parsed.","Invalid Contact List")}return}this.danger("No contact info was found in that input.","No Contact Info")}async addContactFromEndorserMobileLine(e){let s=e,o="",i,r,n;const c=e.indexOf(",");if(c>-1){s=e.substring(0,c).trim(),o=e.substring(c+1).trim();const f=e.indexOf(",",c+1);if(f>-1){o=e.substring(c+1,f).trim(),i=e.substring(f+1).trim();const w=e.indexOf(",",f+1);if(w>-1){i=e.substring(f+1,w).trim(),r=e.substring(w+1).trim()=="true";const v=e.indexOf(",",w+1);v>-1&&(r=e.substring(w+1,v).trim()=="true",n=e.substring(v+1).trim()=="true")}}}let d=i;d&&/^[0-9A-Fa-f]{66}$/i.test(d)&&(d=I.Buffer.from(d,"hex").toString("base64"));const m={did:o,name:s,publicKeyBase64:d,seesMe:r,registered:n};return T.contacts.add(m)}async addContactFromScan(e){const s=F(e);if(s)return this.addContact({did:s.iss,name:s.own.name,nextPubKeyHashB64:s.own.nextPublicEncKeyHash,profileImageUrl:s.own.profileImageUrl,publicKeyBase64:s.own.publicEncKey,registered:s.own.registered});this.$notify({group:"alert",type:"danger",title:"No Contact Info",text:"The contact info could not be parsed."},3e3)}async addContact(e){if(!e.did){this.danger("Cannot add a contact without a DID.","Incomplete Contact");return}if(!H(e.did)){this.danger("The DID must begin with 'did:'","Invalid DID");return}return T.contacts.add(e).then(()=>{const s=this.contacts.concat([e]);this.contacts=fe((i,r)=>(i.name||"").localeCompare(r.name||""),s);let o;this.activeDid?(this.setVisibility(e,!0,!1),e.seesMe=!0,o="They were added, and your activity is visible to them."):o="They were added.",this.contactInput="",this.isRegistered&&!this.hideRegisterPromptOnNewContact&&!e.registered&&setTimeout(()=>{this.$notify({group:"modal",type:"confirm",title:"Register",text:"Do you want to register them?",onCancel:async i=>{i&&(await M({hideRegisterPromptOnNewContact:i}),this.hideRegisterPromptOnNewContact=i)},onNo:async i=>{i&&(await M({hideRegisterPromptOnNewContact:i}),this.hideRegisterPromptOnNewContact=i)},onYes:async()=>{await this.register(e)},promptToStopAsking:!0},-1)},500),this.$notify({group:"alert",type:"success",title:"Contact Added",text:o},3e3)}).catch(s=>{var r;const o="Error when adding contact to storage: "+S(s);k(o,!0);let i="An error prevented this import.";((r=s.message)==null?void 0:r.indexOf("Key already exists in the object store."))>-1&&(i="A contact with that DID is already in your contact list. Edit them directly below."),s.name==="ConstraintError"&&(i+=" Check that the contact doesn't conflict with any you already have."),this.danger(i,"Contact Not Added",-1)})}async confirmSetVisibility(e,s){const o=s?"Are you sure you want to make your activity visible to them?":"Are you sure you want to hide all your activity from them?";this.$notify({group:"modal",type:"confirm",title:"Set Visibility",text:o,onYes:async()=>{await this.setVisibility(e,s,!0)&&(e.seesMe=s)}},-1)}async register(e){var s;this.$notify({group:"alert",type:"toast",title:"Sent..."},1e3);try{const o=await J(this.activeDid,this.apiServer,this.axios,e);o.success?(e.registered=!0,await T.contacts.update(e.did,{registered:!0}),this.$notify({group:"alert",type:"success",title:"Registration Success",text:(e.name||"That unnamed person")+" has been registered."},5e3)):this.$notify({group:"alert",type:"danger",title:"Registration Error",text:o.error||"Something went wrong during registration."},5e3)}catch(o){const i="Error when registering: "+S(o);k(i,!0);let r="There was an error.";const n=o;n.isAxiosError?(s=n.response)!=null&&s.data&&typeof n.response.data=="object"&&"error"in n.response.data&&typeof n.response.data.error=="object"&&n.response.data.error!==null&&"message"in n.response.data.error?r=n.response.data.error.message:n.message?r=n.message:r=JSON.stringify(n.toJSON()):r=o,this.$notify({group:"alert",type:"danger",title:"Registration Error",text:r},5e3)}}async setVisibility(e,s,o){const i=await Y(this.activeDid,this.apiServer,this.axios,T,e,s);if(i.success)return o&&this.$notify({group:"alert",type:"success",title:"Visibility Set",text:(e.name||"That user")+" can "+(s?"":"not ")+"see your activity."},3e3),!0;{console.error("Got strange result from setting visibility. It can happen when setting visibility on oneself.",i);const r=i.error||"Could not set visibility on the server.";return this.$notify({group:"alert",type:"danger",title:"Error Setting Visibility",text:r},5e3),!1}}confirmShowGiftedDialog(e,s){if(s===this.activeDid&&this.givenToMeUnconfirmed[e]>0){const o=this.givenToMeUnconfirmed[e]==1?"is":"are",i=this.givenToMeUnconfirmed[e]==1?"hour":"hours",r="There "+o+" "+this.givenToMeUnconfirmed[e]+" unconfirmed "+i+" from them. Would you like to confirm some of those hours?";this.$notify({group:"modal",type:"confirm",title:"Delete",text:r,onNo:async()=>{this.showGiftedDialog(e,s)},onYes:async()=>{this.$router.push({name:"contact-amounts",query:{contactDid:e}})}},-1)}else this.showGiftedDialog(e,s)}showGiftedDialog(e,s){let o,i;e&&(o={did:e,name:A(this.activeDid,this.contacts,e)}),s&&(i={did:s,name:A(this.activeDid,this.contacts,s)});let r,n="";e==this.activeDid?(r=c=>{const d=U(this.givenByMeUnconfirmed);d[s]=(d[s]||0)+c,this.givenByMeUnconfirmed=d},n="Given to "+((i==null?void 0:i.name)||"Someone Unnamed")):(r=c=>{const d=U(this.givenToMeUnconfirmed);d[e]=(d[e]||0)+c,this.givenToMeUnconfirmed=d},n="Received from "+((o==null?void 0:o.name)||"Someone Unnamed")),this.$refs.customGivenDialog.open(o,i,void 0,n,void 0,r)}openOfferDialog(e,s){this.$refs.customOfferDialog.open(e,s)}async toggleShowContactAmounts(){const e=!this.showGiveNumbers;try{await M({showContactGivesInline:e})}catch(s){const o="Error updating contact-amounts setting: "+S(s);k(o,!0),this.$notify({group:"alert",type:"danger",title:"Error Updating Contact Setting",text:"The setting may not have saved. Try again, maybe after restarting the app."},5e3)}this.showGiveNumbers=e,e&&Object.keys(this.givenByMeDescriptions).length===0&&Object.keys(this.givenByMeConfirmed).length===0&&Object.keys(this.givenByMeUnconfirmed).length===0&&Object.keys(this.givenToMeDescriptions).length===0&&Object.keys(this.givenToMeConfirmed).length===0&&Object.keys(this.givenToMeUnconfirmed).length===0&&this.loadGives()}toggleShowGiveTotals(){this.showGiveTotals?(this.showGiveTotals=!1,this.showGiveConfirmed=!0):this.showGiveConfirmed?(this.showGiveTotals=!1,this.showGiveConfirmed=!1):(this.showGiveTotals=!0,this.showGiveConfirmed=!0)}showGiveAmountsClassNames(){return{"from-slate-400":this.showGiveTotals,"to-slate-700":this.showGiveTotals,"from-green-400":!this.showGiveTotals&&this.showGiveConfirmed,"to-green-700":!this.showGiveTotals&&this.showGiveConfirmed,"from-yellow-400":!this.showGiveTotals&&!this.showGiveConfirmed,"to-yellow-700":!this.showGiveTotals&&!this.showGiveConfirmed}}async copySelectedContacts(){if(this.contactsSelected.length===0){this.danger("You must select contacts to copy.");return}const e=this.contacts.filter(i=>this.contactsSelected.includes(i.did));console.log("Array of selected contacts:",JSON.stringify(e));const s=await W(this.activeDid,{contacts:e}),o=ee+"/contact-import/"+s;ae().copy(o).then(()=>{this.$notify({group:"alert",type:"info",title:"Copied",text:"The link for those contacts is now in the clipboard."},5e3)})}shortDid(e){return e.startsWith("did:peer:")?e.substring(0,11)+"..."+e.substring(27,34)+"...":e.startsWith("did:ethr:")?e.substring(0,18)+"...":e.substring(0,e.indexOf(":",4)+7)+"..."}};O=ye([Z({components:{GiftedDialog:ce,EntityIcon:le,OfferDialog:he,QuickNav:de,ContactNameDialog:ue,TopMessage:me}})],O);const we={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},be={id:"formAddNewContact",class:"mt-4 mb-4 flex items-stretch"},ve={key:1,class:"flex items-center bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 mr-1 rounded-md"},Ce={key:0,class:"flex justify-between"},xe={class:"w-full text-left"},Se=["checked"],Te={class:"w-full text-right"},ke={key:1,class:"flex justify-between mt-1"},De={class:"w-full text-right"},Ge={class:"text-sm uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 py-1 rounded-md"},Ne={key:2,id:"listContacts",class:"border-t border-slate-300 mt-1"},Ie={class:"grow overflow-hidden"},Me={class:"flex items-center"},Oe=["checked","onClick"],_e={class:"text-base font-semibold ml-2"},$e={class:"ml-4 text-sm overflow-hidden"},Ee={id:"ContactActions",class:"flex gap-1.5 mt-2"},Ae={key:0,class:"ml-auto flex gap-1.5"},Ue=["onClick","title"],Be=["onClick","title"],Pe=["onClick"],Re={key:3},Ve={key:4,class:"mt-2 w-full text-left"},je=["checked"],Ke={key:5,class:"fixed z-[100] top-0 inset-x-0 w-full"},Le={class:"absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"};function Fe(t,a,e,s,o,i){const r=x("QuickNav"),n=x("TopMessage"),c=x("fa"),d=x("router-link"),m=x("EntityIcon"),f=x("GiftedDialog"),w=x("OfferDialog"),v=x("ContactNameDialog");return p(),y(P,null,[g(r,{selected:"Contacts"}),g(n),h("section",we,[a[16]||(a[16]=h("h1",{id:"ViewHeading",class:"text-4xl text-center font-light"}," Your Contacts ",-1)),a[17]||(a[17]=h("div",{class:"flex justify-between py-2 mt-8"},[h("span"),h("span",null,[h("a",{href:"/help-onboarding",target:"_blank",class:"text-xs uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md ml-1"}," Onboarding Guide ")])],-1)),h("div",be,[t.isRegistered?(p(),se(d,{key:0,to:{name:"invite-one"},class:"flex items-center bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 mr-1 rounded-md"},{default:N(()=>[g(c,{icon:"envelope-open-text",class:"fa-fw text-2xl"})]),_:1})):(p(),y("span",ve,[g(c,{icon:"envelope-open-text",class:"fa-fw text-2xl",onClick:a[0]||(a[0]=l=>t.danger("You must get registered before you can invite others.","Not Registered"))})])),g(d,{to:{name:"contact-qr"},class:"flex items-center bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 mr-1 rounded-md"},{default:N(()=>[g(c,{icon:"qrcode",class:"fa-fw text-2xl"})]),_:1}),oe(h("textarea",{type:"text",placeholder:"New URL or DID, Name, Public Key, Next Public Key Hash",class:"block w-full rounded-l border border-r-0 border-slate-400 px-3 py-2 h-10","onUpdate:modelValue":a[1]||(a[1]=l=>t.contactInput=l)},null,512),[[ie,t.contactInput]]),h("button",{class:"px-4 rounded-r bg-green-200 border border-l-0 border-green-400",onClick:a[2]||(a[2]=l=>t.onClickNewContact())},[g(c,{icon:"plus",class:"fa-fw"})])]),t.contacts.length>0?(p(),y("div",Ce,[h("div",xe,[t.showGiveNumbers?b("",!0):(p(),y("input",{key:0,type:"checkbox",checked:t.contactsSelected.length===t.contacts.length,onClick:a[3]||(a[3]=l=>t.contactsSelected.length===t.contacts.length?t.contactsSelected=[]:t.contactsSelected=t.contacts.map(C=>C.did)),class:"align-middle ml-2 h-6 w-6","data-testId":"contactCheckAllTop"},null,8,Se)),t.showGiveNumbers?b("",!0):(p(),y("button",{key:1,href:"",class:"text-md bg-gradient-to-b shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-2 px-1 py-1 rounded-md",style:B(t.contactsSelected.length>0?"background-image: linear-gradient(to bottom, #3b82f6, #1e40af);":"background-image: linear-gradient(to bottom, #94a3b8, #374151);"),onClick:a[4]||(a[4]=l=>t.copySelectedContacts()),"data-testId":"copySelectedContactsButtonTop"}," Copy Selections ",4))]),h("div",Te,[h("button",{href:"",class:"text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 py-1 rounded-md",onClick:a[5]||(a[5]=l=>t.toggleShowContactAmounts())},D(t.showGiveNumbers?"Hide Hours, Offer, etc":"See Hours, Offer, etc"),1)])])):b("",!0),t.showGiveNumbers?(p(),y("div",ke,[h("div",De,[a[10]||(a[10]=G(" In the following, only the most recent hours are included. To see more, click ")),h("span",Ge,[g(c,{icon:"file-lines",class:"fa-fw"})]),a[11]||(a[11]=h("br",null,null,-1)),h("button",{href:"",class:ne(["text-md bg-gradient-to-b shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md mt-1",t.showGiveAmountsClassNames()]),onClick:a[6]||(a[6]=l=>t.toggleShowGiveTotals())},[G(D(t.showGiveTotals?"Totals":t.showGiveConfirmed?"Confirmed Amounts":"Unconfirmed Amounts")+" ",1),g(c,{icon:"left-right",class:"fa-fw"})],2)])])):b("",!0),t.contacts.length>0?(p(),y("ul",Ne,[(p(!0),y(P,null,re(t.filteredContacts(),l=>(p(),y("li",{class:"border-b border-slate-300 pt-1 pb-1",key:l.did,"data-testId":"contactListItem"},[h("div",Ie,[h("div",Me,[g(m,{contact:l,iconSize:24,class:"inline-block align-text-bottom border border-slate-300 rounded cursor-pointer",onClick:C=>t.showLargeIdenticon=l},null,8,["contact","onClick"]),t.showGiveNumbers?b("",!0):(p(),y("input",{key:0,type:"checkbox",checked:t.contactsSelected.includes(l.did),onClick:C=>t.contactsSelected.includes(l.did)?t.contactsSelected.splice(t.contactsSelected.indexOf(l.did),1):t.contactsSelected.push(l.did),class:"ml-2 h-6 w-6","data-testId":"contactCheckOne"},null,8,Oe)),h("h2",_e,D(l.name||t.AppString.NO_CONTACT_NAME),1),g(d,{to:{path:"/did/"+encodeURIComponent(l.did)},title:"See more about this person"},{default:N(()=>[g(c,{icon:"circle-info",class:"text-xl text-blue-500 ml-4"})]),_:2},1032,["to"]),h("span",$e,D(t.shortDid(l.did)),1)]),h("div",Ee,[t.showGiveNumbers&&l.did!=t.activeDid?(p(),y("div",Ae,[h("button",{class:"text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-l-md",onClick:C=>t.confirmShowGiftedDialog(l.did,t.activeDid),title:t.givenToMeDescriptions[l.did]||""},[a[12]||(a[12]=G(" From: ")),a[13]||(a[13]=h("br",null,null,-1)),G(" "+D(this.showGiveTotals?(t.givenToMeConfirmed[l.did]||0)+(t.givenToMeUnconfirmed[l.did]||0):this.showGiveConfirmed?t.givenToMeConfirmed[l.did]||0:t.givenToMeUnconfirmed[l.did]||0),1)],8,Ue),h("button",{class:"text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white -ml-1.5 px-2 py-1.5 rounded-r-md border-l",onClick:C=>t.confirmShowGiftedDialog(t.activeDid,l.did),title:t.givenByMeDescriptions[l.did]||""},[a[14]||(a[14]=G(" To: ")),a[15]||(a[15]=h("br",null,null,-1)),G(" "+D(this.showGiveTotals?(t.givenByMeConfirmed[l.did]||0)+(t.givenByMeUnconfirmed[l.did]||0):this.showGiveConfirmed?t.givenByMeConfirmed[l.did]||0:t.givenByMeUnconfirmed[l.did]||0),1)],8,Be),h("button",{class:"text-sm bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-md border border-blue-400",onClick:C=>t.openOfferDialog(l.did,l.name),"data-testId":"offerButton"}," Offer ",8,Pe),g(d,{to:{name:"contact-amounts",query:{contactDid:l.did}},class:"text-sm bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-1.5 rounded-md border border-slate-400",title:"See more given activity"},{default:N(()=>[g(c,{icon:"file-lines",class:"fa-fw"})]),_:2},1032,["to"])])):b("",!0)])])]))),128))])):(p(),y("p",Re,"There are no contacts.")),t.contacts.length>0?(p(),y("div",Ve,[t.showGiveNumbers?b("",!0):(p(),y("input",{key:0,type:"checkbox",checked:t.contactsSelected.length===t.contacts.length,onClick:a[7]||(a[7]=l=>t.contactsSelected.length===t.contacts.length?t.contactsSelected=[]:t.contactsSelected=t.contacts.map(C=>C.did)),class:"align-middle ml-2 h-6 w-6","data-testId":"contactCheckAllBottom"},null,8,je)),t.showGiveNumbers?b("",!0):(p(),y("button",{key:1,href:"",class:"text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-2 px-1 py-1 rounded-md",style:B(t.contactsSelected.length>0?"background-image: linear-gradient(to bottom, #3b82f6, #1e40af);":"background-image: linear-gradient(to bottom, #94a3b8, #374151);"),onClick:a[8]||(a[8]=l=>t.copySelectedContacts())}," Copy Selections ",4))])):b("",!0),g(f,{ref:"customGivenDialog"},null,512),g(w,{ref:"customOfferDialog"},null,512),g(v,{ref:"contactNameDialog"},null,512),t.showLargeIdenticon?(p(),y("div",Ke,[h("div",Le,[g(m,{contact:t.showLargeIdenticon,iconSize:512,class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg",onClick:a[9]||(a[9]=l=>t.showLargeIdenticon=void 0)},null,8,["contact"])])])):b("",!0)])],64)}const ot=te(O,[["render",Fe]]);export{ot as default}; diff --git a/dist-electron/assets/DIDView-CYsX9_-v.css b/dist-electron/assets/DIDView-CYsX9_-v.css new file mode 100644 index 0000000..ee9f244 --- /dev/null +++ b/dist-electron/assets/DIDView-CYsX9_-v.css @@ -0,0 +1 @@ +.dialog-overlay{z-index:50;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:500px} diff --git a/dist-electron/assets/DIDView-jWGo47Q6.js b/dist-electron/assets/DIDView-jWGo47Q6.js new file mode 100644 index 0000000..b1eb2a1 --- /dev/null +++ b/dist-electron/assets/DIDView-jWGo47Q6.js @@ -0,0 +1 @@ +var R=Object.defineProperty;var B=(e,i,t)=>i in e?R(e,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[i]=t;var d=(e,i,t)=>B(e,typeof i!="symbol"?i+"":i,t);import{y as _,d as G}from"./js-yaml-CxlQHuPU.js";import{V as z,f as Y,e as g,C as P,_ as Q,g as v,h as p,i as h,j as s,k as C,t as f,p as w,l as y,m as q,s as J,w as H,F as M,x as r,z as K}from"./index-BLqts8WY.js";import{Q as W}from"./QuickNav-DgCyvgDx.js";import{I as X}from"./InfiniteScroll-B5tl9k_n.js";import{T as Z}from"./TopMessage-BE0GBIgW.js";import{l as ee,al as te,am as ie,A as k,e as se,an as I,ae as oe,g as L,K as ne}from"./index-MyY_xqVN.js";import{E as ae}from"./EntityIcon-CF1RwQI5.js";import"./index-CsfPLOYu.js";var re=Object.defineProperty,le=Object.getOwnPropertyDescriptor,de=(e,i,t,o)=>{for(var n=o>1?void 0:o?le(i,t):i,c=e.length-1,a;c>=0;c--)(a=e[c])&&(n=(o?a(i,t,n):a(n))||n);return o&&n&&re(i,t,n),n};let x=class extends z{constructor(){super(...arguments);d(this,"$notify");d(this,"libsUtil",ee);d(this,"yaml",_);d(this,"activeDid","");d(this,"apiServer","");d(this,"claims",[]);d(this,"contactFromDid");d(this,"contactEdit",!1);d(this,"contactNewName","");d(this,"contactYaml","");d(this,"hitEnd",!1);d(this,"isLoading",!1);d(this,"isMyDid",!1);d(this,"searchBox",null);d(this,"showDidDetails",!1);d(this,"showLargeIdenticonId");d(this,"showLargeIdenticonUrl");d(this,"viewingDid");d(this,"capitalizeAndInsertSpacesBeforeCaps",te);d(this,"didInfoForContact",ie);d(this,"displayAmount",k)}async mounted(){const t=await Y();this.activeDid=t.activeDid||"",this.apiServer=t.apiServer||"";const o=window.location.pathname.substring(5);if(o){this.viewingDid=decodeURIComponent(o),this.contactFromDid=await g.contacts.get(this.viewingDid),this.contactFromDid&&(this.contactYaml=G(this.contactFromDid)),await this.loadClaimsAbout();const n=await se();this.isMyDid=n.includes(this.viewingDid)}}async loadMoreData(t){this.claims.length>0&&!this.hitEnd&&t&&this.loadClaimsAbout()}confirmDeleteContact(t){let o="Are you sure you want to remove "+I(t,!1)+" from your contact list?";t.seesMe&&(o+=" Note that they can see your activity, so if you want to hide your activity from them then you should do that first."),this.$notify({group:"modal",type:"confirm",title:"Delete",text:o,onYes:async()=>{await this.deleteContact(t)}},-1)}async deleteContact(t){await g.open(),await g.contacts.delete(t.did),this.$notify({group:"alert",type:"success",title:"Deleted",text:"Contact has been removed."},3e3),this.$router.push({name:"contacts"})}async confirmRegister(t){this.$notify({group:"modal",type:"confirm",title:"Register",text:"Are you sure you want to register "+I(this.contactFromDid,!1)+(t.registered?" -- especially since they are already marked as registered":"")+"?",onYes:async()=>{await this.register(t)}},-1)}async register(t){var o,n,c;this.$notify({group:"alert",type:"toast",title:"Sent..."},1e3);try{const a=await oe(this.activeDid,this.apiServer,this.axios,t);a.success?(t.registered=!0,await g.contacts.update(t.did,{registered:!0}),this.$notify({group:"alert",type:"success",title:"Registration Success",text:(t.name||"That unnamed person")+" has been registered."},5e3)):this.$notify({group:"alert",type:"danger",title:"Registration Error",text:a.error||"Something went wrong during registration."},5e3)}catch(a){console.error("Error when registering:",a);let l="There was an error.";const m=a;m?(c=(n=(o=m.response)==null?void 0:o.data)==null?void 0:n.error)!=null&&c.message?l=m.response.data.error.message:m.message?l=m.message:l=JSON.stringify(m.toJSON()):l=a,this.$notify({group:"alert",type:"danger",title:"Registration Error",text:l},5e3)}}async loadClaimsAbout(){if(!this.viewingDid){console.error("This should never be called without a DID.");return}const t="claimContents="+encodeURIComponent(this.viewingDid);let o="";this.claims.length>0&&(o="&beforeId="+this.claims[this.claims.length-1].id);try{this.isLoading=!0;const n=await fetch(this.apiServer+"/api/v2/report/claims?"+t+o,{method:"GET",headers:await L(this.activeDid)});if(n.status!==200){const a=await n.text();console.error("Problem with full search:",a),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem accessing the server. Try again later."},5e3);return}const c=await n.json();this.claims=this.claims.concat(c.data),this.hitEnd=!c.hitLimit}catch(n){console.error("Error with feed load:",n),this.$notify({group:"alert",type:"danger",title:"Error",text:n.userMessage||"There was a problem retrieving claims."},-1)}finally{this.isLoading=!1}}onClickLoadClaim(t){const o={path:"/claim/"+encodeURIComponent(t)};this.$router.push(o)}claimAmount(t){var o,n,c,a;if(t.claimType==="GiveAction"){const l=t.claim;return(o=l.object)!=null&&o.unitCode&&((n=l.object)!=null&&n.amountOfThisGood)?k(l.object.unitCode,l.object.amountOfThisGood):""}else if(t.claimType==="Offer"){const l=t.claim;return(c=l.includesObject)!=null&&c.unitCode&&((a=l.includesObject)!=null&&a.amountOfThisGood)?k(l.includesObject.unitCode,l.includesObject.amountOfThisGood):""}return""}claimDescription(t){return t.claim.name||t.claim.description||""}async onClickCancelName(){this.contactEdit=!1}async onClickSaveName(t){if(!this.contactFromDid){this.$notify({group:"alert",type:"danger",title:"Not A Contact",text:"First add this on the contact page, then you can edit here."},5e3);return}return this.contactFromDid.name=t,g.contacts.update(this.contactFromDid.did,{name:t}).then(()=>this.contactEdit=!1)}async confirmSetVisibility(t,o){const n=o?"Are you sure you want to make your activity visible to them?":"Are you sure you want to hide all your activity from them?";this.$notify({group:"modal",type:"confirm",title:"Set Visibility",text:n,onYes:async()=>{await this.setVisibility(t,o,!0)&&(t.seesMe=o)}},-1)}async setVisibility(t,o,n){const c=await ne(this.activeDid,this.apiServer,this.axios,g,t,o);if(c.success)return n&&this.$notify({group:"alert",type:"success",title:"Visibility Set",text:(t.name||"That user")+" can "+(o?"":"not ")+"see your activity."},3e3),!0;{console.error("Got strange result from setting visibility:",c);const a=c.error||"Could not set visibility on the server.";return this.$notify({group:"alert",type:"danger",title:"Error Setting Visibility",text:a},5e3),!1}}async checkVisibility(t){var c;const o=this.apiServer+"/api/report/canDidExplicitlySeeMe?did="+encodeURIComponent(t.did),n=await L(this.activeDid);if(!n.Authorization){this.$notify({group:"alert",type:"danger",title:"No Identity",text:"There is no identity to use to check visibility."},3e3);return}try{const a=await this.axios.get(o,{headers:n});if(a.status===200){const l=a.data;t.seesMe=l,await g.contacts.update(t.did,{seesMe:l}),this.$notify({group:"alert",type:"info",title:"Visibility Refreshed",text:I(t,!0)+" can "+(l?"":"not ")+"see your activity."},3e3)}else{console.error("Got bad server response checking visibility:",a);const l=((c=a.data.error)==null?void 0:c.message)||"Got bad server response.";this.$notify({group:"alert",type:"danger",title:"Error Checking Visibility",text:l},5e3)}}catch(a){console.error("Caught error from request to check visibility:",a),this.$notify({group:"alert",type:"danger",title:"Error Checking Visibility",text:"Check connectivity and try again."},3e3)}}};x=de([P({components:{EntityIcon:ae,InfiniteScroll:X,QuickNav:W,TopMessage:Z}})],x);const ce={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},me={id:"ViewBreadcrumb",class:"mb-8"},ue={class:"text-lg text-center font-light relative px-7"},pe={key:0,class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mb-4"},he={class:"text-xl font-semibold"},ye={key:0,class:"text-sm overflow-x-scroll px-4 py-3 bg-slate-100 rounded-md"},fe={class:"flex justify-center mt-4"},ge={key:0,class:"flex justify-between"},be={class:"flex justify-between mt-4"},ve={class:"flex items-center"},we={key:0,class:"flex justify-between"},De={key:0},Ce={class:"flex justify-center"},ke={key:0,class:"fixed z-[100] top-0 inset-x-0 w-full"},Ie={class:"absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"},xe={key:1,class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mb-4"},$e={class:"text-xl font-semibold"},Fe={key:2,class:"dialog-overlay"},Se={class:"dialog"},Ee={class:"flex justify-between"},Ne={key:3,class:"fixed left-6 bottom-24 text-center text-4xl leading-none bg-slate-400 text-white w-14 py-2.5 rounded-full"},Te={key:4,class:"mt-4"},Ve={class:"text-l font-bold text-center"},Ae={class:"grid grid-cols-12 gap-4"},Ue={class:"col-span-2"},je={class:"col-span-2"},Me={class:"col-span-2"},Le={class:"col-span-5"},Oe={class:"col-span-1"},Re=["onClick"],Be={key:5,class:"flex justify-center mt-4"},_e={key:0},Ge={key:1};function ze(e,i,t,o,n,c){var $,F,S,E,N,T,V,A,U,j;const a=v("QuickNav"),l=v("TopMessage"),m=v("fa"),D=v("EntityIcon"),O=v("InfiniteScroll");return r(),p(M,null,[h(a,{selected:"Contacts"}),h(l),s("section",ce,[s("div",me,[s("h1",ue,[s("button",{onClick:i[0]||(i[0]=u=>e.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[h(m,{icon:"chevron-left",class:"fa-fw"})]),i[14]||(i[14]=C(" Identifier Details "))])]),e.contactFromDid?(r(),p("div",pe,[s("div",null,[s("h2",he,[C(f((($=e.contactFromDid)==null?void 0:$.name)||"(no name)")+" ",1),s("button",{onClick:i[1]||(i[1]=u=>{var b;e.contactEdit=!0,e.contactNewName=((b=e.contactFromDid)==null?void 0:b.name)||""}),title:"Edit"},[h(m,{icon:"pen",class:"text-sm text-blue-500 ml-2 mb-1"})])]),s("button",{onClick:i[2]||(i[2]=u=>e.showDidDetails=!e.showDidDetails),class:"ml-2 mr-2 mt-4"},[i[15]||(i[15]=C(" Details ")),e.showDidDetails?(r(),w(m,{key:0,icon:"chevron-down",class:"text-blue-400"})):(r(),w(m,{key:1,icon:"chevron-right",class:"text-blue-400"}))]),e.showDidDetails?(r(),p("pre",ye,f(e.contactYaml),1)):y("",!0)]),s("div",fe,[(F=e.contactFromDid)!=null&&F.profileImageUrl?(r(),p("span",ge,[h(D,{"icon-size":96,profileImageUrl:(S=e.contactFromDid)==null?void 0:S.profileImageUrl,class:"inline-block align-text-bottom border border-slate-300 rounded",onClick:i[3]||(i[3]=u=>{var b;return e.showLargeIdenticonUrl=(b=e.contactFromDid)==null?void 0:b.profileImageUrl})},null,8,["profileImageUrl"])])):y("",!0)]),s("div",be,[s("div",ve,[e.activeDid?(r(),p("div",we,[s("div",null,[(E=e.contactFromDid)!=null&&E.seesMe&&e.contactFromDid.did!==e.activeDid?(r(),p("button",{key:0,class:"text-sm uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mx-0.5 my-0.5 px-2 py-1.5 rounded-md",onClick:i[4]||(i[4]=u=>e.confirmSetVisibility(e.contactFromDid,!1)),title:"They can see you"},[h(m,{icon:"eye",class:"fa-fw"})])):!((N=e.contactFromDid)!=null&&N.seesMe)&&((T=e.contactFromDid)==null?void 0:T.did)!==e.activeDid?(r(),p("button",{key:1,class:"text-sm uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mx-0.5 my-0.5 px-2 py-1.5 rounded-md",onClick:i[5]||(i[5]=u=>e.confirmSetVisibility(e.contactFromDid,!0)),title:"They cannot see you"},[h(m,{icon:"eye-slash",class:"fa-fw"})])):y("",!0),((V=e.contactFromDid)==null?void 0:V.did)!==e.activeDid?(r(),p("button",{key:2,class:"text-sm uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mx-0.5 my-0.5 px-2 py-1.5 rounded-md",onClick:i[6]||(i[6]=u=>e.checkVisibility(e.contactFromDid)),title:"Check Visibility"},[h(m,{icon:"rotate",class:"fa-fw"})])):y("",!0)]),((A=e.contactFromDid)==null?void 0:A.did)!==e.activeDid?(r(),p("button",{key:0,onClick:i[7]||(i[7]=u=>e.confirmRegister(e.contactFromDid)),class:"text-sm uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-6 mx-0.5 my-0.5 px-2 py-1.5 rounded-md",title:"Registration"},[(U=e.contactFromDid)!=null&&U.registered?(r(),w(m,{key:0,icon:"person-circle-check",class:"fa-fw"})):(r(),w(m,{key:1,icon:"person-circle-question",class:"fa-fw"}))])):y("",!0)])):y("",!0),s("button",{onClick:i[8]||(i[8]=u=>e.confirmDeleteContact(e.contactFromDid)),class:"text-sm uppercase bg-gradient-to-b from-rose-500 to-rose-800 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white ml-6 mx-0.5 my-0.5 px-2 py-1.5 rounded-md",title:"Delete"},[h(m,{icon:"trash-can",class:"fa-fw"})])]),(j=e.contactFromDid)!=null&&j.profileImageUrl?y("",!0):(r(),p("div",De,[i[16]||(i[16]=s("div",null,"Auto-Generated Icon",-1)),s("div",Ce,[h(D,{entityId:e.viewingDid,iconSize:64,class:"inline-block align-middle border border-slate-300 rounded-md mr-1",onClick:i[9]||(i[9]=u=>e.showLargeIdenticonId=e.viewingDid)},null,8,["entityId"])])]))]),e.showLargeIdenticonId||e.showLargeIdenticonUrl?(r(),p("div",ke,[s("div",Ie,[h(D,{entityId:e.showLargeIdenticonId,iconSize:512,profileImageUrl:e.showLargeIdenticonUrl,class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg",onClick:i[10]||(i[10]=u=>{e.showLargeIdenticonId=void 0,e.showLargeIdenticonUrl=void 0})},null,8,["entityId","profileImageUrl"])])])):y("",!0)])):(r(),p("div",xe,[s("div",null,[s("h2",$e,f(e.isMyDid?"You":"(no name)"),1)])])),e.contactEdit?(r(),p("div",Fe,[s("div",Se,[i[18]||(i[18]=s("h1",{class:"text-xl font-bold text-center mb-4"},"Edit Name",-1)),q(s("input",{type:"text",class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2",placeholder:"Name","onUpdate:modelValue":i[11]||(i[11]=u=>e.contactNewName=u)},null,512),[[J,e.contactNewName]]),s("div",Ee,[s("button",{class:"text-sm bg-blue-600 text-white px-2 py-1.5 rounded -ml-1.5 border-l border-blue-400",onClick:i[12]||(i[12]=u=>e.onClickSaveName(e.contactNewName))},[h(m,{icon:"save"})]),i[17]||(i[17]=s("span",{class:"inline-block w-2"},null,-1)),s("button",{class:"text-sm bg-blue-600 text-white px-2 py-1.5 rounded -ml-1.5 border-l border-blue-400",onClick:i[13]||(i[13]=u=>e.onClickCancelName())},[h(m,{icon:"ban"})])])])])):y("",!0),e.isLoading?(r(),p("div",Ne,[h(m,{icon:"spinner",class:"fa-spin-pulse"})])):y("",!0),e.claims.length>0?(r(),p("div",Te,[s("div",Ve," Claims That Involve "+f(e.isMyDid?"You":"Them"),1)])):y("",!0),h(O,{onReachedBottom:e.loadMoreData},{default:H(()=>[s("ul",null,[(r(!0),p(M,null,K(e.claims,u=>(r(),p("li",{class:"border-b border-slate-300",key:u.handleId},[s("div",Ae,[s("span",Ue,f(u.issuedAt.substring(0,10)),1),s("span",je,f(e.capitalizeAndInsertSpacesBeforeCaps(u.claimType)),1),s("span",Me,f(e.claimAmount(u)),1),s("span",Le,f(e.claimDescription(u)),1),s("span",Oe,[s("a",{onClick:b=>e.onClickLoadClaim(u.id),class:"cursor-pointer"},[h(m,{icon:"file-lines",class:"pl-2 pt-1 text-blue-500"})],8,Re)])])]))),128))])]),_:1},8,["onReachedBottom"]),!e.isLoading&&e.claims.length===0?(r(),p("div",Be,[e.isMyDid?(r(),p("span",_e,"You have no claims yet.")):(r(),p("span",Ge,"They are in no claims visible to you."))])):y("",!0)])],64)}const et=Q(x,[["render",ze]]);export{et as default}; diff --git a/dist-electron/assets/DiscoverView-CcC36y43.js b/dist-electron/assets/DiscoverView-CcC36y43.js new file mode 100644 index 0000000..361d83c --- /dev/null +++ b/dist-electron/assets/DiscoverView-CcC36y43.js @@ -0,0 +1 @@ +var R=Object.defineProperty;var B=(e,s,t)=>s in e?R(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t;var l=(e,s,t)=>B(e,typeof s!="symbol"?s+"":s,t);/* empty css */import{a as k}from"./leaflet-src-DKb5ysSI.js";import{V as N,f as $,e as E,y as I,C as P,_ as V,g,h as u,i as m,j as n,a3 as O,a0 as F,m as z,s as q,q as A,k as x,t as S,l as w,w as j,F as D,x as v,z as Z}from"./index-BLqts8WY.js";import{i as U,v as Q}from"./vue-leaflet.es-D17g3l39.js";import{Q as G}from"./QuickNav-DgCyvgDx.js";import{I as _}from"./InfiniteScroll-B5tl9k_n.js";import{P as H}from"./ProjectIcon-BlrP4rvy.js";import{O as J}from"./OnboardingDialog-CiAZLb6o.js";import{T as K}from"./TopMessage-BE0GBIgW.js";import{h as W,e as X,ao as Y,g as T,x as ee}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var te=Object.defineProperty,se=Object.getOwnPropertyDescriptor,oe=(e,s,t,o)=>{for(var i=o>1?void 0:o?se(s,t):s,a=e.length-1,h;a>=0;a--)(h=e[a])&&(i=(o?h(s,t,i):h(i))||i);return o&&i&&te(s,t,i),i};let C=class extends N{constructor(){super(...arguments);l(this,"$notify");l(this,"activeDid","");l(this,"allContacts",[]);l(this,"allMyDids",[]);l(this,"apiServer","");l(this,"searchTerms","");l(this,"projects",[]);l(this,"isLoading",!1);l(this,"isLocalActive",!0);l(this,"isMappedActive",!1);l(this,"isRemoteActive",!1);l(this,"isSearchVisible",!0);l(this,"localCenterLat",0);l(this,"localCenterLong",0);l(this,"localCount",-1);l(this,"markers",{});l(this,"remoteCount",-1);l(this,"searchBox",null);l(this,"tempSearchBox",null);l(this,"zoomedSoDoNotMove",!1);l(this,"didInfo",W)}async mounted(){var o;const t=await $();if(this.activeDid=t.activeDid||"",this.apiServer=t.apiServer||"",this.searchBox=((o=t.searchBoxes)==null?void 0:o[0])||null,this.allContacts=await E.contacts.toArray(),this.allMyDids=await X(),this.searchTerms=this.$route.query.searchText||"",t.finishedOnboarding||this.$refs.onboardingDialog.open(Y.Discover),this.searchBox){await this.searchLocal();const i=this.searchBox.bbox;this.localCenterLat=(i.maxLat+i.minLat)/2,this.localCenterLong=(i.eastLong+i.westLong)/2}else this.isLocalActive=!1,this.isMappedActive=!1,this.isRemoteActive=!0,await this.searchAll()}resetCounts(){this.localCount=-1,this.remoteCount=-1}async searchSelected(){this.isLocalActive?await this.searchLocal():this.isMappedActive?(this.isRemoteActive=!0,await this.searchAll()):await this.searchAll()}async searchAll(t){this.resetCounts(),t||(this.projects=[]);let o="claimContents="+encodeURIComponent(this.searchTerms);t&&(o=o+`&beforeId=${t}`);try{this.isLoading=!0;const i=await fetch(this.apiServer+"/api/v2/report/plans?"+o,{method:"GET",headers:await T(this.activeDid)});if(i.status!==200){const c=await i.text();throw console.error("Problem with full search:",c),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem accessing the server. Try again later."},-1),c}const a=await i.json(),h=a.data;if(h){for(const c of h){const{name:p,description:r,handleId:b,image:L,issuerDid:y,rowid:f}=c;this.projects.push({name:p,description:r,handleId:b,image:L,issuerDid:y,rowid:f})}this.remoteCount=this.projects.length}else throw JSON.stringify(a)}catch(i){console.error("Error with feed load:",i),console.error("Error with feed load (error added): "+i),this.$notify({group:"alert",type:"danger",title:"Error",text:i.userMessage||"There was a problem retrieving projects."},-1)}finally{this.isLoading=!1}}async searchLocal(t){var h;this.resetCounts();const o=this.isMappedActive&&this.tempSearchBox||this.isLocalActive&&((h=this.searchBox)==null?void 0:h.bbox);if(!o){this.projects=[];return}t||(this.projects=[]);let a=["claimContents="+encodeURIComponent(this.searchTerms),"minLocLat="+o.minLat,"maxLocLat="+o.maxLat,"westLocLon="+o.westLong,"eastLocLon="+o.eastLong].join("&");t&&(a=a+`&beforeId=${t}`);try{this.isLoading=!0;const c=await fetch(this.apiServer+"/api/v2/report/plansByLocation?"+a,{method:"GET",headers:await T(this.activeDid)});if(c.status!==200){const r=await c.text();throw console.error("Problem with nearby search:",r),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem accessing the server. Try again later."},-1),await c.text()}const p=await c.json();if(p.data){if(t){const r=p.data;for(const b of r){const{name:L,description:y,handleId:f,issuerDid:d,rowid:M}=b;this.projects.push({name:L,description:y,handleId:f,issuerDid:d,rowid:M})}}else this.projects=p.data;this.localCount=this.projects.length}else throw JSON.stringify(p)}catch(c){console.error("Error with feed load:",c),this.$notify({group:"alert",type:"danger",title:"Error",text:c.userMessage||"There was a problem retrieving projects."},-1)}finally{this.isLoading=!1}}async loadMoreData(t){if(this.projects.length>0&&t){const o=this.projects[this.projects.length-1];this.isLocalActive?this.searchLocal(o.rowid):this.isMappedActive?this.searchLocal(o.rowid):this.isRemoteActive&&this.searchAll(o.rowid)}}async onMapReady(t){t.setView([this.localCenterLat,this.localCenterLong],2),this.requestTiles(t)}onMoveStart(){}async onMoveEnd(t){this.zoomedSoDoNotMove?this.zoomedSoDoNotMove=!1:await this.requestTiles(t.target)}onZoomStart(){Object.values(this.markers).forEach(t=>t.remove()),this.markers={},this.zoomedSoDoNotMove=!0}async onZoomEnd(t){await this.requestTiles(t.target)}async requestTiles(t){var o,i;try{const a=t.getBounds(),h=["minLocLat="+(a==null?void 0:a.getSouthWest().lat),"maxLocLat="+(a==null?void 0:a.getNorthEast().lat),"westLocLon="+(a==null?void 0:a.getSouthWest().lng),"eastLocLon="+(a==null?void 0:a.getNorthEast().lng)].join("&"),c=await fetch(this.apiServer+"/api/v2/report/planCountsByBBox?"+h);if(c.status===200){Object.values(this.markers).forEach(r=>r.remove()),this.markers={};const p=await c.json();if(((i=(o=p.data)==null?void 0:o.tiles)==null?void 0:i.length)>0)for(const r of p.data.tiles){const b=(r.minFoundLat+r.maxFoundLat)/2,L=(r.minFoundLon+r.maxFoundLon)/2,y=k.divIcon({className:"numbered-marker",html:`${r.recordCount}`,iconSize:[24,24],iconAnchor:[12,12]}),f=k.marker([b,L],{icon:y});f.addTo(t),f.on("click",()=>{this.tempSearchBox={minLat:r.minFoundLat,maxLat:r.maxFoundLat,westLong:r.minFoundLon,eastLong:r.maxFoundLon},this.searchLocal()}),this.markers[""+r.indexLat+"X"+r.indexLon]=f}await this.searchLocal()}else throw{message:"Got an error loading projects on the map.",response:{status:c.status,statusText:c.statusText,url:c.url}}}catch(a){I("Error loading projects on the map: "+ee(a),!0),this.$notify({group:"alert",type:"danger",title:"Map Error",text:"There was a problem loading projects on the map."},3e3)}}onClickLoadProject(t){const o={path:"/project/"+encodeURIComponent(t)};this.$router.push(o)}computedLocalTabStyleClassNames(){return{"inline-block":!0,"py-3":!0,"rounded-t-lg":!0,"border-b-2":!0,active:this.isLocalActive,"text-black":this.isLocalActive,"border-black":this.isLocalActive,"font-semibold":this.isLocalActive,"text-blue-600":!this.isLocalActive,"border-transparent":!this.isLocalActive,"hover:border-slate-400":!this.isLocalActive}}computedMappedTabStyleClassNames(){return{"inline-block":!0,"py-3":!0,"rounded-t-lg":!0,"border-b-2":!0,active:this.isMappedActive,"text-black":this.isMappedActive,"border-black":this.isMappedActive,"font-semibold":this.isMappedActive,"text-blue-600":!this.isMappedActive,"border-transparent":!this.isMappedActive,"hover:border-slate-400":!this.isMappedActive}}computedRemoteTabStyleClassNames(){return{"inline-block":!0,"py-3":!0,"rounded-t-lg":!0,"border-b-2":!0,active:this.isRemoteActive,"text-black":this.isRemoteActive,"border-black":this.isRemoteActive,"font-semibold":this.isRemoteActive,"text-blue-600":!this.isRemoteActive,"border-transparent":!this.isRemoteActive,"hover:border-slate-400":!this.isRemoteActive}}};C=oe([P({components:{InfiniteScroll:_,LMap:U,LTileLayer:Q,OnboardingDialog:J,ProjectIcon:H,QuickNav:G,TopMessage:K}})],C);const ae={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},ie={class:"text-center text-slate-500 border-b border-slate-300"},re={class:"flex flex-wrap justify-center gap-4 -mb-px"},ne={key:0},le={class:"text-center"},ce={key:1},de={class:"mt-4 h-96 w-5/6 mx-auto"},he={key:2,class:"fixed left-6 bottom-24 text-center text-4xl leading-none bg-slate-400 text-white w-14 py-2.5 rounded-full"},pe={key:3,class:"text-center mt-8"},me={class:"text-lg text-slate-500"},ue={key:0},ve={key:0},fe={key:1},ge={id:"listDiscoverResults"},be=["onClick"],Le={class:"grow"},ye={class:"text-base font-semibold"},we={class:"text-sm"};function Ae(e,s,t,o,i,a){const h=g("QuickNav"),c=g("TopMessage"),p=g("OnboardingDialog"),r=g("fa"),b=g("l-tile-layer"),L=g("l-map"),y=g("ProjectIcon"),f=g("InfiniteScroll");return v(),u(D,null,[m(h,{selected:"Discover"}),m(c),n("section",ae,[s[7]||(s[7]=n("h1",{id:"ViewHeading",class:"text-4xl text-center font-light"}," Discover Projects ",-1)),m(p,{ref:"onboardingDialog"},null,512),n("div",{id:"QuickSearch",class:"mt-8 mb-4 flex",onKeyup:s[2]||(s[2]=O(d=>e.searchSelected(),["enter"])),style:F({visibility:e.isSearchVisible?"visible":"hidden"})},[z(n("input",{type:"text","onUpdate:modelValue":s[0]||(s[0]=d=>e.searchTerms=d),placeholder:"Search…",class:"block w-full rounded-l border border-r-0 border-slate-400 px-3 py-2"},null,512),[[q,e.searchTerms]]),n("button",{onClick:s[1]||(s[1]=d=>e.searchSelected()),class:"px-4 rounded-r bg-slate-200 border border-l-0 border-slate-400"},[m(r,{icon:"magnifying-glass",class:"fa-fw"})])],36),n("div",ie,[n("ul",re,[n("li",null,[n("a",{href:"#",onClick:s[3]||(s[3]=d=>{e.projects=[],e.isLocalActive=!0,e.isMappedActive=!1,e.isRemoteActive=!1,e.isSearchVisible=!0,e.tempSearchBox=null,e.searchLocal()}),class:A(e.computedLocalTabStyleClassNames())}," Nearby ",2)]),n("li",null,[n("a",{href:"#",onClick:s[4]||(s[4]=d=>{e.projects=[],e.isLocalActive=!1,e.isMappedActive=!0,e.isRemoteActive=!1,e.isSearchVisible=!1,e.searchTerms="",e.tempSearchBox=null}),class:A(e.computedMappedTabStyleClassNames())}," Mapped ",2)]),n("li",null,[n("a",{href:"#",onClick:s[5]||(s[5]=d=>{e.projects=[],e.isLocalActive=!1,e.isMappedActive=!1,e.isRemoteActive=!0,e.isSearchVisible=!0,e.tempSearchBox=null,e.searchAll()}),class:A(e.computedRemoteTabStyleClassNames())}," Anywhere ",2)])])]),e.isLocalActive?(v(),u("div",ne,[n("div",le,[n("button",{class:"ml-2 mt-2 px-4 py-2 rounded-md bg-blue-200 text-blue-500",onClick:s[6]||(s[6]=d=>e.$router.push({name:"search-area"}))},[m(r,{icon:"location-dot",class:"fa-fw"}),x(" Select a "+S(e.searchBox?"Different":"")+" Location for Nearby Search ",1)])])])):w("",!0),e.isMappedActive&&!e.tempSearchBox?(v(),u("div",ce,[n("div",de,[m(L,{ref:"projectMap",onReady:e.onMapReady,onMoveend:e.onMoveEnd,onMovestart:e.onMoveStart,onZoomend:e.onZoomEnd,onZoomstart:e.onZoomStart},{default:j(()=>[m(b,{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png","layer-type":"base",name:"OpenStreetMap"})]),_:1},8,["onReady","onMoveend","onMovestart","onZoomend","onZoomstart"])])])):w("",!0),e.isLoading?(v(),u("div",he,[m(r,{icon:"spinner",class:"fa-spin-pulse"})])):e.projects.length===0?(v(),u("div",pe,[n("p",me,[e.isLocalActive?(v(),u("span",ue,[e.searchBox?(v(),u("span",ve," None found in the selected area. ")):w("",!0)])):e.isRemoteActive?(v(),u("span",fe,"No projects were found with that search.")):w("",!0)])])):w("",!0),m(f,{onReachedBottom:e.loadMoreData},{default:j(()=>[n("ul",ge,[(v(!0),u(D,null,Z(e.projects,d=>(v(),u("li",{class:"border-b border-slate-300",key:d.handleId},[n("a",{onClick:M=>e.onClickLoadProject(d.handleId),class:"block py-4 flex gap-4 cursor-pointer"},[n("div",null,[m(y,{entityId:d.handleId,iconSize:48,imageUrl:d.image,class:"block border border-slate-300 rounded-md max-h-12 max-w-12"},null,8,["entityId","imageUrl"])]),n("div",Le,[n("h2",ye,S(d.name),1),n("div",we,[m(r,{icon:"user",class:"fa-fw text-slate-400"}),x(" "+S(e.didInfo(d.issuerDid,e.activeDid,e.allMyDids,e.allContacts)),1)])])],8,be)]))),128))])]),_:1},8,["onReachedBottom"])])],64)}const Ie=V(C,[["render",Ae]]);export{Ie as default}; diff --git a/dist-electron/assets/DiscoverView-DB9VWQSd.css b/dist-electron/assets/DiscoverView-DB9VWQSd.css new file mode 100644 index 0000000..52922c3 --- /dev/null +++ b/dist-electron/assets/DiscoverView-DB9VWQSd.css @@ -0,0 +1 @@ +.numbered-marker{display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;font-weight:700;color:#fff;background:#00f;width:24px;height:24px;border-radius:50%;border:2px solid white} diff --git a/dist-electron/assets/EntityIcon-CF1RwQI5.js b/dist-electron/assets/EntityIcon-CF1RwQI5.js new file mode 100644 index 0000000..adde054 --- /dev/null +++ b/dist-electron/assets/EntityIcon-CF1RwQI5.js @@ -0,0 +1 @@ +var B=Object.defineProperty;var P=(e,a,l)=>a in e?B(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l;var C=(e,a,l)=>P(e,typeof a!="symbol"?a+"":a,l);import{aa as H,C as I,V as O,_ as j,x as L,h as R}from"./index-BLqts8WY.js";function d(e){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(//g,">")}function T(e){var a,l,i,n,t,c,f;const r=(a=e.meta)===null||a===void 0?void 0:a.title,u=(l=e.meta)===null||l===void 0?void 0:l.creator,s=(i=e.meta)===null||i===void 0?void 0:i.source,o=(t=(n=e.meta)===null||n===void 0?void 0:n.license)===null||t===void 0?void 0:t.url,h=E(e);return!r&&!u&&!s&&!o&&!h?"":''+(r?`${d(r)}`:"")+(u?`${d(u)}`:"")+(s?`${d((f=(c=e.meta)===null||c===void 0?void 0:c.source)!==null&&f!==void 0?f:"")}`:"")+(o?`${d(o)}`:"")+(h?`${d(h)}`:"")+""}function E(e){var a,l,i,n,t,c,f,r,u,s,o,h,p,_,y;let g=!((a=e.meta)===null||a===void 0)&&a.title?`„${(l=e.meta)===null||l===void 0?void 0:l.title}”`:"Design",Z=`„${(n=(i=e.meta)===null||i===void 0?void 0:i.creator)!==null&&n!==void 0?n:"Unknown"}”`;!((t=e.meta)===null||t===void 0)&&t.source&&(g+=` (${e.meta.source})`);let b="";return((f=(c=e.meta)===null||c===void 0?void 0:c.license)===null||f===void 0?void 0:f.name)!=="MIT"&&((r=e.meta)===null||r===void 0?void 0:r.creator)!=="DiceBear"&&(!((u=e.meta)===null||u===void 0)&&u.title)&&(b+="Remix of "),b+=`${g} by ${Z}`,!((o=(s=e.meta)===null||s===void 0?void 0:s.license)===null||o===void 0)&&o.name&&(b+=`, licensed under „${(p=(h=e.meta)===null||h===void 0?void 0:h.license)===null||p===void 0?void 0:p.name}”`,!((y=(_=e.meta)===null||_===void 0?void 0:_.license)===null||y===void 0)&&y.url&&(b+=` (${e.meta.license.url})`)),b}function G(e){var a,l,i,n,t,c,f,r,u;const s=E(e);return{"IPTC:ObjectName":(a=e.meta)===null||a===void 0?void 0:a.title,"XMP-dc:Title":(l=e.meta)===null||l===void 0?void 0:l.title,"IPTC:CopyrightNotice":s,"XMP-dc:Rights":s,"IPTC:By-line":(i=e.meta)===null||i===void 0?void 0:i.creator,"XMP-dc:Creator":(n=e.meta)===null||n===void 0?void 0:n.creator,"IPTC:Credit":(t=e.meta)===null||t===void 0?void 0:t.creator,"XMP-photoshop:Credit":(c=e.meta)===null||c===void 0?void 0:c.creator,"XMP-plus:LicensorURL":(f=e.meta)===null||f===void 0?void 0:f.source,"XMP-xmpRights:WebStatement":(u=(r=e.meta)===null||r===void 0?void 0:r.license)===null||u===void 0?void 0:u.url}}const S=-2147483648,W=2147483647;function N(e){return e^=e<<13,e^=e>>17,e^=e<<5,e}function X(e){let a=0;for(let l=0;la=N(a),i=(n,t)=>Math.floor((l()-S)/(W-S)*(t+1-n)+n);return{seed:e,next:l,bool(n=50){return i(0,100)<=n},integer(n,t){return i(n,t)},pick(n,t){var c;return n.length===0?(l(),t):(c=n[i(0,n.length-1)])!==null&&c!==void 0?c:t},shuffle(n){const t=w(l().toString());return n.sort(()=>t.integer(-1,1))},string(n,t="abcdefghijklmnopqrstuvwxyz1234567890"){const c=w(l().toString());let f="";for(let r=0;r`;switch(i){case"solid":return u+e.body;case"gradientLinear":return``+e.body}}function Y(e,a){let{width:l,height:i,x:n,y:t}=$(e),c=a?(a-100)/100:0,f=(l/2+n)*c*-1,r=(i/2+t)*c*-1;return`${e.body}`}function J(e,a,l){let i=$(e),n=(i.width+i.x*2)*((a??0)/100),t=(i.height+i.y*2)*((l??0)/100);return`${e.body}`}function K(e,a){let{width:l,height:i,x:n,y:t}=$(e);return`${e.body}`}function Q(e){let{width:a,x:l}=$(e);return`${e.body}`}function e1(e,a){let{width:l,height:i,x:n,y:t}=$(e),c=a?l*a/100:0,f=a?i*a/100:0;return`${e.body}`}function a1(e){const a={xmlns:"http://www.w3.org/2000/svg",...e.attributes};return Object.keys(a).map(l=>`${d(l)}="${d(a[l])}"`).join(" ")}function l1(e){const a=w(Math.random().toString()),l={};return e.body.replace(/(id="|url\(#)([a-z0-9-_]+)([")])/gi,(i,n,t,c)=>(l[t]=l[t]||a.string(8),`${n}${l[t]}${c}`))}const n1={type:"object",$schema:"http://json-schema.org/draft-07/schema#",properties:{seed:{type:"string"},flip:{type:"boolean",default:!1},rotate:{type:"integer",minimum:0,maximum:360,default:0},scale:{type:"integer",minimum:0,maximum:200,default:100},radius:{type:"integer",minimum:0,maximum:50,default:0},size:{type:"integer",minimum:1},backgroundColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"}},backgroundType:{type:"array",items:{type:"string",enum:["solid","gradientLinear"]},default:["solid"]},backgroundRotation:{type:"array",items:{type:"integer",minimum:-360,maximum:360},default:[0,360]},translateX:{type:"integer",minimum:-100,maximum:100,default:0},translateY:{type:"integer",minimum:-100,maximum:100,default:0},clip:{type:"boolean",default:!0},randomizeIds:{type:"boolean",default:!1,examples:[!0,!1]}}};function z(e){var a;let l={},i=(a=e.properties)!==null&&a!==void 0?a:{};return Object.keys(i).forEach(n=>{let t=i[n];typeof t=="object"&&t.default!==void 0&&(Array.isArray(t.default)?l[n]=[...t.default]:typeof t.default=="object"?l[n]={...t.default}:l[n]=t.default)}),l}function i1(e,a){var l;let i={...z(n1),...z((l=e.schema)!==null&&l!==void 0?l:{}),...a};return JSON.parse(JSON.stringify(i))}function V(e){switch(e){case"svg":return"image/svg+xml";case"png":case"jpeg":return`image/${e}`;default:throw new Error(`Unsupported format: ${e}`)}}function t1(e,a=512){let l=a;return e=e.replace(/]*)/,(i,n)=>{const t=n.match(/width="([^"]+)"/);return t&&(l=parseInt(t[1])),n.match(/width="([^"]+)"/)?n=n.replace(/width="([^"]+)"/,`width="${l}"`):n+=` width="${l}"`,n.match(/height="([^"]+)"/)?n=n.replace(/height="([^"]+)"/,`height="${l}"`):n+=` height="${l}"`,`F(e,a,l),toFile:i=>r1(i,e,a,l),toArrayBuffer:()=>d1(e,a,l)}};async function F(e,a,l){return a==="svg"?`data:${V(a)};utf8,${encodeURIComponent(e)}`:(await U(e,a,l)).toDataURL(V(a))}async function d1(e,a,l){if(a==="svg")return c1().encode(e);const i=await U(e,a,l);return await new Promise((n,t)=>{i.toBlob(c=>{c?n(c.arrayBuffer()):t(new Error("Could not create blob"))},V(a))})}async function r1(e,a,l,i){const n=document.createElement("a");n.href=await F(a,l,i),n.download=e,n.click(),n.remove()}async function U(e,a,l){l&&console.warn("The `exif` option is not supported in the browser version of `@dicebear/converter`. \nPlease use the node version of `@dicebear/converter` to generate images with exif data.");let{svg:i,size:n}=t1(e);const t=document.createElement("canvas");t.width=n,t.height=n;const c=t.getContext("2d");if(c===null)throw new Error("Could not get canvas context");a==="jpeg"&&(c.fillStyle="white",c.fillRect(0,0,n,n));var f=document.createElement("img");return f.width=n,f.height=n,f.setAttribute("src",await F(i,"svg")),new Promise((r,u)=>{f.onload=()=>{c.drawImage(f,0,0,n,n),r(t)},f.onerror=s=>u(s)})}function D(e){return e==="transparent"?e:`#${e}`}function f1(e,a){var l;let i;a.length<=2?(e.next(),i=a):i=e.shuffle(a),i.length===0&&(i=["transparent"]);const n=i[0],t=(l=i[1])!==null&&l!==void 0?l:i[0];return{primary:D(n),secondary:D(t)}}function u1(e,a={}){var l,i,n,t,c;a=i1(e,a);const f=w(a.seed),r=e.create({prng:f,options:a}),{primary:u,secondary:s}=f1(f,(l=a.backgroundColor)!==null&&l!==void 0?l:[]),o=f.pick((i=a.backgroundType)!==null&&i!==void 0?i:[],"solid"),h=f.integer(!((n=a.backgroundRotation)===null||n===void 0)&&n.length?Math.min(...a.backgroundRotation):0,!((t=a.backgroundRotation)===null||t===void 0)&&t.length?Math.max(...a.backgroundRotation):0);a.size&&(r.attributes.width=a.size.toString(),r.attributes.height=a.size.toString()),a.scale!==void 0&&a.scale!==100&&(r.body=Y(r,a.scale)),a.flip&&(r.body=Q(r)),a.rotate&&(r.body=K(r,a.rotate)),(a.translateX||a.translateY)&&(r.body=J(r,a.translateX,a.translateY)),u!=="transparent"&&s!=="transparent"&&(r.body=q(r,u,s,o,h)),(a.radius||a.clip)&&(r.body=e1(r,(c=a.radius)!==null&&c!==void 0?c:0)),a.randomizeIds&&(r.body=l1(r));const p=a1(r),_=T(e),y=G(e),g=`${_}${r.body}`;return{toString:()=>g,toJson:()=>{var Z;return{svg:g,extra:{primaryBackgroundColor:u,secondaryBackgroundColor:s,backgroundType:o,backgroundRotation:h,...(Z=r.extra)===null||Z===void 0?void 0:Z.call(r)}}},toDataUriSync:()=>`data:image/svg+xml;utf8,${encodeURIComponent(g)}`,...x(g,"svg"),png:({includeExif:Z=!1}={})=>x(g,"png",Z?y:void 0),jpeg:({includeExif:Z=!1}={})=>x(g,"jpeg",Z?y:void 0)}}const s1={circle:(e,a)=>{var l,i,n,t,c,f,r,u,s,o,h,p;return`${(i=(l=e.clothing)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.mouth)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}${(f=(c=e.nose)===null||c===void 0?void 0:c.value(e,a))!==null&&f!==void 0?f:""}${(u=(r=e.eyes)===null||r===void 0?void 0:r.value(e,a))!==null&&u!==void 0?u:""}${(o=(s=e.eyebrows)===null||s===void 0?void 0:s.value(e,a))!==null&&o!==void 0?o:""}${(p=(h=e.top)===null||h===void 0?void 0:h.value(e,a))!==null&&p!==void 0?p:""}`},default:(e,a)=>{var l,i,n,t,c,f,r,u,s,o,h,p;return`${(i=(l=e.clothing)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.mouth)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}${(f=(c=e.nose)===null||c===void 0?void 0:c.value(e,a))!==null&&f!==void 0?f:""}${(u=(r=e.eyes)===null||r===void 0?void 0:r.value(e,a))!==null&&u!==void 0?u:""}${(o=(s=e.eyebrows)===null||s===void 0?void 0:s.value(e,a))!==null&&o!==void 0?o:""}${(p=(h=e.top)===null||h===void 0?void 0:h.value(e,a))!==null&&p!==void 0?p:""}`}},o1={blazerAndShirt:(e,a)=>``,blazerAndSweater:(e,a)=>``,collarAndSweater:(e,a)=>``,graphicShirt:(e,a)=>{var l,i;return`${(i=(l=e.clothingGraphic)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}`},hoodie:(e,a)=>``,overall:(e,a)=>``,shirtCrewNeck:(e,a)=>``,shirtScoopNeck:(e,a)=>``,shirtVNeck:(e,a)=>``},h1={concerned:(e,a)=>'',default:(e,a)=>'',disbelief:(e,a)=>'',eating:(e,a)=>'',grimace:(e,a)=>'',sad:(e,a)=>'',screamOpen:(e,a)=>'',serious:(e,a)=>'',smile:(e,a)=>'',tongue:(e,a)=>'',twinkle:(e,a)=>'',vomit:(e,a)=>''},p1={default:(e,a)=>''},v1={closed:(e,a)=>'',cry:(e,a)=>'',default:(e,a)=>'',eyeRoll:(e,a)=>'',happy:(e,a)=>'',hearts:(e,a)=>'',side:(e,a)=>'',squint:(e,a)=>'',surprised:(e,a)=>'',winkWacky:(e,a)=>'',wink:(e,a)=>'',xDizzy:(e,a)=>''},g1={angryNatural:(e,a)=>'',defaultNatural:(e,a)=>'',flatNatural:(e,a)=>'',frownNatural:(e,a)=>'',raisedExcitedNatural:(e,a)=>'',sadConcernedNatural:(e,a)=>'',unibrowNatural:(e,a)=>'',upDownNatural:(e,a)=>'',angry:(e,a)=>'',default:(e,a)=>'',raisedExcited:(e,a)=>'',sadConcerned:(e,a)=>'',upDown:(e,a)=>''},Z1={eyepatch:(e,a)=>{var l,i;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}`},hat:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},hijab:(e,a)=>{var l,i;return`${(i=(l=e.accessories)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}`},turban:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},winterHat1:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},winterHat02:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},winterHat03:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},winterHat04:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},bob:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},bun:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},curly:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},curvy:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},dreads:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},frida:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},fro:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},froBand:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},longButNotTooLong:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},miaWallace:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shavedSides:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},straight02:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},straight01:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},straightAndStrand:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},dreads01:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},dreads02:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},frizzle:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shaggy:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shaggyMullet:(e,a)=>{var l,i,n,t;return`${(i=(l=e.accessories)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.facialHair)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shortCurly:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shortFlat:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shortRound:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},shortWaved:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},sides:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},theCaesar:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},theCaesarAndSidePart:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`},bigHair:(e,a)=>{var l,i,n,t;return`${(i=(l=e.facialHair)===null||l===void 0?void 0:l.value(e,a))!==null&&i!==void 0?i:""}${(t=(n=e.accessories)===null||n===void 0?void 0:n.value(e,a))!==null&&t!==void 0?t:""}`}},m1={beardLight:(e,a)=>``,beardMagestic:(e,a)=>``,beardMedium:(e,a)=>``,moustacheFancy:(e,a)=>``,moustacheMagnum:(e,a)=>``},M1={kurt:(e,a)=>``,prescription01:(e,a)=>``,prescription02:(e,a)=>``,round:(e,a)=>``,sunglasses:(e,a)=>``,wayfarers:(e,a)=>``},y1={bat:(e,a)=>'',bear:(e,a)=>'',cumbia:(e,a)=>'',deer:(e,a)=>'',diamond:(e,a)=>'',hola:(e,a)=>'',pizza:(e,a)=>'',resist:(e,a)=>'',skull:(e,a)=>'',skullOutline:(e,a)=>''},$1=Object.freeze(Object.defineProperty({__proto__:null,accessories:M1,clothing:o1,clothingGraphic:y1,eyebrows:g1,eyes:v1,facialHair:m1,mouth:h1,nose:p1,style:s1,top:Z1},Symbol.toStringTag,{value:"Module"}));function v({prng:e,group:a,values:l=[]}){const i=$1,n=e.pick(l);if(n&&i[a][n])return{name:n,value:i[a][n]}}function _1({prng:e,options:a}){const l=v({prng:e,group:"style",values:a.style}),i=v({prng:e,group:"clothing",values:a.clothing}),n=v({prng:e,group:"mouth",values:a.mouth}),t=v({prng:e,group:"nose",values:a.nose}),c=v({prng:e,group:"eyes",values:a.eyes}),f=v({prng:e,group:"eyebrows",values:a.eyebrows}),r=v({prng:e,group:"top",values:a.top}),u=v({prng:e,group:"facialHair",values:a.facialHair}),s=v({prng:e,group:"accessories",values:a.accessories}),o=v({prng:e,group:"clothingGraphic",values:a.clothingGraphic});return{style:l,clothing:i,mouth:n,nose:t,eyes:c,eyebrows:f,top:e.bool(a.topProbability)?r:void 0,facialHair:e.bool(a.facialHairProbability)?u:void 0,accessories:e.bool(a.accessoriesProbability)?s:void 0,clothingGraphic:o}}function m(e){return e==="transparent"?e:`#${e}`}function b1({prng:e,options:a}){var l,i,n,t,c,f,r;return{accessories:m(e.pick((l=a.accessoriesColor)!==null&&l!==void 0?l:[],"transparent")),clothes:m(e.pick((i=a.clothesColor)!==null&&i!==void 0?i:[],"transparent")),hat:m(e.pick((n=a.hatColor)!==null&&n!==void 0?n:[],"transparent")),hair:m(e.pick((t=a.hairColor)!==null&&t!==void 0?t:[],"transparent")),skin:m(e.pick((c=a.skinColor)!==null&&c!==void 0?c:[],"transparent")),facialHair:m(e.pick((f=a.facialHairColor)!==null&&f!==void 0?f:[],"transparent")),background:m(e.pick((r=a.backgroundColor)!==null&&r!==void 0?r:[],"transparent"))}}function C1({prng:e,options:a,components:l,colors:i}){var n,t;((n=l.style)===null||n===void 0?void 0:n.name)==="circle"&&(a.backgroundColor=[]),((t=l.style)===null||t===void 0?void 0:t.name)!=="circle"&&a.backgroundColor&&a.backgroundColor.length===1&&a.backgroundColor[0]==="65c9ff"&&(a.backgroundColor=[])}const A1={$schema:"http://json-schema.org/draft-07/schema#",properties:{accessories:{type:"array",items:{type:"string",enum:["kurt","prescription01","prescription02","round","sunglasses","wayfarers"]},default:["kurt","prescription01","prescription02","round","sunglasses","wayfarers"]},accessoriesColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["262e33","65c9ff","5199e4","25557c","e6e6e6","929598","3c4f5c","b1e2ff","a7ffc4","ffdeb5","ffafb9","ffffb1","ff488e","ff5c5c","ffffff"]},accessoriesProbability:{type:"integer",minimum:0,maximum:100,default:10},backgroundColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["65c9ff"]},clothesColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["262e33","65c9ff","5199e4","25557c","e6e6e6","929598","3c4f5c","b1e2ff","a7ffc4","ffafb9","ffffb1","ff488e","ff5c5c","ffffff"]},clothing:{type:"array",items:{type:"string",enum:["blazerAndShirt","blazerAndSweater","collarAndSweater","graphicShirt","hoodie","overall","shirtCrewNeck","shirtScoopNeck","shirtVNeck"]},default:["blazerAndShirt","blazerAndSweater","collarAndSweater","graphicShirt","hoodie","overall","shirtCrewNeck","shirtScoopNeck","shirtVNeck"]},clothingGraphic:{type:"array",items:{type:"string",enum:["bat","bear","cumbia","deer","diamond","hola","pizza","resist","skull","skullOutline"]},default:["bat","bear","cumbia","deer","diamond","hola","pizza","resist","skull","skullOutline"]},eyebrows:{type:"array",items:{type:"string",enum:["angryNatural","defaultNatural","flatNatural","frownNatural","raisedExcitedNatural","sadConcernedNatural","unibrowNatural","upDownNatural","angry","default","raisedExcited","sadConcerned","upDown"]},default:["angryNatural","defaultNatural","flatNatural","frownNatural","raisedExcitedNatural","sadConcernedNatural","unibrowNatural","upDownNatural","angry","default","raisedExcited","sadConcerned","upDown"]},eyes:{type:"array",items:{type:"string",enum:["closed","cry","default","eyeRoll","happy","hearts","side","squint","surprised","winkWacky","wink","xDizzy"]},default:["closed","cry","default","eyeRoll","happy","hearts","side","squint","surprised","winkWacky","wink","xDizzy"]},facialHair:{type:"array",items:{type:"string",enum:["beardLight","beardMagestic","beardMedium","moustacheFancy","moustacheMagnum"]},default:["beardLight","beardMagestic","beardMedium","moustacheFancy","moustacheMagnum"]},facialHairColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["a55728","2c1b18","b58143","d6b370","724133","4a312c","f59797","ecdcbf","c93305","e8e1e1"]},facialHairProbability:{type:"integer",minimum:0,maximum:100,default:10},hairColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["a55728","2c1b18","b58143","d6b370","724133","4a312c","f59797","ecdcbf","c93305","e8e1e1"]},hatColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["262e33","65c9ff","5199e4","25557c","e6e6e6","929598","3c4f5c","b1e2ff","a7ffc4","ffdeb5","ffafb9","ffffb1","ff488e","ff5c5c","ffffff"]},mouth:{type:"array",items:{type:"string",enum:["concerned","default","disbelief","eating","grimace","sad","screamOpen","serious","smile","tongue","twinkle","vomit"]},default:["concerned","default","disbelief","eating","grimace","sad","screamOpen","serious","smile","tongue","twinkle","vomit"]},nose:{type:"array",items:{type:"string",enum:["default"]},default:["default"]},skinColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"},default:["614335","d08b5b","ae5d29","edb98a","ffdbb4","fd9841","f8d25c"]},style:{type:"array",items:{type:"string",enum:["circle","default"]},default:["default"]},top:{type:"array",items:{type:"string",enum:["eyepatch","hat","hijab","turban","winterHat1","winterHat02","winterHat03","winterHat04","bob","bun","curly","curvy","dreads","frida","fro","froBand","longButNotTooLong","miaWallace","shavedSides","straight02","straight01","straightAndStrand","dreads01","dreads02","frizzle","shaggy","shaggyMullet","shortCurly","shortFlat","shortRound","shortWaved","sides","theCaesar","theCaesarAndSidePart","bigHair"]},default:["eyepatch","hat","hijab","turban","winterHat1","winterHat02","winterHat03","winterHat04","bob","bun","curly","curvy","dreads","frida","fro","froBand","longButNotTooLong","miaWallace","shavedSides","straight02","straight01","straightAndStrand","dreads01","dreads02","frizzle","shaggy","shaggyMullet","shortCurly","shortFlat","shortRound","shortWaved","sides","theCaesar","theCaesarAndSidePart","bigHair"]},topProbability:{type:"integer",minimum:0,maximum:100,default:100}}},w1={title:"Avataaars",creator:"Pablo Stanley",source:"https://avataaars.com/",homepage:"https://twitter.com/pablostanley",license:{name:"Free for personal and commercial use",url:"https://avataaars.com/"}},H1=({prng:e,options:a})=>{var l,i;const n=_1({prng:e,options:a}),t=b1({prng:e,options:a});return C1({prng:e,options:a,components:n,colors:t}),{attributes:{viewBox:"0 0 280 280",fill:"none","shape-rendering":"auto"},body:`${(i=(l=n.style)===null||l===void 0?void 0:l.value(n,t))!==null&&i!==void 0?i:""}`,extra:()=>({...Object.entries(n).reduce((c,[f,r])=>(c[f]=r==null?void 0:r.name,c),{}),...Object.entries(t).reduce((c,[f,r])=>(c[`${f}Color`]=r,c),{})})}},k1=Object.freeze(Object.defineProperty({__proto__:null,create:H1,meta:w1,schema:A1},Symbol.toStringTag,{value:"Module"}));var x1=Object.defineProperty,V1=Object.getOwnPropertyDescriptor,A=(e,a,l,i)=>{for(var n=i>1?void 0:i?V1(a,l):a,t=e.length-1,c;t>=0;t--)(c=e[t])&&(n=(i?c(a,l,n):c(n))||n);return i&&n&&x1(a,l,n),n};let M=class extends O{constructor(){super(...arguments);C(this,"contact");C(this,"entityId","");C(this,"iconSize",0);C(this,"profileImageUrl","")}generateIcon(){var i,n;const l=((i=this.contact)==null?void 0:i.profileImageUrl)||this.profileImageUrl;if(l)return``;{const t=((n=this.contact)==null?void 0:n.did)||this.entityId;if(!t)return``;const c={seed:t||"",size:this.iconSize};return u1(k1,c).toString()}}};A([H],M.prototype,"contact",2);A([H],M.prototype,"entityId",2);A([H],M.prototype,"iconSize",2);A([H],M.prototype,"profileImageUrl",2);M=A([I],M);const F1=["innerHTML"];function S1(e,a,l,i,n,t){return L(),R("div",{innerHTML:e.generateIcon(),class:"w-fit"},null,8,F1)}const N1=j(M,[["render",S1]]);export{N1 as E}; diff --git a/dist-electron/assets/GiftedDetailsView-D3S_W0BS.js b/dist-electron/assets/GiftedDetailsView-D3S_W0BS.js new file mode 100644 index 0000000..8d06f5f --- /dev/null +++ b/dist-electron/assets/GiftedDetailsView-D3S_W0BS.js @@ -0,0 +1,3 @@ +var L=Object.defineProperty;var z=(t,e,r)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s=(t,e,r)=>z(t,typeof e!="symbol"?e+"":e,r);import{V as K,f as X,e as Z,b as _,C as ee,_ as te,g as j,h as m,i as g,j as i,l as b,t as v,m as y,s as H,o as T,p as f,w as ie,k as Q,F as re,x as h}from"./index-BLqts8WY.js";import{I as oe}from"./ImageMethodDialog-B6b8zZ7c.js";import{Q as se}from"./QuickNav-DgCyvgDx.js";import{T as ne}from"./TopMessage-BE0GBIgW.js";import{l as ae,e as le,h as W,ap as J,g as de,aq as pe,ar as he,as as ce,at as ue}from"./index-MyY_xqVN.js";import"./PhotoDialog-Dn3GjI9b.js";import"./index-CsfPLOYu.js";var ge=Object.defineProperty,me=Object.getOwnPropertyDescriptor,fe=(t,e,r,c)=>{for(var n=c>1?void 0:c?me(e,r):e,p=t.length-1,l;p>=0;p--)(l=t[p])&&(n=(c?l(e,r,n):l(n))||n);return c&&n&&ge(e,r,n),n};let I=class extends K{constructor(){super(...arguments);s(this,"$notify");s(this,"activeDid","");s(this,"apiServer","");s(this,"amountInput","0");s(this,"description","");s(this,"destinationPathAfter","");s(this,"fulfillsProjectId","");s(this,"fulfillsProjectName","a project");s(this,"givenToProject",!1);s(this,"givenToRecipient",!1);s(this,"giverDid","");s(this,"giverName","");s(this,"hideBackButton",!1);s(this,"imageUrl","");s(this,"isTrade",!1);s(this,"message","");s(this,"offerId","");s(this,"prevCredToEdit");s(this,"providerProjectId","");s(this,"providerProjectName","a project");s(this,"providedByProject",!1);s(this,"providedByGiver",!1);s(this,"recipientDid","");s(this,"recipientName","");s(this,"showGeneralAdvanced",!1);s(this,"unitCode","HUR");s(this,"libsUtil",ae)}async mounted(){var P,o,$,C,D,k,x,U,N,E,G,A,B,S,q,R,O,M,V,F;try{this.prevCredToEdit=this.$route.query.prevCredToEdit?JSON.parse(this.$route.query.prevCredToEdit):void 0}catch{this.$notify({group:"alert",type:"danger",title:"Retrieval Error",text:"The previous record isn't available for editing. If you submit, you'll create a new record."},6e3)}const e=($=(o=(P=this.prevCredToEdit)==null?void 0:P.claim)==null?void 0:o.object)==null?void 0:$.amountOfThisGood;this.amountInput=this.$route.query.amountInput||(e?String(e):"")||this.amountInput,this.description=this.$route.query.description||((D=(C=this.prevCredToEdit)==null?void 0:C.claim)==null?void 0:D.description)||this.description,this.destinationPathAfter=this.$route.query.destinationPathAfter,this.giverDid=this.$route.query.giverDid||((U=(x=(k=this.prevCredToEdit)==null?void 0:k.claim)==null?void 0:x.agent)==null?void 0:U.identifier)||this.giverDid,this.giverName=this.$route.query.giverName||"",this.hideBackButton=this.$route.query.hideBackButton==="true",this.message=this.$route.query.message||"";const r=(E=(N=this.prevCredToEdit)==null?void 0:N.claim)==null?void 0:E.fulfills,c=Array.isArray(r)?r:r?[r]:[],n=c.find(d=>d["@type"]==="Offer");this.offerId=this.$route.query.offerId||(n==null?void 0:n.identifier)||this.offerId;const p=c.find(d=>d["@type"]==="PlanAction");this.fulfillsProjectId=this.$route.query.fulfillsProjectId||(p==null?void 0:p.identifier)||this.fulfillsProjectId;const l=(A=(G=this.prevCredToEdit)==null?void 0:G.claim)==null?void 0:A.provider,a=(Array.isArray(l)?l:l?[l]:[]).find(d=>d["@type"]==="PlanAction");this.providerProjectId=this.$route.query.providerProjectId||(a==null?void 0:a.identifier)||this.providerProjectId,this.recipientDid=this.$route.query.recipientDid||((q=(S=(B=this.prevCredToEdit)==null?void 0:B.claim)==null?void 0:S.recipient)==null?void 0:q.identifier),this.recipientName=this.$route.query.recipientName||"",this.unitCode=this.$route.query.unitCode||((M=(O=(R=this.prevCredToEdit)==null?void 0:R.claim)==null?void 0:O.object)==null?void 0:M.unitCode)||this.unitCode,this.imageUrl=this.$route.query.imageUrl||((F=(V=this.prevCredToEdit)==null?void 0:V.claim)==null?void 0:F.image)||localStorage.getItem("imageUrl")||this.imageUrl,this.$route.query.shareTitle&&(this.description=this.$route.query.shareTitle+(this.description?` +`+this.description:"")),this.$route.query.shareText&&(this.description=(this.description?this.description+` +`:"")+this.$route.query.shareText),this.$route.query.shareUrl&&(this.imageUrl=this.$route.query.shareUrl);const w=await X();if(this.apiServer=w.apiServer||"",this.activeDid=w.activeDid||"",this.giverDid&&!this.giverName||this.recipientDid&&!this.recipientName){const d=await Z.contacts.toArray(),Y=await le();this.giverDid&&!this.giverName&&(this.giverName=W(this.giverDid,this.activeDid,Y,d)),this.recipientDid&&!this.recipientName&&(this.recipientName=W(this.recipientDid,this.activeDid,Y,d))}if(this.givenToProject=!!this.fulfillsProjectId,this.givenToRecipient=!this.givenToProject&&!!this.recipientDid,this.providedByProject=!!this.providerProjectId,this.providedByGiver=!this.providedByProject&&!!this.giverDid,this.showGeneralAdvanced=!!w.showGeneralAdvanced,this.fulfillsProjectId){const d=await J(this.fulfillsProjectId,this.axios,this.apiServer,this.activeDid);this.fulfillsProjectName=d!=null&&d.name?`the project "${d.name}"`:"a project"}if(this.providerProjectId){const d=await J(this.providerProjectId,this.axios,this.apiServer,this.activeDid);this.providerProjectName=d!=null&&d.name?`the project "${d.name}"`:"a project"}}changeUnitCode(){const e=Object.keys(this.libsUtil.UNIT_SHORT),r=e.indexOf(this.unitCode);this.unitCode=e[(r+1)%e.length]}increment(){this.amountInput=`${(parseFloat(this.amountInput)||0)+1}`}decrement(){this.amountInput=`${Math.max(0,(parseFloat(this.amountInput)||1)-1)}`}cancel(){this.deleteImage(),this.destinationPathAfter?this.$router.push({path:this.destinationPathAfter}):this.$router.back()}cancelBack(){this.deleteImage(),this.$router.back()}openImageDialog(){this.$refs.imageDialog.open(e=>{this.imageUrl=e},"GiveAction")}confirmDeleteImage(){this.$notify({group:"modal",type:"confirm",title:"Are you sure you want to delete the image?",text:"",onYes:this.deleteImage},-1)}async deleteImage(){if(this.imageUrl)try{const e=await de(this.activeDid),r=await this.axios.delete(_+"/image/"+encodeURIComponent(this.imageUrl),{headers:e});if(r.status!==204){console.error("Problem deleting image:",r),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem deleting the image."},5e3);return}localStorage.removeItem("imageUrl"),this.imageUrl=""}catch(e){console.error("Error deleting image:",e),e.response.status===404?(console.log("Weird: the image was already deleted.",e),localStorage.removeItem("imageUrl"),this.imageUrl=""):this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error deleting the image."},5e3)}}async confirm(){if(!this.activeDid){this.$notify({group:"alert",type:"danger",title:"Error",text:"You must select an identifier before you can record a give."},2e3);return}if(parseFloat(this.amountInput)<0){this.$notify({group:"alert",type:"danger",text:"You may not send a negative number.",title:""},2e3);return}if(!this.description&&!parseFloat(this.amountInput)){this.$notify({group:"alert",type:"danger",title:"Error",text:`You must enter a description or some number of ${this.libsUtil.UNIT_LONG[this.unitCode]}.`},2e3);return}this.$notify({group:"alert",type:"toast",text:"Recording the give...",title:""},1e3),await this.recordGive()}notifyUserOfGiver(){this.giverDid?this.$notify({group:"alert",type:"warning",title:"Unavailable",text:"You cannot assign both a giver and a project."},3e3):this.$notify({group:"alert",type:"warning",title:"Go To The Contacts Page",text:"To assign a giver, you must open this page from a contact."},3e3)}notifyUserOfRecipient(){this.recipientDid?this.$notify({group:"alert",type:"warning",title:"Unavailable",text:"You cannot assign both to a recipient and to a project."},3e3):this.$notify({group:"alert",type:"warning",title:"Go To The Contacts Page",text:"To assign to a recipient, you must open this page from a contact."},3e3)}notifyUserOfProvidingProject(){this.providerProjectId?this.$notify({group:"alert",type:"warning",title:"Unavailable",text:"You cannot select both a giving project and person."},3e3):this.$notify({group:"alert",type:"warning",title:"Go To The Project Page",text:"To select a project as a provider, you must open this page through a project."},3e3)}notifyUserFulfillsProject(){this.fulfillsProjectId?this.$notify({group:"alert",type:"warning",title:"Unavailable",text:"You cannot assign both to a project and to a recipient."},3e3):this.$notify({group:"alert",type:"warning",title:"Go To The Project Page",text:"To assign to a project, you must open this page through a project."},3e3)}async recordGive(){var e,r,c;try{const n=this.providedByGiver?this.giverDid:void 0,p=this.givenToRecipient?this.recipientDid:void 0,l=this.givenToProject?this.fulfillsProjectId:void 0;let u;if(this.prevCredToEdit?u=await pe(this.axios,this.apiServer,this.prevCredToEdit,this.activeDid,n,p,this.description,parseFloat(this.amountInput),this.unitCode,l,this.offerId,this.isTrade,this.imageUrl,this.providerProjectId):u=await he(this.axios,this.apiServer,this.activeDid,n,p,this.description,parseFloat(this.amountInput),this.unitCode,l,this.offerId,this.isTrade,this.imageUrl,this.providerProjectId),u.type==="error"||this.isGiveCreationError(u.response)){const a=this.getGiveCreationErrorMessage(u);console.error("Error with give creation result:",u),this.$notify({group:"alert",type:"danger",title:"Error",text:a||"There was an error creating the give."},-1)}else this.$notify({group:"alert",type:"success",title:"Success",text:`That ${this.isTrade?"trade":"gift"} was recorded.`},5e3),localStorage.removeItem("imageUrl"),this.destinationPathAfter?this.$router.push({path:this.destinationPathAfter}):this.$router.back()}catch(n){console.error("Error with give recordation caught:",n);const p=n.userMessage||((c=(r=(e=n.response)==null?void 0:e.data)==null?void 0:r.error)==null?void 0:c.message)||"There was an error recording the give.";this.$notify({group:"alert",type:"danger",title:"Error",text:p},-1)}}constructGiveParam(){var l,u;const e=this.providedByGiver?this.giverDid:void 0,r=this.givenToRecipient?this.recipientDid:void 0,c=this.givenToProject?this.fulfillsProjectId:void 0,n=ce((l=this.prevCredToEdit)==null?void 0:l.claim,e,r,this.description,parseFloat(this.amountInput),this.unitCode,c,this.offerId,this.isTrade,this.imageUrl,this.providerProjectId,(u=this.prevCredToEdit)==null?void 0:u.id);return JSON.stringify(n)}isGiveCreationError(e){var r;return e.status!==201||((r=e.data)==null?void 0:r.error)}getGiveCreationErrorMessage(e){var r,c,n,p,l;return((r=e.error)==null?void 0:r.userMessage)||((c=e.error)==null?void 0:c.error)||((l=(p=(n=e.response)==null?void 0:n.data)==null?void 0:p.error)==null?void 0:l.message)}explainData(){this.$notify({group:"alert",type:"success",title:"Data Sharing",text:ue},-1)}};I=fe([ee({components:{ImageMethodDialog:oe,QuickNav:se,TopMessage:ne}})],I);const ve={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},ye={key:0,class:"text-lg text-center font-light relative px-7"},be={class:"text-xl font-bold text-center mb-4"},we={class:"flex flex-row justify-center"},je={class:"flex justify-center mt-4","data-testId":"imagery"},Te={key:0,class:"flex justify-between"},Pe=["href"],Ie=["src"],$e={key:1},Ce={class:"mt-4 flex justify-between gap-2"},De={class:"flex-grow border border-slate-400 p-2 rounded-md"},ke={class:"flex"},xe={class:"text-sm mt-1"},Ue={class:"flex"},Ne={class:"text-sm mt-1"},Ee={class:"flex-shrink flex justify-center items-center"},Ge={class:"flex-grow border border-slate-400 p-2 rounded-md"},Ae={class:"flex"},Be={class:"text-sm mt-1"},Se={class:"flex"},qe={class:"text-sm mt-1"},Re={class:"mt-8 flex"},Oe={key:1,class:"mt-4 flex"},Me={class:"text-center mb-2 mt-6 italic"},Ve={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Fe(t,e,r,c,n,p){const l=j("QuickNav"),u=j("TopMessage"),a=j("fa"),w=j("ImageMethodDialog"),P=j("router-link");return h(),m(re,null,[g(l),g(u),i("section",ve,[t.hideBackButton?b("",!0):(h(),m("div",ye,[i("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=o=>t.cancelBack())},[g(a,{icon:"chevron-left",class:"fa-fw"})])])),e[22]||(e[22]=i("h1",{class:"text-4xl text-center font-light px-4 mb-4"},"What Was Given",-1)),i("h1",be,[i("span",null," From "+v(t.providedByProject?t.providerProjectName:t.providedByGiver?t.giverName:"someone not named"),1),e[18]||(e[18]=i("br",null,null,-1)),i("span",null," to "+v(t.givenToProject?t.fulfillsProjectName:t.givenToRecipient?t.recipientName:"someone not named"),1)]),y(i("textarea",{class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2",placeholder:"What was received","onUpdate:modelValue":e[1]||(e[1]=o=>t.description=o)},null,512),[[H,t.description]]),i("div",we,[i("span",{class:"rounded-l border border-r-0 border-slate-400 bg-slate-200 text-center text-blue-500 px-2 py-2 w-20",onClick:e[2]||(e[2]=o=>t.changeUnitCode())},v(t.libsUtil.UNIT_SHORT[t.unitCode]||t.unitCode),1),i("div",{class:"border border-r-0 border-slate-400 bg-slate-200 px-4 py-2",onClick:e[3]||(e[3]=o=>t.amountInput==="0"?null:t.decrement())},[g(a,{icon:"chevron-left"})]),y(i("input",{type:"number",class:"border border-r-0 border-slate-400 px-2 py-2 text-center w-20","onUpdate:modelValue":e[4]||(e[4]=o=>t.amountInput=o)},null,512),[[H,t.amountInput]]),i("div",{class:"rounded-r border border-slate-400 bg-slate-200 px-4 py-2",onClick:e[5]||(e[5]=o=>t.increment())},[g(a,{icon:"chevron-right"})])]),i("div",je,[t.imageUrl?(h(),m("span",Te,[i("a",{href:t.imageUrl,target:"_blank"},[i("img",{src:t.imageUrl,class:"h-24 rounded-xl"},null,8,Ie)],8,Pe),g(a,{icon:"trash-can",onClick:t.confirmDeleteImage,class:"text-red-500 fa-fw ml-8 mt-10"},null,8,["onClick"])])):(h(),m("span",$e,[g(a,{icon:"camera",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-md",onClick:t.openImageDialog},null,8,["onClick"])]))]),g(w,{ref:"imageDialog"},null,512),i("div",Ce,[i("div",De,[i("div",ke,[t.giverDid&&!t.providedByProject?y((h(),m("input",{key:0,type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":e[6]||(e[6]=o=>t.providedByGiver=o)},null,512)),[[T,t.providedByGiver]]):(h(),f(a,{key:1,icon:"square",class:"mr-2 bg-white text-white h-5 w-5 px-0.5 py-0.5 rounded-sm"})),i("label",xe,v(t.giverDid?"This was provided by "+t.giverName+".":"No named individual gave."),1),!t.giverDid||t.providedByProject?(h(),f(a,{key:2,icon:"info-circle",class:"-mt-1 bg-white text-slate-500 h-5 w-5 px-0.5 py-0.5 rounded-sm",onClick:e[7]||(e[7]=o=>t.notifyUserOfGiver())})):b("",!0)]),i("div",Ue,[t.providerProjectId&&!t.providedByGiver?y((h(),m("input",{key:0,type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":e[8]||(e[8]=o=>t.providedByProject=o)},null,512)),[[T,t.providedByProject]]):(h(),f(a,{key:1,icon:"square",class:"mr-2 bg-white text-white h-5 w-5 px-0.5 py-0.5 rounded-sm"})),i("label",Ne,v(t.providerProjectId?"This was provided by "+t.providerProjectName+".":"This was not provided by a project."),1),!t.providerProjectId||t.providedByGiver?(h(),f(a,{key:2,icon:"info-circle",class:"-mt-1 bg-white text-slate-500 h-5 w-5 px-0.5 py-0.5 rounded-sm",onClick:e[9]||(e[9]=o=>t.notifyUserOfProvidingProject())})):b("",!0)])]),i("div",Ee,[g(a,{icon:"arrow-right",class:"fa-fw h-7"})]),i("div",Ge,[i("div",Ae,[t.recipientDid&&!t.givenToProject?y((h(),m("input",{key:0,type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":e[10]||(e[10]=o=>t.givenToRecipient=o)},null,512)),[[T,t.givenToRecipient]]):(h(),f(a,{key:1,icon:"square",class:"mr-2 bg-white text-white h-5 w-5 px-0.5 py-0.5 rounded-sm"})),i("label",Be,v(t.recipientDid?"This was given to "+t.recipientName+".":"No individual benefitted."),1),!t.recipientDid||t.givenToProject?(h(),f(a,{key:2,icon:"info-circle",class:"-mt-1 bg-white text-slate-500 h-5 w-5 px-0.5 py-0.5 rounded-sm",onClick:e[11]||(e[11]=o=>t.notifyUserOfRecipient())})):b("",!0)]),i("div",Se,[t.fulfillsProjectId&&!t.givenToRecipient?y((h(),m("input",{key:0,type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":e[12]||(e[12]=o=>t.givenToProject=o)},null,512)),[[T,t.givenToProject]]):(h(),f(a,{key:1,icon:"square",class:"mr-2 bg-white text-white h-5 w-5 px-0.5 py-0.5 rounded-sm"})),i("label",qe,v(t.fulfillsProjectId?"This was given to "+t.fulfillsProjectName+". ":"No project benefitted."),1),!t.fulfillsProjectId||t.givenToRecipient?(h(),f(a,{key:2,icon:"info-circle",class:"-mt-1 bg-white text-slate-500 h-5 w-5 px-0.5 py-0.5 rounded-sm",onClick:e[13]||(e[13]=o=>t.notifyUserFulfillsProject())})):b("",!0)])])]),i("div",Re,[y(i("input",{type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":e[14]||(e[14]=o=>t.isTrade=o)},null,512),[[T,t.isTrade]]),e[19]||(e[19]=i("label",{class:"text-sm mt-1"},"This was a trade (not a gift)",-1))]),t.showGeneralAdvanced?(h(),m("div",Oe,[g(P,{to:{name:"claim-add-raw",query:{claim:t.constructGiveParam()}},class:"text-blue-500"},{default:ie(()=>e[20]||(e[20]=[Q(" Edit Raw Data ")])),_:1},8,["to"])])):b("",!0),i("p",Me,[e[21]||(e[21]=Q(" Sign & Send to publish to the world ")),g(a,{icon:"circle-info",class:"pl-2 text-blue-500 cursor-pointer",onClick:e[15]||(e[15]=o=>t.explainData())})]),i("div",Ve,[i("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:e[16]||(e[16]=(...o)=>t.confirm&&t.confirm(...o))}," Sign & Send "),i("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[17]||(e[17]=(...o)=>t.cancel&&t.cancel(...o))}," Cancel ")])])],64)}const Xe=te(I,[["render",Fe]]);export{Xe as default}; diff --git a/dist-electron/assets/GiftedDialog-CFmou4Be.js b/dist-electron/assets/GiftedDialog-CFmou4Be.js new file mode 100644 index 0000000..be16f70 --- /dev/null +++ b/dist-electron/assets/GiftedDialog-CFmou4Be.js @@ -0,0 +1 @@ +var x=Object.defineProperty;var D=(e,t,r)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var s=(e,t,r)=>D(e,typeof t!="symbol"?t+"":t,r);import{aa as $,C as S,V as T,f as j,e as P,_ as k,g as b,x as E,h as U,j as a,t as y,m as I,s as C,i as m,w as G,k as w,l as O}from"./index-BLqts8WY.js";import{l as M,e as V,h as N,ar as A,at as R}from"./index-MyY_xqVN.js";var F=Object.defineProperty,H=Object.getOwnPropertyDescriptor,v=(e,t,r,i)=>{for(var o=i>1?void 0:i?H(t,r):t,l=e.length-1,n;l>=0;l--)(n=e[l])&&(o=(i?n(t,r,o):n(o))||o);return i&&o&&F(t,r,o),o};let f=class extends T{constructor(){super(...arguments);s(this,"$notify");s(this,"fromProjectId","");s(this,"toProjectId","");s(this,"activeDid","");s(this,"allContacts",[]);s(this,"allMyDids",[]);s(this,"apiServer","");s(this,"amountInput","0");s(this,"callbackOnSuccess",()=>{});s(this,"customTitle");s(this,"description","");s(this,"giver");s(this,"isTrade",!1);s(this,"offerId","");s(this,"prompt","");s(this,"receiver");s(this,"unitCode","HUR");s(this,"visible",!1);s(this,"libsUtil",M)}async open(r,i,o,l,n,c){this.customTitle=l,this.giver=r,this.prompt=n||"",this.receiver=i,this.amountInput="0",this.callbackOnSuccess=c,this.offerId=o||"";try{const d=await j();this.apiServer=d.apiServer||"",this.activeDid=d.activeDid||"",this.allContacts=await P.contacts.toArray(),this.allMyDids=await V(),this.giver&&!this.giver.name&&(this.giver.name=N(this.giver.did,this.activeDid,this.allMyDids,this.allContacts))}catch(d){console.error("Error retrieving settings from database:",d),this.$notify({group:"alert",type:"danger",title:"Error",text:d.message||"There was an error retrieving your settings."},-1)}this.visible=!0}close(){this.visible=!1}changeUnitCode(){const r=Object.keys(this.libsUtil.UNIT_SHORT),i=r.indexOf(this.unitCode);this.unitCode=r[(i+1)%r.length]}increment(){this.amountInput=`${(parseFloat(this.amountInput)||0)+1}`}decrement(){this.amountInput=`${Math.max(0,(parseFloat(this.amountInput)||1)-1)}`}cancel(){this.close(),this.eraseValues()}eraseValues(){this.description="",this.giver=void 0,this.amountInput="0",this.prompt="",this.unitCode="HUR"}async confirm(){var r,i;if(!this.activeDid){this.$notify({group:"alert",type:"danger",title:"Error",text:"You must select an identifier before you can record a give."},3e3);return}if(parseFloat(this.amountInput)<0){this.$notify({group:"alert",type:"danger",text:"You may not send a negative number.",title:""},2e3);return}if(!this.description&&!parseFloat(this.amountInput)){this.$notify({group:"alert",type:"danger",title:"Error",text:`You must enter a description or some number of ${this.libsUtil.UNIT_LONG[this.unitCode]}.`},2e3);return}this.close(),this.$notify({group:"alert",type:"toast",text:"Recording the give...",title:""},1e3),await this.recordGive(((r=this.giver)==null?void 0:r.did)||null,((i=this.receiver)==null?void 0:i.did)||null,this.description,parseFloat(this.amountInput),this.unitCode).then(()=>{this.eraseValues()})}async recordGive(r,i,o,l,n="HUR"){var c,d,g;try{const u=await A(this.axios,this.apiServer,this.activeDid,r,i,o,l,n,this.toProjectId,this.offerId,this.isTrade,void 0,this.fromProjectId);if(u.type==="error"||this.isGiveCreationError(u.response)){const h=this.getGiveCreationErrorMessage(u);console.error("Error with give creation result:",u),this.$notify({group:"alert",type:"danger",title:"Error",text:h||"There was an error creating the give."},-1)}else this.$notify({group:"alert",type:"success",title:"Success",text:`That ${this.isTrade?"trade":"gift"} was recorded.`},7e3),this.callbackOnSuccess&&this.callbackOnSuccess(l)}catch(u){console.error("Error with give recordation caught:",u);const h=u.userMessage||((g=(d=(c=u.response)==null?void 0:c.data)==null?void 0:d.error)==null?void 0:g.message)||"There was an error recording the give.";this.$notify({group:"alert",type:"danger",title:"Error",text:h},-1)}}isGiveCreationError(r){var i;return r.status!==201||((i=r.data)==null?void 0:i.error)}getGiveCreationErrorMessage(r){var i,o,l,n,c;return((i=r.error)==null?void 0:i.userMessage)||((o=r.error)==null?void 0:o.error)||((c=(n=(l=r.response)==null?void 0:l.data)==null?void 0:n.error)==null?void 0:c.message)}explainData(){this.$notify({group:"alert",type:"success",title:"Data Sharing",text:R},-1)}};v([$],f.prototype,"fromProjectId",2);v([$],f.prototype,"toProjectId",2);f=v([S],f);const Y={key:0,class:"dialog-overlay"},B={class:"dialog"},q={class:"text-xl font-bold text-center mb-4"},L=["placeholder"],W={class:"flex flex-row justify-center"},z={class:"mt-4 flex justify-center"},J={class:"text-center mb-2 mt-6 italic"},K={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Q(e,t,r,i,o,l){var d,g,u,h;const n=b("fa"),c=b("router-link");return e.visible?(E(),U("div",Y,[a("div",B,[a("h1",q,y(e.customTitle),1),I(a("input",{type:"text",class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2",placeholder:e.prompt||"What was given?","onUpdate:modelValue":t[0]||(t[0]=p=>e.description=p)},null,8,L),[[C,e.description]]),a("div",W,[a("span",{class:"rounded-l border border-r-0 border-slate-400 bg-slate-200 text-center text-blue-500 px-2 py-2 w-20",onClick:t[1]||(t[1]=p=>e.changeUnitCode())},y(e.libsUtil.UNIT_SHORT[e.unitCode]||e.unitCode),1),a("div",{class:"border border-r-0 border-slate-400 bg-slate-200 px-4 py-2",onClick:t[2]||(t[2]=p=>e.amountInput==="0"?null:e.decrement())},[m(n,{icon:"chevron-left"})]),I(a("input",{id:"inputGivenAmount",type:"number",class:"border border-r-0 border-slate-400 px-2 py-2 text-center w-20","onUpdate:modelValue":t[3]||(t[3]=p=>e.amountInput=p)},null,512),[[C,e.amountInput]]),a("div",{class:"rounded-r border border-slate-400 bg-slate-200 px-4 py-2",onClick:t[4]||(t[4]=p=>e.increment())},[m(n,{icon:"chevron-right"})])]),a("div",z,[a("span",null,[m(c,{to:{name:"gifted-details",query:{amountInput:e.amountInput,description:e.description,giverDid:(d=e.giver)==null?void 0:d.did,giverName:(g=e.giver)==null?void 0:g.name,offerId:e.offerId,fulfillsProjectId:e.toProjectId,providerProjectId:e.fromProjectId,recipientDid:(u=e.receiver)==null?void 0:u.did,recipientName:(h=e.receiver)==null?void 0:h.name,unitCode:e.unitCode}},class:"text-blue-500"},{default:G(()=>t[8]||(t[8]=[w(" Photo & more options ... ")])),_:1},8,["to"])])]),a("p",J,[t[9]||(t[9]=w(" Sign & Send to publish to the world ")),m(n,{icon:"circle-info",class:"pl-2 text-blue-500 cursor-pointer",onClick:t[5]||(t[5]=p=>e.explainData())})]),a("div",K,[a("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:t[6]||(t[6]=(...p)=>e.confirm&&e.confirm(...p))}," Sign & Send "),a("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:t[7]||(t[7]=(...p)=>e.cancel&&e.cancel(...p))}," Cancel ")])])])):O("",!0)}const te=k(f,[["render",Q]]);export{te as G}; diff --git a/dist-electron/assets/HelpNotificationTypesView-C-v2IBbQ.js b/dist-electron/assets/HelpNotificationTypesView-C-v2IBbQ.js new file mode 100644 index 0000000..7c582ce --- /dev/null +++ b/dist-electron/assets/HelpNotificationTypesView-C-v2IBbQ.js @@ -0,0 +1 @@ +import{V as d,C as m,_ as v,g as r,h as w,i as p,j as e,k as u,w as x,F as b,x as g}from"./index-BLqts8WY.js";import{Q as h}from"./QuickNav-DgCyvgDx.js";var N=Object.defineProperty,k=Object.getOwnPropertyDescriptor,T=(i,t,l,n)=>{for(var o=n>1?void 0:n?k(t,l):t,a=i.length-1,s;a>=0;a--)(s=i[a])&&(o=(n?s(t,l,o):s(o))||o);return n&&o&&N(t,l,o),o};let f=class extends d{};f=T([m({components:{QuickNav:h}})],f);const V={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},C={class:"mb-8"},$={class:"text-lg text-center font-light relative px-7"};function _(i,t,l,n,o,a){const s=r("QuickNav"),c=r("fa"),y=r("router-link");return g(),w(b,null,[p(s),e("section",V,[e("div",C,[e("div",$,[e("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=j=>i.$router.back())},[p(c,{icon:"chevron-left",class:"fa-fw"})])]),t[1]||(t[1]=e("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Notification Types ",-1))]),e("div",null,[t[6]||(t[6]=e("p",null,"There are two types of notifications:",-1)),t[7]||(t[7]=e("h2",{class:"text-xl font-semibold mt-4"},"Reminder Notifications",-1)),t[8]||(t[8]=e("div",null,[e("p",null," The Reminder Notification will be sent to you daily with a specific message, at whatever time you choose. Use it to remind yourself to act, for example: pause and consider who has given you something, so you can record thanks in here. "),e("p",null," This is a reliable message, but it doesn't contain any details about activity that might be especially interesting to you. ")],-1)),t[9]||(t[9]=e("h2",{class:"text-xl font-semibold mt-4"},"New Activity Notifications",-1)),e("div",null,[t[5]||(t[5]=e("p",null," The New Activity Notification will be sent to you when there is new, relevant activity for you. It will only trigger if something involves you or a project of interest; it will not bug you for other, general activity. ",-1)),e("p",null,[t[3]||(t[3]=u(" This type is not as reliable as a Reminder Notification because mobile devices often suppress such notifications to save battery. (If you want to quickly check for relevant activity daily, use the Reminder Notification and open the app and look for a large green button that points out new activity that is personal to you. We are working on other ways to notify you more reliably -- ")),p(y,{class:"text-blue-500",to:"/help"},{default:x(()=>t[2]||(t[2]=[u("go here to follow us or contact us")])),_:1}),t[4]||(t[4]=u(".) "))])])])])],64)}const Q=v(f,[["render",_]]);export{Q as default}; diff --git a/dist-electron/assets/HelpNotificationsView-BF_DQZBp.js b/dist-electron/assets/HelpNotificationsView-BF_DQZBp.js new file mode 100644 index 0000000..2c1fb5b --- /dev/null +++ b/dist-electron/assets/HelpNotificationsView-BF_DQZBp.js @@ -0,0 +1 @@ +var w=Object.defineProperty;var y=(n,t,o)=>t in n?w(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o;var f=(n,t,o)=>y(n,typeof t!="symbol"?t+"":t,o);import{V as v,e as x,M as S,C as k,_ as C,g as h,h as N,i as l,j as e,k as r,H as g,w as q,F as P,x as I}from"./index-BLqts8WY.js";import{Q as T}from"./QuickNav-DgCyvgDx.js";import{au as O,a as A}from"./index-MyY_xqVN.js";import{P as M}from"./PushNotificationPermission-9Wf_h46a.js";import"./index-CsfPLOYu.js";var W=Object.defineProperty,$=Object.getOwnPropertyDescriptor,D=(n,t,o,s)=>{for(var i=s>1?void 0:s?$(t,o):t,d=n.length-1,u;d>=0;d--)(u=n[d])&&(i=(s?u(t,o,i):u(i))||i);return s&&i&&W(t,o,i),i};let m=class extends v{constructor(){super(...arguments);f(this,"$notify");f(this,"subscriptionJSON")}async mounted(){var o;try{const s=await((o=navigator.serviceWorker)==null?void 0:o.ready),i=await(s==null?void 0:s.pushManager.getSubscription());this.subscriptionJSON=i==null?void 0:i.toJSON()}catch(s){console.error("Mount error:",s)}}alertWebPushSubscription(){console.log("Web push subscription:",JSON.parse(JSON.stringify(this.subscriptionJSON))),alert(JSON.stringify(this.subscriptionJSON))}async sendTestWebPushMessage(o=!1){if(!this.subscriptionJSON){this.$notify({group:"alert",type:"danger",title:"Not Subscribed",text:"You must enable notifications before testing the web push."},-1);return}try{await O(this.subscriptionJSON,o),this.$notify({group:"alert",type:"success",title:"Test Web Push Sent",text:"Check your device for the test web push message"+(o?".":" if there are new items in your feed.")},-1)}catch(s){console.error("Got an error sending test notification:",s),this.$notify({group:"alert",type:"danger",title:"Error Sending Test",text:"Got an error sending the test web push notification."},-1)}}showTestNotification(){var s;const o="It Worked";(s=navigator.serviceWorker)==null||s.ready.then(i=>i.showNotification(o,{body:"This is your test notification."})).then(()=>{this.$notify({group:"alert",type:"success",title:"Sent",text:`A notification was triggered, so one should show on your device entitled '${o}'.`},5e3)}).catch(i=>{console.error("Got a notification error:",i),this.$notify({group:"alert",type:"danger",title:"Failed",text:"Got an error sending a notification."},-1)})}showNotificationChoice(){this.$refs.pushNotificationPermission.open(A,async(o,s,i)=>{o&&(await x.settings.update(S,{notifyingReminderMessage:i,notifyingReminderTime:s}),this.notifyingReminder=!0,this.notifyingReminderMessage=i||"",this.notifyingReminderTime=s)})}};m=D([k({components:{PushNotificationPermission:M,QuickNav:T}})],m);const R=""+new URL("chrome-install-pwa-DuUggvhZ.png",import.meta.url).href,F=""+new URL("mac-installed-app-settings-B9fFiuKk.png",import.meta.url).href,V=""+new URL("windows-system-enable-notifications-Dpjdl83C.png",import.meta.url).href,H={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},J={class:"mb-8"},E={class:"text-lg text-center font-light relative px-7"},G={href:"https://developer.mozilla.org/en-US/docs/Web/API/Push_API#browser_compatibility",class:"text-blue-500",target:"_blank"},U={class:"px-2"},B={href:"https://developer.mozilla.org/en-US/docs/Web/API/Push_API#browser_compatibility",class:"text-blue-500",target:"_blank"};function Y(n,t,o,s,i,d){const u=h("QuickNav"),p=h("fa"),b=h("PushNotificationPermission"),c=h("router-link");return I(),N(P,null,[l(u),e("section",H,[e("div",J,[e("div",E,[e("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=a=>n.$router.back())},[l(p,{icon:"chevron-left",class:"fa-fw"})])]),t[8]||(t[8]=e("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Notification Help ",-1))]),e("div",null,[t[27]||(t[27]=e("p",null,"Here are ways to test notifications and get them working.",-1)),t[28]||(t[28]=e("h2",{class:"text-xl font-semibold mt-4"},"Full Test",-1)),e("div",null,[e("p",null,[t[9]||(t[9]=r(" If this works then you're all set. ")),e("button",{onClick:t[1]||(t[1]=a=>n.sendTestWebPushMessage(!0)),class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-2"}," Send Yourself a Test Web Push Message (Through Push Server but Skipping Client Filter) ")])]),t[29]||(t[29]=e("h2",{class:"text-xl font-semibold mt-4"},"Android Users",-1)),t[30]||(t[30]=e("div",null,[e("p",null," Note that you may not receive notifications when the app is in the background. When you're done working, close the app, and then you'll get the reminder notifications. ")],-1)),t[31]||(t[31]=e("h2",{class:"text-xl font-semibold mt-4"}," If this app doesn't support notifications... ",-1)),t[32]||(t[32]=e("div",null,[e("p",null,[r(' To be notified of interesting updates, install this app on your device (as opposed to using it inside the browser app). In Chrome, it may prompt you, and you can also look for the "Install" command in the browser settings; on the the desktop, look for this icon in the address bar: '),e("img",{src:R,alt:"Chrome 'install' icon",class:"ml-4"})])],-1)),t[33]||(t[33]=e("h2",{class:"text-xl font-semibold mt-4"}," If you must enable notifications... ",-1)),e("div",null,[e("p",null,[e("button",{class:"text-blue-500",onClick:t[2]||(t[2]=a=>n.showNotificationChoice())}," Click here. "),l(b,{ref:"pushNotificationPermission"},null,512)])]),t[34]||(t[34]=g('

If you're waiting for system initialization...

... and it never stops, then there is a problem with the underlying service worker or push server mechanism in your browser. Your best bet is to follow the "Reinstall" steps below or use a different browser.

Check App Permissions

In Apple iOS, check "Settings" -> "Notifications", look for the Time Safari app (or the browser you're using), and make sure notifications are enabled.

In Android, hold on to the app icon, then select "App Info", then "Notifications" and make sure they're enabled. If it's still a problem then go further:

If you installed the app with Chrome, make sure there are no other tabs with it open. Here are some ways to clear caches that can mess things up (and note that this clears out data from the installed app -- which is good to do while the app is installed):

  • Go to Chrome "App Info", then "Storage & Cache" and "Clear Storage".
  • Go to Chrome "Settings", then "Privacy and Security" and "Clear "Clear browsing data", then "Cookies and site data". Make sure the "Time Range" at the top shows "All time".

On a Mac, go to "Settings" and check "Notifications". Mac app settings

Check Browser Permissions

',5)),e("div",null,[t[11]||(t[11]=e("p",null,"In Apple iOS, check Settings -> Notifications.",-1)),t[12]||(t[12]=e("p",null,"In Android, check Settings -> Notifications.",-1)),t[13]||(t[13]=r(" You can find more details about compatibility ")),e("a",G,[t[10]||(t[10]=r(" here ")),l(p,{icon:"arrow-up-right-from-square",class:"fa-fw"})])]),t[35]||(t[35]=e("h2",{class:"text-xl font-semibold mt-4"}," Check Operating System (OS) Permissions ",-1)),e("div",U,[t[16]||(t[16]=g('

Mobile Phone - Apple iOS

Notifications require iOS 16.4 or higher. To check your iOS version, go to Settings > General > About > Software Version.

Mobile Phone - Google Android

We recommend Chrome. It must be version 42 or higher. Check your version under Settings -> About Chrome.

Desktop - Mac

See "System Settings" -> "Notifications" and make sure it is enabled for the browser you're using. Note that these notifications require Mac OS 13; see your macOS version under Apple -> "About This Mac".

Desktop - Windows

In Windows, check "Settings" -> "Notifications". Windows system settings
',1)),e("div",null,[t[15]||(t[15]=r(" You can find more details about compatibility ")),e("a",B,[t[14]||(t[14]=r(" here ")),l(p,{icon:"arrow-up-right-from-square",class:"fa-fw"})])])]),t[36]||(t[36]=e("h2",{class:"text-xl font-semibold mt-4"},"Reinstall",-1)),e("div",null,[t[19]||(t[19]=e("p",null," If all else fails, it's best to start over. ",-1)),e("p",null,[t[17]||(t[17]=r(" Of course, you'll want to back up all your data first -- all seeds as well as the contacts & settings -- on the Profile ")),l(p,{icon:"circle-user"}),t[18]||(t[18]=r(" page. "))]),t[20]||(t[20]=e("p",null," Here are instructions to uninstall the app and clear out caches and storage. Note that you should first ensure check that the browser tabs with Time Safari are closed. (If any are open then that will interfere with your refresh.) ",-1)),t[21]||(t[21]=e("ul",{class:"ml-4 list-disc"},[e("li",null,[r(" Clear cache. "),e("ul",null,[e("li",null,' In mobile, look for the browser app settings. This is true even for an installed app: go to the browser which you used to initially visit timesafari.app, because those settings affect the app. Look for "Delete browsing data" in the "Settings", under "Privacy and Security". '),e("li",null,' In Chrome, go to `chrome://settings/cookies` and "all site data and permissions" for timesafari.app; in Firefox, go to `about:preferences` and search for "cache" then "Manage Data" for timesafari.app. Also manually remove the IndexedDB data if the DBs still show.) ')])]),e("li",null,' Clear notification permission. (In Chrome, go to `chrome://settings/content/notifications`; in Firefox, go to `about:preferences` and search for "notifications".) '),e("li",null," Unregister service worker. (In Chrome, go to `chrome://serviceworker-internals/`; in Firefox, go to `about:serviceworkers`.) "),e("li",null,' Clear "Cache Storage". (In Chrome, in dev tools under "Application"; in Firefox, in dev tools under "Storage".) ')],-1)),t[22]||(t[22]=e("p",null,"Then reinstall the app.",-1))]),t[37]||(t[37]=e("h2",{class:"text-xl font-semibold mt-4"},"Tests",-1)),e("button",{onClick:t[3]||(t[3]=a=>n.showTestNotification()),class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mt-4 mb-2"}," Send Test Notification Directly to Device (Not Through Push Server) "),t[38]||(t[38]=e("p",null,` If that didn't show a notification on your device, the problem is that your browser or your operating system are not allowing notifications through. See "Check App Permissions" and "Check Browser Permissions" and "Check Operating System (OS) Permissions" above. `,-1)),e("button",{onClick:t[4]||(t[4]=a=>n.alertWebPushSubscription()),class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mt-4 mb-2"}," Show Web Push Subscription Info "),e("p",null,[t[23]||(t[23]=r(' If that showed "null" then the notification is not active. ')),e("button",{class:"text-blue-500",onClick:t[5]||(t[5]=a=>n.showNotificationChoice())}," Click here. ")]),e("button",{onClick:t[6]||(t[6]=a=>n.sendTestWebPushMessage(!0)),class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mt-4 mb-2"}," Send Yourself a Test Web Push Message (Through Push Server but Skipping Client Filter) "),t[39]||(t[39]=e("p",null," If that didn't show a notification on your device, there is a problem getting to the push server. Disable notifications and then enable them again. ",-1)),e("button",{onClick:t[7]||(t[7]=a=>n.sendTestWebPushMessage()),class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mt-4 mb-2"}," Send Yourself a Test Web Push Message (Through Push Server and Client Filter) "),e("p",null,[t[25]||(t[25]=r(" If you don't see a message, it could be that there is nothing new for you to see. If the previous test worked, then things should work fine. If you notice a full 24 hours where you get no notification and you know that there are new items that should show, gather as many details as possible and go to the bottom of ")),l(c,{to:"help",class:"text-blue-500"},{default:q(()=>t[24]||(t[24]=[r(" this page ")])),_:1}),t[26]||(t[26]=r(" for ways to contact us. "))])])])],64)}const _=C(m,[["render",Y]]);export{_ as default}; diff --git a/dist-electron/assets/HelpOnboardingView-BvXnO2S2.js b/dist-electron/assets/HelpOnboardingView-BvXnO2S2.js new file mode 100644 index 0000000..95852b1 --- /dev/null +++ b/dist-electron/assets/HelpOnboardingView-BvXnO2S2.js @@ -0,0 +1 @@ +import{V as f,C as h,_ as g,g as u,h as x,j as e,k as o,i,w as v,x as y}from"./index-BLqts8WY.js";import{Q as b}from"./QuickNav-DgCyvgDx.js";var w=Object.defineProperty,T=Object.getOwnPropertyDescriptor,k=(d,t,l,r)=>{for(var s=r>1?void 0:r?T(t,l):t,a=d.length-1,n;a>=0;a--)(n=d[a])&&(s=(r?n(t,l,s):n(s))||s);return r&&s&&w(t,l,s),s};let p=class extends f{};p=k([h({components:{QuickNav:b}})],p);const C={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},c={class:"ml-4"},S={class:"ml-4"};function V(d,t,l,r,s,a){const n=u("fa"),m=u("router-link");return y(),x("section",C,[t[21]||(t[21]=e("div",{class:"mb-8"},[e("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Time Safari Onboarding Instructions ")],-1)),e("p",null,[t[0]||(t[0]=o(" To invite someone the easiest way, send them a link that you generate from this page: ")),i(m,{to:{name:"invite-one"},class:"bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"},{default:v(()=>[i(n,{icon:"envelope-open-text",class:"fa-fw text-xl"})]),_:1})]),t[22]||(t[22]=e("p",null,"Then watch that page to see when they accept their invite.",-1)),e("p",null,[t[1]||(t[1]=o(" (That page is also reachable from the Contacts ")),i(n,{icon:"users"}),t[2]||(t[2]=o(" page though the invitation ")),i(n,{icon:"envelope-open-text"}),t[3]||(t[3]=o(" icon.) "))]),t[23]||(t[23]=e("h1",{class:"mt-4 font-bold text-xl"},"Next Steps",-1)),t[24]||(t[24]=o(" Although not totally necessary, backups are important to understand. ")),e("div",c,[t[6]||(t[6]=e("h1",{class:"font-bold text-xl"},"Without a backup, you can lose data.",-1)),e("div",null,[e("p",null,[t[4]||(t[4]=o(" Exporting backups (from the Account ")),i(n,{icon:"circle-user"}),t[5]||(t[5]=o(" screen) is important for the case where they lose their device. This is especially true for the Identifier Seed: that is theirs and and theirs alone, and currently nobody else can recover it if they lose it. The good thing is that anyone can create a new account and simply inform their network of their new ID. "))])])]),t[25]||(t[25]=e("h1",{class:"mt-4 font-bold text-xl"},"Advanced",-1)),t[26]||(t[26]=o(" The following are optional steps for even more functionality. ")),e("div",S,[t[15]||(t[15]=e("h1",{class:"font-bold text-xl"},"Add Contact & Register",-1)),e("p",null,[t[7]||(t[7]=o(" You share even more information such as your picture and name when you share with your QR code at these links: ")),i(n,{icon:"qrcode"})]),t[16]||(t[16]=e("p",null," Scanning those with your cameras will automatically register people and add them to each other's contact lists. ",-1)),t[17]||(t[17]=e("p",null," The following are more detailed manual steps: ",-1)),e("div",null,[t[12]||(t[12]=e("p",null," 1) Have them follow their yellow prompts. ",-1)),e("p",null,[t[8]||(t[8]=o(" 2) Scan their QR, or have them tap on it to copy their info and send it to you. Then you can add them to your Contacts ")),i(n,{icon:"users"})]),e("p",null,[t[9]||(t[9]=o(" 3) You can register them at their info page ")),i(n,{icon:"circle-info"}),t[10]||(t[10]=o(" and click on the register button ")),i(n,{icon:"person-circle-question"})]),e("p",null,[t[11]||(t[11]=o(" 4) Add yourself to their Contacts ")),i(n,{icon:"users"})])]),t[18]||(t[18]=e("h1",{class:"font-bold text-xl"},"Install",-1)),t[19]||(t[19]=e("div",null,[e("p",null,' Have them visit TimeSafari.app in a browser, preferably Chrome or Safari, and then look for the "Install" selection which adds this app to their desktop. This enables other things, like the ability to "share" a photo from their device directly to Time Safari, and it makes notifications more reliable. ')],-1)),t[20]||(t[20]=e("h1",{class:"font-bold text-xl"},"Enable Notifications",-1)),e("div",null,[e("p",null,[t[13]||(t[13]=o(" Enable notifications from the Account page ")),i(n,{icon:"circle-user"}),t[14]||(t[14]=o(". Those notifications might show up on the device depending on your settings. For the most reliable habits, set an alarm or do some other ritual to record gratitude every day. "))])])])])}const O=g(p,[["render",V]]);export{O as default}; diff --git a/dist-electron/assets/HelpView-CjZShKPC.js b/dist-electron/assets/HelpView-CjZShKPC.js new file mode 100644 index 0000000..f07133c --- /dev/null +++ b/dist-electron/assets/HelpView-CjZShKPC.js @@ -0,0 +1 @@ +var F=Object.defineProperty;var P=(s,e,r)=>e in s?F(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var a=(s,e,r)=>P(s,typeof e!="symbol"?e+"":e,r);import{V,f as B,u as z,C as q,_ as N,g as w,h as c,i,j as t,k as o,l as m,w as p,H as $,m as b,v as x,t as k,F as M,x as h}from"./index-BLqts8WY.js";import{u as W}from"./index-CsfPLOYu.js";import{Q as Y}from"./QuickNav-DgCyvgDx.js";const I="TimeSafari",T="0.3.46-beta",C="A cross-platform app for managing time-based crowdfunding.",S="Your Name ",j="src/electron/main.js",D={dev:"vite",serve:"vite preview",build:"VITE_GIT_HASH=`git log -1 --pretty=format:%h` vite build","build:capacitor":"vite build --mode capacitor","build:electron":"vite build --mode electron","electron:dev":"vite build --mode electron && electron .","electron:build":"electron-builder","capacitor:sync":"npx cap copy",lint:"eslint --ext .js,.ts,.vue --ignore-path .gitignore src","lint-fix":"eslint --ext .js,.ts,.vue --ignore-path .gitignore --fix src",prebuild:"eslint --ext .js,.ts,.vue --ignore-path .gitignore src && node sw_combine.js","test-local":"npx playwright test -c playwright.config-local.ts --trace on","test-all":"npm run build && npx playwright test -c playwright.config-local.ts --trace on"},G={"@capacitor/android":"^6.2.0","@capacitor/cli":"^6.2.0","@capacitor/core":"^6.2.0","@capacitor/ios":"^6.2.0","@dicebear/collection":"^5.4.1","@dicebear/core":"^5.4.1","@ethersproject/hdnode":"^5.7.0","@fortawesome/fontawesome-svg-core":"^6.5.1","@fortawesome/free-solid-svg-icons":"^6.5.1","@fortawesome/vue-fontawesome":"^3.0.6","@peculiar/asn1-ecc":"^2.3.8","@peculiar/asn1-schema":"^2.3.8","@pvermeer/dexie-encrypted-addon":"^3.0.0","@simplewebauthn/browser":"^10.0.0","@simplewebauthn/server":"^10.0.0","@tweenjs/tween.js":"^21.1.1","@types/qrcode":"^1.5.5","@veramo/core":"^5.6.0","@veramo/credential-w3c":"^5.6.0","@veramo/data-store":"^5.6.0","@veramo/did-manager":"^5.6.0","@veramo/did-provider-ethr":"^5.6.0","@veramo/did-provider-peer":"^6.0.0","@veramo/did-resolver":"^5.6.0","@veramo/key-manager":"^5.6.0","@vue-leaflet/vue-leaflet":"^0.10.1","@vueuse/core":"^12.3.0","@zxing/text-encoding":"^0.9.0","asn1-ber":"^1.2.2",axios:"^1.6.8","cbor-x":"^1.5.9","class-transformer":"^0.5.1",dexie:"^3.2.7","dexie-export-import":"^4.1.1","did-jwt":"^7.4.7","did-resolver":"^4.1.0","ethereum-cryptography":"^2.1.3","ethereumjs-util":"^7.1.5",jdenticon:"^3.2.0","js-generate-password":"^0.1.9","js-yaml":"^4.1.0",leaflet:"^1.9.4","localstorage-slim":"^2.7.0","lru-cache":"^10.2.0",luxon:"^3.4.4",merkletreejs:"^0.3.11","nostr-tools":"^2.7.2",notiwind:"^2.0.2",papaparse:"^5.4.1",pina:"^0.20.2204228","pinia-plugin-persistedstate":"^3.2.1","qr-code-generator-vue3":"^1.4.21",qrcode:"^1.5.4",ramda:"^0.29.1","readable-stream":"^4.5.2","reflect-metadata":"^0.1.14","register-service-worker":"^1.7.2","simple-vue-camera":"^1.1.3",three:"^0.156.1","ua-parser-js":"^1.0.37",util:"^0.12.5",vue:"^3.5.13","vue-axios":"^3.5.2","vue-facing-decorator":"^3.0.4","vue-picture-cropper":"^0.7.0","vue-qrcode-reader":"^5.5.3","vue-router":"^4.5.0","web-did-resolver":"^2.0.27"},H={"@playwright/test":"^1.45.2","@types/js-yaml":"^4.0.9","@types/leaflet":"^1.9.8","@types/luxon":"^3.4.2","@types/node":"^20.14.11","@types/ramda":"^0.29.11","@types/three":"^0.155.1","@types/ua-parser-js":"^0.7.39","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0","@vitejs/plugin-vue":"^5.2.1","@vue/eslint-config-typescript":"^11.0.0",autoprefixer:"^10.4.19",electron:"^33.2.1","electron-builder":"^25.1.8",eslint:"^8.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","eslint-plugin-vue":"^9.32.0","npm-check-updates":"^17.1.13",postcss:"^8.4.38",prettier:"^3.2.5",tailwindcss:"^3.4.1",typescript:"~5.2.2",vite:"^6.0.7","vite-plugin-pwa":"^0.21.1"},A={appId:"com.example.app",productName:"TimeSafari",directories:{output:"dist-electron-build"},files:["dist-electron/**","src/electron/**"],mac:{target:"dmg"},win:{target:"nsis"},linux:{target:"AppImage"},asar:!1},E={name:I,version:T,description:C,author:S,main:j,scripts:D,dependencies:G,devDependencies:H,build:A},O=Object.freeze(Object.defineProperty({__proto__:null,author:S,build:A,default:E,dependencies:G,description:C,devDependencies:H,main:j,name:I,scripts:D,version:T},Symbol.toStringTag,{value:"Module"}));var R=Object.defineProperty,L=Object.getOwnPropertyDescriptor,Q=(s,e,r,f)=>{for(var l=f>1?void 0:f?L(e,r):e,g=s.length-1,y;g>=0;g--)(y=s[g])&&(l=(f?y(e,r,l):y(l))||l);return f&&l&&R(e,r,l),l};let v=class extends V{constructor(){super(...arguments);a(this,"$notify");a(this,"package",O);a(this,"commitHash");a(this,"showAlpha",!1);a(this,"showBasics",!1);a(this,"showCommunity",!1);a(this,"showGovernance",!1);a(this,"showGroup",!1);a(this,"showDidCopy",!1);a(this,"showVerifiable",!1)}doCopyTwoSecRedo(e,r){r(),W().copy(e).then(()=>setTimeout(r,2e3))}async unsetFinishedOnboarding(){const e=await B();e.activeDid&&await z(e.activeDid||"",{finishedOnboarding:!1}),this.$router.push({name:"home"})}};v=Q([q({components:{QuickNav:Y}})],v);const U="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2013.0.2,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%2014948)%20--%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.0//EN'%20'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'%3e%3csvg%20version='1.0'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='64px'%20height='64px'%20viewBox='5.5%20-3.5%2064%2064'%20enable-background='new%205.5%20-3.5%2064%2064'%20xml:space='preserve'%3e%3cg%3e%3ccircle%20fill='%23FFFFFF'%20cx='37.785'%20cy='28.501'%20r='28.836'/%3e%3cpath%20d='M37.441-3.5c8.951,0,16.572,3.125,22.857,9.372c3.008,3.009,5.295,6.448,6.857,10.314%20c1.561,3.867,2.344,7.971,2.344,12.314c0,4.381-0.773,8.486-2.314,12.313c-1.543,3.828-3.82,7.21-6.828,10.143%20c-3.123,3.085-6.666,5.448-10.629,7.086c-3.961,1.638-8.057,2.457-12.285,2.457s-8.276-0.808-12.143-2.429%20c-3.866-1.618-7.333-3.961-10.4-7.027c-3.067-3.066-5.4-6.524-7-10.372S5.5,32.767,5.5,28.5c0-4.229,0.809-8.295,2.428-12.2%20c1.619-3.905,3.972-7.4,7.057-10.486C21.08-0.394,28.565-3.5,37.441-3.5z%20M37.557,2.272c-7.314,0-13.467,2.553-18.458,7.657%20c-2.515,2.553-4.448,5.419-5.8,8.6c-1.354,3.181-2.029,6.505-2.029,9.972c0,3.429,0.675,6.734,2.029,9.913%20c1.353,3.183,3.285,6.021,5.8,8.516c2.514,2.496,5.351,4.399,8.515,5.715c3.161,1.314,6.476,1.971,9.943,1.971%20c3.428,0,6.75-0.665,9.973-1.999c3.219-1.335,6.121-3.257,8.713-5.771c4.99-4.876,7.484-10.99,7.484-18.344%20c0-3.543-0.648-6.895-1.943-10.057c-1.293-3.162-3.18-5.98-5.654-8.458C50.984,4.844,44.795,2.272,37.557,2.272z%20M37.156,23.187%20l-4.287,2.229c-0.458-0.951-1.019-1.619-1.685-2c-0.667-0.38-1.286-0.571-1.858-0.571c-2.856,0-4.286,1.885-4.286,5.657%20c0,1.714,0.362,3.084,1.085,4.113c0.724,1.029,1.791,1.544,3.201,1.544c1.867,0,3.181-0.915,3.944-2.743l3.942,2%20c-0.838,1.563-2,2.791-3.486,3.686c-1.484,0.896-3.123,1.343-4.914,1.343c-2.857,0-5.163-0.875-6.915-2.629%20c-1.752-1.752-2.628-4.19-2.628-7.313c0-3.048,0.886-5.466,2.657-7.257c1.771-1.79,4.009-2.686,6.715-2.686%20C32.604,18.558,35.441,20.101,37.156,23.187z%20M55.613,23.187l-4.229,2.229c-0.457-0.951-1.02-1.619-1.686-2%20c-0.668-0.38-1.307-0.571-1.914-0.571c-2.857,0-4.287,1.885-4.287,5.657c0,1.714,0.363,3.084,1.086,4.113%20c0.723,1.029,1.789,1.544,3.201,1.544c1.865,0,3.18-0.915,3.941-2.743l4,2c-0.875,1.563-2.057,2.791-3.541,3.686%20c-1.486,0.896-3.105,1.343-4.857,1.343c-2.896,0-5.209-0.875-6.941-2.629c-1.736-1.752-2.602-4.19-2.602-7.313%20c0-3.048,0.885-5.466,2.658-7.257c1.77-1.79,4.008-2.686,6.713-2.686C51.117,18.558,53.938,20.101,55.613,23.187z'/%3e%3c/g%3e%3c/svg%3e",K="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2013.0.2,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%2014948)%20--%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='64px'%20height='64px'%20viewBox='-0.5%200.5%2064%2064'%20enable-background='new%20-0.5%200.5%2064%2064'%20xml:space='preserve'%3e%3cg%3e%3ccircle%20fill='%23FFFFFF'%20cx='31.325'%20cy='32.873'%20r='30.096'/%3e%3cpath%20id='text2809_1_'%20d='M31.5,14.08c-10.565,0-13.222,9.969-13.222,18.42c0,8.452,2.656,18.42,13.222,18.42%20c10.564,0,13.221-9.968,13.221-18.42C44.721,24.049,42.064,14.08,31.5,14.08z%20M31.5,21.026c0.429,0,0.82,0.066,1.188,0.157%20c0.761,0.656,1.133,1.561,0.403,2.823l-7.036,12.93c-0.216-1.636-0.247-3.24-0.247-4.437C25.808,28.777,26.066,21.026,31.5,21.026z%20M36.766,26.987c0.373,1.984,0.426,4.056,0.426,5.513c0,3.723-0.258,11.475-5.69,11.475c-0.428,0-0.822-0.045-1.188-0.136%20c-0.07-0.021-0.134-0.043-0.202-0.067c-0.112-0.032-0.23-0.068-0.336-0.11c-1.21-0.515-1.972-1.446-0.874-3.093L36.766,26.987z'/%3e%3cpath%20id='path2815_1_'%20d='M31.433,0.5c-8.877,0-16.359,3.09-22.454,9.3c-3.087,3.087-5.443,6.607-7.082,10.532%20C0.297,24.219-0.5,28.271-0.5,32.5c0,4.268,0.797,8.32,2.397,12.168c1.6,3.85,3.921,7.312,6.969,10.396%20c3.085,3.049,6.549,5.399,10.398,7.037c3.886,1.602,7.939,2.398,12.169,2.398c4.229,0,8.34-0.826,12.303-2.465%20c3.962-1.639,7.496-3.994,10.621-7.081c3.011-2.933,5.289-6.297,6.812-10.106C62.73,41,63.5,36.883,63.5,32.5%20c0-4.343-0.77-8.454-2.33-12.303c-1.562-3.885-3.848-7.32-6.857-10.33C48.025,3.619,40.385,0.5,31.433,0.5z%20M31.567,6.259%20c7.238,0,13.412,2.566,18.554,7.709c2.477,2.477,4.375,5.31,5.67,8.471c1.296,3.162,1.949,6.518,1.949,10.061%20c0,7.354-2.516,13.454-7.506,18.33c-2.592,2.516-5.502,4.447-8.74,5.781c-3.2,1.334-6.498,1.994-9.927,1.994%20c-3.468,0-6.788-0.653-9.949-1.948c-3.163-1.334-6.001-3.238-8.516-5.716c-2.515-2.514-4.455-5.353-5.826-8.516%20c-1.333-3.199-2.017-6.498-2.017-9.927c0-3.467,0.684-6.787,2.017-9.949c1.371-3.2,3.312-6.074,5.826-8.628%20C18.092,8.818,24.252,6.259,31.567,6.259z'/%3e%3c/g%3e%3c/svg%3e",Z={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},J={class:"mb-8"},X={class:"text-lg text-center font-light relative px-7"},_={class:"ml-4"},ee={class:"list-disc list-outside ml-4"},te={class:"p-2"},oe={key:0},se={class:"p-2"},ie={key:0},ne={class:"p-2"},re={key:0},ae={class:"p-2"},le={key:0},de={class:"p-2"},ue={key:0},pe={class:"p-2"},ce={key:0},he={class:"px-4"},me={class:"list-disc list-outside ml-4"},fe={class:"list-disc list-outside ml-4"},ye={class:"list-disc list-outside ml-4"},ge={class:"px-4"},we={class:"list-disc list-outside ml-4"},ve={class:"list-disc list-outside ml-4"},be={class:"list-disc list-outside ml-4"},xe={style:{display:"inline","align-items":"center"}},ke={class:"list-disc list-outside ml-4"};function Ie(s,e,r,f,l,g){const y=w("QuickNav"),n=w("fa"),d=w("router-link");return h(),c(M,null,[i(y),t("section",Z,[t("div",J,[t("div",X,[t("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=u=>s.$router.back())},[i(n,{icon:"chevron-left",class:"fa-fw"})])]),e[9]||(e[9]=t("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Help ",-1))]),t("div",null,[e[83]||(e[83]=t("p",null," This app focuses on gifts & gratitude, using them to build cool things together with your network. ",-1)),t("p",_,[e[10]||(e[10]=o(" If you'd like to see the page-by-page help, ")),t("span",{onClick:e[1]||(e[1]=u=>s.unsetFinishedOnboarding()),class:"text-blue-500 cursor-pointer"},"click here"),e[11]||(e[11]=o(". "))]),e[84]||(e[84]=t("h2",{class:"text-xl font-semibold"},"What is the idea here?",-1)),e[85]||(e[85]=t("p",null," We are building networks of people who want to grow good society from the ground up, using modern technology that connects people peer-to-peer. First of all, let's showcase gratitude: see what people have given, and recognize gifts you've seen. This is done in a way that leaves a permanent record -- one that came from you, and one that the recipient can prove it was for them. This can be personally gratifying, but it extends to broader work: volunteers get confirmation of activity, and they can selectively show off their contributions and network. ",-1)),e[86]||(e[86]=t("p",{class:"mt-2"}," With this, you highlight giving and you also offer help -- which could be conditional on others' contributions, too. You can record your own ideas and invite others to collaborate. It's a way to organize & build with the resource that everyone has in equal amounts: time. ",-1)),e[87]||(e[87]=t("p",{class:"mt-2"}," Note that your personal data is safe: your ID is only shared with those you allow. Neither your name nor your contacts' names are shared with anyone -- even our servers -- though you can explicitly share it with other individuals if you choose. ",-1)),e[88]||(e[88]=t("h2",{class:"text-xl font-semibold"},"I want to know more because...",-1)),t("ul",ee,[t("li",te,[t("div",{onClick:e[2]||(e[2]=u=>s.showAlpha=!s.showAlpha),class:"text-blue-500"},"... I'm a member of Alpha chat."),s.showAlpha?(h(),c("div",oe,e[12]||(e[12]=[t("p",null," This is a project for public benefit. You are invited to add your gratitude and propose projects on a distributable ledger. ",-1),t("p",null," The underlying data is on a merkle tree with each verifiable claim, signature and all. The chain includes individual IDs for discovery & visibility, so not all data is distributed -- yet. The goal is to eventually distribute the data on people's devices with their chosen network, where anyone could host their own chain of provenance if they choose. The formats follow standard schemas (eg. schema.org) to encourage interoperability. We're currently at the beginning phase where we're trusting the server to keep IDs private. It's all open-source, and we expect to have a professional audit someday. ",-1),t("p",null," A person's network of contacts is similar: the server currently knows some of the links between people to allow discovery and visibility. However, even that will be manageable on personal devices someday. ",-1),t("p",null,` There are no tokens to maintain the chain: the purpose is to create software that communities and activists can easily join and use. We're betting that this is a case where network participants have the motivation to run the software. The protocol is meant to be lightweight enough that non-technical people can run it on inexpensive devices they already own. There may be cases for MPC or ZKP in the future when they are more widespread and standard, but our preference is to engineer as simply as possible with "white-magic" cryptography over those "black-magic" functions. `,-1),t("p",null," Let's make real distributed computing and shared data happen, starting with our own small networks. ",-1),t("p",null," ... and exemplify the fun along the way. ",-1)]))):m("",!0)]),t("li",se,[t("div",{onClick:e[3]||(e[3]=u=>s.showGroup=!s.showGroup),class:"text-blue-500"},"... I want to find a group I'll enjoy working with."),s.showGroup?(h(),c("div",ie,e[13]||(e[13]=[t("p",null," This app encourages people to offer small bits of time to one another. It's a way to run experiments with other people... tests of working together, which can start small and easy but build into cooperation with people who are like-minded and who work well together. ",-1),t("p",null," Search the projects and place an offer on an interesting one -- or create your own project and see who offers to help. After your first experiment, you can give and get confirmation about the work, which you might choose to show to future contacts. ",-1)]))):m("",!0)]),t("li",ne,[t("div",{onClick:e[4]||(e[4]=u=>s.showCommunity=!s.showCommunity),class:"text-blue-500"},"... I want to participate in community projects."),s.showCommunity?(h(),c("div",re,e[14]||(e[14]=[t("p",null," These are mostly at the beginning stages, so any of them will appreciate your offers that show interest. In fact, your offers can include your preferences, which give the project owners indications of how to proceed. ",-1),t("p",null," Search through the projects for issues of interest, locally as well as globally. If you don't see any projects that interest you, create your own and see what kind of offers you get. ",-1)]))):m("",!0)]),t("li",ae,[t("div",{onClick:e[5]||(e[5]=u=>s.showVerifiable=!s.showVerifiable),class:"text-blue-500"},"... I want to build with verifiable, private data."),s.showVerifiable?(h(),c("div",le,e[15]||(e[15]=[t("p",null," Make your claims and get others to confirm them. Then you can use the API to pull your copy of all that data, both claims from you and claims from others about you. These are hard-and-fast credentials that can be shown to others, along with their verifiable time and signature. ",-1),t("p",null," Furthermore, you can use your network to verify claims by other people, even if they haven't given you visibility. First, on the claim screen you can see if the server detects anyone who is a direct link between you, so you can reach out to those in-between people for more info. If there isn't anyone who is directly in between then you can reach out with a message to your network. ",-1),t("p",null," This app generated an identifier, based on public & private keys located on your device. That ID is only shared with our server and with people you explicitly allow. The other information -- like gratitude and contributions and projects -- are published to a server that protects your ID. (Someday, your devices will share directly P2P and not need a server... you can choose your levels of discovery and privacy.) What this means is that you are in charge of your network, and we provide tools and reporting to help you connect with your network for references and reputation. ",-1)]))):m("",!0)]),t("li",de,[t("div",{onClick:e[6]||(e[6]=u=>s.showGovernance=!s.showGovernance),class:"text-blue-500"},"... I want to build governance organically."),s.showGovernance?(h(),c("div",ue,e[16]||(e[16]=[t("p",null," This requires motivated, dedicated citizens. The good thing is that dedication the primary ingredient; add coordination and we can find ways to replace monopolistic systems. ",-1),t("p",null," Add projects for your main areas of interest, and offer commitments to projects to kick-start some initiatives. ",-1),t("p",null," One other feature worth emphasizing: you build a history of credentials, ones that are verifiably yours. But one other good thing is that you get support from those who confirm your activity. You can share this support in a way that others can validate the data for themselves from people in their own network. This kind of reputable project and history of performance is good evidence for your ability to take responsibility for important initiatives. ",-1)]))):m("",!0)]),t("li",pe,[t("div",{onClick:e[7]||(e[7]=u=>s.showBasics=!s.showBasics),class:"text-blue-500"},"... I want to supply life's basics freely."),s.showBasics?(h(),c("div",ce,[t("p",null,[e[20]||(e[20]=o(" This platform is not optimal for balancing needs and resources at this point, but we continuously seek out and list those kinds of projects. Watch our blog, and watch the project list for words like ")),i(d,{class:"text-blue-500",to:"/discover?searchText=sharing"},{default:p(()=>e[17]||(e[17]=[o('"sharing"')])),_:1}),e[21]||(e[21]=o(" or ")),i(d,{class:"text-blue-500",to:"/discover?searchText=basic"},{default:p(()=>e[18]||(e[18]=[o('"basic"')])),_:1}),e[22]||(e[22]=o(" or ")),i(d,{class:"text-blue-500",to:"/discover?searchText=free"},{default:p(()=>e[19]||(e[19]=[o('"free"')])),_:1}),e[23]||(e[23]=o(". "))])])):m("",!0)])]),e[89]||(e[89]=t("h2",{class:"text-xl font-semibold"},"How do I get started?",-1)),t("p",null,[e[24]||(e[24]=o(" Someone -- like the person who told you about this app -- needs to register you on the Contacts ")),i(n,{icon:"users",class:"fa-fw"}),e[25]||(e[25]=o(" page. If you heard about this from our outreach, feel free to contact us (below) for a chat. After someone registers you, you can register others. "))]),e[90]||(e[90]=t("p",null,' Then you can record your appreciation for... whatever: select any contact on the home page (or "Unnamed") and send it. The main goal is to record what people have given you, to grow giving economies. You can also record your own ideas for projects. Each claim is recorded on a custom ledger. ',-1)),e[91]||(e[91]=t("p",null," The day after being registered, you'll be able to able to register others, too. Note that there are limits to how many others you can register. Take your time to bring people on... make it an opportunity to get to know their projects, and to show off your own. ",-1)),e[92]||(e[92]=t("h2",{class:"text-xl font-semibold"},"How do I add someone else?",-1)),t("p",null,[e[27]||(e[27]=t("a",{href:"/help-onboarding",target:"_blank",class:"text-blue-500"}," Use these instructions. ",-1)),e[28]||(e[28]=o(" To start scanning, go to the ")),i(d,{class:"text-blue-500",to:"/contact-qr"},{default:p(()=>e[26]||(e[26]=[o("contact-scanning page.")])),_:1})]),t("p",null,[e[29]||(e[29]=o(" If they are not nearby to scan QR codes, you each can tap on the QR code and paste it into the text box on the Contacts ")),i(n,{icon:"users",class:"fa-fw"}),e[30]||(e[30]=o(" page. "))]),e[93]||(e[93]=t("h2",{class:"text-xl font-semibold"}," I had an identifier, but I reinstalled and I got a new one automatically. How do I restore my old one? ",-1)),t("p",null,[e[32]||(e[32]=o(" Go ")),i(d,{class:"text-blue-500",to:"/import-account"},{default:p(()=>e[31]||(e[31]=[o("import your identifier")])),_:1}),e[33]||(e[33]=o(". "))]),e[94]||(e[94]=t("h2",{class:"text-xl font-semibold"},"How do I backup all my data?",-1)),e[95]||(e[95]=t("p",null," There are four sets of data to backup: the identifier secrets; the private text data that isn't as sensitive such as settings and contacts; the private image for yourself; and the data that you have sent to the public. ",-1)),t("div",he,[e[43]||(e[43]=t("h2",{class:"text-xl font-semibold"}," How do I backup my identifier (secret) data? ",-1)),t("ul",me,[t("li",null,[e[34]||(e[34]=o(" Go to Your Identity ")),i(n,{icon:"circle-user",class:"fa-fw"}),e[35]||(e[35]=o(" page. "))]),e[36]||(e[36]=t("li",null,' Click on "Backup Identifier Seed" and follow the instructions. ',-1)),e[37]||(e[37]=t("li",null," If you have other identifiers, switch to each one and repeat those steps. ",-1))]),e[44]||(e[44]=t("h2",{class:"text-xl font-semibold"}," How do I backup my other private text data like settings & contacts? ",-1)),t("ul",fe,[t("li",null,[e[38]||(e[38]=o(" Go to Your Identity ")),i(n,{icon:"circle-user",class:"fa-fw"}),e[39]||(e[39]=o(" page. "))]),e[40]||(e[40]=t("li",null,` Click on "Download Settings...". That will save a file to your downloads folder. That is your backup, so put it someplace where you won't lose it. `,-1))]),e[45]||(e[45]=t("h2",{class:"text-xl font-semibold"}," How do I backup my profile image? ",-1)),t("ul",ye,[t("li",null,[e[41]||(e[41]=o(" Go to Your Identity ")),i(n,{icon:"circle-user",class:"fa-fw"}),e[42]||(e[42]=o(" page, tap on your image, and save it. "))])]),e[46]||(e[46]=t("h2",{class:"text-xl font-semibold"}," How do I backup other data I've posted? ",-1)),e[47]||(e[47]=t("ul",{class:"list-disc list-outside ml-4"},[t("li",null,[o(" This requires use of the API, so investigate the endpoints "),t("a",{href:"https://api.endorser.ch/",target:"_blank",class:"text-blue-500"},"here"),o(' (particularly the "claim" endpoints). ')])],-1))]),e[96]||(e[96]=t("h2",{class:"text-xl font-semibold"},"How do I restore my data?",-1)),e[97]||(e[97]=t("p",null," There are two steps to restore your data: the identity secrets, then the other data such as settings, contacts, etc. ",-1)),t("div",ge,[e[52]||(e[52]=t("h2",{class:"text-xl font-semibold"}," How do I restore my identifier (secret) data? ",-1)),t("ul",we,[t("li",null,[i(d,{class:"text-blue-500",to:"/import-account"},{default:p(()=>e[48]||(e[48]=[o(" Go to the import page ")])),_:1}),e[49]||(e[49]=o(" and enter the seed phrase you backed up. "))])]),e[53]||(e[53]=t("h2",{class:"text-xl font-semibold"}," How do I restore my other (non-identifier-secret) data? ",-1)),t("ul",ve,[t("li",null,[e[50]||(e[50]=o(" Go to Your Identity ")),i(n,{icon:"circle-user",class:"fa-fw"}),e[51]||(e[51]=o(' page, click Advanced, and follow the instructions for the Contacts & Settings Database "Import". Beware that this will erase your existing contact & settings. '))])])]),e[98]||(e[98]=t("h2",{class:"text-xl font-semibold"},"How do I create another identity?",-1)),t("p",null,[e[55]||(e[55]=o(' Before doing this, beware that it is an advanced feature that affects functionality (eg. the words "Alt ID" next to results, backup features). You can ')),i(d,{to:"start",class:"text-blue-500"},{default:p(()=>e[54]||(e[54]=[o(" create another identity here. ")])),_:1})]),e[99]||(e[99]=$('

How do I erase my data from my device?

Before doing this, you may want to back up your data with the instructions above.

  • Mobile
    • Home Screen: hold down on the icon, and choose to delete it
    • Chrome: Settings -> Privacy and Security -> Clear Browsing Data
    • DuckDuckGo: long hold -> Clear Data (takes effect immediately)
  • Desktop
    • Chrome: Clear at "chrome://settings/content/all" and also clear under dev tools Application
    • Firefox: Navigate to "about:preferences", Manage Data, find timesafari.app and select, hit Remove Selected, then Save Changes
    • Safari: Settings -> Privacy -> Manage Website Data, search for timesafari.app and select, hit Remove Selected, then Done.

To erase your data from our servers, contact us (below).

How do I get higher limits?

Let's talk. Contact us (below).

How do I access even more functionality?

',7)),t("p",null,[e[56]||(e[56]=o(' There is an "Advanced" section at the bottom of the Profile ')),i(n,{icon:"circle-user"}),e[57]||(e[57]=o(" page. "))]),e[100]||(e[100]=t("p",null,[o(" There is even more functionality in a mobile app (and more documentation) at "),t("a",{href:"https://endorser.ch",target:"_blank",class:"text-blue-500"}," EndorserSearch.com ")],-1)),e[101]||(e[101]=t("h2",{class:"text-xl font-semibold"}," I know there is a record from someone, so why can't I see that info? ",-1)),t("p",null,[e[58]||(e[58]=o(" If you don't see anything associated with a person, this is typically because they have not given you permission to see their information. Ask them to add you to their contact list, and ask specifically to make sure the eye next to your name is open like this ")),i(n,{icon:"eye",class:"fa-fw"}),e[59]||(e[59]=o(" and not closed like this ")),i(n,{icon:"eye-slash",class:"fa-fw"}),e[60]||(e[60]=o(". "))]),e[102]||(e[102]=t("p",null," Sometimes the reason you don't see something is because the search results are limited. Go to the bottom and make sure to load all the data on a list. If you still don't see it, try a search or view on a different page. ",-1)),e[103]||(e[103]=t("h2",{class:"text-xl font-semibold"}," Where do I get help with notifications? ",-1)),t("p",null,[i(d,{class:"text-blue-500",to:"/help-notifications"},{default:p(()=>e[61]||(e[61]=[o("Here.")])),_:1})]),e[104]||(e[104]=t("h2",{class:"text-xl font-semibold"}," This app is misbehaving, like showing me a blank screen or failing to show my personal data. What can I do? ",-1)),e[105]||(e[105]=t("p",null," First, note that clearing the cache will clear all your identity and contact info, so we recommend doing other things first -- and only clearing when have your backups ready. ",-1)),t("ul",be,[e[64]||(e[64]=t("li",null," Drag down on the screen to refresh it; do that multiple times, because it sometimes takes multiple tries for the app to refresh to the latest version. You can see the version information at the bottom of this page; the best way to determine the latest version is to open this page in an incognito/private browser window and look at the version there. ",-1)),e[65]||(e[65]=t("li",null," Close all tabs that have Time Safari open; it can be difficult to find them all, and you may have to close all your tabs. In addition, it may be running as an installed app, so look for any Time Safari app that may be running outside a browser. ",-1)),t("li",null,[e[62]||(e[62]=o(" There may be a problem with your identity. Go to the Identity ")),i(n,{icon:"circle-user",class:"fa-fw"}),e[63]||(e[63]=o(' page, then "Advanced", and "Switch Identifier" and you may see helpful info there. If it shows a problem, try adding your identifier again. '))]),e[66]||(e[66]=t("li",null,[o(" It can help to reregister the service worker: "),t("ul",null,[t("li",null,' In Chrome, open a tab to "chrome://serviceworker-internals", find "timesafari.app", and click "Unregister".'),t("li",null,' In Firefox, open a tab to "about:serviceworkers", find "timesafari.app", and click "Unregister". '),t("li",null,[t("a",{href:"https://duckduckgo.com/?q=unregister+service+worker",target:"_blank",class:"text-blue-500"},"Search"),o(" for instructions for other browsers.")])]),o(" Then reload Time Safari. ")],-1)),e[67]||(e[67]=t("li",null," Restart your device. ",-1))]),e[106]||(e[106]=t("p",null,' If you still have problems, you can clear the cache (see "erase my data" above) and even uninstall and reinstall the app -- just be sure to have your backups ready or be prepared to restart with a new identity and recreate your network. Nobody else has access to your identity or contact information because this app is designed to give you full control over your data. ',-1)),e[107]||(e[107]=t("h2",{class:"text-xl font-semibold"},"What are the terms & conditions and the privacy policy?",-1)),t("p",xe,[e[73]||(e[73]=o(" This work is public domain. (If you like rules, reference ")),e[74]||(e[74]=t("a",{href:"http://creativecommons.org/publicdomain/zero/1.0?ref=chooser-v1",target:"_blank",rel:"license noopener noreferrer"},[t("span",{class:"text-blue-500 mr-1"},"CC0 1.0"),t("img",{src:U,alt:"CC circle",width:"20",class:"display: inline"}),t("img",{src:K,alt:"CC zero",width:"20",style:{display:"inline"}})],-1)),e[75]||(e[75]=o(" .) This is offered freely, with the hope that it helps but without any warranty or guarantee; if it helps you then enjoy using it, but if you may try to forcibly collect damages for things you think it should do (or not do) then don't use it. ")),e[76]||(e[76]=t("br",null,null,-1)),e[77]||(e[77]=o(" As for data & privacy: ")),t("ul",ke,[t("li",null,[e[68]||(e[68]=o(" If using notifications, a server stores push token data. That can be revoked at any time by disabling notifications on the Profile ")),i(n,{icon:"circle-user",class:"fa-fw"}),e[69]||(e[69]=o(" page. "))]),e[70]||(e[70]=t("li",null," If sending images, a server stores them, too. They can be removed by editing the claim and deleting them. ",-1)),e[71]||(e[71]=t("li",null," If sending other partner system data (eg. to Trustroots) a public key and message data are stored on a server. Those can be removed via direct personal request. ",-1)),e[72]||(e[72]=t("li",null,[o(" For all other claim data, "),t("a",{href:"https://endorser.ch/privacy-policy",target:"_blank",class:"text-blue-500"}," the Endorser Service has this Privacy Policy. ")],-1))])]),e[108]||(e[108]=t("h2",{class:"text-xl font-semibold"},"How can I contribute?",-1)),t("p",null,[e[79]||(e[79]=o(" If you have skills, contact us below. If you have Bitcoin, donate to ")),t("button",{onClick:e[8]||(e[8]=u=>s.doCopyTwoSecRedo("bc1q90v4ted6cpt63tjfh2lvd5xzfc67sd4g9w8xma",()=>s.showDidCopy=!s.showDidCopy)),class:"text-blue-500 ml-2"},[e[78]||(e[78]=o(" bc1q90v4ted6cpt63tjfh2lvd5xzfc67sd4g9w8xma ")),b(i(n,{icon:"copy",class:"text-sm text-slate-400 fa-fw"},null,512),[[x,!s.showDidCopy]]),b(i(n,{icon:"circle-check",class:"text-sm text-green-500 fa-fw"},null,512),[[x,s.showDidCopy]])]),e[80]||(e[80]=o(" You can donate online via ")),e[81]||(e[81]=t("a",{href:"https://www.patreon.com/TimeSafari",target:"_blank",class:"text-blue-500"},"Patreon here",-1)),e[82]||(e[82]=o(". For other donations, contact us. "))]),e[109]||(e[109]=t("h2",{class:"text-xl font-semibold"},"Where can I read more?",-1)),e[110]||(e[110]=t("p",null,[o(" This is part of the "),t("a",{href:"https://livesofgiving.org",target:"_blank",class:"text-blue-500"}," Lives of Giving "),o(" initiative. ")],-1)),e[111]||(e[111]=t("h2",{class:"text-xl font-semibold"},"What app version is this?",-1)),t("p",null,k(s.package.version)+" ("+k(s.commitHash)+")",1),e[112]||(e[112]=t("h2",{class:"text-xl font-semibold"}," I have other questions or feedback, like getting a new profile or removing my data or requesting an improvement. ",-1)),e[113]||(e[113]=t("p",null,[o(" Contact us at "),t("a",{href:"mailto:info@TimeSafari.app",class:"text-blue-500"},"info@TimeSafari.app")],-1))])])],64)}const De=N(v,[["render",Ie]]);export{De as default}; diff --git a/dist-electron/assets/HomeView-CbUUhM8l.js b/dist-electron/assets/HomeView-CbUUhM8l.js new file mode 100644 index 0000000..f530ecc --- /dev/null +++ b/dist-electron/assets/HomeView-CbUUhM8l.js @@ -0,0 +1 @@ +var Qe=Object.defineProperty;var Xe=(a,e,o)=>e in a?Qe(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var h=(a,e,o)=>Xe(a,typeof e!="symbol"?e+"":e,o);import{C as ke,V as Ce,A as we,e as U,_ as _e,g as E,x as y,h as C,j as d,k as $,i as I,t as F,l as S,f as ge,M as X,m as je,o as Le,a6 as Ze,y as Me,a7 as Ve,u as et,a8 as tt,w as q,F as pe,z as Re,p as Q,q as it}from"./index-BLqts8WY.js";import{E as st}from"./EntityIcon-CF1RwQI5.js";import{G as ot}from"./GiftedDialog-CFmou4Be.js";import{m as at,i as rt,u as nt,v as lt}from"./vue-leaflet.es-D17g3l39.js";import{I as dt}from"./InfiniteScroll-B5tl9k_n.js";import{O as ct}from"./OnboardingDialog-CiAZLb6o.js";import{Q as ut}from"./QuickNav-DgCyvgDx.js";import{T as bt}from"./TopMessage-BE0GBIgW.js";import{U as ht}from"./UserNameDialog-B8a82q1n.js";import{e as mt,ag as ft,ao as pt,f as wt,ax as gt,ay as vt,az as yt,ap as Ge,aA as xt,am as He,m as qe,g as kt}from"./index-MyY_xqVN.js";import{_ as Ct}from"./blank-square-D9dGgMJw.js";import"./index-CsfPLOYu.js";var Z={exports:{}},_t=Z.exports,ze;function At(){return ze||(ze=1,function(a,e){(function(o,r){var c="1.0.40",g="",u="?",D="function",A="undefined",N="object",O="string",R="major",t="model",n="name",i="type",s="vendor",l="version",w="architecture",L="console",f="mobile",p="tablet",T="smarttv",M="wearable",le="embedded",de=500,ee="Amazon",z="Apple",Ae="ASUS",Ne="BlackBerry",te="Browser",ie="Chrome",Ye="Edge",se="Firefox",Y="Google",Ie="Huawei",ce="LG",ue="Microsoft",De="Motorola",W="Opera",K="Samsung",Se="Sharp",oe="Sony",be="Xiaomi",he="Zebra",Oe="Facebook",Te="Chromium OS",Ee="Mac OS",Fe=" Browser",We=function(v,x){var m={};for(var _ in v)x[_]&&x[_].length%2===0?m[_]=x[_].concat(v[_]):m[_]=v[_];return m},ae=function(v){for(var x={},m=0;m0?k.length===2?typeof k[1]==D?this[k[0]]=k[1].call(this,j):this[k[0]]=k[1]:k.length===3?typeof k[1]===D&&!(k[1].exec&&k[1].test)?this[k[0]]=j?k[1].call(this,j,k[2]):r:this[k[0]]=j?j.replace(k[1],k[2]):r:k.length===4&&(this[k[0]]=j?k[3].call(this,j.replace(k[1],k[2])):r):this[k]=j||r;m+=2}},re=function(v,x){for(var m in x)if(typeof x[m]===N&&x[m].length>0){for(var _=0;_2&&(b[t]="iPad",b[i]=p),b},this.getEngine=function(){var b={};return b[n]=r,b[l]=r,J.call(b,_,B.engine),b},this.getOS=function(){var b={};return b[n]=r,b[l]=r,J.call(b,_,B.os),k&&!b[n]&&V&&V.platform&&V.platform!="Unknown"&&(b[n]=V.platform.replace(/chrome os/i,Te).replace(/macos/i,Ee)),b},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return _},this.setUA=function(b){return _=typeof b===O&&b.length>de?me(b,de):b,this},this.setUA(_),this};P.VERSION=c,P.BROWSER=ae([n,l,R]),P.CPU=ae([w]),P.DEVICE=ae([t,s,i,L,f,T,p,M,le]),P.ENGINE=P.OS=ae([n,l]),a.exports&&(e=a.exports=P),e.UAParser=P;var H=typeof o!==A&&(o.jQuery||o.Zepto);if(H&&!H.ua){var ne=new P;H.ua=ne.getResult(),H.ua.get=function(){return ne.getUA()},H.ua.set=function(v){ne.setUA(v);var x=ne.getResult();for(var m in x)H.ua[m]=x[m]}}})(typeof window=="object"?window:_t)}(Z,Z.exports)),Z.exports}var Nt=At(),It=Object.defineProperty,Dt=Object.getOwnPropertyDescriptor,St=(a,e,o,r)=>{for(var c=r>1?void 0:r?Dt(e,o):e,g=a.length-1,u;g>=0;g--)(u=a[g])&&(c=(r?u(e,o,c):u(c))||c);return r&&c&&It(e,o,c),c};let ve=class extends Ce{constructor(){super(...arguments);h(this,"$notify");h(this,"CATEGORY_CONTACTS",1);h(this,"CATEGORY_IDEAS",0);h(this,"IDEAS",["What food did someone fix for you?","What did a family member do for you?","What compliment did someone give you?","Who is someone you can always rely on, and how did they demonstrate that?","What did you see someone give to someone else?","What is a way that someone helped you even though you have never met?","How did a musician or author or artist inspire you?","What inspiration did you get from someone who handled tragedy well?","What is something worth respect that an organization gave you?","Who last gave you a good laugh?","What do you recall someone giving you while you were young?","Who forgave you or overlooked a mistake?","What is a way an ancestor contributed to your life?","What kind of help did someone at work give you?","How did a teacher or mentor or great example help you?"]);h(this,"callbackOnFullGiftInfo");h(this,"currentCategory",this.CATEGORY_IDEAS);h(this,"currentContact");h(this,"currentIdeaIndex",0);h(this,"numContacts",0);h(this,"shownContactDbIndices",[]);h(this,"visible",!1);h(this,"AppString",we)}async open(e){this.visible=!0,this.callbackOnFullGiftInfo=e,await U.open(),this.numContacts=await U.contacts.count(),this.shownContactDbIndices=new Array(this.numContacts)}cancel(){this.currentCategory=this.CATEGORY_IDEAS,this.currentContact=void 0,this.currentIdeaIndex=0,this.numContacts=0,this.shownContactDbIndices=[],this.visible=!1}proceed(){var e;this.visible=!1,this.currentCategory===this.CATEGORY_IDEAS?this.$router.push({name:"contact-gift",query:{prompt:this.IDEAS[this.currentIdeaIndex]}}):(e=this.callbackOnFullGiftInfo)==null||e.call(this,this.currentContact)}async nextIdea(){this.currentCategory===this.CATEGORY_IDEAS?(this.currentIdeaIndex++,this.currentIdeaIndex===this.IDEAS.length&&this.findNextUnshownContact()):this.findNextUnshownContact()}async prevIdea(){this.currentCategory===this.CATEGORY_IDEAS?(this.currentIdeaIndex--,this.currentIdeaIndex<0&&this.findNextUnshownContact()):this.findNextUnshownContact()}nextIdeaPastContacts(){this.currentContact=void 0,this.shownContactDbIndices=new Array(this.numContacts),this.currentCategory=this.CATEGORY_IDEAS,this.currentIdeaIndex=this.currentIdeaIndex>=this.IDEAS.length?0:this.IDEAS.length-1}async findNextUnshownContact(){this.currentCategory===this.CATEGORY_IDEAS&&(this.shownContactDbIndices=new Array(this.numContacts)),this.currentCategory=this.CATEGORY_CONTACTS;let e=Math.floor(Math.random()*this.numContacts),o=0;for(;this.shownContactDbIndices[e]!=null&&o++=this.numContacts?this.nextIdeaPastContacts():(await U.open(),this.currentContact=await U.contacts.offset(e).first(),this.shownContactDbIndices[e]=!0)}};ve=St([ke],ve);const Ot={key:0,class:"dialog-overlay"},Tt={class:"dialog"},Et={class:"text-xl font-bold text-center mb-4 relative"},Ft={class:"flex justify-between"},Pt={class:"m-2"},$t={key:0},Ut={class:"text-center text-lg font-bold"},Bt={key:1},jt={class:"text-center"},Lt={key:0,class:"text-orange-500 text-lg font-bold"},Mt={key:1},Vt={class:"text-lg font-bold"},Rt={class:"flex justify-between"};function Gt(a,e,o,r,c,g){const u=E("fa");return a.visible?(y(),C("div",Ot,[d("div",Tt,[d("h1",Et,[e[5]||(e[5]=$(" Here's one: ")),d("div",{class:"text-lg text-center p-2 leading-none absolute right-0 -top-1",onClick:e[0]||(e[0]=(...D)=>a.cancel&&a.cancel(...D))},[I(u,{icon:"xmark",class:"w-[1em]"})])]),d("span",Ft,[d("span",{class:"rounded-l border border-slate-400 bg-slate-200 px-4 py-2 flex",onClick:e[1]||(e[1]=D=>a.prevIdea())},[I(u,{icon:"chevron-left",class:"m-auto"})]),d("div",Pt,[a.currentCategory===a.CATEGORY_IDEAS?(y(),C("span",$t,[d("p",Ut,F(a.IDEAS[a.currentIdeaIndex]),1)])):S("",!0),a.currentCategory===a.CATEGORY_CONTACTS?(y(),C("div",Bt,[d("p",jt,[a.currentContact==null?(y(),C("span",Lt," That's all your contacts. ")):(y(),C("span",Mt,[d("span",Vt,[$(" Did "+F(a.currentContact.name||a.AppString.NO_CONTACT_NAME)+" ",1),e[6]||(e[6]=d("br",null,null,-1)),e[7]||(e[7]=$(" or someone near them do anything – maybe a while ago? "))]),d("span",Rt,[e[9]||(e[9]=d("span",null,null,-1)),d("button",{class:"text-center bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mt-4",onClick:e[2]||(e[2]=D=>a.nextIdeaPastContacts())},[e[8]||(e[8]=$(" Skip Contacts ")),I(u,{icon:"forward"})])])]))])])):S("",!0)]),d("span",{class:"rounded-r border border-slate-400 bg-slate-200 px-4 py-2 flex",onClick:e[3]||(e[3]=D=>a.nextIdea())},[I(u,{icon:"chevron-right",class:"m-auto"})])]),d("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mt-4",onClick:e[4]||(e[4]=(...D)=>a.proceed&&a.proceed(...D))}," That's it! ")])])):S("",!0)}const Ht=_e(ve,[["render",Gt]]);var qt=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,Yt=(a,e,o,r)=>{for(var c=r>1?void 0:r?zt(e,o):e,g=a.length-1,u;g>=0;g--)(u=a[g])&&(c=(r?u(e,o,c):u(c))||c);return r&&c&&qt(e,o,c),c};let ye=class extends Ce{constructor(){super(...arguments);h(this,"onCloseIfChanged",()=>{});h(this,"hasSearchBox",!1);h(this,"hasVisibleDid",!1);h(this,"isNearby",!1);h(this,"settingChanged",!1);h(this,"visible",!1)}async open(o){this.onCloseIfChanged=o;const r=await ge();this.hasVisibleDid=!!r.filterFeedByVisible,this.isNearby=!!r.filterFeedByNearby,r.searchBoxes&&r.searchBoxes.length>0&&(this.hasSearchBox=!0),this.settingChanged=!1,this.visible=!0}async toggleHasVisibleDid(){this.settingChanged=!0,this.hasVisibleDid=!this.hasVisibleDid,await U.settings.update(X,{filterFeedByVisible:this.hasVisibleDid})}async toggleNearby(){this.settingChanged=!0,this.isNearby=!this.isNearby,await U.settings.update(X,{filterFeedByNearby:this.isNearby})}async clearAll(){(this.hasVisibleDid||this.isNearby)&&(this.settingChanged=!0),await U.settings.update(X,{filterFeedByNearby:!1,filterFeedByVisible:!1}),this.hasVisibleDid=!1,this.isNearby=!1}async setAll(){(!this.hasVisibleDid||!this.isNearby)&&(this.settingChanged=!0),await U.settings.update(X,{filterFeedByNearby:!0,filterFeedByVisible:!0}),this.hasVisibleDid=!0,this.isNearby=!0}close(){this.settingChanged&&this.onCloseIfChanged(),this.visible=!1}done(){this.close()}};ye=Yt([ke({components:{LRectangle:at,LMap:rt,LMarker:nt,LTileLayer:lt}})],ye);const Wt={key:0,id:"dialogFeedFilters",class:"dialog-overlay"},Kt={class:"dialog"},Jt={class:"grid grid-cols-1 gap-2"},Qt={class:"relative ml-2"},Xt={key:0,class:"relative ml-2"},Zt={key:1,class:"relative ml-2"},ei={class:"grid grid-cols-1 sm:grid-cols-3 gap-2 mt-4"};function ti(a,e,o,r,c,g){return a.visible?(y(),C("div",Wt,[d("div",Kt,[e[15]||(e[15]=d("h1",{class:"text-xl font-bold text-center mb-4"},"Feed Filters",-1)),e[16]||(e[16]=d("p",{class:"mb-4 font-bold"},"Show only activities that…",-1)),d("div",Jt,[d("div",{class:"flex items-center justify-between cursor-pointer",onClick:e[1]||(e[1]=u=>a.toggleHasVisibleDid())},[e[9]||(e[9]=d("div",null,"Include someone visible to me",-1)),d("div",Qt,[je(d("input",{type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=u=>a.hasVisibleDid=u),name:"toggleFilterFromMyContacts",class:"sr-only"},null,512),[[Le,a.hasVisibleDid]]),e[7]||(e[7]=d("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[8]||(e[8]=d("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])]),e[14]||(e[14]=d("em",null,"or",-1)),d("div",{class:"flex items-center justify-between cursor-pointer",onClick:e[3]||(e[3]=u=>a.hasSearchBox?a.toggleNearby():a.$router.push({name:"search-area"}))},[e[13]||(e[13]=d("div",null,"Are nearby",-1)),a.hasSearchBox?(y(),C("div",Xt,[je(d("input",{type:"checkbox","onUpdate:modelValue":e[2]||(e[2]=u=>a.isNearby=u),name:"toggleFilterNearby",class:"sr-only"},null,512),[[Le,a.isNearby]]),e[10]||(e[10]=d("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),e[11]||(e[11]=d("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])):(y(),C("div",Zt,e[12]||(e[12]=[d("button",{class:"ml-2 px-4 py-2 rounded-md bg-blue-200 text-blue-500"}," Select Location ",-1)])))])]),d("div",ei,[d("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[4]||(e[4]=u=>a.setAll())}," Set All "),d("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[5]||(e[5]=u=>a.clearAll())}," Clear All "),d("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[6]||(e[6]=u=>a.done())}," Done ")])])])):S("",!0)}const ii=_e(ye,[["render",ti]]);var si=Object.defineProperty,oi=Object.getOwnPropertyDescriptor,ai=(a,e,o,r)=>{for(var c=r>1?void 0:r?oi(e,o):e,g=a.length-1,u;g>=0;g--)(u=a[g])&&(c=(r?u(e,o,c):u(c))||c);return r&&c&&si(e,o,c),c};let xe=class extends Ce{constructor(){super(...arguments);h(this,"$notify");h(this,"AppString",we);h(this,"PASSKEYS_ENABLED",Ze);h(this,"activeDid","");h(this,"allContacts",[]);h(this,"allMyDids",[]);h(this,"apiServer","");h(this,"feedData",[]);h(this,"feedPreviousOldestId");h(this,"feedLastViewedClaimId");h(this,"givenName","");h(this,"isAnyFeedFilterOn");h(this,"isCreatingIdentifier",!1);h(this,"isFeedFilteredByVisible",!1);h(this,"isFeedFilteredByNearby",!1);h(this,"isFeedLoading",!0);h(this,"isRegistered",!1);h(this,"lastAckedOfferToUserJwtId");h(this,"lastAckedOfferToUserProjectsJwtId");h(this,"newOffersToUserHitLimit",!1);h(this,"newOffersToUserProjectsHitLimit",!1);h(this,"numNewOffersToUser",0);h(this,"numNewOffersToUserProjects",0);h(this,"searchBoxes",[]);h(this,"showShortcutBvc",!1);h(this,"userAgentInfo",new Nt.UAParser)}async mounted(){try{try{if(this.allMyDids=await mt(),this.allMyDids.length===0){this.isCreatingIdentifier=!0;const r=await ft();this.isCreatingIdentifier=!1,this.allMyDids=[r]}}catch(r){Me("Error retrieving all account DIDs on home page:"+r,!0)}const o=await ge();if(this.apiServer=o.apiServer||"",this.activeDid=o.activeDid||"",this.allContacts=await U.contacts.toArray(),this.feedLastViewedClaimId=o.lastViewedClaimId,this.givenName=o.firstName||"",this.isFeedFilteredByVisible=!!o.filterFeedByVisible,this.isFeedFilteredByNearby=!!o.filterFeedByNearby,this.isRegistered=!!o.isRegistered,this.lastAckedOfferToUserJwtId=o.lastAckedOfferToUserJwtId,this.lastAckedOfferToUserProjectsJwtId=o.lastAckedOfferToUserProjectsJwtId,this.searchBoxes=o.searchBoxes||[],this.showShortcutBvc=!!o.showShortcutBvc,this.isAnyFeedFilterOn=Ve(o),o.finishedOnboarding||this.$refs.onboardingDialog.open(pt.Home),!this.isRegistered&&this.activeDid)try{(await wt(this.apiServer,this.axios,this.activeDid)).status===200&&(await et(this.activeDid,{isRegistered:!0}),this.isRegistered=!0)}catch{}if(this.updateAllFeed(),this.activeDid){const r=await gt(this.axios,this.apiServer,this.activeDid,this.lastAckedOfferToUserJwtId);console.log("offersToUserData",r),this.numNewOffersToUser=r.data.length,this.newOffersToUserHitLimit=r.hitLimit}if(this.activeDid){const r=await vt(this.axios,this.apiServer,this.activeDid,this.lastAckedOfferToUserProjectsJwtId);this.numNewOffersToUserProjects=r.data.length,this.newOffersToUserProjectsHitLimit=r.hitLimit}}catch(o){Me("Error retrieving settings or feed: "+o,!0),this.$notify({group:"alert",type:"danger",title:"Error",text:o.userMessage||"There was an error retrieving your settings or the latest activity."},-1)}}async generatePasskeyIdentifier(){this.isCreatingIdentifier=!0;const o=await yt(we.APP_NAME+(this.givenName?" - "+this.givenName:""));this.activeDid=o.did,this.allMyDids=this.allMyDids.concat(this.activeDid),this.isCreatingIdentifier=!1}resultsAreFiltered(){return this.isFeedFilteredByVisible||this.isFeedFilteredByNearby}notificationsSupported(){return"Notification"in window}async reloadFeedOnChange(){const o=await ge();this.isFeedFilteredByVisible=!!o.filterFeedByVisible,this.isFeedFilteredByNearby=!!o.filterFeedByNearby,this.isAnyFeedFilterOn=Ve(o),this.feedData=[],this.feedPreviousOldestId=void 0,await this.updateAllFeed()}async loadMoreGives(o){o&&!this.isFeedLoading&&await this.updateAllFeed()}latLongInAnySearchBox(o,r){for(const c of this.searchBoxes)if(c.bbox.westLong<=r&&r<=c.bbox.eastLong&&c.bbox.minLat<=o&&o<=c.bbox.maxLat)return!0}async updateAllFeed(){this.isFeedLoading=!0;let o=!0;await this.retrieveGives(this.apiServer,this.feedPreviousOldestId).then(async r=>{var c,g,u,D;if(r.data.length>0){o=!1;for(const A of r.data){const N=A.fullClaim.claim||A.fullClaim,O=((c=N.agent)==null?void 0:c.identifier)||((g=N.agent)==null?void 0:g.did),R=((u=N.recipient)==null?void 0:u.identifier)||((D=N.recipient)==null?void 0:D.did),t=await Ge(A.fulfillsPlanHandleId,this.axios,this.apiServer,this.activeDid);let n=!1;if(this.isFeedFilteredByVisible&&xt(A)&&(n=!0),!n&&this.isFeedFilteredByNearby&&A.fulfillsPlanHandleId&&t!=null&&t.locLat&&t!=null&&t.locLon&&this.latLongInAnySearchBox(t.locLat,t.locLon)&&(n=!0),this.isAnyFeedFilterOn&&!n)continue;const i=Array.isArray(N.provider)?N.provider[0]:N.provider,s=await Ge(i==null?void 0:i.identifier,this.axios,this.apiServer,this.activeDid),l={...A,giver:He(O,this.activeDid,qe(O,this.allContacts),this.allMyDids),image:N.image,providerPlanHandleId:i==null?void 0:i.identifier,providerPlanName:s==null?void 0:s.name,recipientProjectName:t==null?void 0:t.name,receiver:He(R,this.activeDid,qe(R,this.allContacts),this.allMyDids)};this.feedData.push(l)}this.feedPreviousOldestId=r.data[r.data.length-1].jwtId,(this.feedLastViewedClaimId==null||this.feedLastViewedClaimId{console.error("Error with feed load:",r),this.$notify({group:"alert",type:"danger",title:"Feed Error",text:r.userMessage||"There was an error retrieving feed data."},-1)}),this.feedData.length===0&&!o&&await this.updateAllFeed(),this.isFeedLoading=!1}async retrieveGives(o,r){const c=r==null?"":"&beforeId="+r,g=!!r,u=await kt(this.activeDid,g?void 0:this.$notify),D=await fetch(o+"/api/v2/report/gives?giftNotTrade=true"+c,{method:"GET",headers:u});if(!D.ok)throw await D.text();const A=await D.json();if(A.data)return A;throw JSON.stringify(A)}giveDescription(o){var D;const r=o.fullClaim.claim||o.fullClaim;let c=(D=r.object)!=null&&D.amountOfThisGood?this.displayAmount(r.object.unitCode,r.object.amountOfThisGood):"";r.description&&(c&&(c=" (and "+c+")"),c=r.description+c),c||(c="something not described");const g=o.giver,u=o.receiver;if(g.known&&u.known)return`${g.displayName} gave to ${u.displayName}: ${c}`;if(g.known)return o.recipientProjectName?`${g.displayName} gave: ${c} (to the project "${o.recipientProjectName}")`:`${g.displayName} gave: ${c} (to ${u.displayName})`;if(u.known)return o.providerPlanName?`${u.displayName} received: ${c} (from the project "${o.providerPlanName}")`:`${u.displayName} received: ${c} (from ${g.displayName})`;{let A="";return o.providerPlanName||o.recipientProjectName?(o.providerPlanName?A=`from the project "${o.providerPlanName}"`:A=`from ${g.displayName}`,o.recipientProjectName?A+=` to the project "${o.recipientProjectName}"`:A+=` to ${u.displayName}`):g.displayName===u.displayName?A=`between two who are ${g.displayName}`:A=`from ${g.displayName} to ${u.displayName}`,c+" ("+A+")"}}goToActivityToUserPage(){this.$router.push({name:"new-activity"})}onClickLoadClaim(o){const r={path:"/claim/"+encodeURIComponent(o)};this.$router.push(r)}displayAmount(o,r){return""+r+" "+this.currencyShortWordForCode(o,r===1)}currencyShortWordForCode(o,r){return o==="HUR"?r?"hour":"hours":o}openDialog(o,r){this.$refs.customDialog.open(o,{did:this.activeDid,name:"you"},void 0,"Given by "+((o==null?void 0:o.name)||"someone not named"),r)}openGiftedPrompts(){this.$refs.giftedPrompts.open((o,r)=>this.openDialog(o,r))}openFeedFilters(){this.$refs.feedFilters.open(this.reloadFeedOnChange)}toastUser(o){this.$notify({group:"alert",type:"toast",title:"FYI",text:o},2e3)}computeKnownPersonIconStyleClassNames(o){return o?"text-slate-500":"text-slate-100"}showNameThenIdDialog(){this.givenName?this.promptForShareMethod():this.$refs.userNameDialog.open(()=>{this.promptForShareMethod()})}promptForShareMethod(){this.$notify({group:"modal",type:"confirm",title:"Are you nearby with cameras?",text:"If so, we'll use those with QR codes to share.",onCancel:async()=>{},onNo:async()=>{this.$router.push({name:"share-my-contact-info"})},onYes:async()=>{this.$router.push({name:"contact-qr"})},noText:"we will share another way",yesText:"we are nearby with cameras"},-1)}};xe=ai([ke({computed:{App(){return tt}},components:{EntityIcon:st,FeedFilters:ii,GiftedDialog:ot,GiftedPrompts:Ht,InfiniteScroll:dt,OnboardingDialog:ct,QuickNav:ut,TopMessage:bt,UserNameDialog:ht}})],xe);const ri={id:"Content",class:"p-2 pb-24 max-w-3xl mx-auto"},ni={id:"ViewHeading",class:"text-4xl text-center font-light mb-8"},li={class:"mb-8 mt-8"},di={key:0,class:"mb-4"},ci={class:"mb-8"},ui={key:0},bi={class:"text-slate-500 text-center italic mt-4 mb-4"},hi={key:1},mi={class:"mb-4"},fi={key:0,id:"noticeSomeoneMustRegisterYou",class:"bg-amber-200 rounded-md overflow-hidden text-center px-4 py-3 mb-4"},pi={class:"block text-center"},wi={key:0,class:"flex justify-end w-full"},gi={key:1,id:"sectionRecordSomethingGiven"},vi={class:"flex"},yi={class:"grid grid-cols-4 sm:grid-cols-5 md:grid-cols-6 gap-x-3 gap-y-5 text-center mt-4"},xi={key:0,class:"text-sm"},ki=["onClick"],Ci={class:"text-xs text-blue-500 font-medium text-ellipsis whitespace-nowrap overflow-hidden cursor-pointer"},_i={class:"relative"},Ai={class:"bg-slate-100 rounded-md px-4 py-3 mt-4 mb-4"},Ni={class:"flex items-center mb-4"},Ii={class:"text-xl font-bold"},Di={class:"text-xs text-white"},Si={class:"flex justify-center"},Oi={key:0,class:"bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] m-1 px-4 py-4 rounded-md text-white"},Ti={class:"block text-center text-6xl","data-testId":"newDirectOffersActivityNumber"},Ei={class:"text-center"},Fi={key:1,class:"bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] m-1 px-4 py-4 rounded-md text-white"},Pi={class:"block text-center text-6xl","data-testId":"newOffersToUserProjectsActivityNumber"},$i={class:"text-center"},Ui={id:"listLatestActivity",class:"border-t border-slate-300"},Bi={key:0,class:"border-b border-slate-300 text-orange-400 pb-2 mb-2 font-bold text-sm"},ji={class:"grid grid-cols-12"},Li={class:"pt-1 col-span-1 justify-self-start"},Mi={class:"col-span-10 justify-self-stretch"},Vi={class:"pl-2"},Ri=["onClick"],Gi={class:"col-span-1 justify-self-end"},Hi={key:1,class:"flex justify-center"},qi=["href"],zi=["src"],Yi={key:0},Wi={class:"text-slate-500 text-center italic mt-4 mb-4"},Ki={key:1};function Ji(a,e,o,r,c,g){const u=E("QuickNav"),D=E("TopMessage"),A=E("OnboardingDialog"),N=E("fa"),O=E("router-link"),R=E("UserNameDialog"),t=E("EntityIcon"),n=E("GiftedDialog"),i=E("GiftedPrompts"),s=E("FeedFilters"),l=E("InfiniteScroll");return y(),C(pe,null,[I(u,{selected:"Home"}),I(D),d("section",ri,[d("h1",ni,F(a.AppString.APP_NAME),1),I(A,{ref:"onboardingDialog"},null,512),d("div",li,[S("",!0)]),a.showShortcutBvc?(y(),C("div",di,[I(O,{to:{name:"quick-action-bvc"},class:"block text-center text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"},{default:q(()=>e[19]||(e[19]=[$(" Bountiful Voluntaryist Community Actions ")])),_:1})])):S("",!0),d("div",ci,[a.isCreatingIdentifier?(y(),C("div",ui,[d("p",bi,[I(N,{icon:"spinner",class:"fa-spin-pulse"}),e[20]||(e[20]=$(" Loading… "))])])):(y(),C("div",hi,[d("div",mi,[a.isRegistered?(y(),C("div",gi,[d("div",vi,[e[23]||(e[23]=d("h2",{class:"text-xl font-bold"},"What have you seen someone do?",-1)),d("button",{onClick:e[1]||(e[1]=w=>a.openGiftedPrompts()),class:"ml-2 block text-xs text-center bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 rounded-md"},[I(N,{icon:"lightbulb",class:"fa-fw"})])]),d("ul",yi,[d("li",{onClick:e[2]||(e[2]=w=>a.openDialog())},e[24]||(e[24]=[d("img",{src:Ct,class:"mx-auto border border-blue-500 rounded-md mb-1 cursor-pointer"},null,-1),d("h3",{class:"text-xs text-blue-500 italic font-medium text-ellipsis whitespace-nowrap overflow-hidden cursor-pointer"}," Unnamed/Unknown ",-1)])),a.allContacts.length===0?(y(),C("li",xi," (Add friends to see more people worthy of recognition.) ")):S("",!0),(y(!0),C(pe,null,Re(a.allContacts.slice(0,6),w=>(y(),C("li",{key:w.did,onClick:L=>a.openDialog(w)},[I(t,{contact:w,iconSize:64,class:"mx-auto border border-blue-500 rounded-md mb-1 cursor-pointer"},null,8,["contact"]),d("h3",Ci,F(w.name||w.did),1)],8,ki))),128)),d("li",null,[a.allContacts.length>=6?(y(),Q(O,{key:0,to:{name:"contact-gift"},class:"flex align-bottom text-xs text-blue-500 mt-12 cursor-pointer"},{default:q(()=>e[25]||(e[25]=[$(" ... or someone else... ")])),_:1})):S("",!0)])])])):(y(),C("div",fi,[e[22]||(e[22]=$(" To share, someone must register you. ")),d("div",pi,[d("button",{onClick:e[0]||(e[0]=w=>a.showNameThenIdDialog()),class:"text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"}," Show them "+F(a.PASSKEYS_ENABLED?"default":"your")+" identifier info ",1)]),I(R,{ref:"userNameDialog"},null,512),a.PASSKEYS_ENABLED?(y(),C("div",wi,[I(O,{to:{name:"start"},class:"block text-right text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"},{default:q(()=>e[21]||(e[21]=[$(" See all your options first ")])),_:1})])):S("",!0)]))])]))]),I(n,{ref:"customDialog"},null,512),I(i,{ref:"giftedPrompts"},null,512),I(s,{ref:"feedFilters"},null,512),d("div",_i,[a.isRegistered?(y(),C("button",{key:0,class:"absolute right-6 bottom-0 transform translate-y-1/2 text-center text-4xl leading-none bg-green-600 text-white w-14 py-2.5 rounded-full",onClick:e[3]||(e[3]=w=>a.openDialog())},[I(N,{icon:"plus",class:"fa-fw"})])):S("",!0)]),d("div",Ai,[d("div",Ni,[d("h2",Ii,[e[26]||(e[26]=$(" Latest Activity ")),d("button",{onClick:e[4]||(e[4]=w=>a.openFeedFilters())},[d("span",Di,[a.resultsAreFiltered()?(y(),Q(N,{key:0,icon:"filter",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] px-1 py-1.5 rounded-md"})):(y(),Q(N,{key:1,icon:"filter",class:"bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] px-1 py-1.5 rounded-md"}))])])])]),d("div",{onClick:e[5]||(e[5]=w=>a.goToActivityToUserPage()),class:"border-t p-2 border-slate-300"},[d("div",Si,[a.numNewOffersToUser?(y(),C("div",Oi,[d("span",Ti,F(a.numNewOffersToUser)+F(a.newOffersToUserHitLimit?"+":""),1),d("p",Ei," new offer"+F(a.numNewOffersToUser===1?"":"s")+" to you ",1)])):S("",!0),a.numNewOffersToUserProjects?(y(),C("div",Fi,[d("span",Pi,F(a.numNewOffersToUserProjects)+F(a.newOffersToUserProjectsHitLimit?"+":""),1),d("p",$i," new offer"+F(a.numNewOffersToUserProjects===1?"":"s")+" to your projects ",1)])):S("",!0)]),e[27]||(e[27]=d("div",{class:"flex justify-end mt-2"},[d("button",{class:"text-blue-500"},"View All New Activity For You")],-1))]),I(l,{onReachedBottom:a.loadMoreGives},{default:q(()=>[d("ul",Ui,[(y(!0),C(pe,null,Re(a.feedData,w=>(y(),C("li",{class:"border-b border-slate-300 py-2",key:w.jwtId},[w.jwtId==a.feedLastViewedClaimId?(y(),C("div",Bi," You've already seen all the following ")):S("",!0),d("div",ji,[d("span",Li,[d("span",null,[I(N,{icon:"circle-user",class:it(a.computeKnownPersonIconStyleClassNames(w.giver.known||w.receiver.known)),onClick:e[6]||(e[6]=L=>a.toastUser("This involves your contacts."))},null,8,["class"]),I(N,{icon:"gift",class:"pl-3 text-slate-500",onClick:e[7]||(e[7]=L=>a.toastUser("This is a gift."))})])]),d("span",Mi,[d("span",Vi,F(a.giveDescription(w)),1),d("a",{onClick:L=>a.onClickLoadClaim(w.jwtId)},[I(N,{icon:"file-lines",class:"pl-2 text-slate-500 cursor-pointer"})],8,Ri)]),d("span",Gi,[w.fulfillsPlanHandleId?(y(),Q(O,{key:0,to:"/project/"+encodeURIComponent(w.fulfillsPlanHandleId)},{default:q(()=>[I(N,{icon:"hammer",class:"text-blue-500"})]),_:2},1032,["to"])):S("",!0),w.providerPlanHandleId?(y(),Q(O,{key:1,to:"/project/"+encodeURIComponent(w.providerPlanHandleId)},{default:q(()=>[I(N,{icon:"hammer",class:"text-blue-500"})]),_:2},1032,["to"])):S("",!0)])]),w.image?(y(),C("div",Hi,[d("a",{href:w.image,target:"_blank"},[d("img",{src:w.image,class:"h-48 mt-2 rounded-xl"},null,8,zi)],8,qi)])):S("",!0)]))),128))])]),_:1},8,["onReachedBottom"]),a.isFeedLoading?(y(),C("div",Yi,[d("p",Wi,[I(N,{icon:"spinner",class:"fa-spin-pulse"}),e[28]||(e[28]=$(" Loading… "))])])):S("",!0),!a.isFeedLoading&&a.feedData.length===0?(y(),C("div",Ki,e[29]||(e[29]=[d("p",{class:"text-slate-500 text-center italic mt-4 mb-4"}," No claims match your filters. ",-1)]))):S("",!0)])])],64)}const bs=_e(xe,[["render",Ji]]);export{bs as default}; diff --git a/dist-electron/assets/HomeView-iOU0cseJ.css b/dist-electron/assets/HomeView-iOU0cseJ.css new file mode 100644 index 0000000..8cd8995 --- /dev/null +++ b/dist-electron/assets/HomeView-iOU0cseJ.css @@ -0,0 +1 @@ +.dialog-overlay{z-index:50;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}#dialogFeedFilters.dialog-overlay{z-index:100;overflow:scroll}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:500px} diff --git a/dist-electron/assets/IdentitySwitcherView-CBVlDTfr.js b/dist-electron/assets/IdentitySwitcherView-CBVlDTfr.js new file mode 100644 index 0000000..7aad61b --- /dev/null +++ b/dist-electron/assets/IdentitySwitcherView-CBVlDTfr.js @@ -0,0 +1 @@ +var D=Object.defineProperty;var I=(i,t,e)=>t in i?D(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var l=(i,t,e)=>I(i,typeof t!="symbol"?t+"":t,e);import{V as C,f as S,e as b,M as A,a9 as $,C as B,_ as V,g as y,h as f,i as p,j as s,w as g,k as m,t as _,l as N,F as k,z as T,x as r,p as h}from"./index-BLqts8WY.js";import{Q as P}from"./QuickNav-DgCyvgDx.js";import{aB as j}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var E=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,O=(i,t,e,o)=>{for(var n=o>1?void 0:o?Y(t,e):t,a=i.length-1,u;a>=0;a--)(u=i[a])&&(n=(o?u(t,e,n):u(n))||n);return o&&n&&E(t,e,n),n};let v=class extends C{constructor(){super(...arguments);l(this,"$notify");l(this,"activeDid","");l(this,"activeDidInIdentities",!1);l(this,"apiServer","");l(this,"apiServerInput","");l(this,"otherIdentities",[])}async created(){try{const e=await S();this.activeDid=e.activeDid||"",this.apiServer=e.apiServer||"",this.apiServerInput=e.apiServer||"";const o=await j();for(let n=0;n{await(await $).accounts.delete(e),this.otherIdentities=this.otherIdentities.filter(n=>n.id!==e)}},-1)}notifyCannotDelete(){this.$notify({group:"alert",type:"warning",title:"Cannot Delete",text:"You cannot delete the active identity. Set to another identity or 'no identity' first."},3e3)}};v=O([B({components:{QuickNav:P}})],v);const Q={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={id:"ViewBreadcrumb",class:"mb-8"},M={class:"text-lg text-center font-light relative px-7"},L={key:0,class:"block bg-slate-100 rounded-md flex items-center px-4 py-3 mb-4"},q={class:"text-sm text-slate-500"},z={class:"overflow-hidden truncate"},G={class:"mb-4"},K={class:"flex items-center justify-between mb-2"},R=["onClick"],H={class:"flex-grow overflow-hidden"},J={class:"text-sm text-slate-500 truncate"};function U(i,t,e,o,n,a){const u=y("QuickNav"),d=y("fa"),x=y("router-link");return r(),f(k,null,[p(u,{selected:"Profile"}),s("section",Q,[s("div",F,[s("h1",M,[p(x,{to:{name:"account"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:g(()=>[p(d,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[2]||(t[2]=m(" Switch Identity "))])]),i.activeDid&&!i.activeDidInIdentities?(r(),f("div",L,[p(d,{icon:"circle-check",class:"fa-fw text-red-600 text-xl mr-3"}),s("div",q,[s("div",z,[t[3]||(t[3]=s("b",null,"ID:",-1)),t[4]||(t[4]=m()),s("code",null,_(i.activeDid),1)]),t[5]||(t[5]=s("b",null,"There is a data corruption error: this identity is selected but it is not in storage. You cannot send any more claims with this identity until you import the seed again. This may require reinstalling the app; if you know how, you can also clear out the TimeSafariAccounts IndexedDB. Be sure to back up all your Settings & Contacts first.",-1))])])):N("",!0),s("ul",G,[(r(!0),f(k,null,T(i.otherIdentities,c=>(r(),f("li",{key:c.did},[s("div",K,[s("div",{class:"flex flex-grow items-center bg-slate-100 rounded-md px-4 py-3 mb-2 truncate cursor-pointer",onClick:w=>i.switchAccount(c.did)},[c.did===i.activeDid?(r(),h(d,{key:0,icon:"circle-check",class:"fa-fw text-blue-600 text-xl mr-3"})):(r(),h(d,{key:1,icon:"circle",class:"fa-fw text-slate-400 text-xl mr-3"})),s("span",H,[s("div",J,[t[6]||(t[6]=s("b",null,"ID:",-1)),t[7]||(t[7]=m()),s("code",null,_(c.did),1)])])],8,R),s("div",null,[c.did===i.activeDid?(r(),h(d,{key:0,icon:"trash-can",class:"text-slate-400 text-xl ml-2 mr-2 cursor-pointer",onClick:t[0]||(t[0]=w=>i.notifyCannotDelete())})):(r(),h(d,{key:1,icon:"trash-can",class:"text-red-600 text-xl ml-2 mr-2 cursor-pointer",onClick:w=>i.deleteAccount(c.id)},null,8,["onClick"]))])])]))),128))]),p(x,{id:"start-link",to:{name:"start"},class:"block text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2"},{default:g(()=>t[8]||(t[8]=[m(" Add Another Identity… ")])),_:1}),s("a",{href:"#",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-8",onClick:t[1]||(t[1]=c=>i.switchAccount("0"))}," No Identity ")])],64)}const st=V(v,[["render",U]]);export{st as default}; diff --git a/dist-electron/assets/ImageMethodDialog-B6b8zZ7c.js b/dist-electron/assets/ImageMethodDialog-B6b8zZ7c.js new file mode 100644 index 0000000..28947ec --- /dev/null +++ b/dist-electron/assets/ImageMethodDialog-B6b8zZ7c.js @@ -0,0 +1 @@ +var v=Object.defineProperty;var y=(t,e,o)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var r=(t,e,o)=>y(t,typeof e!="symbol"?e+"":e,o);import{r as _,C as x,V as w,a as k,_ as C,g as m,x as d,h as f,j as l,i as g,k as D,m as U,s as P,p as u,l as $,F as I}from"./index-BLqts8WY.js";import{P as T}from"./PhotoDialog-Dn3GjI9b.js";var V=Object.defineProperty,B=Object.getOwnPropertyDescriptor,F=(t,e,o,s)=>{for(var a=s>1?void 0:s?B(e,o):e,p=t.length-1,i;p>=0;p--)(i=t[p])&&(a=(s?i(e,o,a):i(a))||a);return s&&a&&V(e,o,a),a};const b=_();let h=class extends w{constructor(){super(...arguments);r(this,"$notify");r(this,"claimType");r(this,"crop",!1);r(this,"imageCallback",()=>{});r(this,"imageUrl");r(this,"visible",!1)}open(o,s,a){this.claimType=s,this.crop=!!a,this.imageCallback=o,this.visible=!0}openPhotoDialog(o,s){this.visible=!1,this.$refs.photoDialog.open(this.imageCallback,this.claimType,this.crop,o,s)}async uploadImageFile(o){this.visible=!1,b.value=o.target.files[0];const s=b.value;if(s!=null){const a=new FileReader;a.onload=async p=>{var c;const i=(c=p.target)==null?void 0:c.result;if(i){const n=new Blob([new Uint8Array(i)],{type:s.type});this.openPhotoDialog(n,s.name)}},a.readAsArrayBuffer(s)}}async acceptUrl(){if(this.visible=!1,this.crop)try{const o=await k.get(this.imageUrl,{responseType:"blob"}),a=new URL(this.imageUrl).pathname.split("/").pop();this.$refs.photoDialog.open(this.imageCallback,this.claimType,this.crop,o.data,a)}catch{this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error retrieving that image."},5e3)}else this.imageCallback(this.imageUrl)}close(){this.visible=!1}};h=F([x({components:{PhotoDialog:T}})],h);const N={key:0,class:"dialog-overlay z-[60]"},R={class:"dialog relative"},A={class:"text-lg text-center font-light relative z-50"},M={class:"text-center mt-8"},O={class:""},j={class:"mt-4"},z={class:"mt-4"},E={class:"mt-2"},L={class:"ml-2"};function H(t,e,o,s,a,p){const i=m("fa"),c=m("PhotoDialog");return d(),f(I,null,[t.visible?(d(),f("div",N,[l("div",R,[l("div",A,[e[4]||(e[4]=l("div",{id:"ViewHeading",class:"text-center font-bold absolute top-0 left-0 right-0 px-4 py-0.5 bg-black/50 text-white leading-none"}," Add Photo ",-1)),l("div",{class:"text-lg text-center px-2 py-0.5 leading-none absolute right-0 top-0 text-white",onClick:e[0]||(e[0]=n=>t.close())},[g(i,{icon:"xmark",class:"w-[1em]"})])]),l("div",null,[l("div",M,[l("div",O,[g(i,{icon:"camera",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-md",onClick:e[1]||(e[1]=n=>t.openPhotoDialog())})]),l("div",j,[l("input",{type:"file",onChange:e[2]||(e[2]=(...n)=>t.uploadImageFile&&t.uploadImageFile(...n))},null,32)]),l("div",z,[l("span",E,[e[5]||(e[5]=D(" ... or paste a URL: ")),U(l("input",{type:"text","onUpdate:modelValue":e[3]||(e[3]=n=>t.imageUrl=n),class:"border-2"},null,512),[[P,t.imageUrl]])]),l("span",L,[t.imageUrl?(d(),u(i,{key:0,icon:"check",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-md cursor-pointer",onClick:t.acceptUrl},null,8,["onClick"])):(d(),u(i,{key:1,icon:"check",class:"text-white bg-white px-2 py-2"}))])])])])])])):$("",!0),g(c,{ref:"photoDialog"},null,512)],64)}const Q=C(h,[["render",H]]);export{Q as I}; diff --git a/dist-electron/assets/ImageMethodDialog-CTvzd81h.css b/dist-electron/assets/ImageMethodDialog-CTvzd81h.css new file mode 100644 index 0000000..d682377 --- /dev/null +++ b/dist-electron/assets/ImageMethodDialog-CTvzd81h.css @@ -0,0 +1 @@ +.dialog-overlay{z-index:50;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:700px} diff --git a/dist-electron/assets/ImportAccountView-B6wxsBWU.js b/dist-electron/assets/ImportAccountView-B6wxsBWU.js new file mode 100644 index 0000000..33c851e --- /dev/null +++ b/dist-electron/assets/ImportAccountView-B6wxsBWU.js @@ -0,0 +1 @@ +var w=Object.defineProperty;var x=(t,e,s)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var n=(t,e,s)=>x(t,typeof e!="symbol"?e+"":e,s);import{V as y,A as f,f as E,a9 as A,e as h,M as P,C,_ as S,g as k,h as u,j as o,i as I,k as m,m as c,s as g,o as T,l as v,x as p}from"./index-BLqts8WY.js";import{aC as O,G as V,aD as $,aE as N}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var _=Object.defineProperty,D=Object.getOwnPropertyDescriptor,R=(t,e,s,r)=>{for(var i=r>1?void 0:r?D(e,s):e,l=t.length-1,d;l>=0;l--)(d=t[l])&&(i=(r?d(e,s,i):d(i))||i);return r&&i&&_(e,s,i),i};let b=class extends y{constructor(){super(...arguments);n(this,"TEST_USER_0_MNEMONIC","rigid shrug mobile smart veteran half all pond toilet brave review universe ship congress found yard skate elite apology jar uniform subway slender luggage");n(this,"UPORT_DERIVATION_PATH","m/7696500'/0'/0'/0'");n(this,"AppString",f);n(this,"$notify");n(this,"apiServer","");n(this,"address","");n(this,"derivationPath",O);n(this,"mnemonic","");n(this,"numAccounts",0);n(this,"privateHex","");n(this,"publicHex","");n(this,"showAdvanced",!1);n(this,"shouldErase",!1)}async created(){this.numAccounts=await V();const s=await E();this.apiServer=s.apiServer||""}onCancelClick(){this.$router.back()}isNotProdServer(){return this.apiServer!==f.PROD_ENDORSER_API_SERVER}async fromMnemonic(){const s=this.mnemonic.trim().toLowerCase();try{[this.address,this.privateHex,this.publicHex]=$(s,this.derivationPath);const r=N(this.address,this.publicHex,this.privateHex,this.derivationPath),i=await A;this.shouldErase&&await i.accounts.clear(),await i.accounts.add({dateCreated:new Date().toISOString(),derivationPath:this.derivationPath,did:r.did,identity:JSON.stringify(r),mnemonic:s,publicKeyHex:r.keys[0].publicKeyHex}),await h.open(),await h.settings.update(P,{activeDid:r.did}),this.$router.push({name:"account"})}catch(r){console.error("Error saving mnemonic & updating settings:",r),r=="Error: invalid mnemonic"?this.$notify({group:"alert",type:"danger",title:"Invalid Mnemonic",text:"Please check your mnemonic and try again."},-1):this.$notify({group:"alert",type:"danger",title:"Error",text:"Got an error creating that identifier."},-1)}}};b=R([C({components:{}})],b);const H={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},M={id:"ViewBreadcrumb",class:"mb-8"},U={class:"text-lg text-center font-light relative px-7"},B={key:0},j={class:"ml-4"},F={key:0,class:"mt-4"},G={key:1,class:"mt-4 text-blue-500"},K={class:"mt-8"},L={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function J(t,e,s,r,i,l){const d=k("fa");return p(),u("section",H,[o("div",M,[o("h1",U,[o("button",{onClick:e[0]||(e[0]=a=>t.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[I(d,{icon:"chevron-left"})]),e[9]||(e[9]=m(" Import Existing Identifier "))])]),e[13]||(e[13]=o("p",{class:"text-center text-xl mb-4 font-light"}," Enter your seed phrase below to import your identifier on this device. ",-1)),c(o("textarea",{id:"seed-input",type:"text",placeholder:"Seed Phrase",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":e[1]||(e[1]=a=>t.mnemonic=a)},null,512),[[g,t.mnemonic]]),o("h3",{class:"text-sm uppercase font-semibold mb-3",onClick:e[2]||(e[2]=a=>t.showAdvanced=!t.showAdvanced)}," Advanced "),t.showAdvanced?(p(),u("div",B,[e[12]||(e[12]=m(" Enter a custom derivation path ")),c(o("input",{type:"text",class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2","onUpdate:modelValue":e[3]||(e[3]=a=>t.derivationPath=a)},null,512),[[g,t.derivationPath]]),o("span",j,[e[10]||(e[10]=m(" For previous uPort or Endorser users, ")),o("a",{onClick:e[4]||(e[4]=a=>t.derivationPath=t.UPORT_DERIVATION_PATH),class:"text-blue-500"}," click here to use that value. ")]),t.numAccounts==1?(p(),u("div",F,[c(o("input",{type:"checkbox",class:"mr-2","onUpdate:modelValue":e[5]||(e[5]=a=>t.shouldErase=a)},null,512),[[T,t.shouldErase]]),e[11]||(e[11]=o("label",null,"Erase the previous identifier.",-1))])):v("",!0),t.isNotProdServer()?(p(),u("div",G,[o("button",{onClick:e[6]||(e[6]=a=>t.mnemonic=t.TEST_USER_0_MNEMONIC)}," Use mnemonic for Test User #0 ")])):v("",!0)])):v("",!0),o("div",K,[o("div",L,[o("button",{onClick:e[7]||(e[7]=a=>t.fromMnemonic()),class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md"}," Import "),o("button",{onClick:e[8]||(e[8]=a=>t.onCancelClick()),type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"}," Cancel ")])])])}const X=S(b,[["render",J]]);export{X as default}; diff --git a/dist-electron/assets/ImportDerivedAccountView-ssD6kQlS.js b/dist-electron/assets/ImportDerivedAccountView-ssD6kQlS.js new file mode 100644 index 0000000..155912d --- /dev/null +++ b/dist-electron/assets/ImportDerivedAccountView-ssD6kQlS.js @@ -0,0 +1 @@ +var b=Object.defineProperty;var _=(t,e,s)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var p=(t,e,s)=>_(t,typeof e!="symbol"?e+"":e,s);import{V as g,a9 as w,e as x,M as D,C as A,_ as C,g as k,h as u,j as i,i as P,k as I,l as E,F as O,z as $,x as l,p as f,t as F}from"./index-BLqts8WY.js";import{aC as V,aF as T,aG as B,aD as N,aE as S}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var j=Object.defineProperty,H=Object.getOwnPropertyDescriptor,M=(t,e,s,o)=>{for(var n=o>1?void 0:o?H(e,s):e,c=t.length-1,r;c>=0;c--)(r=t[c])&&(n=(o?r(e,s,n):r(n))||n);return o&&n&&j(e,s,n),n};let h=class extends g{constructor(){super(...arguments);p(this,"derivationPath",V);p(this,"didArrays",[]);p(this,"selectedArrayFirstDid","")}async mounted(){const e=await T(),s={};e.forEach(o=>{const n=s[o.mnemonic]||[];s[o.mnemonic]=n.concat([o.did])}),this.didArrays=Object.values(s),this.selectedArrayFirstDid=this.didArrays[0][0]}onCancelClick(){this.$router.back()}switchAccount(e){this.selectedArrayFirstDid=e}async incrementDerivation(){const e=this.didArrays.find(d=>d[0]===this.selectedArrayFirstDid)||[],s=await w,o=await s.accounts.where("did").anyOf(...e).toArray(),n=o[0];o.slice(1).forEach(d=>{d.derivationPath>n.derivationPath&&(n.derivationPath=d.derivationPath)});const c=B(n.derivationPath),r=n.mnemonic,[a,v,y]=N(r,c),m=S(a,y,v,c);try{await s.accounts.add({dateCreated:new Date().toISOString(),derivationPath:c,did:m.did,identity:JSON.stringify(m),mnemonic:r,publicKeyHex:m.keys[0].publicKeyHex}),await x.open(),await x.settings.update(D,{activeDid:m.did}),this.$router.push({name:"account"})}catch(d){console.error("Error saving mnemonic & updating settings:",d)}}};h=M([A({components:{}})],h);const K={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},R={id:"ViewBreadcrumb",class:"mb-8"},G={class:"text-lg text-center font-light relative px-7"},L={key:0},W={class:"mb-4"},z=["onClick"],J={class:"overflow-hidden"},U={class:"text-sm text-slate-500 truncate"},Y={class:"mt-8"},q={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Q(t,e,s,o,n,c){const r=k("fa");return l(),u("section",K,[i("div",R,[i("h1",G,[i("button",{onClick:e[0]||(e[0]=a=>t.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[P(r,{icon:"chevron-left"})]),e[3]||(e[3]=I(" Derive from Existing Identity "))])]),i("div",null,[e[4]||(e[4]=i("p",{class:"text-center text-xl mb-4 font-light"}," Will increment the maximum known derivation path from the existing seed. ",-1)),t.didArrays.length>1?(l(),u("p",L," Choose existing DIDs from same seed phrase to compute derivation. ")):E("",!0),i("ul",W,[(l(!0),u(O,null,$(t.didArrays,a=>(l(),u("li",{class:"block bg-slate-100 rounded-md flex items-center px-4 py-3 mb-2",key:a[0],onClick:v=>t.switchAccount(a[0])},[a[0]==t.selectedArrayFirstDid?(l(),f(r,{key:0,icon:"circle",class:"fa-fw text-blue-400 text-xl mr-3"})):(l(),f(r,{key:1,icon:"circle",class:"fa-fw text-slate-400 text-xl mr-3"})),i("span",J,[i("div",U,[i("code",null,F(a.join(",")),1)])])],8,z))),128))])]),i("div",Y,[i("div",q,[i("button",{onClick:e[1]||(e[1]=a=>t.incrementDerivation()),class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md"}," Increment and Import "),i("button",{onClick:e[2]||(e[2]=a=>t.onCancelClick()),type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"}," Cancel ")])])])}const se=C(h,[["render",Q]]);export{se as default}; diff --git a/dist-electron/assets/InfiniteScroll-B5tl9k_n.js b/dist-electron/assets/InfiniteScroll-B5tl9k_n.js new file mode 100644 index 0000000..4872bd2 --- /dev/null +++ b/dist-electron/assets/InfiniteScroll-B5tl9k_n.js @@ -0,0 +1 @@ +var d=Object.defineProperty;var p=(r,e,t)=>e in r?d(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>p(r,typeof e!="symbol"?e+"":e,t);import{aa as f,an as h,C as u,V as _,_ as v,x as b,h as I,a1 as x,j as $}from"./index-BLqts8WY.js";var m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,l=(r,e,t,n)=>{for(var s=n>1?void 0:n?y(e,t):e,i=r.length-1,c;i>=0;i--)(c=r[i])&&(s=(n?c(e,t,s):c(s))||s);return n&&s&&m(e,t,s),s};let o=class extends _{constructor(){super(...arguments);a(this,"distance");a(this,"observer");a(this,"isInitialRender",!0)}updated(){if(!this.observer){const t={root:null,rootMargin:`0px 0px ${this.distance}px 0px`,threshold:1};this.observer=new IntersectionObserver(this.handleIntersection,t),this.observer.observe(this.$refs.sentinel)}}beforeUnmount(){this.observer&&this.observer.disconnect()}handleIntersection(t){return!!t[0].isIntersecting}};l([f({default:200})],o.prototype,"distance",2);l([h("reached-bottom")],o.prototype,"handleIntersection",1);o=l([u],o);const O={ref:"scrollContainer"},C={ref:"sentinel",style:{height:"1px"}};function P(r,e,t,n,s,i){return b(),I("div",O,[x(r.$slots,"default"),$("div",C,null,512)],512)}const w=v(o,[["render",P]]);export{w as I}; diff --git a/dist-electron/assets/InviteOneAcceptView-BGpYTokg.js b/dist-electron/assets/InviteOneAcceptView-BGpYTokg.js new file mode 100644 index 0000000..04a8db4 --- /dev/null +++ b/dist-electron/assets/InviteOneAcceptView-BGpYTokg.js @@ -0,0 +1 @@ +var g=Object.defineProperty;var w=(i,t,e)=>t in i?g(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var r=(i,t,e)=>w(i,typeof t!="symbol"?t+"":t,e);import{V as y,e as I,f as k,y as x,C as b,_ as V,g as u,h as p,i as h,j as c,m as $,s as C,l as d,k as D,F as A,x as l}from"./index-BLqts8WY.js";import{Q as S}from"./QuickNav-DgCyvgDx.js";import{ag as J,af as N,x as O}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var T=Object.defineProperty,E=Object.getOwnPropertyDescriptor,P=(i,t,e,o)=>{for(var n=o>1?void 0:o?E(t,e):t,a=i.length-1,s;a>=0;a--)(s=i[a])&&(n=(o?s(t,e,n):s(n))||n);return o&&n&&T(t,e,n),n};let v=class extends y{constructor(){super(...arguments);r(this,"$notify");r(this,"acceptInput",!1);r(this,"activeDid","");r(this,"apiServer","");r(this,"checkingInvite",!0);r(this,"inputJwt","")}async mounted(){this.checkingInvite=!0,await I.open();const e=await k();this.activeDid=e.activeDid||"",this.apiServer=e.apiServer||"",this.activeDid||(this.activeDid=await J());const o=window.location.pathname.substring(19);await this.processInvite(o,!1),this.checkingInvite=!1}async processInvite(e,o){this.checkingInvite=!0;try{let n=e??"";const a=e.match(/(https?:\/\/[^\s]+)/);if(a&&a[1]){const s=a[1].match(/\/invite-one-accept\/([^?]+)/);s&&s[1]&&(n=s[1])}else{const s=e.match(/(ey[\w.-]+)/);s&&s[1]&&(n=s[1])}n?(N(n),this.$router.push({name:"contacts",query:{inviteJwt:n}})):(o&&this.$notify({group:"alert",type:"danger",title:"Missing invite",text:"There was no invite. Paste the entire text that has the link."},5e3),this.acceptInput=!0)}catch(n){const a="Error accepting invite: "+O(n);x(a,!0),o&&this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error processing that invite."},3e3),this.acceptInput=!0}this.checkingInvite=!1}async checkInvite(e){(e.endsWith("invite-one-accept")||e.endsWith("invite-one-accept/"))&&this.$notify({group:"alert",type:"danger",title:"Error",text:"That is only part of the invite link; it's missing data at the end. Try another way to get the full link."},5e3)}};v=P([b({components:{QuickNav:S}})],v);const M={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={key:0,class:"text-center mt-4"},Q={key:1,class:"text-lg text-center font-light relative px-7"};function B(i,t,e,o,n,a){const s=u("QuickNav"),f=u("fa");return l(),p(A,null,[h(s,{selected:"Invite"}),c("section",M,[i.acceptInput?(l(),p("div",F,[t[3]||(t[3]=c("p",null,"That invitation did not work.",-1)),t[4]||(t[4]=c("p",{class:"mt-2"}," Go back to your invite message and copy the entire text, then paste it here. ",-1)),t[5]||(t[5]=c("p",{class:"mt-2"}," If the link looks correct, try Chrome. (For example, iOS may have cut off the invite data, or it may have shown a preview that stole your invite.) If it still complains, you may need the person who invited you to send a new one. ",-1)),$(c("textarea",{"onUpdate:modelValue":t[0]||(t[0]=m=>i.inputJwt=m),placeholder:"Paste invitation...",class:"mt-4 border-2 border-gray-300 p-2 rounded",cols:"30",onInput:t[1]||(t[1]=()=>i.checkInvite(i.inputJwt))},null,544),[[C,i.inputJwt]]),t[6]||(t[6]=c("br",null,null,-1)),c("button",{onClick:t[2]||(t[2]=()=>i.processInvite(i.inputJwt,!0)),class:"ml-2 p-2 bg-blue-500 text-white rounded"}," Submit ")])):d("",!0),i.checkingInvite?(l(),p("div",Q,[h(f,{icon:"spinner",class:"fa-spin-pulse"}),t[7]||(t[7]=D(" Loading… "))])):d("",!0)])],64)}const z=V(v,[["render",B]]);export{z as default}; diff --git a/dist-electron/assets/InviteOneView-Czbsn5gd.js b/dist-electron/assets/InviteOneView-Czbsn5gd.js new file mode 100644 index 0000000..d4b0303 --- /dev/null +++ b/dist-electron/assets/InviteOneView-Czbsn5gd.js @@ -0,0 +1 @@ +var V=Object.defineProperty;var j=(s,t,e)=>t in s?V(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var d=(s,t,e)=>j(s,typeof t!="symbol"?t+"":t,e);import{C as _,V as T,_ as O,x as c,h as p,j as o,k as g,t as v,m as D,s as A,l as I,e as w,f as P,a as b,A as B,G as M,g as m,i as h,F as N,z as L,p as Y}from"./index-BLqts8WY.js";import{u as S}from"./index-CsfPLOYu.js";import{C as F}from"./ContactNameDialog-CYaRfHTt.js";import{Q as U}from"./QuickNav-DgCyvgDx.js";import{T as W}from"./TopMessage-BE0GBIgW.js";import{g as x,aH as G}from"./index-MyY_xqVN.js";var Q=Object.defineProperty,H=Object.getOwnPropertyDescriptor,J=(s,t,e,r)=>{for(var i=r>1?void 0:r?H(t,e):t,n=s.length-1,l;n>=0;n--)(l=s[n])&&(i=(r?l(t,e,i):l(i))||i);return r&&i&&Q(t,e,i),i};let k=class extends T{constructor(){super(...arguments);d(this,"$notify");d(this,"callback",()=>{});d(this,"inviteIdentifier","");d(this,"text","");d(this,"visible",!1);d(this,"expiresAt",new Date(Date.now()+1e3*60*60*24*7).toISOString().substring(0,10))}async open(e,r){this.callback=r,this.inviteIdentifier=e,this.visible=!0}async onClickSaveChanges(){this.expiresAt?(this.callback(this.text,this.expiresAt),this.visible=!1):this.$notify({group:"alert",type:"warning",title:"Needs Expiration",text:"You must select an expiration date."},5e3)}onClickCancel(){this.visible=!1}};k=J([_],k);const z={key:0,class:"dialog-overlay"},q={class:"dialog"},K={class:"mt-8"},X={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Z(s,t,e,r,i,n){return s.visible?(c(),p("div",z,[o("div",q,[t[4]||(t[4]=o("h1",{class:"text-xl font-bold text-center mb-4"},"Invitation & Notes",-1)),g(" These are optional notes for your use; they are comments to help you recall who it is when they accept it. These notes are sent to the server. If you want to store your own way, the invitation ID is: "+v(s.inviteIdentifier)+" ",1),D(o("input",{type:"text",placeholder:"Notes",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":t[0]||(t[0]=l=>s.text=l)},null,512),[[A,s.text]]),t[5]||(t[5]=g(" Expiration ")),D(o("input",{type:"date",class:"block rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":t[1]||(t[1]=l=>s.expiresAt=l)},null,512),[[A,s.expiresAt]]),o("div",K,[o("div",X,[o("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[2]||(t[2]=l=>s.onClickSaveChanges())}," Save "),o("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[3]||(t[3]=l=>s.onClickCancel())}," Cancel ")])])])])):I("",!0)}const ee=O(k,[["render",Z]]);var te=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ie=(s,t,e,r)=>{for(var i=r>1?void 0:r?se(t,e):t,n=s.length-1,l;n>=0;n--)(l=s[n])&&(i=(r?l(t,e,i):l(i))||i);return r&&i&&te(t,e,i),i};let $=class extends T{constructor(){super(...arguments);d(this,"$notify");d(this,"invites",[]);d(this,"activeDid","");d(this,"apiServer","");d(this,"contactsRedeemed",{});d(this,"isRegistered",!1);d(this,"showAppleWarning",!1)}async mounted(){try{await w.open();const e=await P();this.activeDid=e.activeDid||"",this.apiServer=e.apiServer||"",this.isRegistered=!!e.isRegistered;const r=await x(this.activeDid),i=await b.get(this.apiServer+"/api/userUtil/invite",{headers:r});this.invites=i.data.data;const n=await w.contacts.toArray();for(const l of this.invites){const f=n.find(u=>u.did===l.redeemedBy);f&&l.redeemedBy&&(this.contactsRedeemed[l.redeemedBy]=f)}}catch(e){console.error("Error fetching invites:",e),this.$notify({group:"alert",type:"danger",title:"Load Error",text:"Got an error loading your invites."},5e3)}}getTruncatedInviteId(e){return e.length<=9?e:`${e.slice(0,6)}...`}getTruncatedRedeemedBy(e){return e?this.contactsRedeemed[e]?this.contactsRedeemed[e].name||B.NO_CONTACT_NAME:e.length<=19?e:`${e.slice(0,13)}...${e.slice(-3)}`:""}inviteLink(e){return M+"/invite-one-accept/"+e}copyInviteAndNotify(e,r){S().copy(this.inviteLink(r)),this.$notify({group:"alert",type:"success",title:"Copied",text:"Your clipboard now contains the link for invite "+e},5e3)}showInvite(e,r,i){let n=`Your clipboard now contains the invite ID ${e}`;r?n+=" (This invite has been used.)":i&&(n+=" (This invite has expired.)"),S().copy(e),this.$notify({group:"alert",type:"success",title:"Copied",text:n},5e3)}lookForErrorAndNotify(e,r,i){console.error(r,"-",e);let n=i;e.response&&e.response.data&&e.response.data.error&&(e.response.data.error.message?n=e.response.data.error.message:n=e.response.data.error),this.$notify({group:"alert",type:"danger",title:r,text:n},5e3)}async createInvite(){const e=Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2);this.$refs.inviteDialog.open(e,async(r,i)=>{try{const n=await x(this.activeDid);if(!i)throw{response:{data:{error:"You must select an expiration date."}}};const l=(new Date(i).getTime()-Date.now())/1e3,f=await G(this.activeDid,void 0,e,l);await b.post(this.apiServer+"/api/userUtil/invite",{inviteJwt:f,notes:r},{headers:n});const u={inviteIdentifier:e,expiresAt:i,jwt:f,notes:r,redeemedAt:null,redeemedBy:null};this.invites=[u,...this.invites]}catch(n){this.lookForErrorAndNotify(n,"Error Creating Invite","Got an error creating your invite.")}})}addNewContact(e,r){this.$refs.contactNameDialog.open("To Whom Did You Send The Invite?","Their name will be added to your contact list.",i=>{const n={did:e,name:i,registered:!0};w.contacts.add(n),this.contactsRedeemed[e]=n,this.$notify({group:"alert",type:"success",title:"Contact Added",text:`${i} has been added to your contacts.`},3e3)},()=>{},r)}deleteInvite(e,r){this.$notify({group:"modal",type:"confirm",title:"Delete Invite?",text:`Are you sure you want to erase the invite for "${r}"? (There is no undo.)`,onYes:async()=>{const i=await x(this.activeDid);try{const n=await b.delete(this.apiServer+"/api/userUtil/invite/"+e,{headers:i});if(n.status!==204)throw n.data;this.invites=this.invites.filter(l=>l.inviteIdentifier!==e),this.$notify({group:"alert",type:"success",title:"Deleted",text:"Invite deleted."},3e3)}catch(n){this.lookForErrorAndNotify(n,"Error Deleting Invite","Got an error deleting your invite.")}}},-1)}};$=ie([_({components:{ContactNameDialog:F,QuickNav:U,TopMessage:W,InviteDialog:ee}})],$);const ne={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},oe={class:"text-lg text-center font-light relative px-7"},re={class:"ml-8 mt-4 list-outside list-disc w-5/6"},ae={key:1},le={key:1,class:"mt-6"},de={class:"min-w-full bg-white"},ce=["onClick","title"],pe=["onClick","title"],ue=["data-testId"],fe={class:"text-center"},he={class:"text-center"},ve={key:2,class:"mt-6 text-center"};function ge(s,t,e,r,i,n){const l=m("QuickNav"),f=m("TopMessage"),u=m("fa"),R=m("InviteDialog"),E=m("ContactNameDialog");return c(),p(N,null,[h(l,{selected:"Invite"}),h(f),o("section",ne,[o("div",oe,[o("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=a=>s.$router.back())},[h(u,{icon:"chevron-left",class:"fa-fw"})])]),t[7]||(t[7]=o("h1",{class:"text-4xl text-center font-light"},"Invitations",-1)),o("ul",re,[o("li",null,[t[3]||(t[3]=g(" Note when sending ")),s.showAppleWarning?(c(),p("span",ae," to Apple users: their links often fail because their device cuts off part of the link. You might need to send it to them some other way, like in an email. ")):(c(),p("span",{key:0,class:"text-blue-500 cursor-pointer",onClick:t[1]||(t[1]=a=>s.showAppleWarning=!s.showAppleWarning)}," to Apple users... "))])]),s.isRegistered?(c(),p("button",{key:0,class:"fixed right-6 top-12 text-center text-4xl leading-none bg-green-600 text-white w-14 py-2.5 rounded-full",onClick:t[2]||(t[2]=a=>s.createInvite())},[h(u,{icon:"plus",class:"fa-fw"})])):I("",!0),h(R,{ref:"inviteDialog"},null,512),s.invites.length?(c(),p("div",le,[o("table",de,[t[6]||(t[6]=o("thead",null,[o("tr",null,[o("th",{class:"py-2"},[g(" ID "),o("br"),g(" (click for link) ")]),o("th",{class:"py-2"},"Notes"),o("th",{class:"py-2"},"Expires At"),o("th",{class:"py-2"},"Redeemed")])],-1)),o("tbody",null,[(c(!0),p(N,null,L(s.invites,a=>{var C;return c(),p("tr",{key:a.inviteIdentifier,class:"border-t py-2"},[o("td",null,[!a.redeemedAt&&a.expiresAt>new Date().toISOString()?(c(),p("span",{key:0,onClick:y=>s.copyInviteAndNotify(a.inviteIdentifier,a.jwt),class:"text-center text-blue-500 cursor-pointer",title:s.inviteLink(a.jwt)},v(s.getTruncatedInviteId(a.inviteIdentifier)),9,ce)):(c(),p("span",{key:1,onClick:y=>s.showInvite(a.inviteIdentifier,!!a.redeemedAt,a.expiresAts.addNewContact(a.redeemedBy,a.notes)},null,8,["onClick"])):I("",!0)]),o("td",null,[h(u,{icon:"trash-can",class:"text-red-600 text-xl ml-2 mr-2 cursor-pointer",onClick:y=>s.deleteInvite(a.inviteIdentifier,a.notes)},null,8,["onClick"])])])}),128))])]),h(E,{ref:"contactNameDialog"},null,512)])):(c(),p("p",ve,"No invites found."))])],64)}const De=O($,[["render",ge]]);export{De as default}; diff --git a/dist-electron/assets/NewActivityView-CdcfSJ3P.js b/dist-electron/assets/NewActivityView-CdcfSJ3P.js new file mode 100644 index 0000000..70b3606 --- /dev/null +++ b/dist-electron/assets/NewActivityView-CdcfSJ3P.js @@ -0,0 +1 @@ +var A=Object.defineProperty;var I=(e,t,r)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var a=(e,t,r)=>I(e,typeof t!="symbol"?t+"":t,r);import{V as P,f as b,e as x,u as h,C,_ as $,g as k,h as d,i as w,j as o,k as c,t as l,p as y,l as u,w as T,F as U,z as g,x as f}from"./index-BLqts8WY.js";import{G as J}from"./GiftedDialog-CFmou4Be.js";import{Q as N}from"./QuickNav-DgCyvgDx.js";import{E as S}from"./EntityIcon-CF1RwQI5.js";import{h as M,A as R,e as _,ax as V,ay as L}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var B=Object.defineProperty,H=Object.getOwnPropertyDescriptor,E=(e,t,r,i)=>{for(var n=i>1?void 0:i?H(t,r):t,O=e.length-1,p;O>=0;O--)(p=e[O])&&(n=(i?p(t,r,n):p(n))||n);return i&&n&&B(t,r,n),n};let j=class extends P{constructor(){super(...arguments);a(this,"$notify");a(this,"activeDid","");a(this,"allContacts",[]);a(this,"allMyDids",[]);a(this,"apiServer","");a(this,"lastAckedOfferToUserJwtId","");a(this,"lastAckedOfferToUserProjectsJwtId","");a(this,"newOffersToUser",[]);a(this,"newOffersToUserHitLimit",!1);a(this,"newOffersToUserProjects",[]);a(this,"newOffersToUserProjectsHitLimit",!1);a(this,"showOffersDetails",!1);a(this,"showOffersToUserProjectsDetails",!1);a(this,"didInfo",M);a(this,"displayAmount",R)}async created(){try{const r=await b();this.apiServer=r.apiServer||"",this.activeDid=r.activeDid||"",this.lastAckedOfferToUserJwtId=r.lastAckedOfferToUserJwtId||"",this.lastAckedOfferToUserProjectsJwtId=r.lastAckedOfferToUserProjectsJwtId||"",this.allContacts=await x.contacts.toArray(),this.allMyDids=await _();const i=await V(this.axios,this.apiServer,this.activeDid,this.lastAckedOfferToUserJwtId);this.newOffersToUser=i.data,this.newOffersToUserHitLimit=i.hitLimit;const n=await L(this.axios,this.apiServer,this.activeDid,this.lastAckedOfferToUserProjectsJwtId);this.newOffersToUserProjects=n.data,this.newOffersToUserProjectsHitLimit=n.hitLimit}catch(r){console.error("Error retrieving settings & contacts:",r),this.$notify({group:"alert",type:"danger",title:"Error",text:r.message||"There was an error retrieving your activity."},5e3)}}async expandOffersToUserAndMarkRead(){this.showOffersDetails=!this.showOffersDetails,this.showOffersDetails&&(await h(this.activeDid,{lastAckedOfferToUserJwtId:this.newOffersToUser[0].jwtId}),this.$notify({group:"alert",type:"info",title:"Marked as Read",text:"The offers are marked as viewed. Click in the list to keep them as new."},5e3))}async markOffersAsReadStartingWith(r){const i=this.newOffersToUser.findIndex(n=>n.jwtId===r);i!==-1&&in.jwtId===r);i!==-1&&ie.$router.back()),class:"fa-fw text-lg text-center px-2 py-1 absolute -left-2 -top-1"}),t[3]||(t[3]=c(" New Activity For You "))])]),o("div",Y,[o("div",null,[o("span",G,l(e.newOffersToUser.length)+l(e.newOffersToUserHitLimit?"+":""),1),o("span",z,"New Offer"+l(e.newOffersToUser.length===1?"":"s")+" To You",1),e.newOffersToUser.length>0?(f(),y(m,{key:0,icon:e.showOffersDetails?"chevron-down":"chevron-right",class:"cursor-pointer ml-4 mr-4 text-lg",onClick:t[1]||(t[1]=s=>e.expandOffersToUserAndMarkRead())},null,8,["icon"])):u("",!0)]),w(v,{to:"/recent-offers-to-user",class:"text-blue-500"},{default:T(()=>t[4]||(t[4]=[c(" See all ")])),_:1})]),e.showOffersDetails?(f(),d("div",q,[o("ul",K,[(f(!0),d(U,null,g(e.newOffersToUser,s=>(f(),d("li",{key:s.jwtId,class:"mt-4 relative group"},[o("span",null,l(e.didInfo(s.offeredByDid,e.activeDid,e.allMyDids,e.allContacts)),1),t[6]||(t[6]=c(" offered ")),s.objectDescription?(f(),d("span",X,l(s.objectDescription),1)):u("",!0),c(l(s.objectDescription&&s.amount?", and ":"")+" ",1),s.amount?(f(),d("span",Z,l(e.displayAmount(s.unit,s.amount)),1)):u("",!0),w(v,{to:{path:"/claim/"+encodeURIComponent(s.jwtId)},class:"text-blue-500"},{default:T(()=>[w(m,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})]),_:2},1032,["to"]),o("div",{onClick:D=>e.markOffersAsReadStartingWith(s.jwtId),class:"absolute left-0 w-full text-left text-gray-500 text-sm hidden group-hover:flex cursor-pointer items-center"},t[5]||(t[5]=[o("span",{class:"inline-block w-8 h-px bg-gray-500 mr-2"},null,-1),c(" Click to keep all above as new offers ")]),8,ee)]))),128))])])):u("",!0),o("div",te,[o("div",null,[o("span",se,l(e.newOffersToUserProjects.length)+l(e.newOffersToUserProjectsHitLimit?"+":""),1),o("span",re,"New Offer"+l(e.newOffersToUserProjects.length===1?"":"s")+" To Your Projects",1),e.newOffersToUserProjects.length>0?(f(),y(m,{key:0,icon:e.showOffersToUserProjectsDetails?"chevron-down":"chevron-right",class:"cursor-pointer ml-4 mr-4 text-lg",onClick:t[2]||(t[2]=s=>e.expandOffersToUserProjectsAndMarkRead())},null,8,["icon"])):u("",!0)]),w(v,{to:"/recent-offers-to-user-projects",class:"text-blue-500"},{default:T(()=>t[7]||(t[7]=[c(" See all ")])),_:1})]),e.showOffersToUserProjectsDetails?(f(),d("div",oe,[o("ul",ie,[(f(!0),d(U,null,g(e.newOffersToUserProjects,s=>(f(),d("li",{key:s.jwtId,class:"mt-4 relative group"},[o("span",null,l(e.didInfo(s.offeredByDid,e.activeDid,e.allMyDids,e.allContacts)),1),t[9]||(t[9]=c(" offered ")),s.objectDescription?(f(),d("span",ae,l(s.objectDescription),1)):u("",!0),c(l(s.objectDescription&&s.amount?", and ":"")+" ",1),s.amount?(f(),d("span",ne,l(e.displayAmount(s.unit,s.amount)),1)):u("",!0),t[10]||(t[10]=c(" to ")),o("span",null,l(s.planName),1),w(v,{to:{path:"/claim/"+encodeURIComponent(s.jwtId)},class:"text-blue-500"},{default:T(()=>[w(m,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})]),_:2},1032,["to"]),o("div",{onClick:D=>e.markOffersToUserProjectsAsReadStartingWith(s.jwtId),class:"absolute left-0 w-full text-left text-gray-500 text-sm hidden group-hover:flex cursor-pointer items-center"},t[8]||(t[8]=[o("span",{class:"inline-block w-8 h-px bg-gray-500 mr-2"},null,-1),c(" Click to keep all above as new offers ")]),8,le)]))),128))])])):u("",!0)])],64)}const ve=$(j,[["render",fe]]);export{ve as default}; diff --git a/dist-electron/assets/NewEditAccountView-C8sbyNXm.js b/dist-electron/assets/NewEditAccountView-C8sbyNXm.js new file mode 100644 index 0000000..0ea3ad5 --- /dev/null +++ b/dist-electron/assets/NewEditAccountView-C8sbyNXm.js @@ -0,0 +1 @@ +var p=Object.defineProperty;var u=(t,e,s)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var d=(t,e,s)=>u(t,typeof e!="symbol"?e+"":e,s);import{V as m,f as b,e as f,M as g,C as v,_ as x,g as _,h as w,j as n,i as C,k as N,m as h,s as $,x as k}from"./index-BLqts8WY.js";var y=Object.defineProperty,V=Object.getOwnPropertyDescriptor,E=(t,e,s,a)=>{for(var o=a>1?void 0:a?V(e,s):e,i=t.length-1,l;i>=0;i--)(l=t[i])&&(o=(a?l(e,s,o):l(o))||o);return a&&o&&y(e,s,o),o};let c=class extends m{constructor(){super(...arguments);d(this,"givenName","")}async created(){const s=await b();this.givenName=(s.firstName||"")+(s.lastName?` ${s.lastName}`:"")}async onClickSaveChanges(){await f.settings.update(g,{firstName:this.givenName,lastName:""}),this.$router.back()}onClickCancel(){this.$router.back()}};c=E([v({components:{}})],c);const S={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},A={id:"ViewBreadcrumb",class:"mb-8"},T={class:"text-lg text-center font-light relative px-7"},B={class:"mt-8"},O={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function P(t,e,s,a,o,i){const l=_("fa");return k(),w("section",S,[n("div",A,[n("h1",T,[n("button",{onClick:e[0]||(e[0]=r=>t.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[C(l,{icon:"chevron-left",class:"fa-fw"})]),e[4]||(e[4]=N(" Edit Identity "))])]),h(n("input",{type:"text",placeholder:"Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":e[1]||(e[1]=r=>t.givenName=r)},null,512),[[$,t.givenName]]),n("div",B,[n("div",O,[n("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[2]||(e[2]=r=>t.onClickSaveChanges())}," Save Changes "),n("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[3]||(e[3]=r=>t.onClickCancel())}," Cancel ")])])])}const I=x(c,[["render",P]]);export{I as default}; diff --git a/dist-electron/assets/NewEditProjectView-xpLbOAog.js b/dist-electron/assets/NewEditProjectView-xpLbOAog.js new file mode 100644 index 0000000..f3eeedd --- /dev/null +++ b/dist-electron/assets/NewEditProjectView-xpLbOAog.js @@ -0,0 +1 @@ +var Kr=Object.defineProperty;var Rr=(e,t,n)=>t in e?Kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var P=(e,t,n)=>Rr(e,typeof t!="symbol"?t+"":t,n);/* empty css */import{D as Tn}from"./datetime-BDQ5ptpc.js";import{G as qr,g as ue,I as Dr,aI as Pr,aJ as jr,r as Vr}from"./index-MyY_xqVN.js";import{V as _r,f as Un,b as zr,C as Fr,c as Mr,_ as Zr,g as _t,h as zt,i as Ht,j as O,k as ke,t as Oe,m as xt,s as Ft,l as de,o as Hn,w as Gr,q as Nn,F as Yr,x as Nt,p as Wr}from"./index-BLqts8WY.js";import{i as Jr,u as Xr,v as Qr}from"./vue-leaflet.es-D17g3l39.js";import{I as to}from"./ImageMethodDialog-B6b8zZ7c.js";import{Q as eo}from"./QuickNav-DgCyvgDx.js";import"./index-CsfPLOYu.js";import"./PhotoDialog-Dn3GjI9b.js";const Ke=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const un=e=>e instanceof Uint8Array,qt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),dt=(e,t)=>e<<32-t|e>>>t,no=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!no)throw new Error("Non little-endian hardware is not supported");const ro=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Zt(e){if(!un(e))throw new Error("Uint8Array expected");let t="";for(let n=0;nr+o.length,0));let n=0;return e.forEach(r=>{if(!un(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}let tr=class{clone(){return this._cloneInto()}};const io=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function so(e,t){if(t!==void 0&&(typeof t!="object"||!io(t)))throw new Error("Options should be object or undefined");return Object.assign(e,t)}function jt(e){const t=r=>e().update(ie(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function ao(e=32){if(Ke&&typeof Ke.getRandomValues=="function")return Ke.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Ge(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function co(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Lt(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function lo(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ge(e.outputLen),Ge(e.blockLen)}function fo(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function uo(e,t){Lt(e);const n=t.outputLen;if(e.lengtho?t.create().update(r).digest():r);for(let s=0;snew er(e,t).update(n).digest();se.create=(e,t)=>new er(e,t);function ho(e,t,n,r){ut.hash(e);const o=so({dkLen:32,asyncTick:10},r),{c:i,dkLen:s,asyncTick:a}=o;if(ut.number(i),ut.number(s),ut.number(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const c=ie(t),l=ie(n),d=new Uint8Array(s),f=se.create(e,c),b=f._cloneInto().update(l);return{c:i,dkLen:s,asyncTick:a,DK:d,PRF:f,PRFSalt:b}}function po(e,t,n,r,o){return e.destroy(),t.destroy(),r&&r.destroy(),o.fill(0),n}function go(e,t,n,r){const{c:o,dkLen:i,DK:s,PRF:a,PRFSalt:c}=ho(e,t,n,r);let l;const d=new Uint8Array(4),f=qt(d),b=new Uint8Array(a.outputLen);for(let g=1,y=0;y>o&i),a=Number(n&i),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}let dn=class extends tr{constructor(t,n,r,o){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=qt(this.buffer)}update(t){ut.exists(this);const{view:n,buffer:r,blockLen:o}=this;t=ie(t);const i=t.length;for(let s=0;so-s&&(this.process(r,0),s=0);for(let f=s;fd.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;fe&t^~e&n,yo=(e,t,n)=>e&t^e&n^t&n,mo=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Et=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vt=new Uint32Array(64);let nr=class extends dn{constructor(){super(64,32,8,!1),this.A=Et[0]|0,this.B=Et[1]|0,this.C=Et[2]|0,this.D=Et[3]|0,this.E=Et[4]|0,this.F=Et[5]|0,this.G=Et[6]|0,this.H=Et[7]|0}get(){const{A:t,B:n,C:r,D:o,E:i,F:s,G:a,H:c}=this;return[t,n,r,o,i,s,a,c]}set(t,n,r,o,i,s,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,n){for(let f=0;f<16;f++,n+=4)vt[f]=t.getUint32(n,!1);for(let f=16;f<64;f++){const b=vt[f-15],g=vt[f-2],y=dt(b,7)^dt(b,18)^b>>>3,u=dt(g,17)^dt(g,19)^g>>>10;vt[f]=u+vt[f-7]+y+vt[f-16]|0}let{A:r,B:o,C:i,D:s,E:a,F:c,G:l,H:d}=this;for(let f=0;f<64;f++){const b=dt(a,6)^dt(a,11)^dt(a,25),g=d+b+bo(a,c,l)+mo[f]+vt[f]|0,u=(dt(r,2)^dt(r,13)^dt(r,22))+yo(r,o,i)|0;d=l,l=c,c=a,a=s+g|0,s=i,i=o,o=r,r=g+u|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(r,o,i,s,a,c,l,d)}roundClean(){vt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};class xo extends nr{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const Ae=jt(()=>new nr);jt(()=>new xo);const he=BigInt(2**32-1),Ye=BigInt(32);function rr(e,t=!1){return t?{h:Number(e&he),l:Number(e>>Ye&he)}:{h:Number(e>>Ye&he)|0,l:Number(e&he)|0}}function Eo(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let o=0;oBigInt(e>>>0)<>>0),Bo=(e,t,n)=>e>>>n,Ao=(e,t,n)=>e<<32-n|t>>>n,So=(e,t,n)=>e>>>n|t<<32-n,Io=(e,t,n)=>e<<32-n|t>>>n,$o=(e,t,n)=>e<<64-n|t>>>n-32,To=(e,t,n)=>e>>>n-32|t<<64-n,Uo=(e,t)=>t,Ho=(e,t)=>e,No=(e,t,n)=>e<>>32-n,Lo=(e,t,n)=>t<>>32-n,Co=(e,t,n)=>t<>>64-n,ko=(e,t,n)=>e<>>64-n;function Oo(e,t,n,r){const o=(t>>>0)+(r>>>0);return{h:e+n+(o/2**32|0)|0,l:o|0}}const Ko=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Ro=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,qo=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Do=(e,t,n,r,o)=>t+n+r+o+(e/2**32|0)|0,Po=(e,t,n,r,o)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(o>>>0),jo=(e,t,n,r,o,i)=>t+n+r+o+i+(e/2**32|0)|0,L={fromBig:rr,split:Eo,toBig:vo,shrSH:Bo,shrSL:Ao,rotrSH:So,rotrSL:Io,rotrBH:$o,rotrBL:To,rotr32H:Uo,rotr32L:Ho,rotlSH:No,rotlSL:Lo,rotlBH:Co,rotlBL:ko,add:Oo,add3L:Ko,add3H:Ro,add4L:qo,add4H:Do,add5H:jo,add5L:Po},[Vo,_o]=L.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),Bt=new Uint32Array(80),At=new Uint32Array(80);class Se extends dn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:n,Bh:r,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:d,Fh:f,Fl:b,Gh:g,Gl:y,Hh:u,Hl:h}=this;return[t,n,r,o,i,s,a,c,l,d,f,b,g,y,u,h]}set(t,n,r,o,i,s,a,c,l,d,f,b,g,y,u,h){this.Ah=t|0,this.Al=n|0,this.Bh=r|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=d|0,this.Fh=f|0,this.Fl=b|0,this.Gh=g|0,this.Gl=y|0,this.Hh=u|0,this.Hl=h|0}process(t,n){for(let x=0;x<16;x++,n+=4)Bt[x]=t.getUint32(n),At[x]=t.getUint32(n+=4);for(let x=16;x<80;x++){const I=Bt[x-15]|0,B=At[x-15]|0,E=L.rotrSH(I,B,1)^L.rotrSH(I,B,8)^L.shrSH(I,B,7),A=L.rotrSL(I,B,1)^L.rotrSL(I,B,8)^L.shrSL(I,B,7),S=Bt[x-2]|0,C=At[x-2]|0,U=L.rotrSH(S,C,19)^L.rotrBH(S,C,61)^L.shrSH(S,C,6),T=L.rotrSL(S,C,19)^L.rotrBL(S,C,61)^L.shrSL(S,C,6),K=L.add4L(A,T,At[x-7],At[x-16]),R=L.add4H(K,E,U,Bt[x-7],Bt[x-16]);Bt[x]=R|0,At[x]=K|0}let{Ah:r,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:d,Eh:f,El:b,Fh:g,Fl:y,Gh:u,Gl:h,Hh:w,Hl:v}=this;for(let x=0;x<80;x++){const I=L.rotrSH(f,b,14)^L.rotrSH(f,b,18)^L.rotrBH(f,b,41),B=L.rotrSL(f,b,14)^L.rotrSL(f,b,18)^L.rotrBL(f,b,41),E=f&g^~f&u,A=b&y^~b&h,S=L.add5L(v,B,A,_o[x],At[x]),C=L.add5H(S,w,I,E,Vo[x],Bt[x]),U=S|0,T=L.rotrSH(r,o,28)^L.rotrBH(r,o,34)^L.rotrBH(r,o,39),K=L.rotrSL(r,o,28)^L.rotrBL(r,o,34)^L.rotrBL(r,o,39),R=r&i^r&a^i&a,z=o&s^o&c^s&c;w=u|0,v=h|0,u=g|0,h=y|0,g=f|0,y=b|0,{h:f,l:b}=L.add(l|0,d|0,C|0,U|0),l=a|0,d=c|0,a=i|0,c=s|0,i=r|0,s=o|0;const p=L.add3L(U,K,z);r=L.add3H(p,C,T,R),o=p|0}({h:r,l:o}=L.add(this.Ah|0,this.Al|0,r|0,o|0)),{h:i,l:s}=L.add(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=L.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:d}=L.add(this.Dh|0,this.Dl|0,l|0,d|0),{h:f,l:b}=L.add(this.Eh|0,this.El|0,f|0,b|0),{h:g,l:y}=L.add(this.Fh|0,this.Fl|0,g|0,y|0),{h:u,l:h}=L.add(this.Gh|0,this.Gl|0,u|0,h|0),{h:w,l:v}=L.add(this.Hh|0,this.Hl|0,w|0,v|0),this.set(r,o,i,s,a,c,l,d,f,b,g,y,u,h,w,v)}roundClean(){Bt.fill(0),At.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class zo extends Se{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class Fo extends Se{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class Mo extends Se{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}const We=jt(()=>new Se);jt(()=>new zo);jt(()=>new Fo);jt(()=>new Mo);/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Vt(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function gt(...e){const t=(o,i)=>s=>o(i(s)),n=Array.from(e).reverse().reduce((o,i)=>o?t(o,i.encode):i.encode,void 0),r=e.reduce((o,i)=>o?t(o,i.decode):i.decode,void 0);return{encode:n,decode:r}}function yt(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return t.map(n=>{if(Vt(n),n<0||n>=e.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${e.length})`);return e[n]})},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("alphabet.decode input should be array of strings");return t.map(n=>{if(typeof n!="string")throw new Error(`alphabet.decode: not string element=${n}`);const r=e.indexOf(n);if(r===-1)throw new Error(`Unknown letter: "${n}". Allowed: ${e}`);return r})}}}function mt(e=""){if(typeof e!="string")throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("join.encode input should be array of strings");for(let n of t)if(typeof n!="string")throw new Error(`join.encode: non-string input=${n}`);return t.join(e)},decode:t=>{if(typeof t!="string")throw new Error("join.decode input should be string");return t.split(e)}}}function Ie(e,t="="){if(Vt(e),typeof t!="string")throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let r of n)if(typeof r!="string")throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*e%8;)n.push(t);return n},decode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let o of n)if(typeof o!="string")throw new Error(`padding.decode: non-string input=${o}`);let r=n.length;if(r*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--)if(!((r-1)*e%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function or(e){if(typeof e!="function")throw new Error("normalize fn should be function");return{encode:t=>t,decode:t=>e(t)}}function Ln(e,t,n){if(t<2)throw new Error(`convertRadix: wrong from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(e))throw new Error("convertRadix: data should be array");if(!e.length)return[];let r=0;const o=[],i=Array.from(e);for(i.forEach(s=>{if(Vt(s),s<0||s>=t)throw new Error(`Wrong integer: ${s}`)});;){let s=0,a=!0;for(let c=r;ct?ir(t,e%t):e,ye=(e,t)=>e+(t-ir(e,t));function Je(e,t,n,r){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(ye(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${ye(t,n)}`);let o=0,i=0;const s=2**n-1,a=[];for(const c of e){if(Vt(c),c>=2**t)throw new Error(`convertRadix2: invalid data word=${c} from=${t}`);if(o=o<32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=n;i-=n)a.push((o>>i-n&s)>>>0);o&=2**i-1}if(o=o<=t)throw new Error("Excess padding");if(!r&&o)throw new Error(`Non-zero padding: ${o}`);return r&&i>0&&a.push(o>>>0),a}function Zo(e){return Vt(e),{encode:t=>{if(!(t instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return Ln(Array.from(t),2**8,e)},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(Ln(t,e,2**8))}}}function Tt(e,t=!1){if(Vt(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(ye(8,e)>32||ye(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return Je(Array.from(n),8,e,!t)},decode:n=>{if(!Array.isArray(n)||n.length&&typeof n[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(Je(n,e,8,t))}}}function Cn(e){if(typeof e!="function")throw new Error("unsafeWrapper fn should be function");return function(...t){try{return e.apply(null,t)}catch{}}}function Go(e,t){if(Vt(e),typeof t!="function")throw new Error("checksum fn should be function");return{encode(n){if(!(n instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const r=t(n).slice(0,e),o=new Uint8Array(n.length+e);return o.set(n),o.set(r,n.length),o},decode(n){if(!(n instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const r=n.slice(0,-e),o=t(r).slice(0,e),i=n.slice(-e);for(let s=0;se.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const Jo=gt(Tt(6),yt("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Ie(6),mt("")),Xo=gt(Tt(6),yt("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Ie(6),mt("")),hn=e=>gt(Zo(58),yt(e),mt("")),me=hn("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");hn("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");hn("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const kn=[0,2,3,5,6,7,9,10,11],Qo={encode(e){let t="";for(let n=0;ngt(Go(4,t=>e(e(t))),me),Xe=gt(yt("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),mt("")),On=[996825010,642813549,513874426,1027748829,705979059];function ne(e){const t=e>>25;let n=(e&33554431)<<5;for(let r=0;r>r&1)===1&&(n^=On[r]);return n}function Kn(e,t,n=1){const r=e.length;let o=1;for(let i=0;i126)throw new Error(`Invalid prefix (${e})`);o=ne(o)^s>>5}o=ne(o);for(let i=0;ib)throw new TypeError(`Length ${g} exceeds limit ${b}`);return d=d.toLowerCase(),`${d}1${Xe.encode(f)}${Kn(d,f,t)}`}function a(d,f=90){if(typeof d!="string")throw new Error(`bech32.decode input should be string, not ${typeof d}`);if(d.length<8||f!==!1&&d.length>f)throw new TypeError(`Wrong string length: ${d.length} (${d}). Expected (8..${f})`);const b=d.toLowerCase();if(d!==b&&d!==d.toUpperCase())throw new Error("String must be lowercase or uppercase");d=b;const g=d.lastIndexOf("1");if(g===0||g===-1)throw new Error('Letter "1" must be present between prefix and data only');const y=d.slice(0,g),u=d.slice(g+1);if(u.length<6)throw new Error("Data must be at least 6 characters long");const h=Xe.decode(u).slice(0,-6),w=Kn(y,h,t);if(!u.endsWith(w))throw new Error(`Invalid checksum in ${d}: expected "${w}"`);return{prefix:y,words:h}}const c=Cn(a);function l(d){const{prefix:f,words:b}=a(d,!1);return{prefix:f,words:b,bytes:r(b)}}return{encode:s,decode:a,decodeToBytes:l,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:i,toWords:o}}sr("bech32");sr("bech32m");const ei={encode:e=>new TextDecoder().decode(e),decode:e=>new TextEncoder().encode(e)},ni=gt(Tt(4),yt("0123456789abcdef"),mt(""),or(e=>{if(typeof e!="string"||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})),ri={utf8:ei,hex:ni,base16:Yo,base32:Wo,base64:Jo,base64url:Xo,base58:me,base58xmr:Qo};`${Object.keys(ri).join(", ")}`;function ar(e){if(typeof e!="string")throw new TypeError(`Invalid mnemonic type: ${typeof e}`);return e.normalize("NFKD")}function oi(e){const t=ar(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}const ii=e=>ar(`mnemonic${e}`);function si(e,t=""){return go(We,oi(e).nfkd,ii(t),{c:2048,dkLen:64})}const ai=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),cr=Uint8Array.from({length:16},(e,t)=>t),ci=cr.map(e=>(9*e+5)%16);let pn=[cr],gn=[ci];for(let e=0;e<4;e++)for(let t of[pn,gn])t.push(t[e].map(n=>ai[n]));const lr=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>new Uint8Array(e)),li=pn.map((e,t)=>e.map(n=>lr[t][n])),fi=gn.map((e,t)=>e.map(n=>lr[t][n])),ui=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),di=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),pe=(e,t)=>e<>>32-t;function Rn(e,t,n,r){return e===0?t^n^r:e===1?t&n|~t&r:e===2?(t|~n)^r:e===3?t&r|n&~r:t^(n|~r)}const ge=new Uint32Array(16);class hi extends dn{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:n,h2:r,h3:o,h4:i}=this;return[t,n,r,o,i]}set(t,n,r,o,i){this.h0=t|0,this.h1=n|0,this.h2=r|0,this.h3=o|0,this.h4=i|0}process(t,n){for(let g=0;g<16;g++,n+=4)ge[g]=t.getUint32(n,!0);let r=this.h0|0,o=r,i=this.h1|0,s=i,a=this.h2|0,c=a,l=this.h3|0,d=l,f=this.h4|0,b=f;for(let g=0;g<5;g++){const y=4-g,u=ui[g],h=di[g],w=pn[g],v=gn[g],x=li[g],I=fi[g];for(let B=0;B<16;B++){const E=pe(r+Rn(g,i,a,l)+ge[w[B]]+u,x[B])+f|0;r=f,f=l,l=pe(a,10)|0,a=i,i=E}for(let B=0;B<16;B++){const E=pe(o+Rn(y,s,c,d)+ge[v[B]]+h,I[B])+b|0;o=b,b=d,d=pe(c,10)|0,c=s,s=E}}this.set(this.h1+a+d|0,this.h2+l+b|0,this.h3+f+o|0,this.h4+r+s|0,this.h0+i+c|0)}roundClean(){ge.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const pi=jt(()=>new hi);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const fr=BigInt(0),$e=BigInt(1),gi=BigInt(2),Te=e=>e instanceof Uint8Array,wi=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Yt(e){if(!Te(e))throw new Error("Uint8Array expected");let t="";for(let n=0;nr+o.length,0));let n=0;return e.forEach(r=>{if(!Te(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}function yi(e,t){if(e.length!==t.length)return!1;for(let n=0;nfr;e>>=$e,t+=1);return t}function Ei(e,t){return e>>BigInt(t)&$e}const vi=(e,t,n)=>e|(n?$e:fr)<(gi<new Uint8Array(e),qn=e=>Uint8Array.from(e);function hr(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=Re(e),o=Re(e),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},a=(...f)=>n(o,r,...f),c=(f=Re())=>{o=a(qn([0]),f),r=a(),f.length!==0&&(o=a(qn([1]),f),r=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let f=0;const b=[];for(;f{s(),c(f);let g;for(;!(g=b(l()));)c();return s(),g}}const Bi={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function le(e,t,n={}){const r=(o,i,s)=>{const a=Bi[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);const c=e[o];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${i}`)};for(const[o,i]of Object.entries(t))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return e}const Ai=Object.freeze(Object.defineProperty({__proto__:null,bitGet:Ei,bitLen:xi,bitMask:yn,bitSet:vi,bytesToHex:Yt,bytesToNumberBE:Dt,bytesToNumberLE:bn,concatBytes:ae,createHmacDrbg:hr,ensureBytes:at,equalBytes:yi,hexToBytes:Wt,hexToNumber:wn,numberToBytesBE:Gt,numberToBytesLE:dr,numberToHexUnpadded:ur,numberToVarBytesBE:bi,utf8ToBytes:mi,validateObject:le},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const F=BigInt(0),V=BigInt(1),Ct=BigInt(2),Si=BigInt(3),Qe=BigInt(4),Dn=BigInt(5),Pn=BigInt(8);BigInt(9);BigInt(16);function Q(e,t){const n=e%t;return n>=F?n:t+n}function Ii(e,t,n){if(n<=F||t 0");if(n===V)return F;let r=V;for(;t>F;)t&V&&(r=r*e%n),e=e*e%n,t>>=V;return r}function it(e,t,n){let r=e;for(;t-- >F;)r*=r,r%=n;return r}function tn(e,t){if(e===F||t<=F)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=Q(e,t),r=t,o=F,i=V;for(;n!==F;){const a=r/n,c=r%n,l=o-i*a;r=n,n=c,o=i,i=l}if(r!==V)throw new Error("invert: does not exist");return Q(o,t)}function $i(e){const t=(e-V)/Ct;let n,r,o;for(n=e-V,r=0;n%Ct===F;n/=Ct,r++);for(o=Ct;o(r[o]="function",r),t);return le(e,n)}function Ni(e,t,n){if(n 0");if(n===F)return e.ONE;if(n===V)return t;let r=e.ONE,o=t;for(;n>F;)n&V&&(r=e.mul(r,o)),o=e.sqr(o),n>>=V;return r}function Li(e,t){const n=new Array(t.length),r=t.reduce((i,s,a)=>e.is0(s)?i:(n[a]=i,e.mul(i,s)),e.ONE),o=e.inv(r);return t.reduceRight((i,s,a)=>e.is0(s)?i:(n[a]=e.mul(i,n[a]),e.mul(i,s)),o),n}function mn(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Ci(e,t,n=!1,r={}){if(e<=F)throw new Error(`Expected Fp ORDER > 0, got ${e}`);const{nBitLength:o,nByteLength:i}=mn(e,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const s=Ti(e),a=Object.freeze({ORDER:e,BITS:o,BYTES:i,MASK:yn(o),ZERO:F,ONE:V,create:c=>Q(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return F<=c&&cc===F,isOdd:c=>(c&V)===V,neg:c=>Q(-c,e),eql:(c,l)=>c===l,sqr:c=>Q(c*c,e),add:(c,l)=>Q(c+l,e),sub:(c,l)=>Q(c-l,e),mul:(c,l)=>Q(c*l,e),pow:(c,l)=>Ni(a,c,l),div:(c,l)=>Q(c*tn(l,e),e),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>tn(c,e),sqrt:r.sqrt||(c=>s(a,c)),invertBatch:c=>Li(a,c),cmov:(c,l,d)=>d?l:c,toBytes:c=>n?dr(c,i):Gt(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return n?bn(c):Dt(c)}});return Object.freeze(a)}function ki(e,t,n=!1){e=at("privateHash",e);const r=e.length,o=mn(t).nByteLength+8;if(o<24||r1024)throw new Error(`hashToPrivateScalar: expected ${o}-1024 bytes of input, got ${r}`);const i=n?bn(e):Dt(e);return Q(i,t-V)+V}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Oi=BigInt(0),qe=BigInt(1);function Ki(e,t){const n=(o,i)=>{const s=i.negate();return o?s:i},r=o=>{const i=Math.ceil(t/o)+1,s=2**(o-1);return{windows:i,windowSize:s}};return{constTimeNegate:n,unsafeLadder(o,i){let s=e.ZERO,a=o;for(;i>Oi;)i&qe&&(s=s.add(a)),a=a.double(),i>>=qe;return s},precomputeWindow(o,i){const{windows:s,windowSize:a}=r(i),c=[];let l=o,d=l;for(let f=0;f>=g,h>c&&(h-=b,s+=qe);const w=u,v=u+Math.abs(h)-1,x=y%2!==0,I=h<0;h===0?d=d.add(n(x,i[w])):l=l.add(n(I,i[v]))}return{p:l,f:d}},wNAFCached(o,i,s,a){const c=o._WINDOW_SIZE||1;let l=i.get(o);return l||(l=this.precomputeWindow(o,c),c!==1&&i.set(o,a(l))),this.wNAF(c,l,s)}}}function pr(e){return Hi(e.Fp),le(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...mn(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ri(e){const t=pr(e);le(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:o}=t;if(n){if(!r.eql(o,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:qi,hexToBytes:Di}=Ai,Kt={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){const{Err:t}=Kt;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");const n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t("Invalid signature integer: wrong length");if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:qi(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=Kt,n=typeof e=="string"?Di(e):e;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new t("Invalid signature tag");if(n[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:o,l:i}=Kt._parseInt(n.subarray(2)),{d:s,l:a}=Kt._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(e){const t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,n=l=>{const d=l.toString(16);return d.length&1?`0${d}`:d},r=t(n(e.s)),o=t(n(e.r)),i=r.length/2,s=o.length/2,a=n(i),c=n(s);return`30${n(s+i+4)}02${c}${o}02${a}${r}`}},wt=BigInt(0),ct=BigInt(1);BigInt(2);const jn=BigInt(3);BigInt(4);function Pi(e){const t=Ri(e),{Fp:n}=t,r=t.toBytes||((y,u,h)=>{const w=u.toAffine();return ae(Uint8Array.from([4]),n.toBytes(w.x),n.toBytes(w.y))}),o=t.fromBytes||(y=>{const u=y.subarray(1),h=n.fromBytes(u.subarray(0,n.BYTES)),w=n.fromBytes(u.subarray(n.BYTES,2*n.BYTES));return{x:h,y:w}});function i(y){const{a:u,b:h}=t,w=n.sqr(y),v=n.mul(w,y);return n.add(n.add(v,n.mul(y,u)),h)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(y){return typeof y=="bigint"&&wtn.eql(x,n.ZERO);return v(h)&&v(w)?f.ZERO:new f(h,w,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(u){const h=n.invertBatch(u.map(w=>w.pz));return u.map((w,v)=>w.toAffine(h[v])).map(f.fromAffine)}static fromHex(u){const h=f.fromAffine(o(at("pointHex",u)));return h.assertValidity(),h}static fromPrivateKey(u){return f.BASE.multiply(c(u))}_setWindowSize(u){this._WINDOW_SIZE=u,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint)return;throw new Error("bad point: ZERO")}const{x:u,y:h}=this.toAffine();if(!n.isValid(u)||!n.isValid(h))throw new Error("bad point: x or y not FE");const w=n.sqr(h),v=i(u);if(!n.eql(w,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:u}=this.toAffine();if(n.isOdd)return!n.isOdd(u);throw new Error("Field doesn't support isOdd")}equals(u){d(u);const{px:h,py:w,pz:v}=this,{px:x,py:I,pz:B}=u,E=n.eql(n.mul(h,B),n.mul(x,v)),A=n.eql(n.mul(w,B),n.mul(I,v));return E&&A}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:u,b:h}=t,w=n.mul(h,jn),{px:v,py:x,pz:I}=this;let B=n.ZERO,E=n.ZERO,A=n.ZERO,S=n.mul(v,v),C=n.mul(x,x),U=n.mul(I,I),T=n.mul(v,x);return T=n.add(T,T),A=n.mul(v,I),A=n.add(A,A),B=n.mul(u,A),E=n.mul(w,U),E=n.add(B,E),B=n.sub(C,E),E=n.add(C,E),E=n.mul(B,E),B=n.mul(T,B),A=n.mul(w,A),U=n.mul(u,U),T=n.sub(S,U),T=n.mul(u,T),T=n.add(T,A),A=n.add(S,S),S=n.add(A,S),S=n.add(S,U),S=n.mul(S,T),E=n.add(E,S),U=n.mul(x,I),U=n.add(U,U),S=n.mul(U,T),B=n.sub(B,S),A=n.mul(U,C),A=n.add(A,A),A=n.add(A,A),new f(B,E,A)}add(u){d(u);const{px:h,py:w,pz:v}=this,{px:x,py:I,pz:B}=u;let E=n.ZERO,A=n.ZERO,S=n.ZERO;const C=t.a,U=n.mul(t.b,jn);let T=n.mul(h,x),K=n.mul(w,I),R=n.mul(v,B),z=n.add(h,w),p=n.add(x,I);z=n.mul(z,p),p=n.add(T,K),z=n.sub(z,p),p=n.add(h,v);let m=n.add(x,B);return p=n.mul(p,m),m=n.add(T,R),p=n.sub(p,m),m=n.add(w,v),E=n.add(I,B),m=n.mul(m,E),E=n.add(K,R),m=n.sub(m,E),S=n.mul(C,p),E=n.mul(U,R),S=n.add(E,S),E=n.sub(K,S),S=n.add(K,S),A=n.mul(E,S),K=n.add(T,T),K=n.add(K,T),R=n.mul(C,R),p=n.mul(U,p),K=n.add(K,R),R=n.sub(T,R),R=n.mul(C,R),p=n.add(p,R),T=n.mul(K,p),A=n.add(A,T),T=n.mul(m,p),E=n.mul(z,E),E=n.sub(E,T),T=n.mul(z,K),S=n.mul(m,S),S=n.add(S,T),new f(E,A,S)}subtract(u){return this.add(u.negate())}is0(){return this.equals(f.ZERO)}wNAF(u){return g.wNAFCached(this,l,u,h=>{const w=n.invertBatch(h.map(v=>v.pz));return h.map((v,x)=>v.toAffine(w[x])).map(f.fromAffine)})}multiplyUnsafe(u){const h=f.ZERO;if(u===wt)return h;if(a(u),u===ct)return this;const{endo:w}=t;if(!w)return g.unsafeLadder(this,u);let{k1neg:v,k1:x,k2neg:I,k2:B}=w.splitScalar(u),E=h,A=h,S=this;for(;x>wt||B>wt;)x&ct&&(E=E.add(S)),B&ct&&(A=A.add(S)),S=S.double(),x>>=ct,B>>=ct;return v&&(E=E.negate()),I&&(A=A.negate()),A=new f(n.mul(A.px,w.beta),A.py,A.pz),E.add(A)}multiply(u){a(u);let h=u,w,v;const{endo:x}=t;if(x){const{k1neg:I,k1:B,k2neg:E,k2:A}=x.splitScalar(h);let{p:S,f:C}=this.wNAF(B),{p:U,f:T}=this.wNAF(A);S=g.constTimeNegate(I,S),U=g.constTimeNegate(E,U),U=new f(n.mul(U.px,x.beta),U.py,U.pz),w=S.add(U),v=C.add(T)}else{const{p:I,f:B}=this.wNAF(h);w=I,v=B}return f.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(u,h,w){const v=f.BASE,x=(B,E)=>E===wt||E===ct||!B.equals(v)?B.multiplyUnsafe(E):B.multiply(E),I=x(this,h).add(x(u,w));return I.is0()?void 0:I}toAffine(u){const{px:h,py:w,pz:v}=this,x=this.is0();u==null&&(u=x?n.ONE:n.inv(v));const I=n.mul(h,u),B=n.mul(w,u),E=n.mul(v,u);if(x)return{x:n.ZERO,y:n.ZERO};if(!n.eql(E,n.ONE))throw new Error("invZ was invalid");return{x:I,y:B}}isTorsionFree(){const{h:u,isTorsionFree:h}=t;if(u===ct)return!0;if(h)return h(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:u,clearCofactor:h}=t;return u===ct?this:h?h(f,this):this.multiplyUnsafe(t.h)}toRawBytes(u=!0){return this.assertValidity(),r(f,this,u)}toHex(u=!0){return Yt(this.toRawBytes(u))}}f.BASE=new f(t.Gx,t.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const b=t.nBitLength,g=Ki(f,t.endo?Math.ceil(b/2):b);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function ji(e){const t=pr(e);return le(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Vi(e){const t=ji(e),{Fp:n,n:r}=t,o=n.BYTES+1,i=2*n.BYTES+1;function s(p){return wtYt(Gt(p,t.nByteLength));function y(p){const m=r>>ct;return p>m}function u(p){return y(p)?a(-p):p}const h=(p,m,$)=>Dt(p.slice(m,$));class w{constructor(m,$,N){this.r=m,this.s=$,this.recovery=N,this.assertValidity()}static fromCompact(m){const $=t.nByteLength;return m=at("compactSignature",m,$*2),new w(h(m,0,$),h(m,$,2*$))}static fromDER(m){const{r:$,s:N}=Kt.toSig(at("DER",m));return new w($,N)}assertValidity(){if(!b(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!b(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(m){return new w(this.r,this.s,m)}recoverPublicKey(m){const{r:$,s:N,recovery:H}=this,k=A(at("msgHash",m));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const q=H===2||H===3?$+t.n:$;if(q>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const D=H&1?"03":"02",Z=l.fromHex(D+g(q)),G=c(q),et=a(-k*G),ft=a(N*G),Y=l.BASE.multiplyAndAddUnsafe(Z,et,ft);if(!Y)throw new Error("point at infinify");return Y.assertValidity(),Y}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Wt(this.toDERHex())}toDERHex(){return Kt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Wt(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}const v={isValidPrivateKey(p){try{return d(p),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const p=t.randomBytes(n.BYTES+8),m=ki(p,r);return Gt(m,t.nByteLength)},precompute(p=8,m=l.BASE){return m._setWindowSize(p),m.multiply(BigInt(3)),m}};function x(p,m=!0){return l.fromPrivateKey(p).toRawBytes(m)}function I(p){const m=p instanceof Uint8Array,$=typeof p=="string",N=(m||$)&&p.length;return m?N===o||N===i:$?N===2*o||N===2*i:p instanceof l}function B(p,m,$=!0){if(I(p))throw new Error("first arg must be private key");if(!I(m))throw new Error("second arg must be public key");return l.fromHex(m).multiply(d(p)).toRawBytes($)}const E=t.bits2int||function(p){const m=Dt(p),$=p.length*8-t.nBitLength;return $>0?m>>BigInt($):m},A=t.bits2int_modN||function(p){return a(E(p))},S=yn(t.nBitLength);function C(p){if(typeof p!="bigint")throw new Error("bigint expected");if(!(wt<=p&&pX in $))throw new Error("sign() legacy options not supported");const{hash:N,randomBytes:H}=t;let{lowS:k,prehash:q,extraEntropy:D}=$;k==null&&(k=!0),p=at("msgHash",p),q&&(p=at("prehashed msgHash",N(p)));const Z=A(p),G=d(m),et=[C(G),C(Z)];if(D!=null){const X=D===!0?H(n.BYTES):D;et.push(at("extraEntropy",X,n.BYTES))}const ft=ae(...et),Y=Z;function Ut(X){const nt=E(X);if(!b(nt))return;const Qt=c(nt),rt=l.BASE.multiply(nt).toAffine(),j=a(rt.x);if(j===wt)return;const ot=a(Qt*a(Y+j*G));if(ot===wt)return;let te=(rt.x===j?0:2)|Number(rt.y&ct),ee=ot;return k&&y(ot)&&(ee=u(ot),te^=1),new w(j,ee,te)}return{seed:ft,k2sig:Ut}}const T={lowS:t.lowS,prehash:!1},K={lowS:t.lowS,prehash:!1};function R(p,m,$=T){const{seed:N,k2sig:H}=U(p,m,$),k=t;return hr(k.hash.outputLen,k.nByteLength,k.hmac)(N,H)}l.BASE._setWindowSize(8);function z(p,m,$,N=K){var rt;const H=p;if(m=at("msgHash",m),$=at("publicKey",$),"strict"in N)throw new Error("options.strict was renamed to lowS");const{lowS:k,prehash:q}=N;let D,Z;try{if(typeof H=="string"||H instanceof Uint8Array)try{D=w.fromDER(H)}catch(j){if(!(j instanceof Kt.Err))throw j;D=w.fromCompact(H)}else if(typeof H=="object"&&typeof H.r=="bigint"&&typeof H.s=="bigint"){const{r:j,s:ot}=H;D=new w(j,ot)}else throw new Error("PARSE");Z=l.fromHex($)}catch(j){if(j.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&D.hasHighS())return!1;q&&(m=t.hash(m));const{r:G,s:et}=D,ft=A(m),Y=c(et),Ut=a(ft*Y),X=a(G*Y),nt=(rt=l.BASE.multiplyAndAddUnsafe(Z,Ut,X))==null?void 0:rt.toAffine();return nt?a(nt.x)===G:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:B,sign:R,verify:z,ProjectivePoint:l,Signature:w,utils:v}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function _i(e){return{hash:e,hmac:(t,...n)=>se(e,t,oe(...n)),randomBytes:ao}}function zi(e,t){const n=r=>Vi({...e,..._i(r)});return Object.freeze({...n(t),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const gr=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Vn=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Fi=BigInt(1),en=BigInt(2),_n=(e,t)=>(e+t/en)/t;function Mi(e){const t=gr,n=BigInt(3),r=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,d=l*l*e%t,f=it(d,n,t)*d%t,b=it(f,n,t)*d%t,g=it(b,en,t)*l%t,y=it(g,o,t)*g%t,u=it(y,i,t)*y%t,h=it(u,a,t)*u%t,w=it(h,c,t)*h%t,v=it(w,a,t)*u%t,x=it(v,n,t)*d%t,I=it(x,s,t)*y%t,B=it(I,r,t)*l%t,E=it(B,en,t);if(!nn.eql(nn.sqr(E),e))throw new Error("Cannot find square root");return E}const nn=Ci(gr,void 0,void 0,{sqrt:Mi}),pt=zi({a:BigInt(0),b:BigInt(7),Fp:nn,n:Vn,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Vn,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Fi*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,s=BigInt("0x100000000000000000000000000000000"),a=_n(i*e,t),c=_n(-r*e,t);let l=Q(e-a*n-c*o,t),d=Q(-a*r-c*i,t);const f=l>s,b=d>s;if(f&&(l=t-l),b&&(d=t-d),l>s||d>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:l,k2neg:b,k2:d}}}},Ae);BigInt(0);pt.ProjectivePoint;const we=pt.ProjectivePoint,De=ti(Ae);function zn(e){return BigInt(`0x${Zt(e)}`)}function Zi(e){return oo(e.toString(16).padStart(64,"0"))}const Gi=Qn("Bitcoin seed"),Pe={private:76066276,public:76067358},je=2147483648,Yi=e=>pi(Ae(e)),Wi=e=>qt(e).getUint32(0,!1),be=e=>{if(!Number.isSafeInteger(e)||e<0||e>2**32-1)throw new Error(`Invalid number=${e}. Should be from 0 to 2 ** 32 - 1`);const t=new Uint8Array(4);return qt(t).setUint32(0,e,!1),t};class kt{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return Wi(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){const t=this.privateKey;if(!t)throw new Error("No private key");return De.encode(this.serialize(this.versions.private,oe(new Uint8Array([0]),t)))}get publicExtendedKey(){if(!this.pubKey)throw new Error("No public key");return De.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(t,n=Pe){if(Lt(t),8*t.length<128||8*t.length>512)throw new Error(`HDKey: wrong seed length=${t.length}. Should be between 128 and 512 bits; 256 bits is advised)`);const r=se(We,Gi,t);return new kt({versions:n,chainCode:r.slice(32),privateKey:r.slice(0,32)})}static fromExtendedKey(t,n=Pe){const r=De.decode(t),o=qt(r),i=o.getUint32(0,!1),s={versions:n,depth:r[4],parentFingerprint:o.getUint32(5,!1),index:o.getUint32(9,!1),chainCode:r.slice(13,45)},a=r.slice(45),c=a[0]===0;if(i!==n[c?"private":"public"])throw new Error("Version mismatch");return c?new kt({...s,privateKey:a.slice(1)}):new kt({...s,publicKey:a})}static fromJSON(t){return kt.fromExtendedKey(t.xpriv)}constructor(t){if(this.depth=0,this.index=0,this.chainCode=null,this.parentFingerprint=0,!t||typeof t!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=t.versions||Pe,this.depth=t.depth||0,this.chainCode=t.chainCode,this.index=t.index||0,this.parentFingerprint=t.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(t.publicKey&&t.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(t.privateKey){if(!pt.utils.isValidPrivateKey(t.privateKey))throw new Error("Invalid private key");this.privKey=typeof t.privateKey=="bigint"?t.privateKey:zn(t.privateKey),this.privKeyBytes=Zi(this.privKey),this.pubKey=pt.getPublicKey(t.privateKey,!0)}else if(t.publicKey)this.pubKey=we.fromHex(t.publicKey).toRawBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=Yi(this.pubKey)}derive(t){if(!/^[mM]'?/.test(t))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(t))return this;const n=t.replace(/^[mM]'?\//,"").split("/");let r=this;for(const o of n){const i=/^(\d+)('?)$/.exec(o);if(!i||i.length!==3)throw new Error(`Invalid child index: ${o}`);let s=+i[1];if(!Number.isSafeInteger(s)||s>=je)throw new Error("Invalid index");i[2]==="'"&&(s+=je),r=r.deriveChild(s)}return r}deriveChild(t){if(!this.pubKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=be(t);if(t>=je){const a=this.privateKey;if(!a)throw new Error("Could not derive hardened child key");n=oe(new Uint8Array([0]),a,n)}else n=oe(this.pubKey,n);const r=se(We,this.chainCode,n),o=zn(r.slice(0,32)),i=r.slice(32);if(!pt.utils.isValidPrivateKey(o))throw new Error("Tweak bigger than curve order");const s={versions:this.versions,chainCode:i,depth:this.depth+1,parentFingerprint:this.fingerprint,index:t};try{if(this.privateKey){const a=Q(this.privKey+o,pt.CURVE.n);if(!pt.utils.isValidPrivateKey(a))throw new Error("The tweak was out of range or the resulted private key is invalid");s.privateKey=a}else{const a=we.fromHex(this.pubKey).add(we.fromPrivateKey(o));if(a.equals(we.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");s.publicKey=a.toRawBytes(!0)}return new kt(s)}catch{return this.deriveChild(t+1)}}sign(t){if(!this.privateKey)throw new Error("No privateKey set!");return Lt(t,32),pt.sign(t,this.privKey).toCompactRawBytes()}verify(t,n){if(Lt(t,32),Lt(n,64),!this.publicKey)throw new Error("No publicKey set!");let r;try{r=pt.Signature.fromCompact(n)}catch{return!1}return pt.verify(r,t,this.publicKey)}wipePrivateData(){return this.privKey=void 0,this.privKeyBytes&&(this.privKeyBytes.fill(0),this.privKeyBytes=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(t,n){if(!this.chainCode)throw new Error("No chainCode set");return Lt(n,33),oe(be(t),new Uint8Array([this.depth]),be(this.parentFingerprint),be(this.index),this.chainCode,n)}}var Ji="m/44'/1237'";function Fn(e,t,n=0){const o=kt.fromMasterSeed(si(e,t)).derive(`${Ji}/${n}'/0/0`),i=Zt(o.publicKey.slice(1)),s=o.privateKey;if(!s||!i)throw new Error("could not derive key pair");return{privateKey:s,publicKey:i}}function Mn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function wr(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Xi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Mn(e.outputLen),Mn(e.blockLen)}function xe(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Qi(e,t){wr(e);const n=t.outputLen;if(e.lengthe instanceof Uint8Array,_e=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),ht=(e,t)=>e<<32-t|e>>>t,ts=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ts)throw new Error("Non little-endian hardware is not supported");function es(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function xn(e){if(typeof e=="string"&&(e=es(e)),!br(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function ns(...e){const t=new Uint8Array(e.reduce((r,o)=>r+o.length,0));let n=0;return e.forEach(r=>{if(!br(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}class yr{clone(){return this._cloneInto()}}function rs(e){const t=r=>e().update(xn(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function mr(e=32){if(Ve&&typeof Ve.getRandomValues=="function")return Ve.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function os(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const o=BigInt(32),i=BigInt(4294967295),s=Number(n>>o&i),a=Number(n&i),c=r?4:0,l=r?0:4;e.setUint32(t+c,s,r),e.setUint32(t+l,a,r)}class is extends yr{constructor(t,n,r,o){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=_e(this.buffer)}update(t){xe(this);const{view:n,buffer:r,blockLen:o}=this;t=xn(t);const i=t.length;for(let s=0;so-s&&(this.process(r,0),s=0);for(let f=s;fd.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;fe&t^~e&n,as=(e,t,n)=>e&t^e&n^t&n,cs=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),St=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),It=new Uint32Array(64);class ls extends is{constructor(){super(64,32,8,!1),this.A=St[0]|0,this.B=St[1]|0,this.C=St[2]|0,this.D=St[3]|0,this.E=St[4]|0,this.F=St[5]|0,this.G=St[6]|0,this.H=St[7]|0}get(){const{A:t,B:n,C:r,D:o,E:i,F:s,G:a,H:c}=this;return[t,n,r,o,i,s,a,c]}set(t,n,r,o,i,s,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,n){for(let f=0;f<16;f++,n+=4)It[f]=t.getUint32(n,!1);for(let f=16;f<64;f++){const b=It[f-15],g=It[f-2],y=ht(b,7)^ht(b,18)^b>>>3,u=ht(g,17)^ht(g,19)^g>>>10;It[f]=u+It[f-7]+y+It[f-16]|0}let{A:r,B:o,C:i,D:s,E:a,F:c,G:l,H:d}=this;for(let f=0;f<64;f++){const b=ht(a,6)^ht(a,11)^ht(a,25),g=d+b+ss(a,c,l)+cs[f]+It[f]|0,u=(ht(r,2)^ht(r,13)^ht(r,22))+as(r,o,i)|0;d=l,l=c,c=a,a=s+g|0,s=i,i=o,o=r,r=g+u|0}r=r+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(r,o,i,s,a,c,l,d)}roundClean(){It.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const rn=rs(()=>new ls);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const xr=BigInt(0),Ue=BigInt(1),fs=BigInt(2),He=e=>e instanceof Uint8Array,us=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Jt(e){if(!He(e))throw new Error("Uint8Array expected");let t="";for(let n=0;nr+o.length,0));let n=0;return e.forEach(r=>{if(!He(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}function hs(e,t){if(e.length!==t.length)return!1;for(let n=0;nxr;e>>=Ue,t+=1);return t}function ws(e,t){return e>>BigInt(t)&Ue}const bs=(e,t,n)=>e|(n?Ue:xr)<(fs<new Uint8Array(e),Zn=e=>Uint8Array.from(e);function vr(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=ze(e),o=ze(e),i=0;const s=()=>{r.fill(1),o.fill(0),i=0},a=(...f)=>n(o,r,...f),c=(f=ze())=>{o=a(Zn([0]),f),r=a(),f.length!==0&&(o=a(Zn([1]),f),r=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let f=0;const b=[];for(;f{s(),c(f);let g;for(;!(g=b(l()));)c();return s(),g}}const ys={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function fe(e,t,n={}){const r=(o,i,s)=>{const a=ys[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);const c=e[o];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${i}`)};for(const[o,i]of Object.entries(t))r(o,i,!1);for(const[o,i]of Object.entries(n))r(o,i,!0);return e}const ms=Object.freeze(Object.defineProperty({__proto__:null,bitGet:ws,bitLen:gs,bitMask:An,bitSet:bs,bytesToHex:Jt,bytesToNumberBE:tt,bytesToNumberLE:vn,concatBytes:Pt,createHmacDrbg:vr,ensureBytes:J,equalBytes:hs,hexToBytes:Xt,hexToNumber:En,numberToBytesBE:$t,numberToBytesLE:Bn,numberToHexUnpadded:Er,numberToVarBytesBE:ds,utf8ToBytes:ps,validateObject:fe},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const M=BigInt(0),_=BigInt(1),Ot=BigInt(2),xs=BigInt(3),on=BigInt(4),Gn=BigInt(5),Yn=BigInt(8);BigInt(9);BigInt(16);function W(e,t){const n=e%t;return n>=M?n:t+n}function Es(e,t,n){if(n<=M||t 0");if(n===_)return M;let r=_;for(;t>M;)t&_&&(r=r*e%n),e=e*e%n,t>>=_;return r}function st(e,t,n){let r=e;for(;t-- >M;)r*=r,r%=n;return r}function sn(e,t){if(e===M||t<=M)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=W(e,t),r=t,o=M,i=_;for(;n!==M;){const a=r/n,c=r%n,l=o-i*a;r=n,n=c,o=i,i=l}if(r!==_)throw new Error("invert: does not exist");return W(o,t)}function vs(e){const t=(e-_)/Ot;let n,r,o;for(n=e-_,r=0;n%Ot===M;n/=Ot,r++);for(o=Ot;o(r[o]="function",r),t);return fe(e,n)}function Is(e,t,n){if(n 0");if(n===M)return e.ONE;if(n===_)return t;let r=e.ONE,o=t;for(;n>M;)n&_&&(r=e.mul(r,o)),o=e.sqr(o),n>>=_;return r}function $s(e,t){const n=new Array(t.length),r=t.reduce((i,s,a)=>e.is0(s)?i:(n[a]=i,e.mul(i,s)),e.ONE),o=e.inv(r);return t.reduceRight((i,s,a)=>e.is0(s)?i:(n[a]=e.mul(i,n[a]),e.mul(i,s)),o),n}function Br(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Ts(e,t,n=!1,r={}){if(e<=M)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:o,nByteLength:i}=Br(e,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const s=Bs(e),a=Object.freeze({ORDER:e,BITS:o,BYTES:i,MASK:An(o),ZERO:M,ONE:_,create:c=>W(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return M<=c&&cc===M,isOdd:c=>(c&_)===_,neg:c=>W(-c,e),eql:(c,l)=>c===l,sqr:c=>W(c*c,e),add:(c,l)=>W(c+l,e),sub:(c,l)=>W(c-l,e),mul:(c,l)=>W(c*l,e),pow:(c,l)=>Is(a,c,l),div:(c,l)=>W(c*sn(l,e),e),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>sn(c,e),sqrt:r.sqrt||(c=>s(a,c)),invertBatch:c=>$s(a,c),cmov:(c,l,d)=>d?l:c,toBytes:c=>n?Bn(c,i):$t(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return n?vn(c):tt(c)}});return Object.freeze(a)}function Ar(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Sr(e){const t=Ar(e);return t+Math.ceil(t/2)}function Us(e,t,n=!1){const r=e.length,o=Ar(t),i=Sr(t);if(r<16||r1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);const s=n?tt(e):vn(e),a=W(s,t-_)+_;return n?Bn(a,o):$t(a,o)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Hs=BigInt(0),Fe=BigInt(1);function Ns(e,t){const n=(o,i)=>{const s=i.negate();return o?s:i},r=o=>{const i=Math.ceil(t/o)+1,s=2**(o-1);return{windows:i,windowSize:s}};return{constTimeNegate:n,unsafeLadder(o,i){let s=e.ZERO,a=o;for(;i>Hs;)i&Fe&&(s=s.add(a)),a=a.double(),i>>=Fe;return s},precomputeWindow(o,i){const{windows:s,windowSize:a}=r(i),c=[];let l=o,d=l;for(let f=0;f>=g,h>c&&(h-=b,s+=Fe);const w=u,v=u+Math.abs(h)-1,x=y%2!==0,I=h<0;h===0?d=d.add(n(x,i[w])):l=l.add(n(I,i[v]))}return{p:l,f:d}},wNAFCached(o,i,s,a){const c=o._WINDOW_SIZE||1;let l=i.get(o);return l||(l=this.precomputeWindow(o,c),c!==1&&i.set(o,a(l))),this.wNAF(c,l,s)}}}function Ir(e){return Ss(e.Fp),fe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Br(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ls(e){const t=Ir(e);fe(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:o}=t;if(n){if(!r.eql(o,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:Cs,hexToBytes:ks}=ms,Rt={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){const{Err:t}=Rt;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");const n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t("Invalid signature integer: wrong length");if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Cs(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=Rt,n=typeof e=="string"?ks(e):e;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new t("Invalid signature tag");if(n[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:o,l:i}=Rt._parseInt(n.subarray(2)),{d:s,l:a}=Rt._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(e){const t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,n=l=>{const d=l.toString(16);return d.length&1?`0${d}`:d},r=t(n(e.s)),o=t(n(e.r)),i=r.length/2,s=o.length/2,a=n(i),c=n(s);return`30${n(s+i+4)}02${c}${o}02${a}${r}`}},bt=BigInt(0),lt=BigInt(1);BigInt(2);const Wn=BigInt(3);BigInt(4);function Os(e){const t=Ls(e),{Fp:n}=t,r=t.toBytes||((y,u,h)=>{const w=u.toAffine();return Pt(Uint8Array.from([4]),n.toBytes(w.x),n.toBytes(w.y))}),o=t.fromBytes||(y=>{const u=y.subarray(1),h=n.fromBytes(u.subarray(0,n.BYTES)),w=n.fromBytes(u.subarray(n.BYTES,2*n.BYTES));return{x:h,y:w}});function i(y){const{a:u,b:h}=t,w=n.sqr(y),v=n.mul(w,y);return n.add(n.add(v,n.mul(y,u)),h)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(y){return typeof y=="bigint"&&btn.eql(x,n.ZERO);return v(h)&&v(w)?f.ZERO:new f(h,w,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(u){const h=n.invertBatch(u.map(w=>w.pz));return u.map((w,v)=>w.toAffine(h[v])).map(f.fromAffine)}static fromHex(u){const h=f.fromAffine(o(J("pointHex",u)));return h.assertValidity(),h}static fromPrivateKey(u){return f.BASE.multiply(c(u))}_setWindowSize(u){this._WINDOW_SIZE=u,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:u,y:h}=this.toAffine();if(!n.isValid(u)||!n.isValid(h))throw new Error("bad point: x or y not FE");const w=n.sqr(h),v=i(u);if(!n.eql(w,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:u}=this.toAffine();if(n.isOdd)return!n.isOdd(u);throw new Error("Field doesn't support isOdd")}equals(u){d(u);const{px:h,py:w,pz:v}=this,{px:x,py:I,pz:B}=u,E=n.eql(n.mul(h,B),n.mul(x,v)),A=n.eql(n.mul(w,B),n.mul(I,v));return E&&A}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:u,b:h}=t,w=n.mul(h,Wn),{px:v,py:x,pz:I}=this;let B=n.ZERO,E=n.ZERO,A=n.ZERO,S=n.mul(v,v),C=n.mul(x,x),U=n.mul(I,I),T=n.mul(v,x);return T=n.add(T,T),A=n.mul(v,I),A=n.add(A,A),B=n.mul(u,A),E=n.mul(w,U),E=n.add(B,E),B=n.sub(C,E),E=n.add(C,E),E=n.mul(B,E),B=n.mul(T,B),A=n.mul(w,A),U=n.mul(u,U),T=n.sub(S,U),T=n.mul(u,T),T=n.add(T,A),A=n.add(S,S),S=n.add(A,S),S=n.add(S,U),S=n.mul(S,T),E=n.add(E,S),U=n.mul(x,I),U=n.add(U,U),S=n.mul(U,T),B=n.sub(B,S),A=n.mul(U,C),A=n.add(A,A),A=n.add(A,A),new f(B,E,A)}add(u){d(u);const{px:h,py:w,pz:v}=this,{px:x,py:I,pz:B}=u;let E=n.ZERO,A=n.ZERO,S=n.ZERO;const C=t.a,U=n.mul(t.b,Wn);let T=n.mul(h,x),K=n.mul(w,I),R=n.mul(v,B),z=n.add(h,w),p=n.add(x,I);z=n.mul(z,p),p=n.add(T,K),z=n.sub(z,p),p=n.add(h,v);let m=n.add(x,B);return p=n.mul(p,m),m=n.add(T,R),p=n.sub(p,m),m=n.add(w,v),E=n.add(I,B),m=n.mul(m,E),E=n.add(K,R),m=n.sub(m,E),S=n.mul(C,p),E=n.mul(U,R),S=n.add(E,S),E=n.sub(K,S),S=n.add(K,S),A=n.mul(E,S),K=n.add(T,T),K=n.add(K,T),R=n.mul(C,R),p=n.mul(U,p),K=n.add(K,R),R=n.sub(T,R),R=n.mul(C,R),p=n.add(p,R),T=n.mul(K,p),A=n.add(A,T),T=n.mul(m,p),E=n.mul(z,E),E=n.sub(E,T),T=n.mul(z,K),S=n.mul(m,S),S=n.add(S,T),new f(E,A,S)}subtract(u){return this.add(u.negate())}is0(){return this.equals(f.ZERO)}wNAF(u){return g.wNAFCached(this,l,u,h=>{const w=n.invertBatch(h.map(v=>v.pz));return h.map((v,x)=>v.toAffine(w[x])).map(f.fromAffine)})}multiplyUnsafe(u){const h=f.ZERO;if(u===bt)return h;if(a(u),u===lt)return this;const{endo:w}=t;if(!w)return g.unsafeLadder(this,u);let{k1neg:v,k1:x,k2neg:I,k2:B}=w.splitScalar(u),E=h,A=h,S=this;for(;x>bt||B>bt;)x<&&(E=E.add(S)),B<&&(A=A.add(S)),S=S.double(),x>>=lt,B>>=lt;return v&&(E=E.negate()),I&&(A=A.negate()),A=new f(n.mul(A.px,w.beta),A.py,A.pz),E.add(A)}multiply(u){a(u);let h=u,w,v;const{endo:x}=t;if(x){const{k1neg:I,k1:B,k2neg:E,k2:A}=x.splitScalar(h);let{p:S,f:C}=this.wNAF(B),{p:U,f:T}=this.wNAF(A);S=g.constTimeNegate(I,S),U=g.constTimeNegate(E,U),U=new f(n.mul(U.px,x.beta),U.py,U.pz),w=S.add(U),v=C.add(T)}else{const{p:I,f:B}=this.wNAF(h);w=I,v=B}return f.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(u,h,w){const v=f.BASE,x=(B,E)=>E===bt||E===lt||!B.equals(v)?B.multiplyUnsafe(E):B.multiply(E),I=x(this,h).add(x(u,w));return I.is0()?void 0:I}toAffine(u){const{px:h,py:w,pz:v}=this,x=this.is0();u==null&&(u=x?n.ONE:n.inv(v));const I=n.mul(h,u),B=n.mul(w,u),E=n.mul(v,u);if(x)return{x:n.ZERO,y:n.ZERO};if(!n.eql(E,n.ONE))throw new Error("invZ was invalid");return{x:I,y:B}}isTorsionFree(){const{h:u,isTorsionFree:h}=t;if(u===lt)return!0;if(h)return h(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:u,clearCofactor:h}=t;return u===lt?this:h?h(f,this):this.multiplyUnsafe(t.h)}toRawBytes(u=!0){return this.assertValidity(),r(f,this,u)}toHex(u=!0){return Jt(this.toRawBytes(u))}}f.BASE=new f(t.Gx,t.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const b=t.nBitLength,g=Ns(f,t.endo?Math.ceil(b/2):b);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function Ks(e){const t=Ir(e);return fe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Rs(e){const t=Ks(e),{Fp:n,n:r}=t,o=n.BYTES+1,i=2*n.BYTES+1;function s(p){return btJt($t(p,t.nByteLength));function y(p){const m=r>>lt;return p>m}function u(p){return y(p)?a(-p):p}const h=(p,m,$)=>tt(p.slice(m,$));class w{constructor(m,$,N){this.r=m,this.s=$,this.recovery=N,this.assertValidity()}static fromCompact(m){const $=t.nByteLength;return m=J("compactSignature",m,$*2),new w(h(m,0,$),h(m,$,2*$))}static fromDER(m){const{r:$,s:N}=Rt.toSig(J("DER",m));return new w($,N)}assertValidity(){if(!b(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!b(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(m){return new w(this.r,this.s,m)}recoverPublicKey(m){const{r:$,s:N,recovery:H}=this,k=A(J("msgHash",m));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const q=H===2||H===3?$+t.n:$;if(q>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const D=H&1?"03":"02",Z=l.fromHex(D+g(q)),G=c(q),et=a(-k*G),ft=a(N*G),Y=l.BASE.multiplyAndAddUnsafe(Z,et,ft);if(!Y)throw new Error("point at infinify");return Y.assertValidity(),Y}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Xt(this.toDERHex())}toDERHex(){return Rt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Xt(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}const v={isValidPrivateKey(p){try{return d(p),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const p=Sr(t.n);return Us(t.randomBytes(p),t.n)},precompute(p=8,m=l.BASE){return m._setWindowSize(p),m.multiply(BigInt(3)),m}};function x(p,m=!0){return l.fromPrivateKey(p).toRawBytes(m)}function I(p){const m=p instanceof Uint8Array,$=typeof p=="string",N=(m||$)&&p.length;return m?N===o||N===i:$?N===2*o||N===2*i:p instanceof l}function B(p,m,$=!0){if(I(p))throw new Error("first arg must be private key");if(!I(m))throw new Error("second arg must be public key");return l.fromHex(m).multiply(d(p)).toRawBytes($)}const E=t.bits2int||function(p){const m=tt(p),$=p.length*8-t.nBitLength;return $>0?m>>BigInt($):m},A=t.bits2int_modN||function(p){return a(E(p))},S=An(t.nBitLength);function C(p){if(typeof p!="bigint")throw new Error("bigint expected");if(!(bt<=p&&pX in $))throw new Error("sign() legacy options not supported");const{hash:N,randomBytes:H}=t;let{lowS:k,prehash:q,extraEntropy:D}=$;k==null&&(k=!0),p=J("msgHash",p),q&&(p=J("prehashed msgHash",N(p)));const Z=A(p),G=d(m),et=[C(G),C(Z)];if(D!=null){const X=D===!0?H(n.BYTES):D;et.push(J("extraEntropy",X))}const ft=Pt(...et),Y=Z;function Ut(X){const nt=E(X);if(!b(nt))return;const Qt=c(nt),rt=l.BASE.multiply(nt).toAffine(),j=a(rt.x);if(j===bt)return;const ot=a(Qt*a(Y+j*G));if(ot===bt)return;let te=(rt.x===j?0:2)|Number(rt.y<),ee=ot;return k&&y(ot)&&(ee=u(ot),te^=1),new w(j,ee,te)}return{seed:ft,k2sig:Ut}}const T={lowS:t.lowS,prehash:!1},K={lowS:t.lowS,prehash:!1};function R(p,m,$=T){const{seed:N,k2sig:H}=U(p,m,$),k=t;return vr(k.hash.outputLen,k.nByteLength,k.hmac)(N,H)}l.BASE._setWindowSize(8);function z(p,m,$,N=K){var rt;const H=p;if(m=J("msgHash",m),$=J("publicKey",$),"strict"in N)throw new Error("options.strict was renamed to lowS");const{lowS:k,prehash:q}=N;let D,Z;try{if(typeof H=="string"||H instanceof Uint8Array)try{D=w.fromDER(H)}catch(j){if(!(j instanceof Rt.Err))throw j;D=w.fromCompact(H)}else if(typeof H=="object"&&typeof H.r=="bigint"&&typeof H.s=="bigint"){const{r:j,s:ot}=H;D=new w(j,ot)}else throw new Error("PARSE");Z=l.fromHex($)}catch(j){if(j.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&D.hasHighS())return!1;q&&(m=t.hash(m));const{r:G,s:et}=D,ft=A(m),Y=c(et),Ut=a(ft*Y),X=a(G*Y),nt=(rt=l.BASE.multiplyAndAddUnsafe(Z,Ut,X))==null?void 0:rt.toAffine();return nt?a(nt.x)===G:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:B,sign:R,verify:z,ProjectivePoint:l,Signature:w,utils:v}}class $r extends yr{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,Xi(t);const r=xn(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,i=new Uint8Array(o);i.set(r.length>o?t.create().update(r).digest():r);for(let s=0;snew $r(e,t).update(n).digest();Tr.create=(e,t)=>new $r(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function qs(e){return{hash:e,hmac:(t,...n)=>Tr(e,t,ns(...n)),randomBytes:mr}}function Ds(e,t){const n=r=>Rs({...e,...qs(r)});return Object.freeze({...n(t),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ne=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ee=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Ur=BigInt(1),ve=BigInt(2),Jn=(e,t)=>(e+t/ve)/t;function Hr(e){const t=Ne,n=BigInt(3),r=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,d=l*l*e%t,f=st(d,n,t)*d%t,b=st(f,n,t)*d%t,g=st(b,ve,t)*l%t,y=st(g,o,t)*g%t,u=st(y,i,t)*y%t,h=st(u,a,t)*u%t,w=st(h,c,t)*h%t,v=st(w,a,t)*u%t,x=st(v,n,t)*d%t,I=st(x,s,t)*y%t,B=st(I,r,t)*l%t,E=st(B,ve,t);if(!an.eql(an.sqr(E),e))throw new Error("Cannot find square root");return E}const an=Ts(Ne,void 0,void 0,{sqrt:Hr}),Sn=Ds({a:BigInt(0),b:BigInt(7),Fp:an,n:Ee,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Ee,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Ur*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,s=BigInt("0x100000000000000000000000000000000"),a=Jn(i*e,t),c=Jn(-r*e,t);let l=W(e-a*n-c*o,t),d=W(-a*r-c*i,t);const f=l>s,b=d>s;if(f&&(l=t-l),b&&(d=t-d),l>s||d>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:l,k2neg:b,k2:d}}}},rn),Le=BigInt(0),Nr=e=>typeof e=="bigint"&&Letypeof e=="bigint"&&Leo.charCodeAt(0)));n=Pt(r,r),Xn[e]=n}return rn(Pt(n,...t))}const In=e=>e.toRawBytes(!0).slice(1),cn=e=>$t(e,32),Me=e=>W(e,Ne),ce=e=>W(e,Ee),$n=Sn.ProjectivePoint,js=(e,t,n)=>$n.BASE.multiplyAndAddUnsafe(e,t,n);function ln(e){let t=Sn.utils.normPrivateKeyToScalar(e),n=$n.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:ce(-t),bytes:In(n)}}function Lr(e){if(!Nr(e))throw new Error("bad x: need 0 < x < p");const t=Me(e*e),n=Me(t*e+BigInt(7));let r=Hr(n);r%ve!==Le&&(r=Me(-r));const o=new $n(e,r,Ur);return o.assertValidity(),o}function Cr(...e){return ce(tt(Be("BIP0340/challenge",...e)))}function Vs(e){return ln(e).bytes}function _s(e,t,n=mr(32)){const r=J("message",e),{bytes:o,scalar:i}=ln(t),s=J("auxRand",n,32),a=cn(i^tt(Be("BIP0340/aux",s))),c=Be("BIP0340/nonce",a,o,r),l=ce(tt(c));if(l===Le)throw new Error("sign failed: k is zero");const{bytes:d,scalar:f}=ln(l),b=Cr(d,o,r),g=new Uint8Array(64);if(g.set(d,0),g.set(cn(ce(f+b*i)),32),!kr(g,r,o))throw new Error("sign: Invalid signature produced");return g}function kr(e,t,n){const r=J("signature",e,64),o=J("message",t),i=J("publicKey",n,32);try{const s=Lr(tt(i)),a=tt(r.subarray(0,32));if(!Nr(a))return!1;const c=tt(r.subarray(32,64));if(!Ps(c))return!1;const l=Cr(cn(a),In(s),o),d=js(s,c,ce(-l));return!(!d||!d.hasEvenY()||d.toAffine().x!==a)}catch{return!1}}const re={getPublicKey:Vs,sign:_s,verify:kr,utils:{randomPrivateKey:Sn.utils.randomPrivateKey,lift_x:Lr,pointToBytes:In,numberToBytesBE:$t,bytesToNumberBE:tt,taggedHash:Be,mod:W}};var Mt=Symbol("verified"),zs=e=>e instanceof Object;function Fs(e){if(!zs(e)||typeof e.kind!="number"||typeof e.content!="string"||typeof e.created_at!="number"||typeof e.pubkey!="string"||!e.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(e.tags))return!1;for(let t=0;t{for(var o=r>1?void 0:r?Ws(t,n):t,i=e.length-1,s;i>=0;i--)(s=e[i])&&(o=(r?s(t,n,o):s(o))||o);return r&&o&&Ys(t,n,o),o};let fn=class extends _r{constructor(){super(...arguments);P(this,"$notify");P(this,"activeDid","");P(this,"agentDid","");P(this,"apiServer","");P(this,"errorMessage","");P(this,"fullClaim",{"@context":"https://schema.org","@type":"PlanAction",name:"",description:""});P(this,"imageUrl","");P(this,"includeLocation",!1);P(this,"isHiddenSave",!1);P(this,"isHiddenSpinner",!0);P(this,"lastClaimJwtId","");P(this,"latitude",0);P(this,"longitude",0);P(this,"numAccounts",0);P(this,"projectId","");P(this,"projectIssuerDid","");P(this,"sendToTrustroots",!1);P(this,"sendToTripHopping",!1);P(this,"showGeneralAdvanced",!1);P(this,"startDateInput");P(this,"startTimeInput");P(this,"zoneName",Tn.local().zoneName);P(this,"zoom",2)}errNote(n){this.$notify({group:"alert",type:"danger",title:"Error",text:n},5e3)}async mounted(){this.numAccounts=await qr();const n=await Un();this.activeDid=n.activeDid||"",this.apiServer=n.apiServer||"",this.showGeneralAdvanced=!!n.showGeneralAdvanced,this.projectId=this.$route.query.projectId||"",this.projectId&&(this.numAccounts===0?this.errNote("There was a problem loading your account info."):this.loadProject(this.activeDid))}async loadProject(n){var i,s,a;const r=this.apiServer+"/api/claim/byHandle/"+encodeURIComponent(this.projectId),o=await ue(n);try{const c=await this.axios.get(r,{headers:o});if(c.status===200&&(this.projectIssuerDid=c.data.issuer,this.fullClaim=c.data.claim,this.imageUrl=c.data.claim.image||"",this.lastClaimJwtId=c.data.id,(i=this.fullClaim)!=null&&i.location&&(this.includeLocation=!0,this.latitude=this.fullClaim.location.geo.latitude,this.longitude=this.fullClaim.location.geo.longitude),(a=(s=this.fullClaim)==null?void 0:s.agent)!=null&&a.identifier&&(this.agentDid=this.fullClaim.agent.identifier),this.fullClaim.startTime)){const l=Tn.fromISO(this.fullClaim.startTime).toLocal();this.startDateInput=l.toFormat("yyyy-MM-dd"),this.startTimeInput=l.toFormat("HH:mm")}}catch(c){console.error("Got error retrieving that project",c),this.errNote("There was an error retrieving that project.")}}openImageDialog(){this.$refs.imageDialog.open(n=>{this.imageUrl=n},"PlanAction")}confirmDeleteImage(){this.$notify({group:"modal",type:"confirm",title:"Are you sure you want to delete the image?",text:"",onYes:this.deleteImage},-1)}async deleteImage(){if(this.imageUrl)try{const n=await ue(this.activeDid),r=await this.axios.delete(zr+"/image/"+encodeURIComponent(this.imageUrl),{headers:n});if(r.status!==204){console.error("Problem deleting image:",r),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem deleting the image."},5e3);return}this.imageUrl=""}catch(n){console.error("Error deleting image:",n),n.response.status===404?(console.log("The image was already deleted:",n),this.imageUrl=""):this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error deleting the image."},5e3)}}async saveProject(){var a,c,l,d,f;const n=this.fullClaim;if(this.projectId&&(n.lastClaimId=this.lastClaimJwtId),this.agentDid?n.agent={identifier:this.agentDid}:delete n.agent,this.imageUrl?n.image=this.imageUrl:delete n.image,this.includeLocation?n.location={geo:{"@type":"GeoCoordinates",latitude:this.latitude,longitude:this.longitude}}:delete n.location,this.startDateInput)try{const b=this.startTimeInput||"00:00:00",g=this.startDateInput+" "+b;n.startTime=new Date(g).toISOString()}catch{delete n.startTime,this.$notify({group:"alert",type:"danger",title:"Error",text:"The date was invalid so it was not set."},5e3)}else delete n.startTime;const r=await Dr(this.activeDid,n),o=JSON.stringify({jwtEncoded:r}),i=this.apiServer+"/api/v2/claim",s=await ue(this.activeDid);try{const b=await this.axios.post(i,o,{headers:s});if((c=(a=b.data)==null?void 0:a.success)!=null&&c.handleId){this.errorMessage="";const g=encodeURIComponent(b.data.success.handleId);let y;this.sendToTrustroots&&(y=await this.signPayload(),this.sendToNostrPartner("NOSTR-EVENT-TRUSTROOTS","Trustroots",b.data.success.claimId,y)),this.sendToTripHopping&&(y||(y=await this.signPayload()),this.sendToNostrPartner("NOSTR-EVENT-TRIPHOPPING","TripHopping",b.data.success.claimId,y)),this.$router.push({path:"/project/"+g})}else console.error("Got unexpected 'data' inside response from server",b),this.$notify({group:"alert",type:"danger",title:"Error Saving Idea",text:"Server did not save the idea. Try again."},5e3)}catch(b){let g="There was an error saving the project.";const y=b;y?(console.error("Got error from server",y),Object.prototype.hasOwnProperty.call(y,"message")?(g=((f=(d=(l=y.response)==null?void 0:l.data)==null?void 0:d.error)==null?void 0:f.message)||g,this.$notify({group:"alert",type:"danger",title:"User Message",text:g},5e3)):this.$notify({group:"alert",type:"danger",title:"Server Message",text:JSON.stringify(y.toJSON())},5e3)):(console.error("Here's the full error trying to save the claim:",b),this.$notify({group:"alert",type:"danger",title:"Claim Error",text:b},5e3)),this.errorMessage=g}}async signPayload(){var d,f,b;const n=await Pr(this.activeDid),r=(b=(f=(d=n==null?void 0:n.derivationPath)==null?void 0:d.split)==null?void 0:f.call(d,"/"))==null?void 0:b.reverse()[0],o=r==null?void 0:r.replace(/'/g,""),i=Number(o||0),s=Fn(n==null?void 0:n.mnemonic,"",i),a=jr(s==null?void 0:s.privateKey);return Gs({kind:30402,tags:[[]],content:"",created_at:0},a)}async sendToNostrPartner(n,r,o,i){var I,B,E,A,S,C;const s=await Vr(this.activeDid),a=(E=(B=(I=s==null?void 0:s.derivationPath)==null?void 0:I.split)==null?void 0:B.call(I,"/"))==null?void 0:E.reverse()[0],c=a==null?void 0:a.replace(/'/g,""),l=Number(c||0),d=Fn(s==null?void 0:s.mnemonic,"",l),f=d==null?void 0:d.publicKey;let b=Mr;const g=await Un();g.partnerApiServer&&(b=g.partnerApiServer);const y=b+"/api/partner/link",u=window.location.origin+"/claim/"+o,h=this.fullClaim.name+" - see "+u,w=Or(i),v={jwtId:o,linkCode:n,inputJson:JSON.stringify(h),pubKeyHex:f,pubKeyImage:w,pubKeySigHex:i.sig},x=await ue(this.activeDid);try{const U=await this.axios.post(y,v,{headers:x});U.status===201?this.$notify({group:"alert",type:"success",title:`Sent to ${r}`,text:`The project info was sent to ${r}.`},5e3):this.$notify({group:"alert",type:"danger",title:`Failed Sending to ${r}`,text:JSON.stringify(U.data)},5e3)}catch(U){console.error(`Error sending to ${r}`,U);let T=`There was an error sending to ${r}.`;(C=(S=(A=U.response)==null?void 0:A.data)==null?void 0:S.error)!=null&&C.message&&(T=U.response.data.error.message),this.$notify({group:"alert",type:"danger",title:`Error Sending to ${r}`,text:T},7e3)}}async onSaveProjectClick(){this.isHiddenSave=!0,this.isHiddenSpinner=!1,this.numAccounts===0?console.error("Error: there is no account."):this.saveProject()}confirmEraseLatLong(){this.$notify({group:"modal",type:"confirm",title:"Erase Marker",text:"Are you sure you don't want to mark a location? This will erase the current location.",onYes:async()=>{this.eraseLatLong()}},-1)}eraseLatLong(){this.latitude=0,this.longitude=0,this.includeLocation=!1}onCancelClick(){this.$router.back()}};fn=Js([Fr({components:{ImageMethodDialog:to,LMap:Jr,LMarker:Xr,LTileLayer:Qr,QuickNav:eo}})],fn);const Xs={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},Qs={id:"ViewBreadcrumb",class:"mb-8"},ta={class:"text-lg text-center font-light relative px-7"},ea={class:"flex justify-center mt-4"},na={key:0,class:"flex justify-between"},ra=["href"],oa=["src"],ia={key:1},sa={class:"mb-4"},aa={key:0},ca={class:"text-xs text-slate-500 italic -mt-3 mb-4"},la={class:"flex mb-4 columns-3 w-full"},fa=["disabled"],ua={class:"col-span-1 w-full flex justify-center"},da={key:0,class:"mb-4 aspect-video"},ha={key:1,class:"items-center mb-4"},pa={class:"mt-8"},ga={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},wa=["disabled"];function ba(e,t,n,r,o,i){var b;const s=_t("QuickNav"),a=_t("fa"),c=_t("ImageMethodDialog"),l=_t("l-tile-layer"),d=_t("l-marker"),f=_t("l-map");return Nt(),zt(Yr,null,[Ht(s,{selected:"Projects"}),O("section",Xs,[O("div",Qs,[O("h1",ta,[O("button",{onClick:t[0]||(t[0]=g=>e.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[Ht(a,{icon:"chevron-left",class:"fa-fw"})]),t[17]||(t[17]=ke(" Edit Project Idea "))])]),O("div",null,Oe(e.errorMessage),1),xt(O("input",{type:"text",placeholder:"Idea Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":t[1]||(t[1]=g=>e.fullClaim.name=g)},null,512),[[Ft,e.fullClaim.name]]),O("div",ea,[e.imageUrl?(Nt(),zt("span",na,[O("a",{href:e.imageUrl,target:"_blank",class:"text-blue-500 ml-4"},[O("img",{src:e.imageUrl,class:"h-24 rounded-xl"},null,8,oa)],8,ra),Ht(a,{icon:"trash-can",onClick:e.confirmDeleteImage,class:"text-red-500 fa-fw ml-8 mt-10"},null,8,["onClick"])])):(Nt(),zt("span",ia,[Ht(a,{icon:"camera",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-md",onClick:e.openImageDialog},null,8,["onClick"])]))]),Ht(c,{ref:"imageDialog"},null,512),xt(O("input",{type:"text",placeholder:"Other Authorized Representative",class:"mt-4 block w-full rounded border border-slate-400 px-3 py-2","onUpdate:modelValue":t[2]||(t[2]=g=>e.agentDid=g)},null,512),[[Ft,e.agentDid]]),O("div",sa,[e.activeDid!=e.projectIssuerDid&&e.agentDid!=e.projectIssuerDid?(Nt(),zt("p",aa,[t[18]||(t[18]=O("span",{class:"text-red-500"},"Beware!",-1)),t[19]||(t[19]=ke(" If you save this, the original project owner will no longer be able to edit it. ")),O("button",{onClick:t[3]||(t[3]=g=>e.agentDid=e.projectIssuerDid),class:"text-blue-500"}," Click here to make the original owner an authorized representative. ")])):de("",!0)]),xt(O("textarea",{placeholder:"Description",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2",rows:"5","onUpdate:modelValue":t[4]||(t[4]=g=>e.fullClaim.description=g),maxlength:"5000"},null,512),[[Ft,e.fullClaim.description]]),t[24]||(t[24]=O("div",{class:"text-xs text-slate-500 italic -mt-3 mb-4"}," If you want to be contacted, be sure to include your contact information. ",-1)),O("div",ca,Oe((b=e.fullClaim.description)==null?void 0:b.length)+"/5000 max. characters ",1),xt(O("input",{"onUpdate:modelValue":t[5]||(t[5]=g=>e.fullClaim.url=g),placeholder:"Website",autocapitalize:"none",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2"},null,512),[[Ft,e.fullClaim.url]]),O("div",la,[xt(O("input",{"onUpdate:modelValue":t[6]||(t[6]=g=>e.startDateInput=g),placeholder:"Start Date",type:"date",class:"col-span-1 w-full rounded border border-slate-400 px-3 py-2"},null,512),[[Ft,e.startDateInput]]),xt(O("input",{disabled:!e.startDateInput,placeholder:"Start Time","onUpdate:modelValue":t[7]||(t[7]=g=>e.startTimeInput=g),type:"time",class:"col-span-1 w-full rounded border border-slate-400 ml-2 px-3 py-2"},null,8,fa),[[Ft,e.startTimeInput]]),O("span",ua,Oe(e.zoneName),1)]),O("div",{class:"flex items-center mb-4",onClick:t[9]||(t[9]=g=>e.includeLocation=!e.includeLocation)},[xt(O("input",{type:"checkbox",class:"mr-2","onUpdate:modelValue":t[8]||(t[8]=g=>e.includeLocation=g)},null,512),[[Hn,e.includeLocation]]),t[20]||(t[20]=O("label",{for:"includeLocation"},"Include Location",-1))]),e.includeLocation?(Nt(),zt("div",da,[t[21]||(t[21]=O("p",{class:"text-sm mb-2 text-slate-500"}," For your security, choose a location nearby but not exactly at the place. ",-1)),Ht(f,{ref:"map",zoom:e.zoom,"onUpdate:zoom":t[11]||(t[11]=g=>e.zoom=g),center:[0,0],class:"!z-40 rounded-md",onClick:t[12]||(t[12]=g=>{e.latitude=g.latlng.lat,e.longitude=g.latlng.lng})},{default:Gr(()=>[Ht(l,{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png","layer-type":"base",name:"OpenStreetMap"}),e.latitude&&e.longitude?(Nt(),Wr(d,{key:0,"lat-lng":[e.latitude,e.longitude],onClick:t[10]||(t[10]=g=>e.confirmEraseLatLong())},null,8,["lat-lng"])):de("",!0)]),_:1},8,["zoom"])])):de("",!0),e.showGeneralAdvanced&&e.includeLocation?(Nt(),zt("div",ha,[O("div",{class:"flex",onClick:t[14]||(t[14]=g=>e.sendToTrustroots=!e.sendToTrustroots)},[xt(O("input",{type:"checkbox",class:"mr-2","onUpdate:modelValue":t[13]||(t[13]=g=>e.sendToTrustroots=g)},null,512),[[Hn,e.sendToTrustroots]]),t[22]||(t[22]=O("label",null,"Send to Trustroots",-1))])])):de("",!0),O("div",pa,[O("div",ga,[O("button",{disabled:e.isHiddenSave,class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[15]||(t[15]=g=>e.onSaveProjectClick())},[O("span",{class:Nn({hidden:e.isHiddenSave})},"Save Project",2),O("span",{class:Nn({hidden:e.isHiddenSpinner})},t[23]||(t[23]=[O("i",{class:"fa-solid fa-spinner fa-spin-pulse"},null,-1),ke(" Saving...")]),2)],8,wa),O("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:t[16]||(t[16]=g=>e.onCancelClick())}," Cancel ")])])])],64)}const Oa=Zr(fn,[["render",ba]]);export{Oa as default}; diff --git a/dist-electron/assets/NewIdentifierView-DKie1CXF.js b/dist-electron/assets/NewIdentifierView-DKie1CXF.js new file mode 100644 index 0000000..1c5cc96 --- /dev/null +++ b/dist-electron/assets/NewIdentifierView-DKie1CXF.js @@ -0,0 +1 @@ +var v=Object.defineProperty;var x=(t,e,s)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var u=(t,e,s)=>x(t,typeof e!="symbol"?e+"":e,s);import"./dexie-export-import-B7Ze1sjn.js";import{V as g,C as _,_ as w,g as m,h as d,i as l,j as n,F as b,x as f}from"./index-BLqts8WY.js";import{ag as y}from"./index-MyY_xqVN.js";import{Q as C}from"./QuickNav-DgCyvgDx.js";import"./index-CsfPLOYu.js";var N=Object.defineProperty,V=Object.getOwnPropertyDescriptor,$=(t,e,s,i)=>{for(var o=i>1?void 0:i?V(e,s):e,r=t.length-1,a;r>=0;r--)(a=t[r])&&(o=(i?a(e,s,o):a(o))||o);return i&&o&&N(e,s,o),o};let c=class extends g{constructor(){super(...arguments);u(this,"loading",!0)}async mounted(){await y(),this.loading=!1,setTimeout(()=>{this.$router.push({name:"home"})},1e3)}};c=$([_({components:{QuickNav:C}})],c);const h={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},I={class:"mb-8"},j={class:"text-lg text-center font-light relative px-7"},k={class:"flex justify-center py-12"},O={key:0},P={key:1};function Q(t,e,s,i,o,r){const a=m("QuickNav"),p=m("fa");return f(),d(b,null,[l(a),n("section",h,[n("div",I,[n("div",j,[n("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=A=>t.$router.back())},[l(p,{icon:"chevron-left",class:"fa-fw"})])]),e[1]||(e[1]=n("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Your Identity ",-1))]),n("div",k,[e[4]||(e[4]=n("div",null,null,-1)),t.loading?(f(),d("div",O,[e[2]||(e[2]=n("span",{class:"text-xl"},"Creating... ",-1)),l(p,{icon:"spinner",class:"fa-spin fa-spin-pulse",color:"green",size:"128"})])):(f(),d("div",P,[e[3]||(e[3]=n("span",{class:"text-xl"},"Created!",-1)),l(p,{icon:"burst",class:"fa-beat px-12",color:"green",style:{"--fa-animation-duration":"1s","--fa-animation-direction":"reverse","--fa-animation-iteration-count":"1","--fa-beat-scale":"6"}})])),e[5]||(e[5]=n("div",null,null,-1))])])],64)}const T=w(c,[["render",Q]]);export{T as default}; diff --git a/dist-electron/assets/OfferDetailsView-C1laA_fH.js b/dist-electron/assets/OfferDetailsView-C1laA_fH.js new file mode 100644 index 0000000..2b9f5d5 --- /dev/null +++ b/dist-electron/assets/OfferDetailsView-C1laA_fH.js @@ -0,0 +1 @@ +var L=Object.defineProperty;var W=(e,t,r)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var n=(e,t,r)=>W(e,typeof t!="symbol"?t+"":t,r);import{V as K,f as z,e as X,C as Z,_,g as b,h as g,i as f,j as s,l as F,t as v,m,s as C,o as G,p as Y,w as ee,k as Q,F as te,x as h}from"./index-BLqts8WY.js";import{Q as re}from"./QuickNav-DgCyvgDx.js";import{T as ie}from"./TopMessage-BE0GBIgW.js";import{l as oe,e as se,h as ne,ap as ae,aK as de,aL as le,aM as pe,at as ue}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var ce=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,he=(e,t,r,i)=>{for(var a=i>1?void 0:i?fe(t,r):t,l=e.length-1,d;l>=0;l--)(d=e[l])&&(a=(i?d(t,r,a):d(a))||a);return i&&a&&ce(t,r,a),a};let T=class extends K{constructor(){super(...arguments);n(this,"$notify");n(this,"activeDid","");n(this,"apiServer","");n(this,"amountInput","0");n(this,"descriptionOfCondition","");n(this,"descriptionOfItem","");n(this,"destinationPathAfter","");n(this,"hideBackButton",!1);n(this,"message","");n(this,"offeredToProject",!1);n(this,"offeredToRecipient",!1);n(this,"offererDid");n(this,"offerId","");n(this,"prevCredToEdit");n(this,"projectId","");n(this,"projectName","a project");n(this,"recipientDid","");n(this,"recipientName","");n(this,"showGeneralAdvanced",!1);n(this,"unitCode","HUR");n(this,"validThroughDateInput","");n(this,"libsUtil",oe)}async mounted(){var a,l,d,p,c,y,o,I,w,O,x,D,$,j,E,k,N,P,S,A,U,q,R,V,M,B;try{this.prevCredToEdit=this.$route.query.prevCredToEdit?JSON.parse(this.$route.query.prevCredToEdit):void 0}catch{this.$notify({group:"alert",type:"danger",title:"Retrieval Error",text:"The previous record isn't available for editing. If you submit, you'll create a new record."},6e3)}const r=(d=(l=(a=this.prevCredToEdit)==null?void 0:a.claim)==null?void 0:l.includesObject)==null?void 0:d.amountOfThisGood;this.amountInput=this.$route.query.amountInput||(r?String(r):"")||this.amountInput,this.unitCode=this.$route.query.unitCode||((y=(c=(p=this.prevCredToEdit)==null?void 0:p.claim)==null?void 0:c.includesObject)==null?void 0:y.unitCode)||this.unitCode,this.descriptionOfCondition=((I=(o=this.prevCredToEdit)==null?void 0:o.claim)==null?void 0:I.description)||this.descriptionOfCondition,this.descriptionOfItem=this.$route.query.description||((x=(O=(w=this.prevCredToEdit)==null?void 0:w.claim)==null?void 0:O.itemOffered)==null?void 0:x.description)||this.descriptionOfItem,this.destinationPathAfter=this.$route.query.destinationPathAfter,this.offererDid=this.$route.query.offererDid||((j=($=(D=this.prevCredToEdit)==null?void 0:D.claim)==null?void 0:$.agent)==null?void 0:j.identifier)||this.offererDid,this.hideBackButton=this.$route.query.hideBackButton==="true",this.message=this.$route.query.message||"";let i;((P=(N=(k=(E=this.prevCredToEdit)==null?void 0:E.claim)==null?void 0:k.itemOffered)==null?void 0:N.isPartOf)==null?void 0:P["@type"])==="PlanAction"&&(i=(U=(A=(S=this.prevCredToEdit)==null?void 0:S.claim)==null?void 0:A.itemOffered)==null?void 0:U.isPartOf),this.projectId=this.$route.query.projectId||(i==null?void 0:i.identifier)||this.projectId,this.projectName=this.$route.query.projectName||(i==null?void 0:i.name)||this.projectName,this.recipientDid=this.$route.query.recipientDid||((V=(R=(q=this.prevCredToEdit)==null?void 0:q.claim)==null?void 0:R.recipient)==null?void 0:V.identifier),this.recipientName=this.$route.query.recipientName||"",this.validThroughDateInput=((B=(M=this.prevCredToEdit)==null?void 0:M.claim)==null?void 0:B.validThrough)||this.validThroughDateInput;try{const u=await z();if(this.apiServer=u.apiServer??"",this.activeDid=u.activeDid??"",this.showGeneralAdvanced=u.showGeneralAdvanced??!1,this.recipientDid&&!this.recipientName){const H=await X.contacts.toArray(),J=await se();this.recipientName=ne(this.recipientDid,this.activeDid,J,H)}this.offeredToProject=!!this.projectId,this.offeredToRecipient=!this.offeredToProject&&!!this.recipientDid}catch(u){console.error("Error retrieving settings from database:",u),this.$notify({group:"alert",type:"danger",title:"Error",text:u.message||"There was an error retrieving your settings."},-1)}if(this.projectId&&!this.projectName){const u=await ae(this.projectId,this.axios,this.apiServer,this.activeDid);this.projectName=u!=null&&u.name?"the project: "+u.name:"a project"}}changeUnitCode(){const r=Object.keys(this.libsUtil.UNIT_SHORT),i=r.indexOf(this.unitCode);this.unitCode=r[(i+1)%r.length]}increment(){this.amountInput=`${(parseFloat(this.amountInput)||0)+1}`}decrement(){this.amountInput=`${Math.max(0,(parseFloat(this.amountInput)||1)-1)}`}cancel(){this.destinationPathAfter?this.$router.push({path:this.destinationPathAfter}):this.$router.back()}cancelBack(){this.$router.back()}async confirm(){if(!this.activeDid){this.$notify({group:"alert",type:"danger",title:"Error",text:"You must select an identifier before you can record a offer."},2e3);return}if(parseFloat(this.amountInput)<0){this.$notify({group:"alert",type:"danger",text:"You may not send a negative number.",title:""},2e3);return}if(!this.descriptionOfItem&&!parseFloat(this.amountInput)){this.$notify({group:"alert",type:"danger",title:"Error",text:`You must enter a description or some number of ${this.libsUtil.UNIT_LONG[this.unitCode]}.`},2e3);return}this.$notify({group:"alert",type:"toast",text:"Recording the offer...",title:""},1e3),await this.recordOffer()}notifyUserOfProject(){this.projectId?this.$notify({group:"alert",type:"warning",title:"Error",text:"You cannot assign both to a project and to a recipient."},3e3):this.$notify({group:"alert",type:"warning",title:"Error",text:"To assign to a project, you must open this page through a project."},3e3)}notifyUserOfRecipient(){this.recipientDid?this.$notify({group:"alert",type:"warning",title:"Error",text:"You cannot assign both to a recipient and to a project."},3e3):this.$notify({group:"alert",type:"warning",title:"Error",text:"To assign to a recipient, you must open this page from a contact."},3e3)}async recordOffer(){var r,i,a;try{const l=this.offeredToRecipient?this.recipientDid:void 0,d=this.offeredToProject?this.projectId:void 0;let p;if(this.prevCredToEdit?p=await de(this.axios,this.apiServer,this.prevCredToEdit,this.activeDid,this.descriptionOfItem,parseFloat(this.amountInput),this.unitCode,this.descriptionOfCondition,this.validThroughDateInput,l,d):p=await le(this.axios,this.apiServer,this.activeDid,this.descriptionOfItem,parseFloat(this.amountInput),this.unitCode,this.descriptionOfCondition,this.validThroughDateInput,l,d),p.type==="error"||this.isCreationError(p.response)){const c=this.getCreationErrorMessage(p);console.error("Error with offer creation result:",p),this.$notify({group:"alert",type:"danger",title:"Error",text:c||"There was an error creating the offer."},-1)}else this.$notify({group:"alert",type:"success",title:"Success",text:"That offer was recorded."},5e3),localStorage.removeItem("imageUrl"),this.destinationPathAfter?this.$router.push({path:this.destinationPathAfter}):this.$router.back()}catch(l){console.error("Error with offer recordation caught:",l);const d=l.userMessage||((a=(i=(r=l.response)==null?void 0:r.data)==null?void 0:i.error)==null?void 0:a.message)||"There was an error recording the offer.";this.$notify({group:"alert",type:"danger",title:"Error",text:d},-1)}}constructOfferParam(){var d,p;const r=this.offeredToRecipient?this.recipientDid:void 0,i=this.offeredToProject?this.projectId:void 0,a=pe((d=this.prevCredToEdit)==null?void 0:d.claim,this.activeDid,r,this.descriptionOfItem,parseFloat(this.amountInput),this.unitCode,this.descriptionOfCondition,i,this.validThroughDateInput,(p=this.prevCredToEdit)==null?void 0:p.id);return JSON.stringify(a)}isCreationError(r){var i;return r.status!==201||((i=r.data)==null?void 0:i.error)}getCreationErrorMessage(r){var i,a,l,d,p;return((i=r.error)==null?void 0:i.userMessage)||((a=r.error)==null?void 0:a.error)||((p=(d=(l=r.response)==null?void 0:l.data)==null?void 0:d.error)==null?void 0:p.message)}explainData(){this.$notify({group:"alert",type:"success",title:"Data Sharing",text:ue},-1)}};T=he([Z({components:{QuickNav:re,TopMessage:ie}})],T);const me={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},ge={key:0,class:"text-lg text-center font-light relative px-7"},ve={class:"text-xl font-bold text-center mb-4"},ye={class:"flex flex-row justify-center"},be={class:"flex flex-row mt-2"},Ce={class:"flex flex-row mt-2"},Te={class:"rounded-l border border-r-0 border-slate-400 bg-slate-200 text-center px-2 py-2"},Ie={class:"h-7 mt-4 flex"},we={class:"text-sm mt-1"},Oe={class:"h-7 mt-4 flex"},xe={class:"text-sm mt-1"},De={key:1,class:"mt-4 flex"},$e={class:"text-center mb-2 mt-6 italic"},je={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Ee(e,t,r,i,a,l){const d=b("QuickNav"),p=b("TopMessage"),c=b("fa"),y=b("router-link");return h(),g(te,null,[f(d),f(p),s("section",me,[e.hideBackButton?F("",!0):(h(),g("div",ge,[s("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=o=>e.cancelBack())},[f(c,{icon:"chevron-left",class:"fa-fw"})])])),t[18]||(t[18]=s("h1",{class:"text-4xl text-center font-light px-4 mb-4"},"What Is Offered",-1)),s("h1",ve,[s("span",null," Offer to "+v(e.offeredToProject?e.projectName:e.offeredToRecipient?e.recipientName:"someone not named"),1)]),m(s("textarea",{class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2",placeholder:"What is offered","onUpdate:modelValue":t[1]||(t[1]=o=>e.descriptionOfItem=o),"data-testId":"itemDescription"},null,512),[[C,e.descriptionOfItem]]),s("div",ye,[s("span",{class:"rounded-l border border-r-0 border-slate-400 bg-slate-200 text-center text-blue-500 px-2 py-2 w-20",onClick:t[2]||(t[2]=o=>e.changeUnitCode())},v(e.libsUtil.UNIT_SHORT[e.unitCode]||e.unitCode),1),s("div",{class:"border border-r-0 border-slate-400 bg-slate-200 px-4 py-2",onClick:t[3]||(t[3]=o=>e.amountInput==="0"?null:e.decrement())},[f(c,{icon:"chevron-left"})]),m(s("input",{type:"number",class:"border border-r-0 border-slate-400 px-2 py-2 text-center w-20","onUpdate:modelValue":t[4]||(t[4]=o=>e.amountInput=o),"data-testId":"inputOfferAmount"},null,512),[[C,e.amountInput]]),s("div",{class:"rounded-r border border-slate-400 bg-slate-200 px-4 py-2",onClick:t[5]||(t[5]=o=>e.increment())},[f(c,{icon:"chevron-right"})])]),s("div",be,[t[15]||(t[15]=s("span",{class:"rounded-l border border-r-0 border-slate-400 bg-slate-200 text-center px-2 py-2"}," Conditions ",-1)),m(s("textarea",{class:"w-full border border-slate-400 px-3 py-2 rounded-r",placeholder:"Prerequisites, other people to include, etc.","onUpdate:modelValue":t[6]||(t[6]=o=>e.descriptionOfCondition=o)},null,512),[[C,e.descriptionOfCondition]])]),s("div",Ce,[s("span",Te,v(e.validThroughDateInput?"":"No")+" Expiration ",1),m(s("input",{"onUpdate:modelValue":t[7]||(t[7]=o=>e.validThroughDateInput=o),type:"date",class:"w-full rounded border border-slate-400 px-3 py-2 rounded-r"},null,512),[[C,e.validThroughDateInput]])]),s("div",Ie,[e.projectId&&!e.offeredToRecipient?m((h(),g("input",{key:0,type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":t[8]||(t[8]=o=>e.offeredToProject=o)},null,512)),[[G,e.offeredToProject]]):(h(),Y(c,{key:1,icon:"square",class:"bg-slate-500 text-slate-500 h-5 w-5 px-0.5 py-0.5 mr-2 rounded",onClick:t[9]||(t[9]=o=>e.notifyUserOfProject())})),s("label",we,v(e.projectId?"This is offered to "+e.projectName:"No project was chosen"),1)]),s("div",Oe,[e.recipientDid&&!e.offeredToProject?m((h(),g("input",{key:0,type:"checkbox",class:"h-6 w-6 mr-2","onUpdate:modelValue":t[10]||(t[10]=o=>e.offeredToRecipient=o)},null,512)),[[G,e.offeredToRecipient]]):(h(),Y(c,{key:1,icon:"square",class:"bg-slate-500 text-slate-500 h-5 w-5 px-0.5 py-0.5 mr-2 rounded",onClick:t[11]||(t[11]=o=>e.notifyUserOfRecipient())})),s("label",xe,v(e.recipientDid?"This is offered to "+e.recipientName:"No recipient was chosen."),1)]),e.showGeneralAdvanced?(h(),g("div",De,[f(y,{to:{name:"claim-add-raw",query:{claim:e.constructOfferParam()}},class:"text-blue-500"},{default:ee(()=>t[16]||(t[16]=[Q(" Edit & Submit Raw ")])),_:1},8,["to"])])):F("",!0),s("p",$e,[t[17]||(t[17]=Q(" Sign & Send to publish to the world ")),f(c,{icon:"circle-info",class:"pl-2 text-blue-500 cursor-pointer",onClick:t[12]||(t[12]=o=>e.explainData())})]),s("div",je,[s("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:t[13]||(t[13]=(...o)=>e.confirm&&e.confirm(...o))}," Sign & Send "),s("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:t[14]||(t[14]=(...o)=>e.cancel&&e.cancel(...o))}," Cancel ")])])],64)}const Re=_(T,[["render",Ee]]);export{Re as default}; diff --git a/dist-electron/assets/OfferDialog-BFpCo0de.js b/dist-electron/assets/OfferDialog-BFpCo0de.js new file mode 100644 index 0000000..caf830e --- /dev/null +++ b/dist-electron/assets/OfferDialog-BFpCo0de.js @@ -0,0 +1 @@ +var I=Object.defineProperty;var D=(t,e,r)=>e in t?I(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s=(t,e,r)=>D(t,typeof e!="symbol"?e+"":e,r);import{aa as x,C as O,V as U,f as $,_ as N,g,x as b,h as y,j as a,m as v,s as C,t as j,i as m,l as w,w as S,k as E}from"./index-BLqts8WY.js";import{l as k,aL as T}from"./index-MyY_xqVN.js";var V=Object.defineProperty,M=Object.getOwnPropertyDescriptor,h=(t,e,r,i)=>{for(var o=i>1?void 0:i?M(e,r):e,d=t.length-1,l;d>=0;d--)(l=t[d])&&(o=(i?l(e,r,o):l(o))||o);return i&&o&&V(e,r,o),o};let c=class extends U{constructor(){super(...arguments);s(this,"$notify");s(this,"projectId");s(this,"projectName");s(this,"activeDid","");s(this,"apiServer","");s(this,"amountInput","0");s(this,"amountUnitCode","HUR");s(this,"description","");s(this,"expirationDateInput","");s(this,"recipientDid","");s(this,"recipientName","");s(this,"visible",!1);s(this,"libsUtil",k)}async open(r,i){try{this.recipientDid=r,this.recipientName=i;const o=await $();this.apiServer=o.apiServer||"",this.activeDid=o.activeDid||""}catch(o){console.error("Error retrieving settings from database:",o),this.$notify({group:"alert",type:"danger",title:"Error",text:o.message||"There was an error retrieving your settings."},-1)}this.visible=!0}close(){this.visible=!1}changeUnitCode(){const r=Object.keys(this.libsUtil.UNIT_SHORT),i=r.indexOf(this.amountUnitCode);this.amountUnitCode=r[(i+1)%r.length]}increment(){this.amountInput=`${(parseFloat(this.amountInput)||0)+1}`}decrement(){this.amountInput=`${Math.max(0,(parseFloat(this.amountInput)||1)-1)}`}cancel(){this.close(),this.eraseValues()}eraseValues(){this.description="",this.amountInput="0",this.amountUnitCode="HUR"}async confirm(){this.close(),this.$notify({group:"alert",type:"toast",text:"Recording the offer...",title:""},1e3),this.recordOffer(this.description,parseFloat(this.amountInput),this.amountUnitCode,this.expirationDateInput).then(()=>{this.description="",this.amountInput="0"})}async recordOffer(r,i,o="HUR",d){var l,u,n;if(!this.activeDid){this.$notify({group:"alert",type:"danger",title:"Error",text:"You must select an identity before you can record an offer."},7e3);return}if(!r&&!i){this.$notify({group:"alert",type:"danger",title:"Error",text:`You must enter a description or some number of ${this.libsUtil.UNIT_LONG[o]}.`},-1);return}try{const p=await T(this.axios,this.apiServer,this.activeDid,r,i,o,"",d,this.recipientDid,this.projectId);if(p.type==="error"||this.isOfferCreationError(p.response)){const f=this.getOfferCreationErrorMessage(p);console.error("Error with offer creation result:",p),this.$notify({group:"alert",type:"danger",title:"Error",text:f||"There was an error creating the offer."},-1)}else this.$notify({group:"alert",type:"success",title:"Success",text:"That offer was recorded."},5e3)}catch(p){console.error("Error with offer recordation caught:",p);const f=p.userMessage||((n=(u=(l=p.response)==null?void 0:l.data)==null?void 0:u.error)==null?void 0:n.message)||"There was an error recording the offer.";this.$notify({group:"alert",type:"danger",title:"Error",text:f},-1)}}isOfferCreationError(r){var i;return r.status!==201||((i=r.data)==null?void 0:i.error)}getOfferCreationErrorMessage(r){var i,o,d,l,u;return((i=r.error)==null?void 0:i.userMessage)||((o=r.error)==null?void 0:o.error)||((u=(l=(d=r.response)==null?void 0:d.data)==null?void 0:l.error)==null?void 0:u.message)}};h([x],c.prototype,"projectId",2);h([x],c.prototype,"projectName",2);c=h([O],c);const H={key:0,class:"dialog-overlay"},R={class:"dialog"},A={class:"flex flex-row mt-2"},F={class:"mt-4 flex justify-center"},P={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function B(t,e,r,i,o,d){const l=g("fa"),u=g("router-link");return t.visible?(b(),y("div",H,[a("div",R,[e[8]||(e[8]=a("h1",{class:"text-xl font-bold text-center mb-4"},"Offer Help",-1)),v(a("input",{type:"text","data-testId":"inputDescription",class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2",placeholder:"Description of what is offered","onUpdate:modelValue":e[0]||(e[0]=n=>t.description=n)},null,512),[[C,t.description]]),a("div",A,[a("span",{class:"rounded-l border border-r-0 border-slate-400 bg-slate-200 w-1/3 text-center text-blue-500 px-2 py-2",onClick:e[1]||(e[1]=n=>t.changeUnitCode())},j(t.libsUtil.UNIT_SHORT[t.amountUnitCode]),1),t.amountInput!=="0"?(b(),y("div",{key:0,class:"border border-r-0 border-slate-400 bg-slate-200 px-4 py-2",onClick:e[2]||(e[2]=n=>t.decrement())},[m(l,{icon:"chevron-left"})])):w("",!0),v(a("input",{"data-testId":"inputOfferAmount",type:"number",class:"w-full border border-r-0 border-slate-400 px-2 py-2 text-center","onUpdate:modelValue":e[3]||(e[3]=n=>t.amountInput=n)},null,512),[[C,t.amountInput]]),a("div",{class:"rounded-r border border-slate-400 bg-slate-200 px-4 py-2",onClick:e[4]||(e[4]=n=>t.increment())},[m(l,{icon:"chevron-right"})])]),a("div",F,[a("span",null,[m(u,{to:{name:"offer-details",query:{amountInput:t.amountInput,description:t.description,offererDid:t.activeDid,projectId:t.projectId,projectName:t.projectName,recipientDid:t.recipientDid,recipientName:t.recipientName,unitCode:t.amountUnitCode}},class:"text-blue-500"},{default:S(()=>e[7]||(e[7]=[E(" Conditions & more options... ")])),_:1},8,["to"])])]),e[9]||(e[9]=a("p",{class:"text-center mt-6 mb-2 italic"}," Sign & Send to publish to the world ",-1)),a("div",P,[a("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:e[5]||(e[5]=(...n)=>t.confirm&&t.confirm(...n))}," Sign & Send "),a("button",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[6]||(e[6]=(...n)=>t.cancel&&t.cancel(...n))}," Cancel ")])])])):w("",!0)}const z=N(c,[["render",B]]);export{z as O}; diff --git a/dist-electron/assets/OnboardingDialog-CiAZLb6o.js b/dist-electron/assets/OnboardingDialog-CiAZLb6o.js new file mode 100644 index 0000000..f3b8bc6 --- /dev/null +++ b/dist-electron/assets/OnboardingDialog-CiAZLb6o.js @@ -0,0 +1 @@ +var w=Object.defineProperty;var c=(o,t,n)=>t in o?w(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n;var a=(o,t,n)=>c(o,typeof t!="symbol"?t+"":t,n);import{C as v,V as x,f as k,e as C,u as y,_ as O,g as $,x as g,h as p,j as e,k as s,i as d,t as D,l as m}from"./index-BLqts8WY.js";import{ao as h}from"./index-MyY_xqVN.js";var N=Object.defineProperty,P=Object.getOwnPropertyDescriptor,T=(o,t,n,l)=>{for(var r=l>1?void 0:l?P(t,n):t,b=o.length-1,i;b>=0;b--)(i=o[b])&&(r=(l?i(t,n,r):i(r))||r);return l&&r&&N(t,n,r),r};let f=class extends x{constructor(){super(...arguments);a(this,"$notify");a(this,"activeDid","");a(this,"firstContactName",null);a(this,"givenName","");a(this,"isRegistered",!1);a(this,"numContacts",0);a(this,"page",h.Home);a(this,"visible",!1)}async open(n){this.page=n;const l=await k();this.activeDid=l.activeDid||"",this.isRegistered=!!l.isRegistered;const r=await C.contacts.toArray();this.numContacts=r.length,this.numContacts>0&&(this.firstContactName=r[0].name),this.visible=!0,this.page===h.Create&&await y(this.activeDid,{finishedOnboarding:!0})}async onClickClose(n,l){this.visible=!1,n&&(await y(this.activeDid,{finishedOnboarding:!0}),l&&this.$router.push({name:"home"}))}};f=T([v({computed:{OnboardPage(){return h}},components:{OnboardPage:h}})],f);const S={key:0,class:"dialog-overlay"},j={key:0,class:"dialog"},A={class:"text-xl font-bold text-center mb-4 relative"},I={key:0,class:"mt-4"},_={key:0},V={class:"bg-green-600 text-white rounded-full"},F={key:1,class:"mt-4"},B={class:"mt-4 flex items-center"},H={class:"mt-8"},R={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},Y={key:1,class:"dialog"},E={class:"text-xl font-bold text-center mb-4 relative"},W={class:"mt-4 flex items-center"},z={class:"mt-8"},G={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},L={key:2,class:"dialog"},M={class:"text-xl font-bold text-center mb-4 relative"},q={class:"relative"},J={class:"bg-green-600 text-white rounded-full"},K={class:"mt-4 flex items-center"},Q={class:"mt-4"},U={class:"mt-8"},X={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Z(o,t,n,l,r,b){const i=$("fa");return o.visible?(g(),p("div",S,[o.page===o.OnboardPage.Home?(g(),p("div",j,[e("h1",A,[t[9]||(t[9]=s(" Welcome to Time Safari ")),t[10]||(t[10]=e("br",null,null,-1)),t[11]||(t[11]=s(" - Showcasing Gratitude & Magnifing Time ")),e("div",{class:"text-lg text-center leading-none absolute right-0 -top-1",onClick:t[0]||(t[0]=u=>o.onClickClose(!0))},[d(i,{icon:"xmark",class:"w-[1em]"})])]),o.isRegistered?(g(),p("p",I,[t[12]||(t[12]=s(" You can now log things that you've seen: ")),o.numContacts>0?(g(),p("span",_," click on any name (like "+D(o.firstContactName)+") or ",1)):m("",!0),t[13]||(t[13]=s(" click on the ")),e("span",V,[d(i,{icon:"plus",class:"fa-fw"})]),t[14]||(t[14]=s(" button to express your appreciation for... whatever -- maybe thanks for showing you all these fascinating stories of ")),t[15]||(t[15]=e("em",null,"gratitude",-1)),t[16]||(t[16]=s(". "))])):(g(),p("p",F," The feed underneath this pop-up shows the latest gifts that others have recognized. Once someone registers you, you can log your appreciation, too. ")),t[19]||(t[19]=e("p",{class:"mt-4"}," The more you illuminate cool things people are doing, the more you attract people to work with you. ",-1)),e("p",B,[t[17]||(t[17]=s(" The ")),d(i,{icon:"house-chimney",class:"ml-1 mr-1 text-lg text-white bg-slate-400 px-2 py-2 rounded"}),t[18]||(t[18]=s(" button below brings you back to this feed screen. "))]),e("div",H,[e("div",R,[e("button",{type:"button","data-testId":"closeOnboardingAndFinish",class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[1]||(t[1]=u=>o.onClickClose(!0))}," That's enough help, thanks. "),e("button",{type:"button",class:"block w-full text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[2]||(t[2]=u=>o.$router.push({name:"discover"}))}," Show me more! ")])]),t[20]||(t[20]=e("p",{class:"mt-4 flex items-center"},[s(" To see these instructions and more, click above on "),e("span",{class:"ml-1 mr-1 text-xs uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md"}," Help ")],-1))])):m("",!0),o.page===o.OnboardPage.Discover?(g(),p("div",Y,[e("h1",E,[t[21]||(t[21]=s(" Offer to Interesting Events & People ")),e("div",{class:"text-lg text-center leading-none absolute right-0 -top-1",onClick:t[3]||(t[3]=u=>o.onClickClose(!0))},[d(i,{icon:"xmark",class:"w-[1em]"})])]),t[24]||(t[24]=e("p",null," Once you've seen things that others have given or done, you may find ways you want to contribute, too. It turns out others have proposed activities together, and this page is where you find projects. ",-1)),t[25]||(t[25]=e("p",{class:"mt-4"},' Search for a topic, or search around your neighborhod under "Nearby". ',-1)),t[26]||(t[26]=e("p",{class:"mt-4"}," When you find some that seem interesting, you can offer your help. You are welcome to make your offer conditional, for example if they get 2 other people to help besides you. ",-1)),e("p",W,[t[22]||(t[22]=s(" The ")),d(i,{icon:"magnifying-glass",class:"ml-1 mr-1 text-lg text-white bg-slate-400 px-2 py-2 rounded"}),t[23]||(t[23]=s(" button below brings you to this discovery screen. "))]),e("div",z,[e("div",G,[e("button",{type:"button","data-testId":"closeOnboardingAndFinish",class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[4]||(t[4]=u=>o.onClickClose(!0))}," No more help, thanks. "),e("button",{type:"button",class:"block w-full text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[5]||(t[5]=u=>o.$router.push({name:"projects"}))}," Show me even more. ")])])])):m("",!0),o.page===o.OnboardPage.Create?(g(),p("div",L,[e("h1",M,[t[27]||(t[27]=s(" Fish for Others with Your Projects ")),e("div",{class:"text-lg text-center leading-none absolute right-0 -top-1",onClick:t[6]||(t[6]=u=>o.onClickClose(!0))},[d(i,{icon:"xmark",class:"w-[1em]"})])]),e("p",q,[t[28]||(t[28]=s(" Now you can take a turn: click on the ")),e("span",J,[d(i,{icon:"plus",class:"fa-fw"})]),t[29]||(t[29]=s(" button to throw out projects of your own... anything you'd like to see happen. If your first idea doesn't catch anyone, try, try again... and let others know that this is a good place to find help. "))]),e("p",K,[t[30]||(t[30]=s(" The ")),d(i,{icon:"hand",class:"ml-1 mr-1 text-lg text-white bg-slate-400 px-2 py-2 rounded"}),t[31]||(t[31]=s(" button below brings you here to see your ideas. "))]),e("p",Q,[t[32]||(t[32]=s(" By the way, one good way to get to know your neighbors and their interests is to offer time directly to them. You can do this on the contacts screen ")),d(i,{icon:"users",class:"text-slate-500"}),t[33]||(t[33]=s(" which is a great way to get to know a neighbor's interests. "))]),e("div",U,[e("div",X,[e("button",{type:"button","data-testId":"closeOnboardingAndFinish",class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[7]||(t[7]=u=>o.onClickClose(!0,!0))},t[34]||(t[34]=[s(" Let's go! "),e("br",null,null,-1),s(" See & record gratitude. ")])),e("button",{type:"button",class:"block w-full text-center text-md bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:t[8]||(t[8]=u=>o.$router.push({name:"help"}))}," I want to read more Help. ")])])])):m("",!0)])):m("",!0)}const nt=O(f,[["render",Z]]);export{nt as O}; diff --git a/dist-electron/assets/OnboardingDialog-DBDPRnmU.css b/dist-electron/assets/OnboardingDialog-DBDPRnmU.css new file mode 100644 index 0000000..fff4c2b --- /dev/null +++ b/dist-electron/assets/OnboardingDialog-DBDPRnmU.css @@ -0,0 +1 @@ +.dialog-overlay{z-index:40;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:500px} diff --git a/dist-electron/assets/PhotoDialog-Dn3GjI9b.js b/dist-electron/assets/PhotoDialog-Dn3GjI9b.js new file mode 100644 index 0000000..ad5d1bf --- /dev/null +++ b/dist-electron/assets/PhotoDialog-Dn3GjI9b.js @@ -0,0 +1,20 @@ +var Ni=Object.defineProperty;var Li=(t,a,i)=>a in t?Ni(t,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[a]=i;var A=(t,a,i)=>Li(t,typeof a!="symbol"?a+"":a,i);import{U as Ri,r as $t,W as qi,al as Wi,i as P,E as Hi,C as Si,V as _i,f as Ii,a as Pi,b as Xi,am as Yi,_ as Ui,g as yt,x as R,h as q,j as B,l as kt,w as $i}from"./index-BLqts8WY.js";import{aP as Vi}from"./index-MyY_xqVN.js";/*! + * Cropper.js v1.6.1 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2023-09-17T03:44:19.860Z + */function Vt(t,a){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);a&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,n)}return i}function mi(t){for(var a=1;at.length)&&(a=t.length);for(var i=0,n=new Array(a);i
',da=Number.isNaN||_.isNaN;function v(t){return typeof t=="number"&&!da(t)}var pi=function(t){return t>0&&t<1/0};function jt(t){return typeof t>"u"}function tt(t){return Mt(t)==="object"&&t!==null}var ma=Object.prototype.hasOwnProperty;function at(t){if(!tt(t))return!1;try{var a=t.constructor,i=a.prototype;return a&&i&&ma.call(i,"isPrototypeOf")}catch{return!1}}function T(t){return typeof t=="function"}var ha=Array.prototype.slice;function ki(t){return Array.from?Array.from(t):ha.call(t)}function z(t,a){return t&&T(a)&&(Array.isArray(t)||v(t.length)?ki(t).forEach(function(i,n){a.call(t,i,n,t)}):tt(t)&&Object.keys(t).forEach(function(i){a.call(t,t[i],i,t)})),t}var w=Object.assign||function(t){for(var a=arguments.length,i=new Array(a>1?a-1:0),n=1;n0&&i.forEach(function(e){tt(e)&&Object.keys(e).forEach(function(o){t[o]=e[o]})}),t},ua=/\.\d*(?:0|9){12}\d*$/;function nt(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return ua.test(t)?Math.round(t*a)/a:t}var va=/^width|height|left|top|marginLeft|marginTop$/;function V(t,a){var i=t.style;z(a,function(n,e){va.test(e)&&v(n)&&(n="".concat(n,"px")),i[e]=n})}function fa(t,a){return t.classList?t.classList.contains(a):t.className.indexOf(a)>-1}function M(t,a){if(a){if(v(t.length)){z(t,function(n){M(n,a)});return}if(t.classList){t.classList.add(a);return}var i=t.className.trim();i?i.indexOf(a)<0&&(t.className="".concat(i," ").concat(a)):t.className=a}}function S(t,a){if(a){if(v(t.length)){z(t,function(i){S(i,a)});return}if(t.classList){t.classList.remove(a);return}t.className.indexOf(a)>=0&&(t.className=t.className.replace(a,""))}}function et(t,a,i){if(a){if(v(t.length)){z(t,function(n){et(n,a,i)});return}i?M(t,a):S(t,a)}}var ga=/([a-z\d])([A-Z])/g;function _t(t){return t.replace(ga,"$1-$2").toLowerCase()}function Lt(t,a){return tt(t[a])?t[a]:t.dataset?t.dataset[a]:t.getAttribute("data-".concat(_t(a)))}function mt(t,a,i){tt(i)?t[a]=i:t.dataset?t.dataset[a]=i:t.setAttribute("data-".concat(_t(a)),i)}function xa(t,a){if(tt(t[a]))try{delete t[a]}catch{t[a]=void 0}else if(t.dataset)try{delete t.dataset[a]}catch{t.dataset[a]=void 0}else t.removeAttribute("data-".concat(_t(a)))}var ji=/\s\s*/,zi=function(){var t=!1;if(gt){var a=!1,i=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,a},set:function(e){a=e}});_.addEventListener("test",i,n),_.removeEventListener("test",i,n)}return t}();function W(t,a,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},e=i;a.trim().split(ji).forEach(function(o){if(!zi){var p=t.listeners;p&&p[o]&&p[o][i]&&(e=p[o][i],delete p[o][i],Object.keys(p[o]).length===0&&delete p[o],Object.keys(p).length===0&&delete t.listeners)}t.removeEventListener(o,e,n)})}function L(t,a,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},e=i;a.trim().split(ji).forEach(function(o){if(n.once&&!zi){var p=t.listeners,l=p===void 0?{}:p;e=function(){delete l[o][i],t.removeEventListener(o,e,n);for(var c=arguments.length,s=new Array(c),r=0;rMath.abs(i)&&(i=u)})}),i}function vt(t,a){var i=t.pageX,n=t.pageY,e={endX:i,endY:n};return a?e:mi({startX:i,startY:n},e)}function ya(t){var a=0,i=0,n=0;return z(t,function(e){var o=e.startX,p=e.startY;a+=o,i+=p,n+=1}),a/=n,i/=n,{pageX:a,pageY:i}}function F(t){var a=t.aspectRatio,i=t.height,n=t.width,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",o=pi(n),p=pi(i);if(o&&p){var l=i*a;e==="contain"&&l>n||e==="cover"&&l90?{width:c,height:l}:{width:l,height:c}}function ja(t,a,i,n){var e=a.aspectRatio,o=a.naturalWidth,p=a.naturalHeight,l=a.rotate,c=l===void 0?0:l,s=a.scaleX,r=s===void 0?1:s,d=a.scaleY,u=d===void 0?1:d,h=i.aspectRatio,x=i.naturalWidth,g=i.naturalHeight,k=n.fillColor,C=k===void 0?"transparent":k,y=n.imageSmoothingEnabled,X=y===void 0?!0:y,O=n.imageSmoothingQuality,m=O===void 0?"low":O,f=n.maxWidth,j=f===void 0?1/0:f,H=n.maxHeight,I=H===void 0?1/0:H,Q=n.minWidth,G=Q===void 0?0:Q,Y=n.minHeight,U=Y===void 0?0:Y,Z=document.createElement("canvas"),D=Z.getContext("2d"),ht=F({aspectRatio:h,width:j,height:I}),It=F({aspectRatio:h,width:G,height:U},"cover"),bt=Math.min(ht.width,Math.max(It.width,x)),wt=Math.min(ht.height,Math.max(It.height,g)),Pt=F({aspectRatio:e,width:j,height:I}),Xt=F({aspectRatio:e,width:G,height:U},"cover"),Yt=Math.min(Pt.width,Math.max(Xt.width,o)),Ut=Math.min(Pt.height,Math.max(Xt.height,p)),Oi=[-Yt/2,-Ut/2,Yt,Ut];return Z.width=nt(bt),Z.height=nt(wt),D.fillStyle=C,D.fillRect(0,0,bt,wt),D.save(),D.translate(bt/2,wt/2),D.rotate(c*Math.PI/180),D.scale(r,u),D.imageSmoothingEnabled=X,D.imageSmoothingQuality=m,D.drawImage.apply(D,[t].concat(hi(Oi.map(function(Ti){return Math.floor(nt(Ti))})))),D.restore(),Z}var Ci=String.fromCharCode;function za(t,a,i){var n="";i+=a;for(var e=a;e0;)i.push(Ci.apply(null,ki(e.subarray(0,n)))),e=e.subarray(n);return"data:".concat(a,";base64,").concat(btoa(i.join("")))}function Ba(t){var a=new DataView(t),i;try{var n,e,o;if(a.getUint8(0)===255&&a.getUint8(1)===216)for(var p=a.byteLength,l=2;l+1=8&&(o=s+d)}}}if(o){var u=a.getUint16(o,n),h,x;for(x=0;x=0?e:wi),height:Math.max(i.offsetHeight,o>=0?o:yi)};this.containerData=p,V(n,{width:p.width,height:p.height}),M(t,N),S(n,N)},initCanvas:function(){var t=this.containerData,a=this.imageData,i=this.options.viewMode,n=Math.abs(a.rotate)%180===90,e=n?a.naturalHeight:a.naturalWidth,o=n?a.naturalWidth:a.naturalHeight,p=e/o,l=t.width,c=t.height;t.height*p>t.width?i===3?l=t.height*p:c=t.width/p:i===3?c=t.width/p:l=t.height*p;var s={aspectRatio:p,naturalWidth:e,naturalHeight:o,width:l,height:c};this.canvasData=s,this.limited=i===1||i===2,this.limitCanvas(!0,!0),s.width=Math.min(Math.max(s.width,s.minWidth),s.maxWidth),s.height=Math.min(Math.max(s.height,s.minHeight),s.maxHeight),s.left=(t.width-s.width)/2,s.top=(t.height-s.height)/2,s.oldLeft=s.left,s.oldTop=s.top,this.initialCanvasData=w({},s)},limitCanvas:function(t,a){var i=this.options,n=this.containerData,e=this.canvasData,o=this.cropBoxData,p=i.viewMode,l=e.aspectRatio,c=this.cropped&&o;if(t){var s=Number(i.minCanvasWidth)||0,r=Number(i.minCanvasHeight)||0;p>1?(s=Math.max(s,n.width),r=Math.max(r,n.height),p===3&&(r*l>s?s=r*l:r=s/l)):p>0&&(s?s=Math.max(s,c?o.width:0):r?r=Math.max(r,c?o.height:0):c&&(s=o.width,r=o.height,r*l>s?s=r*l:r=s/l));var d=F({aspectRatio:l,width:s,height:r});s=d.width,r=d.height,e.minWidth=s,e.minHeight=r,e.maxWidth=1/0,e.maxHeight=1/0}if(a)if(p>(c?0:1)){var u=n.width-e.width,h=n.height-e.height;e.minLeft=Math.min(0,u),e.minTop=Math.min(0,h),e.maxLeft=Math.max(0,u),e.maxTop=Math.max(0,h),c&&this.limited&&(e.minLeft=Math.min(o.left,o.left+(o.width-e.width)),e.minTop=Math.min(o.top,o.top+(o.height-e.height)),e.maxLeft=o.left,e.maxTop=o.top,p===2&&(e.width>=n.width&&(e.minLeft=Math.min(0,u),e.maxLeft=Math.max(0,u)),e.height>=n.height&&(e.minTop=Math.min(0,h),e.maxTop=Math.max(0,h))))}else e.minLeft=-e.width,e.minTop=-e.height,e.maxLeft=n.width,e.maxTop=n.height},renderCanvas:function(t,a){var i=this.canvasData,n=this.imageData;if(a){var e=ka({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),o=e.width,p=e.height,l=i.width*(o/i.naturalWidth),c=i.height*(p/i.naturalHeight);i.left-=(l-i.width)/2,i.top-=(c-i.height)/2,i.width=l,i.height=c,i.aspectRatio=o/p,i.naturalWidth=o,i.naturalHeight=p,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.widthi.maxHeight||i.heighta.width?e.height=e.width/i:e.width=e.height*i),this.cropBoxData=e,this.limitCropBox(!0,!0),e.width=Math.min(Math.max(e.width,e.minWidth),e.maxWidth),e.height=Math.min(Math.max(e.height,e.minHeight),e.maxHeight),e.width=Math.max(e.minWidth,e.width*n),e.height=Math.max(e.minHeight,e.height*n),e.left=a.left+(a.width-e.width)/2,e.top=a.top+(a.height-e.height)/2,e.oldLeft=e.left,e.oldTop=e.top,this.initialCropBoxData=w({},e)},limitCropBox:function(t,a){var i=this.options,n=this.containerData,e=this.canvasData,o=this.cropBoxData,p=this.limited,l=i.aspectRatio;if(t){var c=Number(i.minCropBoxWidth)||0,s=Number(i.minCropBoxHeight)||0,r=p?Math.min(n.width,e.width,e.width+e.left,n.width-e.left):n.width,d=p?Math.min(n.height,e.height,e.height+e.top,n.height-e.top):n.height;c=Math.min(c,n.width),s=Math.min(s,n.height),l&&(c&&s?s*l>c?s=c/l:c=s*l:c?s=c/l:s&&(c=s*l),d*l>r?d=r/l:r=d*l),o.minWidth=Math.min(c,r),o.minHeight=Math.min(s,d),o.maxWidth=r,o.maxHeight=d}a&&(p?(o.minLeft=Math.max(0,e.left),o.minTop=Math.max(0,e.top),o.maxLeft=Math.min(n.width,e.left+e.width)-o.width,o.maxTop=Math.min(n.height,e.top+e.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=n.width-o.width,o.maxTop=n.height-o.height))},renderCropBox:function(){var t=this.options,a=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.widthi.maxHeight||i.height=a.width&&i.height>=a.height?fi:Ht),V(this.cropBox,w({width:i.width,height:i.height},ct({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),ot(this.element,At,this.getData())}},Oa={initPreview:function(){var t=this.element,a=this.crossOrigin,i=this.options.preview,n=a?this.crossOriginUrl:this.url,e=t.alt||"The image to preview",o=document.createElement("img");if(a&&(o.crossOrigin=a),o.src=n,o.alt=e,this.viewBox.appendChild(o),this.viewBoxImage=o,!!i){var p=i;typeof i=="string"?p=t.ownerDocument.querySelectorAll(i):i.querySelector&&(p=[i]),this.previews=p,z(p,function(l){var c=document.createElement("img");mt(l,ut,{width:l.offsetWidth,height:l.offsetHeight,html:l.innerHTML}),a&&(c.crossOrigin=a),c.src=n,c.alt=e,c.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',l.innerHTML="",l.appendChild(c)})}},resetPreview:function(){z(this.previews,function(t){var a=Lt(t,ut);V(t,{width:a.width,height:a.height}),t.innerHTML=a.html,xa(t,ut)})},preview:function(){var t=this.imageData,a=this.canvasData,i=this.cropBoxData,n=i.width,e=i.height,o=t.width,p=t.height,l=i.left-a.left-t.left,c=i.top-a.top-t.top;!this.cropped||this.disabled||(V(this.viewBoxImage,w({width:o,height:p},ct(w({translateX:-l,translateY:-c},t)))),z(this.previews,function(s){var r=Lt(s,ut),d=r.width,u=r.height,h=d,x=u,g=1;n&&(g=d/n,x=e*g),e&&x>u&&(g=u/e,h=n*g,x=u),V(s,{width:h,height:x}),V(s.getElementsByTagName("img")[0],w({width:o*g,height:p*g},ct(w({translateX:-l*g,translateY:-c*g},t))))}))}},Ta={bind:function(){var t=this.element,a=this.options,i=this.cropper;T(a.cropstart)&&L(t,Tt,a.cropstart),T(a.cropmove)&&L(t,Ot,a.cropmove),T(a.cropend)&&L(t,Et,a.cropend),T(a.crop)&&L(t,At,a.crop),T(a.zoom)&&L(t,Nt,a.zoom),L(i,Kt,this.onCropStart=this.cropStart.bind(this)),a.zoomable&&a.zoomOnWheel&&L(i,ei,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),a.toggleDragModeOnDblclick&&L(i,Zt,this.onDblclick=this.dblclick.bind(this)),L(t.ownerDocument,Jt,this.onCropMove=this.cropMove.bind(this)),L(t.ownerDocument,ti,this.onCropEnd=this.cropEnd.bind(this)),a.responsive&&L(window,ai,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,a=this.options,i=this.cropper;T(a.cropstart)&&W(t,Tt,a.cropstart),T(a.cropmove)&&W(t,Ot,a.cropmove),T(a.cropend)&&W(t,Et,a.cropend),T(a.crop)&&W(t,At,a.crop),T(a.zoom)&&W(t,Nt,a.zoom),W(i,Kt,this.onCropStart),a.zoomable&&a.zoomOnWheel&&W(i,ei,this.onWheel,{passive:!1,capture:!0}),a.toggleDragModeOnDblclick&&W(i,Zt,this.onDblclick),W(t.ownerDocument,Jt,this.onCropMove),W(t.ownerDocument,ti,this.onCropEnd),a.responsive&&W(window,ai,this.onResize)}},Na={resize:function(){if(!this.disabled){var t=this.options,a=this.container,i=this.containerData,n=a.offsetWidth/i.width,e=a.offsetHeight/i.height,o=Math.abs(n-1)>Math.abs(e-1)?n:e;if(o!==1){var p,l;t.restore&&(p=this.getCanvasData(),l=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(z(p,function(c,s){p[s]=c*o})),this.setCropBoxData(z(l,function(c,s){l[s]=c*o})))}}},dblclick:function(){this.disabled||this.options.dragMode===bi||this.setDragMode(fa(this.dragBox,Dt)?xi:St)},wheel:function(t){var a=this,i=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){a.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*i,t)))},cropStart:function(t){var a=t.buttons,i=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(v(a)&&a!==1||v(i)&&i!==0||t.ctrlKey))){var n=this.options,e=this.pointers,o;t.changedTouches?z(t.changedTouches,function(p){e[p.identifier]=vt(p)}):e[t.pointerId||0]=vt(t),Object.keys(e).length>1&&n.zoomable&&n.zoomOnTouch?o=gi:o=Lt(t.target,dt),pa.test(o)&&ot(this.element,Tt,{originalEvent:t,action:o})!==!1&&(t.preventDefault(),this.action=o,this.cropping=!1,o===vi&&(this.cropping=!0,M(this.dragBox,ft)))}},cropMove:function(t){var a=this.action;if(!(this.disabled||!a)){var i=this.pointers;t.preventDefault(),ot(this.element,Ot,{originalEvent:t,action:a})!==!1&&(t.changedTouches?z(t.changedTouches,function(n){w(i[n.identifier]||{},vt(n,!0))}):w(i[t.pointerId||0]||{},vt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var a=this.action,i=this.pointers;t.changedTouches?z(t.changedTouches,function(n){delete i[n.identifier]}):delete i[t.pointerId||0],a&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,et(this.dragBox,ft,this.cropped&&this.options.modal)),ot(this.element,Et,{originalEvent:t,action:a}))}}},La={change:function(t){var a=this.options,i=this.canvasData,n=this.containerData,e=this.cropBoxData,o=this.pointers,p=this.action,l=a.aspectRatio,c=e.left,s=e.top,r=e.width,d=e.height,u=c+r,h=s+d,x=0,g=0,k=n.width,C=n.height,y=!0,X;!l&&t.shiftKey&&(l=r&&d?r/d:1),this.limited&&(x=e.minLeft,g=e.minTop,k=x+Math.min(n.width,i.width,i.left+i.width),C=g+Math.min(n.height,i.height,i.top+i.height));var O=o[Object.keys(o)[0]],m={x:O.endX-O.startX,y:O.endY-O.startY},f=function(j){switch(j){case K:u+m.x>k&&(m.x=k-u);break;case J:c+m.xC&&(m.y=C-h);break}};switch(p){case Ht:c+=m.x,s+=m.y;break;case K:if(m.x>=0&&(u>=k||l&&(s<=g||h>=C))){y=!1;break}f(K),r+=m.x,r<0&&(p=J,r=-r,c-=r),l&&(d=r/l,s+=(e.height-d)/2);break;case $:if(m.y<=0&&(s<=g||l&&(c<=x||u>=k))){y=!1;break}f($),d-=m.y,s+=m.y,d<0&&(p=it,d=-d,s-=d),l&&(r=d*l,c+=(e.width-r)/2);break;case J:if(m.x<=0&&(c<=x||l&&(s<=g||h>=C))){y=!1;break}f(J),r-=m.x,c+=m.x,r<0&&(p=K,r=-r,c-=r),l&&(d=r/l,s+=(e.height-d)/2);break;case it:if(m.y>=0&&(h>=C||l&&(c<=x||u>=k))){y=!1;break}f(it),d+=m.y,d<0&&(p=$,d=-d,s-=d),l&&(r=d*l,c+=(e.width-r)/2);break;case pt:if(l){if(m.y<=0&&(s<=g||u>=k)){y=!1;break}f($),d-=m.y,s+=m.y,r=d*l}else f($),f(K),m.x>=0?ug&&(d-=m.y,s+=m.y):(d-=m.y,s+=m.y);r<0&&d<0?(p=lt,d=-d,r=-r,s-=d,c-=r):r<0?(p=st,r=-r,c-=r):d<0&&(p=rt,d=-d,s-=d);break;case st:if(l){if(m.y<=0&&(s<=g||c<=x)){y=!1;break}f($),d-=m.y,s+=m.y,r=d*l,c+=e.width-r}else f($),f(J),m.x<=0?c>x?(r-=m.x,c+=m.x):m.y<=0&&s<=g&&(y=!1):(r-=m.x,c+=m.x),m.y<=0?s>g&&(d-=m.y,s+=m.y):(d-=m.y,s+=m.y);r<0&&d<0?(p=rt,d=-d,r=-r,s-=d,c-=r):r<0?(p=pt,r=-r,c-=r):d<0&&(p=lt,d=-d,s-=d);break;case lt:if(l){if(m.x<=0&&(c<=x||h>=C)){y=!1;break}f(J),r-=m.x,c+=m.x,d=r/l}else f(it),f(J),m.x<=0?c>x?(r-=m.x,c+=m.x):m.y>=0&&h>=C&&(y=!1):(r-=m.x,c+=m.x),m.y>=0?h=0&&(u>=k||h>=C)){y=!1;break}f(K),r+=m.x,d=r/l}else f(it),f(K),m.x>=0?u=0&&h>=C&&(y=!1):r+=m.x,m.y>=0?h0?p=m.y>0?rt:pt:m.x<0&&(c-=r,p=m.y>0?lt:st),m.y<0&&(s-=d),this.cropped||(S(this.cropBox,N),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}y&&(e.width=r,e.height=d,e.left=c,e.top=s,this.action=p,this.renderCropBox()),z(o,function(j){j.startX=j.endX,j.startY=j.endY})}},Ra={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&M(this.dragBox,ft),S(this.cropBox,N),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=w({},this.initialImageData),this.canvasData=w({},this.initialCanvasData),this.cropBoxData=w({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(w(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),S(this.dragBox,ft),M(this.cropBox,N)),this},replace:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),a?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,z(this.previews,function(i){i.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,S(this.cropper,Qt)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,M(this.cropper,Qt)),this},destroy:function(){var t=this.element;return t[b]?(t[b]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.canvasData,n=i.left,e=i.top;return this.moveTo(jt(t)?t:n+Number(t),jt(a)?a:e+Number(a))},moveTo:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.canvasData,n=!1;return t=Number(t),a=Number(a),this.ready&&!this.disabled&&this.options.movable&&(v(t)&&(i.left=t,n=!0),v(a)&&(i.top=a,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,a){var i=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(i.width*t/i.naturalWidth,null,a)},zoomTo:function(t,a,i){var n=this.options,e=this.canvasData,o=e.width,p=e.height,l=e.naturalWidth,c=e.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&n.zoomable){var s=l*t,r=c*t;if(ot(this.element,Nt,{ratio:t,oldRatio:o/l,originalEvent:i})===!1)return this;if(i){var d=this.pointers,u=Mi(this.cropper),h=d&&Object.keys(d).length?ya(d):{pageX:i.pageX,pageY:i.pageY};e.left-=(s-o)*((h.pageX-u.left-e.left)/o),e.top-=(r-p)*((h.pageY-u.top-e.top)/p)}else at(a)&&v(a.x)&&v(a.y)?(e.left-=(s-o)*((a.x-e.left)/o),e.top-=(r-p)*((a.y-e.top)/p)):(e.left-=(s-o)/2,e.top-=(r-p)/2);e.width=s,e.height=r,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),v(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var a=this.imageData.scaleY;return this.scale(t,v(a)?a:1)},scaleY:function(t){var a=this.imageData.scaleX;return this.scale(v(a)?a:1,t)},scale:function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.imageData,n=!1;return t=Number(t),a=Number(a),this.ready&&!this.disabled&&this.options.scalable&&(v(t)&&(i.scaleX=t,n=!0),v(a)&&(i.scaleY=a,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,a=this.options,i=this.imageData,n=this.canvasData,e=this.cropBoxData,o;if(this.ready&&this.cropped){o={x:e.left-n.left,y:e.top-n.top,width:e.width,height:e.height};var p=i.width/i.naturalWidth;if(z(o,function(s,r){o[r]=s/p}),t){var l=Math.round(o.y+o.height),c=Math.round(o.x+o.width);o.x=Math.round(o.x),o.y=Math.round(o.y),o.width=c-o.x,o.height=l-o.y}}else o={x:0,y:0,width:0,height:0};return a.rotatable&&(o.rotate=i.rotate||0),a.scalable&&(o.scaleX=i.scaleX||1,o.scaleY=i.scaleY||1),o},setData:function(t){var a=this.options,i=this.imageData,n=this.canvasData,e={};if(this.ready&&!this.disabled&&at(t)){var o=!1;a.rotatable&&v(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,o=!0),a.scalable&&(v(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,o=!0),v(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var p=i.width/i.naturalWidth;v(t.x)&&(e.left=t.x*p+n.left),v(t.y)&&(e.top=t.y*p+n.top),v(t.width)&&(e.width=t.width*p),v(t.height)&&(e.height=t.height*p),this.setCropBoxData(e)}return this},getContainerData:function(){return this.ready?w({},this.containerData):{}},getImageData:function(){return this.sized?w({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,a={};return this.ready&&z(["left","top","width","height","naturalWidth","naturalHeight"],function(i){a[i]=t[i]}),a},setCanvasData:function(t){var a=this.canvasData,i=a.aspectRatio;return this.ready&&!this.disabled&&at(t)&&(v(t.left)&&(a.left=t.left),v(t.top)&&(a.top=t.top),v(t.width)?(a.width=t.width,a.height=t.width/i):v(t.height)&&(a.height=t.height,a.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,a;return this.ready&&this.cropped&&(a={left:t.left,top:t.top,width:t.width,height:t.height}),a||{}},setCropBoxData:function(t){var a=this.cropBoxData,i=this.options.aspectRatio,n,e;return this.ready&&this.cropped&&!this.disabled&&at(t)&&(v(t.left)&&(a.left=t.left),v(t.top)&&(a.top=t.top),v(t.width)&&t.width!==a.width&&(n=!0,a.width=t.width),v(t.height)&&t.height!==a.height&&(e=!0,a.height=t.height),i&&(n?a.height=a.width/i:e&&(a.width=a.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var a=this.canvasData,i=ja(this.image,this.imageData,a,t);if(!this.cropped)return i;var n=this.getData(t.rounded),e=n.x,o=n.y,p=n.width,l=n.height,c=i.width/Math.floor(a.naturalWidth);c!==1&&(e*=c,o*=c,p*=c,l*=c);var s=p/l,r=F({aspectRatio:s,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),d=F({aspectRatio:s,width:t.minWidth||0,height:t.minHeight||0},"cover"),u=F({aspectRatio:s,width:t.width||(c!==1?i.width:p),height:t.height||(c!==1?i.height:l)}),h=u.width,x=u.height;h=Math.min(r.width,Math.max(d.width,h)),x=Math.min(r.height,Math.max(d.height,x));var g=document.createElement("canvas"),k=g.getContext("2d");g.width=nt(h),g.height=nt(x),k.fillStyle=t.fillColor||"transparent",k.fillRect(0,0,h,x);var C=t.imageSmoothingEnabled,y=C===void 0?!0:C,X=t.imageSmoothingQuality;k.imageSmoothingEnabled=y,X&&(k.imageSmoothingQuality=X);var O=i.width,m=i.height,f=e,j=o,H,I,Q,G,Y,U;f<=-p||f>O?(f=0,H=0,Q=0,Y=0):f<=0?(Q=-f,f=0,H=Math.min(O,p+f),Y=H):f<=O&&(Q=0,H=Math.min(p,O-f),Y=H),H<=0||j<=-l||j>m?(j=0,I=0,G=0,U=0):j<=0?(G=-j,j=0,I=Math.min(m,l+j),U=I):j<=m&&(G=0,I=Math.min(l,m-j),U=I);var Z=[f,j,H,I];if(Y>0&&U>0){var D=h/p;Z.push(Q*D,G*D,Y*D,U*D)}return k.drawImage.apply(k,[i].concat(hi(Z.map(function(ht){return Math.floor(nt(ht))})))),g},setAspectRatio:function(t){var a=this.options;return!this.disabled&&!jt(t)&&(a.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var a=this.options,i=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var e=t===St,o=a.movable&&t===xi;t=e||o?t:bi,a.dragMode=t,mt(i,dt,t),et(i,Dt,e),et(i,Bt,o),a.cropBoxMovable||(mt(n,dt,t),et(n,Dt,e),et(n,Bt,o))}return this}},qa=_.Cropper,Di=function(){function t(a){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Fi(this,t),!a||!la.test(a.tagName))throw new Error("The first argument is required and must be an or element.");this.element=a,this.options=w({},oi,at(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return Qi(t,[{key:"init",value:function(){var a=this.element,i=a.tagName.toLowerCase(),n;if(!a[b]){if(a[b]=this,i==="img"){if(this.isImg=!0,n=a.getAttribute("src")||"",this.originalUrl=n,!n)return;n=a.src}else i==="canvas"&&window.HTMLCanvasElement&&(n=a.toDataURL());this.load(n)}}},{key:"load",value:function(a){var i=this;if(a){this.url=a,this.imageData={};var n=this.element,e=this.options;if(!e.rotatable&&!e.scalable&&(e.checkOrientation=!1),!e.checkOrientation||!window.ArrayBuffer){this.clone();return}if(sa.test(a)){ra.test(a)?this.read(Ca(a)):this.clone();return}var o=new XMLHttpRequest,p=this.clone.bind(this);this.reloading=!0,this.xhr=o,o.onabort=p,o.onerror=p,o.ontimeout=p,o.onprogress=function(){o.getResponseHeader("content-type")!==ni&&o.abort()},o.onload=function(){i.read(o.response)},o.onloadend=function(){i.reloading=!1,i.xhr=null},e.checkCrossOrigin&&si(a)&&n.crossOrigin&&(a=ri(a)),o.open("GET",a,!0),o.responseType="arraybuffer",o.withCredentials=n.crossOrigin==="use-credentials",o.send()}}},{key:"read",value:function(a){var i=this.options,n=this.imageData,e=Ba(a),o=0,p=1,l=1;if(e>1){this.url=Da(a,ni);var c=Aa(e);o=c.rotate,p=c.scaleX,l=c.scaleY}i.rotatable&&(n.rotate=o),i.scalable&&(n.scaleX=p,n.scaleY=l),this.clone()}},{key:"clone",value:function(){var a=this.element,i=this.url,n=a.crossOrigin,e=i;this.options.checkCrossOrigin&&si(i)&&(n||(n="anonymous"),e=ri(i)),this.crossOrigin=n,this.crossOriginUrl=e;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=e||i,o.alt=a.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),M(o,Gt),a.parentNode.insertBefore(o,a.nextSibling)}},{key:"start",value:function(){var a=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var n=_.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(_.navigator.userAgent),e=function(l,c){w(a.imageData,{naturalWidth:l,naturalHeight:c,aspectRatio:l/c}),a.initialImageData=w({},a.imageData),a.sizing=!1,a.sized=!0,a.build()};if(i.naturalWidth&&!n){e(i.naturalWidth,i.naturalHeight);return}var o=document.createElement("img"),p=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){e(o.width,o.height),n||p.removeChild(o)},o.src=i.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",p.appendChild(o))}},{key:"stop",value:function(){var a=this.image;a.onload=null,a.onerror=null,a.parentNode.removeChild(a),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var a=this.element,i=this.options,n=this.image,e=a.parentNode,o=document.createElement("div");o.innerHTML=ca;var p=o.querySelector(".".concat(b,"-container")),l=p.querySelector(".".concat(b,"-canvas")),c=p.querySelector(".".concat(b,"-drag-box")),s=p.querySelector(".".concat(b,"-crop-box")),r=s.querySelector(".".concat(b,"-face"));this.container=e,this.cropper=p,this.canvas=l,this.dragBox=c,this.cropBox=s,this.viewBox=p.querySelector(".".concat(b,"-view-box")),this.face=r,l.appendChild(n),M(a,N),e.insertBefore(p,a.nextSibling),S(n,Gt),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,M(s,N),i.guides||M(s.getElementsByClassName("".concat(b,"-dashed")),N),i.center||M(s.getElementsByClassName("".concat(b,"-center")),N),i.background&&M(p,"".concat(b,"-bg")),i.highlight||M(r,aa),i.cropBoxMovable&&(M(r,Bt),mt(r,dt,Ht)),i.cropBoxResizable||(M(s.getElementsByClassName("".concat(b,"-line")),N),M(s.getElementsByClassName("".concat(b,"-point")),N)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),T(i.ready)&&L(a,ii,i.ready,{once:!0}),ot(a,ii)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var a=this.cropper.parentNode;a&&a.removeChild(this.cropper),S(this.element,N)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=qa,t}},{key:"setDefaults",value:function(a){w(oi,at(a)&&a)}}]),t}();w(Di.prototype,Ea,Oa,Ta,Na,La,Ra);function Wa(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function xt(){this._types=Object.create(null),this._extensions=Object.create(null);for(let t=0;t{if(!Ai||document.querySelector(a)){e();return}function o(p){p.addEventListener("load",n),p.addEventListener("error",e),p.addEventListener("abort",e)}switch(t){case"js":{const p=document.createElement("script");p.async=!0,p.src=i,o(p),document.head.appendChild(p);break}case"css":{const p=document.createElement("link");p.id=a,p.rel="stylesheet",p.href=i,o(p),document.head.appendChild(p);break}case"style":{const p=document.createElement("style");p.id=a,o(p),document.head.appendChild(p),p.appendChild(document.createTextNode(i));break}}})}function li({mode:t,dataURI:a}){return t==="round"?"image/png":Ua(a)}function ci(t){const a=document.createElement("canvas"),i=a.getContext("2d");if(!i)return a;const{width:n,height:e}=t;return a.width=n,a.height=e,i.imageSmoothingEnabled=!0,i.drawImage(t,0,0,n,e),i.globalCompositeOperation="destination-in",i.beginPath(),i.arc(n/2,e/2,Math.min(n,e)/2,0,2*Math.PI,!0),i.fill(),a}function di(t,a={}){if(!Bi(t))return a;const{mode:i,width:n,height:e}=t;switch(i){case"fixedSize":case"round":{a.width=n,a.height=e;break}}return a}const $a={img:{type:String,required:!0,default:""},boxStyle:{type:Object,required:!1,default:()=>({})},options:{type:Object,required:!1,default:()=>({})},presetMode:{type:Object,required:!1,default:()=>({})}},Va=`/*! + * Cropper.js v1.6.1 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2023-09-17T03:44:17.565Z + */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width: 768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width: 992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width: 1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed} +`,Fa=`.vue--picture-cropper__wrap{width:100%;height:100%;margin:0}.vue--picture-cropper__img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.vue--picture-cropper__wrap-round .cropper-view-box,.vue--picture-cropper__wrap-round .cropper-face{border-radius:50%} +`;Ei({type:"style",id:"cropperjs",resource:Va}).catch(t=>{console.log(t)});Ei({type:"style",id:"vue-picture-cropper",resource:Fa}).catch(t=>{console.log(t)});let E;const Qa=Ri({name:"VuePictureCropper",props:$a,setup(t){const a=$t(),i=$t("");async function n(){await Hi();const s=window.setInterval(()=>{if(a.value)try{E=new Di(a.value,t.options),window.clearInterval(s),o(),i.value=li({mode:t.presetMode.mode,dataURI:t.img}),a.value.addEventListener("ready",()=>{e()})}catch(r){console.log(r)}},10)}function e(){if(!Bi(t.presetMode))return;const{mode:s,width:r,height:d}=t.presetMode;switch(s){case"fixedSize":case"round":{E.setCropBoxData({width:r,height:d});break}}}function o(){E.getDataURL=p,E.getBlob=l,E.getFile=c}function p(s={}){s=di(t.presetMode,s);try{let r=E.getCroppedCanvas(s);return t.presetMode.mode==="round"&&(r=ci(r)),r.toDataURL(i.value)}catch{return""}}async function l(s={}){return s=di(t.presetMode,s),new Promise(r=>{try{let d=E.getCroppedCanvas(s);t.presetMode.mode==="round"&&(d=ci(d)),d.toBlob(u=>{r(u)},i.value)}catch{r(null)}})}async function c(s={}){const{fileName:r}=s,d=i.value.replace(/image\//,""),u=r?`${r}.${d}`:`cropped-${Date.now()}.${d}`,h=await l(s);return h?new File([h],u,{type:i.value}):null}return qi(()=>t.img,async()=>{if(!E){await n();return}try{E.replace(t.img),i.value=li({mode:t.presetMode.mode,dataURI:t.img}),o()}catch(s){console.log(s)}},{immediate:!0}),Wi(()=>{E&&(E.destroy(),E=null)}),()=>P("div",{class:`vue--picture-cropper__wrap ${t.presetMode.mode==="round"?"vue--picture-cropper__wrap-round":""}`,style:t.boxStyle},[P("img",{ref:a,class:"vue--picture-cropper__img",src:t.img},null)])}});var Ga=Object.defineProperty,Za=Object.getOwnPropertyDescriptor,Ka=(t,a,i,n)=>{for(var e=n>1?void 0:n?Za(a,i):a,o=t.length-1,p;o>=0;o--)(p=t[o])&&(e=(n?p(a,i,e):p(e))||e);return n&&e&&Ga(a,i,e),e};let Rt=class extends _i{constructor(){super(...arguments);A(this,"$notify");A(this,"activeDeviceNumber",0);A(this,"activeDid","");A(this,"blob");A(this,"claimType","");A(this,"crop",!1);A(this,"fileName");A(this,"mirror",!1);A(this,"numDevices",0);A(this,"setImageCallback",()=>{});A(this,"showRetry",!0);A(this,"uploading",!1);A(this,"visible",!1);A(this,"URL",window.URL||window.webkitURL)}async mounted(){try{const i=await Ii();this.activeDid=i.activeDid||""}catch(i){console.error("Error retrieving settings from database:",i),this.$notify({group:"alert",type:"danger",title:"Error",text:i.message||"There was an error retrieving your settings."},-1)}}open(i,n,e,o,p){this.visible=!0,this.claimType=n,this.crop=!!e;const l=document.querySelector("#QuickNav");l&&(l.style.display="none"),this.setImageCallback=i,o?(this.blob=o,this.fileName=p,this.showRetry=!1):(this.blob=void 0,this.fileName=void 0,this.showRetry=!0)}close(){this.visible=!1;const i=document.querySelector("#QuickNav");i&&(i.style.display=""),this.blob=void 0}async cameraStarted(){const i=this.$refs.camera;if(i){this.numDevices=(await i.devices(["videoinput"])).length,this.mirror=i.facingMode==="user";const n=i.currentDeviceID(),e=await i.devices(["videoinput"]);this.activeDeviceNumber=e.findIndex(o=>o.deviceId===n)}}async switchCamera(){const i=this.$refs.camera;this.activeDeviceNumber=(this.activeDeviceNumber+1)%this.numDevices;const n=await(i==null?void 0:i.devices(["videoinput"]));await(i==null?void 0:i.changeCamera(n[this.activeDeviceNumber].deviceId))}async takeImage(){var c,s,r,d,u,h;const i=this.$refs.camera;let n=(c=i==null?void 0:i.resolution)==null?void 0:c.height,e=(s=i==null?void 0:i.resolution)==null?void 0:s.width;const o=e/n,p=window.innerWidth/window.innerHeight;o>1&&p<1?(n=(r=i==null?void 0:i.resolution)==null?void 0:r.width,e=(d=i==null?void 0:i.resolution)==null?void 0:d.height):o<1&&p>1&&(n=(u=i==null?void 0:i.resolution)==null?void 0:u.width,e=(h=i==null?void 0:i.resolution)==null?void 0:h.height);const l=e/n;if(lt.close())},[P(p,{icon:"xmark",class:"w-[1em]"})])]),t.uploading?(R(),q("div",pe,[P(p,{icon:"spinner",class:"fa-spin fa-3x text-center block px-12 py-12"})])):t.blob?(R(),q("div",se,[t.crop?(R(),q("div",re,[P(l,{boxStyle:{backgroundColor:"#f8f8f8",margin:"auto"},img:t.createBlobURL(t.blob),options:{viewMode:1,dragMode:"crop",aspectRatio:9/9},class:"max-h-[90vh] max-w-[90vw] object-contain"},null,8,["img"])])):(R(),q("div",le,[B("div",ce,[B("img",{src:t.createBlobURL(t.blob),class:"mt-2 rounded max-h-[90vh] max-w-[90vw] object-contain"},null,8,de)])])),B("div",me,[B("button",{onClick:a[1]||(a[1]=(...s)=>t.uploadImage&&t.uploadImage(...s)),class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white py-1 px-2 rounded-md"},a[7]||(a[7]=[B("span",null,"Upload",-1)]))]),t.showRetry?(R(),q("div",he,[B("button",{onClick:a[2]||(a[2]=(...s)=>t.retryImage&&t.retryImage(...s)),class:"bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white py-1 px-2 rounded-md"},a[8]||(a[8]=[B("span",null,"Retry",-1)]))])):kt("",!0)])):(R(),q("div",ue,[P(c,{facingMode:"environment",autoplay:"",ref:"camera",onStarted:a[6]||(a[6]=s=>t.cameraStarted())},{default:$i(()=>[B("div",ve,[B("button",{onClick:a[3]||(a[3]=s=>t.takeImage()),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold p-3 rounded-full text-2xl leading-none"},[P(p,{icon:"camera",class:"w-[1em]"})])]),B("div",fe,[B("button",{onClick:a[4]||(a[4]=s=>t.swapMirrorClass()),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold p-3 rounded-full text-2xl leading-none"},[P(p,{icon:"left-right",class:"w-[1em]"})])]),t.numDevices>1?(R(),q("div",ge,[B("button",{onClick:a[5]||(a[5]=s=>t.switchCamera()),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold p-3 rounded-full text-2xl leading-none"},[P(p,{icon:"rotate",class:"w-[1em]"})])])):kt("",!0)]),_:1},512)],512))])])):kt("",!0)}const je=Ui(Rt,[["render",xe]]);export{je as P}; diff --git a/dist-electron/assets/PhotoDialog-VFFukDsZ.css b/dist-electron/assets/PhotoDialog-VFFukDsZ.css new file mode 100644 index 0000000..05b157b --- /dev/null +++ b/dist-electron/assets/PhotoDialog-VFFukDsZ.css @@ -0,0 +1 @@ +.dialog-overlay{z-index:60;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:700px}.mirror-video{transform:scaleX(-1);-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1)} diff --git a/dist-electron/assets/ProjectIcon-BlrP4rvy.js b/dist-electron/assets/ProjectIcon-BlrP4rvy.js new file mode 100644 index 0000000..54d9ae7 --- /dev/null +++ b/dist-electron/assets/ProjectIcon-BlrP4rvy.js @@ -0,0 +1 @@ +var K=Object.defineProperty;var N=(o,n,t)=>n in o?K(o,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[n]=t;var O=(o,n,t)=>N(o,typeof n!="symbol"?n+"":n,t);import{aa as P,C as $,V as U,_ as V,x as F,h as L,j as W}from"./index-BLqts8WY.js";function j(o,n,t){return parseInt(o.substr(n,t),16)}function E(o){return o|=0,o<0?"00":o<16?"0"+o.toString(16):o<256?o.toString(16):"ff"}function v(o,n,t){return t=t<0?t+6:t>6?t-6:t,E(255*(t<1?o+(n-o)*t:t<3?n:t<4?o+(n-o)*(4-t):o))}function Z(o){if(/^#[0-9a-f]{3,8}$/i.test(o)){let n;const t=o.length;if(t<6){const r=o[1],s=o[2],i=o[3],e=o[4]||"";n="#"+r+r+s+s+i+i+e+e}return(t==7||t>8)&&(n=o),n}}function q(o,n,t){let r;if(n==0){const s=E(t*255);r=s+s+s}else{const s=t<=.5?t*(n+1):t+n-t*n,i=t*2-s;r=v(i,s,o*6+2)+v(i,s,o*6)+v(i,s,o*6-2)}return"#"+r}function y(o,n,t){const r=[.55,.5,.5,.46,.6,.55,.55],s=r[o*6+.5|0];return t=t<.5?t*s*2:s+(t-.5)*(1-s)*2,q(o,n,t)}const Y=typeof window<"u"?window:typeof self<"u"?self:typeof global<"u"?global:{},R={V:"jdenticon_config",n:"config"};var J={};function X(o,n){const t=typeof o=="object"&&o||J[R.n]||Y[R.V]||{},r=t.lightness||{},s=t.saturation||{},i="color"in s?s.color:s,e=s.grayscale,u=t.backColor,a=t.padding;function f(d,c){let p=r[d];return p&&p.length>1||(p=c),function(h){return h=p[0]+h*(p[1]-p[0]),h<0?0:h>1?1:h}}function g(d){const c=t.hues;let p;return c&&c.length>0&&(p=c[0|.999*d*c.length]),typeof p=="number"?(p/360%1+1)%1:d}return{W:g,o:typeof i=="number"?i:.5,D:typeof e=="number"?e:0,p:f("color",[.4,.8]),F:f("grayscale",[.3,.9]),G:Z(u),X:typeof o=="number"?o:typeof a=="number"?a:n}}class T{constructor(n,t){this.x=n,this.y=t}}class D{constructor(n,t,r,s){this.q=n,this.t=t,this.H=r,this.Y=s}I(n,t,r,s){const i=this.q+this.H,e=this.t+this.H,u=this.Y;return u===1?new T(i-t-(s||0),this.t+n):u===2?new T(i-n-(r||0),e-t-(s||0)):u===3?new T(this.q+t,e-n-(r||0)):new T(this.q+n,this.t+t)}}const Q=new D(0,0,0,0);class z{constructor(n){this.J=n,this.u=Q}g(n,t){const r=t?-2:2,s=[];for(let i=t?n.length-2:0;i=0;i+=r)s.push(this.u.I(n[i],n[i+1]));this.J.g(s)}h(n,t,r,s){const i=this.u.I(n,t,r,r);this.J.h(i,r,s)}i(n,t,r,s,i){this.g([n,t,n+r,t,n+r,t+s,n,t+s],i)}j(n,t,r,s,i,e){const u=[n+r,t,n+r,t+s,n,t+s,n,t];u.splice((i||0)%4*2,2),this.g(u,e)}K(n,t,r,s,i){this.g([n+r/2,t,n+r,t+s/2,n+r/2,t+s,n,t+s/2],i)}}function x(o,n,t,r){o=o%14;let s,i,e,u,a,f;o?o==1?(e=0|t*.5,u=0|t*.8,n.j(t-e,0,e,u,2)):o==2?(e=0|t/3,n.i(e,e,t-e,t-e)):o==3?(a=t*.1,f=t<6?1:t<8?2:0|t*.25,a=a>1?0|a:a>.5?1:a,n.i(f,f,t-a-f,t-a-f)):o==4?(i=0|t*.15,e=0|t*.5,n.h(t-e-i,t-e-i,e)):o==5?(a=t*.1,f=a*4,f>3&&(f=0|f),n.i(0,0,t,t),n.g([f,f,t-a,f,f+(t-f-a)/2,t-a],!0)):o==6?n.g([0,0,t,0,t,t*.7,t*.4,t*.4,t*.7,t,0,t]):o==7?n.j(t/2,t/2,t/2,t/2,3):o==8?(n.i(0,0,t,t/2),n.i(0,t/2,t/2,t/2),n.j(t/2,t/2,t/2,t/2,1)):o==9?(a=t*.14,f=t<4?1:t<6?2:0|t*.35,a=t<8?a:0|a,n.i(0,0,t,t),n.i(f,f,t-f-a,t-f-a,!0)):o==10?(a=t*.12,f=a*3,n.i(0,0,t,t),n.h(f,f,t-a-f,!0)):o==11?n.j(t/2,t/2,t/2,t/2,3):o==12?(i=t*.25,n.i(0,0,t,t),n.K(i,i,t-i,t-i,!0)):!r&&(i=t*.4,e=t*1.2,n.h(i,i,e)):(s=t*.42,n.g([0,0,t,0,t,t-s*2,t-s,t,0,t]))}function k(o,n,t){o=o%4;let r;o?o==1?n.j(0,t/2,t,t/2,0):o==2?n.K(0,0,t,t):(r=t/6,n.h(r,r,t-2*r)):n.j(0,0,t,t,0)}function l(o,n){return o=n.W(o),[y(o,n.D,n.F(0)),y(o,n.o,n.p(.5)),y(o,n.D,n.F(1)),y(o,n.o,n.p(1)),y(o,n.o,n.p(0))]}function tt(o,n,t){const r=X(t,.08);r.G&&o.m(r.G);let s=o.k;const i=.5+s*r.X|0;s-=i*2;const e=new z(o),u=0|s/4,a=0|i+s/2-u*2,f=0|i+s/2-u*2;function g(S,_,B,I,A){const M=j(n,B,1);let G=I?j(n,I,1):0;o.L(c[p[S]]);for(let C=0;C=0){for(let _=0;_=0)return!0}}for(let S=0;S<3;S++)h=j(n,8+S,1)%c.length,(m([0,4])||m([2,3]))&&(h=1),p.push(h);g(0,k,2,3,[[1,0],[2,0],[2,3],[1,3],[0,1],[3,1],[3,2],[0,2]]),g(1,k,4,5,[[0,0],[3,0],[3,3],[0,3]]),g(2,x,1,null,[[1,1],[2,1],[2,2],[1,2]]),o.finish()}function nt(o){var r=0,s=0,i=encodeURI(o)+"%80",e=[],u,a=[],f=1732584193,g=4023233417,d=~f,c=~g,p=3285377520,h=[f,g,d,c,p],m=0,S="";function _(B,I){return B<>>32-I}for(;r>2]=e[s>>2]|(i[r]=="%"?parseInt(i.substring(r+1,r+=3),16):i.charCodeAt(r++))<<(3-(s&3))*8;for(u=((s+7>>6)+1)*16,e[u-1]=s*8-8;m>3]>>>(7-(r&7))*4&15).toString(16);return S}function ot(o){return/^[0-9a-f]{11,}$/i.test(o)&&o}function rt(o){return nt(o==null?"":""+o)}typeof document<"u"&&document.querySelectorAll.bind(document);function w(o){return(o*10+.5|0)/10}class st{constructor(){this.v=""}g(n){let t="";for(let r=0;r'}m(n,t){t&&(this.C+='')}P(n,t){this.C+=''}toString(){return this.C+""}}function at(o,n,t){const r=new ft(n);return tt(new it(r),ot(o)||rt(o),t),r.toString()}var ut=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,H=(o,n,t,r)=>{for(var s=r>1?void 0:r?ht(n,t):n,i=o.length-1,e;i>=0;i--)(e=o[i])&&(s=(r?e(n,t,s):e(s))||s);return r&&s&&ut(n,t,s),s};const ct={lightness:{color:[1,1],grayscale:[1,1]},saturation:{color:0,grayscale:0},backColor:"#0000"};let b=class extends U{constructor(){super(...arguments);O(this,"entityId","");O(this,"iconSize",0);O(this,"imageUrl","");O(this,"linkToFull",!1)}generateIdenticon(){if(this.imageUrl)return``;{const t=this.entityId?void 0:ct;return at(this.entityId,this.iconSize,t)}}};H([P],b.prototype,"entityId",2);H([P],b.prototype,"iconSize",2);H([P],b.prototype,"imageUrl",2);H([P],b.prototype,"linkToFull",2);b=H([$],b);const pt=["href"],gt=["innerHTML"],dt=["innerHTML"];function St(o,n,t,r,s,i){return o.linkToFull&&o.imageUrl?(F(),L("a",{key:0,href:o.imageUrl,target:"_blank",class:"h-full w-full object-contain"},[W("div",{innerHTML:o.generateIdenticon(),class:"h-full w-full object-contain"},null,8,gt)],8,pt)):(F(),L("div",{key:1,innerHTML:o.generateIdenticon(),class:"h-full w-full object-contain"},null,8,dt))}const wt=V(b,[["render",St]]);export{wt as P}; diff --git a/dist-electron/assets/ProjectViewView-BEbHgHxu.js b/dist-electron/assets/ProjectViewView-BEbHgHxu.js new file mode 100644 index 0000000..90d1e76 --- /dev/null +++ b/dist-electron/assets/ProjectViewView-BEbHgHxu.js @@ -0,0 +1 @@ +var G=Object.defineProperty;var R=(e,s,i)=>s in e?G(e,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[s]=i;var f=(e,s,i)=>R(e,typeof s!="symbol"?s+"":s,i);import{V as O,f as A,e as N,y as H,C as M,_ as V,g as C,h as r,i as a,j as o,k as m,t as g,l as u,m as J,v as W,F as k,z as I,x as n}from"./index-BLqts8WY.js";import{G as q}from"./GiftedDialog-CFmou4Be.js";import{O as Q}from"./OfferDialog-BFpCo0de.js";import{T as z}from"./TopMessage-BE0GBIgW.js";import{Q as Y}from"./QuickNav-DgCyvgDx.js";import{E as K}from"./EntityIcon-CF1RwQI5.js";import{P as X}from"./ProjectIcon-BlrP4rvy.js";import{l as Z,s as ee,e as te,g as T,B as $,aN as ie,v as se,i as oe,aO as re,C as E,k as ne,n as le,p as ae,q as de,u as ce}from"./index-MyY_xqVN.js";import{_ as he}from"./blank-square-D9dGgMJw.js";import"./index-CsfPLOYu.js";var fe=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,pe=(e,s,i,l)=>{for(var c=l>1?void 0:l?ue(s,i):s,p=e.length-1,d;p>=0;p--)(d=e[p])&&(c=(l?d(s,i,c):d(c))||c);return l&&c&&fe(s,i,c),c};let U=class extends O{constructor(){super(...arguments);f(this,"$notify");f(this,"activeDid","");f(this,"agentDid","");f(this,"allMyDids",[]);f(this,"allContacts",[]);f(this,"apiServer","");f(this,"checkingConfirmationForJwtId","");f(this,"description","");f(this,"expanded",!1);f(this,"fulfilledByThis",null);f(this,"fulfillersToThis",[]);f(this,"fulfillersToHitLimit",!1);f(this,"givesToThis",[]);f(this,"givesHitLimit",!1);f(this,"givesProvidedByThis",[]);f(this,"givesProvidedByHitLimit",!1);f(this,"imageUrl","");f(this,"isRegistered",!1);f(this,"issuer","");f(this,"latitude",0);f(this,"longitude",0);f(this,"name","");f(this,"offersToThis",[]);f(this,"offersHitLimit",!1);f(this,"projectId","");f(this,"recentlyCheckedAndUnconfirmableJwts",[]);f(this,"showDidCopy",!1);f(this,"startTime","");f(this,"truncatedDesc","");f(this,"truncateLength",40);f(this,"url","");f(this,"libsUtil",Z);f(this,"serverUtil",ee)}async created(){const i=await A();this.activeDid=i.activeDid||"",this.apiServer=i.apiServer||"",this.allContacts=await N.contacts.toArray(),this.isRegistered=!!i.isRegistered;try{this.allMyDids=await te()}catch(c){H("Error retrieving all account DIDs on home page:"+c,!0),this.$notify({group:"alert",type:"danger",title:"Error Loading Profile",text:"See the Help page to fix problems with your personal data."},-1)}const l=window.location.pathname.substring(9);l&&(this.projectId=decodeURIComponent(l)),this.loadProject(this.projectId,this.activeDid)}onEditClick(){const i={name:"new-edit-project",query:{projectId:this.projectId}};this.$router.push(i)}expandText(){this.expanded=!0}collapseText(){this.expanded=!1}async loadProject(i,l){var d,v,h,D,x,j,P,t,b,w,L,B,S;this.projectId=i;const c=this.apiServer+"/api/claim/byHandle/"+encodeURIComponent(i),p=await T(l);try{const y=await this.axios.get(c,{headers:p});if(y.status===200){const _=(d=y.data.claim)==null?void 0:d.startTime;if(_!=null){const F=new Date(_);this.startTime=F.toLocaleDateString()+" "+F.toLocaleTimeString()}this.agentDid=(h=(v=y.data.claim)==null?void 0:v.agent)==null?void 0:h.identifier,this.imageUrl=(D=y.data.claim)==null?void 0:D.image,this.issuer=y.data.issuer,this.name=((x=y.data.claim)==null?void 0:x.name)||"(no name)",this.description=((j=y.data.claim)==null?void 0:j.description)||"(no description)",this.truncatedDesc=this.description.slice(0,this.truncateLength),this.latitude=((b=(t=(P=y.data.claim)==null?void 0:P.location)==null?void 0:t.geo)==null?void 0:b.latitude)||0,this.longitude=((B=(L=(w=y.data.claim)==null?void 0:w.location)==null?void 0:L.geo)==null?void 0:B.longitude)||0,this.url=((S=y.data.claim)==null?void 0:S.url)||""}else console.error("Error getting project:",y),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem getting that project."},5e3)}catch(y){console.error("Error retrieving project:",y),this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving that project."},5e3)}this.givesToThis=[],this.loadGives(),this.givesProvidedByThis=[],this.loadGivesProvidedBy(),this.offersToThis=[],this.loadOffers(),this.fulfillersToThis=[],this.loadPlanFulfillersTo(),this.fulfilledByThis=null,this.loadPlanFulfilledBy()}async loadGives(){const i=this.apiServer+"/api/v2/report/givesToPlans?planIds="+encodeURIComponent(JSON.stringify([this.projectId]));let l="";this.givesToThis.length>0&&(l="&beforeId="+this.givesToThis[this.givesToThis.length-1].jwtId);const c=i+l,p=await T(this.activeDid);try{const d=await this.axios.get(c,{headers:p});d.status===200&&d.data.data?(this.givesToThis=this.givesToThis.concat(d.data.data),this.givesHitLimit=d.data.hitLimit):this.$notify({group:"alert",type:"danger",title:"Error",text:"Failed to retrieve more gives to this project."},5e3)}catch(d){const v=d;this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving more gives to this project."},5e3),console.error("Something went wrong retrieving more gives to this project:",v.message)}}async loadGivesProvidedBy(){const i=this.apiServer+"/api/v2/report/givesProvidedBy?providerId="+encodeURIComponent(this.projectId);let l="";this.givesProvidedByThis.length>0&&(l="&beforeId="+this.givesProvidedByThis[this.givesProvidedByThis.length-1].jwtId);const c=i+l,p=await T(this.activeDid);try{const d=await this.axios.get(c,{headers:p});d.status===200?(this.givesProvidedByThis=this.givesProvidedByThis.concat(d.data.data),this.givesProvidedByHitLimit=d.data.hitLimit):this.$notify({group:"alert",type:"danger",title:"Error",text:"Failed to retrieve gives that were provided by this project."},5e3)}catch(d){const v=d;this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving gives that were provided by this project."},5e3),console.error("Something went wrong retrieving gives that were provided by this project:",v.message)}}async loadOffers(){const i=this.apiServer+"/api/v2/report/offersToPlans?planIds="+encodeURIComponent(JSON.stringify([this.projectId]));let l="";this.offersToThis.length>0&&(l="&beforeId="+this.offersToThis[this.offersToThis.length-1].jwtId);const c=i+l,p=await T(this.activeDid);try{const d=await this.axios.get(c,{headers:p});d.status===200&&d.data.data?(this.offersToThis=this.offersToThis.concat(d.data.data),this.offersHitLimit=d.data.hitLimit):this.$notify({group:"alert",type:"danger",title:"Error",text:"Failed to retrieve more offers to this project."},5e3)}catch(d){const v=d;this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving more offers to this project."},5e3),console.error("Something went wrong retrieving more offers to this project:",v.message)}}async loadPlanFulfillersTo(){const i=this.apiServer+"/api/v2/report/planFulfillersToPlan?planHandleId="+encodeURIComponent(this.projectId);let l="";this.fulfillersToThis.length>0&&(l="&beforeId="+this.fulfillersToThis[this.fulfillersToThis.length-1].jwtId);const c=i+l,p=await T(this.activeDid);try{const d=await this.axios.get(c,{headers:p});d.status===200?(this.fulfillersToThis=this.fulfillersToThis.concat(d.data.data),this.fulfillersToHitLimit=d.data.hitLimit):this.$notify({group:"alert",type:"danger",title:"Error",text:"Failed to retrieve more plans that fullfill this project."},5e3)}catch(d){const v=d;this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving more plans that fulfull this project."},5e3),console.error("Something went wrong retrieving more plans that fulfill this project:",v.message)}}async loadPlanFulfilledBy(){const i=this.apiServer+"/api/v2/report/planFulfilledByPlan?planHandleId="+encodeURIComponent(this.projectId),l=await T(this.activeDid);try{const c=await this.axios.get(i,{headers:l});c.status===200?this.fulfilledByThis=c.data.data:this.$notify({group:"alert",type:"danger",title:"Error",text:"Failed to retrieve plans fulfilled by this project."},5e3)}catch(c){const p=c;this.$notify({group:"alert",type:"danger",title:"Error",text:"Something went wrong retrieving plans fulfilled by this project."},5e3),console.error("Error retrieving plans fulfilled by this project:",p.message)}}async onClickLoadProject(i){const l={path:"/project/"+encodeURIComponent(i)};this.$router.push(l),this.loadProject(i,this.activeDid)}getOpenStreetMapUrl(){return"https://www.openstreetmap.org/?mlat="+this.latitude+"&mlon="+this.longitude+"#map=15/"+this.latitude+"/"+this.longitude}openGiftDialogToProject(i){this.$refs.giveDialogToThis.open(i,void 0,void 0,((i==null?void 0:i.name)||"Someone not named")+" gave to this project")}openGiftDialogFromProject(){this.$refs.giveDialogFromThis.open(void 0,{did:this.activeDid,name:"You"},void 0,"This project gave to you")}openOfferDialog(){this.$refs.customOfferDialog.open()}onClickAllContactsGifting(){const i={name:"contact-gift",query:{projectId:this.projectId}};this.$router.push(i)}onClickLoadClaim(i){const l={path:"/claim/"+encodeURIComponent(i)};this.$router.push(l)}checkIsFulfillable(i){const l={...$,claim:i.fullClaim,claimType:"Offer",issuer:i.offeredByDid};return ie(l)}onClickFulfillGiveToOffer(i){const l={...$,claim:i.fullClaim,issuer:i.offeredByDid},c={did:se(l)};this.$refs.giveDialogToThis.open(c,void 0,i.handleId,"Given by "+((c==null?void 0:c.name)||"someone not named"))}addScheme(i){return oe(i)?i:"https://"+i}domainForWebsite(i){try{const l=new URL(i).hostname;return l?i.endsWith(l)?l:l+"...":i}catch{return i}}checkIsConfirmable(i,l){const c={...$,claim:i.fullClaim,claimType:"GiveAction",issuer:i.issuerDid};return re(this.isRegistered,c,this.activeDid,l)}shallowNotifyWhyCannotConfirm(i){const l=this.recentlyCheckedAndUnconfirmableJwts.includes(i.jwtId)?[this.activeDid]:[];E(this.$notify,this.isRegistered,"GiveAction",i,this.activeDid,l)}async deepCheckConfirmable(i){this.checkingConfirmationForJwtId=i.jwtId;const l=await ne(this.apiServer,i.jwtId,i.issuerDid,this.activeDid);this.checkIsConfirmable(i,l==null?void 0:l.confirmerIdList)?this.confirmConfirmClaim(i):(this.recentlyCheckedAndUnconfirmableJwts=[...this.recentlyCheckedAndUnconfirmableJwts,i.jwtId],E(this.$notify,this.isRegistered,"GiveAction",i,this.activeDid,l==null?void 0:l.confirmerIdList)),this.checkingConfirmationForJwtId=""}confirmConfirmClaim(i){this.$notify({group:"modal",type:"confirm",title:"Confirm",text:"Do you personally confirm that this is true?",onYes:async()=>{await this.confirmClaim(i)}},-1)}async confirmClaim(i){var d;const c={"@context":"https://schema.org","@type":"AgreeAction",object:le(ae(de(i.fullClaim,i.jwtId,i.handleId)))},p=await ce(c,this.activeDid,this.apiServer,this.axios);if(p.type==="success")this.$notify({group:"alert",type:"success",title:"Success",text:"Confirmation submitted."},5e3),this.recentlyCheckedAndUnconfirmableJwts=[...this.recentlyCheckedAndUnconfirmableJwts,i.jwtId];else{console.error("Got error submitting the confirmation:",p);const v=((d=p.error)==null?void 0:d.error)||"There was a problem submitting the confirmation.";this.$notify({group:"alert",type:"danger",title:"Error",text:v},5e3)}}};U=pe([M({components:{EntityIcon:K,GiftedDialog:q,OfferDialog:Q,ProjectIcon:X,QuickNav:Y,TopMessage:z}})],U);const me={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},ge={id:"ViewBreadcrumb"},ve={class:"text-lg text-center font-light relative px-7"},ye={class:"text-xl font-semibold"},be={class:"bg-slate-100 rounded-md overflow-hidden px-4 py-3 mt-4"},we={class:"pb-4 flex gap-4"},Ce={class:"pt-1"},ke={class:"overflow-hidden"},Te={class:"text-sm mb-3"},je={class:"truncate"},Ie={key:0},De={key:0},xe={key:1},Pe=["href"],$e={key:2},Ue=["href"],Le={class:"text-sm text-slate-500"},Be={key:0},Se={key:1},_e={class:"grid items-start grid-cols-1 sm:grid-cols-2 gap-4 mt-4"},Fe={key:0,class:"bg-slate-100 px-4 py-3 rounded-md"},Ee={class:"text-center"},Ge=["onClick"],Re={key:0,class:"text-center"},Oe={key:0,class:"bg-slate-100 px-4 py-3 rounded-md"},Ae={class:"text-center"},Ne={key:0},He={class:"grid grid-cols-4 sm:grid-cols-5 md:grid-cols-6 gap-x-3 gap-y-5 text-center mb-5 mt-2"},Me=["onClick"],Ve={class:"text-xs text-blue-500 font-medium text-ellipsis whitespace-nowrap overflow-hidden cursor-pointer"},Je={class:"grid items-start grid-cols-1 sm:grid-cols-3 gap-4 mt-4"},We={class:"bg-slate-100 px-4 py-3 rounded-md"},qe={key:0},Qe={class:"text-center"},ze={key:1},Ye={key:2,class:"text-sm border-t border-slate-300"},Ke={class:"flex justify-between gap-4"},Xe={key:0,class:"whitespace-nowrap"},Ze={key:0,class:"text-slate-500"},et={class:"flex justify-between"},tt=["onClick"],it=["onClick"],st={key:3,class:"text-center text-blue-500"},ot={class:"bg-slate-100 px-4 py-3 rounded-md","data-testId":"gives-to"},rt={key:0},nt={class:"text-center"},lt={key:1},at={key:2,class:"text-sm border-t border-slate-300"},dt={class:"flex justify-between gap-4"},ct={key:0,class:"whitespace-nowrap"},ht={class:"text-slate-500"},ft={key:0,class:"text-slate-500"},ut={class:"flex justify-between"},pt=["onClick"],mt=["onClick"],gt={key:1},vt=["onClick"],yt={key:1,class:"flex justify-center"},bt=["href"],wt=["src"],Ct={key:3,class:"text-center text-blue-500"},kt={class:"bg-slate-100 px-4 py-3 rounded-md","data-testId":"gives-from"},Tt={key:0},jt={class:"text-center"},It={key:1},Dt={key:2,class:"text-sm border-t border-slate-300"},xt={class:"flex justify-between gap-4"},Pt={key:0,class:"whitespace-nowrap"},$t={class:"text-slate-500"},Ut={key:0,class:"text-slate-500"},Lt={class:"flex justify-between"},Bt=["onClick"],St=["onClick"],_t={key:1},Ft=["onClick"],Et={key:1,class:"flex justify-center"},Gt=["href"],Rt=["src"],Ot={key:3,class:"text-center"};function At(e,s,i,l,c,p){const d=C("QuickNav"),v=C("TopMessage"),h=C("fa"),D=C("ProjectIcon"),x=C("EntityIcon"),j=C("GiftedDialog"),P=C("OfferDialog");return n(),r(k,null,[a(d),a(v),o("section",me,[o("div",ge,[o("h1",ve,[o("button",{onClick:s[0]||(s[0]=t=>e.$router.go(-1)),class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},[a(h,{icon:"chevron-left",class:"fa-fw"})]),s[18]||(s[18]=m(" Project Idea "))]),o("h2",ye,[m(g(e.name)+" ",1),e.activeDid===e.issuer||e.activeDid===e.agentDid?(n(),r("button",{key:0,onClick:s[1]||(s[1]=t=>e.onEditClick()),title:"Edit","data-testId":"editClaimButton"},[a(h,{icon:"pen",class:"text-sm text-blue-500 ml-2 mb-1"})])):u("",!0)])]),o("div",be,[o("div",null,[o("div",we,[o("div",Ce,[a(D,{entityId:e.projectId,iconSize:64,imageUrl:e.imageUrl,linkToFull:!0,class:"block border border-slate-300 rounded-md max-h-16 max-w-16"},null,8,["entityId","imageUrl"])]),o("div",ke,[o("div",Te,[o("div",je,[a(h,{icon:"user",class:"fa-fw text-slate-400"}),m(" "+g(e.serverUtil.didInfo(e.issuer,e.activeDid,e.allMyDids,e.allContacts))+" ",1),e.serverUtil.isEmptyOrHiddenDid(e.issuer)?u("",!0):(n(),r("span",Ie,[o("button",{onClick:s[2]||(s[2]=t=>e.libsUtil.doCopyTwoSecRedo(e.issuer,()=>e.showDidCopy=!e.showDidCopy)),class:"ml-2 mr-2"},[a(h,{icon:"copy",class:"text-slate-400 fa-fw"})]),J(o("span",null,"Copied DID",512),[[W,e.showDidCopy]])]))]),e.startTime?(n(),r("div",De,[a(h,{icon:"calendar",class:"fa-fw text-slate-400"}),m(" "+g(e.startTime),1)])):u("",!0),e.latitude||e.longitude?(n(),r("div",xe,[a(h,{icon:"location-dot",class:"fa-fw text-slate-400"}),o("a",{href:e.getOpenStreetMapUrl(),target:"_blank",class:"underline"},[s[19]||(s[19]=m("Map View ")),a(h,{icon:"arrow-up-right-from-square",class:"fa-fw"})],8,Pe)])):u("",!0),e.url?(n(),r("div",$e,[a(h,{icon:"globe",class:"fa-fw text-slate-400"}),o("a",{href:e.addScheme(e.url),target:"_blank",class:"underline"},[m(g(e.domainForWebsite(this.url))+" ",1),a(h,{icon:"arrow-up-right-from-square",class:"fa-fw"})],8,Ue)])):u("",!0)])])]),o("div",Le,[e.expanded?(n(),r("div",Se,[m(g(e.description)+" ",1),o("a",{onClick:s[4]||(s[4]=(...t)=>e.collapseText&&e.collapseText(...t)),class:"uppercase text-xs font-semibold text-slate-700"},"- Read Less")])):(n(),r("div",Be,[m(g(e.truncatedDesc)+" ",1),e.description.length>=e.truncateLength?(n(),r("a",{key:0,onClick:s[3]||(s[3]=(...t)=>e.expandText&&e.expandText(...t)),class:"uppercase text-xs font-semibold text-slate-700"},"... Read More")):u("",!0)]))]),o("a",{onClick:s[5]||(s[5]=t=>e.onClickLoadClaim(e.projectId)),class:"cursor-pointer"},[a(h,{icon:"file-lines",class:"pl-2 pt-1 text-blue-500"})])])]),o("div",_e,[o("div",null,[e.fulfillersToThis.length>0?(n(),r("div",Fe,[s[20]||(s[20]=o("h3",{class:"text-sm uppercase font-semibold mt-3"}," Projects That Contribute To This ",-1)),o("div",Ee,[(n(!0),r(k,null,I(e.fulfillersToThis,t=>(n(),r("div",{key:t.handleId},[o("button",{onClick:b=>e.onClickLoadProject(t.handleId),class:"text-blue-500"},g(t.name),9,Ge)]))),128)),e.fulfillersToHitLimit?(n(),r("div",Re,[o("button",{onClick:s[6]||(s[6]=t=>e.loadPlanFulfillersTo())},"Load More")])):u("",!0)])])):u("",!0)]),o("div",null,[e.fulfilledByThis?(n(),r("div",Oe,[s[21]||(s[21]=o("h3",{class:"text-sm uppercase font-semibold mb-3"}," Projects Getting Contributions From This ",-1)),o("div",Ae,[o("button",{onClick:s[7]||(s[7]=t=>e.onClickLoadProject(e.fulfilledByThis.handleId)),class:"text-blue-500"},g(e.fulfilledByThis.name),1)])])):u("",!0)])]),e.activeDid&&e.isRegistered?(n(),r("div",Ne,[s[24]||(s[24]=o("div",{class:"text-center"},[o("p",{class:"mt-2 mt-4 text-center"},"Record a contribution from:")],-1)),o("ul",He,[o("li",{onClick:s[8]||(s[8]=t=>e.openGiftDialogToProject({name:"you",did:e.activeDid}))},[a(h,{icon:"hand",class:"fa-fw text-blue-500 text-5xl cursor-pointer"}),s[22]||(s[22]=o("h3",{class:"mt-5 text-xs text-blue-500 font-medium text-ellipsis whitespace-nowrap overflow-hidden cursor-pointer"}," You ",-1))]),o("li",{onClick:s[9]||(s[9]=t=>e.openGiftDialogToProject())},s[23]||(s[23]=[o("img",{src:he,class:"mx-auto border border-blue-300 rounded-md mb-1 cursor-pointer"},null,-1),o("h3",{class:"text-xs text-blue-500 italic font-medium text-ellipsis whitespace-nowrap overflow-hidden cursor-pointer"}," Unnamed/Unknown ",-1)])),(n(!0),r(k,null,I(e.allContacts.slice(0,5),t=>(n(),r("li",{key:t.did,onClick:b=>e.openGiftDialogToProject(t)},[a(x,{contact:t,iconSize:64,class:"mx-auto border border-blue-300 rounded-md mb-1 cursor-pointer"},null,8,["contact"]),o("h3",Ve,g(t.name||"(no name)"),1)],8,Me))),128)),o("li",null,[e.allContacts.length>=5?(n(),r("span",{key:0,onClick:s[10]||(s[10]=t=>e.onClickAllContactsGifting()),class:"flex align-bottom text-xs text-blue-500 mt-12 cursor-pointer"}," ... or someone else... ")):u("",!0)])]),a(j,{ref:"giveDialogToThis",toProjectId:this.projectId},null,8,["toProjectId"])])):u("",!0),o("div",Je,[o("div",We,[e.activeDid&&e.isRegistered?(n(),r("div",qe,[o("div",Qe,[o("button",{"data-testId":"offerButton",onClick:s[11]||(s[11]=t=>e.openOfferDialog()),class:"block w-full bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 rounded-md"}," Offer to this (maybe with conditions)... ")])])):u("",!0),a(P,{ref:"customOfferDialog",projectId:this.projectId,projectName:this.name},null,8,["projectId","projectName"]),s[27]||(s[27]=o("h3",{class:"text-lg font-bold mb-3 mt-4"},"Offered To This Idea",-1)),e.offersToThis.length===0?(n(),r("div",ze,[s[25]||(s[25]=m(" (None yet. Wanna ")),o("span",{onClick:s[12]||(s[12]=t=>e.openOfferDialog()),class:"cursor-pointer text-blue-500"},"offer something... especially if others join you"),s[26]||(s[26]=m("?) "))])):(n(),r("ul",Ye,[(n(!0),r(k,null,I(e.offersToThis,t=>(n(),r("li",{key:t.id,class:"py-1.5 border-b border-slate-300"},[o("div",Ke,[o("span",null,[a(h,{icon:"user",class:"fa-fw text-slate-400"}),m(" "+g(e.serverUtil.didInfo(t.offeredByDid,e.activeDid,e.allMyDids,e.allContacts)),1)]),t.amount?(n(),r("span",Xe,[a(h,{icon:e.libsUtil.iconForUnitCode(t.unit),class:"fa-fw text-slate-400"},null,8,["icon"]),m(g(t.amount),1)])):u("",!0)]),t.objectDescription?(n(),r("div",Ze,[a(h,{icon:"comment",class:"fa-fw text-slate-400"}),m(" "+g(t.objectDescription),1)])):u("",!0),o("div",et,[o("a",{onClick:b=>e.onClickLoadClaim(t.jwtId),class:"cursor-pointer"},[a(h,{icon:"file-lines",class:"pl-2 pt-1 text-blue-500"})],8,tt),e.checkIsFulfillable(t)?(n(),r("a",{key:0,onClick:b=>e.onClickFulfillGiveToOffer(t)},[a(h,{icon:"hand-holding-heart",class:"text-blue-500 cursor-pointer"})],8,it)):u("",!0)])]))),128))])),e.offersHitLimit?(n(),r("div",st,[o("button",{onClick:s[13]||(s[13]=t=>e.loadOffers())},"Load More")])):u("",!0)]),o("div",ot,[e.activeDid&&e.isRegistered?(n(),r("div",rt,[o("div",nt,[o("button",{onClick:s[14]||(s[14]=t=>e.openGiftDialogToProject()),class:"block w-full bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1rounded-md"}," Given To This... ")])])):u("",!0),s[28]||(s[28]=o("h3",{class:"text-lg font-bold mb-3 mt-4"},"Given To This Idea",-1)),e.givesToThis.length===0?(n(),r("div",lt," (None yet. If you've seen something, say something by clicking a contact above.) ")):(n(),r("ul",at,[(n(!0),r(k,null,I(e.givesToThis,t=>{var b;return n(),r("li",{key:t.id,class:"py-1.5 border-b border-slate-300"},[o("div",dt,[o("span",null,[a(h,{icon:"user",class:"fa-fw text-slate-400"}),m(" "+g(e.serverUtil.didInfo(t.agentDid,e.activeDid,e.allMyDids,e.allContacts)),1)]),t.amount?(n(),r("span",ct,[a(h,{icon:e.libsUtil.iconForUnitCode(t.unit),class:"fa-fw text-slate-400"},null,8,["icon"]),m(g(t.amount),1)])):u("",!0)]),o("div",ht,[a(h,{icon:"calendar",class:"fa-fw text-slate-400"}),m(" "+g((b=t.issuedAt)==null?void 0:b.substring(0,10)),1)]),t.description?(n(),r("div",ft,[a(h,{icon:"comment",class:"fa-fw text-slate-400"}),m(" "+g(t.description),1)])):u("",!0),o("div",ut,[o("a",{onClick:w=>e.onClickLoadClaim(t.jwtId)},[a(h,{icon:"file-lines",class:"text-blue-500 cursor-pointer"})],8,pt),e.checkIsConfirmable(t)&&!e.recentlyCheckedAndUnconfirmableJwts.includes(t.jwtId)?(n(),r("a",{key:0,onClick:w=>e.deepCheckConfirmable(t)},[a(h,{icon:"circle-check",class:"text-blue-500 cursor-pointer"})],8,mt)):e.checkingConfirmationForJwtId===t.jwtId?(n(),r("a",gt,[a(h,{icon:"spinner",class:"fa-spin-pulse"})])):(n(),r("a",{key:2,onClick:w=>e.shallowNotifyWhyCannotConfirm(t)},[a(h,{icon:"circle-check",class:"text-slate-500 cursor-pointer"})],8,vt))]),t.fullClaim.image?(n(),r("div",yt,[o("a",{href:t.fullClaim.image,target:"_blank"},[o("img",{src:t.fullClaim.image,class:"h-24 mt-2 rounded-xl"},null,8,wt)],8,bt)])):u("",!0)])}),128))])),e.givesHitLimit?(n(),r("div",Ct,[o("button",{onClick:s[15]||(s[15]=t=>e.loadGives())},"Load More")])):u("",!0)]),o("div",kt,[e.activeDid&&e.isRegistered?(n(),r("div",Tt,[o("div",jt,[o("button",{onClick:s[16]||(s[16]=t=>e.openGiftDialogFromProject()),class:"block w-full bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 rounded-md"}," Given By This... ")])])):u("",!0),a(j,{ref:"giveDialogFromThis",fromProjectId:this.projectId},null,8,["fromProjectId"]),s[29]||(s[29]=o("h3",{class:"text-lg font-bold mb-3 mt-4"}," Benefitted From This Project ",-1)),e.givesProvidedByThis.length===0?(n(),r("div",It,"(None yet.)")):(n(),r("ul",Dt,[(n(!0),r(k,null,I(e.givesProvidedByThis,t=>{var b;return n(),r("li",{key:t.id,class:"py-1.5 border-b border-slate-300"},[o("div",xt,[o("span",null,g(e.serverUtil.didInfo(t.recipientDid,e.activeDid,e.allMyDids,e.allContacts)),1),t.amount?(n(),r("span",Pt,[a(h,{icon:e.libsUtil.iconForUnitCode(t.unit),class:"fa-fw text-slate-400"},null,8,["icon"]),m(g(t.amount),1)])):u("",!0)]),o("div",$t,[a(h,{icon:"calendar",class:"fa-fw text-slate-400"}),m(" "+g((b=t.issuedAt)==null?void 0:b.substring(0,10)),1)]),t.description?(n(),r("div",Ut,[a(h,{icon:"comment",class:"fa-fw text-slate-400"}),m(" "+g(t.description),1)])):u("",!0),o("div",Lt,[o("a",{onClick:w=>e.onClickLoadClaim(t.jwtId)},[a(h,{icon:"file-lines",class:"text-blue-500 cursor-pointer"})],8,Bt),e.checkIsConfirmable(t)&&!e.recentlyCheckedAndUnconfirmableJwts.includes(t.jwtId)?(n(),r("a",{key:0,onClick:w=>e.deepCheckConfirmable(t)},[a(h,{icon:"circle-check",class:"text-blue-500 cursor-pointer"})],8,St)):e.checkingConfirmationForJwtId===t.jwtId?(n(),r("a",_t,[a(h,{icon:"spinner",class:"fa-spin-pulse"})])):(n(),r("a",{key:2,onClick:w=>e.shallowNotifyWhyCannotConfirm(t)},[a(h,{icon:"circle-check",class:"text-slate-500 cursor-pointer"})],8,Ft))]),t.fullClaim.image?(n(),r("div",Et,[o("a",{href:t.fullClaim.image,target:"_blank"},[o("img",{src:t.fullClaim.image,class:"h-24 mt-2 rounded-xl"},null,8,Rt)],8,Gt)])):u("",!0)])}),128))])),e.givesProvidedByHitLimit?(n(),r("div",Ot,[o("button",{onClick:s[17]||(s[17]=t=>e.loadGivesProvidedBy())},"Load More")])):u("",!0)])])])],64)}const Zt=V(U,[["render",At]]);export{Zt as default}; diff --git a/dist-electron/assets/ProjectsView-3QN3-T5E.js b/dist-electron/assets/ProjectsView-3QN3-T5E.js new file mode 100644 index 0000000..92a2003 --- /dev/null +++ b/dist-electron/assets/ProjectsView-3QN3-T5E.js @@ -0,0 +1 @@ +var G=Object.defineProperty;var L=(e,t,s)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var c=(e,t,s)=>L(e,typeof t!="symbol"?t+"":t,s);import{V as T,f as M,e as F,C as H,_ as B,g as y,h as l,i as d,j as n,q as _,l as g,p as P,w as I,F as C,x as r,k as m,z as N,t as p}from"./index-BLqts8WY.js";import{E as R}from"./EntityIcon-CF1RwQI5.js";import{I as U}from"./InfiniteScroll-B5tl9k_n.js";import{Q as A}from"./QuickNav-DgCyvgDx.js";import{O as V}from"./OnboardingDialog-CiAZLb6o.js";import{P as E}from"./ProjectIcon-BlrP4rvy.js";import{T as z}from"./TopMessage-BE0GBIgW.js";import{U as Y}from"./UserNameDialog-B8a82q1n.js";import{l as Q,h as q,e as J,ao as K,g as O,ap as W}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,ee=(e,t,s,a)=>{for(var i=a>1?void 0:a?Z(t,s):t,u=e.length-1,f;u>=0;u--)(f=e[u])&&(i=(a?f(t,s,i):f(i))||i);return a&&i&&X(t,s,i),i};let D=class extends T{constructor(){super(...arguments);c(this,"$notify");c(this,"activeDid","");c(this,"allContacts",[]);c(this,"allMyDids",[]);c(this,"apiServer","");c(this,"givenName","");c(this,"isLoading",!1);c(this,"isRegistered",!1);c(this,"offers",[]);c(this,"projectNameFromHandleId",{});c(this,"projects",[]);c(this,"showOffers",!1);c(this,"showProjects",!0);c(this,"libsUtil",Q);c(this,"didInfo",q)}errNote(s){this.$notify({group:"alert",type:"danger",title:"Error",text:s},5e3)}async mounted(){try{const s=await M();this.activeDid=s.activeDid||"",this.apiServer=s.apiServer||"",this.isRegistered=!!s.isRegistered,this.givenName=s.firstName||"",this.allContacts=await F.contacts.toArray(),this.allMyDids=await J(),s.finishedOnboarding||this.$refs.onboardingDialog.open(K.Create),this.allMyDids.length===0?(console.error("No accounts found."),this.errNote("You need an identifier to load your projects.")):await this.loadProjects()}catch(s){console.error("Error initializing:",s),this.errNote("Something went wrong loading your projects.")}}async projectDataLoader(s){try{const a=await O(this.activeDid,this.$notify);this.isLoading=!0;const i=await this.axios.get(s,{headers:a});if(i.status===200&&i.data.data){const u=i.data.data;for(const f of u){const{name:b,description:v,handleId:h,image:j,issuerDid:w,rowid:k}=f;this.projects.push({name:b,description:v,image:j,handleId:h,issuerDid:w,rowid:k})}}else console.error("Bad server response & data for plans:",i.status,i.data),this.errNote("Failed to get projects from the server.")}catch(a){console.error("Got error loading plans:",a.message||a),this.errNote("Got an error loading projects.")}finally{this.isLoading=!1}}async loadMoreProjectData(s){if(this.projects.length>0&&s){const a=this.projects[this.projects.length-1];await this.loadProjects(`beforeId=${a.rowid}`)}}async loadProjects(s=""){const a=`${this.apiServer}/api/v2/report/plansByIssuer?${s}`;await this.projectDataLoader(a)}onClickLoadProject(s){const a={path:"/project/"+encodeURIComponent(s)};this.$router.push(a)}onClickNewProject(){const s={name:"new-edit-project"};this.$router.push(s)}onClickLoadClaim(s){const a={path:"/claim/"+encodeURIComponent(s)};this.$router.push(a)}async offerDataLoader(s){const a=await O(this.activeDid);try{this.isLoading=!0;const i=await this.axios.get(s,{headers:a});if(i.status===200&&i.data.data)for(const u of i.data.data){if(u.fulfillsPlanHandleId){const f=await W(u.fulfillsPlanHandleId,this.axios,this.apiServer,this.activeDid),b=f==null?void 0:f.name;this.projectNameFromHandleId[u.fulfillsPlanHandleId]=b}this.offers=this.offers.concat([u])}else console.error("Bad server response & data for offers:",i.status,i.data),this.$notify({group:"alert",type:"danger",title:"Error",text:"Failed to get offers from the server. Try again later."},-1)}catch(i){console.error("Got error loading offers:",i.message||i),this.$notify({group:"alert",type:"danger",title:"Error",text:"Got an error loading offers."},-1)}finally{this.isLoading=!1}}async loadMoreOfferData(s){if(this.offers.length>0&&s){const a=this.offers[this.offers.length-1];await this.loadOffers(`&beforeId=${a.jwtId}`)}}async loadOffers(s=""){const a=`${this.apiServer}/api/v2/report/offers?offeredByDid=${this.activeDid}${s}`;await this.offerDataLoader(a)}showNameThenIdDialog(){this.givenName?this.promptForShareMethod():this.$refs.userNameDialog.open(()=>{this.promptForShareMethod()})}promptForShareMethod(){this.$notify({group:"modal",type:"confirm",title:"Are you nearby with cameras?",text:"If so, we'll use those with QR codes to share.",onCancel:async()=>{},onNo:async()=>{this.$router.push({name:"share-my-contact-info"})},onYes:async()=>{this.$router.push({name:"contact-qr"})},noText:"we will share another way",yesText:"we are nearby with cameras"},-1)}computedOfferTabClassNames(){return{"inline-block":!0,"py-3":!0,"rounded-t-lg":!0,"border-b-2":!0,active:this.showOffers,"text-black":this.showOffers,"border-black":this.showOffers,"font-semibold":this.showOffers,"text-blue-600":!this.showOffers,"border-transparent":!this.showOffers,"hover:border-slate-400":!this.showOffers}}computedProjectTabClassNames(){return{"inline-block":!0,"py-3":!0,"rounded-t-lg":!0,"border-b-2":!0,active:this.showProjects,"text-black":this.showProjects,"border-black":this.showProjects,"font-semibold":this.showProjects,"text-blue-600":!this.showProjects,"border-transparent":!this.showProjects,"hover:border-slate-400":!this.showProjects}}};D=ee([H({components:{EntityIcon:R,InfiniteScroll:U,QuickNav:A,OnboardingDialog:V,ProjectIcon:E,TopMessage:z,UserNameDialog:Y}})],D);const te={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},oe={class:"text-center text-slate-500 border-b border-slate-300 mt-8"},se={class:"flex flex-wrap justify-center gap-4 -mb-px"},ne={key:1,class:"fixed left-6 bottom-24 text-center text-4xl leading-none bg-slate-400 text-white w-14 py-2.5 rounded-full"},re={key:0,class:"text-center py-4"},ae={id:"listOffers",class:"border-t border-slate-300"},ie={class:"block py-4 flex gap-4"},le={key:0,class:"flex-none"},de={key:1,class:"flex-none w-12"},ce={class:"text-sm"},he={key:0},ue={key:0},fe={key:1},me={key:2},pe={class:"text-sm text-slate-400"},ge={key:0},ye={key:1},be={key:1},we={key:0},ve={key:1},je=["onClick"],ke={key:0,class:"text-center py-4"},Pe={key:0},Ie={key:1},Ce={id:"listProjects",class:"border-t border-slate-300"},De=["onClick"],xe={class:"flex-none"},_e={class:"grow overflow-hidden"},Ne={class:"text-base font-semibold"},Oe={class:"text-sm truncate"};function $e(e,t,s,a,i,u){const f=y("QuickNav"),b=y("TopMessage"),v=y("OnboardingDialog"),h=y("fa"),j=y("router-link"),w=y("ProjectIcon"),k=y("EntityIcon"),x=y("InfiniteScroll"),$=y("UserNameDialog");return r(),l(C,null,[d(f,{selected:"Projects"}),d(b),n("section",te,[t[12]||(t[12]=n("h1",{id:"ViewHeading",class:"text-4xl text-center font-light"}," Your Project Ideas ",-1)),d(v,{ref:"onboardingDialog"},null,512),n("div",oe,[n("ul",se,[n("li",null,[n("a",{href:"#",onClick:t[0]||(t[0]=o=>{e.offers=[],e.projects=[],e.showOffers=!0,e.showProjects=!1,e.loadOffers()}),class:_(e.computedOfferTabClassNames())}," Offers ",2)]),n("li",null,[n("a",{href:"#",onClick:t[1]||(t[1]=o=>{e.offers=[],e.projects=[],e.showOffers=!1,e.showProjects=!0,e.loadProjects()}),class:_(e.computedProjectTabClassNames())}," Projects ",2)])])]),e.isRegistered&&e.showProjects?(r(),l("button",{key:0,class:"fixed right-6 top-24 text-center text-4xl leading-none bg-green-600 text-white w-14 py-2.5 rounded-full",onClick:t[2]||(t[2]=o=>e.onClickNewProject())},[d(h,{icon:"plus",class:"fa-fw"})])):g("",!0),e.isLoading?(r(),l("div",ne,[d(h,{icon:"spinner",class:"fa-spin-pulse"})])):g("",!0),e.showOffers?(r(),P(x,{key:2,onReachedBottom:e.loadMoreOfferData},{default:I(()=>[e.offers.length===0?(r(),l("div",re,[t[5]||(t[5]=m(" You have not offered anything. ")),t[6]||(t[6]=n("br",null,null,-1)),d(j,{to:"/discover",class:"text-blue-600"},{default:I(()=>t[4]||(t[4]=[m(" Look for projects worth some of your time. ")])),_:1})])):g("",!0),n("ul",ae,[(r(!0),l(C,null,N(e.offers,o=>(r(),l("li",{class:"border-b border-slate-300",key:o.handleId},[n("div",ie,[o.fulfillsPlanHandleId?(r(),l("div",le,[d(w,{entityId:o.fulfillsPlanHandleId,iconSize:48,class:"inline-block align-middle border border-slate-300 rounded-md max-h-12 max-w-12"},null,8,["entityId"])])):g("",!0),o.recipientDid?(r(),l("div",de,[d(k,{entityId:o.recipientDid,iconSize:48,class:"inline-block align-middle border border-slate-300 rounded-md"},null,8,["entityId"])])):g("",!0),n("div",null,[n("div",null," To "+p(o.fulfillsPlanHandleId?e.projectNameFromHandleId[o.fulfillsPlanHandleId]:e.didInfo(o.recipientDid,e.activeDid,e.allMyDids,e.allContacts)),1),n("div",null,p(o.objectDescription),1),n("span",ce,[o.amount?(r(),l("span",he,[d(h,{icon:e.libsUtil.iconForUnitCode(o.unit),class:"fa-fw text-slate-400"},null,8,["icon"]),o.amountGiven>=o.amount?(r(),l("span",ue,[d(h,{icon:"check-circle",class:"fa-fw text-green-500"}),m(" All "+p(o.amount)+" given ",1)])):(r(),l("span",fe,[d(h,{icon:"triangle-exclamation",class:"fa-fw text-yellow-500"}),m(" "+p(o.amountGiven?"":"All")+" "+p(o.amount-(o.amountGiven||0))+" remaining ",1)])),o.amountGiven>0?(r(),l("span",me,[n("span",pe,[m(" ("+p(o.amountGiven)+" given, ",1),o.amountGivenConfirmed>=o.amountGiven?(r(),l("span",ge," all ")):(r(),l("span",ye,[o.amountGiven>=o.amount?(r(),P(h,{key:0,icon:"triangle-exclamation",class:"fa-fw text-yellow-300"})):g("",!0),m(" "+p(o.amountGivenConfirmed||0),1)])),t[7]||(t[7]=m(" of that is confirmed) "))])])):g("",!0)])):(r(),l("span",be,[o.nonAmountGivenConfirmed?(r(),l("span",we,[d(h,{icon:"check-circle",class:"fa-fw text-green-500"}),m(" "+p(o.nonAmountGivenConfirmed)+" "+p(o.nonAmountGivenConfirmed==1?"give":"gives")+" are confirmed. ",1)])):(r(),l("span",ve,[d(h,{icon:"triangle-exclamation",class:"fa-fw text-yellow-500"}),t[8]||(t[8]=n("span",{class:"text-sm"},"Not confirmed by anyone",-1))]))])),n("a",{onClick:S=>e.onClickLoadClaim(o.jwtId)},[d(h,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})],8,je)])])])]))),128))])]),_:1},8,["onReachedBottom"])):g("",!0),e.showProjects?(r(),P(x,{key:3,onReachedBottom:e.loadMoreProjectData},{default:I(()=>[e.projects.length===0?(r(),l("div",ke,[t[11]||(t[11]=m(" You have not announced any projects. ")),e.isRegistered?(r(),l("div",Pe,[t[9]||(t[9]=m(" Hit the big ")),d(h,{icon:"plus",class:"bg-green-600 text-white px-1.5 py-1 rounded-full"}),t[10]||(t[10]=m(" button. You'll never know until you try. "))])):(r(),l("div",Ie,[n("button",{onClick:t[3]||(t[3]=o=>e.showNameThenIdDialog()),class:"text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"}," Get someone to onboard you. "),d($,{ref:"userNameDialog"},null,512)]))])):g("",!0),n("ul",Ce,[(r(!0),l(C,null,N(e.projects,o=>(r(),l("li",{class:"border-b border-slate-300",key:o.handleId},[n("a",{onClick:S=>e.onClickLoadProject(o.handleId),class:"block py-4 flex gap-4"},[n("div",xe,[d(w,{entityId:o.handleId,iconSize:48,imageUrl:o.image,class:"inline-block align-middle border border-slate-300 rounded-md max-h-12 max-w-12"},null,8,["entityId","imageUrl"])]),n("div",_e,[n("h2",Ne,p(o.name),1),n("div",Oe,p(o.description),1)])],8,De)]))),128))])]),_:1},8,["onReachedBottom"])):g("",!0)])],64)}const Ee=B(D,[["render",$e]]);export{Ee as default}; diff --git a/dist-electron/assets/PushNotificationPermission-9Wf_h46a.js b/dist-electron/assets/PushNotificationPermission-9Wf_h46a.js new file mode 100644 index 0000000..2c21aef --- /dev/null +++ b/dist-electron/assets/PushNotificationPermission-9Wf_h46a.js @@ -0,0 +1 @@ +var P=Object.defineProperty;var E=(i,e,t)=>e in i?P(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var p=(i,e,t)=>E(i,typeof e!="symbol"?e+"":e,t);import{C,V as x,f as A,D as O,y as u,a4 as N,a5 as W,_ as D,g as M,x as c,p as H,w as V,h,j as l,k as y,i as g,m as v,s as w,l as I,T as $}from"./index-BLqts8WY.js";import{D as K,a as L,av as S,au as R,aw as U}from"./index-MyY_xqVN.js";var j=Object.defineProperty,J=Object.getOwnPropertyDescriptor,B=(i,e,t,s)=>{for(var n=s>1?void 0:s?J(e,t):e,r=i.length-1,a;r>=0;r--)(a=i[r])&&(n=(s?a(e,t,n):a(n))||n);return s&&n&&j(e,t,n),n};let b=class extends x{constructor(){super(...arguments);p(this,"$notify");p(this,"DAILY_CHECK_TITLE",K);p(this,"DIRECT_PUSH_TITLE",L);p(this,"callback",()=>{});p(this,"hourAm",!0);p(this,"hourInput","8");p(this,"isVisible",!1);p(this,"messageInput","");p(this,"minuteInput","00");p(this,"pushType","");p(this,"serviceWorkerReady",!1);p(this,"vapidKey","")}async open(t,s){var n;this.callback=s||this.callback,this.isVisible=!0,this.pushType=t;try{const r=await A();let a=O;if(r!=null&&r.webPushServer&&(a=r.webPushServer),a.startsWith("http://localhost"))u("Not checking for VAPID in this local environment.");else{let o="";await this.axios.get(a+"/web-push/vapid").then(d=>{var m,f;this.vapidKey=((m=d.data)==null?void 0:m.vapidKey)||"",u("Got vapid key: "+this.vapidKey),o=JSON.stringify(d.data),(f=navigator.serviceWorker)==null||f.addEventListener("controllerchange",()=>{u("New service worker is now controlling the page")})}),this.vapidKey||(this.$notify({group:"alert",type:"danger",title:"Error Setting Notifications",text:"Could not set notifications."},5e3),u("Error Setting Notifications: web push server response didn't have vapidKey: "+o,!0))}}catch(r){window.location.host.startsWith("localhost")?u("Ignoring the error getting VAPID for local development."):(u("Got an error initializing notifications: "+JSON.stringify(r),!0),this.$notify({group:"alert",type:"danger",title:"Error Setting Notifications",text:"Got an error setting notifications."},5e3))}(n=navigator.serviceWorker)==null||n.ready.then(()=>{this.serviceWorkerReady=!0}),this.pushType===this.DIRECT_PUSH_TITLE?(this.messageInput="Click to share some gratitude with the world -- even if they're unnamed.",setTimeout(function(){var r;(r=document.getElementById("push-message"))==null||r.focus()},100)):this.messageInput=""}close(){this.isVisible=!1}sendMessageToServiceWorker(t){return new Promise((s,n)=>{var r,a;if((r=navigator.serviceWorker)!=null&&r.controller){const o=new MessageChannel;o.port1.onmessage=d=>{d.data.error?n(d.data.error):s(d.data)},(a=navigator.serviceWorker)==null||a.controller.postMessage(t,[o.port2])}else n("Service worker controller not available")})}async askPermission(){var s,n;if(!("serviceWorker"in navigator&&((s=navigator.serviceWorker)!=null&&s.controller)))return Promise.reject("Service worker not available.");await N.open();const t=(n=await N.secret.get(W))==null?void 0:n.secret;return t?this.sendSecretToServiceWorker(t).then(()=>this.checkNotificationSupport()).then(()=>this.requestNotificationPermission()).catch(r=>Promise.reject(r)):Promise.reject("No secret found.")}sendSecretToServiceWorker(t){const s={type:"SEND_LOCAL_DATA",data:t};return this.sendMessageToServiceWorker(s).then(n=>{u("Response from service worker: "+JSON.stringify(n))})}checkNotificationSupport(){return"Notification"in window?(window.Notification.permission==="granted",Promise.resolve()):(this.$notify({group:"alert",type:"danger",title:"Browser Notifications Are Not Supported",text:"This browser does not support notifications."},3e3),Promise.reject("This browser does not support notifications."))}requestNotificationPermission(){return window.Notification.requestPermission().then(t=>{if(t!=="granted")throw this.$notify({group:"alert",type:"danger",title:"Error Requesting Notification Permission",text:"Allow this app permission to make notifications for personal reminders. You can adjust them at any time in your settings."},-1),new Error("Permission was not granted to this app.");return t})}checkHourInput(){const t=parseInt(this.hourInput);isNaN(t)?this.hourInput="12":t<1?(this.hourInput="12",this.hourAm=!this.hourAm):t>12?(this.hourInput="1",this.hourAm=!this.hourAm):this.hourInput=t.toString()}checkMinuteInput(){const t=parseInt(this.minuteInput);isNaN(t)?this.minuteInput="00":t<0?this.minuteInput="59":t<10?this.minuteInput="0"+t:t>59?this.minuteInput="00":this.minuteInput=t.toString()}async turnOnNotifications(){let t=()=>{};return this.askPermission().then(s=>(u("Permission granted: "+JSON.stringify(s)),this.subscribeToPush())).then(()=>{var s;return u("Subscribed successfully."),(s=navigator.serviceWorker)==null?void 0:s.ready}).then(s=>s.pushManager.getSubscription()).then(async s=>{if(s){t=await this.$notify({group:"alert",type:"info",title:"Notification Setup Underway",text:"Setting up notifications for interesting activity, which takes about 10 seconds. If you don't see a final confirmation, check the 'Troubleshoot' page."},-1);const n=S(this.hourInput),o=(this.hourAm?n===12?0:n:n===12?12:n+12)%24+Math.round(new Date().getTimezoneOffset()/60),d=(o+(o<0?24:0))%24,f=S(this.minuteInput)+Math.round(new Date().getTimezoneOffset()%60),T=(f+(f<0?60:0))%60,k={notifyTime:{utcHour:d,minute:T},notifyType:this.pushType,message:this.messageInput,...s.toJSON()};return await this.sendSubscriptionToServer(k),u("Subscription data sent to server with endpoint: "+s.endpoint),k}else throw new Error("Subscription object is not available.")}).then(async s=>{u("Subscription data sent to server and all finished successfully."),await R(s,!0),t(),setTimeout(()=>{this.$notify({group:"alert",type:"success",title:"Notification Is On",text:"You should see at least one on your device; if not, check the 'Troubleshoot' link."},7e3)},500);const n=this.hourInput+":"+this.minuteInput+" "+(this.hourAm?"AM":"PM");this.callback(!0,n,this.messageInput)}).catch(s=>{u("Got an error setting notification permissions: string "+s.toString()+" JSON "+JSON.stringify(s),!0),this.$notify({group:"alert",type:"danger",title:"Error Setting Notification Permissions",text:"Could not set notification permissions."},3e3)})}subscribeToPush(){return new Promise((t,s)=>{var a;if(!("serviceWorker"in navigator&&"PushManager"in window)){const o="Push messaging is not supported";return console.warn(o),s(new Error(o))}if(window.Notification.permission!=="granted"){const o="Notification permission not granted";return console.warn(o),s(new Error(o))}const r={userVisibleOnly:!0,applicationServerKey:U(this.vapidKey)};(a=navigator.serviceWorker)==null||a.ready.then(o=>o.pushManager.subscribe(r)).then(o=>{u("Push subscription successful: "+JSON.stringify(o)),t()}).catch(o=>{u("Push subscription failed: "+JSON.stringify(o)+" - "+JSON.stringify(r),!0),this.$notify({group:"alert",type:"danger",title:"Error Setting Push Notifications",text:"We encountered an issue setting up push notifications. If you wish to revoke notification permissions, please do so in your browser settings."},-1),s(o)})})}sendSubscriptionToServer(t){return u("About to send subscription... "+JSON.stringify(t)),fetch("/web-push/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(s=>{if(!s.ok)throw console.error("Bad response subscribing to web push: ",s),new Error("Failed to send push subscription to server");u("Push subscription sent to server successfully.")})}};b=B([C],b);const Y={key:0,class:"fixed z-[100] top-0 inset-x-0 w-full inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"},_={class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg"},z={class:"w-full px-6 py-6 text-slate-900 text-center"},q={key:0,class:"text-lg mb-4"},G={key:0},F={key:1},Z={key:1,class:"text-lg mb-4"},Q={key:2},X={key:0},ee={key:1},te={class:"flex flex-row justify-center"},se={key:0},ie={key:1};function oe(i,e,t,s,n,r){const a=M("fa");return c(),H($,{"enter-active-class":"transform ease-out duration-300 transition","enter-from-class":"translate-y-2 opacity-0 sm:translate-y-4","enter-to-class":"translate-y-0 opacity-100 sm:translate-y-0","leave-active-class":"transition ease-in duration-500","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:V(()=>[i.isVisible?(c(),h("div",Y,[l("div",_,[l("div",z,[i.serviceWorkerReady&&i.vapidKey?(c(),h("p",q,[i.pushType===i.DAILY_CHECK_TITLE?(c(),h("span",G," Would you like to be notified of new activity, up to once a day? ")):(c(),h("span",F," Would you like to get a reminder message once a day? "))])):(c(),h("p",Z,[e[8]||(e[8]=y(" Waiting for system initialization, which may take up to 5 seconds... ")),g(a,{icon:"spinner",spin:""})])),i.serviceWorkerReady&&i.vapidKey?(c(),h("div",Q,[i.pushType===i.DAILY_CHECK_TITLE?(c(),h("div",X,e[9]||(e[9]=[l("span",null,"Yes, send me a message when there is new data for me",-1)]))):(c(),h("div",ee,[e[10]||(e[10]=l("span",null,"Yes, send me this message:",-1)),v(l("textarea",{type:"text",id:"push-message","onUpdate:modelValue":e[0]||(e[0]=o=>i.messageInput=o),class:"rounded border border-slate-400 mt-2 px-2 py-2 w-full",maxlength:"100"},null,512),[[w,i.messageInput]]),e[11]||(e[11]=l("span",{class:"w-full flex justify-between text-xs text-slate-500"},[l("span"),l("span",null,"(100 characters max)")],-1))])),l("div",null,[l("span",te,[e[14]||(e[14]=l("span",{class:"mt-2"},"... at: ",-1)),v(l("input",{type:"number",onChange:e[1]||(e[1]=(...o)=>i.checkHourInput&&i.checkHourInput(...o)),class:"rounded-l border border-r-0 border-slate-400 ml-2 mt-2 px-2 py-2 text-center w-20","onUpdate:modelValue":e[2]||(e[2]=o=>i.hourInput=o)},null,544),[[w,i.hourInput]]),v(l("input",{type:"number",onChange:e[3]||(e[3]=(...o)=>i.checkMinuteInput&&i.checkMinuteInput(...o)),class:"border border-slate-400 mt-2 px-2 py-2 text-center w-20","onUpdate:modelValue":e[4]||(e[4]=o=>i.minuteInput=o)},null,544),[[w,i.minuteInput]]),l("span",{class:"rounded-r border border-slate-400 bg-slate-200 text-center text-blue-500 mt-2 px-2 py-2 w-20",onClick:e[5]||(e[5]=o=>i.hourAm=!i.hourAm)},[i.hourAm?(c(),h("span",se,[e[12]||(e[12]=y(" AM ")),g(a,{icon:"chevron-down"})])):(c(),h("span",ie,[e[13]||(e[13]=y(" PM ")),g(a,{icon:"chevron-up"})]))])])]),l("button",{class:"block w-full text-center text-md font-bold uppercase bg-blue-600 text-white mt-2 px-2 py-2 rounded-md",onClick:e[6]||(e[6]=o=>{i.close(),i.turnOnNotifications()})}," Turn on Daily Message ")])):I("",!0),l("button",{onClick:e[7]||(e[7]=o=>i.close()),class:"block w-full text-center text-md font-bold uppercase bg-slate-600 text-white mt-4 px-2 py-2 rounded-md"}," No, Not Now ")])])])):I("",!0)]),_:1})}const le=D(b,[["render",oe],["__scopeId","data-v-9f8794cf"]]);export{le as P}; diff --git a/dist-electron/assets/PushNotificationPermission-tn0RQdqM.css b/dist-electron/assets/PushNotificationPermission-tn0RQdqM.css new file mode 100644 index 0000000..e69de29 diff --git a/dist-electron/assets/QuickActionBvcBeginView-C0Z58a0n.js b/dist-electron/assets/QuickActionBvcBeginView-C0Z58a0n.js new file mode 100644 index 0000000..cfef7c0 --- /dev/null +++ b/dist-electron/assets/QuickActionBvcBeginView-C0Z58a0n.js @@ -0,0 +1 @@ +var w=Object.defineProperty;var S=(t,e,s)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var p=(t,e,s)=>S(t,typeof e!="symbol"?e+"":e,s);import{V as k,f as T,a as y,C as $,_ as C,g as v,h as m,i as g,j as r,m as h,o as x,s as V,k as _,F as D,x as f}from"./index-BLqts8WY.js";import{D as M}from"./datetime-BDQ5ptpc.js";import{Q as O}from"./QuickNav-DgCyvgDx.js";import{T as B}from"./TopMessage-BE0GBIgW.js";import{av as A,ar as E,aQ as P,u as Q,aR as N}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var j=Object.defineProperty,U=Object.getOwnPropertyDescriptor,Y=(t,e,s,n)=>{for(var a=n>1?void 0:n?U(e,s):e,d=t.length-1,l;d>=0;d--)(l=t[d])&&(a=(n?l(e,s,a):l(a))||a);return n&&a&&j(e,s,a),a};let b=class extends k{constructor(){super(...arguments);p(this,"$notify");p(this,"attended",!0);p(this,"gaveTime",!0);p(this,"hoursStr","1");p(this,"todayOrPreviousStartDate","")}async mounted(){let s=M.now().setZone("America/Denver");s.weekday<6&&(s=s.minus({week:1}));const n=s.set({weekday:6}).set({hour:9}).startOf("hour");this.todayOrPreviousStartDate=n.toISO({suppressMilliseconds:!0})||""}async record(){var d,l;const s=await T(),n=s.activeDid||"",a=s.apiServer||"";try{const u=A(this.hoursStr);this.$notify({group:"alert",type:"toast",title:"Sent..."},1e3);let c=!1;if(this.gaveTime&&u>0){const o=await E(y,a,n,n,void 0,void 0,u,"HUR",P);o.type==="success"?c=!0:(console.error("Error sending time:",o),this.$notify({group:"alert",type:"danger",title:"Error",text:((d=o==null?void 0:o.error)==null?void 0:d.userMessage)||"There was an error sending the time."},5e3))}let i=!1;if(this.attended){const o=await Q(N(n,this.todayOrPreviousStartDate),n,a,y);o.type==="success"?i=!0:(console.error("Error sending attendance:",o),this.$notify({group:"alert",type:"danger",title:"Error",text:((l=o==null?void 0:o.error)==null?void 0:l.userMessage)||"There was an error sending the attendance."},5e3))}if(c||i){const o=c&&i?"Your attendance and time have been recorded.":c?"Your time has been recorded.":"Your attendance has been recorded.";this.$notify({group:"alert",type:"success",title:"Success",text:o},3e3),this.$router.push({path:"/quick-action-bvc"})}}catch(u){console.error("Error sending claims.",u),this.$notify({group:"alert",type:"danger",title:"Error",text:u.userMessage||"There was an error sending the claims."},5e3)}}};b=Y([$({components:{QuickNav:O,TopMessage:B}})],b);const H={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={class:"text-lg text-center font-light relative px-7"},I={class:"m-2 flex"},J={class:"m-2 flex"},Z={key:0},q={key:1,class:"h-6"},z={key:0,class:"flex justify-center mt-4"},G={key:1,class:"flex justify-center mt-4"};function L(t,e,s,n,a,d){const l=v("QuickNav"),u=v("TopMessage"),c=v("fa");return f(),m(D,null,[g(l),g(u),r("section",H,[r("div",F,[r("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=i=>t.$router.back())},[g(c,{icon:"chevron-left",class:"fa-fw"})])]),e[10]||(e[10]=r("h1",{id:"ViewHeading",class:"text-4xl text-center font-light px-4 mb-4"}," Beginning of BVC Saturday Meeting ",-1)),r("div",null,[e[8]||(e[8]=r("h2",{class:"text-2xl m-2"},"You're Here",-1)),r("div",I,[h(r("input",{type:"checkbox","onUpdate:modelValue":e[1]||(e[1]=i=>t.attended=i),class:"h-6 w-6"},null,512),[[x,t.attended]]),e[5]||(e[5]=r("span",{class:"pb-2 pl-2 pr-2"},"Attended",-1))]),r("div",J,[h(r("input",{type:"checkbox","onUpdate:modelValue":e[2]||(e[2]=i=>t.gaveTime=i),class:"h-6 w-6"},null,512),[[x,t.gaveTime]]),e[7]||(e[7]=r("span",{class:"pb-2 pl-2 pr-2"},"Spent Time",-1)),t.gaveTime?(f(),m("span",Z,[h(r("input",{type:"text",placeholder:"How much time","onUpdate:modelValue":e[3]||(e[3]=i=>t.hoursStr=i),size:"1",class:"border border-slate-400 h-6 px-2"},null,512),[[V,t.hoursStr]]),e[6]||(e[6]=_(" hour(s) "))])):(f(),m("span",q))])]),t.attended||t.gaveTime&&t.hoursStr&&t.hoursStr!="0"?(f(),m("div",z,[r("button",{onClick:e[4]||(e[4]=i=>t.record()),class:"block text-center text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md w-56"}," Sign & Send ")])):(f(),m("div",G,e[9]||(e[9]=[r("button",{class:"block text-center text-md font-bold bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md w-56"}," Select Your Actions ",-1)])))])],64)}const oe=C(b,[["render",L]]);export{oe as default}; diff --git a/dist-electron/assets/QuickActionBvcEndView-DM6g0NBZ.js b/dist-electron/assets/QuickActionBvcEndView-DM6g0NBZ.js new file mode 100644 index 0000000..7655bf9 --- /dev/null +++ b/dist-electron/assets/QuickActionBvcEndView-DM6g0NBZ.js @@ -0,0 +1 @@ +var E=Object.defineProperty;var M=(t,e,o)=>e in t?E(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var d=(t,e,o)=>M(t,typeof e!="symbol"?e+"":e,o);import{V as O,f as A,e as V,a9 as G,a as S,C as j,_ as P,g as y,h as m,i as u,j as i,l as g,F as k,z as U,k as v,t as C,m as b,o as D,s as H,x as p}from"./index-BLqts8WY.js";import{D as I}from"./datetime-BDQ5ptpc.js";import{Q as N}from"./QuickNav-DgCyvgDx.js";import{T as Q}from"./TopMessage-BE0GBIgW.js";import{g as W,a6 as x,F as _,aS as F,ar as L,aQ as $,aT as R}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var Y=Object.defineProperty,z=Object.getOwnPropertyDescriptor,q=(t,e,o,a)=>{for(var r=a>1?void 0:a?z(e,o):e,s=t.length-1,l;s>=0;s--)(l=t[s])&&(r=(a?l(e,o,r):l(r))||r);return a&&r&&Y(e,o,r),r};let w=class extends O{constructor(){super(...arguments);d(this,"$notify");d(this,"activeDid","");d(this,"allContacts",[]);d(this,"allMyDids",[]);d(this,"apiServer","");d(this,"claimCountByUser",0);d(this,"claimCountWithHidden",0);d(this,"claimsToConfirm",[]);d(this,"claimsToConfirmSelected",[]);d(this,"description","breakfast");d(this,"loadingConfirms",!0);d(this,"someoneGave",!1);d(this,"supplyGiftDetails",!1)}async created(){this.loadingConfirms=!0;const e=await A();this.apiServer=e.apiServer||"",this.activeDid=e.activeDid||"",this.allContacts=await V.contacts.toArray();let o=I.now().setZone("America/Denver");o.weekday<6&&(o=o.minus({week:1}));const r=o.set({weekday:6}).set({hour:9}).startOf("hour").toISO({suppressMilliseconds:!0})||"",s=await G;await s.open();const l=await s.accounts.toArray();this.allMyDids=l.map(c=>c.did);const h=await W(this.activeDid);try{const c=await fetch(this.apiServer+"/api/claim/?issuedAt_greaterThanOrEqualTo="+encodeURIComponent(r)+"&excludeConfirmations=true",{headers:h});if(!c.ok)throw console.error("Bad response",c),new Error("Bad response when retrieving claims.");await c.json().then(n=>{const f=x(B=>B.issuer===this.activeDid,n),T=x(_,f);this.claimsToConfirm=T,this.claimCountByUser=n.length-f.length,this.claimCountWithHidden=f.length-T.length})}catch(c){console.error("Error:",c),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error retrieving today's claims to confirm."},5e3)}this.loadingConfirms=!1}onClickLoadClaim(e){const o={path:"/claim/"+encodeURIComponent(e)};this.$router.push(o)}async record(){var e;try{this.claimsToConfirmSelected.length>0&&this.$notify({group:"alert",type:"toast",title:"Sent..."},1e3);const o=await Promise.allSettled(this.claimsToConfirmSelected.map(async s=>{const l=this.claimsToConfirm.find(h=>h.id===s);return l?F(this.activeDid,l.claim,l.id,l.handleId,this.apiServer,S):{type:"error",error:"Record not found."}})),a=o.filter(s=>s.status==="fulfilled"&&s.value.type==="success");if(a.length0){const s=a.length===1?"Your confirmation has been recorded.":"Your confirmations have been recorded.";this.$notify({group:"alert",type:"success",title:"Success",text:s},3e3)}this.$router.push({name:"gifted-details",query:{description:this.description,destinationPathAfter:"/",providerProjectId:$,recipientDid:this.activeDid}})}else if(a.length>0||r){const s=a.length===1?"confirmation":"confirmations",l=a.length>0&&r?`Your ${s} and that give have been recorded.`:r?"That give has been recorded.":"Your "+s+" "+(a.length===1?"has":"have")+" been recorded.";this.$notify({group:"alert",type:"success",title:"Success",text:l},3e3),this.$router.push({path:"/"})}}catch(o){console.error("Error sending claims.",o),this.$notify({group:"alert",type:"danger",title:"Error",text:o.userMessage||"There was an error sending claims."},5e3)}}};w=q([j({methods:{claimSpecialDescription:R},components:{QuickNav:N,TopMessage:Q}})],w);const J={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},Z={class:"text-lg text-center font-light relative px-7"},K={key:0,class:"flex justify-center"},X={key:1},ee={class:"border-t border-slate-300 m-2"},te={class:"grid grid-cols-12"},se={class:"col-span-11 justify-self-start"},ie=["checked","onClick"],oe=["onClick"],ne={key:0,class:"border-b border-slate-300 pb-2"},re={key:1,class:"border-b border-slate-300 pb-2"},ae={class:"m-2 flex"},le={key:0},de={key:1,class:"h-6"},ce={key:2,class:"flex justify-center mt-4"},me={key:3,class:"flex justify-center mt-4"};function pe(t,e,o,a,r,s){const l=y("QuickNav"),h=y("TopMessage"),c=y("fa");return p(),m(k,null,[u(l),u(h),i("section",J,[i("div",Z,[i("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=n=>t.$router.back())},[u(c,{icon:"chevron-left",class:"fa-fw"})])]),e[13]||(e[13]=i("h1",{id:"ViewHeading",class:"text-4xl text-center font-light px-4 mb-4"}," End of BVC Saturday Meeting ",-1)),i("div",null,[e[5]||(e[5]=i("h2",{class:"text-2xl m-2"},"Confirm",-1)),t.loadingConfirms?(p(),m("div",K,[u(c,{icon:"spinner",class:"animate-spin"})])):t.claimsToConfirm.length===0?(p(),m("div",X," There are no claims yet today for you to confirm. ")):g("",!0),i("ul",ee,[(p(!0),m(k,null,U(t.claimsToConfirm,n=>(p(),m("li",{class:"border-b border-slate-300 py-2",key:n.id},[i("div",te,[i("span",se,[i("span",null,[i("input",{type:"checkbox",checked:t.claimsToConfirmSelected.includes(n.id),onClick:f=>t.claimsToConfirmSelected.includes(n.id)?t.claimsToConfirmSelected.splice(t.claimsToConfirmSelected.indexOf(n.id),1):t.claimsToConfirmSelected.push(n.id),class:"mr-2 h-6 w-6"},null,8,ie)]),v(" "+C(t.claimSpecialDescription(n,t.activeDid,t.allMyDids,t.allContacts))+" ",1),i("a",{onClick:f=>t.onClickLoadClaim(n.id)},[u(c,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})],8,oe)])])]))),128))])]),t.claimCountWithHidden>0?(p(),m("div",ne,[i("span",null,[v(C(t.claimCountWithHidden===1?"There is 1 other claim with hidden details,":`There are ${t.claimCountWithHidden} other claims with hidden details,`)+" so if you expected but do not see details from someone then ask them to check that their activity is visible to you on their Contacts ",1),u(c,{icon:"users",class:"text-slate-500"}),e[6]||(e[6]=v(" page. "))])])):g("",!0),t.claimCountByUser>0?(p(),m("div",re,[i("span",null,C(t.claimCountByUser===1?"There is 1 other claim by you":`There are ${t.claimCountByUser} other claims by you`)+" which you don't need to confirm. ",1)])):g("",!0),i("div",null,[e[11]||(e[11]=i("h2",{class:"text-2xl m-2"},"Anything else?",-1)),i("div",ae,[b(i("input",{type:"checkbox","onUpdate:modelValue":e[1]||(e[1]=n=>t.someoneGave=n),class:"h-6 w-6"},null,512),[[D,t.someoneGave]]),e[10]||(e[10]=i("span",{class:"pb-2 pl-2 pr-2"},"The group provided",-1)),t.someoneGave?(p(),m("span",le,[b(i("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=n=>t.description=n),size:"20",class:"border border-slate-400 h-6 px-2"},null,512),[[H,t.description]]),e[7]||(e[7]=i("br",null,null,-1)),e[8]||(e[8]=v(" (Everyone likes personalized messages! 😁 ... and for a pic: ")),b(i("input",{type:"checkbox","onUpdate:modelValue":e[3]||(e[3]=n=>t.supplyGiftDetails=n)},null,512),[[D,t.supplyGiftDetails]]),e[9]||(e[9]=v(") "))])):(p(),m("span",de,"..."))])]),t.claimsToConfirmSelected.length||t.someoneGave&&t.description?(p(),m("div",ce,[i("button",{onClick:e[4]||(e[4]=n=>t.record()),class:"block text-center text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md w-56"}," Sign & Send ")])):(p(),m("div",me,e[12]||(e[12]=[i("button",{class:"block text-center text-md font-bold bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md w-56"}," Choose What To Confirm ",-1)])))])],64)}const be=P(w,[["render",pe]]);export{be as default}; diff --git a/dist-electron/assets/QuickActionBvcView-DU2ibwzk.js b/dist-electron/assets/QuickActionBvcView-DU2ibwzk.js new file mode 100644 index 0000000..1708a79 --- /dev/null +++ b/dist-electron/assets/QuickActionBvcView-DU2ibwzk.js @@ -0,0 +1 @@ +import{V as _,C as b,_ as g,g as l,h as v,i as a,j as i,w as d,F as w,x as k,k as f}from"./index-BLqts8WY.js";import{Q as V}from"./QuickNav-DgCyvgDx.js";import{T as B}from"./TopMessage-BE0GBIgW.js";var C=Object.defineProperty,h=Object.getOwnPropertyDescriptor,Q=(o,e,r,n)=>{for(var t=n>1?void 0:n?h(e,r):e,c=o.length-1,s;c>=0;c--)(s=o[c])&&(t=(n?s(e,r,t):s(t))||t);return n&&t&&C(e,r,t),t};let p=class extends _{};p=Q([b({components:{QuickNav:V,TopMessage:B}})],p);const $={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},N={class:"text-lg text-center font-light relative px-7"};function y(o,e,r,n,t,c){const s=l("QuickNav"),m=l("TopMessage"),x=l("fa"),u=l("router-link");return k(),v(w,null,[a(s),a(m),i("section",$,[i("div",N,[i("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=M=>o.$router.back())},[a(x,{icon:"chevron-left",class:"fa-fw"})])]),e[3]||(e[3]=i("h1",{id:"ViewHeading",class:"text-4xl text-center font-light px-4 mb-4"}," Bountiful Voluntaryist Community Actions ",-1)),i("div",null,[a(u,{to:{name:"quick-action-bvc-begin"},class:"block text-center text-md font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"},{default:d(()=>e[1]||(e[1]=[f(" Beginning of Meeting ")])),_:1}),a(u,{to:{name:"quick-action-bvc-end"},class:"block text-center text-md font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"},{default:d(()=>e[2]||(e[2]=[f(" End of Meeting ")])),_:1})])])],64)}const j=g(p,[["render",y]]);export{j as default}; diff --git a/dist-electron/assets/QuickNav-DgCyvgDx.js b/dist-electron/assets/QuickNav-DgCyvgDx.js new file mode 100644 index 0000000..e38d14e --- /dev/null +++ b/dist-electron/assets/QuickNav-DgCyvgDx.js @@ -0,0 +1 @@ +var b=Object.defineProperty;var v=(s,e,a)=>e in s?b(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a;var u=(s,e,a)=>v(s,typeof e!="symbol"?e+"":e,a);import{aa as _,C as w,V as g,_ as h,g as p,x as k,h as y,j as t,q as i,i as l,w as d}from"./index-BLqts8WY.js";var C=Object.defineProperty,P=Object.getOwnPropertyDescriptor,m=(s,e,a,n)=>{for(var c=n>1?void 0:n?P(e,a):e,f=s.length-1,o;f>=0;f--)(o=s[f])&&(c=(n?o(e,a,c):o(c))||c);return n&&c&&C(e,a,c),c};let x=class extends g{constructor(){super(...arguments);u(this,"selected","")}};m([_],x.prototype,"selected",2);x=m([w],x);const j={id:"QuickNav",class:"fixed bottom-0 left-0 right-0 bg-slate-200 z-50"},N={class:"flex text-2xl p-2 gap-2 max-w-3xl mx-auto"},Q={class:"flex flex-col items-center"},$={class:"flex flex-col items-center"},D={class:"flex flex-col items-center"},O={class:"flex flex-col items-center"},V={class:"flex flex-col items-center"};function B(s,e,a,n,c,f){const o=p("fa"),r=p("router-link");return k(),y("nav",j,[t("ul",N,[t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Home","text-slate-500":s.selected!=="Home"})},[l(r,{to:{name:"home"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",Q,[l(o,{icon:"house-chimney",class:"fa-fw"}),e[0]||(e[0]=t("span",{class:"text-xs mt-1"},"feed",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Discover","text-slate-500":s.selected!=="Discover"})},[l(r,{to:{name:"discover"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",$,[l(o,{icon:"magnifying-glass",class:"fa-fw"}),e[1]||(e[1]=t("span",{class:"text-xs mt-1"},"search",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Projects","text-slate-500":s.selected!=="Projects"})},[l(r,{to:{name:"projects"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",D,[l(o,{icon:"hand",class:"fa-fw"}),e[2]||(e[2]=t("span",{class:"text-xs mt-1"},"your work",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Contacts","text-slate-500":s.selected!=="Contacts"})},[l(r,{to:{name:"contacts"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",O,[l(o,{icon:"users",class:"fa-fw"}),e[3]||(e[3]=t("span",{class:"text-xs mt-1"},"contacts",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Profile","text-slate-500":s.selected!=="Profile"})},[l(r,{to:{name:"account"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",V,[l(o,{icon:"circle-user",class:"fa-fw"}),e[4]||(e[4]=t("span",{class:"text-xs mt-1"},"profile",-1))])]),_:1})],2)])])}const E=h(x,[["render",B]]);export{E as Q}; diff --git a/dist-electron/assets/RecentOffersToUserProjectsView-CJ3U9ASr.js b/dist-electron/assets/RecentOffersToUserProjectsView-CJ3U9ASr.js new file mode 100644 index 0000000..b1ddd87 --- /dev/null +++ b/dist-electron/assets/RecentOffersToUserProjectsView-CJ3U9ASr.js @@ -0,0 +1 @@ +var U=Object.defineProperty;var g=(t,e,r)=>e in t?U(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var o=(t,e,r)=>g(t,typeof e!="symbol"?e+"":e,r);import{V as D,f as I,e as _,C as A,_ as x,g as w,h as c,i as n,j as a,k as l,w as h,l as j,F as P,x as d,z as k,t as u}from"./index-BLqts8WY.js";import{E as C}from"./EntityIcon-CF1RwQI5.js";import{G as N}from"./GiftedDialog-CFmou4Be.js";import{I as S}from"./InfiniteScroll-B5tl9k_n.js";import{Q as E}from"./QuickNav-DgCyvgDx.js";import{h as V,A as $,e as B,ay as T}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var M=Object.defineProperty,R=Object.getOwnPropertyDescriptor,J=(t,e,r,f)=>{for(var i=f>1?void 0:f?R(e,r):e,m=t.length-1,p;m>=0;m--)(p=t[m])&&(i=(f?p(e,r,i):p(i))||i);return f&&i&&M(e,r,i),i};let O=class extends D{constructor(){super(...arguments);o(this,"$notify");o(this,"activeDid","");o(this,"allContacts",[]);o(this,"allMyDids",[]);o(this,"apiServer","");o(this,"lastAckedOfferToUserProjectsJwtId","");o(this,"newOffersToUserProjects",[]);o(this,"newOffersToUserProjectsAtEnd",!1);o(this,"showOffersDetails",!1);o(this,"showOffersToUserProjectsDetails",!1);o(this,"didInfo",V);o(this,"displayAmount",$)}async created(){try{const e=await I();this.apiServer=e.apiServer||"",this.activeDid=e.activeDid||"",this.lastAckedOfferToUserProjectsJwtId=e.lastAckedOfferToUserProjectsJwtId||"",this.allContacts=await _.contacts.toArray(),this.allMyDids=await B();const r=await T(this.axios,this.apiServer,this.activeDid,void 0,void 0);this.newOffersToUserProjects=r.data,this.newOffersToUserProjectsAtEnd=!r.hitLimit}catch(e){console.error("Error retrieving settings & contacts:",e),this.$notify({group:"alert",type:"danger",title:"Error",text:e.message||"There was an error retrieving your activity."},5e3)}}async loadMoreOffersToUserProjects(){if(this.newOffersToUserProjectsAtEnd)return;const e=await T(this.axios,this.apiServer,this.activeDid,void 0,this.newOffersToUserProjects[this.newOffersToUserProjects.length-1].jwtId);this.newOffersToUserProjects.push(...e.data),this.newOffersToUserProjectsAtEnd=!e.hitLimit}};O=J([A({components:{EntityIcon:C,GiftedDialog:N,InfiniteScroll:S,QuickNav:E}})],O);const Q={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},Y={id:"ViewBreadcrumb",class:"mb-8"},F={class:"text-lg text-center font-light relative px-7"},L={key:0},G={class:"mt-2"},z={class:"mt-2"},H={"data-testId":"listRecentOffersToUserProjects",class:"border-t border-slate-300"},q={key:0,class:"border-b border-slate-300 text-orange-400 pb-2 mb-2 font-bold text-sm"},K={key:1},W={key:2};function X(t,e,r,f,i,m){const p=w("QuickNav"),v=w("fa"),y=w("router-link"),b=w("InfiniteScroll");return d(),c(P,null,[n(p,{selected:"Home"}),a("section",Q,[a("div",Y,[a("h1",F,[n(v,{icon:"chevron-left",onClick:e[0]||(e[0]=s=>t.$router.back()),class:"fa-fw text-lg text-center px-2 py-1 absolute -left-2 -top-1"}),e[1]||(e[1]=l(" Offers to Your Projects "))])]),t.newOffersToUserProjects.length===0?(d(),c("div",L,[e[6]||(e[6]=a("p",null,"Nobody has given any offers to your projects.",-1)),a("p",G,[e[3]||(e[3]=l(" Maybe there are already some projects you can help on the ")),n(y,{to:"/discover",class:"text-blue-500"},{default:h(()=>[e[2]||(e[2]=l(" Discover page ")),n(v,{icon:"search"})]),_:1})]),a("p",z,[e[5]||(e[5]=l(" You can announce more of your own on ")),n(y,{to:"/contacts",class:"text-blue-500"},{default:h(()=>[e[4]||(e[4]=l(" Your Ideas page ")),n(v,{icon:"hand"})]),_:1})])])):j("",!0),n(b,{onReachedBottom:t.loadMoreOffersToUserProjects},{default:h(()=>[a("ul",H,[(d(!0),c(P,null,k(t.newOffersToUserProjects,s=>(d(),c("li",{key:s.jwtId,class:"mt-4 relative group"},[s.jwtId==t.lastAckedOfferToUserProjectsJwtId?(d(),c("div",q," You've already seen all the following ")):j("",!0),a("span",null,u(t.didInfo(s.offeredByDid,t.activeDid,t.allMyDids,t.allContacts)),1),e[7]||(e[7]=l(" offered ")),s.objectDescription?(d(),c("span",K,u(s.objectDescription),1)):j("",!0),l(u(s.objectDescription&&s.amount?", and ":"")+" ",1),s.amount?(d(),c("span",W,u(t.displayAmount(s.unit,s.amount)),1)):j("",!0),e[8]||(e[8]=l(" to ")),a("span",null,u(s.planName),1),n(y,{to:{path:"/claim/"+encodeURIComponent(s.jwtId)},class:"text-blue-500"},{default:h(()=>[n(v,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})]),_:2},1032,["to"])]))),128))])]),_:1},8,["onReachedBottom"])])],64)}const ie=x(O,[["render",X]]);export{ie as default}; diff --git a/dist-electron/assets/RecentOffersToUserView-DLi5_oJ6.js b/dist-electron/assets/RecentOffersToUserView-DLi5_oJ6.js new file mode 100644 index 0000000..41cae5c --- /dev/null +++ b/dist-electron/assets/RecentOffersToUserView-DLi5_oJ6.js @@ -0,0 +1 @@ +var D=Object.defineProperty;var _=(t,e,s)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var o=(t,e,s)=>_(t,typeof e!="symbol"?e+"":e,s);import{V as I,f as A,e as x,C as k,_ as C,g as m,h as a,i as l,j as d,k as c,w as y,l as w,F as U,x as f,z as j,t as h}from"./index-BLqts8WY.js";import{G as S}from"./GiftedDialog-CFmou4Be.js";import{E as V}from"./EntityIcon-CF1RwQI5.js";import{I as E}from"./InfiniteScroll-B5tl9k_n.js";import{Q as N}from"./QuickNav-DgCyvgDx.js";import{h as $,A as B,e as R,ax as b}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var M=Object.defineProperty,P=Object.getOwnPropertyDescriptor,J=(t,e,s,n)=>{for(var i=n>1?void 0:n?P(e,s):e,u=t.length-1,p;u>=0;u--)(p=t[u])&&(i=(n?p(e,s,i):p(i))||i);return n&&i&&M(e,s,i),i};let O=class extends I{constructor(){super(...arguments);o(this,"$notify");o(this,"activeDid","");o(this,"allContacts",[]);o(this,"allMyDids",[]);o(this,"apiServer","");o(this,"lastAckedOfferToUserJwtId","");o(this,"newOffersToUser",[]);o(this,"newOffersToUserAtEnd",!1);o(this,"showOffersDetails",!1);o(this,"showOffersToUserProjectsDetails",!1);o(this,"didInfo",$);o(this,"displayAmount",B)}async created(){try{const s=await A();this.apiServer=s.apiServer||"",this.activeDid=s.activeDid||"",this.lastAckedOfferToUserJwtId=s.lastAckedOfferToUserJwtId||"",this.allContacts=await x.contacts.toArray(),this.allMyDids=await R();const n=await b(this.axios,this.apiServer,this.activeDid,void 0,void 0);this.newOffersToUser=n.data,this.newOffersToUserAtEnd=!n.hitLimit}catch(s){console.error("Error retrieving settings & contacts:",s),this.$notify({group:"alert",type:"danger",title:"Error",text:s.message||"There was an error retrieving your activity."},5e3)}}async loadMoreOffersToUser(){if(this.newOffersToUserAtEnd)return;const s=await b(this.axios,this.apiServer,this.activeDid,void 0,this.newOffersToUser[this.newOffersToUser.length-1].jwtId);this.newOffersToUser.push(...s.data),this.newOffersToUserAtEnd=!s.hitLimit}};O=J([k({components:{EntityIcon:V,GiftedDialog:S,InfiniteScroll:E,QuickNav:N}})],O);const Q={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={id:"ViewBreadcrumb",class:"mb-8"},L={class:"text-lg text-center font-light relative px-7"},Y={key:0},G={class:"mt-2"},H={"data-testId":"listRecentOffersToUser",class:"border-t border-slate-300"},z={key:0,class:"border-b border-slate-300 text-orange-400 pb-2 mb-2 font-bold text-sm"},q={key:1},K={key:2};function W(t,e,s,n,i,u){const p=m("QuickNav"),v=m("fa"),T=m("router-link"),g=m("InfiniteScroll");return f(),a(U,null,[l(p,{selected:"Home"}),d("section",Q,[d("div",F,[d("h1",L,[l(v,{icon:"chevron-left",onClick:e[0]||(e[0]=r=>t.$router.back()),class:"fa-fw text-lg text-center px-2 py-1 absolute -left-2 -top-1"}),e[1]||(e[1]=c(" Offers to You "))])]),t.newOffersToUser.length===0?(f(),a("div",Y,[e[5]||(e[5]=d("p",null,"Nobody has given you an offer.",-1)),d("p",G,[e[3]||(e[3]=c(" You can start the cycle on the ")),l(T,{to:"/contacts",class:"text-blue-500"},{default:y(()=>[e[2]||(e[2]=c(" Contacts page ")),l(v,{icon:"users"})]),_:1}),e[4]||(e[4]=c(` with an "Offer" directly to someone. Hopefully you'll find a common interest! `))])])):w("",!0),l(g,{onReachedBottom:t.loadMoreOffersToUser},{default:y(()=>[d("ul",H,[(f(!0),a(U,null,j(t.newOffersToUser,r=>(f(),a("li",{key:r.jwtId,class:"mt-4 relative group"},[r.jwtId==t.lastAckedOfferToUserJwtId?(f(),a("div",z," You've already seen all the following ")):w("",!0),d("span",null,h(t.didInfo(r.offeredByDid,t.activeDid,t.allMyDids,t.allContacts)),1),e[6]||(e[6]=c(" offered ")),r.objectDescription?(f(),a("span",q,h(r.objectDescription),1)):w("",!0),c(h(r.objectDescription&&r.amount?", and ":"")+" ",1),r.amount?(f(),a("span",K,h(t.displayAmount(r.unit,r.amount)),1)):w("",!0),l(T,{to:{path:"/claim/"+encodeURIComponent(r.jwtId)},class:"text-blue-500"},{default:y(()=>[l(v,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})]),_:2},1032,["to"])]))),128))])]),_:1},8,["onReachedBottom"])])],64)}const ae=C(O,[["render",W]]);export{ae as default}; diff --git a/dist-electron/assets/SearchAreaView-B6aUX_Cn.js b/dist-electron/assets/SearchAreaView-B6aUX_Cn.js new file mode 100644 index 0000000..6f3c647 --- /dev/null +++ b/dist-electron/assets/SearchAreaView-B6aUX_Cn.js @@ -0,0 +1 @@ +var v=Object.defineProperty;var D=(e,t,o)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var l=(e,t,o)=>D(e,typeof t!="symbol"?t+"":t,o);/* empty css */import{V as T,f as $,e as m,M as S,C as O,_ as E,g as L,h as u,i as f,j as h,l as g,k as b,w as A,F as V,x as i,p as C}from"./index-BLqts8WY.js";import{m as Z,i as F,u as P,v as z}from"./vue-leaflet.es-D17g3l39.js";import{Q as U}from"./QuickNav-DgCyvgDx.js";var Q=Object.defineProperty,R=Object.getOwnPropertyDescriptor,j=(e,t,o,a)=>{for(var s=a>1?void 0:a?R(t,o):t,p=e.length-1,c;p>=0;p--)(c=e[p])&&(s=(a?c(t,o,s):c(s))||s);return a&&s&&Q(t,o,s),s};const d=.01,k=2,w=2;let y=class extends T{constructor(){super(...arguments);l(this,"$notify");l(this,"isChoosingSearchBox",!1);l(this,"isNewMarkerSet",!1);l(this,"localCenterLat",0);l(this,"localCenterLong",0);l(this,"localLatDiff",d);l(this,"localLongDiff",d);l(this,"localZoom",w);l(this,"searchBox",null)}async mounted(){var a;const o=await $();this.searchBox=((a=o.searchBoxes)==null?void 0:a[0])||null,this.resetLatLong()}setMapPoint(o){var a,s;if(this.isNewMarkerSet)this.localLatDiff=Math.abs(o.latlng.lat-this.localCenterLat),this.localLongDiff=Math.abs(o.latlng.lng-this.localCenterLong);else{this.localCenterLat=o.latlng.lat,this.localCenterLong=o.latlng.lng;let p=d,c=d;const r=(s=(a=o.target.boxZoom)==null?void 0:a._map)==null?void 0:s.getBounds();r&&(p=Math.abs(r.getNorthEast().lat-r.getSouthWest().lat)/8,c=Math.abs(r.getNorthEast().lng-r.getSouthWest().lng)/8),this.localLatDiff=p,this.localLongDiff=c,this.isNewMarkerSet=!0}}resetLatLong(){var o;if((o=this.searchBox)!=null&&o.bbox){const a=this.searchBox.bbox;this.localCenterLat=(a.maxLat+a.minLat)/2,this.localCenterLong=(a.eastLong+a.westLong)/2,this.localLatDiff=(a.maxLat-a.minLat)/2,this.localLongDiff=(a.eastLong-a.westLong)/2,this.localZoom=k,this.isNewMarkerSet=!0}else this.isNewMarkerSet=!1}async storeSearchBox(){if(this.localCenterLong||this.localCenterLat)try{const o={name:"Local",bbox:{eastLong:this.localCenterLong+this.localLongDiff,maxLat:this.localCenterLat+this.localLatDiff,minLat:this.localCenterLat-this.localLatDiff,westLong:this.localCenterLong-this.localLongDiff}};await m.open(),await m.settings.update(S,{searchBoxes:[o]}),this.searchBox=o,this.isChoosingSearchBox=!1,this.$notify({group:"alert",type:"success",title:"Saved",text:"That has been saved in your preferences. You can now filter by it on your home screen feed."},7e3),this.$router.back()}catch(o){this.$notify({group:"alert",type:"danger",title:"Error Updating Search Settings",text:"Try going to a different page and then coming back."},-1),console.error("Telling user to retry the location search setting because:",o)}else this.$notify({group:"alert",type:"warning",title:"No Location Selected",text:"Select a location on the map."},-1)}async forgetSearchBox(){try{await m.open(),await m.settings.update(S,{searchBoxes:[],filterFeedByNearby:!1}),this.searchBox=null,this.localCenterLat=0,this.localCenterLong=0,this.localLatDiff=d,this.localLongDiff=d,this.localZoom=w,this.isChoosingSearchBox=!1,this.isNewMarkerSet=!1}catch(o){this.$notify({group:"alert",type:"danger",title:"Error Updating Search Settings",text:"Try going to a different page and then coming back."},-1),console.error("Telling user to retry the location search setting because:",o)}}cancelSearchBoxSelect(){this.isChoosingSearchBox=!1,this.localZoom=k}};y=j([O({components:{QuickNav:U,LRectangle:Z,LMap:F,LMarker:P,LTileLayer:z}})],y);const I={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},W={class:"mb-8"},G={class:"text-lg text-center font-light relative px-7"},Y={class:"text-center"},H={key:0,class:"m-4 px-4 py-2"},K={key:5},q={class:"aspect-video"};function J(e,t,o,a,s,p){const c=L("QuickNav"),r=L("fa"),x=L("l-tile-layer"),B=L("l-marker"),N=L("l-rectangle"),M=L("l-map");return i(),u(V,null,[f(c),h("section",I,[h("div",W,[h("div",G,[h("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=n=>e.$router.back())},[f(r,{icon:"chevron-left",class:"fa-fw"})])]),t[7]||(t[7]=h("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Area for Nearby Search ",-1))]),t[12]||(t[12]=h("div",{class:"px-2 py-4"}," This location is only stored on your device. It is sometimes sent from your device to run searches but it is not stored on our servers. ",-1)),h("div",Y,[!e.searchBox&&!e.isNewMarkerSet?(i(),u("button",H," Click to Choose a Location for Nearby Search ")):g("",!0),e.isNewMarkerSet?(i(),u("button",{key:1,class:"m-4 px-4 py-2 rounded-md bg-blue-200 text-blue-500",onClick:t[1]||(t[1]=(...n)=>e.storeSearchBox&&e.storeSearchBox(...n))},[f(r,{icon:"save",class:"fa-fw"}),t[8]||(t[8]=b(" Store This Location for Nearby Search "))])):g("",!0),e.searchBox?(i(),u("button",{key:2,class:"m-4 px-4 py-2 rounded-md bg-blue-200 text-blue-500",onClick:t[2]||(t[2]=(...n)=>e.forgetSearchBox&&e.forgetSearchBox(...n))},[f(r,{icon:"trash-can",class:"fa-fw"}),t[9]||(t[9]=b(" Delete Stored Location "))])):g("",!0),e.searchBox?(i(),u("button",{key:3,class:"m-4 px-4 py-2 rounded-md bg-blue-200 text-blue-500",onClick:t[3]||(t[3]=(...n)=>e.resetLatLong&&e.resetLatLong(...n))},[f(r,{icon:"rotate",class:"fa-fw"}),t[10]||(t[10]=b(" Reset To Original "))])):g("",!0),e.isNewMarkerSet?(i(),u("button",{key:4,class:"m-4 px-4 py-2 rounded-md bg-blue-200 text-blue-500",onClick:t[4]||(t[4]=n=>e.isNewMarkerSet=!1)},[f(r,{icon:"eraser",class:"fa-fw"}),t[11]||(t[11]=b(" Erase Marker "))])):g("",!0),e.isNewMarkerSet?(i(),u("div",K," Click on the pin to erase it. Click anywhere else to set a different different corner. ")):g("",!0)]),h("div",q,[f(M,{ref:"map",center:[e.localCenterLat,e.localCenterLong],class:"!z-40 rounded-md",zoom:e.localZoom,"onUpdate:zoom":t[6]||(t[6]=n=>e.localZoom=n),onClick:e.setMapPoint},{default:A(()=>[f(x,{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png","layer-type":"base",name:"OpenStreetMap"}),e.isNewMarkerSet?(i(),C(B,{key:0,"lat-lng":[e.localCenterLat,e.localCenterLong],onClick:t[5]||(t[5]=n=>e.isNewMarkerSet=!1)},null,8,["lat-lng"])):g("",!0),e.isNewMarkerSet?(i(),C(N,{key:1,bounds:[[e.localCenterLat-e.localLatDiff,e.localCenterLong-e.localLongDiff],[e.localCenterLat+e.localLatDiff,e.localCenterLong+e.localLongDiff]],weight:1},null,8,["bounds"])):g("",!0)]),_:1},8,["center","zoom","onClick"])])])],64)}const se=E(y,[["render",J]]);export{se as default}; diff --git a/dist-electron/assets/SeedBackupView-BQrWrpcu.js b/dist-electron/assets/SeedBackupView-BQrWrpcu.js new file mode 100644 index 0000000..a5b6ee0 --- /dev/null +++ b/dist-electron/assets/SeedBackupView-BQrWrpcu.js @@ -0,0 +1 @@ +var C=Object.defineProperty;var x=(t,e,s)=>e in t?C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var a=(t,e,s)=>x(t,typeof e!="symbol"?e+"":e,s);import{V as k,f as S,C as A,_ as D,g as w,h as r,i as p,j as o,w as $,k as u,l as P,t as b,m as v,v as m,F as V,x as d}from"./index-BLqts8WY.js";import{u as _}from"./index-CsfPLOYu.js";import{Q as N}from"./QuickNav-DgCyvgDx.js";import{G as B,aI as R}from"./index-MyY_xqVN.js";var T=Object.defineProperty,O=Object.getOwnPropertyDescriptor,j=(t,e,s,n)=>{for(var i=n>1?void 0:n?O(e,s):e,c=t.length-1,l;c>=0;c--)(l=t[c])&&(i=(n?l(e,s,i):l(i))||i);return n&&i&&T(e,s,i),i};let y=class extends k{constructor(){super(...arguments);a(this,"$notify");a(this,"activeAccount",null);a(this,"numAccounts",0);a(this,"showCopiedDeri",!1);a(this,"showCopiedSeed",!1);a(this,"showSeed",!1)}async created(){try{const n=(await S()).activeDid||"";this.numAccounts=await B(),this.activeAccount=await R(n)}catch(s){console.error("Got an error loading an identifier:",s),this.$notify({group:"alert",type:"danger",title:"Error Loading Profile",text:"Got an error loading your seed data."},-1)}}doCopyTwoSecRedo(s,n){n(),_().copy(s).then(()=>setTimeout(n,2e3))}};y=j([A({components:{QuickNav:N}})],y);const E={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={class:"text-lg text-center font-light relative px-7"},Q={class:"flex justify-between py-2"},G={key:0},H={key:0},I={class:"bg-slate-100 rounded-md overflow-hidden p-4 mb-4"},W={key:0,class:"text-center text-slate-700 mt-2"},Y={class:"text-sm text-green-500"},L={class:"text-sm text-green-500"},q={key:1};function z(t,e,s,n,i,c){const l=w("QuickNav"),f=w("fa"),g=w("router-link");return d(),r(V,null,[p(l,{selected:"Profile"}),o("section",E,[o("div",F,[o("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=h=>t.$router.back())},[p(f,{icon:"chevron-left",class:"fa-fw"})])]),e[10]||(e[10]=o("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Seed Backup ",-1)),o("div",Q,[e[5]||(e[5]=o("span",null,null,-1)),o("span",null,[p(g,{to:{name:"help"},class:"text-xs uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md ml-1"},{default:$(()=>e[4]||(e[4]=[u(" Help ")])),_:1})])]),t.activeAccount?(d(),r("div",G,[e[9]||(e[9]=o("p",{class:"text-center mb-4"},[o("b",{class:"text-red-600"},"BEWARE!"),u(" Anyone who has this seed phrase will be able impersonate you and take over any digital holdings based on it. Reveal it when you are somewhere private, when only you can see your screen, and record it somewhere only you have access. A password manager is a good idea, and so is a piece of paper in a vault. "),o("i",null,"We recommend you do NOT take a screenshot or send it to any online service.")],-1)),t.numAccounts>1?(d(),r("p",H,e[6]||(e[6]=[o("b",{class:"text-orange-600"},"Note:",-1),u(" You have more than one identifier stored in this browser. If they are all based on the same seed as the current identifier, this one backup is sufficient, as long as you also record the derivation path. However, if you have different seeds for other identifiers, you will have to back them up separately. ")]))):P("",!0),o("div",I,[t.showSeed?(d(),r("p",W,[u(b(t.activeAccount.mnemonic)+" ",1),v(o("button",{onClick:e[1]||(e[1]=h=>t.doCopyTwoSecRedo(t.activeAccount.mnemonic,()=>t.showCopiedSeed=!t.showCopiedSeed))},[p(f,{icon:"copy",class:"text-slate-400 fa-fw"})],512),[[m,!t.showCopiedSeed]]),v(o("span",Y," Copied ",512),[[m,t.showCopiedSeed]]),e[7]||(e[7]=o("br",null,null,-1)),e[8]||(e[8]=o("br",null,null,-1)),u(" Derivation Path: "+b(t.activeAccount.derivationPath)+" ",1),v(o("button",{onClick:e[2]||(e[2]=h=>t.doCopyTwoSecRedo(t.activeAccount.derivationPath,()=>t.showCopiedDeri=!t.showCopiedDeri))},[p(f,{icon:"copy",class:"text-slate-400 fa-fw"})],512),[[m,!t.showCopiedDeri]]),v(o("span",L,"Copied",512),[[m,t.showCopiedDeri]])])):(d(),r("button",{key:1,class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[3]||(e[3]=h=>t.showSeed=!0)}," Reveal my Seed Phrase "))])])):(d(),r("div",q,"You do not have an active identity."))])],64)}const ee=D(y,[["render",z]]);export{ee as default}; diff --git a/dist-electron/assets/ShareMyContactInfoView-C9KDv0BI.js b/dist-electron/assets/ShareMyContactInfoView-C9KDv0BI.js new file mode 100644 index 0000000..eaf6698 --- /dev/null +++ b/dist-electron/assets/ShareMyContactInfoView-C9KDv0BI.js @@ -0,0 +1 @@ +var v=Object.defineProperty;var x=(o,t,e)=>t in o?v(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var m=(o,t,e)=>x(o,typeof t!="symbol"?t+"":t,e);import{V as g,f as w,e as y,C,_ as b,g as u,h as _,i as p,j as n,k as h,F as $,x as N}from"./index-BLqts8WY.js";import{u as S}from"./index-CsfPLOYu.js";import{Q as V}from"./QuickNav-DgCyvgDx.js";import{T as k}from"./TopMessage-BE0GBIgW.js";import{r as I,ab as M}from"./index-MyY_xqVN.js";var T=Object.defineProperty,D=Object.getOwnPropertyDescriptor,O=(o,t,e,a)=>{for(var s=a>1?void 0:a?D(t,e):t,i=o.length-1,r;i>=0;i--)(r=o[i])&&(s=(a?r(t,e,s):r(s))||s);return a&&s&&T(t,e,s),s};let d=class extends g{constructor(){super(...arguments);m(this,"$notify")}async onClickShare(){const e=await w(),a=e.activeDid||"",s=e.firstName||"",i=!!e.isRegistered,r=e.profileImageUrl||"",c=await I(a),l=await y.contacts.count();if(c){const f=await M(c,i,s,r,!0);S().copy(f).then(()=>{this.$notify({group:"alert",type:"info",title:"Copied",text:"Your contact info was copied to the clipboard. Have them paste it in the box on their 'Contacts' screen."},5e3),l>0&&setTimeout(()=>{this.$notify({group:"alert",type:"success",title:"Share Other Contacts",text:"You may want to share some of your contacts with them. Select them below to copy and send."},1e4)},3e3)}),this.$router.push({name:"contacts"})}else this.$notify({group:"alert",type:"error",title:"Error",text:"No account was found for the active DID."},5e3)}};d=O([C({components:{QuickNav:V,TopMessage:k}})],d);const j={id:"Content",class:"p-2 pb-24 max-w-3xl mx-auto"},A={class:"text-lg text-center font-light relative px-7"},F={class:"flex justify-center mt-8"},P={class:"ml-12"};function Q(o,t,e,a,s,i){const r=u("QuickNav"),c=u("TopMessage"),l=u("fa");return N(),_($,null,[p(r),p(c),n("section",j,[n("div",null,[n("div",A,[n("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=f=>o.$router.back())},[p(l,{icon:"chevron-left",class:"fa-fw"})])]),t[2]||(t[2]=n("h1",{id:"ViewHeading",class:"text-4xl text-center font-light"}," Share Your Contact Info ",-1))]),n("div",F,[n("button",{class:"block w-fit text-center text-lg font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:t[1]||(t[1]=f=>o.onClickShare())}," Copy to Clipboard ")]),n("div",P,[t[5]||(t[5]=n("div",{class:"mt-8"},"Click to copy your info, then send it to them.",-1)),n("div",null,[t[3]||(t[3]=h(" They will paste it in the input box on the Contacts ")),p(l,{icon:"users"}),t[4]||(t[4]=h(" screen. "))])])])],64)}const q=b(d,[["render",Q]]);export{q as default}; diff --git a/dist-electron/assets/SharedPhotoView-Db-WSozv.js b/dist-electron/assets/SharedPhotoView-Db-WSozv.js new file mode 100644 index 0000000..84d6bcf --- /dev/null +++ b/dist-electron/assets/SharedPhotoView-Db-WSozv.js @@ -0,0 +1 @@ +var w=Object.defineProperty;var _=(t,e,o)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var d=(t,e,o)=>_(t,typeof e!="symbol"?e+"":e,o);import{V as x,f as P,e as g,M as B,I as E,a as D,b as k,C as N,_ as T,g as f,h as u,i as m,j as s,k as b,F as S,x as h}from"./index-BLqts8WY.js";import{P as $}from"./PhotoDialog-Dn3GjI9b.js";import{Q as A}from"./QuickNav-DgCyvgDx.js";import{aU as y,aV as I,aP as F}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var R=Object.defineProperty,V=Object.getOwnPropertyDescriptor,C=(t,e,o,a)=>{for(var r=a>1?void 0:a?V(e,o):e,l=t.length-1,n;l>=0;l--)(n=t[l])&&(r=(a?n(e,o,r):n(r))||r);return a&&r&&R(e,o,r),r};let v=class extends x{constructor(){super(...arguments);d(this,"$notify");d(this,"activeDid");d(this,"imageBlob");d(this,"imageFileName");d(this,"uploading",!1);d(this,"URL",window.URL||window.webkitURL)}async mounted(){try{const o=await P();this.activeDid=o.activeDid;const a=await g.temp.get(y),r=a==null?void 0:a.blobB64;a?(this.imageBlob=I(r),g.temp.delete(y),this.imageFileName=this.$route.query.fileName):console.error("No appropriate image found in temp storage.",a)}catch(o){console.error("Got an error loading an identifier:",o),this.$notify({group:"alert",type:"danger",title:"Error",text:"Got an error loading this data."},-1)}}async recordGift(){await this.sendToImageServer("GiveAction").then(o=>{if(o){const a={name:"gifted-details",query:{destinationPathAfter:"/",hideBackButton:!0,imageUrl:o,recipientDid:this.activeDid}};this.$router.push(a)}})}recordProfile(){this.$refs.photoDialog.open(async o=>{await g.settings.update(B,{profileImageUrl:o}),this.$router.push({name:"account"})},E,!0,this.imageBlob,this.imageFileName)}async cancel(){this.imageBlob=void 0,this.imageFileName=void 0,this.$router.push({name:"home"})}async sendToImageServer(o){var r,l;this.uploading=!0;let a;try{const c={Authorization:"Bearer "+await F(this.activeDid)},p=new FormData;p.append("image",this.imageBlob,this.imageFileName),p.append("claimType",o);const i=await D.post(k+"/image",p,{headers:c});(r=i==null?void 0:i.data)!=null&&r.url?(this.imageBlob=void 0,this.imageFileName=void 0,a=i.data.url):(console.error("Problem uploading the image",i.data),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem saving the picture. "+(((l=i==null?void 0:i.data)==null?void 0:l.message)||"")},5e3)),this.uploading=!1}catch(n){console.error("Error uploading the image",n),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error saving the picture."},5e3),this.uploading=!1}return a}};v=C([N({components:{PhotoDialog:$,QuickNav:A}})],v);const G={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},U={key:0},O={key:0,class:"text-center mb-4"},L={key:1},j={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},H={class:"flex justify-center"},M=["src"],Q={key:1,class:"text-center mb-4"};function Y(t,e,o,a,r,l){const n=f("QuickNav"),c=f("fa"),p=f("PhotoDialog");return h(),u(S,null,[m(n),s("section",G,[e[8]||(e[8]=s("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Image ",-1)),t.imageBlob?(h(),u("div",U,[t.uploading?(h(),u("div",O,[m(c,{icon:"spinner",class:"fa-spin-pulse"})])):(h(),u("div",L,[e[6]||(e[6]=s("div",{class:"text-center mb-4"},"Choose how to use this image",-1)),s("div",j,[s("button",{onClick:e[0]||(e[0]=(...i)=>t.recordGift&&t.recordGift(...i)),class:"text-center text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md"},[m(c,{icon:"gift",class:"fa-fw"}),e[3]||(e[3]=b(" Record a Gift "))]),s("button",{onClick:e[1]||(e[1]=(...i)=>t.recordProfile&&t.recordProfile(...i)),class:"text-center text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md"},[m(c,{icon:"circle-user",class:"fa-fw"}),e[4]||(e[4]=b(" Save as Profile Image "))]),s("button",{onClick:e[2]||(e[2]=(...i)=>t.cancel&&t.cancel(...i)),class:"text-center text-md font-bold bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md"},[m(c,{icon:"ban",class:"fa-fw"}),e[5]||(e[5]=b(" Cancel "))])]),m(p,{ref:"photoDialog"},null,512)])),s("div",H,[s("img",{src:t.URL.createObjectURL(t.imageBlob),alt:"Shared Image",class:"rounded mt-4"},null,8,M)])])):(h(),u("div",Q,e[7]||(e[7]=[s("p",null,"No image found.",-1),s("p",{class:"mt-4"},' If you shared an image, the cause is usually that you do not have the recent version of this app, or that the app has not refreshed the service code underneath. To fix this, first make sure you have latest version by comparing your version at the bottom of "Help" with the version at the bottom of https://timesafari.app/help in a browser. After that, it may eventually work, but you can speed up the process by clearing your data cache (in the browser on mobile, even if you installed it) and/or reinstalling the app (after backing up all your data, of course). ',-1)])))])],64)}const ee=T(v,[["render",Y]]);export{ee as default}; diff --git a/dist-electron/assets/StartView-ChmEHxHu.js b/dist-electron/assets/StartView-ChmEHxHu.js new file mode 100644 index 0000000..743ab02 --- /dev/null +++ b/dist-electron/assets/StartView-ChmEHxHu.js @@ -0,0 +1 @@ +var w=Object.defineProperty;var x=(t,e,o)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var d=(t,e,o)=>x(t,typeof e!="symbol"?e+"":e,o);import{V as b,a6 as v,f as h,A as k,C as y,_,g as A,h as p,j as s,i as m,k as u,l as f,x as c}from"./index-BLqts8WY.js";import{G as N,az as S}from"./index-MyY_xqVN.js";import"./index-CsfPLOYu.js";var C=Object.defineProperty,$=Object.getOwnPropertyDescriptor,E=(t,e,o,i)=>{for(var n=i>1?void 0:i?$(e,o):e,a=t.length-1,r;a>=0;a--)(r=t[a])&&(n=(i?r(e,o,n):r(n))||n);return i&&n&&C(e,o,n),n};let g=class extends b{constructor(){super(...arguments);d(this,"PASSKEYS_ENABLED",v);d(this,"givenName","");d(this,"numAccounts",0)}async mounted(){const o=await h();this.givenName=o.firstName||"",this.numAccounts=await N()}onClickNewSeed(){this.$router.push({name:"new-identifier"})}async onClickNewPasskey(){const o=k.APP_NAME+(this.givenName?" - "+this.givenName:"");await S(o),this.$router.push({name:"account"})}onClickNo(){this.$router.push({name:"import-account"})}onClickDerive(){this.$router.push({name:"import-derive"})}};g=E([y({components:{}})],g);const P={id:"Content",class:"p-6 pb-24 min-h-screen flex flex-col justify-center"},V={class:"text-lg text-center font-light relative px-7"},D={id:"start-question",class:"mt-8"},B={class:"max-w-3xl mx-auto"},Y={key:0,class:"text-center font-light mt-6"},O={href:"https://www.perplexity.ai/search/what-are-passkeys-v2SHV3yLQlyA2CYH6.Nvhg",target:"_blank"},K={class:"text-center font-light mt-4"},L={href:"https://www.perplexity.ai/search/what-is-a-seed-phrase-OqiP9foVRXidr_2le5OFKA",target:"_blank"},j={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 mt-4"},G={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 mt-2"};function H(t,e,o,i,n,a){const r=A("fa");return c(),p("section",P,[s("div",null,[s("div",V,[s("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=l=>t.$router.back())},[m(r,{icon:"chevron-left",class:"fa-fw"})])]),e[5]||(e[5]=s("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Generate an Identity ",-1))]),s("div",D,[s("div",B,[e[12]||(e[12]=s("p",{class:"text-center text-xl font-light"}," How do you want to create this identifier? ",-1)),t.PASSKEYS_ENABLED?(c(),p("p",Y,[e[6]||(e[6]=u(" A ")),e[7]||(e[7]=s("strong",null,"passkey",-1)),e[8]||(e[8]=u(" is easy to manage, though it is less interoperable with other systems for advanced uses. ")),s("a",O,[m(r,{icon:"info-circle",class:"fa-fw text-blue-500"})])])):f("",!0),s("p",K,[e[9]||(e[9]=u(" A ")),e[10]||(e[10]=s("strong",null,"new seed",-1)),e[11]||(e[11]=u(" allows you full control over the keys, though you are responsible for backups. ")),s("a",L,[m(r,{icon:"info-circle",class:"fa-fw text-blue-500"})])]),s("div",j,[t.PASSKEYS_ENABLED?(c(),p("a",{key:0,onClick:e[1]||(e[1]=l=>t.onClickNewPasskey()),class:"block w-full text-center text-lg uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2 cursor-pointer"}," Generate one with a passkey ")):f("",!0),s("a",{onClick:e[2]||(e[2]=l=>t.onClickNewSeed()),class:"block w-full text-center text-lg uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2 cursor-pointer","data-testId":"newSeed"}," Generate one with a new seed ")]),e[13]||(e[13]=s("p",{class:"text-center font-light mt-4"}," You can also import an existing seed or derive a new address from an existing seed. ",-1)),s("div",G,[s("a",{onClick:e[3]||(e[3]=l=>t.onClickNo()),class:"block w-full text-center text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md cursor-pointer"}," You have a seed "),t.numAccounts>0?(c(),p("a",{key:0,onClick:e[4]||(e[4]=l=>t.onClickDerive()),class:"block w-full text-center text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md cursor-pointer"}," Derive new address from existing seed ")):f("",!0)])])])])}const Q=_(g,[["render",H]]);export{Q as default}; diff --git a/dist-electron/assets/StatisticsView-BybwZXpR.js b/dist-electron/assets/StatisticsView-BybwZXpR.js new file mode 100644 index 0000000..7223b56 --- /dev/null +++ b/dist-electron/assets/StatisticsView-BybwZXpR.js @@ -0,0 +1,3563 @@ +var Sc=Object.defineProperty;var yc=(i,e,t)=>e in i?Sc(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var is=(i,e,t)=>yc(i,typeof e!="symbol"?e+"":e,t);import{f as Ec,a as Tc,V as bc,C as Ac,_ as wc,g as xa,h as qs,i as va,j as vt,k as Ys,t as Ks,l as Ma,F as Rc,x as Zs}from"./index-BLqts8WY.js";import{g as Cc}from"./index-MyY_xqVN.js";import{Q as Lc}from"./QuickNav-DgCyvgDx.js";import"./index-CsfPLOYu.js";/** + * @license + * Copyright 2010-2023 Three.js Authors + * SPDX-License-Identifier: MIT + */const Zr="156",jn={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},qn={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Pc=0,Sa=1,Ic=2,Tl=1,Dc=2,cn=3,dn=0,bt=1,Gt=2,yn=0,mi=1,ya=2,Ea=3,Ta=4,Uc=5,di=100,Nc=101,Oc=102,ba=103,Aa=104,Fc=200,Bc=201,zc=202,Hc=203,bl=204,Al=205,kc=206,Gc=207,Vc=208,Wc=209,Xc=210,jc=0,qc=1,Yc=2,Nr=3,Kc=4,Zc=5,$c=6,Jc=7,$r=0,Qc=1,eh=2,En=0,th=1,nh=2,ih=3,sh=4,rh=5,wl=300,vi=301,Mi=302,Or=303,Fr=304,Fs=306,Si=1e3,Nt=1001,Ds=1002,ut=1003,Br=1004,Ps=1005,Tt=1006,Rl=1007,kn=1008,Tn=1009,ah=1010,oh=1011,Jr=1012,Cl=1013,Sn=1014,hn=1015,Yi=1016,Ll=1017,Pl=1018,Fn=1020,lh=1021,Ot=1023,ch=1024,hh=1025,Bn=1026,yi=1027,uh=1028,Il=1029,dh=1030,Dl=1031,Ul=1033,$s=33776,Js=33777,Qs=33778,er=33779,wa=35840,Ra=35841,Ca=35842,La=35843,fh=36196,Pa=37492,Ia=37496,Da=37808,Ua=37809,Na=37810,Oa=37811,Fa=37812,Ba=37813,za=37814,Ha=37815,ka=37816,Ga=37817,Va=37818,Wa=37819,Xa=37820,ja=37821,tr=36492,qa=36494,Ya=36495,ph=36283,Ka=36284,Za=36285,$a=36286,Ki=2300,Ei=2301,nr=2302,Ja=2400,Qa=2401,eo=2402,mh=2500,gh=0,Nl=1,zr=2,Ol=3e3,zn=3001,_h=3200,xh=3201,Qr=0,vh=1,Hn="",Ye="srgb",dt="srgb-linear",Bs="display-p3",ir=7680,Mh=519,Sh=512,yh=513,Eh=514,Th=515,bh=516,Ah=517,wh=518,Rh=519,Hr=35044,to="300 es",kr=1035,un=2e3,Us=2001;class Xn{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const s=this._listeners[e];if(s!==void 0){const r=s.indexOf(t);r!==-1&&s.splice(r,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const n=this._listeners[e.type];if(n!==void 0){e.target=this;const s=n.slice(0);for(let r=0,a=s.length;r>8&255]+mt[i>>16&255]+mt[i>>24&255]+"-"+mt[e&255]+mt[e>>8&255]+"-"+mt[e>>16&15|64]+mt[e>>24&255]+"-"+mt[t&63|128]+mt[t>>8&255]+"-"+mt[t>>16&255]+mt[t>>24&255]+mt[n&255]+mt[n>>8&255]+mt[n>>16&255]+mt[n>>24&255]).toLowerCase()}function ft(i,e,t){return Math.max(e,Math.min(t,i))}function ea(i,e){return(i%e+e)%e}function Ch(i,e,t,n,s){return n+(i-e)*(s-n)/(t-e)}function Lh(i,e,t){return i!==e?(t-i)/(e-i):0}function Xi(i,e,t){return(1-t)*i+t*e}function Ph(i,e,t,n){return Xi(i,e,1-Math.exp(-t*n))}function Ih(i,e=1){return e-Math.abs(ea(i,e*2)-e)}function Dh(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function Uh(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function Nh(i,e){return i+Math.floor(Math.random()*(e-i+1))}function Oh(i,e){return i+Math.random()*(e-i)}function Fh(i){return i*(.5-Math.random())}function Bh(i){i!==void 0&&(no=i);let e=no+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function zh(i){return i*Wi}function Hh(i){return i*Ti}function Gr(i){return(i&i-1)===0&&i!==0}function Fl(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function Ns(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function kh(i,e,t,n,s){const r=Math.cos,a=Math.sin,o=r(t/2),l=a(t/2),c=r((e+n)/2),h=a((e+n)/2),u=r((e-n)/2),d=a((e-n)/2),p=r((n-e)/2),g=a((n-e)/2);switch(s){case"XYX":i.set(o*h,l*u,l*d,o*c);break;case"YZY":i.set(l*d,o*h,l*u,o*c);break;case"ZXZ":i.set(l*u,l*d,o*h,o*c);break;case"XZX":i.set(o*h,l*g,l*p,o*c);break;case"YXY":i.set(l*p,o*h,l*g,o*c);break;case"ZYZ":i.set(l*g,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+s)}}function Kt(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return i/4294967295;case Uint16Array:return i/65535;case Uint8Array:return i/255;case Int32Array:return Math.max(i/2147483647,-1);case Int16Array:return Math.max(i/32767,-1);case Int8Array:return Math.max(i/127,-1);default:throw new Error("Invalid component type.")}}function Je(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return Math.round(i*4294967295);case Uint16Array:return Math.round(i*65535);case Uint8Array:return Math.round(i*255);case Int32Array:return Math.round(i*2147483647);case Int16Array:return Math.round(i*32767);case Int8Array:return Math.round(i*127);default:throw new Error("Invalid component type.")}}const Os={DEG2RAD:Wi,RAD2DEG:Ti,generateUUID:Vt,clamp:ft,euclideanModulo:ea,mapLinear:Ch,inverseLerp:Lh,lerp:Xi,damp:Ph,pingpong:Ih,smoothstep:Dh,smootherstep:Uh,randInt:Nh,randFloat:Oh,randFloatSpread:Fh,seededRandom:Bh,degToRad:zh,radToDeg:Hh,isPowerOfTwo:Gr,ceilPowerOfTwo:Fl,floorPowerOfTwo:Ns,setQuaternionFromProperEuler:kh,normalize:Je,denormalize:Kt};class Ce{constructor(e=0,t=0){Ce.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(ft(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),r=this.x-e.x,a=this.y-e.y;return this.x=r*n-a*s+e.x,this.y=r*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class ke{constructor(e,t,n,s,r,a,o,l,c){ke.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,s,r,a,o,l,c)}set(e,t,n,s,r,a,o,l,c){const h=this.elements;return h[0]=e,h[1]=s,h[2]=o,h[3]=t,h[4]=r,h[5]=l,h[6]=n,h[7]=a,h[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,r=this.elements,a=n[0],o=n[3],l=n[6],c=n[1],h=n[4],u=n[7],d=n[2],p=n[5],g=n[8],_=s[0],m=s[3],f=s[6],y=s[1],v=s[4],T=s[7],w=s[2],C=s[5],b=s[8];return r[0]=a*_+o*y+l*w,r[3]=a*m+o*v+l*C,r[6]=a*f+o*T+l*b,r[1]=c*_+h*y+u*w,r[4]=c*m+h*v+u*C,r[7]=c*f+h*T+u*b,r[2]=d*_+p*y+g*w,r[5]=d*m+p*v+g*C,r[8]=d*f+p*T+g*b,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8];return t*a*h-t*o*c-n*r*h+n*o*l+s*r*c-s*a*l}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8],u=h*a-o*c,d=o*l-h*r,p=c*r-a*l,g=t*u+n*d+s*p;if(g===0)return this.set(0,0,0,0,0,0,0,0,0);const _=1/g;return e[0]=u*_,e[1]=(s*c-h*n)*_,e[2]=(o*n-s*a)*_,e[3]=d*_,e[4]=(h*t-s*l)*_,e[5]=(s*r-o*t)*_,e[6]=p*_,e[7]=(n*l-c*t)*_,e[8]=(a*t-n*r)*_,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,s,r,a,o){const l=Math.cos(r),c=Math.sin(r);return this.set(n*l,n*c,-n*(l*a+c*o)+a+e,-s*c,s*l,-s*(-c*a+l*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(sr.makeScale(e,t)),this}rotate(e){return this.premultiply(sr.makeRotation(-e)),this}translate(e,t){return this.premultiply(sr.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let s=0;s<9;s++)if(t[s]!==n[s])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const sr=new ke;function Bl(i){for(let e=i.length-1;e>=0;--e)if(i[e]>=65535)return!0;return!1}function Zi(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function Gh(){const i=Zi("canvas");return i.style.display="block",i}const io={};function ji(i){i in io||(io[i]=!0,console.warn(i))}function gi(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function rr(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}const Vh=new ke().fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),Wh=new ke().fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]);function Xh(i){return i.convertSRGBToLinear().applyMatrix3(Wh)}function jh(i){return i.applyMatrix3(Vh).convertLinearToSRGB()}const qh={[dt]:i=>i,[Ye]:i=>i.convertSRGBToLinear(),[Bs]:Xh},Yh={[dt]:i=>i,[Ye]:i=>i.convertLinearToSRGB(),[Bs]:jh},Lt={enabled:!0,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(i){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!i},get workingColorSpace(){return dt},set workingColorSpace(i){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(i,e,t){if(this.enabled===!1||e===t||!e||!t)return i;const n=qh[e],s=Yh[t];if(n===void 0||s===void 0)throw new Error(`Unsupported color space conversion, "${e}" to "${t}".`);return s(n(i))},fromWorkingColorSpace:function(i,e){return this.convert(i,this.workingColorSpace,e)},toWorkingColorSpace:function(i,e){return this.convert(i,e,this.workingColorSpace)}};let Yn;class zl{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Yn===void 0&&(Yn=Zi("canvas")),Yn.width=e.width,Yn.height=e.height;const n=Yn.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=Yn}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=Zi("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const s=n.getImageData(0,0,e.width,e.height),r=s.data;for(let a=0;a0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==wl)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Si:e.x=e.x-Math.floor(e.x);break;case Nt:e.x=e.x<0?0:1;break;case Ds:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Si:e.y=e.y-Math.floor(e.y);break;case Nt:e.y=e.y<0?0:1;break;case Ds:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ji("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Ye?zn:Ol}set encoding(e){ji("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===zn?Ye:Hn}}pt.DEFAULT_IMAGE=null;pt.DEFAULT_MAPPING=wl;pt.DEFAULT_ANISOTROPY=1;class $e{constructor(e=0,t=0,n=0,s=1){$e.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=s}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,r=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*s+a[12]*r,this.y=a[1]*t+a[5]*n+a[9]*s+a[13]*r,this.z=a[2]*t+a[6]*n+a[10]*s+a[14]*r,this.w=a[3]*t+a[7]*n+a[11]*s+a[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,s,r;const l=e.elements,c=l[0],h=l[4],u=l[8],d=l[1],p=l[5],g=l[9],_=l[2],m=l[6],f=l[10];if(Math.abs(h-d)<.01&&Math.abs(u-_)<.01&&Math.abs(g-m)<.01){if(Math.abs(h+d)<.1&&Math.abs(u+_)<.1&&Math.abs(g+m)<.1&&Math.abs(c+p+f-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const v=(c+1)/2,T=(p+1)/2,w=(f+1)/2,C=(h+d)/4,b=(u+_)/4,O=(g+m)/4;return v>T&&v>w?v<.01?(n=0,s=.707106781,r=.707106781):(n=Math.sqrt(v),s=C/n,r=b/n):T>w?T<.01?(n=.707106781,s=0,r=.707106781):(s=Math.sqrt(T),n=C/s,r=O/s):w<.01?(n=.707106781,s=.707106781,r=0):(r=Math.sqrt(w),n=b/r,s=O/r),this.set(n,s,r,t),this}let y=Math.sqrt((m-g)*(m-g)+(u-_)*(u-_)+(d-h)*(d-h));return Math.abs(y)<.001&&(y=1),this.x=(m-g)/y,this.y=(u-_)/y,this.z=(d-h)/y,this.w=Math.acos((c+p+f-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class $h extends Xn{constructor(e=1,t=1,n={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new $e(0,0,e,t),this.scissorTest=!1,this.viewport=new $e(0,0,e,t);const s={width:e,height:t,depth:1};n.encoding!==void 0&&(ji("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===zn?Ye:Hn),this.texture=new pt(s,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.internalFormat=n.internalFormat!==void 0?n.internalFormat:null,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:Tt,this.depthBuffer=n.depthBuffer!==void 0?n.depthBuffer:!0,this.stencilBuffer=n.stencilBuffer!==void 0?n.stencilBuffer:!1,this.depthTexture=n.depthTexture!==void 0?n.depthTexture:null,this.samples=n.samples!==void 0?n.samples:0}setSize(e,t,n=1){(this.width!==e||this.height!==t||this.depth!==n)&&(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new Hl(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Gn extends $h{constructor(e=1,t=1,n={}){super(e,t,n),this.isWebGLRenderTarget=!0}}class kl extends pt{constructor(e=null,t=1,n=1,s=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:n,depth:s},this.magFilter=ut,this.minFilter=ut,this.wrapR=Nt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Jh extends pt{constructor(e=null,t=1,n=1,s=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:n,depth:s},this.magFilter=ut,this.minFilter=ut,this.wrapR=Nt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Zt{constructor(e=0,t=0,n=0,s=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=s}static slerpFlat(e,t,n,s,r,a,o){let l=n[s+0],c=n[s+1],h=n[s+2],u=n[s+3];const d=r[a+0],p=r[a+1],g=r[a+2],_=r[a+3];if(o===0){e[t+0]=l,e[t+1]=c,e[t+2]=h,e[t+3]=u;return}if(o===1){e[t+0]=d,e[t+1]=p,e[t+2]=g,e[t+3]=_;return}if(u!==_||l!==d||c!==p||h!==g){let m=1-o;const f=l*d+c*p+h*g+u*_,y=f>=0?1:-1,v=1-f*f;if(v>Number.EPSILON){const w=Math.sqrt(v),C=Math.atan2(w,f*y);m=Math.sin(m*C)/w,o=Math.sin(o*C)/w}const T=o*y;if(l=l*m+d*T,c=c*m+p*T,h=h*m+g*T,u=u*m+_*T,m===1-o){const w=1/Math.sqrt(l*l+c*c+h*h+u*u);l*=w,c*=w,h*=w,u*=w}}e[t]=l,e[t+1]=c,e[t+2]=h,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,r,a){const o=n[s],l=n[s+1],c=n[s+2],h=n[s+3],u=r[a],d=r[a+1],p=r[a+2],g=r[a+3];return e[t]=o*g+h*u+l*p-c*d,e[t+1]=l*g+h*d+c*u-o*p,e[t+2]=c*g+h*p+o*d-l*u,e[t+3]=h*g-o*u-l*d-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){const n=e._x,s=e._y,r=e._z,a=e._order,o=Math.cos,l=Math.sin,c=o(n/2),h=o(s/2),u=o(r/2),d=l(n/2),p=l(s/2),g=l(r/2);switch(a){case"XYZ":this._x=d*h*u+c*p*g,this._y=c*p*u-d*h*g,this._z=c*h*g+d*p*u,this._w=c*h*u-d*p*g;break;case"YXZ":this._x=d*h*u+c*p*g,this._y=c*p*u-d*h*g,this._z=c*h*g-d*p*u,this._w=c*h*u+d*p*g;break;case"ZXY":this._x=d*h*u-c*p*g,this._y=c*p*u+d*h*g,this._z=c*h*g+d*p*u,this._w=c*h*u-d*p*g;break;case"ZYX":this._x=d*h*u-c*p*g,this._y=c*p*u+d*h*g,this._z=c*h*g-d*p*u,this._w=c*h*u+d*p*g;break;case"YZX":this._x=d*h*u+c*p*g,this._y=c*p*u+d*h*g,this._z=c*h*g-d*p*u,this._w=c*h*u-d*p*g;break;case"XZY":this._x=d*h*u-c*p*g,this._y=c*p*u-d*h*g,this._z=c*h*g+d*p*u,this._w=c*h*u+d*p*g;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],r=t[8],a=t[1],o=t[5],l=t[9],c=t[2],h=t[6],u=t[10],d=n+o+u;if(d>0){const p=.5/Math.sqrt(d+1);this._w=.25/p,this._x=(h-l)*p,this._y=(r-c)*p,this._z=(a-s)*p}else if(n>o&&n>u){const p=2*Math.sqrt(1+n-o-u);this._w=(h-l)/p,this._x=.25*p,this._y=(s+a)/p,this._z=(r+c)/p}else if(o>u){const p=2*Math.sqrt(1+o-n-u);this._w=(r-c)/p,this._x=(s+a)/p,this._y=.25*p,this._z=(l+h)/p}else{const p=2*Math.sqrt(1+u-n-o);this._w=(a-s)/p,this._x=(r+c)/p,this._y=(l+h)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(ft(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const s=Math.min(1,t/n);return this.slerp(e,s),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,s=e._y,r=e._z,a=e._w,o=t._x,l=t._y,c=t._z,h=t._w;return this._x=n*h+a*o+s*c-r*l,this._y=s*h+a*l+r*o-n*c,this._z=r*h+a*c+n*l-s*o,this._w=a*h-n*o-s*l-r*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const n=this._x,s=this._y,r=this._z,a=this._w;let o=a*e._w+n*e._x+s*e._y+r*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=a,this._x=n,this._y=s,this._z=r,this;const l=1-o*o;if(l<=Number.EPSILON){const p=1-t;return this._w=p*a+t*this._w,this._x=p*n+t*this._x,this._y=p*s+t*this._y,this._z=p*r+t*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(l),h=Math.atan2(c,o),u=Math.sin((1-t)*h)/c,d=Math.sin(t*h)/c;return this._w=a*u+this._w*d,this._x=n*u+this._x*d,this._y=s*u+this._y*d,this._z=r*u+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(r),n*Math.cos(r),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class L{constructor(e=0,t=0,n=0){L.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(so.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(so.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6]*s,this.y=r[1]*t+r[4]*n+r[7]*s,this.z=r[2]*t+r[5]*n+r[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,r=e.elements,a=1/(r[3]*t+r[7]*n+r[11]*s+r[15]);return this.x=(r[0]*t+r[4]*n+r[8]*s+r[12])*a,this.y=(r[1]*t+r[5]*n+r[9]*s+r[13])*a,this.z=(r[2]*t+r[6]*n+r[10]*s+r[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,r=e.x,a=e.y,o=e.z,l=e.w,c=l*t+a*s-o*n,h=l*n+o*t-r*s,u=l*s+r*n-a*t,d=-r*t-a*n-o*s;return this.x=c*l+d*-r+h*-o-u*-a,this.y=h*l+d*-a+u*-r-c*-o,this.z=u*l+d*-o+c*-a-h*-r,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,r=e.elements;return this.x=r[0]*t+r[4]*n+r[8]*s,this.y=r[1]*t+r[5]*n+r[9]*s,this.z=r[2]*t+r[6]*n+r[10]*s,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,r=e.z,a=t.x,o=t.y,l=t.z;return this.x=s*l-r*o,this.y=r*a-n*l,this.z=n*o-s*a,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return or.copy(this).projectOnVector(e),this.sub(or)}reflect(e){return this.sub(or.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(ft(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const or=new L,so=new Zt;class jt{constructor(e=new L(1/0,1/0,1/0),t=new L(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,nn),nn.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Ui),ss.subVectors(this.max,Ui),Zn.subVectors(e.a,Ui),$n.subVectors(e.b,Ui),Jn.subVectors(e.c,Ui),fn.subVectors($n,Zn),pn.subVectors(Jn,$n),Rn.subVectors(Zn,Jn);let t=[0,-fn.z,fn.y,0,-pn.z,pn.y,0,-Rn.z,Rn.y,fn.z,0,-fn.x,pn.z,0,-pn.x,Rn.z,0,-Rn.x,-fn.y,fn.x,0,-pn.y,pn.x,0,-Rn.y,Rn.x,0];return!lr(t,Zn,$n,Jn,ss)||(t=[1,0,0,0,1,0,0,0,1],!lr(t,Zn,$n,Jn,ss))?!1:(rs.crossVectors(fn,pn),t=[rs.x,rs.y,rs.z],lr(t,Zn,$n,Jn,ss))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,nn).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(nn).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(tn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),tn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),tn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),tn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),tn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),tn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),tn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),tn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(tn),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const tn=[new L,new L,new L,new L,new L,new L,new L,new L],nn=new L,Kn=new jt,Zn=new L,$n=new L,Jn=new L,fn=new L,pn=new L,Rn=new L,Ui=new L,ss=new L,rs=new L,Cn=new L;function lr(i,e,t,n,s){for(let r=0,a=i.length-3;r<=a;r+=3){Cn.fromArray(i,r);const o=s.x*Math.abs(Cn.x)+s.y*Math.abs(Cn.y)+s.z*Math.abs(Cn.z),l=e.dot(Cn),c=t.dot(Cn),h=n.dot(Cn);if(Math.max(-Math.max(l,c,h),Math.min(l,c,h))>o)return!1}return!0}const Qh=new jt,Ni=new L,cr=new L;class Jt{constructor(e=new L,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):Qh.setFromPoints(e).getCenter(n);let s=0;for(let r=0,a=e.length;rthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Ni.subVectors(e,this.center);const t=Ni.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),s=(n-this.radius)*.5;this.center.addScaledVector(Ni,s/n),this.radius+=s}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(cr.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ni.copy(e.center).add(cr)),this.expandByPoint(Ni.copy(e.center).sub(cr))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const sn=new L,hr=new L,as=new L,mn=new L,ur=new L,os=new L,dr=new L;class Ji{constructor(e=new L,t=new L(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,sn)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=sn.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(sn.copy(this.origin).addScaledVector(this.direction,t),sn.distanceToSquared(e))}distanceSqToSegment(e,t,n,s){hr.copy(e).add(t).multiplyScalar(.5),as.copy(t).sub(e).normalize(),mn.copy(this.origin).sub(hr);const r=e.distanceTo(t)*.5,a=-this.direction.dot(as),o=mn.dot(this.direction),l=-mn.dot(as),c=mn.lengthSq(),h=Math.abs(1-a*a);let u,d,p,g;if(h>0)if(u=a*l-o,d=a*o-l,g=r*h,u>=0)if(d>=-g)if(d<=g){const _=1/h;u*=_,d*=_,p=u*(u+a*d+2*o)+d*(a*u+d+2*l)+c}else d=r,u=Math.max(0,-(a*d+o)),p=-u*u+d*(d+2*l)+c;else d=-r,u=Math.max(0,-(a*d+o)),p=-u*u+d*(d+2*l)+c;else d<=-g?(u=Math.max(0,-(-a*r+o)),d=u>0?-r:Math.min(Math.max(-r,-l),r),p=-u*u+d*(d+2*l)+c):d<=g?(u=0,d=Math.min(Math.max(-r,-l),r),p=d*(d+2*l)+c):(u=Math.max(0,-(a*r+o)),d=u>0?r:Math.min(Math.max(-r,-l),r),p=-u*u+d*(d+2*l)+c);else d=a>0?-r:r,u=Math.max(0,-(a*d+o)),p=-u*u+d*(d+2*l)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(hr).addScaledVector(as,d),p}intersectSphere(e,t){sn.subVectors(e.center,this.origin);const n=sn.dot(this.direction),s=sn.dot(sn)-n*n,r=e.radius*e.radius;if(s>r)return null;const a=Math.sqrt(r-s),o=n-a,l=n+a;return l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,s,r,a,o,l;const c=1/this.direction.x,h=1/this.direction.y,u=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,s=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,s=(e.min.x-d.x)*c),h>=0?(r=(e.min.y-d.y)*h,a=(e.max.y-d.y)*h):(r=(e.max.y-d.y)*h,a=(e.min.y-d.y)*h),n>a||r>s||((r>n||isNaN(n))&&(n=r),(a=0?(o=(e.min.z-d.z)*u,l=(e.max.z-d.z)*u):(o=(e.max.z-d.z)*u,l=(e.min.z-d.z)*u),n>l||o>s)||((o>n||n!==n)&&(n=o),(l=0?n:s,t)}intersectsBox(e){return this.intersectBox(e,sn)!==null}intersectTriangle(e,t,n,s,r){ur.subVectors(t,e),os.subVectors(n,e),dr.crossVectors(ur,os);let a=this.direction.dot(dr),o;if(a>0){if(s)return null;o=1}else if(a<0)o=-1,a=-a;else return null;mn.subVectors(this.origin,e);const l=o*this.direction.dot(os.crossVectors(mn,os));if(l<0)return null;const c=o*this.direction.dot(ur.cross(mn));if(c<0||l+c>a)return null;const h=-o*mn.dot(dr);return h<0?null:this.at(h/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Be{constructor(e,t,n,s,r,a,o,l,c,h,u,d,p,g,_,m){Be.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,s,r,a,o,l,c,h,u,d,p,g,_,m)}set(e,t,n,s,r,a,o,l,c,h,u,d,p,g,_,m){const f=this.elements;return f[0]=e,f[4]=t,f[8]=n,f[12]=s,f[1]=r,f[5]=a,f[9]=o,f[13]=l,f[2]=c,f[6]=h,f[10]=u,f[14]=d,f[3]=p,f[7]=g,f[11]=_,f[15]=m,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Be().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,s=1/Qn.setFromMatrixColumn(e,0).length(),r=1/Qn.setFromMatrixColumn(e,1).length(),a=1/Qn.setFromMatrixColumn(e,2).length();return t[0]=n[0]*s,t[1]=n[1]*s,t[2]=n[2]*s,t[3]=0,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,s=e.y,r=e.z,a=Math.cos(n),o=Math.sin(n),l=Math.cos(s),c=Math.sin(s),h=Math.cos(r),u=Math.sin(r);if(e.order==="XYZ"){const d=a*h,p=a*u,g=o*h,_=o*u;t[0]=l*h,t[4]=-l*u,t[8]=c,t[1]=p+g*c,t[5]=d-_*c,t[9]=-o*l,t[2]=_-d*c,t[6]=g+p*c,t[10]=a*l}else if(e.order==="YXZ"){const d=l*h,p=l*u,g=c*h,_=c*u;t[0]=d+_*o,t[4]=g*o-p,t[8]=a*c,t[1]=a*u,t[5]=a*h,t[9]=-o,t[2]=p*o-g,t[6]=_+d*o,t[10]=a*l}else if(e.order==="ZXY"){const d=l*h,p=l*u,g=c*h,_=c*u;t[0]=d-_*o,t[4]=-a*u,t[8]=g+p*o,t[1]=p+g*o,t[5]=a*h,t[9]=_-d*o,t[2]=-a*c,t[6]=o,t[10]=a*l}else if(e.order==="ZYX"){const d=a*h,p=a*u,g=o*h,_=o*u;t[0]=l*h,t[4]=g*c-p,t[8]=d*c+_,t[1]=l*u,t[5]=_*c+d,t[9]=p*c-g,t[2]=-c,t[6]=o*l,t[10]=a*l}else if(e.order==="YZX"){const d=a*l,p=a*c,g=o*l,_=o*c;t[0]=l*h,t[4]=_-d*u,t[8]=g*u+p,t[1]=u,t[5]=a*h,t[9]=-o*h,t[2]=-c*h,t[6]=p*u+g,t[10]=d-_*u}else if(e.order==="XZY"){const d=a*l,p=a*c,g=o*l,_=o*c;t[0]=l*h,t[4]=-u,t[8]=c*h,t[1]=d*u+_,t[5]=a*h,t[9]=p*u-g,t[2]=g*u-p,t[6]=o*h,t[10]=_*u+d}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(eu,e,tu)}lookAt(e,t,n){const s=this.elements;return Rt.subVectors(e,t),Rt.lengthSq()===0&&(Rt.z=1),Rt.normalize(),gn.crossVectors(n,Rt),gn.lengthSq()===0&&(Math.abs(n.z)===1?Rt.x+=1e-4:Rt.z+=1e-4,Rt.normalize(),gn.crossVectors(n,Rt)),gn.normalize(),ls.crossVectors(Rt,gn),s[0]=gn.x,s[4]=ls.x,s[8]=Rt.x,s[1]=gn.y,s[5]=ls.y,s[9]=Rt.y,s[2]=gn.z,s[6]=ls.z,s[10]=Rt.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,r=this.elements,a=n[0],o=n[4],l=n[8],c=n[12],h=n[1],u=n[5],d=n[9],p=n[13],g=n[2],_=n[6],m=n[10],f=n[14],y=n[3],v=n[7],T=n[11],w=n[15],C=s[0],b=s[4],O=s[8],S=s[12],A=s[1],Q=s[5],re=s[9],z=s[13],G=s[2],k=s[6],ne=s[10],V=s[14],W=s[3],te=s[7],K=s[11],F=s[15];return r[0]=a*C+o*A+l*G+c*W,r[4]=a*b+o*Q+l*k+c*te,r[8]=a*O+o*re+l*ne+c*K,r[12]=a*S+o*z+l*V+c*F,r[1]=h*C+u*A+d*G+p*W,r[5]=h*b+u*Q+d*k+p*te,r[9]=h*O+u*re+d*ne+p*K,r[13]=h*S+u*z+d*V+p*F,r[2]=g*C+_*A+m*G+f*W,r[6]=g*b+_*Q+m*k+f*te,r[10]=g*O+_*re+m*ne+f*K,r[14]=g*S+_*z+m*V+f*F,r[3]=y*C+v*A+T*G+w*W,r[7]=y*b+v*Q+T*k+w*te,r[11]=y*O+v*re+T*ne+w*K,r[15]=y*S+v*z+T*V+w*F,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],s=e[8],r=e[12],a=e[1],o=e[5],l=e[9],c=e[13],h=e[2],u=e[6],d=e[10],p=e[14],g=e[3],_=e[7],m=e[11],f=e[15];return g*(+r*l*u-s*c*u-r*o*d+n*c*d+s*o*p-n*l*p)+_*(+t*l*p-t*c*d+r*a*d-s*a*p+s*c*h-r*l*h)+m*(+t*c*u-t*o*p-r*a*u+n*a*p+r*o*h-n*c*h)+f*(-s*o*h-t*l*u+t*o*d+s*a*u-n*a*d+n*l*h)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const s=this.elements;return e.isVector3?(s[12]=e.x,s[13]=e.y,s[14]=e.z):(s[12]=e,s[13]=t,s[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8],u=e[9],d=e[10],p=e[11],g=e[12],_=e[13],m=e[14],f=e[15],y=u*m*c-_*d*c+_*l*p-o*m*p-u*l*f+o*d*f,v=g*d*c-h*m*c-g*l*p+a*m*p+h*l*f-a*d*f,T=h*_*c-g*u*c+g*o*p-a*_*p-h*o*f+a*u*f,w=g*u*l-h*_*l-g*o*d+a*_*d+h*o*m-a*u*m,C=t*y+n*v+s*T+r*w;if(C===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/C;return e[0]=y*b,e[1]=(_*d*r-u*m*r-_*s*p+n*m*p+u*s*f-n*d*f)*b,e[2]=(o*m*r-_*l*r+_*s*c-n*m*c-o*s*f+n*l*f)*b,e[3]=(u*l*r-o*d*r-u*s*c+n*d*c+o*s*p-n*l*p)*b,e[4]=v*b,e[5]=(h*m*r-g*d*r+g*s*p-t*m*p-h*s*f+t*d*f)*b,e[6]=(g*l*r-a*m*r-g*s*c+t*m*c+a*s*f-t*l*f)*b,e[7]=(a*d*r-h*l*r+h*s*c-t*d*c-a*s*p+t*l*p)*b,e[8]=T*b,e[9]=(g*u*r-h*_*r-g*n*p+t*_*p+h*n*f-t*u*f)*b,e[10]=(a*_*r-g*o*r+g*n*c-t*_*c-a*n*f+t*o*f)*b,e[11]=(h*o*r-a*u*r-h*n*c+t*u*c+a*n*p-t*o*p)*b,e[12]=w*b,e[13]=(h*_*s-g*u*s+g*n*d-t*_*d-h*n*m+t*u*m)*b,e[14]=(g*o*s-a*_*s-g*n*l+t*_*l+a*n*m-t*o*m)*b,e[15]=(a*u*s-h*o*s+h*n*l-t*u*l-a*n*d+t*o*d)*b,this}scale(e){const t=this.elements,n=e.x,s=e.y,r=e.z;return t[0]*=n,t[4]*=s,t[8]*=r,t[1]*=n,t[5]*=s,t[9]*=r,t[2]*=n,t[6]*=s,t[10]*=r,t[3]*=n,t[7]*=s,t[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],s=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,s))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),s=Math.sin(t),r=1-n,a=e.x,o=e.y,l=e.z,c=r*a,h=r*o;return this.set(c*a+n,c*o-s*l,c*l+s*o,0,c*o+s*l,h*o+n,h*l-s*a,0,c*l-s*o,h*l+s*a,r*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,s,r,a){return this.set(1,n,r,0,e,1,a,0,t,s,1,0,0,0,0,1),this}compose(e,t,n){const s=this.elements,r=t._x,a=t._y,o=t._z,l=t._w,c=r+r,h=a+a,u=o+o,d=r*c,p=r*h,g=r*u,_=a*h,m=a*u,f=o*u,y=l*c,v=l*h,T=l*u,w=n.x,C=n.y,b=n.z;return s[0]=(1-(_+f))*w,s[1]=(p+T)*w,s[2]=(g-v)*w,s[3]=0,s[4]=(p-T)*C,s[5]=(1-(d+f))*C,s[6]=(m+y)*C,s[7]=0,s[8]=(g+v)*b,s[9]=(m-y)*b,s[10]=(1-(d+_))*b,s[11]=0,s[12]=e.x,s[13]=e.y,s[14]=e.z,s[15]=1,this}decompose(e,t,n){const s=this.elements;let r=Qn.set(s[0],s[1],s[2]).length();const a=Qn.set(s[4],s[5],s[6]).length(),o=Qn.set(s[8],s[9],s[10]).length();this.determinant()<0&&(r=-r),e.x=s[12],e.y=s[13],e.z=s[14],Bt.copy(this);const c=1/r,h=1/a,u=1/o;return Bt.elements[0]*=c,Bt.elements[1]*=c,Bt.elements[2]*=c,Bt.elements[4]*=h,Bt.elements[5]*=h,Bt.elements[6]*=h,Bt.elements[8]*=u,Bt.elements[9]*=u,Bt.elements[10]*=u,t.setFromRotationMatrix(Bt),n.x=r,n.y=a,n.z=o,this}makePerspective(e,t,n,s,r,a,o=un){const l=this.elements,c=2*r/(t-e),h=2*r/(n-s),u=(t+e)/(t-e),d=(n+s)/(n-s);let p,g;if(o===un)p=-(a+r)/(a-r),g=-2*a*r/(a-r);else if(o===Us)p=-a/(a-r),g=-a*r/(a-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return l[0]=c,l[4]=0,l[8]=u,l[12]=0,l[1]=0,l[5]=h,l[9]=d,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=g,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,n,s,r,a,o=un){const l=this.elements,c=1/(t-e),h=1/(n-s),u=1/(a-r),d=(t+e)*c,p=(n+s)*h;let g,_;if(o===un)g=(a+r)*u,_=-2*u;else if(o===Us)g=r*u,_=-1*u;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-d,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=_,l[14]=-g,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let s=0;s<16;s++)if(t[s]!==n[s])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Qn=new L,Bt=new Be,eu=new L(0,0,0),tu=new L(1,1,1),gn=new L,ls=new L,Rt=new L,ro=new Be,ao=new Zt;class zs{constructor(e=0,t=0,n=0,s=zs.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=s}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,s=this._order){return this._x=e,this._y=t,this._z=n,this._order=s,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const s=e.elements,r=s[0],a=s[4],o=s[8],l=s[1],c=s[5],h=s[9],u=s[2],d=s[6],p=s[10];switch(t){case"XYZ":this._y=Math.asin(ft(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-h,p),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-ft(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(o,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-u,r),this._z=0);break;case"ZXY":this._x=Math.asin(ft(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(l,r));break;case"ZYX":this._y=Math.asin(-ft(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(l,r)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(ft(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,c),this._y=Math.atan2(-u,r)):(this._x=0,this._y=Math.atan2(o,p));break;case"XZY":this._z=Math.asin(-ft(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,r)):(this._x=Math.atan2(-h,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return ro.makeRotationFromQuaternion(e),this.setFromRotationMatrix(ro,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return ao.setFromEuler(this),this.setFromQuaternion(ao,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}zs.DEFAULT_ORDER="XYZ";class Gl{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0&&(n=n.concat(a))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Oi,e,iu),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Oi,su,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,s=t.length;n0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type="InstancedMesh",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(s.instanceColor=this.instanceColor.toJSON()));function r(o,l){return o[l.uuid]===void 0&&(o[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(s.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=r(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const l=o.shapes;if(Array.isArray(l))for(let c=0,h=l.length;c0){s.children=[];for(let o=0;o0){s.animations=[];for(let o=0;o0&&(n.geometries=o),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),h.length>0&&(n.images=h),u.length>0&&(n.shapes=u),d.length>0&&(n.skeletons=d),p.length>0&&(n.animations=p),g.length>0&&(n.nodes=g)}return n.object=s,n;function a(o){const l=[];for(const c in o){const h=o[c];delete h.metadata,l.push(h)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?s.multiplyScalar(1/Math.sqrt(r)):s.set(0,0,0)}static getBarycoord(e,t,n,s,r){zt.subVectors(s,t),an.subVectors(n,t),fr.subVectors(e,t);const a=zt.dot(zt),o=zt.dot(an),l=zt.dot(fr),c=an.dot(an),h=an.dot(fr),u=a*c-o*o;if(u===0)return r.set(-2,-1,-1);const d=1/u,p=(c*l-o*h)*d,g=(a*h-o*l)*d;return r.set(1-p-g,g,p)}static containsPoint(e,t,n,s){return this.getBarycoord(e,t,n,s,on),on.x>=0&&on.y>=0&&on.x+on.y<=1}static getUV(e,t,n,s,r,a,o,l){return hs===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),hs=!0),this.getInterpolation(e,t,n,s,r,a,o,l)}static getInterpolation(e,t,n,s,r,a,o,l){return this.getBarycoord(e,t,n,s,on),l.setScalar(0),l.addScaledVector(r,on.x),l.addScaledVector(a,on.y),l.addScaledVector(o,on.z),l}static isFrontFacing(e,t,n,s){return zt.subVectors(n,t),an.subVectors(e,t),zt.cross(an).dot(s)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,s){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[s]),this}setFromAttributeAndIndices(e,t,n,s){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,s),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return zt.subVectors(this.c,this.b),an.subVectors(this.a,this.b),zt.cross(an).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return kt.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return kt.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,s,r){return hs===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),hs=!0),kt.getInterpolation(e,this.a,this.b,this.c,t,n,s,r)}getInterpolation(e,t,n,s,r){return kt.getInterpolation(e,this.a,this.b,this.c,t,n,s,r)}containsPoint(e){return kt.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return kt.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,s=this.b,r=this.c;let a,o;ti.subVectors(s,n),ni.subVectors(r,n),pr.subVectors(e,n);const l=ti.dot(pr),c=ni.dot(pr);if(l<=0&&c<=0)return t.copy(n);mr.subVectors(e,s);const h=ti.dot(mr),u=ni.dot(mr);if(h>=0&&u<=h)return t.copy(s);const d=l*u-h*c;if(d<=0&&l>=0&&h<=0)return a=l/(l-h),t.copy(n).addScaledVector(ti,a);gr.subVectors(e,r);const p=ti.dot(gr),g=ni.dot(gr);if(g>=0&&p<=g)return t.copy(r);const _=p*c-l*g;if(_<=0&&c>=0&&g<=0)return o=c/(c-g),t.copy(n).addScaledVector(ni,o);const m=h*g-p*u;if(m<=0&&u-h>=0&&p-g>=0)return uo.subVectors(r,s),o=(u-h)/(u-h+(p-g)),t.copy(s).addScaledVector(uo,o);const f=1/(m+_+d);return a=_*f,o=d*f,t.copy(n).addScaledVector(ti,a).addScaledVector(ni,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let ou=0;class Wt extends Xn{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:ou++}),this.uuid=Vt(),this.name="",this.type="Material",this.blending=mi,this.side=dn,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=bl,this.blendDst=Al,this.blendEquation=di,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Nr,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=Mh,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=ir,this.stencilZFail=ir,this.stencilZPass=ir,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const s=this[t];if(s===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}s&&s.isColor?s.set(n):s&&s.isVector3&&n&&n.isVector3?s.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==mi&&(n.blending=this.blending),this.side!==dn&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=this.alphaHash),this.alphaToCoverage===!0&&(n.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.forceSinglePass===!0&&(n.forceSinglePass=this.forceSinglePass),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=this.flatShading),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function s(r){const a=[];for(const o in r){const l=r[o];delete l.metadata,a.push(l)}return a}if(t){const r=s(e.textures),a=s(e.images);r.length>0&&(n.textures=r),a.length>0&&(n.images=a)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const s=t.length;n=new Array(s);for(let r=0;r!==s;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}const Vl={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ht={h:0,s:0,l:0},us={h:0,s:0,l:0};function _r(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}class Pe{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const s=e;s&&s.isColor?this.copy(s):typeof s=="number"?this.setHex(s):typeof s=="string"&&this.setStyle(s)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Ye){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Lt.toWorkingColorSpace(this,t),this}setRGB(e,t,n,s=Lt.workingColorSpace){return this.r=e,this.g=t,this.b=n,Lt.toWorkingColorSpace(this,s),this}setHSL(e,t,n,s=Lt.workingColorSpace){if(e=ea(e,1),t=ft(t,0,1),n=ft(n,0,1),t===0)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+t):n+t-n*t,a=2*n-r;this.r=_r(a,r,e+1/3),this.g=_r(a,r,e),this.b=_r(a,r,e-1/3)}return Lt.toWorkingColorSpace(this,s),this}setStyle(e,t=Ye){function n(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let s;if(s=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const a=s[1],o=s[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,t);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,t);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(s=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=s[1],a=r.length;if(a===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,t);if(a===6)return this.setHex(parseInt(r,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Ye){const n=Vl[e.toLowerCase()];return n!==void 0?this.setHex(n,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=gi(e.r),this.g=gi(e.g),this.b=gi(e.b),this}copyLinearToSRGB(e){return this.r=rr(e.r),this.g=rr(e.g),this.b=rr(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Ye){return Lt.fromWorkingColorSpace(gt.copy(this),e),Math.round(ft(gt.r*255,0,255))*65536+Math.round(ft(gt.g*255,0,255))*256+Math.round(ft(gt.b*255,0,255))}getHexString(e=Ye){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Lt.workingColorSpace){Lt.fromWorkingColorSpace(gt.copy(this),t);const n=gt.r,s=gt.g,r=gt.b,a=Math.max(n,s,r),o=Math.min(n,s,r);let l,c;const h=(o+a)/2;if(o===a)l=0,c=0;else{const u=a-o;switch(c=h<=.5?u/(a+o):u/(2-a-o),a){case n:l=(s-r)/u+(s0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const l in n){const c=n[l];e.data.attributes[l]=c.toJSON(e.data)}const s={};let r=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],h=[];for(let u=0,d=c.length;u0&&(s[l]=h,r=!0)}r&&(e.data.morphAttributes=s,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone(t));const s=e.attributes;for(const c in s){const h=s[c];this.setAttribute(c,h.clone(t))}const r=e.morphAttributes;for(const c in r){const h=[],u=r[c];for(let d=0,p=u.length;d0){const s=t[n[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=s.length;r(e.far-e.near)**2))&&(fo.copy(r).invert(),Ln.copy(e.ray).applyMatrix4(fo),!(n.boundingBox!==null&&Ln.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Ln)))}_computeIntersections(e,t,n){let s;const r=this.geometry,a=this.material,o=r.index,l=r.attributes.position,c=r.attributes.uv,h=r.attributes.uv1,u=r.attributes.normal,d=r.groups,p=r.drawRange;if(o!==null)if(Array.isArray(a))for(let g=0,_=d.length;g<_;g++){const m=d[g],f=a[m.materialIndex],y=Math.max(m.start,p.start),v=Math.min(o.count,Math.min(m.start+m.count,p.start+p.count));for(let T=y,w=v;Tt.far?null:{distance:c,point:vs.clone(),object:i}}function Ms(i,e,t,n,s,r,a,o,l,c){i.getVertexPosition(o,si),i.getVertexPosition(l,ri),i.getVertexPosition(c,ai);const h=cu(i,e,t,n,si,ri,ai,xs);if(h){s&&(ms.fromBufferAttribute(s,o),gs.fromBufferAttribute(s,l),_s.fromBufferAttribute(s,c),h.uv=kt.getInterpolation(xs,si,ri,ai,ms,gs,_s,new Ce)),r&&(ms.fromBufferAttribute(r,o),gs.fromBufferAttribute(r,l),_s.fromBufferAttribute(r,c),h.uv1=kt.getInterpolation(xs,si,ri,ai,ms,gs,_s,new Ce),h.uv2=h.uv1),a&&(mo.fromBufferAttribute(a,o),go.fromBufferAttribute(a,l),_o.fromBufferAttribute(a,c),h.normal=kt.getInterpolation(xs,si,ri,ai,mo,go,_o,new L),h.normal.dot(n.direction)>0&&h.normal.multiplyScalar(-1));const u={a:o,b:l,c,normal:new L,materialIndex:0};kt.getNormal(si,ri,ai,u.normal),h.face=u}return h}class Qi extends Ft{constructor(e=1,t=1,n=1,s=1,r=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:r,depthSegments:a};const o=this;s=Math.floor(s),r=Math.floor(r),a=Math.floor(a);const l=[],c=[],h=[],u=[];let d=0,p=0;g("z","y","x",-1,-1,n,t,e,a,r,0),g("z","y","x",1,-1,n,t,-e,a,r,1),g("x","z","y",1,1,e,n,t,s,a,2),g("x","z","y",1,-1,e,n,-t,s,a,3),g("x","y","z",1,-1,e,t,n,s,r,4),g("x","y","z",-1,-1,e,t,-n,s,r,5),this.setIndex(l),this.setAttribute("position",new Xt(c,3)),this.setAttribute("normal",new Xt(h,3)),this.setAttribute("uv",new Xt(u,2));function g(_,m,f,y,v,T,w,C,b,O,S){const A=T/b,Q=w/O,re=T/2,z=w/2,G=C/2,k=b+1,ne=O+1;let V=0,W=0;const te=new L;for(let K=0;K0?1:-1,h.push(te.x,te.y,te.z),u.push(Y/b),u.push(1-K/O),V+=1}}for(let K=0;K0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const s in this.extensions)this.extensions[s]===!0&&(n[s]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class ta extends tt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Be,this.projectionMatrix=new Be,this.projectionMatrixInverse=new Be,this.coordinateSystem=un}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class yt extends ta{constructor(e=50,t=1,n=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=s,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Ti*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Wi*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Ti*2*Math.atan(Math.tan(Wi*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,s,r,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(Wi*.5*this.fov)/this.zoom,n=2*t,s=this.aspect*n,r=-.5*s;const a=this.view;if(this.view!==null&&this.view.enabled){const l=a.fullWidth,c=a.fullHeight;r+=a.offsetX*s/l,t-=a.offsetY*n/c,s*=a.width/l,n*=a.height/c}const o=this.filmOffset;o!==0&&(r+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+s,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const oi=-90,li=1;class pu extends tt{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null;const s=new yt(oi,li,e,t);s.layers=this.layers,this.add(s);const r=new yt(oi,li,e,t);r.layers=this.layers,this.add(r);const a=new yt(oi,li,e,t);a.layers=this.layers,this.add(a);const o=new yt(oi,li,e,t);o.layers=this.layers,this.add(o);const l=new yt(oi,li,e,t);l.layers=this.layers,this.add(l);const c=new yt(oi,li,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,s,r,a,o,l]=t;for(const c of t)this.remove(c);if(e===un)n.up.set(0,1,0),n.lookAt(1,0,0),s.up.set(0,1,0),s.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Us)n.up.set(0,-1,0),n.lookAt(-1,0,0),s.up.set(0,-1,0),s.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const n=this.renderTarget;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,r,a,o,l,c]=this.children,h=e.getRenderTarget(),u=e.xr.enabled;e.xr.enabled=!1;const d=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,s),e.setRenderTarget(n,1),e.render(t,r),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,o),e.setRenderTarget(n,4),e.render(t,l),n.texture.generateMipmaps=d,e.setRenderTarget(n,5),e.render(t,c),e.setRenderTarget(h),e.xr.enabled=u,n.texture.needsPMREMUpdate=!0}}class ql extends pt{constructor(e,t,n,s,r,a,o,l,c,h){e=e!==void 0?e:[],t=t!==void 0?t:vi,super(e,t,n,s,r,a,o,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class mu extends Gn{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},s=[n,n,n,n,n,n];t.encoding!==void 0&&(ji("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===zn?Ye:Hn),this.texture=new ql(s,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Tt}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `,fragmentShader:` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + `},s=new Qi(5,5,5),r=new Vn({name:"CubemapFromEquirect",uniforms:bi(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:bt,blending:yn});r.uniforms.tEquirect.value=t;const a=new Pt(s,r),o=t.minFilter;return t.minFilter===kn&&(t.minFilter=Tt),new pu(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t,n,s){const r=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,s);e.setRenderTarget(r)}}const Mr=new L,gu=new L,_u=new ke;class vn{constructor(e=new L(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,s){return this.normal.set(e,t,n),this.constant=s,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const s=Mr.subVectors(n,t).cross(gu.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(s,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(Mr),s=this.normal.dot(n);if(s===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const r=-(e.start.dot(this.normal)+this.constant)/s;return r<0||r>1?null:t.copy(e.start).addScaledVector(n,r)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||_u.getNormalMatrix(e),s=this.coplanarPoint(Mr).applyMatrix4(e),r=this.normal.applyMatrix3(n).normalize();return this.constant=-s.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Pn=new Jt,Ss=new L;class Hs{constructor(e=new vn,t=new vn,n=new vn,s=new vn,r=new vn,a=new vn){this.planes=[e,t,n,s,r,a]}set(e,t,n,s,r,a){const o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(s),o[4].copy(r),o[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=un){const n=this.planes,s=e.elements,r=s[0],a=s[1],o=s[2],l=s[3],c=s[4],h=s[5],u=s[6],d=s[7],p=s[8],g=s[9],_=s[10],m=s[11],f=s[12],y=s[13],v=s[14],T=s[15];if(n[0].setComponents(l-r,d-c,m-p,T-f).normalize(),n[1].setComponents(l+r,d+c,m+p,T+f).normalize(),n[2].setComponents(l+a,d+h,m+g,T+y).normalize(),n[3].setComponents(l-a,d-h,m-g,T-y).normalize(),n[4].setComponents(l-o,d-u,m-_,T-v).normalize(),t===un)n[5].setComponents(l+o,d+u,m+_,T+v).normalize();else if(t===Us)n[5].setComponents(o,u,_,v).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Pn.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Pn.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Pn)}intersectsSprite(e){return Pn.center.set(0,0,0),Pn.radius=.7071067811865476,Pn.applyMatrix4(e.matrixWorld),this.intersectsSphere(Pn)}intersectsSphere(e){const t=this.planes,n=e.center,s=-e.radius;for(let r=0;r<6;r++)if(t[r].distanceToPoint(n)0?e.max.x:e.min.x,Ss.y=s.normal.y>0?e.max.y:e.min.y,Ss.z=s.normal.z>0?e.max.z:e.min.z,s.distanceToPoint(Ss)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function Yl(){let i=null,e=!1,t=null,n=null;function s(r,a){t(r,a),n=i.requestAnimationFrame(s)}return{start:function(){e!==!0&&t!==null&&(n=i.requestAnimationFrame(s),e=!0)},stop:function(){i.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(r){t=r},setContext:function(r){i=r}}}function xu(i,e){const t=e.isWebGL2,n=new WeakMap;function s(c,h){const u=c.array,d=c.usage,p=i.createBuffer();i.bindBuffer(h,p),i.bufferData(h,u,d),c.onUploadCallback();let g;if(u instanceof Float32Array)g=i.FLOAT;else if(u instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(t)g=i.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=i.UNSIGNED_SHORT;else if(u instanceof Int16Array)g=i.SHORT;else if(u instanceof Uint32Array)g=i.UNSIGNED_INT;else if(u instanceof Int32Array)g=i.INT;else if(u instanceof Int8Array)g=i.BYTE;else if(u instanceof Uint8Array)g=i.UNSIGNED_BYTE;else if(u instanceof Uint8ClampedArray)g=i.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+u);return{buffer:p,type:g,bytesPerElement:u.BYTES_PER_ELEMENT,version:c.version}}function r(c,h,u){const d=h.array,p=h.updateRange;i.bindBuffer(u,c),p.count===-1?i.bufferSubData(u,0,d):(t?i.bufferSubData(u,p.offset*d.BYTES_PER_ELEMENT,d,p.offset,p.count):i.bufferSubData(u,p.offset*d.BYTES_PER_ELEMENT,d.subarray(p.offset,p.offset+p.count)),p.count=-1),h.onUploadCallback()}function a(c){return c.isInterleavedBufferAttribute&&(c=c.data),n.get(c)}function o(c){c.isInterleavedBufferAttribute&&(c=c.data);const h=n.get(c);h&&(i.deleteBuffer(h.buffer),n.delete(c))}function l(c,h){if(c.isGLBufferAttribute){const d=n.get(c);(!d||d.version 0 + vec4 plane; + #pragma unroll_loop_start + for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; + } + #pragma unroll_loop_end + #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES + bool clipped = true; + #pragma unroll_loop_start + for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; + } + #pragma unroll_loop_end + if ( clipped ) discard; + #endif +#endif`,Du=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,Uu=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,Nu=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,Ou=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,Fu=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,Bu=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,zu=`#if defined( USE_COLOR_ALPHA ) + vColor = vec4( 1.0 ); +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + vColor = vec3( 1.0 ); +#endif +#ifdef USE_COLOR + vColor *= color; +#endif +#ifdef USE_INSTANCING_COLOR + vColor.xyz *= instanceColor.xyz; +#endif`,Hu=`#define PI 3.141592653589793 +#define PI2 6.283185307179586 +#define PI_HALF 1.5707963267948966 +#define RECIPROCAL_PI 0.3183098861837907 +#define RECIPROCAL_PI2 0.15915494309189535 +#define EPSILON 1e-6 +#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +#define whiteComplement( a ) ( 1.0 - saturate( a ) ) +float pow2( const in float x ) { return x*x; } +vec3 pow2( const in vec3 x ) { return x*x; } +float pow3( const in float x ) { return x*x*x; } +float pow4( const in float x ) { float x2 = x*x; return x2*x2; } +float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } +float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } +highp float rand( const in vec2 uv ) { + const highp float a = 12.9898, b = 78.233, c = 43758.5453; + highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); + return fract( sin( sn ) * c ); +} +#ifdef HIGH_PRECISION + float precisionSafeLength( vec3 v ) { return length( v ); } +#else + float precisionSafeLength( vec3 v ) { + float maxComponent = max3( abs( v ) ); + return length( v / maxComponent ) * maxComponent; + } +#endif +struct IncidentLight { + vec3 color; + vec3 direction; + bool visible; +}; +struct ReflectedLight { + vec3 directDiffuse; + vec3 directSpecular; + vec3 indirectDiffuse; + vec3 indirectSpecular; +}; +struct GeometricContext { + vec3 position; + vec3 normal; + vec3 viewDir; +#ifdef USE_CLEARCOAT + vec3 clearcoatNormal; +#endif +}; +#ifdef USE_ALPHAHASH + varying vec3 vPosition; +#endif +vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); +} +vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); +} +mat3 transposeMat3( const in mat3 m ) { + mat3 tmp; + tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); + tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); + tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); + return tmp; +} +float luminance( const in vec3 rgb ) { + const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); + return dot( weights, rgb ); +} +bool isPerspectiveMatrix( mat4 m ) { + return m[ 2 ][ 3 ] == - 1.0; +} +vec2 equirectUv( in vec3 dir ) { + float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; + float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; + return vec2( u, v ); +} +vec3 BRDF_Lambert( const in vec3 diffuseColor ) { + return RECIPROCAL_PI * diffuseColor; +} +vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { + float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); + return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); +} +float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { + float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); + return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); +} // validated`,ku=`#ifdef ENVMAP_TYPE_CUBE_UV + #define cubeUV_minMipLevel 4.0 + #define cubeUV_minTileSize 16.0 + float getFace( vec3 direction ) { + vec3 absDirection = abs( direction ); + float face = - 1.0; + if ( absDirection.x > absDirection.z ) { + if ( absDirection.x > absDirection.y ) + face = direction.x > 0.0 ? 0.0 : 3.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } else { + if ( absDirection.z > absDirection.y ) + face = direction.z > 0.0 ? 2.0 : 5.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } + return face; + } + vec2 getUV( vec3 direction, float face ) { + vec2 uv; + if ( face == 0.0 ) { + uv = vec2( direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 1.0 ) { + uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); + } else if ( face == 2.0 ) { + uv = vec2( - direction.x, direction.y ) / abs( direction.z ); + } else if ( face == 3.0 ) { + uv = vec2( - direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 4.0 ) { + uv = vec2( - direction.x, direction.z ) / abs( direction.y ); + } else { + uv = vec2( direction.x, direction.y ) / abs( direction.z ); + } + return 0.5 * ( uv + 1.0 ); + } + vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { + float face = getFace( direction ); + float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); + mipInt = max( mipInt, cubeUV_minMipLevel ); + float faceSize = exp2( mipInt ); + highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; + if ( face > 2.0 ) { + uv.y += faceSize; + face -= 3.0; + } + uv.x += face * faceSize; + uv.x += filterInt * 3.0 * cubeUV_minTileSize; + uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); + uv.x *= CUBEUV_TEXEL_WIDTH; + uv.y *= CUBEUV_TEXEL_HEIGHT; + #ifdef texture2DGradEXT + return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; + #else + return texture2D( envMap, uv ).rgb; + #endif + } + #define cubeUV_r0 1.0 + #define cubeUV_v0 0.339 + #define cubeUV_m0 - 2.0 + #define cubeUV_r1 0.8 + #define cubeUV_v1 0.276 + #define cubeUV_m1 - 1.0 + #define cubeUV_r4 0.4 + #define cubeUV_v4 0.046 + #define cubeUV_m4 2.0 + #define cubeUV_r5 0.305 + #define cubeUV_v5 0.016 + #define cubeUV_m5 3.0 + #define cubeUV_r6 0.21 + #define cubeUV_v6 0.0038 + #define cubeUV_m6 4.0 + float roughnessToMip( float roughness ) { + float mip = 0.0; + if ( roughness >= cubeUV_r1 ) { + mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; + } else if ( roughness >= cubeUV_r4 ) { + mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; + } else if ( roughness >= cubeUV_r5 ) { + mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; + } else if ( roughness >= cubeUV_r6 ) { + mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; + } else { + mip = - 2.0 * log2( 1.16 * roughness ); } + return mip; + } + vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { + float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); + float mipF = fract( mip ); + float mipInt = floor( mip ); + vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); + if ( mipF == 0.0 ) { + return vec4( color0, 1.0 ); + } else { + vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); + return vec4( mix( color0, color1, mipF ), 1.0 ); + } + } +#endif`,Gu=`vec3 transformedNormal = objectNormal; +#ifdef USE_INSTANCING + mat3 m = mat3( instanceMatrix ); + transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) ); + transformedNormal = m * transformedNormal; +#endif +transformedNormal = normalMatrix * transformedNormal; +#ifdef FLIP_SIDED + transformedNormal = - transformedNormal; +#endif +#ifdef USE_TANGENT + vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #ifdef FLIP_SIDED + transformedTangent = - transformedTangent; + #endif +#endif`,Vu=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,Wu=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,Xu=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,ju=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,qu="gl_FragColor = linearToOutputTexel( gl_FragColor );",Yu=`vec4 LinearToLinear( in vec4 value ) { + return value; +} +vec4 LinearTosRGB( in vec4 value ) { + return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); +}`,Ku=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vec3 cameraToFrag; + if ( isOrthographic ) { + cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToFrag = normalize( vWorldPosition - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vec3 reflectVec = reflect( cameraToFrag, worldNormal ); + #else + vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); + #endif + #else + vec3 reflectVec = vReflect; + #endif + #ifdef ENVMAP_TYPE_CUBE + vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); + #else + vec4 envColor = vec4( 0.0 ); + #endif + #ifdef ENVMAP_BLENDING_MULTIPLY + outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_MIX ) + outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_ADD ) + outgoingLight += envColor.xyz * specularStrength * reflectivity; + #endif +#endif`,Zu=`#ifdef USE_ENVMAP + uniform float envMapIntensity; + uniform float flipEnvMap; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; + #else + uniform sampler2D envMap; + #endif + +#endif`,$u=`#ifdef USE_ENVMAP + uniform float reflectivity; + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + varying vec3 vWorldPosition; + uniform float refractionRatio; + #else + varying vec3 vReflect; + #endif +#endif`,Ju=`#ifdef USE_ENVMAP + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + + varying vec3 vWorldPosition; + #else + varying vec3 vReflect; + uniform float refractionRatio; + #endif +#endif`,Qu=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vWorldPosition = worldPosition.xyz; + #else + vec3 cameraToVertex; + if ( isOrthographic ) { + cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vReflect = reflect( cameraToVertex, worldNormal ); + #else + vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); + #endif + #endif +#endif`,ed=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,td=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,nd=`#ifdef USE_FOG + #ifdef FOG_EXP2 + float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); + #else + float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); + #endif + gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); +#endif`,id=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,sd=`#ifdef USE_GRADIENTMAP + uniform sampler2D gradientMap; +#endif +vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { + float dotNL = dot( normal, lightDirection ); + vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); + #ifdef USE_GRADIENTMAP + return vec3( texture2D( gradientMap, coord ).r ); + #else + vec2 fw = fwidth( coord ) * 0.5; + return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); + #endif +}`,rd=`#ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + reflectedLight.indirectDiffuse += lightMapIrradiance; +#endif`,ad=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,od=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,ld=`varying vec3 vViewPosition; +struct LambertMaterial { + vec3 diffuseColor; + float specularStrength; +}; +void RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Lambert +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,cd=`uniform bool receiveShadow; +uniform vec3 ambientLightColor; +uniform vec3 lightProbe[ 9 ]; +vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { + float x = normal.x, y = normal.y, z = normal.z; + vec3 result = shCoefficients[ 0 ] * 0.886227; + result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; + result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; + result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; + result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; + result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; + result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); + result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; + result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); + return result; +} +vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); + return irradiance; +} +vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { + vec3 irradiance = ambientLightColor; + return irradiance; +} +float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { + #if defined ( LEGACY_LIGHTS ) + if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { + return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); + } + return 1.0; + #else + float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); + if ( cutoffDistance > 0.0 ) { + distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); + } + return distanceFalloff; + #endif +} +float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { + return smoothstep( coneCosine, penumbraCosine, angleCosine ); +} +#if NUM_DIR_LIGHTS > 0 + struct DirectionalLight { + vec3 direction; + vec3 color; + }; + uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; + void getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) { + light.color = directionalLight.color; + light.direction = directionalLight.direction; + light.visible = true; + } +#endif +#if NUM_POINT_LIGHTS > 0 + struct PointLight { + vec3 position; + vec3 color; + float distance; + float decay; + }; + uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; + void getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) { + vec3 lVector = pointLight.position - geometry.position; + light.direction = normalize( lVector ); + float lightDistance = length( lVector ); + light.color = pointLight.color; + light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } +#endif +#if NUM_SPOT_LIGHTS > 0 + struct SpotLight { + vec3 position; + vec3 direction; + vec3 color; + float distance; + float decay; + float coneCos; + float penumbraCos; + }; + uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; + void getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) { + vec3 lVector = spotLight.position - geometry.position; + light.direction = normalize( lVector ); + float angleCos = dot( light.direction, spotLight.direction ); + float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); + if ( spotAttenuation > 0.0 ) { + float lightDistance = length( lVector ); + light.color = spotLight.color * spotAttenuation; + light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } else { + light.color = vec3( 0.0 ); + light.visible = false; + } + } +#endif +#if NUM_RECT_AREA_LIGHTS > 0 + struct RectAreaLight { + vec3 color; + vec3 position; + vec3 halfWidth; + vec3 halfHeight; + }; + uniform sampler2D ltc_1; uniform sampler2D ltc_2; + uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; +#endif +#if NUM_HEMI_LIGHTS > 0 + struct HemisphereLight { + vec3 direction; + vec3 skyColor; + vec3 groundColor; + }; + uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; + vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { + float dotNL = dot( normal, hemiLight.direction ); + float hemiDiffuseWeight = 0.5 * dotNL + 0.5; + vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); + return irradiance; + } +#endif`,hd=`#ifdef USE_ENVMAP + vec3 getIBLIrradiance( const in vec3 normal ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 ); + return PI * envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } + vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 reflectVec = reflect( - viewDir, normal ); + reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); + reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ); + return envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } + #ifdef USE_ANISOTROPY + vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 bentNormal = cross( bitangent, viewDir ); + bentNormal = normalize( cross( bentNormal, bitangent ) ); + bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); + return getIBLRadiance( viewDir, bentNormal, roughness ); + #else + return vec3( 0.0 ); + #endif + } + #endif +#endif`,ud=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,dd=`varying vec3 vViewPosition; +struct ToonMaterial { + vec3 diffuseColor; +}; +void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Toon +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,fd=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,pd=`varying vec3 vViewPosition; +struct BlinnPhongMaterial { + vec3 diffuseColor; + vec3 specularColor; + float specularShininess; + float specularStrength; +}; +void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); + reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength; +} +void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_BlinnPhong +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,md=`PhysicalMaterial material; +material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); +vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) ); +float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); +material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; +material.roughness = min( material.roughness, 1.0 ); +#ifdef IOR + material.ior = ior; + #ifdef USE_SPECULAR + float specularIntensityFactor = specularIntensity; + vec3 specularColorFactor = specularColor; + #ifdef USE_SPECULAR_COLORMAP + specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; + #endif + material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); + #else + float specularIntensityFactor = 1.0; + vec3 specularColorFactor = vec3( 1.0 ); + material.specularF90 = 1.0; + #endif + material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); +#else + material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); + material.specularF90 = 1.0; +#endif +#ifdef USE_CLEARCOAT + material.clearcoat = clearcoat; + material.clearcoatRoughness = clearcoatRoughness; + material.clearcoatF0 = vec3( 0.04 ); + material.clearcoatF90 = 1.0; + #ifdef USE_CLEARCOATMAP + material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; + #endif + #ifdef USE_CLEARCOAT_ROUGHNESSMAP + material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; + #endif + material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); + material.clearcoatRoughness += geometryRoughness; + material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); +#endif +#ifdef USE_IRIDESCENCE + material.iridescence = iridescence; + material.iridescenceIOR = iridescenceIOR; + #ifdef USE_IRIDESCENCEMAP + material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; + #endif + #ifdef USE_IRIDESCENCE_THICKNESSMAP + material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; + #else + material.iridescenceThickness = iridescenceThicknessMaximum; + #endif +#endif +#ifdef USE_SHEEN + material.sheenColor = sheenColor; + #ifdef USE_SHEEN_COLORMAP + material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; + #endif + material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); + #ifdef USE_SHEEN_ROUGHNESSMAP + material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; + #endif +#endif +#ifdef USE_ANISOTROPY + #ifdef USE_ANISOTROPYMAP + mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); + vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; + vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; + #else + vec2 anisotropyV = anisotropyVector; + #endif + material.anisotropy = length( anisotropyV ); + anisotropyV /= material.anisotropy; + material.anisotropy = saturate( material.anisotropy ); + material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); + material.anisotropyT = tbn[ 0 ] * anisotropyV.x - tbn[ 1 ] * anisotropyV.y; + material.anisotropyB = tbn[ 1 ] * anisotropyV.x + tbn[ 0 ] * anisotropyV.y; +#endif`,gd=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + #ifdef USE_CLEARCOAT + float clearcoat; + float clearcoatRoughness; + vec3 clearcoatF0; + float clearcoatF90; + #endif + #ifdef USE_IRIDESCENCE + float iridescence; + float iridescenceIOR; + float iridescenceThickness; + vec3 iridescenceFresnel; + vec3 iridescenceF0; + #endif + #ifdef USE_SHEEN + vec3 sheenColor; + float sheenRoughness; + #endif + #ifdef IOR + float ior; + #endif + #ifdef USE_TRANSMISSION + float transmission; + float transmissionAlpha; + float thickness; + float attenuationDistance; + vec3 attenuationColor; + #endif + #ifdef USE_ANISOTROPY + float anisotropy; + float alphaT; + vec3 anisotropyT; + vec3 anisotropyB; + #endif +}; +vec3 clearcoatSpecular = vec3( 0.0 ); +vec3 sheenSpecular = vec3( 0.0 ); +vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { + float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); + float x2 = x * x; + float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); + return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); +} +float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { + float a2 = pow2( alpha ); + float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); + float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); + return 0.5 / max( gv + gl, EPSILON ); +} +float D_GGX( const in float alpha, const in float dotNH ) { + float a2 = pow2( alpha ); + float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; + return RECIPROCAL_PI * a2 / pow2( denom ); +} +#ifdef USE_ANISOTROPY + float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { + float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); + float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); + float v = 0.5 / ( gv + gl ); + return saturate(v); + } + float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { + float a2 = alphaT * alphaB; + highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); + highp float v2 = dot( v, v ); + float w2 = a2 / v2; + return RECIPROCAL_PI * a2 * pow2 ( w2 ); + } +#endif +#ifdef USE_CLEARCOAT + vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { + vec3 f0 = material.clearcoatF0; + float f90 = material.clearcoatF90; + float roughness = material.clearcoatRoughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + return F * ( V * D ); + } +#endif +vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { + vec3 f0 = material.specularColor; + float f90 = material.specularF90; + float roughness = material.roughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + #ifdef USE_IRIDESCENCE + F = mix( F, material.iridescenceFresnel, material.iridescence ); + #endif + #ifdef USE_ANISOTROPY + float dotTL = dot( material.anisotropyT, lightDir ); + float dotTV = dot( material.anisotropyT, viewDir ); + float dotTH = dot( material.anisotropyT, halfDir ); + float dotBL = dot( material.anisotropyB, lightDir ); + float dotBV = dot( material.anisotropyB, viewDir ); + float dotBH = dot( material.anisotropyB, halfDir ); + float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); + float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); + #else + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + #endif + return F * ( V * D ); +} +vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { + const float LUT_SIZE = 64.0; + const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; + const float LUT_BIAS = 0.5 / LUT_SIZE; + float dotNV = saturate( dot( N, V ) ); + vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); + uv = uv * LUT_SCALE + LUT_BIAS; + return uv; +} +float LTC_ClippedSphereFormFactor( const in vec3 f ) { + float l = length( f ); + return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); +} +vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { + float x = dot( v1, v2 ); + float y = abs( x ); + float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; + float b = 3.4175940 + ( 4.1616724 + y ) * y; + float v = a / b; + float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; + return cross( v1, v2 ) * theta_sintheta; +} +vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { + vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; + vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; + vec3 lightNormal = cross( v1, v2 ); + if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); + vec3 T1, T2; + T1 = normalize( V - N * dot( V, N ) ); + T2 = - cross( N, T1 ); + mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); + vec3 coords[ 4 ]; + coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); + coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); + coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); + coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); + coords[ 0 ] = normalize( coords[ 0 ] ); + coords[ 1 ] = normalize( coords[ 1 ] ); + coords[ 2 ] = normalize( coords[ 2 ] ); + coords[ 3 ] = normalize( coords[ 3 ] ); + vec3 vectorFormFactor = vec3( 0.0 ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); + float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); + return vec3( result ); +} +#if defined( USE_SHEEN ) +float D_Charlie( float roughness, float dotNH ) { + float alpha = pow2( roughness ); + float invAlpha = 1.0 / alpha; + float cos2h = dotNH * dotNH; + float sin2h = max( 1.0 - cos2h, 0.0078125 ); + return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); +} +float V_Neubelt( float dotNV, float dotNL ) { + return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); +} +vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float D = D_Charlie( sheenRoughness, dotNH ); + float V = V_Neubelt( dotNV, dotNL ); + return sheenColor * ( D * V ); +} +#endif +float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + float r2 = roughness * roughness; + float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; + float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; + float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); + return saturate( DG * RECIPROCAL_PI ); +} +vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); + const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); + vec4 r = roughness * c0 + c1; + float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; + vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; + return fab; +} +vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { + vec2 fab = DFGApprox( normal, viewDir, roughness ); + return specularColor * fab.x + specularF90 * fab.y; +} +#ifdef USE_IRIDESCENCE +void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#else +void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#endif + vec2 fab = DFGApprox( normal, viewDir, roughness ); + #ifdef USE_IRIDESCENCE + vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); + #else + vec3 Fr = specularColor; + #endif + vec3 FssEss = Fr * fab.x + specularF90 * fab.y; + float Ess = fab.x + fab.y; + float Ems = 1.0 - Ess; + vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); + singleScatter += FssEss; + multiScatter += Fms * Ems; +} +#if NUM_RECT_AREA_LIGHTS > 0 + void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 normal = geometry.normal; + vec3 viewDir = geometry.viewDir; + vec3 position = geometry.position; + vec3 lightPos = rectAreaLight.position; + vec3 halfWidth = rectAreaLight.halfWidth; + vec3 halfHeight = rectAreaLight.halfHeight; + vec3 lightColor = rectAreaLight.color; + float roughness = material.roughness; + vec3 rectCoords[ 4 ]; + rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; + rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; + rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; + vec2 uv = LTC_Uv( normal, viewDir, roughness ); + vec4 t1 = texture2D( ltc_1, uv ); + vec4 t2 = texture2D( ltc_2, uv ); + mat3 mInv = mat3( + vec3( t1.x, 0, t1.y ), + vec3( 0, 1, 0 ), + vec3( t1.z, 0, t1.w ) + ); + vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); + reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); + reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); + } +#endif +void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + #ifdef USE_CLEARCOAT + float dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) ); + vec3 ccIrradiance = dotNLcc * directLight.color; + clearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material ); + #endif + #ifdef USE_SHEEN + sheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness ); + #endif + reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material ); + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { + #ifdef USE_CLEARCOAT + clearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness ); + #endif + vec3 singleScattering = vec3( 0.0 ); + vec3 multiScattering = vec3( 0.0 ); + vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; + #ifdef USE_IRIDESCENCE + computeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); + #else + computeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); + #endif + vec3 totalScattering = singleScattering + multiScattering; + vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); + reflectedLight.indirectSpecular += radiance * singleScattering; + reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; + reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; +} +#define RE_Direct RE_Direct_Physical +#define RE_Direct_RectArea RE_Direct_RectArea_Physical +#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical +#define RE_IndirectSpecular RE_IndirectSpecular_Physical +float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { + return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); +}`,_d=` +GeometricContext geometry; +geometry.position = - vViewPosition; +geometry.normal = normal; +geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); +#ifdef USE_CLEARCOAT + geometry.clearcoatNormal = clearcoatNormal; +#endif +#ifdef USE_IRIDESCENCE + float dotNVi = saturate( dot( normal, geometry.viewDir ) ); + if ( material.iridescenceThickness == 0.0 ) { + material.iridescence = 0.0; + } else { + material.iridescence = saturate( material.iridescence ); + } + if ( material.iridescence > 0.0 ) { + material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); + material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); + } +#endif +IncidentLight directLight; +#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) + PointLight pointLight; + #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { + pointLight = pointLights[ i ]; + getPointLightInfo( pointLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) + pointLightShadow = pointLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) + SpotLight spotLight; + vec4 spotColor; + vec3 spotLightCoord; + bool inSpotLightMap; + #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { + spotLight = spotLights[ i ]; + getSpotLightInfo( spotLight, geometry, directLight ); + #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) + #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX + #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS + #else + #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) + #endif + #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) + spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; + inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); + spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); + directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; + #endif + #undef SPOT_LIGHT_MAP_INDEX + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + spotLightShadow = spotLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) + DirectionalLight directionalLight; + #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { + directionalLight = directionalLights[ i ]; + getDirectionalLightInfo( directionalLight, geometry, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) + directionalLightShadow = directionalLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) + RectAreaLight rectAreaLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { + rectAreaLight = rectAreaLights[ i ]; + RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if defined( RE_IndirectDiffuse ) + vec3 iblIrradiance = vec3( 0.0 ); + vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); + irradiance += getLightProbeIrradiance( lightProbe, geometry.normal ); + #if ( NUM_HEMI_LIGHTS > 0 ) + #pragma unroll_loop_start + for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { + irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal ); + } + #pragma unroll_loop_end + #endif +#endif +#if defined( RE_IndirectSpecular ) + vec3 radiance = vec3( 0.0 ); + vec3 clearcoatRadiance = vec3( 0.0 ); +#endif`,xd=`#if defined( RE_IndirectDiffuse ) + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + irradiance += lightMapIrradiance; + #endif + #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) + iblIrradiance += getIBLIrradiance( geometry.normal ); + #endif +#endif +#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) + #ifdef USE_ANISOTROPY + radiance += getIBLAnisotropyRadiance( geometry.viewDir, geometry.normal, material.roughness, material.anisotropyB, material.anisotropy ); + #else + radiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness ); + #endif + #ifdef USE_CLEARCOAT + clearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness ); + #endif +#endif`,vd=`#if defined( RE_IndirectDiffuse ) + RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight ); +#endif +#if defined( RE_IndirectSpecular ) + RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight ); +#endif`,Md=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,Sd=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,yd=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + varying float vFragDepth; + varying float vIsPerspective; + #else + uniform float logDepthBufFC; + #endif +#endif`,Ed=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); + #else + if ( isPerspectiveMatrix( projectionMatrix ) ) { + gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; + gl_Position.z *= gl_Position.w; + } + #endif +#endif`,Td=`#ifdef USE_MAP + vec4 sampledDiffuseColor = texture2D( map, vMapUv ); + #ifdef DECODE_VIDEO_TEXTURE + sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); + + #endif + diffuseColor *= sampledDiffuseColor; +#endif`,bd=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,Ad=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + #if defined( USE_POINTS_UV ) + vec2 uv = vUv; + #else + vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; + #endif +#endif +#ifdef USE_MAP + diffuseColor *= texture2D( map, uv ); +#endif +#ifdef USE_ALPHAMAP + diffuseColor.a *= texture2D( alphaMap, uv ).g; +#endif`,wd=`#if defined( USE_POINTS_UV ) + varying vec2 vUv; +#else + #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + uniform mat3 uvTransform; + #endif +#endif +#ifdef USE_MAP + uniform sampler2D map; +#endif +#ifdef USE_ALPHAMAP + uniform sampler2D alphaMap; +#endif`,Rd=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,Cd=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,Ld=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) + vColor *= morphTargetBaseInfluence; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + #if defined( USE_COLOR_ALPHA ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; + #elif defined( USE_COLOR ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; + #endif + } +#endif`,Pd=`#ifdef USE_MORPHNORMALS + objectNormal *= morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; + } + #else + objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; + objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; + objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; + objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; + #endif +#endif`,Id=`#ifdef USE_MORPHTARGETS + uniform float morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + uniform sampler2DArray morphTargetsTexture; + uniform ivec2 morphTargetsTextureSize; + vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { + int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; + int y = texelIndex / morphTargetsTextureSize.x; + int x = texelIndex - y * morphTargetsTextureSize.x; + ivec3 morphUV = ivec3( x, y, morphTargetIndex ); + return texelFetch( morphTargetsTexture, morphUV, 0 ); + } + #else + #ifndef USE_MORPHNORMALS + uniform float morphTargetInfluences[ 8 ]; + #else + uniform float morphTargetInfluences[ 4 ]; + #endif + #endif +#endif`,Dd=`#ifdef USE_MORPHTARGETS + transformed *= morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; + } + #else + transformed += morphTarget0 * morphTargetInfluences[ 0 ]; + transformed += morphTarget1 * morphTargetInfluences[ 1 ]; + transformed += morphTarget2 * morphTargetInfluences[ 2 ]; + transformed += morphTarget3 * morphTargetInfluences[ 3 ]; + #ifndef USE_MORPHNORMALS + transformed += morphTarget4 * morphTargetInfluences[ 4 ]; + transformed += morphTarget5 * morphTargetInfluences[ 5 ]; + transformed += morphTarget6 * morphTargetInfluences[ 6 ]; + transformed += morphTarget7 * morphTargetInfluences[ 7 ]; + #endif + #endif +#endif`,Ud=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#ifdef FLAT_SHADED + vec3 fdx = dFdx( vViewPosition ); + vec3 fdy = dFdy( vViewPosition ); + vec3 normal = normalize( cross( fdx, fdy ) ); +#else + vec3 normal = normalize( vNormal ); + #ifdef DOUBLE_SIDED + normal *= faceDirection; + #endif +#endif +#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) + #ifdef USE_TANGENT + mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); + #else + mat3 tbn = getTangentFrame( - vViewPosition, normal, + #if defined( USE_NORMALMAP ) + vNormalMapUv + #elif defined( USE_CLEARCOAT_NORMALMAP ) + vClearcoatNormalMapUv + #else + vUv + #endif + ); + #endif + #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) + tbn[0] *= faceDirection; + tbn[1] *= faceDirection; + #endif +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + #ifdef USE_TANGENT + mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); + #else + mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); + #endif + #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) + tbn2[0] *= faceDirection; + tbn2[1] *= faceDirection; + #endif +#endif +vec3 geometryNormal = normal;`,Nd=`#ifdef USE_NORMALMAP_OBJECTSPACE + normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; + #ifdef FLIP_SIDED + normal = - normal; + #endif + #ifdef DOUBLE_SIDED + normal = normal * faceDirection; + #endif + normal = normalize( normalMatrix * normal ); +#elif defined( USE_NORMALMAP_TANGENTSPACE ) + vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; + mapN.xy *= normalScale; + normal = normalize( tbn * mapN ); +#elif defined( USE_BUMPMAP ) + normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); +#endif`,Od=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,Fd=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,Bd=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,zd=`#ifdef USE_NORMALMAP + uniform sampler2D normalMap; + uniform vec2 normalScale; +#endif +#ifdef USE_NORMALMAP_OBJECTSPACE + uniform mat3 normalMatrix; +#endif +#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) + mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { + vec3 q0 = dFdx( eye_pos.xyz ); + vec3 q1 = dFdy( eye_pos.xyz ); + vec2 st0 = dFdx( uv.st ); + vec2 st1 = dFdy( uv.st ); + vec3 N = surf_norm; + vec3 q1perp = cross( q1, N ); + vec3 q0perp = cross( N, q0 ); + vec3 T = q1perp * st0.x + q0perp * st1.x; + vec3 B = q1perp * st0.y + q0perp * st1.y; + float det = max( dot( T, T ), dot( B, B ) ); + float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); + return mat3( T * scale, B * scale, N ); + } +#endif`,Hd=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = geometryNormal; +#endif`,kd=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,Gd=`#ifdef USE_CLEARCOATMAP + uniform sampler2D clearcoatMap; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform sampler2D clearcoatNormalMap; + uniform vec2 clearcoatNormalScale; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform sampler2D clearcoatRoughnessMap; +#endif`,Vd=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,Wd=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,Xd=`vec3 packNormalToRGB( const in vec3 normal ) { + return normalize( normal ) * 0.5 + 0.5; +} +vec3 unpackRGBToNormal( const in vec3 rgb ) { + return 2.0 * rgb.xyz - 1.0; +} +const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; +const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); +const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); +const float ShiftRight8 = 1. / 256.; +vec4 packDepthToRGBA( const in float v ) { + vec4 r = vec4( fract( v * PackFactors ), v ); + r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; +} +float unpackRGBAToDepth( const in vec4 v ) { + return dot( v, UnpackFactors ); +} +vec2 packDepthToRG( in highp float v ) { + return packDepthToRGBA( v ).yx; +} +float unpackRGToDepth( const in highp vec2 v ) { + return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) ); +} +vec4 pack2HalfToRGBA( vec2 v ) { + vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); + return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); +} +vec2 unpackRGBATo2Half( vec4 v ) { + return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); +} +float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { + return ( viewZ + near ) / ( near - far ); +} +float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { + return depth * ( near - far ) - near; +} +float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { + return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); +} +float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { + return ( near * far ) / ( ( far - near ) * depth - far ); +}`,jd=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,qd=`vec4 mvPosition = vec4( transformed, 1.0 ); +#ifdef USE_INSTANCING + mvPosition = instanceMatrix * mvPosition; +#endif +mvPosition = modelViewMatrix * mvPosition; +gl_Position = projectionMatrix * mvPosition;`,Yd=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,Kd=`#ifdef DITHERING + vec3 dithering( vec3 color ) { + float grid_position = rand( gl_FragCoord.xy ); + vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); + dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); + return color + dither_shift_RGB; + } +#endif`,Zd=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,$d=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,Jd=`#if NUM_SPOT_LIGHT_COORDS > 0 + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#if NUM_SPOT_LIGHT_MAPS > 0 + uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { + return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); + } + vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { + return unpackRGBATo2Half( texture2D( shadow, uv ) ); + } + float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ + float occlusion = 1.0; + vec2 distribution = texture2DDistribution( shadow, uv ); + float hard_shadow = step( compare , distribution.x ); + if (hard_shadow != 1.0 ) { + float distance = compare - distribution.x ; + float variance = max( 0.00000, distribution.y * distribution.y ); + float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); + } + return occlusion; + } + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + #if defined( SHADOWMAP_TYPE_PCF ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx0 = - texelSize.x * shadowRadius; + float dy0 = - texelSize.y * shadowRadius; + float dx1 = + texelSize.x * shadowRadius; + float dy1 = + texelSize.y * shadowRadius; + float dx2 = dx0 / 2.0; + float dy2 = dy0 / 2.0; + float dx3 = dx1 / 2.0; + float dy3 = dy1 / 2.0; + shadow = ( + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) + ) * ( 1.0 / 17.0 ); + #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx = texelSize.x; + float dy = texelSize.y; + vec2 uv = shadowCoord.xy; + vec2 f = fract( uv * shadowMapSize + 0.5 ); + uv -= f * texelSize; + shadow = ( + texture2DCompare( shadowMap, uv, shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), + f.x ), + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), + f.x ), + f.y ) + ) * ( 1.0 / 9.0 ); + #elif defined( SHADOWMAP_TYPE_VSM ) + shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); + #else + shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); + #endif + } + return shadow; + } + vec2 cubeToUV( vec3 v, float texelSizeY ) { + vec3 absV = abs( v ); + float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); + absV *= scaleToCube; + v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); + vec2 planar = v.xy; + float almostATexel = 1.5 * texelSizeY; + float almostOne = 1.0 - almostATexel; + if ( absV.z >= almostOne ) { + if ( v.z > 0.0 ) + planar.x = 4.0 - v.x; + } else if ( absV.x >= almostOne ) { + float signX = sign( v.x ); + planar.x = v.z * signX + 2.0 * signX; + } else if ( absV.y >= almostOne ) { + float signY = sign( v.y ); + planar.x = v.x + 2.0 * signY + 2.0; + planar.y = v.z * signY - 2.0; + } + return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); + } + float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + vec3 lightToPosition = shadowCoord.xyz; + float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + return ( + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) + ) * ( 1.0 / 9.0 ); + #else + return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } +#endif`,Qd=`#if NUM_SPOT_LIGHT_COORDS > 0 + uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif +#endif`,ef=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) + vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + vec4 shadowWorldPosition; +#endif +#if defined( USE_SHADOWMAP ) + #if NUM_DIR_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); + vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); + vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif +#endif +#if NUM_SPOT_LIGHT_COORDS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { + shadowWorldPosition = worldPosition; + #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; + #endif + vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end +#endif`,tf=`float getShadowMask() { + float shadow = 1.0; + #ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + directionalLight = directionalLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { + spotLight = spotLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + pointLight = pointLightShadows[ i ]; + shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; + } + #pragma unroll_loop_end + #endif + #endif + return shadow; +}`,nf=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,sf=`#ifdef USE_SKINNING + uniform mat4 bindMatrix; + uniform mat4 bindMatrixInverse; + uniform highp sampler2D boneTexture; + uniform int boneTextureSize; + mat4 getBoneMatrix( const in float i ) { + float j = i * 4.0; + float x = mod( j, float( boneTextureSize ) ); + float y = floor( j / float( boneTextureSize ) ); + float dx = 1.0 / float( boneTextureSize ); + float dy = 1.0 / float( boneTextureSize ); + y = dy * ( y + 0.5 ); + vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) ); + vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) ); + vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) ); + vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) ); + mat4 bone = mat4( v1, v2, v3, v4 ); + return bone; + } +#endif`,rf=`#ifdef USE_SKINNING + vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); + vec4 skinned = vec4( 0.0 ); + skinned += boneMatX * skinVertex * skinWeight.x; + skinned += boneMatY * skinVertex * skinWeight.y; + skinned += boneMatZ * skinVertex * skinWeight.z; + skinned += boneMatW * skinVertex * skinWeight.w; + transformed = ( bindMatrixInverse * skinned ).xyz; +#endif`,af=`#ifdef USE_SKINNING + mat4 skinMatrix = mat4( 0.0 ); + skinMatrix += skinWeight.x * boneMatX; + skinMatrix += skinWeight.y * boneMatY; + skinMatrix += skinWeight.z * boneMatZ; + skinMatrix += skinWeight.w * boneMatW; + skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; + objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; + #ifdef USE_TANGENT + objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #endif +#endif`,of=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,lf=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,cf=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,hf=`#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +uniform float toneMappingExposure; +vec3 LinearToneMapping( vec3 color ) { + return saturate( toneMappingExposure * color ); +} +vec3 ReinhardToneMapping( vec3 color ) { + color *= toneMappingExposure; + return saturate( color / ( vec3( 1.0 ) + color ) ); +} +vec3 OptimizedCineonToneMapping( vec3 color ) { + color *= toneMappingExposure; + color = max( vec3( 0.0 ), color - 0.004 ); + return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); +} +vec3 RRTAndODTFit( vec3 v ) { + vec3 a = v * ( v + 0.0245786 ) - 0.000090537; + vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; + return a / b; +} +vec3 ACESFilmicToneMapping( vec3 color ) { + const mat3 ACESInputMat = mat3( + vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), + vec3( 0.04823, 0.01566, 0.83777 ) + ); + const mat3 ACESOutputMat = mat3( + vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), + vec3( -0.07367, -0.00605, 1.07602 ) + ); + color *= toneMappingExposure / 0.6; + color = ACESInputMat * color; + color = RRTAndODTFit( color ); + color = ACESOutputMat * color; + return saturate( color ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,uf=`#ifdef USE_TRANSMISSION + material.transmission = transmission; + material.transmissionAlpha = 1.0; + material.thickness = thickness; + material.attenuationDistance = attenuationDistance; + material.attenuationColor = attenuationColor; + #ifdef USE_TRANSMISSIONMAP + material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; + #endif + #ifdef USE_THICKNESSMAP + material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; + #endif + vec3 pos = vWorldPosition; + vec3 v = normalize( cameraPosition - pos ); + vec3 n = inverseTransformDirection( normal, viewMatrix ); + vec4 transmitted = getIBLVolumeRefraction( + n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, + pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, + material.attenuationColor, material.attenuationDistance ); + material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); + totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); +#endif`,df=`#ifdef USE_TRANSMISSION + uniform float transmission; + uniform float thickness; + uniform float attenuationDistance; + uniform vec3 attenuationColor; + #ifdef USE_TRANSMISSIONMAP + uniform sampler2D transmissionMap; + #endif + #ifdef USE_THICKNESSMAP + uniform sampler2D thicknessMap; + #endif + uniform vec2 transmissionSamplerSize; + uniform sampler2D transmissionSamplerMap; + uniform mat4 modelMatrix; + uniform mat4 projectionMatrix; + varying vec3 vWorldPosition; + float w0( float a ) { + return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); + } + float w1( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); + } + float w2( float a ){ + return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); + } + float w3( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * a ); + } + float g0( float a ) { + return w0( a ) + w1( a ); + } + float g1( float a ) { + return w2( a ) + w3( a ); + } + float h0( float a ) { + return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); + } + float h1( float a ) { + return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); + } + vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { + uv = uv * texelSize.zw + 0.5; + vec2 iuv = floor( uv ); + vec2 fuv = fract( uv ); + float g0x = g0( fuv.x ); + float g1x = g1( fuv.x ); + float h0x = h0( fuv.x ); + float h1x = h1( fuv.x ); + float h0y = h0( fuv.y ); + float h1y = h1( fuv.y ); + vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + + g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); + } + vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { + vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); + vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); + vec2 fLodSizeInv = 1.0 / fLodSize; + vec2 cLodSizeInv = 1.0 / cLodSize; + vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); + vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); + return mix( fSample, cSample, fract( lod ) ); + } + vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { + vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); + vec3 modelScale; + modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); + modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); + modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); + return normalize( refractionVector ) * thickness * modelScale; + } + float applyIorToRoughness( const in float roughness, const in float ior ) { + return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); + } + vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { + float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); + return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); + } + vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { + if ( isinf( attenuationDistance ) ) { + return vec3( 1.0 ); + } else { + vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; + vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; + } + } + vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, + const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, + const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + vec3 attenuatedColor = transmittance * transmittedLight.rgb; + vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); + float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; + return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); + } +#endif`,ff=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) + varying vec2 vUv; +#endif +#ifdef USE_MAP + varying vec2 vMapUv; +#endif +#ifdef USE_ALPHAMAP + varying vec2 vAlphaMapUv; +#endif +#ifdef USE_LIGHTMAP + varying vec2 vLightMapUv; +#endif +#ifdef USE_AOMAP + varying vec2 vAoMapUv; +#endif +#ifdef USE_BUMPMAP + varying vec2 vBumpMapUv; +#endif +#ifdef USE_NORMALMAP + varying vec2 vNormalMapUv; +#endif +#ifdef USE_EMISSIVEMAP + varying vec2 vEmissiveMapUv; +#endif +#ifdef USE_METALNESSMAP + varying vec2 vMetalnessMapUv; +#endif +#ifdef USE_ROUGHNESSMAP + varying vec2 vRoughnessMapUv; +#endif +#ifdef USE_ANISOTROPYMAP + varying vec2 vAnisotropyMapUv; +#endif +#ifdef USE_CLEARCOATMAP + varying vec2 vClearcoatMapUv; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + varying vec2 vClearcoatNormalMapUv; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + varying vec2 vClearcoatRoughnessMapUv; +#endif +#ifdef USE_IRIDESCENCEMAP + varying vec2 vIridescenceMapUv; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + varying vec2 vIridescenceThicknessMapUv; +#endif +#ifdef USE_SHEEN_COLORMAP + varying vec2 vSheenColorMapUv; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + varying vec2 vSheenRoughnessMapUv; +#endif +#ifdef USE_SPECULARMAP + varying vec2 vSpecularMapUv; +#endif +#ifdef USE_SPECULAR_COLORMAP + varying vec2 vSpecularColorMapUv; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + varying vec2 vSpecularIntensityMapUv; +#endif +#ifdef USE_TRANSMISSIONMAP + uniform mat3 transmissionMapTransform; + varying vec2 vTransmissionMapUv; +#endif +#ifdef USE_THICKNESSMAP + uniform mat3 thicknessMapTransform; + varying vec2 vThicknessMapUv; +#endif`,pf=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) + varying vec2 vUv; +#endif +#ifdef USE_MAP + uniform mat3 mapTransform; + varying vec2 vMapUv; +#endif +#ifdef USE_ALPHAMAP + uniform mat3 alphaMapTransform; + varying vec2 vAlphaMapUv; +#endif +#ifdef USE_LIGHTMAP + uniform mat3 lightMapTransform; + varying vec2 vLightMapUv; +#endif +#ifdef USE_AOMAP + uniform mat3 aoMapTransform; + varying vec2 vAoMapUv; +#endif +#ifdef USE_BUMPMAP + uniform mat3 bumpMapTransform; + varying vec2 vBumpMapUv; +#endif +#ifdef USE_NORMALMAP + uniform mat3 normalMapTransform; + varying vec2 vNormalMapUv; +#endif +#ifdef USE_DISPLACEMENTMAP + uniform mat3 displacementMapTransform; + varying vec2 vDisplacementMapUv; +#endif +#ifdef USE_EMISSIVEMAP + uniform mat3 emissiveMapTransform; + varying vec2 vEmissiveMapUv; +#endif +#ifdef USE_METALNESSMAP + uniform mat3 metalnessMapTransform; + varying vec2 vMetalnessMapUv; +#endif +#ifdef USE_ROUGHNESSMAP + uniform mat3 roughnessMapTransform; + varying vec2 vRoughnessMapUv; +#endif +#ifdef USE_ANISOTROPYMAP + uniform mat3 anisotropyMapTransform; + varying vec2 vAnisotropyMapUv; +#endif +#ifdef USE_CLEARCOATMAP + uniform mat3 clearcoatMapTransform; + varying vec2 vClearcoatMapUv; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform mat3 clearcoatNormalMapTransform; + varying vec2 vClearcoatNormalMapUv; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform mat3 clearcoatRoughnessMapTransform; + varying vec2 vClearcoatRoughnessMapUv; +#endif +#ifdef USE_SHEEN_COLORMAP + uniform mat3 sheenColorMapTransform; + varying vec2 vSheenColorMapUv; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + uniform mat3 sheenRoughnessMapTransform; + varying vec2 vSheenRoughnessMapUv; +#endif +#ifdef USE_IRIDESCENCEMAP + uniform mat3 iridescenceMapTransform; + varying vec2 vIridescenceMapUv; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform mat3 iridescenceThicknessMapTransform; + varying vec2 vIridescenceThicknessMapUv; +#endif +#ifdef USE_SPECULARMAP + uniform mat3 specularMapTransform; + varying vec2 vSpecularMapUv; +#endif +#ifdef USE_SPECULAR_COLORMAP + uniform mat3 specularColorMapTransform; + varying vec2 vSpecularColorMapUv; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + uniform mat3 specularIntensityMapTransform; + varying vec2 vSpecularIntensityMapUv; +#endif +#ifdef USE_TRANSMISSIONMAP + uniform mat3 transmissionMapTransform; + varying vec2 vTransmissionMapUv; +#endif +#ifdef USE_THICKNESSMAP + uniform mat3 thicknessMapTransform; + varying vec2 vThicknessMapUv; +#endif`,mf=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) + vUv = vec3( uv, 1 ).xy; +#endif +#ifdef USE_MAP + vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ALPHAMAP + vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_LIGHTMAP + vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_AOMAP + vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_BUMPMAP + vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_NORMALMAP + vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_DISPLACEMENTMAP + vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_EMISSIVEMAP + vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_METALNESSMAP + vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ROUGHNESSMAP + vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ANISOTROPYMAP + vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOATMAP + vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_IRIDESCENCEMAP + vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SHEEN_COLORMAP + vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULARMAP + vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULAR_COLORMAP + vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_TRANSMISSIONMAP + vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_THICKNESSMAP + vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; +#endif`,gf=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 + vec4 worldPosition = vec4( transformed, 1.0 ); + #ifdef USE_INSTANCING + worldPosition = instanceMatrix * worldPosition; + #endif + worldPosition = modelMatrix * worldPosition; +#endif`;const _f=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,xf=`uniform sampler2D t2D; +uniform float backgroundIntensity; +varying vec2 vUv; +void main() { + vec4 texColor = texture2D( t2D, vUv ); + #ifdef DECODE_VIDEO_TEXTURE + texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,vf=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,Mf=`#ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; +#elif defined( ENVMAP_TYPE_CUBE_UV ) + uniform sampler2D envMap; +#endif +uniform float flipEnvMap; +uniform float backgroundBlurriness; +uniform float backgroundIntensity; +varying vec3 vWorldDirection; +#include +void main() { + #ifdef ENVMAP_TYPE_CUBE + vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); + #elif defined( ENVMAP_TYPE_CUBE_UV ) + vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); + #else + vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,Sf=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,yf=`uniform samplerCube tCube; +uniform float tFlip; +uniform float opacity; +varying vec3 vWorldDirection; +void main() { + vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); + gl_FragColor = texColor; + gl_FragColor.a *= opacity; + #include + #include +}`,Ef=`#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vHighPrecisionZW = gl_Position.zw; +}`,Tf=`#if DEPTH_PACKING == 3200 + uniform float opacity; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + vec4 diffuseColor = vec4( 1.0 ); + #if DEPTH_PACKING == 3200 + diffuseColor.a = opacity; + #endif + #include + #include + #include + #include + #include + float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; + #if DEPTH_PACKING == 3200 + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); + #elif DEPTH_PACKING == 3201 + gl_FragColor = packDepthToRGBA( fragCoordZ ); + #endif +}`,bf=`#define DISTANCE +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vWorldPosition = worldPosition.xyz; +}`,Af=`#define DISTANCE +uniform vec3 referencePosition; +uniform float nearDistance; +uniform float farDistance; +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +#include +void main () { + #include + vec4 diffuseColor = vec4( 1.0 ); + #include + #include + #include + #include + float dist = length( vWorldPosition - referencePosition ); + dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); + dist = saturate( dist ); + gl_FragColor = packDepthToRGBA( dist ); +}`,wf=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,Rf=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,Cf=`uniform float scale; +attribute float lineDistance; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +#include +void main() { + vLineDistance = scale * lineDistance; + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,Lf=`uniform vec3 diffuse; +uniform float opacity; +uniform float dashSize; +uniform float totalSize; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + if ( mod( vLineDistance, totalSize ) > dashSize ) { + discard; + } + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,Pf=`#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,If=`uniform vec3 diffuse; +uniform float opacity; +#ifndef FLAT_SHADED + varying vec3 vNormal; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; + #else + reflectedLight.indirectDiffuse += vec3( 1.0 ); + #endif + #include + reflectedLight.indirectDiffuse *= diffuseColor.rgb; + vec3 outgoingLight = reflectedLight.indirectDiffuse; + #include + #include + #include + #include + #include + #include + #include +}`,Df=`#define LAMBERT +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,Uf=`#define LAMBERT +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,Nf=`#define MATCAP +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; +}`,Of=`#define MATCAP +uniform vec3 diffuse; +uniform float opacity; +uniform sampler2D matcap; +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + #include + #include + vec3 viewDir = normalize( vViewPosition ); + vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); + vec3 y = cross( viewDir, x ); + vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; + #ifdef USE_MATCAP + vec4 matcapColor = texture2D( matcap, uv ); + #else + vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); + #endif + vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; + #include + #include + #include + #include + #include + #include +}`,Ff=`#define NORMAL +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + vViewPosition = - mvPosition.xyz; +#endif +}`,Bf=`#define NORMAL +uniform float opacity; +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + gl_FragColor = vec4( packNormalToRGB( normal ), opacity ); + #ifdef OPAQUE + gl_FragColor.a = 1.0; + #endif +}`,zf=`#define PHONG +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,Hf=`#define PHONG +uniform vec3 diffuse; +uniform vec3 emissive; +uniform vec3 specular; +uniform float shininess; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,kf=`#define STANDARD +varying vec3 vViewPosition; +#ifdef USE_TRANSMISSION + varying vec3 vWorldPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +#ifdef USE_TRANSMISSION + vWorldPosition = worldPosition.xyz; +#endif +}`,Gf=`#define STANDARD +#ifdef PHYSICAL + #define IOR + #define USE_SPECULAR +#endif +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; +#ifdef IOR + uniform float ior; +#endif +#ifdef USE_SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + #ifdef USE_SPECULAR_COLORMAP + uniform sampler2D specularColorMap; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif +#endif +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif +#ifdef USE_IRIDESCENCE + uniform float iridescence; + uniform float iridescenceIOR; + uniform float iridescenceThicknessMinimum; + uniform float iridescenceThicknessMaximum; +#endif +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + #ifdef USE_SHEEN_COLORMAP + uniform sampler2D sheenColorMap; + #endif + #ifdef USE_SHEEN_ROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif +#ifdef USE_ANISOTROPY + uniform vec2 anisotropyVector; + #ifdef USE_ANISOTROPYMAP + uniform sampler2D anisotropyMap; + #endif +#endif +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + #include + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + #ifdef USE_SHEEN + float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); + outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular; + #endif + #ifdef USE_CLEARCOAT + float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) ); + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat; + #endif + #include + #include + #include + #include + #include + #include +}`,Vf=`#define TOON +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +}`,Wf=`#define TOON +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include +}`,Xf=`uniform float size; +uniform float scale; +#include +#include +#include +#include +#include +#include +#ifdef USE_POINTS_UV + varying vec2 vUv; + uniform mat3 uvTransform; +#endif +void main() { + #ifdef USE_POINTS_UV + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + #endif + #include + #include + #include + #include + #include + gl_PointSize = size; + #ifdef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); + #endif + #include + #include + #include + #include +}`,jf=`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,qf=`#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,Yf=`uniform vec3 color; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); + #include + #include + #include +}`,Kf=`uniform float rotation; +uniform vec2 center; +#include +#include +#include +#include +#include +void main() { + #include + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + #ifndef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + #endif + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + gl_Position = projectionMatrix * mvPosition; + #include + #include + #include +}`,Zf=`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + vec3 outgoingLight = vec3( 0.0 ); + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include +}`,He={alphahash_fragment:vu,alphahash_pars_fragment:Mu,alphamap_fragment:Su,alphamap_pars_fragment:yu,alphatest_fragment:Eu,alphatest_pars_fragment:Tu,aomap_fragment:bu,aomap_pars_fragment:Au,begin_vertex:wu,beginnormal_vertex:Ru,bsdfs:Cu,iridescence_fragment:Lu,bumpmap_pars_fragment:Pu,clipping_planes_fragment:Iu,clipping_planes_pars_fragment:Du,clipping_planes_pars_vertex:Uu,clipping_planes_vertex:Nu,color_fragment:Ou,color_pars_fragment:Fu,color_pars_vertex:Bu,color_vertex:zu,common:Hu,cube_uv_reflection_fragment:ku,defaultnormal_vertex:Gu,displacementmap_pars_vertex:Vu,displacementmap_vertex:Wu,emissivemap_fragment:Xu,emissivemap_pars_fragment:ju,colorspace_fragment:qu,colorspace_pars_fragment:Yu,envmap_fragment:Ku,envmap_common_pars_fragment:Zu,envmap_pars_fragment:$u,envmap_pars_vertex:Ju,envmap_physical_pars_fragment:hd,envmap_vertex:Qu,fog_vertex:ed,fog_pars_vertex:td,fog_fragment:nd,fog_pars_fragment:id,gradientmap_pars_fragment:sd,lightmap_fragment:rd,lightmap_pars_fragment:ad,lights_lambert_fragment:od,lights_lambert_pars_fragment:ld,lights_pars_begin:cd,lights_toon_fragment:ud,lights_toon_pars_fragment:dd,lights_phong_fragment:fd,lights_phong_pars_fragment:pd,lights_physical_fragment:md,lights_physical_pars_fragment:gd,lights_fragment_begin:_d,lights_fragment_maps:xd,lights_fragment_end:vd,logdepthbuf_fragment:Md,logdepthbuf_pars_fragment:Sd,logdepthbuf_pars_vertex:yd,logdepthbuf_vertex:Ed,map_fragment:Td,map_pars_fragment:bd,map_particle_fragment:Ad,map_particle_pars_fragment:wd,metalnessmap_fragment:Rd,metalnessmap_pars_fragment:Cd,morphcolor_vertex:Ld,morphnormal_vertex:Pd,morphtarget_pars_vertex:Id,morphtarget_vertex:Dd,normal_fragment_begin:Ud,normal_fragment_maps:Nd,normal_pars_fragment:Od,normal_pars_vertex:Fd,normal_vertex:Bd,normalmap_pars_fragment:zd,clearcoat_normal_fragment_begin:Hd,clearcoat_normal_fragment_maps:kd,clearcoat_pars_fragment:Gd,iridescence_pars_fragment:Vd,opaque_fragment:Wd,packing:Xd,premultiplied_alpha_fragment:jd,project_vertex:qd,dithering_fragment:Yd,dithering_pars_fragment:Kd,roughnessmap_fragment:Zd,roughnessmap_pars_fragment:$d,shadowmap_pars_fragment:Jd,shadowmap_pars_vertex:Qd,shadowmap_vertex:ef,shadowmask_pars_fragment:tf,skinbase_vertex:nf,skinning_pars_vertex:sf,skinning_vertex:rf,skinnormal_vertex:af,specularmap_fragment:of,specularmap_pars_fragment:lf,tonemapping_fragment:cf,tonemapping_pars_fragment:hf,transmission_fragment:uf,transmission_pars_fragment:df,uv_pars_fragment:ff,uv_pars_vertex:pf,uv_vertex:mf,worldpos_vertex:gf,background_vert:_f,background_frag:xf,backgroundCube_vert:vf,backgroundCube_frag:Mf,cube_vert:Sf,cube_frag:yf,depth_vert:Ef,depth_frag:Tf,distanceRGBA_vert:bf,distanceRGBA_frag:Af,equirect_vert:wf,equirect_frag:Rf,linedashed_vert:Cf,linedashed_frag:Lf,meshbasic_vert:Pf,meshbasic_frag:If,meshlambert_vert:Df,meshlambert_frag:Uf,meshmatcap_vert:Nf,meshmatcap_frag:Of,meshnormal_vert:Ff,meshnormal_frag:Bf,meshphong_vert:zf,meshphong_frag:Hf,meshphysical_vert:kf,meshphysical_frag:Gf,meshtoon_vert:Vf,meshtoon_frag:Wf,points_vert:Xf,points_frag:jf,shadow_vert:qf,shadow_frag:Yf,sprite_vert:Kf,sprite_frag:Zf},pe={common:{diffuse:{value:new Pe(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new ke},alphaMap:{value:null},alphaMapTransform:{value:new ke},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new ke}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new ke}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new ke}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new ke},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new ke},normalScale:{value:new Ce(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new ke},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new ke}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new ke}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new ke}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Pe(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Pe(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new ke},alphaTest:{value:0},uvTransform:{value:new ke}},sprite:{diffuse:{value:new Pe(16777215)},opacity:{value:1},center:{value:new Ce(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new ke},alphaMap:{value:null},alphaMapTransform:{value:new ke},alphaTest:{value:0}}},Yt={basic:{uniforms:St([pe.common,pe.specularmap,pe.envmap,pe.aomap,pe.lightmap,pe.fog]),vertexShader:He.meshbasic_vert,fragmentShader:He.meshbasic_frag},lambert:{uniforms:St([pe.common,pe.specularmap,pe.envmap,pe.aomap,pe.lightmap,pe.emissivemap,pe.bumpmap,pe.normalmap,pe.displacementmap,pe.fog,pe.lights,{emissive:{value:new Pe(0)}}]),vertexShader:He.meshlambert_vert,fragmentShader:He.meshlambert_frag},phong:{uniforms:St([pe.common,pe.specularmap,pe.envmap,pe.aomap,pe.lightmap,pe.emissivemap,pe.bumpmap,pe.normalmap,pe.displacementmap,pe.fog,pe.lights,{emissive:{value:new Pe(0)},specular:{value:new Pe(1118481)},shininess:{value:30}}]),vertexShader:He.meshphong_vert,fragmentShader:He.meshphong_frag},standard:{uniforms:St([pe.common,pe.envmap,pe.aomap,pe.lightmap,pe.emissivemap,pe.bumpmap,pe.normalmap,pe.displacementmap,pe.roughnessmap,pe.metalnessmap,pe.fog,pe.lights,{emissive:{value:new Pe(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:He.meshphysical_vert,fragmentShader:He.meshphysical_frag},toon:{uniforms:St([pe.common,pe.aomap,pe.lightmap,pe.emissivemap,pe.bumpmap,pe.normalmap,pe.displacementmap,pe.gradientmap,pe.fog,pe.lights,{emissive:{value:new Pe(0)}}]),vertexShader:He.meshtoon_vert,fragmentShader:He.meshtoon_frag},matcap:{uniforms:St([pe.common,pe.bumpmap,pe.normalmap,pe.displacementmap,pe.fog,{matcap:{value:null}}]),vertexShader:He.meshmatcap_vert,fragmentShader:He.meshmatcap_frag},points:{uniforms:St([pe.points,pe.fog]),vertexShader:He.points_vert,fragmentShader:He.points_frag},dashed:{uniforms:St([pe.common,pe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:He.linedashed_vert,fragmentShader:He.linedashed_frag},depth:{uniforms:St([pe.common,pe.displacementmap]),vertexShader:He.depth_vert,fragmentShader:He.depth_frag},normal:{uniforms:St([pe.common,pe.bumpmap,pe.normalmap,pe.displacementmap,{opacity:{value:1}}]),vertexShader:He.meshnormal_vert,fragmentShader:He.meshnormal_frag},sprite:{uniforms:St([pe.sprite,pe.fog]),vertexShader:He.sprite_vert,fragmentShader:He.sprite_frag},background:{uniforms:{uvTransform:{value:new ke},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:He.background_vert,fragmentShader:He.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:He.backgroundCube_vert,fragmentShader:He.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:He.cube_vert,fragmentShader:He.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:He.equirect_vert,fragmentShader:He.equirect_frag},distanceRGBA:{uniforms:St([pe.common,pe.displacementmap,{referencePosition:{value:new L},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:He.distanceRGBA_vert,fragmentShader:He.distanceRGBA_frag},shadow:{uniforms:St([pe.lights,pe.fog,{color:{value:new Pe(0)},opacity:{value:1}}]),vertexShader:He.shadow_vert,fragmentShader:He.shadow_frag}};Yt.physical={uniforms:St([Yt.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new ke},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new ke},clearcoatNormalScale:{value:new Ce(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new ke},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new ke},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new ke},sheen:{value:0},sheenColor:{value:new Pe(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new ke},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new ke},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new ke},transmissionSamplerSize:{value:new Ce},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new ke},attenuationDistance:{value:0},attenuationColor:{value:new Pe(0)},specularColor:{value:new Pe(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new ke},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new ke},anisotropyVector:{value:new Ce},anisotropyMap:{value:null},anisotropyMapTransform:{value:new ke}}]),vertexShader:He.meshphysical_vert,fragmentShader:He.meshphysical_frag};const ys={r:0,b:0,g:0};function $f(i,e,t,n,s,r,a){const o=new Pe(0);let l=r===!0?0:1,c,h,u=null,d=0,p=null;function g(m,f){let y=!1,v=f.isScene===!0?f.background:null;v&&v.isTexture&&(v=(f.backgroundBlurriness>0?t:e).get(v)),v===null?_(o,l):v&&v.isColor&&(_(v,1),y=!0);const T=i.xr.getEnvironmentBlendMode();T==="additive"?n.buffers.color.setClear(0,0,0,1,a):T==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,a),(i.autoClear||y)&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil),v&&(v.isCubeTexture||v.mapping===Fs)?(h===void 0&&(h=new Pt(new Qi(1,1,1),new Vn({name:"BackgroundCubeMaterial",uniforms:bi(Yt.backgroundCube.uniforms),vertexShader:Yt.backgroundCube.vertexShader,fragmentShader:Yt.backgroundCube.fragmentShader,side:bt,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(w,C,b){this.matrixWorld.copyPosition(b.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),s.update(h)),h.material.uniforms.envMap.value=v,h.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=f.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=f.backgroundIntensity,h.material.toneMapped=v.colorSpace!==Ye,(u!==v||d!==v.version||p!==i.toneMapping)&&(h.material.needsUpdate=!0,u=v,d=v.version,p=i.toneMapping),h.layers.enableAll(),m.unshift(h,h.geometry,h.material,0,0,null)):v&&v.isTexture&&(c===void 0&&(c=new Pt(new ks(2,2),new Vn({name:"BackgroundMaterial",uniforms:bi(Yt.background.uniforms),vertexShader:Yt.background.vertexShader,fragmentShader:Yt.background.fragmentShader,side:dn,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),s.update(c)),c.material.uniforms.t2D.value=v,c.material.uniforms.backgroundIntensity.value=f.backgroundIntensity,c.material.toneMapped=v.colorSpace!==Ye,v.matrixAutoUpdate===!0&&v.updateMatrix(),c.material.uniforms.uvTransform.value.copy(v.matrix),(u!==v||d!==v.version||p!==i.toneMapping)&&(c.material.needsUpdate=!0,u=v,d=v.version,p=i.toneMapping),c.layers.enableAll(),m.unshift(c,c.geometry,c.material,0,0,null))}function _(m,f){m.getRGB(ys,jl(i)),n.buffers.color.setClear(ys.r,ys.g,ys.b,f,a)}return{getClearColor:function(){return o},setClearColor:function(m,f=1){o.set(m),l=f,_(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(m){l=m,_(o,l)},render:g}}function Jf(i,e,t,n){const s=i.getParameter(i.MAX_VERTEX_ATTRIBS),r=n.isWebGL2?null:e.get("OES_vertex_array_object"),a=n.isWebGL2||r!==null,o={},l=m(null);let c=l,h=!1;function u(G,k,ne,V,W){let te=!1;if(a){const K=_(V,ne,k);c!==K&&(c=K,p(c.object)),te=f(G,V,ne,W),te&&y(G,V,ne,W)}else{const K=k.wireframe===!0;(c.geometry!==V.id||c.program!==ne.id||c.wireframe!==K)&&(c.geometry=V.id,c.program=ne.id,c.wireframe=K,te=!0)}W!==null&&t.update(W,i.ELEMENT_ARRAY_BUFFER),(te||h)&&(h=!1,O(G,k,ne,V),W!==null&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,t.get(W).buffer))}function d(){return n.isWebGL2?i.createVertexArray():r.createVertexArrayOES()}function p(G){return n.isWebGL2?i.bindVertexArray(G):r.bindVertexArrayOES(G)}function g(G){return n.isWebGL2?i.deleteVertexArray(G):r.deleteVertexArrayOES(G)}function _(G,k,ne){const V=ne.wireframe===!0;let W=o[G.id];W===void 0&&(W={},o[G.id]=W);let te=W[k.id];te===void 0&&(te={},W[k.id]=te);let K=te[V];return K===void 0&&(K=m(d()),te[V]=K),K}function m(G){const k=[],ne=[],V=[];for(let W=0;W=0){const ve=W[Y];let ye=te[Y];if(ye===void 0&&(Y==="instanceMatrix"&&G.instanceMatrix&&(ye=G.instanceMatrix),Y==="instanceColor"&&G.instanceColor&&(ye=G.instanceColor)),ve===void 0||ve.attribute!==ye||ye&&ve.data!==ye.data)return!0;K++}return c.attributesNum!==K||c.index!==V}function y(G,k,ne,V){const W={},te=k.attributes;let K=0;const F=ne.getAttributes();for(const Y in F)if(F[Y].location>=0){let ve=te[Y];ve===void 0&&(Y==="instanceMatrix"&&G.instanceMatrix&&(ve=G.instanceMatrix),Y==="instanceColor"&&G.instanceColor&&(ve=G.instanceColor));const ye={};ye.attribute=ve,ve&&ve.data&&(ye.data=ve.data),W[Y]=ye,K++}c.attributes=W,c.attributesNum=K,c.index=V}function v(){const G=c.newAttributes;for(let k=0,ne=G.length;k=0){let me=W[F];if(me===void 0&&(F==="instanceMatrix"&&G.instanceMatrix&&(me=G.instanceMatrix),F==="instanceColor"&&G.instanceColor&&(me=G.instanceColor)),me!==void 0){const ve=me.normalized,ye=me.itemSize,Re=t.get(me);if(Re===void 0)continue;const Ie=Re.buffer,q=Re.type,ge=Re.bytesPerElement,ue=n.isWebGL2===!0&&(q===i.INT||q===i.UNSIGNED_INT||me.gpuType===Cl);if(me.isInterleavedBufferAttribute){const ie=me.data,P=ie.stride,Se=me.offset;if(ie.isInstancedInterleavedBuffer){for(let J=0;J0&&i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision>0)return"highp";b="mediump"}return b==="mediump"&&i.getShaderPrecisionFormat(i.VERTEX_SHADER,i.MEDIUM_FLOAT).precision>0&&i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const a=typeof WebGL2RenderingContext<"u"&&i.constructor.name==="WebGL2RenderingContext";let o=t.precision!==void 0?t.precision:"highp";const l=r(o);l!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",l,"instead."),o=l);const c=a||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,u=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),d=i.getParameter(i.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=i.getParameter(i.MAX_TEXTURE_SIZE),g=i.getParameter(i.MAX_CUBE_MAP_TEXTURE_SIZE),_=i.getParameter(i.MAX_VERTEX_ATTRIBS),m=i.getParameter(i.MAX_VERTEX_UNIFORM_VECTORS),f=i.getParameter(i.MAX_VARYING_VECTORS),y=i.getParameter(i.MAX_FRAGMENT_UNIFORM_VECTORS),v=d>0,T=a||e.has("OES_texture_float"),w=v&&T,C=a?i.getParameter(i.MAX_SAMPLES):0;return{isWebGL2:a,drawBuffers:c,getMaxAnisotropy:s,getMaxPrecision:r,precision:o,logarithmicDepthBuffer:h,maxTextures:u,maxVertexTextures:d,maxTextureSize:p,maxCubemapSize:g,maxAttributes:_,maxVertexUniforms:m,maxVaryings:f,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:T,floatVertexTextures:w,maxSamples:C}}function tp(i){const e=this;let t=null,n=0,s=!1,r=!1;const a=new vn,o=new ke,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(u,d){const p=u.length!==0||d||n!==0||s;return s=d,n=u.length,p},this.beginShadows=function(){r=!0,h(null)},this.endShadows=function(){r=!1},this.setGlobalState=function(u,d){t=h(u,d,0)},this.setState=function(u,d,p){const g=u.clippingPlanes,_=u.clipIntersection,m=u.clipShadows,f=i.get(u);if(!s||g===null||g.length===0||r&&!m)r?h(null):c();else{const y=r?0:n,v=y*4;let T=f.clippingState||null;l.value=T,T=h(g,d,v,p);for(let w=0;w!==v;++w)T[w]=t[w];f.clippingState=T,this.numIntersection=_?this.numPlanes:0,this.numPlanes+=y}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function h(u,d,p,g){const _=u!==null?u.length:0;let m=null;if(_!==0){if(m=l.value,g!==!0||m===null){const f=p+_*4,y=d.matrixWorldInverse;o.getNormalMatrix(y),(m===null||m.length0){const c=new mu(l.height/2);return c.fromEquirectangularTexture(i,a),e.set(a,c),a.addEventListener("dispose",s),t(c.texture,a.mapping)}else return null}}return a}function s(a){const o=a.target;o.removeEventListener("dispose",s);const l=e.get(o);l!==void 0&&(e.delete(o),l.dispose())}function r(){e=new WeakMap}return{get:n,dispose:r}}class na extends ta{constructor(e=-1,t=1,n=1,s=-1,r=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=s,this.near=r,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,s,r,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,s=(this.top+this.bottom)/2;let r=n-e,a=n+e,o=s+t,l=s-t;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=c*this.view.offsetX,a=r+c*this.view.width,o-=h*this.view.offsetY,l=o-h*this.view.height}this.projectionMatrix.makeOrthographic(r,a,o,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const fi=4,xo=[.125,.215,.35,.446,.526,.582],Un=20,Sr=new na,vo=new Pe;let yr=null;const Dn=(1+Math.sqrt(5))/2,ci=1/Dn,Mo=[new L(1,1,1),new L(-1,1,1),new L(1,1,-1),new L(-1,1,-1),new L(0,Dn,ci),new L(0,Dn,-ci),new L(ci,0,Dn),new L(-ci,0,Dn),new L(Dn,ci,0),new L(-Dn,ci,0)];class So{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,s=100){yr=this._renderer.getRenderTarget(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(e,n,s,r),t>0&&this._blur(r,0,0,t),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=To(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Eo(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?v:0,v,v),h.setRenderTarget(s),_&&h.render(g,o),h.render(e,o)}g.geometry.dispose(),g.material.dispose(),h.toneMapping=d,h.autoClear=u,e.background=m}_textureToCubeUV(e,t){const n=this._renderer,s=e.mapping===vi||e.mapping===Mi;s?(this._cubemapMaterial===null&&(this._cubemapMaterial=To()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Eo());const r=s?this._cubemapMaterial:this._equirectMaterial,a=new Pt(this._lodPlanes[0],r),o=r.uniforms;o.envMap.value=e;const l=this._cubeSize;Es(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,Sr)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let s=1;sUn&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${Un}`);const f=[];let y=0;for(let b=0;bv-fi?s-v+fi:0),C=4*(this._cubeSize-T);Es(t,w,C,3*T,2*T),l.setRenderTarget(t),l.render(u,Sr)}}function ip(i){const e=[],t=[],n=[];let s=i;const r=i-fi+1+xo.length;for(let a=0;ai-fi?l=xo[a-i+fi-1]:a===0&&(l=0),n.push(l);const c=1/(o-2),h=-c,u=1+c,d=[h,h,u,h,u,u,h,h,u,u,h,u],p=6,g=6,_=3,m=2,f=1,y=new Float32Array(_*g*p),v=new Float32Array(m*g*p),T=new Float32Array(f*g*p);for(let C=0;C2?0:-1,S=[b,O,0,b+2/3,O,0,b+2/3,O+1,0,b,O,0,b+2/3,O+1,0,b,O+1,0];y.set(S,_*g*C),v.set(d,m*g*C);const A=[C,C,C,C,C,C];T.set(A,f*g*C)}const w=new Ft;w.setAttribute("position",new Et(y,_)),w.setAttribute("uv",new Et(v,m)),w.setAttribute("faceIndex",new Et(T,f)),e.push(w),s>fi&&s--}return{lodPlanes:e,sizeLods:t,sigmas:n}}function yo(i,e,t){const n=new Gn(i,e,t);return n.texture.mapping=Fs,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function Es(i,e,t,n,s){i.viewport.set(e,t,n,s),i.scissor.set(e,t,n,s)}function sp(i,e,t){const n=new Float32Array(Un),s=new L(0,1,0);return new Vn({name:"SphericalGaussianBlur",defines:{n:Un,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${i}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:s}},vertexShader:ia(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + `,blending:yn,depthTest:!1,depthWrite:!1})}function Eo(){return new Vn({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:ia(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + + #include + + void main() { + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); + + } + `,blending:yn,depthTest:!1,depthWrite:!1})}function To(){return new Vn({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:ia(),fragmentShader:` + + precision mediump float; + precision mediump int; + + uniform float flipEnvMap; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + void main() { + + gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); + + } + `,blending:yn,depthTest:!1,depthWrite:!1})}function ia(){return` + + precision mediump float; + precision mediump int; + + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + `}function rp(i){let e=new WeakMap,t=null;function n(o){if(o&&o.isTexture){const l=o.mapping,c=l===Or||l===Fr,h=l===vi||l===Mi;if(c||h)if(o.isRenderTargetTexture&&o.needsPMREMUpdate===!0){o.needsPMREMUpdate=!1;let u=e.get(o);return t===null&&(t=new So(i)),u=c?t.fromEquirectangular(o,u):t.fromCubemap(o,u),e.set(o,u),u.texture}else{if(e.has(o))return e.get(o).texture;{const u=o.image;if(c&&u&&u.height>0||h&&u&&s(u)){t===null&&(t=new So(i));const d=c?t.fromEquirectangular(o):t.fromCubemap(o);return e.set(o,d),o.addEventListener("dispose",r),d.texture}else return null}}}return o}function s(o){let l=0;const c=6;for(let h=0;he.maxTextureSize&&(A=Math.ceil(S/e.maxTextureSize),S=e.maxTextureSize);const Q=new Float32Array(S*A*4*g),re=new kl(Q,S,A,g);re.type=hn,re.needsUpdate=!0;const z=O*4;for(let k=0;k0)return i;const s=e*t;let r=bo[s];if(r===void 0&&(r=new Float32Array(s),bo[s]=r),e!==0){n.toArray(r,0);for(let a=1,o=0;a!==e;++a)o+=t,i[a].toArray(r,o)}return r}function lt(i,e){if(i.length!==e.length)return!1;for(let t=0,n=i.length;t":" "} ${o}: ${t[a]}`)}return n.join(` +`)}function am(i){switch(i){case dt:return["Linear","( value )"];case Ye:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",i),["Linear","( value )"]}}function Io(i,e,t){const n=i.getShaderParameter(e,i.COMPILE_STATUS),s=i.getShaderInfoLog(e).trim();if(n&&s==="")return"";const r=/ERROR: 0:(\d+)/.exec(s);if(r){const a=parseInt(r[1]);return t.toUpperCase()+` + +`+s+` + +`+rm(i.getShaderSource(e),a)}else return s}function om(i,e){const t=am(e);return"vec4 "+i+"( vec4 value ) { return LinearTo"+t[0]+t[1]+"; }"}function lm(i,e){let t;switch(e){case th:t="Linear";break;case nh:t="Reinhard";break;case ih:t="OptimizedCineon";break;case sh:t="ACESFilmic";break;case rh:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+i+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function cm(i){return[i.extensionDerivatives||i.envMapCubeUVHeight||i.bumpMap||i.normalMapTangentSpace||i.clearcoatNormalMap||i.flatShading||i.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(i.extensionFragDepth||i.logarithmicDepthBuffer)&&i.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",i.extensionDrawBuffers&&i.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(i.extensionShaderTextureLOD||i.envMap||i.transmission)&&i.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Gi).join(` +`)}function hm(i){const e=[];for(const t in i){const n=i[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` +`)}function um(i,e){const t={},n=i.getProgramParameter(e,i.ACTIVE_ATTRIBUTES);for(let s=0;s/gm;function Vr(i){return i.replace(dm,pm)}const fm=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function pm(i,e){let t=He[e];if(t===void 0){const n=fm.get(e);if(n!==void 0)t=He[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return Vr(t)}const mm=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function No(i){return i.replace(mm,gm)}function gm(i,e,t,n){let s="";for(let r=parseInt(e);r0&&(m+=` +`),f=[p,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g].filter(Gi).join(` +`),f.length>0&&(f+=` +`)):(m=[Oo(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+h:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`].filter(Gi).join(` +`),f=[p,Oo(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+h:"",t.envMap?"#define "+u:"",d?"#define CUBEUV_TEXEL_WIDTH "+d.texelWidth:"",d?"#define CUBEUV_TEXEL_HEIGHT "+d.texelHeight:"",d?"#define CUBEUV_MAX_MIP "+d.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==En?"#define TONE_MAPPING":"",t.toneMapping!==En?He.tonemapping_pars_fragment:"",t.toneMapping!==En?lm("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",He.colorspace_pars_fragment,om("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Gi).join(` +`)),a=Vr(a),a=Do(a,t),a=Uo(a,t),o=Vr(o),o=Do(o,t),o=Uo(o,t),a=No(a),o=No(o),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(y=`#version 300 es +`,m=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+m,f=["#define varying in",t.glslVersion===to?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===to?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` +`)+` +`+f);const v=y+m+a,T=y+f+o,w=Po(s,s.VERTEX_SHADER,v),C=Po(s,s.FRAGMENT_SHADER,T);if(s.attachShader(_,w),s.attachShader(_,C),t.index0AttributeName!==void 0?s.bindAttribLocation(_,0,t.index0AttributeName):t.morphTargets===!0&&s.bindAttribLocation(_,0,"position"),s.linkProgram(_),i.debug.checkShaderErrors){const S=s.getProgramInfoLog(_).trim(),A=s.getShaderInfoLog(w).trim(),Q=s.getShaderInfoLog(C).trim();let re=!0,z=!0;if(s.getProgramParameter(_,s.LINK_STATUS)===!1)if(re=!1,typeof i.debug.onShaderError=="function")i.debug.onShaderError(s,_,w,C);else{const G=Io(s,w,"vertex"),k=Io(s,C,"fragment");console.error("THREE.WebGLProgram: Shader Error "+s.getError()+" - VALIDATE_STATUS "+s.getProgramParameter(_,s.VALIDATE_STATUS)+` + +Program Info Log: `+S+` +`+G+` +`+k)}else S!==""?console.warn("THREE.WebGLProgram: Program Info Log:",S):(A===""||Q==="")&&(z=!1);z&&(this.diagnostics={runnable:re,programLog:S,vertexShader:{log:A,prefix:m},fragmentShader:{log:Q,prefix:f}})}s.deleteShader(w),s.deleteShader(C);let b;this.getUniforms=function(){return b===void 0&&(b=new Is(s,_)),b};let O;return this.getAttributes=function(){return O===void 0&&(O=um(s,_)),O},this.destroy=function(){n.releaseStatesOfProgram(this),s.deleteProgram(_),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=sm++,this.cacheKey=e,this.usedTimes=1,this.program=_,this.vertexShader=w,this.fragmentShader=C,this}let Em=0;class Tm{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,s=this._getShaderStage(t),r=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(s)===!1&&(a.add(s),s.usedTimes++),a.has(r)===!1&&(a.add(r),r.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new bm(e),t.set(e,n)),n}}class bm{constructor(e){this.id=Em++,this.code=e,this.usedTimes=0}}function Am(i,e,t,n,s,r,a){const o=new Gl,l=new Tm,c=[],h=s.isWebGL2,u=s.logarithmicDepthBuffer,d=s.vertexTextures;let p=s.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function _(S){return S===0?"uv":`uv${S}`}function m(S,A,Q,re,z){const G=re.fog,k=z.geometry,ne=S.isMeshStandardMaterial?re.environment:null,V=(S.isMeshStandardMaterial?t:e).get(S.envMap||ne),W=V&&V.mapping===Fs?V.image.height:null,te=g[S.type];S.precision!==null&&(p=s.getMaxPrecision(S.precision),p!==S.precision&&console.warn("THREE.WebGLProgram.getParameters:",S.precision,"not supported, using",p,"instead."));const K=k.morphAttributes.position||k.morphAttributes.normal||k.morphAttributes.color,F=K!==void 0?K.length:0;let Y=0;k.morphAttributes.position!==void 0&&(Y=1),k.morphAttributes.normal!==void 0&&(Y=2),k.morphAttributes.color!==void 0&&(Y=3);let me,ve,ye,Re;if(te){const et=Yt[te];me=et.vertexShader,ve=et.fragmentShader}else me=S.vertexShader,ve=S.fragmentShader,l.update(S),ye=l.getVertexShaderID(S),Re=l.getFragmentShaderID(S);const Ie=i.getRenderTarget(),q=z.isInstancedMesh===!0,ge=!!S.map,ue=!!S.matcap,ie=!!V,P=!!S.aoMap,Se=!!S.lightMap,J=!!S.bumpMap,oe=!!S.normalMap,he=!!S.displacementMap,Le=!!S.emissiveMap,we=!!S.metalnessMap,le=!!S.roughnessMap,be=S.anisotropy>0,We=S.clearcoat>0,Ee=S.iridescence>0,M=S.sheen>0,x=S.transmission>0,D=be&&!!S.anisotropyMap,Z=We&&!!S.clearcoatMap,ee=We&&!!S.clearcoatNormalMap,ae=We&&!!S.clearcoatRoughnessMap,Te=Ee&&!!S.iridescenceMap,se=Ee&&!!S.iridescenceThicknessMap,B=M&&!!S.sheenColorMap,R=M&&!!S.sheenRoughnessMap,$=!!S.specularMap,Me=!!S.specularColorMap,fe=!!S.specularIntensityMap,xe=x&&!!S.transmissionMap,Fe=x&&!!S.thicknessMap,je=!!S.gradientMap,I=!!S.alphaMap,_e=S.alphaTest>0,H=!!S.alphaHash,ce=!!S.extensions,de=!!k.attributes.uv1,Ge=!!k.attributes.uv2,Ke=!!k.attributes.uv3;let Qe=En;return S.toneMapped&&(Ie===null||Ie.isXRRenderTarget===!0)&&(Qe=i.toneMapping),{isWebGL2:h,shaderID:te,shaderType:S.type,shaderName:S.name,vertexShader:me,fragmentShader:ve,defines:S.defines,customVertexShaderID:ye,customFragmentShaderID:Re,isRawShaderMaterial:S.isRawShaderMaterial===!0,glslVersion:S.glslVersion,precision:p,instancing:q,instancingColor:q&&z.instanceColor!==null,supportsVertexTextures:d,outputColorSpace:Ie===null?i.outputColorSpace:Ie.isXRRenderTarget===!0?Ie.texture.colorSpace:dt,map:ge,matcap:ue,envMap:ie,envMapMode:ie&&V.mapping,envMapCubeUVHeight:W,aoMap:P,lightMap:Se,bumpMap:J,normalMap:oe,displacementMap:d&&he,emissiveMap:Le,normalMapObjectSpace:oe&&S.normalMapType===vh,normalMapTangentSpace:oe&&S.normalMapType===Qr,metalnessMap:we,roughnessMap:le,anisotropy:be,anisotropyMap:D,clearcoat:We,clearcoatMap:Z,clearcoatNormalMap:ee,clearcoatRoughnessMap:ae,iridescence:Ee,iridescenceMap:Te,iridescenceThicknessMap:se,sheen:M,sheenColorMap:B,sheenRoughnessMap:R,specularMap:$,specularColorMap:Me,specularIntensityMap:fe,transmission:x,transmissionMap:xe,thicknessMap:Fe,gradientMap:je,opaque:S.transparent===!1&&S.blending===mi,alphaMap:I,alphaTest:_e,alphaHash:H,combine:S.combine,mapUv:ge&&_(S.map.channel),aoMapUv:P&&_(S.aoMap.channel),lightMapUv:Se&&_(S.lightMap.channel),bumpMapUv:J&&_(S.bumpMap.channel),normalMapUv:oe&&_(S.normalMap.channel),displacementMapUv:he&&_(S.displacementMap.channel),emissiveMapUv:Le&&_(S.emissiveMap.channel),metalnessMapUv:we&&_(S.metalnessMap.channel),roughnessMapUv:le&&_(S.roughnessMap.channel),anisotropyMapUv:D&&_(S.anisotropyMap.channel),clearcoatMapUv:Z&&_(S.clearcoatMap.channel),clearcoatNormalMapUv:ee&&_(S.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:ae&&_(S.clearcoatRoughnessMap.channel),iridescenceMapUv:Te&&_(S.iridescenceMap.channel),iridescenceThicknessMapUv:se&&_(S.iridescenceThicknessMap.channel),sheenColorMapUv:B&&_(S.sheenColorMap.channel),sheenRoughnessMapUv:R&&_(S.sheenRoughnessMap.channel),specularMapUv:$&&_(S.specularMap.channel),specularColorMapUv:Me&&_(S.specularColorMap.channel),specularIntensityMapUv:fe&&_(S.specularIntensityMap.channel),transmissionMapUv:xe&&_(S.transmissionMap.channel),thicknessMapUv:Fe&&_(S.thicknessMap.channel),alphaMapUv:I&&_(S.alphaMap.channel),vertexTangents:!!k.attributes.tangent&&(oe||be),vertexColors:S.vertexColors,vertexAlphas:S.vertexColors===!0&&!!k.attributes.color&&k.attributes.color.itemSize===4,vertexUv1s:de,vertexUv2s:Ge,vertexUv3s:Ke,pointsUvs:z.isPoints===!0&&!!k.attributes.uv&&(ge||I),fog:!!G,useFog:S.fog===!0,fogExp2:G&&G.isFogExp2,flatShading:S.flatShading===!0,sizeAttenuation:S.sizeAttenuation===!0,logarithmicDepthBuffer:u,skinning:z.isSkinnedMesh===!0,morphTargets:k.morphAttributes.position!==void 0,morphNormals:k.morphAttributes.normal!==void 0,morphColors:k.morphAttributes.color!==void 0,morphTargetsCount:F,morphTextureStride:Y,numDirLights:A.directional.length,numPointLights:A.point.length,numSpotLights:A.spot.length,numSpotLightMaps:A.spotLightMap.length,numRectAreaLights:A.rectArea.length,numHemiLights:A.hemi.length,numDirLightShadows:A.directionalShadowMap.length,numPointLightShadows:A.pointShadowMap.length,numSpotLightShadows:A.spotShadowMap.length,numSpotLightShadowsWithMaps:A.numSpotLightShadowsWithMaps,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:S.dithering,shadowMapEnabled:i.shadowMap.enabled&&Q.length>0,shadowMapType:i.shadowMap.type,toneMapping:Qe,useLegacyLights:i._useLegacyLights,decodeVideoTexture:ge&&S.map.isVideoTexture===!0&&S.map.colorSpace===Ye,premultipliedAlpha:S.premultipliedAlpha,doubleSided:S.side===Gt,flipSided:S.side===bt,useDepthPacking:S.depthPacking>=0,depthPacking:S.depthPacking||0,index0AttributeName:S.index0AttributeName,extensionDerivatives:ce&&S.extensions.derivatives===!0,extensionFragDepth:ce&&S.extensions.fragDepth===!0,extensionDrawBuffers:ce&&S.extensions.drawBuffers===!0,extensionShaderTextureLOD:ce&&S.extensions.shaderTextureLOD===!0,rendererExtensionFragDepth:h||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||n.has("EXT_shader_texture_lod"),customProgramCacheKey:S.customProgramCacheKey()}}function f(S){const A=[];if(S.shaderID?A.push(S.shaderID):(A.push(S.customVertexShaderID),A.push(S.customFragmentShaderID)),S.defines!==void 0)for(const Q in S.defines)A.push(Q),A.push(S.defines[Q]);return S.isRawShaderMaterial===!1&&(y(A,S),v(A,S),A.push(i.outputColorSpace)),A.push(S.customProgramCacheKey),A.join()}function y(S,A){S.push(A.precision),S.push(A.outputColorSpace),S.push(A.envMapMode),S.push(A.envMapCubeUVHeight),S.push(A.mapUv),S.push(A.alphaMapUv),S.push(A.lightMapUv),S.push(A.aoMapUv),S.push(A.bumpMapUv),S.push(A.normalMapUv),S.push(A.displacementMapUv),S.push(A.emissiveMapUv),S.push(A.metalnessMapUv),S.push(A.roughnessMapUv),S.push(A.anisotropyMapUv),S.push(A.clearcoatMapUv),S.push(A.clearcoatNormalMapUv),S.push(A.clearcoatRoughnessMapUv),S.push(A.iridescenceMapUv),S.push(A.iridescenceThicknessMapUv),S.push(A.sheenColorMapUv),S.push(A.sheenRoughnessMapUv),S.push(A.specularMapUv),S.push(A.specularColorMapUv),S.push(A.specularIntensityMapUv),S.push(A.transmissionMapUv),S.push(A.thicknessMapUv),S.push(A.combine),S.push(A.fogExp2),S.push(A.sizeAttenuation),S.push(A.morphTargetsCount),S.push(A.morphAttributeCount),S.push(A.numDirLights),S.push(A.numPointLights),S.push(A.numSpotLights),S.push(A.numSpotLightMaps),S.push(A.numHemiLights),S.push(A.numRectAreaLights),S.push(A.numDirLightShadows),S.push(A.numPointLightShadows),S.push(A.numSpotLightShadows),S.push(A.numSpotLightShadowsWithMaps),S.push(A.shadowMapType),S.push(A.toneMapping),S.push(A.numClippingPlanes),S.push(A.numClipIntersection),S.push(A.depthPacking)}function v(S,A){o.disableAll(),A.isWebGL2&&o.enable(0),A.supportsVertexTextures&&o.enable(1),A.instancing&&o.enable(2),A.instancingColor&&o.enable(3),A.matcap&&o.enable(4),A.envMap&&o.enable(5),A.normalMapObjectSpace&&o.enable(6),A.normalMapTangentSpace&&o.enable(7),A.clearcoat&&o.enable(8),A.iridescence&&o.enable(9),A.alphaTest&&o.enable(10),A.vertexColors&&o.enable(11),A.vertexAlphas&&o.enable(12),A.vertexUv1s&&o.enable(13),A.vertexUv2s&&o.enable(14),A.vertexUv3s&&o.enable(15),A.vertexTangents&&o.enable(16),A.anisotropy&&o.enable(17),S.push(o.mask),o.disableAll(),A.fog&&o.enable(0),A.useFog&&o.enable(1),A.flatShading&&o.enable(2),A.logarithmicDepthBuffer&&o.enable(3),A.skinning&&o.enable(4),A.morphTargets&&o.enable(5),A.morphNormals&&o.enable(6),A.morphColors&&o.enable(7),A.premultipliedAlpha&&o.enable(8),A.shadowMapEnabled&&o.enable(9),A.useLegacyLights&&o.enable(10),A.doubleSided&&o.enable(11),A.flipSided&&o.enable(12),A.useDepthPacking&&o.enable(13),A.dithering&&o.enable(14),A.transmission&&o.enable(15),A.sheen&&o.enable(16),A.opaque&&o.enable(17),A.pointsUvs&&o.enable(18),A.decodeVideoTexture&&o.enable(19),S.push(o.mask)}function T(S){const A=g[S.type];let Q;if(A){const re=Yt[A];Q=uu.clone(re.uniforms)}else Q=S.uniforms;return Q}function w(S,A){let Q;for(let re=0,z=c.length;re0?n.push(f):p.transparent===!0?s.push(f):t.push(f)}function l(u,d,p,g,_,m){const f=a(u,d,p,g,_,m);p.transmission>0?n.unshift(f):p.transparent===!0?s.unshift(f):t.unshift(f)}function c(u,d){t.length>1&&t.sort(u||Rm),n.length>1&&n.sort(d||Fo),s.length>1&&s.sort(d||Fo)}function h(){for(let u=e,d=i.length;u=r.length?(a=new Bo,r.push(a)):a=r[s],a}function t(){i=new WeakMap}return{get:e,dispose:t}}function Lm(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new L,color:new Pe};break;case"SpotLight":t={position:new L,direction:new L,color:new Pe,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new L,color:new Pe,distance:0,decay:0};break;case"HemisphereLight":t={direction:new L,skyColor:new Pe,groundColor:new Pe};break;case"RectAreaLight":t={color:new Pe,position:new L,halfWidth:new L,halfHeight:new L};break}return i[e.id]=t,t}}}function Pm(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ce};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ce};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ce,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}let Im=0;function Dm(i,e){return(e.castShadow?2:0)-(i.castShadow?2:0)+(e.map?1:0)-(i.map?1:0)}function Um(i,e){const t=new Lm,n=Pm(),s={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let h=0;h<9;h++)s.probe.push(new L);const r=new L,a=new Be,o=new Be;function l(h,u){let d=0,p=0,g=0;for(let Q=0;Q<9;Q++)s.probe[Q].set(0,0,0);let _=0,m=0,f=0,y=0,v=0,T=0,w=0,C=0,b=0,O=0;h.sort(Dm);const S=u===!0?Math.PI:1;for(let Q=0,re=h.length;Q0&&(e.isWebGL2||i.has("OES_texture_float_linear")===!0?(s.rectAreaLTC1=pe.LTC_FLOAT_1,s.rectAreaLTC2=pe.LTC_FLOAT_2):i.has("OES_texture_half_float_linear")===!0?(s.rectAreaLTC1=pe.LTC_HALF_1,s.rectAreaLTC2=pe.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),s.ambient[0]=d,s.ambient[1]=p,s.ambient[2]=g;const A=s.hash;(A.directionalLength!==_||A.pointLength!==m||A.spotLength!==f||A.rectAreaLength!==y||A.hemiLength!==v||A.numDirectionalShadows!==T||A.numPointShadows!==w||A.numSpotShadows!==C||A.numSpotMaps!==b)&&(s.directional.length=_,s.spot.length=f,s.rectArea.length=y,s.point.length=m,s.hemi.length=v,s.directionalShadow.length=T,s.directionalShadowMap.length=T,s.pointShadow.length=w,s.pointShadowMap.length=w,s.spotShadow.length=C,s.spotShadowMap.length=C,s.directionalShadowMatrix.length=T,s.pointShadowMatrix.length=w,s.spotLightMatrix.length=C+b-O,s.spotLightMap.length=b,s.numSpotLightShadowsWithMaps=O,A.directionalLength=_,A.pointLength=m,A.spotLength=f,A.rectAreaLength=y,A.hemiLength=v,A.numDirectionalShadows=T,A.numPointShadows=w,A.numSpotShadows=C,A.numSpotMaps=b,s.version=Im++)}function c(h,u){let d=0,p=0,g=0,_=0,m=0;const f=u.matrixWorldInverse;for(let y=0,v=h.length;y=o.length?(l=new zo(i,e),o.push(l)):l=o[a],l}function s(){t=new WeakMap}return{get:n,dispose:s}}class Om extends Wt{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=_h,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class Fm extends Wt{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const Bm=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,zm=`uniform sampler2D shadow_pass; +uniform vec2 resolution; +uniform float radius; +#include +void main() { + const float samples = float( VSM_SAMPLES ); + float mean = 0.0; + float squared_mean = 0.0; + float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); + float uvStart = samples <= 1.0 ? 0.0 : - 1.0; + for ( float i = 0.0; i < samples; i ++ ) { + float uvOffset = uvStart + i * uvStride; + #ifdef HORIZONTAL_PASS + vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); + mean += distribution.x; + squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; + #else + float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); + mean += depth; + squared_mean += depth * depth; + #endif + } + mean = mean / samples; + squared_mean = squared_mean / samples; + float std_dev = sqrt( squared_mean - mean * mean ); + gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); +}`;function Hm(i,e,t){let n=new Hs;const s=new Ce,r=new Ce,a=new $e,o=new Om({depthPacking:xh}),l=new Fm,c={},h=t.maxTextureSize,u={[dn]:bt,[bt]:dn,[Gt]:Gt},d=new Vn({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Ce},radius:{value:4}},vertexShader:Bm,fragmentShader:zm}),p=d.clone();p.defines.HORIZONTAL_PASS=1;const g=new Ft;g.setAttribute("position",new Et(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const _=new Pt(g,d),m=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Tl;let f=this.type;this.render=function(w,C,b){if(m.enabled===!1||m.autoUpdate===!1&&m.needsUpdate===!1||w.length===0)return;const O=i.getRenderTarget(),S=i.getActiveCubeFace(),A=i.getActiveMipmapLevel(),Q=i.state;Q.setBlending(yn),Q.buffers.color.setClear(1,1,1,1),Q.buffers.depth.setTest(!0),Q.setScissorTest(!1);const re=f!==cn&&this.type===cn,z=f===cn&&this.type!==cn;for(let G=0,k=w.length;Gh||s.y>h)&&(s.x>h&&(r.x=Math.floor(h/W.x),s.x=r.x*W.x,V.mapSize.x=r.x),s.y>h&&(r.y=Math.floor(h/W.y),s.y=r.y*W.y,V.mapSize.y=r.y)),V.map===null||re===!0||z===!0){const K=this.type!==cn?{minFilter:ut,magFilter:ut}:{};V.map!==null&&V.map.dispose(),V.map=new Gn(s.x,s.y,K),V.map.texture.name=ne.name+".shadowMap",V.camera.updateProjectionMatrix()}i.setRenderTarget(V.map),i.clear();const te=V.getViewportCount();for(let K=0;K0||C.map&&C.alphaTest>0){const Q=S.uuid,re=C.uuid;let z=c[Q];z===void 0&&(z={},c[Q]=z);let G=z[re];G===void 0&&(G=S.clone(),z[re]=G),S=G}if(S.visible=C.visible,S.wireframe=C.wireframe,O===cn?S.side=C.shadowSide!==null?C.shadowSide:C.side:S.side=C.shadowSide!==null?C.shadowSide:u[C.side],S.alphaMap=C.alphaMap,S.alphaTest=C.alphaTest,S.map=C.map,S.clipShadows=C.clipShadows,S.clippingPlanes=C.clippingPlanes,S.clipIntersection=C.clipIntersection,S.displacementMap=C.displacementMap,S.displacementScale=C.displacementScale,S.displacementBias=C.displacementBias,S.wireframeLinewidth=C.wireframeLinewidth,S.linewidth=C.linewidth,b.isPointLight===!0&&S.isMeshDistanceMaterial===!0){const Q=i.properties.get(S);Q.light=b}return S}function T(w,C,b,O,S){if(w.visible===!1)return;if(w.layers.test(C.layers)&&(w.isMesh||w.isLine||w.isPoints)&&(w.castShadow||w.receiveShadow&&S===cn)&&(!w.frustumCulled||n.intersectsObject(w))){w.modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,w.matrixWorld);const re=e.update(w),z=w.material;if(Array.isArray(z)){const G=re.groups;for(let k=0,ne=G.length;k=1):W.indexOf("OpenGL ES")!==-1&&(V=parseFloat(/^OpenGL ES (\d)/.exec(W)[1]),ne=V>=2);let te=null,K={};const F=i.getParameter(i.SCISSOR_BOX),Y=i.getParameter(i.VIEWPORT),me=new $e().fromArray(F),ve=new $e().fromArray(Y);function ye(I,_e,H,ce){const de=new Uint8Array(4),Ge=i.createTexture();i.bindTexture(I,Ge),i.texParameteri(I,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(I,i.TEXTURE_MAG_FILTER,i.NEAREST);for(let Ke=0;Ke"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let _;const m=new WeakMap;let f=!1;try{f=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(M,x){return f?new OffscreenCanvas(M,x):Zi("canvas")}function v(M,x,D,Z){let ee=1;if((M.width>Z||M.height>Z)&&(ee=Z/Math.max(M.width,M.height)),ee<1||x===!0)if(typeof HTMLImageElement<"u"&&M instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&M instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&M instanceof ImageBitmap){const ae=x?Ns:Math.floor,Te=ae(ee*M.width),se=ae(ee*M.height);_===void 0&&(_=y(Te,se));const B=D?y(Te,se):_;return B.width=Te,B.height=se,B.getContext("2d").drawImage(M,0,0,Te,se),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+M.width+"x"+M.height+") to ("+Te+"x"+se+")."),B}else return"data"in M&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+M.width+"x"+M.height+")."),M;return M}function T(M){return Gr(M.width)&&Gr(M.height)}function w(M){return o?!1:M.wrapS!==Nt||M.wrapT!==Nt||M.minFilter!==ut&&M.minFilter!==Tt}function C(M,x){return M.generateMipmaps&&x&&M.minFilter!==ut&&M.minFilter!==Tt}function b(M){i.generateMipmap(M)}function O(M,x,D,Z,ee=!1){if(o===!1)return x;if(M!==null){if(i[M]!==void 0)return i[M];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+M+"'")}let ae=x;return x===i.RED&&(D===i.FLOAT&&(ae=i.R32F),D===i.HALF_FLOAT&&(ae=i.R16F),D===i.UNSIGNED_BYTE&&(ae=i.R8)),x===i.RED_INTEGER&&(D===i.UNSIGNED_BYTE&&(ae=i.R8UI),D===i.UNSIGNED_SHORT&&(ae=i.R16UI),D===i.UNSIGNED_INT&&(ae=i.R32UI),D===i.BYTE&&(ae=i.R8I),D===i.SHORT&&(ae=i.R16I),D===i.INT&&(ae=i.R32I)),x===i.RG&&(D===i.FLOAT&&(ae=i.RG32F),D===i.HALF_FLOAT&&(ae=i.RG16F),D===i.UNSIGNED_BYTE&&(ae=i.RG8)),x===i.RGBA&&(D===i.FLOAT&&(ae=i.RGBA32F),D===i.HALF_FLOAT&&(ae=i.RGBA16F),D===i.UNSIGNED_BYTE&&(ae=Z===Ye&&ee===!1?i.SRGB8_ALPHA8:i.RGBA8),D===i.UNSIGNED_SHORT_4_4_4_4&&(ae=i.RGBA4),D===i.UNSIGNED_SHORT_5_5_5_1&&(ae=i.RGB5_A1)),(ae===i.R16F||ae===i.R32F||ae===i.RG16F||ae===i.RG32F||ae===i.RGBA16F||ae===i.RGBA32F)&&e.get("EXT_color_buffer_float"),ae}function S(M,x,D){return C(M,D)===!0||M.isFramebufferTexture&&M.minFilter!==ut&&M.minFilter!==Tt?Math.log2(Math.max(x.width,x.height))+1:M.mipmaps!==void 0&&M.mipmaps.length>0?M.mipmaps.length:M.isCompressedTexture&&Array.isArray(M.image)?x.mipmaps.length:1}function A(M){return M===ut||M===Br||M===Ps?i.NEAREST:i.LINEAR}function Q(M){const x=M.target;x.removeEventListener("dispose",Q),z(x),x.isVideoTexture&&g.delete(x)}function re(M){const x=M.target;x.removeEventListener("dispose",re),k(x)}function z(M){const x=n.get(M);if(x.__webglInit===void 0)return;const D=M.source,Z=m.get(D);if(Z){const ee=Z[x.__cacheKey];ee.usedTimes--,ee.usedTimes===0&&G(M),Object.keys(Z).length===0&&m.delete(D)}n.remove(M)}function G(M){const x=n.get(M);i.deleteTexture(x.__webglTexture);const D=M.source,Z=m.get(D);delete Z[x.__cacheKey],a.memory.textures--}function k(M){const x=M.texture,D=n.get(M),Z=n.get(x);if(Z.__webglTexture!==void 0&&(i.deleteTexture(Z.__webglTexture),a.memory.textures--),M.depthTexture&&M.depthTexture.dispose(),M.isWebGLCubeRenderTarget)for(let ee=0;ee<6;ee++){if(Array.isArray(D.__webglFramebuffer[ee]))for(let ae=0;ae=l&&console.warn("THREE.WebGLTextures: Trying to use "+M+" texture units while this GPU supports only "+l),ne+=1,M}function te(M){const x=[];return x.push(M.wrapS),x.push(M.wrapT),x.push(M.wrapR||0),x.push(M.magFilter),x.push(M.minFilter),x.push(M.anisotropy),x.push(M.internalFormat),x.push(M.format),x.push(M.type),x.push(M.generateMipmaps),x.push(M.premultiplyAlpha),x.push(M.flipY),x.push(M.unpackAlignment),x.push(M.colorSpace),x.join()}function K(M,x){const D=n.get(M);if(M.isVideoTexture&&We(M),M.isRenderTargetTexture===!1&&M.version>0&&D.__version!==M.version){const Z=M.image;if(Z===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Z.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ge(D,M,x);return}}t.bindTexture(i.TEXTURE_2D,D.__webglTexture,i.TEXTURE0+x)}function F(M,x){const D=n.get(M);if(M.version>0&&D.__version!==M.version){ge(D,M,x);return}t.bindTexture(i.TEXTURE_2D_ARRAY,D.__webglTexture,i.TEXTURE0+x)}function Y(M,x){const D=n.get(M);if(M.version>0&&D.__version!==M.version){ge(D,M,x);return}t.bindTexture(i.TEXTURE_3D,D.__webglTexture,i.TEXTURE0+x)}function me(M,x){const D=n.get(M);if(M.version>0&&D.__version!==M.version){ue(D,M,x);return}t.bindTexture(i.TEXTURE_CUBE_MAP,D.__webglTexture,i.TEXTURE0+x)}const ve={[Si]:i.REPEAT,[Nt]:i.CLAMP_TO_EDGE,[Ds]:i.MIRRORED_REPEAT},ye={[ut]:i.NEAREST,[Br]:i.NEAREST_MIPMAP_NEAREST,[Ps]:i.NEAREST_MIPMAP_LINEAR,[Tt]:i.LINEAR,[Rl]:i.LINEAR_MIPMAP_NEAREST,[kn]:i.LINEAR_MIPMAP_LINEAR},Re={[Sh]:i.NEVER,[Rh]:i.ALWAYS,[yh]:i.LESS,[Th]:i.LEQUAL,[Eh]:i.EQUAL,[wh]:i.GEQUAL,[bh]:i.GREATER,[Ah]:i.NOTEQUAL};function Ie(M,x,D){if(D?(i.texParameteri(M,i.TEXTURE_WRAP_S,ve[x.wrapS]),i.texParameteri(M,i.TEXTURE_WRAP_T,ve[x.wrapT]),(M===i.TEXTURE_3D||M===i.TEXTURE_2D_ARRAY)&&i.texParameteri(M,i.TEXTURE_WRAP_R,ve[x.wrapR]),i.texParameteri(M,i.TEXTURE_MAG_FILTER,ye[x.magFilter]),i.texParameteri(M,i.TEXTURE_MIN_FILTER,ye[x.minFilter])):(i.texParameteri(M,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(M,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),(M===i.TEXTURE_3D||M===i.TEXTURE_2D_ARRAY)&&i.texParameteri(M,i.TEXTURE_WRAP_R,i.CLAMP_TO_EDGE),(x.wrapS!==Nt||x.wrapT!==Nt)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),i.texParameteri(M,i.TEXTURE_MAG_FILTER,A(x.magFilter)),i.texParameteri(M,i.TEXTURE_MIN_FILTER,A(x.minFilter)),x.minFilter!==ut&&x.minFilter!==Tt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),x.compareFunction&&(i.texParameteri(M,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE),i.texParameteri(M,i.TEXTURE_COMPARE_FUNC,Re[x.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Z=e.get("EXT_texture_filter_anisotropic");if(x.magFilter===ut||x.minFilter!==Ps&&x.minFilter!==kn||x.type===hn&&e.has("OES_texture_float_linear")===!1||o===!1&&x.type===Yi&&e.has("OES_texture_half_float_linear")===!1)return;(x.anisotropy>1||n.get(x).__currentAnisotropy)&&(i.texParameterf(M,Z.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(x.anisotropy,s.getMaxAnisotropy())),n.get(x).__currentAnisotropy=x.anisotropy)}}function q(M,x){let D=!1;M.__webglInit===void 0&&(M.__webglInit=!0,x.addEventListener("dispose",Q));const Z=x.source;let ee=m.get(Z);ee===void 0&&(ee={},m.set(Z,ee));const ae=te(x);if(ae!==M.__cacheKey){ee[ae]===void 0&&(ee[ae]={texture:i.createTexture(),usedTimes:0},a.memory.textures++,D=!0),ee[ae].usedTimes++;const Te=ee[M.__cacheKey];Te!==void 0&&(ee[M.__cacheKey].usedTimes--,Te.usedTimes===0&&G(x)),M.__cacheKey=ae,M.__webglTexture=ee[ae].texture}return D}function ge(M,x,D){let Z=i.TEXTURE_2D;(x.isDataArrayTexture||x.isCompressedArrayTexture)&&(Z=i.TEXTURE_2D_ARRAY),x.isData3DTexture&&(Z=i.TEXTURE_3D);const ee=q(M,x),ae=x.source;t.bindTexture(Z,M.__webglTexture,i.TEXTURE0+D);const Te=n.get(ae);if(ae.version!==Te.__version||ee===!0){t.activeTexture(i.TEXTURE0+D),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,x.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,x.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,i.NONE);const se=w(x)&&T(x.image)===!1;let B=v(x.image,se,!1,h);B=Ee(x,B);const R=T(B)||o,$=r.convert(x.format,x.colorSpace);let Me=r.convert(x.type),fe=O(x.internalFormat,$,Me,x.colorSpace,x.isVideoTexture);Ie(Z,x,R);let xe;const Fe=x.mipmaps,je=o&&x.isVideoTexture!==!0,I=Te.__version===void 0||ee===!0,_e=S(x,B,R);if(x.isDepthTexture)fe=i.DEPTH_COMPONENT,o?x.type===hn?fe=i.DEPTH_COMPONENT32F:x.type===Sn?fe=i.DEPTH_COMPONENT24:x.type===Fn?fe=i.DEPTH24_STENCIL8:fe=i.DEPTH_COMPONENT16:x.type===hn&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),x.format===Bn&&fe===i.DEPTH_COMPONENT&&x.type!==Jr&&x.type!==Sn&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),x.type=Sn,Me=r.convert(x.type)),x.format===yi&&fe===i.DEPTH_COMPONENT&&(fe=i.DEPTH_STENCIL,x.type!==Fn&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),x.type=Fn,Me=r.convert(x.type))),I&&(je?t.texStorage2D(i.TEXTURE_2D,1,fe,B.width,B.height):t.texImage2D(i.TEXTURE_2D,0,fe,B.width,B.height,0,$,Me,null));else if(x.isDataTexture)if(Fe.length>0&&R){je&&I&&t.texStorage2D(i.TEXTURE_2D,_e,fe,Fe[0].width,Fe[0].height);for(let H=0,ce=Fe.length;H>=1,ce>>=1}}else if(Fe.length>0&&R){je&&I&&t.texStorage2D(i.TEXTURE_2D,_e,fe,Fe[0].width,Fe[0].height);for(let H=0,ce=Fe.length;H0&&I++,t.texStorage2D(i.TEXTURE_CUBE_MAP,I,xe,B[0].width,B[0].height));for(let H=0;H<6;H++)if(se){Fe?t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,0,0,0,B[H].width,B[H].height,Me,fe,B[H].data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,0,xe,B[H].width,B[H].height,0,Me,fe,B[H].data);for(let ce=0;ce<_e.length;ce++){const Ge=_e[ce].image[H].image;Fe?t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,ce+1,0,0,Ge.width,Ge.height,Me,fe,Ge.data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,ce+1,xe,Ge.width,Ge.height,0,Me,fe,Ge.data)}}else{Fe?t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,0,0,0,Me,fe,B[H]):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,0,xe,Me,fe,B[H]);for(let ce=0;ce<_e.length;ce++){const de=_e[ce];Fe?t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,ce+1,0,0,Me,fe,de.image[H]):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+H,ce+1,xe,Me,fe,de.image[H])}}}C(x,$)&&b(i.TEXTURE_CUBE_MAP),ae.__version=ee.version,x.onUpdate&&x.onUpdate(x)}M.__version=x.version}function ie(M,x,D,Z,ee,ae){const Te=r.convert(D.format,D.colorSpace),se=r.convert(D.type),B=O(D.internalFormat,Te,se,D.colorSpace);if(!n.get(x).__hasExternalTextures){const $=Math.max(1,x.width>>ae),Me=Math.max(1,x.height>>ae);ee===i.TEXTURE_3D||ee===i.TEXTURE_2D_ARRAY?t.texImage3D(ee,ae,B,$,Me,x.depth,0,Te,se,null):t.texImage2D(ee,ae,B,$,Me,0,Te,se,null)}t.bindFramebuffer(i.FRAMEBUFFER,M),be(x)?d.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER,Z,ee,n.get(D).__webglTexture,0,le(x)):(ee===i.TEXTURE_2D||ee>=i.TEXTURE_CUBE_MAP_POSITIVE_X&&ee<=i.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&i.framebufferTexture2D(i.FRAMEBUFFER,Z,ee,n.get(D).__webglTexture,ae),t.bindFramebuffer(i.FRAMEBUFFER,null)}function P(M,x,D){if(i.bindRenderbuffer(i.RENDERBUFFER,M),x.depthBuffer&&!x.stencilBuffer){let Z=i.DEPTH_COMPONENT16;if(D||be(x)){const ee=x.depthTexture;ee&&ee.isDepthTexture&&(ee.type===hn?Z=i.DEPTH_COMPONENT32F:ee.type===Sn&&(Z=i.DEPTH_COMPONENT24));const ae=le(x);be(x)?d.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,ae,Z,x.width,x.height):i.renderbufferStorageMultisample(i.RENDERBUFFER,ae,Z,x.width,x.height)}else i.renderbufferStorage(i.RENDERBUFFER,Z,x.width,x.height);i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,M)}else if(x.depthBuffer&&x.stencilBuffer){const Z=le(x);D&&be(x)===!1?i.renderbufferStorageMultisample(i.RENDERBUFFER,Z,i.DEPTH24_STENCIL8,x.width,x.height):be(x)?d.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,Z,i.DEPTH24_STENCIL8,x.width,x.height):i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,x.width,x.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,M)}else{const Z=x.isWebGLMultipleRenderTargets===!0?x.texture:[x.texture];for(let ee=0;ee0){D.__webglFramebuffer[se]=[];for(let B=0;B0){D.__webglFramebuffer=[];for(let se=0;se0&&be(M)===!1){const se=ae?x:[x];D.__webglMultisampledFramebuffer=i.createFramebuffer(),D.__webglColorRenderbuffer=[],t.bindFramebuffer(i.FRAMEBUFFER,D.__webglMultisampledFramebuffer);for(let B=0;B0)for(let B=0;B0)for(let B=0;B0&&be(M)===!1){const x=M.isWebGLMultipleRenderTargets?M.texture:[M.texture],D=M.width,Z=M.height;let ee=i.COLOR_BUFFER_BIT;const ae=[],Te=M.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,se=n.get(M),B=M.isWebGLMultipleRenderTargets===!0;if(B)for(let R=0;R0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&x.__useRenderToTexture!==!1}function We(M){const x=a.render.frame;g.get(M)!==x&&(g.set(M,x),M.update())}function Ee(M,x){const D=M.colorSpace,Z=M.format,ee=M.type;return M.isCompressedTexture===!0||M.isVideoTexture===!0||M.format===kr||D!==dt&&D!==Hn&&(D===Ye||D===Bs?o===!1?e.has("EXT_sRGB")===!0&&Z===Ot?(M.format=kr,M.minFilter=Tt,M.generateMipmaps=!1):x=zl.sRGBToLinear(x):(Z!==Ot||ee!==Tn)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",D)),x}this.allocateTextureUnit=W,this.resetTextureUnits=V,this.setTexture2D=K,this.setTexture2DArray=F,this.setTexture3D=Y,this.setTextureCube=me,this.rebindTextures=oe,this.setupRenderTarget=he,this.updateRenderTargetMipmap=Le,this.updateMultisampleRenderTarget=we,this.setupDepthRenderbuffer=J,this.setupFrameBufferTexture=ie,this.useMultisampledRTT=be}const Vm=0,ot=1;function Wm(i,e,t){const n=t.isWebGL2;function s(r,a=Hn){let o;const l=a===Ye||a===Bs?ot:Vm;if(r===Tn)return i.UNSIGNED_BYTE;if(r===Ll)return i.UNSIGNED_SHORT_4_4_4_4;if(r===Pl)return i.UNSIGNED_SHORT_5_5_5_1;if(r===ah)return i.BYTE;if(r===oh)return i.SHORT;if(r===Jr)return i.UNSIGNED_SHORT;if(r===Cl)return i.INT;if(r===Sn)return i.UNSIGNED_INT;if(r===hn)return i.FLOAT;if(r===Yi)return n?i.HALF_FLOAT:(o=e.get("OES_texture_half_float"),o!==null?o.HALF_FLOAT_OES:null);if(r===lh)return i.ALPHA;if(r===Ot)return i.RGBA;if(r===ch)return i.LUMINANCE;if(r===hh)return i.LUMINANCE_ALPHA;if(r===Bn)return i.DEPTH_COMPONENT;if(r===yi)return i.DEPTH_STENCIL;if(r===kr)return o=e.get("EXT_sRGB"),o!==null?o.SRGB_ALPHA_EXT:null;if(r===uh)return i.RED;if(r===Il)return i.RED_INTEGER;if(r===dh)return i.RG;if(r===Dl)return i.RG_INTEGER;if(r===Ul)return i.RGBA_INTEGER;if(r===$s||r===Js||r===Qs||r===er)if(l===ot)if(o=e.get("WEBGL_compressed_texture_s3tc_srgb"),o!==null){if(r===$s)return o.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===Js)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===Qs)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===er)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(o=e.get("WEBGL_compressed_texture_s3tc"),o!==null){if(r===$s)return o.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===Js)return o.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===Qs)return o.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===er)return o.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===wa||r===Ra||r===Ca||r===La)if(o=e.get("WEBGL_compressed_texture_pvrtc"),o!==null){if(r===wa)return o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===Ra)return o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===Ca)return o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===La)return o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===fh)return o=e.get("WEBGL_compressed_texture_etc1"),o!==null?o.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===Pa||r===Ia)if(o=e.get("WEBGL_compressed_texture_etc"),o!==null){if(r===Pa)return l===ot?o.COMPRESSED_SRGB8_ETC2:o.COMPRESSED_RGB8_ETC2;if(r===Ia)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:o.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===Da||r===Ua||r===Na||r===Oa||r===Fa||r===Ba||r===za||r===Ha||r===ka||r===Ga||r===Va||r===Wa||r===Xa||r===ja)if(o=e.get("WEBGL_compressed_texture_astc"),o!==null){if(r===Da)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:o.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===Ua)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:o.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===Na)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:o.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===Oa)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:o.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===Fa)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:o.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Ba)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:o.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===za)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:o.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===Ha)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:o.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===ka)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:o.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===Ga)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:o.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===Va)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:o.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Wa)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:o.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===Xa)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:o.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===ja)return l===ot?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:o.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===tr||r===qa||r===Ya)if(o=e.get("EXT_texture_compression_bptc"),o!==null){if(r===tr)return l===ot?o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:o.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===qa)return o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===Ya)return o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===ph||r===Ka||r===Za||r===$a)if(o=e.get("EXT_texture_compression_rgtc"),o!==null){if(r===tr)return o.COMPRESSED_RED_RGTC1_EXT;if(r===Ka)return o.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===Za)return o.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===$a)return o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Fn?n?i.UNSIGNED_INT_24_8:(o=e.get("WEBGL_depth_texture"),o!==null?o.UNSIGNED_INT_24_8_WEBGL:null):i[r]!==void 0?i[r]:null}return{convert:s}}class Xm extends yt{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let On=class extends tt{constructor(){super(),this.isGroup=!0,this.type="Group"}};const jm={type:"move"};class Tr{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new On,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new On,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new L,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new L),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new On,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new L,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new L),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let s=null,r=null,a=null;const o=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const _ of e.hand.values()){const m=t.getJointPose(_,n),f=this._getHandJoint(c,_);m!==null&&(f.matrix.fromArray(m.transform.matrix),f.matrix.decompose(f.position,f.rotation,f.scale),f.matrixWorldNeedsUpdate=!0,f.jointRadius=m.radius),f.visible=m!==null}const h=c.joints["index-finger-tip"],u=c.joints["thumb-tip"],d=h.position.distanceTo(u.position),p=.02,g=.005;c.inputState.pinching&&d>p+g?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&d<=p-g&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(r=t.getPose(e.gripSpace,n),r!==null&&(l.matrix.fromArray(r.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,r.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(r.linearVelocity)):l.hasLinearVelocity=!1,r.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(r.angularVelocity)):l.hasAngularVelocity=!1));o!==null&&(s=t.getPose(e.targetRaySpace,n),s===null&&r!==null&&(s=r),s!==null&&(o.matrix.fromArray(s.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,s.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(s.linearVelocity)):o.hasLinearVelocity=!1,s.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(s.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(jm)))}return o!==null&&(o.visible=s!==null),l!==null&&(l.visible=r!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new On;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class qm extends pt{constructor(e,t,n,s,r,a,o,l,c,h){if(h=h!==void 0?h:Bn,h!==Bn&&h!==yi)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&h===Bn&&(n=Sn),n===void 0&&h===yi&&(n=Fn),super(null,s,r,a,o,l,h,n,c),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=o!==void 0?o:ut,this.minFilter=l!==void 0?l:ut,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class Ym extends Xn{constructor(e,t){super();const n=this;let s=null,r=1,a=null,o="local-floor",l=1,c=null,h=null,u=null,d=null,p=null,g=null;const _=t.getContextAttributes();let m=null,f=null;const y=[],v=[],T=new yt;T.layers.enable(1),T.viewport=new $e;const w=new yt;w.layers.enable(2),w.viewport=new $e;const C=[T,w],b=new Xm;b.layers.enable(1),b.layers.enable(2);let O=null,S=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(F){let Y=y[F];return Y===void 0&&(Y=new Tr,y[F]=Y),Y.getTargetRaySpace()},this.getControllerGrip=function(F){let Y=y[F];return Y===void 0&&(Y=new Tr,y[F]=Y),Y.getGripSpace()},this.getHand=function(F){let Y=y[F];return Y===void 0&&(Y=new Tr,y[F]=Y),Y.getHandSpace()};function A(F){const Y=v.indexOf(F.inputSource);if(Y===-1)return;const me=y[Y];me!==void 0&&(me.update(F.inputSource,F.frame,c||a),me.dispatchEvent({type:F.type,data:F.inputSource}))}function Q(){s.removeEventListener("select",A),s.removeEventListener("selectstart",A),s.removeEventListener("selectend",A),s.removeEventListener("squeeze",A),s.removeEventListener("squeezestart",A),s.removeEventListener("squeezeend",A),s.removeEventListener("end",Q),s.removeEventListener("inputsourceschange",re);for(let F=0;F=0&&(v[ve]=null,y[ve].disconnect(me))}for(let Y=0;Y=v.length){v.push(me),ve=Re;break}else if(v[Re]===null){v[Re]=me,ve=Re;break}if(ve===-1)break}const ye=y[ve];ye&&ye.connect(me)}}const z=new L,G=new L;function k(F,Y,me){z.setFromMatrixPosition(Y.matrixWorld),G.setFromMatrixPosition(me.matrixWorld);const ve=z.distanceTo(G),ye=Y.projectionMatrix.elements,Re=me.projectionMatrix.elements,Ie=ye[14]/(ye[10]-1),q=ye[14]/(ye[10]+1),ge=(ye[9]+1)/ye[5],ue=(ye[9]-1)/ye[5],ie=(ye[8]-1)/ye[0],P=(Re[8]+1)/Re[0],Se=Ie*ie,J=Ie*P,oe=ve/(-ie+P),he=oe*-ie;Y.matrixWorld.decompose(F.position,F.quaternion,F.scale),F.translateX(he),F.translateZ(oe),F.matrixWorld.compose(F.position,F.quaternion,F.scale),F.matrixWorldInverse.copy(F.matrixWorld).invert();const Le=Ie+oe,we=q+oe,le=Se-he,be=J+(ve-he),We=ge*q/we*Le,Ee=ue*q/we*Le;F.projectionMatrix.makePerspective(le,be,We,Ee,Le,we),F.projectionMatrixInverse.copy(F.projectionMatrix).invert()}function ne(F,Y){Y===null?F.matrixWorld.copy(F.matrix):F.matrixWorld.multiplyMatrices(Y.matrixWorld,F.matrix),F.matrixWorldInverse.copy(F.matrixWorld).invert()}this.updateCamera=function(F){if(s===null)return;b.near=w.near=T.near=F.near,b.far=w.far=T.far=F.far,(O!==b.near||S!==b.far)&&(s.updateRenderState({depthNear:b.near,depthFar:b.far}),O=b.near,S=b.far);const Y=F.parent,me=b.cameras;ne(b,Y);for(let ve=0;ve0&&(m.alphaTest.value=f.alphaTest);const y=e.get(f).envMap;if(y&&(m.envMap.value=y,m.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,m.reflectivity.value=f.reflectivity,m.ior.value=f.ior,m.refractionRatio.value=f.refractionRatio),f.lightMap){m.lightMap.value=f.lightMap;const v=i._useLegacyLights===!0?Math.PI:1;m.lightMapIntensity.value=f.lightMapIntensity*v,t(f.lightMap,m.lightMapTransform)}f.aoMap&&(m.aoMap.value=f.aoMap,m.aoMapIntensity.value=f.aoMapIntensity,t(f.aoMap,m.aoMapTransform))}function a(m,f){m.diffuse.value.copy(f.color),m.opacity.value=f.opacity,f.map&&(m.map.value=f.map,t(f.map,m.mapTransform))}function o(m,f){m.dashSize.value=f.dashSize,m.totalSize.value=f.dashSize+f.gapSize,m.scale.value=f.scale}function l(m,f,y,v){m.diffuse.value.copy(f.color),m.opacity.value=f.opacity,m.size.value=f.size*y,m.scale.value=v*.5,f.map&&(m.map.value=f.map,t(f.map,m.uvTransform)),f.alphaMap&&(m.alphaMap.value=f.alphaMap,t(f.alphaMap,m.alphaMapTransform)),f.alphaTest>0&&(m.alphaTest.value=f.alphaTest)}function c(m,f){m.diffuse.value.copy(f.color),m.opacity.value=f.opacity,m.rotation.value=f.rotation,f.map&&(m.map.value=f.map,t(f.map,m.mapTransform)),f.alphaMap&&(m.alphaMap.value=f.alphaMap,t(f.alphaMap,m.alphaMapTransform)),f.alphaTest>0&&(m.alphaTest.value=f.alphaTest)}function h(m,f){m.specular.value.copy(f.specular),m.shininess.value=Math.max(f.shininess,1e-4)}function u(m,f){f.gradientMap&&(m.gradientMap.value=f.gradientMap)}function d(m,f){m.metalness.value=f.metalness,f.metalnessMap&&(m.metalnessMap.value=f.metalnessMap,t(f.metalnessMap,m.metalnessMapTransform)),m.roughness.value=f.roughness,f.roughnessMap&&(m.roughnessMap.value=f.roughnessMap,t(f.roughnessMap,m.roughnessMapTransform)),e.get(f).envMap&&(m.envMapIntensity.value=f.envMapIntensity)}function p(m,f,y){m.ior.value=f.ior,f.sheen>0&&(m.sheenColor.value.copy(f.sheenColor).multiplyScalar(f.sheen),m.sheenRoughness.value=f.sheenRoughness,f.sheenColorMap&&(m.sheenColorMap.value=f.sheenColorMap,t(f.sheenColorMap,m.sheenColorMapTransform)),f.sheenRoughnessMap&&(m.sheenRoughnessMap.value=f.sheenRoughnessMap,t(f.sheenRoughnessMap,m.sheenRoughnessMapTransform))),f.clearcoat>0&&(m.clearcoat.value=f.clearcoat,m.clearcoatRoughness.value=f.clearcoatRoughness,f.clearcoatMap&&(m.clearcoatMap.value=f.clearcoatMap,t(f.clearcoatMap,m.clearcoatMapTransform)),f.clearcoatRoughnessMap&&(m.clearcoatRoughnessMap.value=f.clearcoatRoughnessMap,t(f.clearcoatRoughnessMap,m.clearcoatRoughnessMapTransform)),f.clearcoatNormalMap&&(m.clearcoatNormalMap.value=f.clearcoatNormalMap,t(f.clearcoatNormalMap,m.clearcoatNormalMapTransform),m.clearcoatNormalScale.value.copy(f.clearcoatNormalScale),f.side===bt&&m.clearcoatNormalScale.value.negate())),f.iridescence>0&&(m.iridescence.value=f.iridescence,m.iridescenceIOR.value=f.iridescenceIOR,m.iridescenceThicknessMinimum.value=f.iridescenceThicknessRange[0],m.iridescenceThicknessMaximum.value=f.iridescenceThicknessRange[1],f.iridescenceMap&&(m.iridescenceMap.value=f.iridescenceMap,t(f.iridescenceMap,m.iridescenceMapTransform)),f.iridescenceThicknessMap&&(m.iridescenceThicknessMap.value=f.iridescenceThicknessMap,t(f.iridescenceThicknessMap,m.iridescenceThicknessMapTransform))),f.transmission>0&&(m.transmission.value=f.transmission,m.transmissionSamplerMap.value=y.texture,m.transmissionSamplerSize.value.set(y.width,y.height),f.transmissionMap&&(m.transmissionMap.value=f.transmissionMap,t(f.transmissionMap,m.transmissionMapTransform)),m.thickness.value=f.thickness,f.thicknessMap&&(m.thicknessMap.value=f.thicknessMap,t(f.thicknessMap,m.thicknessMapTransform)),m.attenuationDistance.value=f.attenuationDistance,m.attenuationColor.value.copy(f.attenuationColor)),f.anisotropy>0&&(m.anisotropyVector.value.set(f.anisotropy*Math.cos(f.anisotropyRotation),f.anisotropy*Math.sin(f.anisotropyRotation)),f.anisotropyMap&&(m.anisotropyMap.value=f.anisotropyMap,t(f.anisotropyMap,m.anisotropyMapTransform))),m.specularIntensity.value=f.specularIntensity,m.specularColor.value.copy(f.specularColor),f.specularColorMap&&(m.specularColorMap.value=f.specularColorMap,t(f.specularColorMap,m.specularColorMapTransform)),f.specularIntensityMap&&(m.specularIntensityMap.value=f.specularIntensityMap,t(f.specularIntensityMap,m.specularIntensityMapTransform))}function g(m,f){f.matcap&&(m.matcap.value=f.matcap)}function _(m,f){const y=e.get(f).light;m.referencePosition.value.setFromMatrixPosition(y.matrixWorld),m.nearDistance.value=y.shadow.camera.near,m.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:s}}function Zm(i,e,t,n){let s={},r={},a=[];const o=t.isWebGL2?i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,v){const T=v.program;n.uniformBlockBinding(y,T)}function c(y,v){let T=s[y.id];T===void 0&&(g(y),T=h(y),s[y.id]=T,y.addEventListener("dispose",m));const w=v.program;n.updateUBOMapping(y,w);const C=e.render.frame;r[y.id]!==C&&(d(y),r[y.id]=C)}function h(y){const v=u();y.__bindingPointIndex=v;const T=i.createBuffer(),w=y.__size,C=y.usage;return i.bindBuffer(i.UNIFORM_BUFFER,T),i.bufferData(i.UNIFORM_BUFFER,w,C),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,v,T),T}function u(){for(let y=0;y0){C=T%w;const re=w-C;C!==0&&re-A.boundary<0&&(T+=w-C,S.__offset=T)}T+=A.storage}return C=T%w,C>0&&(T+=w-C),y.__size=T,y.__cache={},this}function _(y){const v={boundary:0,storage:0};return typeof y=="number"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function m(y){const v=y.target;v.removeEventListener("dispose",m);const T=a.indexOf(v.__bindingPointIndex);a.splice(T,1),i.deleteBuffer(s[v.id]),delete s[v.id],delete r[v.id]}function f(){for(const y in s)i.deleteBuffer(s[y]);a=[],s={},r={}}return{bind:l,update:c,dispose:f}}class Ql{constructor(e={}){const{canvas:t=Gh(),context:n=null,depth:s=!0,stencil:r=!0,alpha:a=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:u=!1}=e;this.isWebGLRenderer=!0;let d;n!==null?d=n.getContextAttributes().alpha:d=a;const p=new Uint32Array(4),g=new Int32Array(4);let _=null,m=null;const f=[],y=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputColorSpace=Ye,this._useLegacyLights=!1,this.toneMapping=En,this.toneMappingExposure=1;const v=this;let T=!1,w=0,C=0,b=null,O=-1,S=null;const A=new $e,Q=new $e;let re=null;const z=new Pe(0);let G=0,k=t.width,ne=t.height,V=1,W=null,te=null;const K=new $e(0,0,k,ne),F=new $e(0,0,k,ne);let Y=!1;const me=new Hs;let ve=!1,ye=!1,Re=null;const Ie=new Be,q=new Ce,ge=new L,ue={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function ie(){return b===null?V:1}let P=n;function Se(E,U){for(let X=0;X0?m=y[y.length-1]:m=null,f.pop(),f.length>0?_=f[f.length-1]:_=null};function da(E,U,X,N){if(E.visible===!1)return;if(E.layers.test(U.layers)){if(E.isGroup)X=E.renderOrder;else if(E.isLOD)E.autoUpdate===!0&&E.update(U);else if(E.isLight)m.pushLight(E),E.castShadow&&m.pushShadow(E);else if(E.isSprite){if(!E.frustumCulled||me.intersectsSprite(E)){N&&ge.setFromMatrixPosition(E.matrixWorld).applyMatrix4(Ie);const De=x.update(E),Ne=E.material;Ne.visible&&_.push(E,De,Ne,X,ge.z,null)}}else if((E.isMesh||E.isLine||E.isPoints)&&(!E.frustumCulled||me.intersectsObject(E))){const De=x.update(E),Ne=E.material;if(N&&(E.boundingSphere!==void 0?(E.boundingSphere===null&&E.computeBoundingSphere(),ge.copy(E.boundingSphere.center)):(De.boundingSphere===null&&De.computeBoundingSphere(),ge.copy(De.boundingSphere.center)),ge.applyMatrix4(E.matrixWorld).applyMatrix4(Ie)),Array.isArray(Ne)){const Oe=De.groups;for(let Ve=0,Ue=Oe.length;Ve0&&gc(j,Ae,U,X),N&&he.viewport(A.copy(N)),j.length>0&&ts(j,U,X),Ae.length>0&&ts(Ae,U,X),De.length>0&&ts(De,U,X),he.buffers.depth.setTest(!0),he.buffers.depth.setMask(!0),he.buffers.color.setMask(!0),he.setPolygonOffset(!1)}function gc(E,U,X,N){const j=oe.isWebGL2;Re===null&&(Re=new Gn(1,1,{generateMipmaps:!0,type:J.has("EXT_color_buffer_half_float")?Yi:Tn,minFilter:kn,samples:j?4:0})),v.getDrawingBufferSize(q),j?Re.setSize(q.x,q.y):Re.setSize(Ns(q.x),Ns(q.y));const Ae=v.getRenderTarget();v.setRenderTarget(Re),v.getClearColor(z),G=v.getClearAlpha(),G<1&&v.setClearColor(16777215,.5),v.clear();const De=v.toneMapping;v.toneMapping=En,ts(E,X,N),le.updateMultisampleRenderTarget(Re),le.updateRenderTargetMipmap(Re);let Ne=!1;for(let Oe=0,Ve=U.length;Oe0),ze=!!X.morphAttributes.position,nt=!!X.morphAttributes.normal,it=!!X.morphAttributes.color;let It=En;N.toneMapped&&(b===null||b.isXRRenderTarget===!0)&&(It=v.toneMapping);const en=X.morphAttributes.position||X.morphAttributes.normal||X.morphAttributes.color,st=en!==void 0?en.length:0,Xe=we.get(N),Vs=m.state.lights;if(ve===!0&&(ye===!0||E!==S)){const wt=E===S&&N.id===O;Te.setState(N,E,wt)}let rt=!1;N.version===Xe.__version?(Xe.needsLights&&Xe.lightsStateVersion!==Vs.state.version||Xe.outputColorSpace!==Ne||j.isInstancedMesh&&Xe.instancing===!1||!j.isInstancedMesh&&Xe.instancing===!0||j.isSkinnedMesh&&Xe.skinning===!1||!j.isSkinnedMesh&&Xe.skinning===!0||j.isInstancedMesh&&Xe.instancingColor===!0&&j.instanceColor===null||j.isInstancedMesh&&Xe.instancingColor===!1&&j.instanceColor!==null||Xe.envMap!==Oe||N.fog===!0&&Xe.fog!==Ae||Xe.numClippingPlanes!==void 0&&(Xe.numClippingPlanes!==Te.numPlanes||Xe.numIntersection!==Te.numIntersection)||Xe.vertexAlphas!==Ve||Xe.vertexTangents!==Ue||Xe.morphTargets!==ze||Xe.morphNormals!==nt||Xe.morphColors!==it||Xe.toneMapping!==It||oe.isWebGL2===!0&&Xe.morphTargetsCount!==st)&&(rt=!0):(rt=!0,Xe.__version=N.version);let An=Xe.currentProgram;rt===!0&&(An=ns(N,U,j));let ga=!1,Di=!1,Ws=!1;const xt=An.getUniforms(),wn=Xe.uniforms;if(he.useProgram(An.program)&&(ga=!0,Di=!0,Ws=!0),N.id!==O&&(O=N.id,Di=!0),ga||S!==E){xt.setValue(P,"projectionMatrix",E.projectionMatrix),xt.setValue(P,"viewMatrix",E.matrixWorldInverse);const wt=xt.map.cameraPosition;wt!==void 0&&wt.setValue(P,ge.setFromMatrixPosition(E.matrixWorld)),oe.logarithmicDepthBuffer&&xt.setValue(P,"logDepthBufFC",2/(Math.log(E.far+1)/Math.LN2)),(N.isMeshPhongMaterial||N.isMeshToonMaterial||N.isMeshLambertMaterial||N.isMeshBasicMaterial||N.isMeshStandardMaterial||N.isShaderMaterial)&&xt.setValue(P,"isOrthographic",E.isOrthographicCamera===!0),S!==E&&(S=E,Di=!0,Ws=!0)}if(j.isSkinnedMesh){xt.setOptional(P,j,"bindMatrix"),xt.setOptional(P,j,"bindMatrixInverse");const wt=j.skeleton;wt&&(oe.floatVertexTextures?(wt.boneTexture===null&&wt.computeBoneTexture(),xt.setValue(P,"boneTexture",wt.boneTexture,le),xt.setValue(P,"boneTextureSize",wt.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const Xs=X.morphAttributes;if((Xs.position!==void 0||Xs.normal!==void 0||Xs.color!==void 0&&oe.isWebGL2===!0)&&R.update(j,X,An),(Di||Xe.receiveShadow!==j.receiveShadow)&&(Xe.receiveShadow=j.receiveShadow,xt.setValue(P,"receiveShadow",j.receiveShadow)),N.isMeshGouraudMaterial&&N.envMap!==null&&(wn.envMap.value=Oe,wn.flipEnvMap.value=Oe.isCubeTexture&&Oe.isRenderTargetTexture===!1?-1:1),Di&&(xt.setValue(P,"toneMappingExposure",v.toneMappingExposure),Xe.needsLights&&xc(wn,Ws),Ae&&N.fog===!0&&Z.refreshFogUniforms(wn,Ae),Z.refreshMaterialUniforms(wn,N,V,ne,Re),Is.upload(P,Xe.uniformsList,wn,le)),N.isShaderMaterial&&N.uniformsNeedUpdate===!0&&(Is.upload(P,Xe.uniformsList,wn,le),N.uniformsNeedUpdate=!1),N.isSpriteMaterial&&xt.setValue(P,"center",j.center),xt.setValue(P,"modelViewMatrix",j.modelViewMatrix),xt.setValue(P,"normalMatrix",j.normalMatrix),xt.setValue(P,"modelMatrix",j.matrixWorld),N.isShaderMaterial||N.isRawShaderMaterial){const wt=N.uniformsGroups;for(let js=0,Mc=wt.length;js0&&le.useMultisampledRTT(E)===!1?j=we.get(E).__webglMultisampledFramebuffer:Array.isArray(Ue)?j=Ue[X]:j=Ue,A.copy(E.viewport),Q.copy(E.scissor),re=E.scissorTest}else A.copy(K).multiplyScalar(V).floor(),Q.copy(F).multiplyScalar(V).floor(),re=Y;if(he.bindFramebuffer(P.FRAMEBUFFER,j)&&oe.drawBuffers&&N&&he.drawBuffers(E,j),he.viewport(A),he.scissor(Q),he.setScissorTest(re),Ae){const Oe=we.get(E.texture);P.framebufferTexture2D(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,P.TEXTURE_CUBE_MAP_POSITIVE_X+U,Oe.__webglTexture,X)}else if(De){const Oe=we.get(E.texture),Ve=U||0;P.framebufferTextureLayer(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,Oe.__webglTexture,X||0,Ve)}O=-1},this.readRenderTargetPixels=function(E,U,X,N,j,Ae,De){if(!(E&&E.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Ne=we.get(E).__webglFramebuffer;if(E.isWebGLCubeRenderTarget&&De!==void 0&&(Ne=Ne[De]),Ne){he.bindFramebuffer(P.FRAMEBUFFER,Ne);try{const Oe=E.texture,Ve=Oe.format,Ue=Oe.type;if(Ve!==Ot&&fe.convert(Ve)!==P.getParameter(P.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const ze=Ue===Yi&&(J.has("EXT_color_buffer_half_float")||oe.isWebGL2&&J.has("EXT_color_buffer_float"));if(Ue!==Tn&&fe.convert(Ue)!==P.getParameter(P.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Ue===hn&&(oe.isWebGL2||J.has("OES_texture_float")||J.has("WEBGL_color_buffer_float")))&&!ze){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}U>=0&&U<=E.width-N&&X>=0&&X<=E.height-j&&P.readPixels(U,X,N,j,fe.convert(Ve),fe.convert(Ue),Ae)}finally{const Oe=b!==null?we.get(b).__webglFramebuffer:null;he.bindFramebuffer(P.FRAMEBUFFER,Oe)}}},this.copyFramebufferToTexture=function(E,U,X=0){const N=Math.pow(2,-X),j=Math.floor(U.image.width*N),Ae=Math.floor(U.image.height*N);le.setTexture2D(U,0),P.copyTexSubImage2D(P.TEXTURE_2D,X,0,0,E.x,E.y,j,Ae),he.unbindTexture()},this.copyTextureToTexture=function(E,U,X,N=0){const j=U.image.width,Ae=U.image.height,De=fe.convert(X.format),Ne=fe.convert(X.type);le.setTexture2D(X,0),P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,X.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,X.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,X.unpackAlignment),U.isDataTexture?P.texSubImage2D(P.TEXTURE_2D,N,E.x,E.y,j,Ae,De,Ne,U.image.data):U.isCompressedTexture?P.compressedTexSubImage2D(P.TEXTURE_2D,N,E.x,E.y,U.mipmaps[0].width,U.mipmaps[0].height,De,U.mipmaps[0].data):P.texSubImage2D(P.TEXTURE_2D,N,E.x,E.y,De,Ne,U.image),N===0&&X.generateMipmaps&&P.generateMipmap(P.TEXTURE_2D),he.unbindTexture()},this.copyTextureToTexture3D=function(E,U,X,N,j=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Ae=E.max.x-E.min.x+1,De=E.max.y-E.min.y+1,Ne=E.max.z-E.min.z+1,Oe=fe.convert(N.format),Ve=fe.convert(N.type);let Ue;if(N.isData3DTexture)le.setTexture3D(N,0),Ue=P.TEXTURE_3D;else if(N.isDataArrayTexture)le.setTexture2DArray(N,0),Ue=P.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,N.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,N.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,N.unpackAlignment);const ze=P.getParameter(P.UNPACK_ROW_LENGTH),nt=P.getParameter(P.UNPACK_IMAGE_HEIGHT),it=P.getParameter(P.UNPACK_SKIP_PIXELS),It=P.getParameter(P.UNPACK_SKIP_ROWS),en=P.getParameter(P.UNPACK_SKIP_IMAGES),st=X.isCompressedTexture?X.mipmaps[0]:X.image;P.pixelStorei(P.UNPACK_ROW_LENGTH,st.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,st.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,E.min.x),P.pixelStorei(P.UNPACK_SKIP_ROWS,E.min.y),P.pixelStorei(P.UNPACK_SKIP_IMAGES,E.min.z),X.isDataTexture||X.isData3DTexture?P.texSubImage3D(Ue,j,U.x,U.y,U.z,Ae,De,Ne,Oe,Ve,st.data):X.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),P.compressedTexSubImage3D(Ue,j,U.x,U.y,U.z,Ae,De,Ne,Oe,st.data)):P.texSubImage3D(Ue,j,U.x,U.y,U.z,Ae,De,Ne,Oe,Ve,st),P.pixelStorei(P.UNPACK_ROW_LENGTH,ze),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,nt),P.pixelStorei(P.UNPACK_SKIP_PIXELS,it),P.pixelStorei(P.UNPACK_SKIP_ROWS,It),P.pixelStorei(P.UNPACK_SKIP_IMAGES,en),j===0&&N.generateMipmaps&&P.generateMipmap(Ue),he.unbindTexture()},this.initTexture=function(E){E.isCubeTexture?le.setTextureCube(E,0):E.isData3DTexture?le.setTexture3D(E,0):E.isDataArrayTexture||E.isCompressedArrayTexture?le.setTexture2DArray(E,0):le.setTexture2D(E,0),he.unbindTexture()},this.resetState=function(){w=0,C=0,b=null,he.reset(),xe.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return un}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Ye?zn:Ol}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===zn?Ye:dt}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class $m extends Ql{}$m.prototype.isWebGL1Renderer=!0;class Jm extends tt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class Qm{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Hr,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Vt()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let s=0,r=this.stride;sl)continue;d.applyMatrix4(this.matrixWorld);const O=e.ray.origin.distanceTo(d);Oe.far||t.push({distance:O,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const f=Math.max(0,a.start),y=Math.min(m.count,a.start+a.count);for(let v=f,T=y-1;vl)continue;d.applyMatrix4(this.matrixWorld);const C=e.ray.origin.distanceTo(d);Ce.far||t.push({distance:C,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const s=t[n[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=s.length;r0){const s=t[n[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=s.length;rs.far)return;r.push({distance:c,distanceToRay:Math.sqrt(o),point:l,index:e,face:null,object:a})}}class oa extends Wt{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Pe(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Pe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qr,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class bn extends oa{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Ce(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return ft(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Pe(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Pe(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Pe(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class cg extends Wt{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Pe(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Pe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qr,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=$r,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}function _n(i,e,t){return nc(i)?new i.constructor(i.subarray(e,t!==void 0?t:i.length)):i.slice(e,t)}function Rs(i,e,t){return!i||!t&&i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)}function nc(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function hg(i){function e(s,r){return i[s]-i[r]}const t=i.length,n=new Array(t);for(let s=0;s!==t;++s)n[s]=s;return n.sort(e),n}function nl(i,e,t){const n=i.length,s=new i.constructor(n);for(let r=0,a=0;a!==n;++r){const o=t[r]*e;for(let l=0;l!==e;++l)s[a++]=i[o+l]}return s}function ic(i,e,t,n){let s=1,r=i[0];for(;r!==void 0&&r[n]===void 0;)r=i[s++];if(r===void 0)return;let a=r[n];if(a!==void 0)if(Array.isArray(a))do a=r[n],a!==void 0&&(e.push(r.time),t.push.apply(t,a)),r=i[s++];while(r!==void 0);else if(a.toArray!==void 0)do a=r[n],a!==void 0&&(e.push(r.time),a.toArray(t,t.length)),r=i[s++];while(r!==void 0);else do a=r[n],a!==void 0&&(e.push(r.time),t.push(a)),r=i[s++];while(r!==void 0)}class es{constructor(e,t,n,s){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=s!==void 0?s:new t.constructor(n),this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let n=this._cachedIndex,s=t[n],r=t[n-1];n:{e:{let a;t:{i:if(!(e=r)){const o=t[1];e=r)break e}a=n,n=0;break t}break n}for(;n>>1;et;)--a;if(++a,r!==0||a!==s){r>=a&&(a=Math.max(a,1),r=a-1);const o=this.getValueSize();this.times=_n(n,r,a),this.values=_n(this.values,r*o,a*o)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,s=this.values,r=n.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let o=0;o!==r;o++){const l=n[o];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,o,l),e=!1;break}if(a!==null&&a>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,o,l,a),e=!1;break}a=l}if(s!==void 0&&nc(s))for(let o=0,l=s.length;o!==l;++o){const c=s[o];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,o,c),e=!1;break}}return e}optimize(){const e=_n(this.times),t=_n(this.values),n=this.getValueSize(),s=this.getInterpolation()===nr,r=e.length-1;let a=1;for(let o=1;o0){e[a]=e[r];for(let o=r*n,l=a*n,c=0;c!==n;++c)t[l+c]=t[o+c];++a}return a!==e.length?(this.times=_n(e,0,a),this.values=_n(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=_n(this.times,0),t=_n(this.values,0),n=this.constructor,s=new n(this.name,e,t);return s.createInterpolant=this.createInterpolant,s}}Qt.prototype.TimeBufferType=Float32Array;Qt.prototype.ValueBufferType=Float32Array;Qt.prototype.DefaultInterpolation=Ei;class Li extends Qt{}Li.prototype.ValueTypeName="bool";Li.prototype.ValueBufferType=Array;Li.prototype.DefaultInterpolation=Ki;Li.prototype.InterpolantFactoryMethodLinear=void 0;Li.prototype.InterpolantFactoryMethodSmooth=void 0;class sc extends Qt{}sc.prototype.ValueTypeName="color";class Ai extends Qt{}Ai.prototype.ValueTypeName="number";class pg extends es{constructor(e,t,n,s){super(e,t,n,s)}interpolate_(e,t,n,s){const r=this.resultBuffer,a=this.sampleValues,o=this.valueSize,l=(n-t)/(s-t);let c=e*o;for(let h=c+o;c!==h;c+=4)Zt.slerpFlat(r,0,a,c-o,a,c,l);return r}}class Wn extends Qt{InterpolantFactoryMethodLinear(e){return new pg(this.times,this.values,this.getValueSize(),e)}}Wn.prototype.ValueTypeName="quaternion";Wn.prototype.DefaultInterpolation=Ei;Wn.prototype.InterpolantFactoryMethodSmooth=void 0;class Pi extends Qt{}Pi.prototype.ValueTypeName="string";Pi.prototype.ValueBufferType=Array;Pi.prototype.DefaultInterpolation=Ki;Pi.prototype.InterpolantFactoryMethodLinear=void 0;Pi.prototype.InterpolantFactoryMethodSmooth=void 0;class wi extends Qt{}wi.prototype.ValueTypeName="vector";class mg{constructor(e,t=-1,n,s=mh){this.name=e,this.tracks=n,this.duration=t,this.blendMode=s,this.uuid=Vt(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,s=1/(e.fps||1);for(let a=0,o=n.length;a!==o;++a)t.push(_g(n[a]).scale(s));const r=new this(e.name,e.duration,t,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const t=[],n=e.tracks,s={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,a=n.length;r!==a;++r)t.push(Qt.toJSON(n[r]));return s}static CreateFromMorphTargetSequence(e,t,n,s){const r=t.length,a=[];for(let o=0;o1){const u=h[1];let d=s[u];d||(s[u]=d=[]),d.push(c)}}const a=[];for(const o in s)a.push(this.CreateFromMorphTargetSequence(o,s[o],t,n));return a}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(u,d,p,g,_){if(p.length!==0){const m=[],f=[];ic(p,m,f,g),m.length!==0&&_.push(new u(d,m,f))}},s=[],r=e.name||"default",a=e.fps||30,o=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let u=0;u{t&&t(r),this.manager.itemEnd(e)},0),r;if(ln[e]!==void 0){ln[e].push({onLoad:t,onProgress:n,onError:s});return}ln[e]=[],ln[e].push({onLoad:t,onProgress:n,onError:s});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),o=this.mimeType,l=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const h=ln[e],u=c.body.getReader(),d=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=d?parseInt(d):0,g=p!==0;let _=0;const m=new ReadableStream({start(f){y();function y(){u.read().then(({done:v,value:T})=>{if(v)f.close();else{_+=T.byteLength;const w=new ProgressEvent("progress",{lengthComputable:g,loaded:_,total:p});for(let C=0,b=h.length;C{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(h=>new DOMParser().parseFromString(h,o));case"json":return c.json();default:if(o===void 0)return c.text();{const u=/charset="?([^;"\s]*)"?/i.exec(o),d=u&&u[1]?u[1].toLowerCase():void 0,p=new TextDecoder(d);return c.arrayBuffer().then(g=>p.decode(g))}}}).then(c=>{Ri.add(e,c);const h=ln[e];delete ln[e];for(let u=0,d=h.length;u{const h=ln[e];if(h===void 0)throw this.manager.itemError(e),c;delete ln[e];for(let u=0,d=h.length;u{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Sg extends Ii{constructor(e){super(e)}load(e,t,n,s){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=Ri.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){t&&t(a),r.manager.itemEnd(e)},0),a;const o=Zi("img");function l(){h(),Ri.add(e,this),t&&t(this),r.manager.itemEnd(e)}function c(u){h(),s&&s(u),r.manager.itemError(e),r.manager.itemEnd(e)}function h(){o.removeEventListener("load",l,!1),o.removeEventListener("error",c,!1)}return o.addEventListener("load",l,!1),o.addEventListener("error",c,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),r.manager.itemStart(e),o.src=e,o}}class ac extends Ii{constructor(e){super(e)}load(e,t,n,s){const r=new pt,a=new Sg(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(o){r.image=o,r.needsUpdate=!0,t!==void 0&&t(r)},n,s),r}}class la extends tt{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new Pe(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}}const Rr=new Be,il=new L,sl=new L;class ca{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Ce(512,512),this.map=null,this.mapPass=null,this.matrix=new Be,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Hs,this._frameExtents=new Ce(1,1),this._viewportCount=1,this._viewports=[new $e(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,n=this.matrix;il.setFromMatrixPosition(e.matrixWorld),t.position.copy(il),sl.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(sl),t.updateMatrixWorld(),Rr.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Rr),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Rr)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class yg extends ca{constructor(){super(new yt(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,n=Ti*2*e.angle*this.focus,s=this.mapSize.width/this.mapSize.height,r=e.distance||t.far;(n!==t.fov||s!==t.aspect||r!==t.far)&&(t.fov=n,t.aspect=s,t.far=r,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class oc extends la{constructor(e,t,n=0,s=Math.PI/3,r=0,a=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(tt.DEFAULT_UP),this.updateMatrix(),this.target=new tt,this.distance=n,this.angle=s,this.penumbra=r,this.decay=a,this.map=null,this.shadow=new yg}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const rl=new Be,Hi=new L,Cr=new L;class Eg extends ca{constructor(){super(new yt(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Ce(4,2),this._viewportCount=6,this._viewports=[new $e(2,1,1,1),new $e(0,1,1,1),new $e(3,1,1,1),new $e(1,1,1,1),new $e(3,0,1,1),new $e(1,0,1,1)],this._cubeDirections=[new L(1,0,0),new L(-1,0,0),new L(0,0,1),new L(0,0,-1),new L(0,1,0),new L(0,-1,0)],this._cubeUps=[new L(0,1,0),new L(0,1,0),new L(0,1,0),new L(0,1,0),new L(0,0,1),new L(0,0,-1)]}updateMatrices(e,t=0){const n=this.camera,s=this.matrix,r=e.distance||n.far;r!==n.far&&(n.far=r,n.updateProjectionMatrix()),Hi.setFromMatrixPosition(e.matrixWorld),n.position.copy(Hi),Cr.copy(n.position),Cr.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(Cr),n.updateMatrixWorld(),s.makeTranslation(-Hi.x,-Hi.y,-Hi.z),rl.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(rl)}}class Tg extends la{constructor(e,t,n=0,s=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=s,this.shadow=new Eg}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class bg extends ca{constructor(){super(new na(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class lc extends la{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(tt.DEFAULT_UP),this.updateMatrix(),this.target=new tt,this.shadow=new bg}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class Xr{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,s=e.length;n"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,s){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=Ri.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){t&&t(a),r.manager.itemEnd(e)},0),a;const o={};o.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",o.headers=this.requestHeader,fetch(e,o).then(function(l){return l.blob()}).then(function(l){return createImageBitmap(l,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(l){Ri.add(e,l),t&&t(l),r.manager.itemEnd(e)}).catch(function(l){s&&s(l),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}class wg{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=al(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=al();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function al(){return(typeof performance>"u"?Date:performance).now()}const ha="\\[\\]\\.:\\/",Rg=new RegExp("["+ha+"]","g"),ua="[^"+ha+"]",Cg="[^"+ha.replace("\\.","")+"]",Lg=/((?:WC+[\/:])*)/.source.replace("WC",ua),Pg=/(WCOD+)?/.source.replace("WCOD",Cg),Ig=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ua),Dg=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ua),Ug=new RegExp("^"+Lg+Pg+Ig+Dg+"$"),Ng=["material","materials","bones","map"];class Og{constructor(e,t,n){const s=n||Ze.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,s)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,s=this._bindings[n];s!==void 0&&s.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let s=this._targetGroup.nCachedObjects_,r=n.length;s!==r;++s)n[s].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class Ze{constructor(e,t,n){this.path=t,this.parsedPath=n||Ze.parseTrackName(t),this.node=Ze.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new Ze.Composite(e,t,n):new Ze(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Rg,"")}static parseTrackName(e){const t=Ug.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},s=n.nodeName&&n.nodeName.lastIndexOf(".");if(s!==void 0&&s!==-1){const r=n.nodeName.substring(s+1);Ng.indexOf(r)!==-1&&(n.nodeName=n.nodeName.substring(0,s),n.objectName=r)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(r){for(let a=0;athis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ll).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const hl=new L,Cs=new L,ul=new L;class Fg extends tt{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",t===void 0&&(t=1);let s=new Ft;s.setAttribute("position",new Xt([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const r=new aa({fog:!1,toneMapped:!1});this.lightPlane=new $i(s,r),this.add(this.lightPlane),s=new Ft,s.setAttribute("position",new Xt([0,0,0,0,0,1],3)),this.targetLine=new $i(s,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),hl.setFromMatrixPosition(this.light.matrixWorld),Cs.setFromMatrixPosition(this.light.target.matrixWorld),ul.subVectors(Cs,hl),this.lightPlane.lookAt(Cs),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(Cs),this.targetLine.scale.z=ul.length()}}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Zr}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Zr);class Bg{constructor(){this.id=0,this.object=null,this.z=0,this.renderOrder=0}}class cc{constructor(){this.id=0,this.v1=new _i,this.v2=new _i,this.v3=new _i,this.normalModel=new L,this.vertexNormalsModel=[new L,new L,new L],this.vertexNormalsLength=0,this.color=new Pe,this.material=null,this.uvs=[new Ce,new Ce,new Ce],this.z=0,this.renderOrder=0}}class _i{constructor(){this.position=new L,this.positionWorld=new L,this.positionScreen=new $e,this.visible=!0}copy(e){this.positionWorld.copy(e.positionWorld),this.positionScreen.copy(e.positionScreen)}}class hc{constructor(){this.id=0,this.v1=new _i,this.v2=new _i,this.vertexColors=[new Pe,new Pe],this.material=null,this.z=0,this.renderOrder=0}}class uc{constructor(){this.id=0,this.object=null,this.x=0,this.y=0,this.z=0,this.rotation=0,this.scale=new Ce,this.material=null,this.renderOrder=0}}class zg{constructor(){let e,t,n=0,s,r,a=0,o,l,c=0,h,u,d=0,p,g,_=0,m;const f={objects:[],lights:[],elements:[]},y=new L,v=new $e,T=new jt(new L(-1,-1,-1),new L(1,1,1)),w=new jt,C=new Array(3),b=new Be,O=new Be,S=new Be,A=new Hs,Q=[],re=[],z=[],G=[],k=[];function ne(){const q=[],ge=[],ue=[];let ie=null;const P=new ke;function Se(M){ie=M,P.getNormalMatrix(ie.matrixWorld),q.length=0,ge.length=0,ue.length=0}function J(M){const x=M.position,D=M.positionWorld,Z=M.positionScreen;D.copy(x).applyMatrix4(m),Z.copy(D).applyMatrix4(O);const ee=1/Z.w;Z.x*=ee,Z.y*=ee,Z.z*=ee,M.visible=Z.x>=-1&&Z.x<=1&&Z.y>=-1&&Z.y<=1&&Z.z>=-1&&Z.z<=1}function oe(M,x,D){s=Y(),s.position.set(M,x,D),J(s)}function he(M,x,D){q.push(M,x,D)}function Le(M,x,D){ge.push(M,x,D)}function we(M,x){ue.push(M,x)}function le(M,x,D){return M.visible===!0||x.visible===!0||D.visible===!0?!0:(C[0]=M.positionScreen,C[1]=x.positionScreen,C[2]=D.positionScreen,T.intersectsBox(w.setFromPoints(C)))}function be(M,x,D){return(D.positionScreen.x-M.positionScreen.x)*(x.positionScreen.y-M.positionScreen.y)-(D.positionScreen.y-M.positionScreen.y)*(x.positionScreen.x-M.positionScreen.x)<0}function We(M,x){const D=re[M],Z=re[x];D.positionScreen.copy(D.position).applyMatrix4(S),Z.positionScreen.copy(Z.position).applyMatrix4(S),Ie(D.positionScreen,Z.positionScreen)===!0&&(D.positionScreen.multiplyScalar(1/D.positionScreen.w),Z.positionScreen.multiplyScalar(1/Z.positionScreen.w),h=ve(),h.id=ie.id,h.v1.copy(D),h.v2.copy(Z),h.z=Math.max(D.positionScreen.z,Z.positionScreen.z),h.renderOrder=ie.renderOrder,h.material=ie.material,ie.material.vertexColors&&(h.vertexColors[0].fromArray(ge,M*3),h.vertexColors[1].fromArray(ge,x*3)),f.elements.push(h))}function Ee(M,x,D,Z){const ee=re[M],ae=re[x],Te=re[D];if(le(ee,ae,Te)!==!1&&(Z.side===Gt||be(ee,ae,Te)===!0)){o=me(),o.id=ie.id,o.v1.copy(ee),o.v2.copy(ae),o.v3.copy(Te),o.z=(ee.positionScreen.z+ae.positionScreen.z+Te.positionScreen.z)/3,o.renderOrder=ie.renderOrder,y.subVectors(Te.position,ae.position),v.subVectors(ee.position,ae.position),y.cross(v),o.normalModel.copy(y),o.normalModel.applyMatrix3(P).normalize();for(let se=0;se<3;se++){const B=o.vertexNormalsModel[se];B.fromArray(q,arguments[se]*3),B.applyMatrix3(P).normalize(),o.uvs[se].fromArray(ue,arguments[se]*2)}o.vertexNormalsLength=3,o.material=Z,Z.vertexColors&&o.color.fromArray(ge,M*3),f.elements.push(o)}}return{setObject:Se,projectVertex:J,checkTriangleVisibility:le,checkBackfaceCulling:be,pushVertex:oe,pushNormal:he,pushColor:Le,pushUv:we,pushLine:We,pushTriangle:Ee}}const V=new ne;function W(q){if(q.visible===!1)return;if(q.isLight)f.lights.push(q);else if(q.isMesh||q.isLine||q.isPoints){if(q.material.visible===!1||q.frustumCulled===!0&&A.intersectsObject(q)===!1)return;te(q)}else if(q.isSprite){if(q.material.visible===!1||q.frustumCulled===!0&&A.intersectsSprite(q)===!1)return;te(q)}const ge=q.children;for(let ue=0,ie=ge.length;ue0)for(let M=0;M0)for(let Ee=0;Ee=-1&&q.z<=1&&(p=ye(),p.id=ge.id,p.x=q.x*ie,p.y=q.y*ie,p.z=q.z,p.renderOrder=ge.renderOrder,p.object=ge,p.rotation=ge.rotation,p.scale.x=ge.scale.x*Math.abs(p.x-(q.x+ue.projectionMatrix.elements[0])/(q.w+ue.projectionMatrix.elements[12])),p.scale.y=ge.scale.y*Math.abs(p.y-(q.y+ue.projectionMatrix.elements[5])/(q.w+ue.projectionMatrix.elements[13])),p.material=ge.material,f.elements.push(p))}function F(){if(t===n){const q=new Bg;return Q.push(q),n++,t++,q}return Q[t++]}function Y(){if(r===a){const q=new _i;return re.push(q),a++,r++,q}return re[r++]}function me(){if(l===c){const q=new cc;return z.push(q),c++,l++,q}return z[l++]}function ve(){if(u===d){const q=new hc;return G.push(q),d++,u++,q}return G[u++]}function ye(){if(g===_){const q=new uc;return k.push(q),_++,g++,q}return k[g++]}function Re(q,ge){return q.renderOrder!==ge.renderOrder?q.renderOrder-ge.renderOrder:q.z!==ge.z?ge.z-q.z:q.id!==ge.id?q.id-ge.id:0}function Ie(q,ge){let ue=0,ie=1;const P=q.z+q.w,Se=ge.z+ge.w,J=-q.z+q.w,oe=-ge.z+ge.w;return P>=0&&Se>=0&&J>=0&&oe>=0?!0:P<0&&Se<0||J<0&&oe<0?!1:(P<0?ue=Math.max(ue,P/(P-Se)):Se<0&&(ie=Math.min(ie,P/(P-Se))),J<0?ue=Math.max(ue,J/(J-oe)):oe<0&&(ie=Math.min(ie,J/(J-oe))),ie0;)W.removeChild(W.childNodes[0])}function K(ue){return p!==null?ue.toFixed(p):ue}this.clear=function(){te(),W.style.backgroundColor=S.getStyle()},this.render=function(ue,ie){if(!(ie instanceof ta)){console.error("THREE.SVGRenderer.render: camera is not an instance of Camera.");return}const P=ue.background;P&&P.isColor?(te(),W.style.backgroundColor=P.getStyle()):this.autoClear===!0&&this.clear(),f.info.render.vertices=0,f.info.render.faces=0,G.copy(ie.matrixWorldInverse),k.multiplyMatrices(ie.projectionMatrix,G),e=V.projectScene(ue,ie,this.sortObjects,this.sortElements),t=e.elements,n=e.lights,z.getNormalMatrix(ie.matrixWorldInverse),F(n),_="",m="";for(let Se=0,J=t.length;Se1||c.positionScreen.z<-1||c.positionScreen.z>1||h.positionScreen.z<-1||h.positionScreen.z>1)continue;l.positionScreen.x*=a,l.positionScreen.y*=-o,c.positionScreen.x*=a,c.positionScreen.y*=-o,h.positionScreen.x*=a,h.positionScreen.y*=-o,this.overdraw>0&&(Re(l.positionScreen,c.positionScreen,this.overdraw),Re(c.positionScreen,h.positionScreen,this.overdraw),Re(h.positionScreen,l.positionScreen,this.overdraw)),v.setFromPoints([l.positionScreen,c.positionScreen,h.positionScreen]),y.intersectsBox(v)===!0&&ye(l,c,h,oe,he)}}}q(),ue.traverseVisible(function(Se){if(Se.isSVGObject){if(A.setFromMatrixPosition(Se.matrixWorld),A.applyMatrix4(k),A.z<-1||A.z>1)return;const J=A.x*a,oe=-A.y*o,he=Se.node;he.setAttribute("transform","translate("+J+","+oe+")"),W.appendChild(he)}})};function F(ue){C.setRGB(0,0,0),b.setRGB(0,0,0),O.setRGB(0,0,0);for(let ie=0,P=ue.length;ie1e4?1e4:i,{In:function(e){return Math.pow(e,i)},Out:function(e){return 1-Math.pow(1-e,i)},InOut:function(e){return e<.5?Math.pow(e*2,i)/2:(1-Math.pow(2-e*2,i))/2+.5}}}}),Vi=function(){return performance.now()},kg=function(){function i(){this._tweens={},this._tweensAddedDuringUpdate={}}return i.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(t){return e._tweens[t]})},i.prototype.removeAll=function(){this._tweens={}},i.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},i.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},i.prototype.update=function(e,t){e===void 0&&(e=Vi()),t===void 0&&(t=!1);var n=Object.keys(this._tweens);if(n.length===0)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var s=0;s1?r(i[t],i[t-1],t-n):r(i[s],i[s+1>t?t:s+1],n-s)},Bezier:function(i,e){for(var t=0,n=i.length-1,s=Math.pow,r=pi.Utils.Bernstein,a=0;a<=n;a++)t+=s(1-e,n-a)*s(e,a)*i[a]*r(n,a);return t},CatmullRom:function(i,e){var t=i.length-1,n=t*e,s=Math.floor(n),r=pi.Utils.CatmullRom;return i[0]===i[t]?(e<0&&(s=Math.floor(n=t*(1+e))),r(i[(s-1+t)%t],i[s],i[(s+1)%t],i[(s+2)%t],n-s)):e<0?i[0]-(r(i[0],i[0],i[1],i[1],-n)-i[0]):e>1?i[t]-(r(i[t],i[t],i[t-1],i[t-1],n-t)-i[t]):r(i[s?s-1:0],i[s],i[t1;n--)t*=n;return i[e]=t,t}}(),CatmullRom:function(i,e,t,n,s){var r=(t-i)*.5,a=(n-e)*.5,o=s*s,l=s*o;return(2*e-2*t+r+a)*l+(-3*e+3*t-2*r-a)*o+r*s+e}}},Gg=function(){function i(){}return i.nextId=function(){return i._nextId++},i._nextId=0,i}(),jr=new kg,Lr=function(){function i(e,t){t===void 0&&(t=jr),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=qi.Linear.None,this._interpolationFunction=pi.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=Gg.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return i.prototype.getId=function(){return this._id},i.prototype.isPlaying=function(){return this._isPlaying},i.prototype.isPaused=function(){return this._isPaused},i.prototype.to=function(e,t){if(t===void 0&&(t=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=e,this._propertiesAreSetUp=!1,this._duration=t,this},i.prototype.duration=function(e){return e===void 0&&(e=1e3),this._duration=e,this},i.prototype.dynamic=function(e){return e===void 0&&(e=!1),this._isDynamic=e,this},i.prototype.start=function(e,t){if(e===void 0&&(e=Vi()),t===void 0&&(t=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e,this._startTime+=this._delayTime,!this._propertiesAreSetUp||t){if(this._propertiesAreSetUp=!0,!this._isDynamic){var s={};for(var r in this._valuesEnd)s[r]=this._valuesEnd[r];this._valuesEnd=s}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,t)}return this},i.prototype.startFromCurrentValues=function(e){return this.start(e,!0)},i.prototype._setupProperties=function(e,t,n,s,r){for(var a in n){var o=e[a],l=Array.isArray(o),c=l?"array":typeof o,h=!l&&Array.isArray(n[a]);if(!(c==="undefined"||c==="function")){if(h){var u=n[a];if(u.length===0)continue;for(var d=[o],p=0,g=u.length;p"u"||r)&&(t[a]=o),l||(t[a]*=1),h?s[a]=n[a].slice().reverse():s[a]=t[a]||0}}},i.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},i.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},i.prototype.pause=function(e){return e===void 0&&(e=Vi()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this),this)},i.prototype.resume=function(e){return e===void 0&&(e=Vi()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},i.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;er)return!1;t&&this.start(e,!0)}if(this._goToEnd=!1,e1?1:s;var a=this._easingFunction(s);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,s),s===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(n in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[n]=="string"&&(this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(this._valuesEnd[n])),this._yoyo&&this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var o=0,l=this._chainedTweens.length;o{},i}function Xg(i){const e=new lc(i,4),t=new Fg(e,0);return e.position.set(60,100,30),e.tick=()=>{},{light:e,lightHelper:t}}function jg(i){const e=new Jm;return e.background=new Pe(i),e}function dl(i,e){if(e===gh)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),i;if(e===zr||e===Nl){let t=i.getIndex();if(t===null){const a=[],o=i.getAttribute("position");if(o!==void 0){for(let l=0;l=2.0 are supported."));return}const c=new T_(r,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let h=0;h=0&&o[u]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+u+'".')}}c.setExtensions(a),c.setPlugins(o),c.parse(n,s)}parseAsync(e,t){const n=this;return new Promise(function(s,r){n.parse(e,t,s,r)})}}function Yg(){let i={};return{get:function(e){return i[e]},add:function(e,t){i[e]=t},remove:function(e){delete i[e]},removeAll:function(){i={}}}}const qe={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Kg{constructor(e){this.parser=e,this.name=qe.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let n=0,s=t.length;n=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,r.source,a)}}class o_{constructor(e){this.parser=e,this.name=qe.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,s=n.json,r=s.textures[e];if(!r.extensions||!r.extensions[t])return null;const a=r.extensions[t],o=s.images[a.source];let l=n.textureLoader;if(o.uri){const c=n.options.manager.getHandler(o.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return n.loadTextureImage(e,a.source,l);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class l_{constructor(e){this.parser=e,this.name=qe.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,s=n.json,r=s.textures[e];if(!r.extensions||!r.extensions[t])return null;const a=r.extensions[t],o=s.images[a.source];let l=n.textureLoader;if(o.uri){const c=n.options.manager.getHandler(o.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return n.loadTextureImage(e,a.source,l);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class c_{constructor(e){this.name=qe.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){const s=n.extensions[this.name],r=this.parser.getDependency("buffer",s.buffer),a=this.parser.options.meshoptDecoder;if(!a||!a.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return r.then(function(o){const l=s.byteOffset||0,c=s.byteLength||0,h=s.count,u=s.byteStride,d=new Uint8Array(o,l,c);return a.decodeGltfBufferAsync?a.decodeGltfBufferAsync(h,u,d,s.mode,s.filter).then(function(p){return p.buffer}):a.ready.then(function(){const p=new ArrayBuffer(h*u);return a.decodeGltfBuffer(new Uint8Array(p),h,u,d,s.mode,s.filter),p})})}else return null}}class h_{constructor(e){this.name=qe.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;const s=t.meshes[n.mesh];for(const c of s.primitives)if(c.mode!==Ut.TRIANGLES&&c.mode!==Ut.TRIANGLE_STRIP&&c.mode!==Ut.TRIANGLE_FAN&&c.mode!==void 0)return null;const a=n.extensions[this.name].attributes,o=[],l={};for(const c in a)o.push(this.parser.getDependency("accessor",a[c]).then(h=>(l[c]=h,l[c])));return o.length<1?null:(o.push(this.parser.createNodeMesh(e)),Promise.all(o).then(c=>{const h=c.pop(),u=h.isGroup?h.children:[h],d=c[0].count,p=[];for(const g of u){const _=new Be,m=new L,f=new Zt,y=new L(1,1,1),v=new rg(g.geometry,g.material,d);for(let T=0;T0||i.search(/^data\:image\/jpeg/)===0?"image/jpeg":i.search(/\.webp($|\?)/i)>0||i.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const E_=new Be;class T_{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new Yg,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,s=!1,r=-1;typeof navigator<"u"&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,s=navigator.userAgent.indexOf("Firefox")>-1,r=s?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||n||s&&r<98?this.textureLoader=new ac(this.options.manager):this.textureLoader=new Ag(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new rc(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const n=this,s=this.json,r=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(a){return a._markDefs&&a._markDefs()}),Promise.all(this._invokeAll(function(a){return a.beforeRoot&&a.beforeRoot()})).then(function(){return Promise.all([n.getDependencies("scene"),n.getDependencies("animation"),n.getDependencies("camera")])}).then(function(a){const o={scene:a[0][s.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:s.asset,parser:n,userData:{}};In(r,o,s),Mn(o,s),Promise.all(n._invokeAll(function(l){return l.afterRoot&&l.afterRoot(o)})).then(function(){e(o)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let s=0,r=t.length;s{const l=this.associations.get(a);l!=null&&this.associations.set(o,l);for(const[c,h]of a.children.entries())r(h,o.children[c])};return r(n,s),s.name+="_instance_"+e.uses[t]++,s}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&m.setY(S,C[b*l+1]),l>=3&&m.setZ(S,C[b*l+2]),l>=4&&m.setW(S,C[b*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return m})}loadTexture(e){const t=this.json,n=this.options,r=t.textures[e].source,a=t.images[r];let o=this.textureLoader;if(a.uri){const l=n.manager.getHandler(a.uri);l!==null&&(o=l)}return this.loadTextureImage(e,r,o)}loadTextureImage(e,t,n){const s=this,r=this.json,a=r.textures[e],o=r.images[t],l=(o.uri||o.bufferView)+":"+a.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,n).then(function(h){h.flipY=!1,h.name=a.name||o.name||"",h.name===""&&typeof o.uri=="string"&&o.uri.startsWith("data:image/")===!1&&(h.name=o.uri);const d=(r.samplers||{})[a.sampler]||{};return h.magFilter=pl[d.magFilter]||Tt,h.minFilter=pl[d.minFilter]||kn,h.wrapS=ml[d.wrapS]||Si,h.wrapT=ml[d.wrapT]||Si,s.associations.set(h,{textures:e}),h}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const n=this,s=this.json,r=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(u=>u.clone());const a=s.images[e],o=self.URL||self.webkitURL;let l=a.uri||"",c=!1;if(a.bufferView!==void 0)l=n.getDependency("bufferView",a.bufferView).then(function(u){c=!0;const d=new Blob([u],{type:a.mimeType});return l=o.createObjectURL(d),l});else if(a.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const h=Promise.resolve(l).then(function(u){return new Promise(function(d,p){let g=d;t.isImageBitmapLoader===!0&&(g=function(_){const m=new pt(_);m.needsUpdate=!0,d(m)}),t.load(Xr.resolveURL(u,r.path),g,void 0,p)})}).then(function(u){return c===!0&&o.revokeObjectURL(l),u.userData.mimeType=a.mimeType||y_(a.uri),u}).catch(function(u){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),u});return this.sourceCache[e]=h,h}assignTexture(e,t,n,s){const r=this;return this.getDependency("texture",n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),r.extensions[qe.KHR_TEXTURE_TRANSFORM]){const o=n.extensions!==void 0?n.extensions[qe.KHR_TEXTURE_TRANSFORM]:void 0;if(o){const l=r.associations.get(a);a=r.extensions[qe.KHR_TEXTURE_TRANSFORM].extendTexture(a,o),r.associations.set(a,l)}}return s!==void 0&&(a.colorSpace=s),e[t]=a,a})}assignFinalMaterial(e){const t=e.geometry;let n=e.material;const s=t.attributes.tangent===void 0,r=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){const o="PointsMaterial:"+n.uuid;let l=this.cache.get(o);l||(l=new tc,Wt.prototype.copy.call(l,n),l.color.copy(n.color),l.map=n.map,l.sizeAttenuation=!1,this.cache.add(o,l)),n=l}else if(e.isLine){const o="LineBasicMaterial:"+n.uuid;let l=this.cache.get(o);l||(l=new aa,Wt.prototype.copy.call(l,n),l.color.copy(n.color),l.map=n.map,this.cache.add(o,l)),n=l}if(s||r||a){let o="ClonedMaterial:"+n.uuid+":";s&&(o+="derivative-tangents:"),r&&(o+="vertex-colors:"),a&&(o+="flat-shading:");let l=this.cache.get(o);l||(l=n.clone(),r&&(l.vertexColors=!0),a&&(l.flatShading=!0),s&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(o,l),this.associations.set(l,this.associations.get(n))),n=l}e.material=n}getMaterialType(){return oa}loadMaterial(e){const t=this,n=this.json,s=this.extensions,r=n.materials[e];let a;const o={},l=r.extensions||{},c=[];if(l[qe.KHR_MATERIALS_UNLIT]){const u=s[qe.KHR_MATERIALS_UNLIT];a=u.getMaterialType(),c.push(u.extendParams(o,r,t))}else{const u=r.pbrMetallicRoughness||{};if(o.color=new Pe(1,1,1),o.opacity=1,Array.isArray(u.baseColorFactor)){const d=u.baseColorFactor;o.color.setRGB(d[0],d[1],d[2],dt),o.opacity=d[3]}u.baseColorTexture!==void 0&&c.push(t.assignTexture(o,"map",u.baseColorTexture,Ye)),o.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,o.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,"metalnessMap",u.metallicRoughnessTexture)),c.push(t.assignTexture(o,"roughnessMap",u.metallicRoughnessTexture))),a=this._invokeOne(function(d){return d.getMaterialType&&d.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(d){return d.extendMaterialParams&&d.extendMaterialParams(e,o)})))}r.doubleSided===!0&&(o.side=Gt);const h=r.alphaMode||Ir.OPAQUE;if(h===Ir.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,h===Ir.MASK&&(o.alphaTest=r.alphaCutoff!==void 0?r.alphaCutoff:.5)),r.normalTexture!==void 0&&a!==Nn&&(c.push(t.assignTexture(o,"normalMap",r.normalTexture)),o.normalScale=new Ce(1,1),r.normalTexture.scale!==void 0)){const u=r.normalTexture.scale;o.normalScale.set(u,u)}if(r.occlusionTexture!==void 0&&a!==Nn&&(c.push(t.assignTexture(o,"aoMap",r.occlusionTexture)),r.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=r.occlusionTexture.strength)),r.emissiveFactor!==void 0&&a!==Nn){const u=r.emissiveFactor;o.emissive=new Pe().setRGB(u[0],u[1],u[2],dt)}return r.emissiveTexture!==void 0&&a!==Nn&&c.push(t.assignTexture(o,"emissiveMap",r.emissiveTexture,Ye)),Promise.all(c).then(function(){const u=new a(o);return r.name&&(u.name=r.name),Mn(u,r),t.associations.set(u,{materials:e}),r.extensions&&In(s,u,r),u})}createUniqueName(e){const t=Ze.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,n=this.extensions,s=this.primitiveCache;function r(o){return n[qe.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o,t).then(function(l){return gl(l,o,t)})}const a=[];for(let o=0,l=e.length;o0&&M_(f,r),f.name=t.createUniqueName(r.name||"mesh_"+e),Mn(f,r),m.extensions&&In(s,f,m),t.assignFinalMaterial(f),u.push(f)}for(let p=0,g=u.length;p1?h=new On:c.length===1?h=c[0]:h=new tt,h!==c[0])for(let u=0,d=c.length;u{const u=new Map;for(const[d,p]of s.associations)(d instanceof Wt||d instanceof pt)&&u.set(d,p);return h.traverse(d=>{const p=s.associations.get(d);p!=null&&u.set(d,p)}),u};return s.associations=c(r),r})}_createAnimationTracks(e,t,n,s,r){const a=[],o=e.name?e.name:e.uuid,l=[];xn[r.path]===xn.weights?e.traverse(function(d){d.morphTargetInfluences&&l.push(d.name?d.name:d.uuid)}):l.push(o);let c;switch(xn[r.path]){case xn.weights:c=Ai;break;case xn.rotation:c=Wn;break;case xn.position:case xn.scale:c=wi;break;default:switch(n.itemSize){case 1:c=Ai;break;case 2:case 3:default:c=wi;break}break}const h=s.interpolation!==void 0?__[s.interpolation]:Ei,u=this._getArrayFromAccessor(n);for(let d=0,p=l.length;du?new Date(d).getTime()-p:1,_=_l*1e3/g,m=new qg,f="/models/lupine_plant/scene.gltf",y=.1,v=h.map(T=>R_(T,e.PLATFORM_SIZE,e.PLATFORM_EDGE_FOR_UNKNOWNS));m.load(f,function(T){T.scene.scale.set(0,0,0);for(let w=0;w{t.remove(b),b.dispose()})).start(),e.lights=[...e.lights,b]}}else console.error("Got bad server response status & data of",c.status,c.data),i.setAlert("Error With Server","There was an error retrieving your claims from the server.")}catch(s){console.error("Got exception contacting server:",s),i.setAlert("Error With Server","There was a problem retrieving your claims from the server.")}}function R_(i,e,t){var s,r,a,o;let n;if((r=(s=i==null?void 0:i.claim)==null?void 0:s.recipient)!=null&&r.identifier)n=L_(i.claim.recipient.identifier),n={x:n.x-e/2,z:n.z-e/2};else if((o=(a=i==null?void 0:i.object)==null?void 0:a.isPartOf)!=null&&o.identifier){const l=i.object.isPartOf.identifier;l.startsWith(xl)&&(n=C_(l.substring(xl.length)),n={x:n.x-e/2,z:n.z-e/2})}return n||(n={x:Math.random()<.5?-e/2-t/2:e/2+t/2,z:Math.random()*e-e/2}),n}function C_(i){const e=i.substring(0,13).split("").reverse().join(""),t=i.substring(13,26).split("").reverse().join(""),n="0123456789ABCDEFGHJKMNPQRSTVWXYZ",s=n.indexOf(e[1])*32+n.indexOf(e[0]),r=n.indexOf(t[1])*32+n.indexOf(t[0]),a=100*s/1024,o=100*r/1024;return{x:a,z:o}}function L_(i){if(i.length<51)return{x:0,z:0};{const e=i.substring(11),n=parseInt(+("0x"+e.substring(0,2)),10)*100/256,r=parseInt(+("0x"+e.substring(20,22)),10)*100/256;return{x:n,z:r}}}function P_(){const i=new oc(16777215,0,0,Math.PI/8,.5,0);return i.tick=()=>{},i}function I_(i){const t=new ac().load("img/textures/leafy-autumn-forest-floor.jpg"),n=new ks(i.width,i.height,64,64),s=new cg({color:i.color,flatShading:!0,map:t}),r=new Pt(n,s);return r.position.set(0,0,0),r.rotation.x-=Math.PI*.5,r.geometry.attributes.position.originalPosition=r.geometry.attributes.position.array,r.tick=()=>{},r}const D_=new wg;class U_{constructor(e,t,n){this.camera=e,this.scene=t,this.renderer=n,this.updatables=[]}start(){this.renderer.setAnimationLoop(()=>{this.tick(),this.renderer.render(this.scene,this.camera)})}stop(){this.renderer.setAnimationLoop(null)}tick(){const e=D_.getDelta();for(const t of this.updatables)t.tick(e)}}const vl=(i,e,t)=>{const n=window.innerHeight,s=window.innerWidth-50;e.aspect=s/n,e.updateProjectionMatrix(),t.setSize(s,n),t.setPixelRatio(window.devicePixelRatio)};class N_{constructor(e,t,n){vl(e,t,n),window.addEventListener("resize",()=>{vl(e,t,n),this.onResize()})}onResize(){}}const Ml={type:"change"},Ur={type:"start"},Sl={type:"end"},Ls=new Ji,yl=new vn,O_=Math.cos(70*Os.DEG2RAD);class F_ extends Xn{constructor(e,t){super(),this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new L,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:jn.ROTATE,MIDDLE:jn.DOLLY,RIGHT:jn.PAN},this.touches={ONE:qn.ROTATE,TWO:qn.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return o.phi},this.getAzimuthalAngle=function(){return o.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(R){R.addEventListener("keydown",x),this._domElementKeyEvents=R},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",x),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(Ml),n.update(),r=s.NONE},this.update=function(){const R=new L,$=new Zt().setFromUnitVectors(e.up,new L(0,1,0)),Me=$.clone().invert(),fe=new L,xe=new Zt,Fe=new L,je=2*Math.PI;return function(_e=null){const H=n.object.position;R.copy(H).sub(n.target),R.applyQuaternion($),o.setFromVector3(R),n.autoRotate&&r===s.NONE&&Q(S(_e)),n.enableDamping?(o.theta+=l.theta*n.dampingFactor,o.phi+=l.phi*n.dampingFactor):(o.theta+=l.theta,o.phi+=l.phi);let ce=n.minAzimuthAngle,de=n.maxAzimuthAngle;isFinite(ce)&&isFinite(de)&&(ce<-Math.PI?ce+=je:ce>Math.PI&&(ce-=je),de<-Math.PI?de+=je:de>Math.PI&&(de-=je),ce<=de?o.theta=Math.max(ce,Math.min(de,o.theta)):o.theta=o.theta>(ce+de)/2?Math.max(ce,o.theta):Math.min(de,o.theta)),o.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,o.phi)),o.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(h,n.dampingFactor):n.target.add(h),n.zoomToCursor&&C||n.object.isOrthographicCamera?o.radius=te(o.radius):o.radius=te(o.radius*c),R.setFromSpherical(o),R.applyQuaternion(Me),H.copy(n.target).add(R),n.object.lookAt(n.target),n.enableDamping===!0?(l.theta*=1-n.dampingFactor,l.phi*=1-n.dampingFactor,h.multiplyScalar(1-n.dampingFactor)):(l.set(0,0,0),h.set(0,0,0));let Ge=!1;if(n.zoomToCursor&&C){let Ke=null;if(n.object.isPerspectiveCamera){const Qe=R.length();Ke=te(Qe*c);const At=Qe-Ke;n.object.position.addScaledVector(T,At),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){const Qe=new L(w.x,w.y,0);Qe.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/c)),n.object.updateProjectionMatrix(),Ge=!0;const At=new L(w.x,w.y,0);At.unproject(n.object),n.object.position.sub(At).add(Qe),n.object.updateMatrixWorld(),Ke=R.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Ke!==null&&(this.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Ke).add(n.object.position):(Ls.origin.copy(n.object.position),Ls.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Ls.direction))a||8*(1-xe.dot(n.object.quaternion))>a||Fe.distanceToSquared(n.target)>0?(n.dispatchEvent(Ml),fe.copy(n.object.position),xe.copy(n.object.quaternion),Fe.copy(n.target),Ge=!1,!0):!1}}(),this.dispose=function(){n.domElement.removeEventListener("contextmenu",ee),n.domElement.removeEventListener("pointerdown",we),n.domElement.removeEventListener("pointercancel",be),n.domElement.removeEventListener("wheel",M),n.domElement.removeEventListener("pointermove",le),n.domElement.removeEventListener("pointerup",be),n._domElementKeyEvents!==null&&(n._domElementKeyEvents.removeEventListener("keydown",x),n._domElementKeyEvents=null)};const n=this,s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let r=s.NONE;const a=1e-6,o=new ol,l=new ol;let c=1;const h=new L,u=new Ce,d=new Ce,p=new Ce,g=new Ce,_=new Ce,m=new Ce,f=new Ce,y=new Ce,v=new Ce,T=new L,w=new Ce;let C=!1;const b=[],O={};function S(R){return R!==null?2*Math.PI/60*n.autoRotateSpeed*R:2*Math.PI/60/60*n.autoRotateSpeed}function A(){return Math.pow(.95,n.zoomSpeed)}function Q(R){l.theta-=R}function re(R){l.phi-=R}const z=function(){const R=new L;return function(Me,fe){R.setFromMatrixColumn(fe,0),R.multiplyScalar(-Me),h.add(R)}}(),G=function(){const R=new L;return function(Me,fe){n.screenSpacePanning===!0?R.setFromMatrixColumn(fe,1):(R.setFromMatrixColumn(fe,0),R.crossVectors(n.object.up,R)),R.multiplyScalar(Me),h.add(R)}}(),k=function(){const R=new L;return function(Me,fe){const xe=n.domElement;if(n.object.isPerspectiveCamera){const Fe=n.object.position;R.copy(Fe).sub(n.target);let je=R.length();je*=Math.tan(n.object.fov/2*Math.PI/180),z(2*Me*je/xe.clientHeight,n.object.matrix),G(2*fe*je/xe.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(z(Me*(n.object.right-n.object.left)/n.object.zoom/xe.clientWidth,n.object.matrix),G(fe*(n.object.top-n.object.bottom)/n.object.zoom/xe.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function ne(R){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?c/=R:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function V(R){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?c*=R:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function W(R){if(!n.zoomToCursor)return;C=!0;const $=n.domElement.getBoundingClientRect(),Me=R.clientX-$.left,fe=R.clientY-$.top,xe=$.width,Fe=$.height;w.x=Me/xe*2-1,w.y=-(fe/Fe)*2+1,T.set(w.x,w.y,1).unproject(n.object).sub(n.object.position).normalize()}function te(R){return Math.max(n.minDistance,Math.min(n.maxDistance,R))}function K(R){u.set(R.clientX,R.clientY)}function F(R){W(R),f.set(R.clientX,R.clientY)}function Y(R){g.set(R.clientX,R.clientY)}function me(R){d.set(R.clientX,R.clientY),p.subVectors(d,u).multiplyScalar(n.rotateSpeed);const $=n.domElement;Q(2*Math.PI*p.x/$.clientHeight),re(2*Math.PI*p.y/$.clientHeight),u.copy(d),n.update()}function ve(R){y.set(R.clientX,R.clientY),v.subVectors(y,f),v.y>0?ne(A()):v.y<0&&V(A()),f.copy(y),n.update()}function ye(R){_.set(R.clientX,R.clientY),m.subVectors(_,g).multiplyScalar(n.panSpeed),k(m.x,m.y),g.copy(_),n.update()}function Re(R){W(R),R.deltaY<0?V(A()):R.deltaY>0&&ne(A()),n.update()}function Ie(R){let $=!1;switch(R.code){case n.keys.UP:R.ctrlKey||R.metaKey||R.shiftKey?re(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):k(0,n.keyPanSpeed),$=!0;break;case n.keys.BOTTOM:R.ctrlKey||R.metaKey||R.shiftKey?re(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):k(0,-n.keyPanSpeed),$=!0;break;case n.keys.LEFT:R.ctrlKey||R.metaKey||R.shiftKey?Q(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):k(n.keyPanSpeed,0),$=!0;break;case n.keys.RIGHT:R.ctrlKey||R.metaKey||R.shiftKey?Q(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):k(-n.keyPanSpeed,0),$=!0;break}$&&(R.preventDefault(),n.update())}function q(){if(b.length===1)u.set(b[0].pageX,b[0].pageY);else{const R=.5*(b[0].pageX+b[1].pageX),$=.5*(b[0].pageY+b[1].pageY);u.set(R,$)}}function ge(){if(b.length===1)g.set(b[0].pageX,b[0].pageY);else{const R=.5*(b[0].pageX+b[1].pageX),$=.5*(b[0].pageY+b[1].pageY);g.set(R,$)}}function ue(){const R=b[0].pageX-b[1].pageX,$=b[0].pageY-b[1].pageY,Me=Math.sqrt(R*R+$*$);f.set(0,Me)}function ie(){n.enableZoom&&ue(),n.enablePan&&ge()}function P(){n.enableZoom&&ue(),n.enableRotate&&q()}function Se(R){if(b.length==1)d.set(R.pageX,R.pageY);else{const Me=B(R),fe=.5*(R.pageX+Me.x),xe=.5*(R.pageY+Me.y);d.set(fe,xe)}p.subVectors(d,u).multiplyScalar(n.rotateSpeed);const $=n.domElement;Q(2*Math.PI*p.x/$.clientHeight),re(2*Math.PI*p.y/$.clientHeight),u.copy(d)}function J(R){if(b.length===1)_.set(R.pageX,R.pageY);else{const $=B(R),Me=.5*(R.pageX+$.x),fe=.5*(R.pageY+$.y);_.set(Me,fe)}m.subVectors(_,g).multiplyScalar(n.panSpeed),k(m.x,m.y),g.copy(_)}function oe(R){const $=B(R),Me=R.pageX-$.x,fe=R.pageY-$.y,xe=Math.sqrt(Me*Me+fe*fe);y.set(0,xe),v.set(0,Math.pow(y.y/f.y,n.zoomSpeed)),ne(v.y),f.copy(y)}function he(R){n.enableZoom&&oe(R),n.enablePan&&J(R)}function Le(R){n.enableZoom&&oe(R),n.enableRotate&&Se(R)}function we(R){n.enabled!==!1&&(b.length===0&&(n.domElement.setPointerCapture(R.pointerId),n.domElement.addEventListener("pointermove",le),n.domElement.addEventListener("pointerup",be)),ae(R),R.pointerType==="touch"?D(R):We(R))}function le(R){n.enabled!==!1&&(R.pointerType==="touch"?Z(R):Ee(R))}function be(R){Te(R),b.length===0&&(n.domElement.releasePointerCapture(R.pointerId),n.domElement.removeEventListener("pointermove",le),n.domElement.removeEventListener("pointerup",be)),n.dispatchEvent(Sl),r=s.NONE}function We(R){let $;switch(R.button){case 0:$=n.mouseButtons.LEFT;break;case 1:$=n.mouseButtons.MIDDLE;break;case 2:$=n.mouseButtons.RIGHT;break;default:$=-1}switch($){case jn.DOLLY:if(n.enableZoom===!1)return;F(R),r=s.DOLLY;break;case jn.ROTATE:if(R.ctrlKey||R.metaKey||R.shiftKey){if(n.enablePan===!1)return;Y(R),r=s.PAN}else{if(n.enableRotate===!1)return;K(R),r=s.ROTATE}break;case jn.PAN:if(R.ctrlKey||R.metaKey||R.shiftKey){if(n.enableRotate===!1)return;K(R),r=s.ROTATE}else{if(n.enablePan===!1)return;Y(R),r=s.PAN}break;default:r=s.NONE}r!==s.NONE&&n.dispatchEvent(Ur)}function Ee(R){switch(r){case s.ROTATE:if(n.enableRotate===!1)return;me(R);break;case s.DOLLY:if(n.enableZoom===!1)return;ve(R);break;case s.PAN:if(n.enablePan===!1)return;ye(R);break}}function M(R){n.enabled===!1||n.enableZoom===!1||r!==s.NONE||(R.preventDefault(),n.dispatchEvent(Ur),Re(R),n.dispatchEvent(Sl))}function x(R){n.enabled===!1||n.enablePan===!1||Ie(R)}function D(R){switch(se(R),b.length){case 1:switch(n.touches.ONE){case qn.ROTATE:if(n.enableRotate===!1)return;q(),r=s.TOUCH_ROTATE;break;case qn.PAN:if(n.enablePan===!1)return;ge(),r=s.TOUCH_PAN;break;default:r=s.NONE}break;case 2:switch(n.touches.TWO){case qn.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;ie(),r=s.TOUCH_DOLLY_PAN;break;case qn.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;P(),r=s.TOUCH_DOLLY_ROTATE;break;default:r=s.NONE}break;default:r=s.NONE}r!==s.NONE&&n.dispatchEvent(Ur)}function Z(R){switch(se(R),r){case s.TOUCH_ROTATE:if(n.enableRotate===!1)return;Se(R),n.update();break;case s.TOUCH_PAN:if(n.enablePan===!1)return;J(R),n.update();break;case s.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;he(R),n.update();break;case s.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Le(R),n.update();break;default:r=s.NONE}}function ee(R){n.enabled!==!1&&R.preventDefault()}function ae(R){b.push(R)}function Te(R){delete O[R.pointerId];for(let $=0;$t.update(),t}function z_(){const i=new Ql({antialias:!0});return i.physicallyCorrectLights=!0,i}const El="#dddddd",H_="#0055aa";class mc{constructor(e,t){this.PLATFORM_BORDER=5,this.PLATFORM_EDGE_FOR_UNKNOWNS=10,this.PLATFORM_SIZE=100,this.update=this.update.bind(this),this.vue=t,this.camera=Wg(),this.scene=jg(H_),this.renderer=z_(),this.renderer.outputColorSpace=Ye,this.light=null,this.lights=[],this.bushes=[],this.loop=new U_(this.camera,this.scene,this.renderer),e.append(this.renderer.domElement);const n=B_(this.camera,this.renderer.domElement),{light:s}=Xg(El),r=I_({color:El,height:this.PLATFORM_SIZE+this.PLATFORM_BORDER*2,width:this.PLATFORM_SIZE+this.PLATFORM_BORDER*2+this.PLATFORM_EDGE_FOR_UNKNOWNS*2});this.loop.updatables.push(n),this.loop.updatables.push(s),this.loop.updatables.push(r),this.scene.add(s,r),w_(t,this,this.scene,this.loop),requestAnimationFrame(this.update);const a=new N_(e,this.camera,this.renderer);a.onResize=()=>{this.render()}}update(e){Vg(e),this.lights.forEach(t=>{t.updateMatrixWorld(),t.target.updateMatrixWorld()}),this.lights.forEach(t=>{t.updateMatrixWorld()}),requestAnimationFrame(this.update)}render(){this.renderer.render(this.scene,this.camera)}start(){this.loop.start()}stop(){this.loop.stop()}setExposedWorldProperties(e,t){this.vue.setWorldProperty(e,t)}}var k_=Object.defineProperty,G_=Object.getOwnPropertyDescriptor,V_=(i,e,t,n)=>{for(var s=n>1?void 0:n?G_(e,t):e,r=i.length-1,a;r>=0;r--)(a=i[r])&&(s=(n?a(e,t,s):a(s))||s);return n&&s&&k_(e,t,s),s};let Kr=class extends bc{constructor(){super(...arguments);is(this,"$notify");is(this,"world");is(this,"worldProperties",{})}mounted(){try{const t=document.querySelector("#scene-container"),n=new mc(t,this);n.start(),this.world=n}catch(t){const n=t;this.$notify({group:"alert",type:"danger",title:"Mounting Error",text:n.message},-1)}}captureGraphics(){const t=new Hg;t.setSize(window.innerWidth,window.innerHeight),t.render(this.world.scene,this.world.camera),W_(t,"test.svg")}setWorldProperty(t,n){this.worldProperties[t]=n}};Kr=V_([Ac({components:{World:mc,QuickNav:Lc}})],Kr);function W_(i,e){const s=new XMLSerializer().serializeToString(i.domElement),r=`\r +`,a=new Blob([r,s],{type:"image/svg+xml;charset=utf-8"}),o=URL.createObjectURL(a),l=document.createElement("a");l.href=o,l.download=e,document.body.appendChild(l),l.click(),document.body.removeChild(l)}const X_={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},j_={class:"mb-8"},q_={class:"text-lg text-center font-light relative px-7"},Y_={class:"mt-3"},K_={key:0},Z_={key:1};function $_(i,e,t,n,s,r){const a=xa("QuickNav"),o=xa("fa");return Zs(),qs(Rc,null,[va(a),vt("section",X_,[vt("div",j_,[vt("div",q_,[vt("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=l=>i.$router.back())},[va(o,{icon:"chevron-left",class:"fa-fw"})])]),e[2]||(e[2]=vt("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Achievements & Statistics ",-1))]),e[5]||(e[5]=vt("div",null,[Ys(" Here is a view of the activity you can see. "),vt("ul",{class:"list-disc outside ml-4"},[vt("li",null,"Each identity and claim has a unique position."),vt("li",null," Each will show at their time of appearance relative to all others. "),vt("li",null," Note that the ones on the left and right edges are randomized because their data isn't all visible to you. ")])],-1)),vt("div",Y_,[i.worldProperties.startTime?(Zs(),qs("div",K_,[e[3]||(e[3]=vt("label",null,"Time Range: ",-1)),Ys(" "+Ks(i.worldProperties.startTime)+" - "+Ks(i.worldProperties.endTime),1)])):Ma("",!0),i.worldProperties.animationDurationSeconds?(Zs(),qs("div",Z_,[e[4]||(e[4]=vt("label",null,"Animation Time: ",-1)),Ys(" "+Ks(i.worldProperties.animationDurationSeconds)+" seconds ",1)])):Ma("",!0)]),vt("button",{class:"float-right text-blue-600",onClick:e[1]||(e[1]=l=>i.captureGraphics())}," Screenshot "),e[6]||(e[6]=vt("div",{id:"scene-container",class:"h-screen"},null,-1))])],64)}const rx=wc(Kr,[["render",$_]]);export{rx as default}; diff --git a/dist-electron/assets/TestView-CcyiekfD.js b/dist-electron/assets/TestView-CcyiekfD.js new file mode 100644 index 0000000..4107188 --- /dev/null +++ b/dist-electron/assets/TestView-CcyiekfD.js @@ -0,0 +1 @@ +var T=Object.defineProperty;var Z=(a,e,t)=>e in a?T(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var d=(a,e,t)=>Z(a,typeof e!="symbol"?e+"":e,t);import{r as h,aW as I,aU as b,aX as R,aY as k,aZ as N,a_ as U,a$ as C,b0 as S,b as f}from"./index-MyY_xqVN.js";import{r as M,V as B,f as j,e as w,A as J,C as E,_ as Y,g as y,h as V,i as W,j as s,k as p,p as A,w as O,l as H,t as D,F as G,x as m}from"./index-BLqts8WY.js";import{Q as $}from"./QuickNav-DgCyvgDx.js";import"./index-CsfPLOYu.js";var P=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,X=(a,e,t,o)=>{for(var i=o>1?void 0:o?Q(e,t):e,r=a.length-1,l;r>=0;r--)(l=a[r])&&(i=(o?l(e,t,i):l(i))||i);return o&&i&&P(e,t,i),i};const g=M(),F={vc:{credentialSubject:{"@context":"https://schema.org","@type":"GiveAction",description:"pizza"}}};let v=class extends B{constructor(){super(...arguments);d(this,"$notify");d(this,"fileName");d(this,"credIdHex");d(this,"activeDid");d(this,"jwt");d(this,"peerSetup");d(this,"userName")}async mounted(){const e=await j();this.activeDid=e.activeDid||"",this.userName=e.firstName;const t=await h(this.activeDid);this.activeDid&&(t?this.credIdHex=t.passkeyCredIdHex:alert("No account found for DID "+this.activeDid))}async uploadFile(e){var o;g.value=(o=e.target)==null?void 0:o.files[0];const t=g.value;if(t!=null){const i=new FileReader;i.onload=async r=>{var u;const l=(u=r.target)==null?void 0:u.result;if(l){const c=new Blob([new Uint8Array(l)],{type:t.type}),n=await I(c);this.fileName=t.name,await w.temp.get(b)?await w.temp.update(b,{blobB64:n}):await w.temp.add({id:b,blobB64:n})}},i.readAsArrayBuffer(t)}}showFileNextStep(){return!!g.value}async register(){const e=J.APP_NAME+" Tester";if(!this.userName){this.$notify({group:"modal",type:"confirm",title:"No Name",text:"You should have a name to attach to this passkey. Would you like to enter your own name first?",onNo:async()=>{this.userName=e},onYes:async()=>{this.$router.push({name:"new-edit-account"})},noText:"try again and use "+e},-1);return}const t=await R(J.APP_NAME+" - "+this.userName);this.activeDid=t.did,this.credIdHex=t.passkeyCredIdHex}async createJwtSimplewebauthn(){const e=await h(this.activeDid||"");if(!k(e)){alert(`The DID ${this.activeDid} is not passkey-enabled.`);return}this.peerSetup=new N,this.jwt=await this.peerSetup.createJwtSimplewebauthn(this.activeDid,F,this.credIdHex),console.log("simple jwt4url",this.jwt)}async createJwtNavigator(){const e=await h(this.activeDid||"");if(!k(e)){alert(`The DID ${this.activeDid} is not passkey-enabled.`);return}this.peerSetup=new N,this.jwt=await this.peerSetup.createJwtNavigator(this.activeDid,F,this.credIdHex),console.log("lower jwt4url",this.jwt)}async verifyP256(){var t,o,i,r;const e=await U(this.credIdHex,this.activeDid,(t=this.peerSetup)==null?void 0:t.authenticatorData,(o=this.peerSetup)==null?void 0:o.challenge,(i=this.peerSetup)==null?void 0:i.clientDataJsonBase64Url,(r=this.peerSetup)==null?void 0:r.signature);console.log("decoded",e)}async verifySimplewebauthn(){var t,o,i,r;const e=await C(this.credIdHex,this.activeDid,(t=this.peerSetup)==null?void 0:t.authenticatorData,(o=this.peerSetup)==null?void 0:o.challenge,(i=this.peerSetup)==null?void 0:i.clientDataJsonBase64Url,(r=this.peerSetup)==null?void 0:r.signature);console.log("decoded",e)}async verifyWebCrypto(){var t,o,i,r;const e=await S(this.credIdHex,this.activeDid,(t=this.peerSetup)==null?void 0:t.authenticatorData,(o=this.peerSetup)==null?void 0:o.challenge,(i=this.peerSetup)==null?void 0:i.clientDataJsonBase64Url,(r=this.peerSetup)==null?void 0:r.signature);console.log("decoded",e)}async verifyMyJwt(){const e="did:peer:0zKMFjvUgYrM1hXwDciYHiA9MxXtJPXnRLJvqoMNAKoDLX9pKMWLb3VDsgua1p2zW1xXRsjZSTNsfvMnNyMS7dB4k7NAhFwL3pXBrBXgyYJ9ri",o="eyJ0eXAiOiJKV0FOVCIsImFsZyI6IkVTMjU2In0.eyJBdXRoZW50aWNhdGlvbkRhdGFCNjRVUkwiOiJTWllONVlnT2pHaDBOQmNQWkhaZ1c0X2tycm1paGpMSG1Wenp1b01kbDJNRkFBQUFBQSIsIkNsaWVudERhdGFKU09OQjY0VVJMIjoiZXlKMGVYQmxJam9pZDJWaVlYVjBhRzR1WjJWMElpd2lZMmhoYkd4bGJtZGxJam9pWlhsS01sbDVTVFpsZVVwcVkyMVdhMXBYTlRCaFYwWnpWVE5XYVdGdFZtcGtRMGsyWlhsS1FWa3lPWFZrUjFZMFpFTkpOa2x0YURCa1NFSjZUMms0ZG1NeVRtOWFWekZvVEcwNWVWcDVTWE5KYTBJd1pWaENiRWxxYjJsU01td3lXbFZHYW1SSGJIWmlhVWx6U1cxU2JHTXlUbmxoV0VJd1lWYzVkVWxxYjJsalIydzJaVzFGYVdaWU1ITkpiV3hvWkVOSk5rMVVZM2hQUkZVMFRtcHJOVTFEZDJsaFdFNTZTV3B2YVZwSGJHdFBia0pzV2xoSk5rMUljRXhVVlZweFpHeFdibGRZU2s1TlYyaFpaREJTYW1GV2JFbGhWVVUxVkZob1dXUkZjRkZYUnpWVFZFVndNbU5YT1U1VWEwWk1ZakJTVFZkRWJIZFRNREZZVkVkSmVsWnJVbnBhTTFab1RWaEJlV1ZzWTNobFJtaFRZekp3WVZVeFVrOWpNbG95VkZjMVQyVlZNVlJPTWxKRFRrZHpNMVJyUm05U2JtUk5UVE5DV1ZGdVNrTlhSMlExVjFWdk5XTnRhMmxtVVNJc0ltOXlhV2RwYmlJNkltaDBkSEE2THk5c2IyTmhiR2h2YzNRNk9EQTRNQ0lzSW1OeWIzTnpUM0pwWjJsdUlqcG1ZV3h6WlgwIiwiaWF0IjoxNzE4NTg2OTkyLCJpc3MiOiJkaWQ6cGVlcjowektNRmp2VWdZck0xaFh3RGNpWUhpQTlNeFh0SlBYblJMSnZxb01OQUtvRExYOXBLTVdMYjNWRHNndWExcDJ6VzF4WFJzalpTVE5zZnZNbk55TVM3ZEI0azdOQWhGd0wzcFhCckJYZ3lZSjlyaSJ9.MEUCIQDJyCTbMPIFnuBoW3FYnlgtDEIHZ2OrkCEvqVnHU7kJDQIgVxjBjfW1TwQfcSOYwK8Z7AdCWGJlyxtLEsrnPif7caE".split("."),i=JSON.parse(f.Buffer.from(o[1],"base64").toString()),r=f.Buffer.from(i.AuthenticationDataB64URL,"base64"),l=f.Buffer.from(i.ClientDataJSONB64URL,"base64").toString(),c=JSON.parse(l).challenge,n=o[2],x=await S(this.credIdHex,e,r,c,i.ClientDataJSONB64URL,n);console.log("decoded",x)}};v=X([E({components:{QuickNav:$}})],v);const z={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},L={class:"mb-8"},K={class:"text-lg text-center font-light relative px-7"},q={class:"mt-8"},_={class:"mt-8"},ee={key:0},te={key:1};function se(a,e,t,o,i,r){const l=y("QuickNav"),u=y("fa"),c=y("router-link");return m(),V(G,null,[W(l),s("section",z,[s("div",L,[s("div",K,[s("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=n=>a.$router.back())},[W(u,{icon:"chevron-left",class:"fa-fw"})])]),e[13]||(e[13]=s("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Test ",-1))]),s("div",null,[e[14]||(e[14]=s("h2",{class:"text-xl font-bold mb-4"},"Notiwind Alerts",-1)),s("button",{onClick:e[1]||(e[1]=n=>this.$notify({group:"alert",type:"info",title:"Information Alert",text:"Just wanted you to know."},-1)),class:"font-bold uppercase bg-slate-600 text-white px-3 py-2 rounded-md mr-2"}," Info "),s("button",{onClick:e[2]||(e[2]=n=>this.$notify({group:"alert",type:"success",title:"Success Alert",text:"Congratulations!"},-1)),class:"font-bold uppercase bg-emerald-600 text-white px-3 py-2 rounded-md mr-2"}," Success "),s("button",{onClick:e[3]||(e[3]=n=>this.$notify({group:"alert",type:"warning",title:"Warning Alert",text:"You might wanna look at this."},-1)),class:"font-bold uppercase bg-amber-600 text-white px-3 py-2 rounded-md mr-2"}," Warning "),s("button",{onClick:e[4]||(e[4]=n=>this.$notify({group:"alert",type:"danger",title:"Danger Alert",text:"Something terrible has happened!"},-1)),class:"font-bold uppercase bg-rose-600 text-white px-3 py-2 rounded-md mr-2"}," Danger ")]),s("div",q,[e[16]||(e[16]=s("h2",{class:"text-xl font-bold mb-4"},"Image Sharing",-1)),e[17]||(e[17]=p(' Populates the "shared-photo" view as if they used "share_target". ')),s("input",{type:"file","data-testId":"fileInput",onChange:e[5]||(e[5]=(...n)=>a.uploadFile&&a.uploadFile(...n))},null,32),a.showFileNextStep()?(m(),A(c,{key:0,to:{name:"shared-photo",query:{fileName:a.fileName}},class:"block w-full text-center text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md mb-2 mt-2","data-testId":"fileUploadButton"},{default:O(()=>e[15]||(e[15]=[p(" Go to Shared Page ")])),_:1},8,["to"])):H("",!0)]),s("div",_,[e[21]||(e[21]=s("h2",{class:"text-xl font-bold mb-4"},"Passkeys",-1)),e[22]||(e[22]=p(" See console for results. ")),e[23]||(e[23]=s("br",null,null,-1)),e[24]||(e[24]=p(" See existing passkeys in Chrome at: chrome://settings/passkeys ")),e[25]||(e[25]=s("br",null,null,-1)),p(" Active DID: "+D(a.activeDid||"nothing, which")+" "+D(a.credIdHex?"has a passkey ID":"has no passkey ID")+" ",1),s("div",null,[e[18]||(e[18]=p(" Register Passkey ")),s("button",{onClick:e[6]||(e[6]=n=>a.register()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," Simplewebauthn ")]),s("div",null,[e[19]||(e[19]=p(" Create JWT ")),s("button",{onClick:e[7]||(e[7]=n=>a.createJwtSimplewebauthn()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," Simplewebauthn "),s("button",{onClick:e[8]||(e[8]=n=>a.createJwtNavigator()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," Navigator ")]),a.jwt?(m(),V("div",ee,[e[20]||(e[20]=p(" Verify New JWT ")),s("button",{onClick:e[9]||(e[9]=n=>a.verifySimplewebauthn()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," Simplewebauthn "),s("button",{onClick:e[10]||(e[10]=n=>a.verifyWebCrypto()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," WebCrypto "),s("button",{onClick:e[11]||(e[11]=n=>a.verifyP256()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," p256 - broken ")])):(m(),V("div",te,"Verify New JWT -- requires creation first")),s("button",{onClick:e[12]||(e[12]=n=>a.verifyMyJwt()),class:"font-bold uppercase bg-slate-500 text-white px-3 py-2 rounded-md mr-2"}," Verify Hard-Coded JWT ")])])],64)}const le=Y(v,[["render",se]]);export{le as default}; diff --git a/dist-electron/assets/TopMessage-BE0GBIgW.js b/dist-electron/assets/TopMessage-BE0GBIgW.js new file mode 100644 index 0000000..9b8eb6d --- /dev/null +++ b/dist-electron/assets/TopMessage-BE0GBIgW.js @@ -0,0 +1 @@ +var _=Object.defineProperty;var u=(r,t,s)=>t in r?_(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s;var i=(r,t,s)=>u(r,typeof t!="symbol"?t+"":t,s);import{aa as f,C as g,V as v,f as m,A as p,_ as x,g as h,x as S,h as P,j as l,t as D,i as E,w as R,k as w}from"./index-BLqts8WY.js";var y=Object.defineProperty,O=Object.getOwnPropertyDescriptor,d=(r,t,s,o)=>{for(var e=o>1?void 0:o?O(t,s):t,a=r.length-1,n;a>=0;a--)(n=r[a])&&(e=(o?n(t,s,e):n(e))||e);return o&&e&&y(t,s,e),e};let c=class extends v{constructor(){super(...arguments);i(this,"$notify");i(this,"selected","");i(this,"message","")}async mounted(){var s,o;try{const e=await m();if(e.warnIfTestServer&&e.apiServer!==p.PROD_ENDORSER_API_SERVER){const a=(s=e.activeDid)==null?void 0:s.slice(11,15);this.message="You're linked to a non-prod server, user "+a}else if(e.warnIfProdServer&&e.apiServer===p.PROD_ENDORSER_API_SERVER){const a=(o=e.activeDid)==null?void 0:o.slice(11,15);this.message="You're linked to the production server, user "+a}}catch(e){this.$notify({group:"alert",type:"danger",title:"Error Detecting Server",text:JSON.stringify(e)},-1)}}};d([f],c.prototype,"selected",2);c=d([g],c);const b={class:"absolute right-5 top-3"},V={class:"align-center text-red-500 mr-2"},$={class:"ml-2"};function A(r,t,s,o,e,a){const n=h("router-link");return S(),P("div",b,[l("span",V,D(r.message),1),l("span",$,[E(n,{to:{name:"help"},class:"text-xs uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md ml-1"},{default:R(()=>t[0]||(t[0]=[w(" Help ")])),_:1})])])}const I=x(c,[["render",A]]);export{I as T}; diff --git a/dist-electron/assets/UserNameDialog-B8a82q1n.js b/dist-electron/assets/UserNameDialog-B8a82q1n.js new file mode 100644 index 0000000..96fc9c6 --- /dev/null +++ b/dist-electron/assets/UserNameDialog-B8a82q1n.js @@ -0,0 +1 @@ +var c=Object.defineProperty;var p=(t,e,s)=>e in t?c(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var n=(t,e,s)=>p(t,typeof e!="symbol"?e+"":e,s);import{C as b,V as m,f as v,e as u,M as g,_ as f,x as h,h as _,j as i,k as x,m as N,s as C,l as w}from"./index-BLqts8WY.js";var y=Object.defineProperty,k=Object.getOwnPropertyDescriptor,S=(t,e,s,o)=>{for(var a=o>1?void 0:o?k(e,s):e,r=t.length-1,l;r>=0;r--)(l=t[r])&&(a=(o?l(e,s,a):l(a))||a);return o&&a&&y(e,s,a),a};let d=class extends m{constructor(){super(...arguments);n(this,"$notify");n(this,"callback",()=>{});n(this,"givenName","");n(this,"visible",!1)}async open(s){this.callback=s||this.callback;const o=await v();this.givenName=o.firstName||"",this.visible=!0}async onClickSaveChanges(){await u.settings.update(g,{firstName:this.givenName}),this.visible=!1,this.callback(this.givenName)}onClickCancel(){this.visible=!1}};d=S([b],d);const $={key:0,class:"dialog-overlay"},D={class:"dialog"},T={class:"mt-8"},V={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function U(t,e,s,o,a,r){return t.visible?(h(),_("div",$,[i("div",D,[e[3]||(e[3]=i("h1",{class:"text-xl font-bold text-center mb-4"},"Set Your Name",-1)),e[4]||(e[4]=x(" This is not sent to servers. It is only shared with people when you send it to them. ")),N(i("input",{type:"text",placeholder:"Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2","onUpdate:modelValue":e[0]||(e[0]=l=>t.givenName=l)},null,512),[[C,t.givenName]]),i("div",T,[i("div",V,[i("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[1]||(e[1]=l=>t.onClickSaveChanges())}," Save "),i("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[2]||(e[2]=l=>t.onClickCancel())}," Cancel ")])])])])):w("",!0)}const j=f(d,[["render",U]]);export{j as U}; diff --git a/dist-electron/assets/blank-square-D9dGgMJw.js b/dist-electron/assets/blank-square-D9dGgMJw.js new file mode 100644 index 0000000..fb6e656 --- /dev/null +++ b/dist-electron/assets/blank-square-D9dGgMJw.js @@ -0,0 +1 @@ +const t="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3e%3crect%20width='64'%20height='64'%20fill='%23ffffff'%3e%3c/rect%3e%3c/svg%3e";export{t as _}; diff --git a/dist-electron/assets/chrome-install-pwa-DuUggvhZ.png b/dist-electron/assets/chrome-install-pwa-DuUggvhZ.png new file mode 100644 index 0000000000000000000000000000000000000000..21306160a2586f7f975a73192e77170360c1df91 GIT binary patch literal 5188 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 literal 0 HcmV?d00001 diff --git a/dist-electron/assets/concat-BK8PKeDS.js b/dist-electron/assets/concat-BK8PKeDS.js new file mode 100644 index 0000000..b596c8d --- /dev/null +++ b/dist-electron/assets/concat-BK8PKeDS.js @@ -0,0 +1 @@ +import{K as b,J as v}from"./index-BLqts8WY.js";import{$ as O,U as g,W as f,a6 as m,Q as p,O as y}from"./index-MyY_xqVN.js";function w(t,e,n){var o,r;if(typeof t.indexOf=="function")switch(typeof e){case"number":if(e===0){for(o=1/e;n=0}function s(t){var e=t.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return'"'+e.replace(/"/g,'\\"')+'"'}var a=function(e){return(e<10?"0":"")+e},_=typeof Date.prototype.toISOString=="function"?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+a(e.getUTCMonth()+1)+"-"+a(e.getUTCDate())+"T"+a(e.getUTCHours())+":"+a(e.getUTCMinutes())+":"+a(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};function S(t,e){var n=function(i){var c=e.concat([t]);return h(i,c)?"":S(i,c)},o=function(u,i){return f(function(c){return s(c)+": "+n(u[c])},i.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+f(n,t).join(", ")+"))";case"[object Array]":return"["+f(n,t).concat(o(t,m(function(u){return/^\d+$/.test(u)},g(t)))).join(", ")+"]";case"[object Boolean]":return typeof t=="object"?"new Boolean("+n(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?n(NaN):s(_(t)))+")";case"[object Map]":return"new Map("+n(Array.from(t))+")";case"[object Null]":return"null";case"[object Number]":return typeof t=="object"?"new Number("+n(t.valueOf())+")":1/t===-1/0?"-0":t.toString(10);case"[object Set]":return"new Set("+n(Array.from(t).sort())+")";case"[object String]":return typeof t=="object"?"new String("+n(t.valueOf())+")":s(t);case"[object Undefined]":return"undefined";default:if(typeof t.toString=="function"){var r=t.toString();if(r!=="[object Object]")return r}return"{"+o(t,g(t)).join(", ")+"}"}}var l=b(function(e){return S(e,[])});function j(t){var e=Object.prototype.toString.call(t);return e==="[object Function]"||e==="[object AsyncFunction]"||e==="[object GeneratorFunction]"||e==="[object AsyncGeneratorFunction]"}var C=v(function(e,n){if(p(e)){if(p(n))return e.concat(n);throw new TypeError(l(n)+" is not an array")}if(y(e)){if(y(n))return e+n;throw new TypeError(l(n)+" is not a string")}if(e!=null&&j(e["fantasy-land/concat"]))return e["fantasy-land/concat"](n);if(e!=null&&j(e.concat))return e.concat(n);throw new TypeError(l(e)+' does not have a method named "concat" or "fantasy-land/concat"')});export{j as _,h as a,w as b,C as c,S as d,l as t}; diff --git a/dist-electron/assets/datetime-BDQ5ptpc.js b/dist-electron/assets/datetime-BDQ5ptpc.js new file mode 100644 index 0000000..ab4b6bd --- /dev/null +++ b/dist-electron/assets/datetime-BDQ5ptpc.js @@ -0,0 +1 @@ +class P extends Error{}class qn extends P{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class Hn extends P{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class Yn extends P{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class K extends P{}class $t extends P{constructor(e){super(`Invalid unit ${e}`)}}class N extends P{}class Z extends P{constructor(){super("Zone is an abstract class")}}const c="numeric",W="short",M="long",De={year:c,month:c,day:c},Zt={year:c,month:W,day:c},Pn={year:c,month:W,day:c,weekday:W},At={year:c,month:M,day:c},Ut={year:c,month:M,day:c,weekday:M},zt={hour:c,minute:c},Rt={hour:c,minute:c,second:c},qt={hour:c,minute:c,second:c,timeZoneName:W},Ht={hour:c,minute:c,second:c,timeZoneName:M},Yt={hour:c,minute:c,hourCycle:"h23"},Pt={hour:c,minute:c,second:c,hourCycle:"h23"},Gt={hour:c,minute:c,second:c,hourCycle:"h23",timeZoneName:W},Jt={hour:c,minute:c,second:c,hourCycle:"h23",timeZoneName:M},_t={year:c,month:c,day:c,hour:c,minute:c},Bt={year:c,month:c,day:c,hour:c,minute:c,second:c},jt={year:c,month:W,day:c,hour:c,minute:c},Qt={year:c,month:W,day:c,hour:c,minute:c,second:c},Gn={year:c,month:W,day:c,weekday:W,hour:c,minute:c},Kt={year:c,month:M,day:c,hour:c,minute:c,timeZoneName:W},Xt={year:c,month:M,day:c,hour:c,minute:c,second:c,timeZoneName:W},en={year:c,month:M,day:c,weekday:M,hour:c,minute:c,timeZoneName:M},tn={year:c,month:M,day:c,weekday:M,hour:c,minute:c,second:c,timeZoneName:M};class me{get type(){throw new Z}get name(){throw new Z}get ianaName(){return this.name}get isUniversal(){throw new Z}offsetName(e,t){throw new Z}formatOffset(e,t){throw new Z}offset(e){throw new Z}equals(e){throw new Z}get isValid(){throw new Z}}let Ze=null;class Ve extends me{static get instance(){return Ze===null&&(Ze=new Ve),Ze}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return fn(e,t,r)}formatOffset(e,t){return de(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}}let Ne={};function Jn(n){return Ne[n]||(Ne[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),Ne[n]}const _n={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function Bn(n,e){const t=n.format(e).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(t),[,s,i,a,o,u,l,f]=r;return[a,s,i,o,u,l,f]}function jn(n,e){const t=n.formatToParts(e),r=[];for(let s=0;s=0?v:1e3+v,(O-m)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}}let ot={};function Qn(n,e={}){const t=JSON.stringify([n,e]);let r=ot[t];return r||(r=new Intl.ListFormat(n,e),ot[t]=r),r}let Pe={};function Ge(n,e={}){const t=JSON.stringify([n,e]);let r=Pe[t];return r||(r=new Intl.DateTimeFormat(n,e),Pe[t]=r),r}let Je={};function Kn(n,e={}){const t=JSON.stringify([n,e]);let r=Je[t];return r||(r=new Intl.NumberFormat(n,e),Je[t]=r),r}let _e={};function Xn(n,e={}){const{base:t,...r}=e,s=JSON.stringify([n,r]);let i=_e[s];return i||(i=new Intl.RelativeTimeFormat(n,e),_e[s]=i),i}let ce=null;function er(){return ce||(ce=new Intl.DateTimeFormat().resolvedOptions().locale,ce)}let ut={};function tr(n){let e=ut[n];if(!e){const t=new Intl.Locale(n);e="getWeekInfo"in t?t.getWeekInfo():t.weekInfo,ut[n]=e}return e}function nr(n){const e=n.indexOf("-x-");e!==-1&&(n=n.substring(0,e));const t=n.indexOf("-u-");if(t===-1)return[n];{let r,s;try{r=Ge(n).resolvedOptions(),s=n}catch{const u=n.substring(0,t);r=Ge(u).resolvedOptions(),s=u}const{numberingSystem:i,calendar:a}=r;return[s,i,a]}}function rr(n,e,t){return(t||e)&&(n.includes("-u-")||(n+="-u"),t&&(n+=`-ca-${t}`),e&&(n+=`-nu-${e}`)),n}function sr(n){const e=[];for(let t=1;t<=12;t++){const r=h.utc(2009,t,1);e.push(n(r))}return e}function ir(n){const e=[];for(let t=1;t<=7;t++){const r=h.utc(2016,11,13+t);e.push(n(r))}return e}function Te(n,e,t,r){const s=n.listingMode();return s==="error"?null:s==="en"?t(e):r(e)}function ar(n){return n.numberingSystem&&n.numberingSystem!=="latn"?!1:n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}class or{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;const{padTo:s,floor:i,...a}=r;if(!t||Object.keys(a).length>0){const o={useGrouping:!1,...r};r.padTo>0&&(o.minimumIntegerDigits=r.padTo),this.inf=Kn(e,o)}}format(e){if(this.inf){const t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{const t=this.floor?Math.floor(e):tt(e,3);return p(t,this.padTo)}}}class ur{constructor(e,t,r){this.opts=r,this.originalZone=void 0;let s;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){const a=-1*(e.offset/60),o=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&$.create(o).valid?(s=o,this.dt=e):(s="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,s=e.zone.name):(s="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);const i={...this.opts};i.timeZone=i.timeZone||s,this.dtf=Ge(t,i)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(t=>{if(t.type==="timeZoneName"){const r=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...t,value:r}}else return t}):e}resolvedOptions(){return this.dtf.resolvedOptions()}}class lr{constructor(e,t,r){this.opts={style:"long",...r},!t&&ln()&&(this.rtf=Xn(e,r))}format(e,t){return this.rtf?this.rtf.format(e,t):Vr(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}const cr={firstDay:1,minimalDays:4,weekend:[6,7]};class k{static fromOpts(e){return k.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,r,s,i=!1){const a=e||S.defaultLocale,o=a||(i?"en-US":er()),u=t||S.defaultNumberingSystem,l=r||S.defaultOutputCalendar,f=Be(s)||S.defaultWeekSettings;return new k(o,u,l,f,a)}static resetCache(){ce=null,Pe={},Je={},_e={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r,weekSettings:s}={}){return k.create(e,t,r,s)}constructor(e,t,r,s,i){const[a,o,u]=nr(e);this.locale=a,this.numberingSystem=t||o||null,this.outputCalendar=r||u||null,this.weekSettings=s,this.intl=rr(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=ar(this)),this.fastNumbersCached}listingMode(){const e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:k.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,Be(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return Te(this,e,mn,()=>{const r=t?{month:e,day:"numeric"}:{month:e},s=t?"format":"standalone";return this.monthsCache[s][e]||(this.monthsCache[s][e]=sr(i=>this.extract(i,r,"month"))),this.monthsCache[s][e]})}weekdays(e,t=!1){return Te(this,e,wn,()=>{const r=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},s=t?"format":"standalone";return this.weekdaysCache[s][e]||(this.weekdaysCache[s][e]=ir(i=>this.extract(i,r,"weekday"))),this.weekdaysCache[s][e]})}meridiems(){return Te(this,void 0,()=>kn,()=>{if(!this.meridiemCache){const e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[h.utc(2016,11,13,9),h.utc(2016,11,13,19)].map(t=>this.extract(t,e,"dayperiod"))}return this.meridiemCache})}eras(e){return Te(this,e,Tn,()=>{const t={era:e};return this.eraCache[e]||(this.eraCache[e]=[h.utc(-40,1,1),h.utc(2017,1,1)].map(r=>this.extract(r,t,"era"))),this.eraCache[e]})}extract(e,t,r){const s=this.dtFormatter(e,t),i=s.formatToParts(),a=i.find(o=>o.type.toLowerCase()===r);return a?a.value:null}numberFormatter(e={}){return new or(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new ur(e,this.intl,t)}relFormatter(e={}){return new lr(this.intl,this.isEnglish(),e)}listFormatter(e={}){return Qn(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:cn()?tr(this.locale):cr}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let Ae=null;class E extends me{static get utcInstance(){return Ae===null&&(Ae=new E(0)),Ae}static instance(e){return e===0?E.utcInstance:new E(e)}static parseSpecifier(e){if(e){const t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new E(Le(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${de(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${de(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return de(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}}class fr extends me{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function z(n,e){if(d(n)||n===null)return e;if(n instanceof me)return n;if(wr(n)){const t=n.toLowerCase();return t==="default"?e:t==="local"||t==="system"?Ve.instance:t==="utc"||t==="gmt"?E.utcInstance:E.parseSpecifier(t)||$.create(n)}else return R(n)?E.instance(n):typeof n=="object"&&"offset"in n&&typeof n.offset=="function"?n:new fr(n)}const Qe={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},lt={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},dr=Qe.hanidec.replace(/[\[|\]]/g,"").split("");function hr(n){let e=parseInt(n,10);if(isNaN(e)){e="";for(let t=0;t=i&&r<=a&&(e+=r-i)}}return parseInt(e,10)}else return e}let Q={};function mr(){Q={}}function F({numberingSystem:n},e=""){const t=n||"latn";return Q[t]||(Q[t]={}),Q[t][e]||(Q[t][e]=new RegExp(`${Qe[t]}${e}`)),Q[t][e]}let ct=()=>Date.now(),ft="system",dt=null,ht=null,mt=null,yt=60,gt,wt=null;class S{static get now(){return ct}static set now(e){ct=e}static set defaultZone(e){ft=e}static get defaultZone(){return z(ft,Ve.instance)}static get defaultLocale(){return dt}static set defaultLocale(e){dt=e}static get defaultNumberingSystem(){return ht}static set defaultNumberingSystem(e){ht=e}static get defaultOutputCalendar(){return mt}static set defaultOutputCalendar(e){mt=e}static get defaultWeekSettings(){return wt}static set defaultWeekSettings(e){wt=Be(e)}static get twoDigitCutoffYear(){return yt}static set twoDigitCutoffYear(e){yt=e%100}static get throwOnInvalid(){return gt}static set throwOnInvalid(e){gt=e}static resetCaches(){k.resetCache(),$.resetCache(),h.resetCache(),mr()}}class C{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const nn=[0,31,59,90,120,151,181,212,243,273,304,334],rn=[0,31,60,91,121,152,182,213,244,274,305,335];function x(n,e){return new C("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${n}, which is invalid`)}function Ke(n,e,t){const r=new Date(Date.UTC(n,e-1,t));n<100&&n>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);const s=r.getUTCDay();return s===0?7:s}function sn(n,e,t){return t+(ye(n)?rn:nn)[e-1]}function an(n,e){const t=ye(n)?rn:nn,r=t.findIndex(i=>ihe(r,e,t)?(l=r+1,u=1):l=r,{weekYear:l,weekNumber:u,weekday:o,...$e(n)}}function kt(n,e=4,t=1){const{weekYear:r,weekNumber:s,weekday:i}=n,a=Xe(Ke(r,1,e),t),o=X(r);let u=s*7+i-a-7+e,l;u<1?(l=r-1,u+=X(l)):u>o?(l=r+1,u-=X(r)):l=r;const{month:f,day:y}=an(l,u);return{year:l,month:f,day:y,...$e(n)}}function Ue(n){const{year:e,month:t,day:r}=n,s=sn(e,t,r);return{year:e,ordinal:s,...$e(n)}}function Tt(n){const{year:e,ordinal:t}=n,{month:r,day:s}=an(e,t);return{year:e,month:r,day:s,...$e(n)}}function St(n,e){if(!d(n.localWeekday)||!d(n.localWeekNumber)||!d(n.localWeekYear)){if(!d(n.weekday)||!d(n.weekNumber)||!d(n.weekYear))throw new K("Cannot mix locale-based week fields with ISO-based week fields");return d(n.localWeekday)||(n.weekday=n.localWeekday),d(n.localWeekNumber)||(n.weekNumber=n.localWeekNumber),d(n.localWeekYear)||(n.weekYear=n.localWeekYear),delete n.localWeekday,delete n.localWeekNumber,delete n.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function yr(n,e=4,t=1){const r=Ce(n.weekYear),s=b(n.weekNumber,1,he(n.weekYear,e,t)),i=b(n.weekday,1,7);return r?s?i?!1:x("weekday",n.weekday):x("week",n.weekNumber):x("weekYear",n.weekYear)}function gr(n){const e=Ce(n.year),t=b(n.ordinal,1,X(n.year));return e?t?!1:x("ordinal",n.ordinal):x("year",n.year)}function on(n){const e=Ce(n.year),t=b(n.month,1,12),r=b(n.day,1,be(n.year,n.month));return e?t?r?!1:x("day",n.day):x("month",n.month):x("year",n.year)}function un(n){const{hour:e,minute:t,second:r,millisecond:s}=n,i=b(e,0,23)||e===24&&t===0&&r===0&&s===0,a=b(t,0,59),o=b(r,0,59),u=b(s,0,999);return i?a?o?u?!1:x("millisecond",s):x("second",r):x("minute",t):x("hour",e)}function d(n){return typeof n>"u"}function R(n){return typeof n=="number"}function Ce(n){return typeof n=="number"&&n%1===0}function wr(n){return typeof n=="string"}function kr(n){return Object.prototype.toString.call(n)==="[object Date]"}function ln(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function cn(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function Tr(n){return Array.isArray(n)?n:[n]}function Ot(n,e,t){if(n.length!==0)return n.reduce((r,s)=>{const i=[e(s),s];return r&&t(r[0],i[0])===r[0]?r:i},null)[1]}function Sr(n,e){return e.reduce((t,r)=>(t[r]=n[r],t),{})}function te(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function Be(n){if(n==null)return null;if(typeof n!="object")throw new N("Week settings must be an object");if(!b(n.firstDay,1,7)||!b(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some(e=>!b(e,1,7)))throw new N("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}function b(n,e,t){return Ce(n)&&n>=e&&n<=t}function Or(n,e){return n-e*Math.floor(n/e)}function p(n,e=2){const t=n<0;let r;return t?r="-"+(""+-n).padStart(e,"0"):r=(""+n).padStart(e,"0"),r}function U(n){if(!(d(n)||n===null||n===""))return parseInt(n,10)}function q(n){if(!(d(n)||n===null||n===""))return parseFloat(n)}function et(n){if(!(d(n)||n===null||n==="")){const e=parseFloat("0."+n)*1e3;return Math.floor(e)}}function tt(n,e,t=!1){const r=10**e;return(t?Math.trunc:Math.round)(n*r)/r}function ye(n){return n%4===0&&(n%100!==0||n%400===0)}function X(n){return ye(n)?366:365}function be(n,e){const t=Or(e-1,12)+1,r=n+(e-t)/12;return t===2?ye(r)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][t-1]}function We(n){let e=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);return n.year<100&&n.year>=0&&(e=new Date(e),e.setUTCFullYear(n.year,n.month-1,n.day)),+e}function pt(n,e,t){return-Xe(Ke(n,1,e),t)+e-1}function he(n,e=4,t=1){const r=pt(n,e,t),s=pt(n+1,e,t);return(X(n)-r+s)/7}function je(n){return n>99?n:n>S.twoDigitCutoffYear?1900+n:2e3+n}function fn(n,e,t,r=null){const s=new Date(n),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(i.timeZone=r);const a={timeZoneName:e,...i},o=new Intl.DateTimeFormat(t,a).formatToParts(s).find(u=>u.type.toLowerCase()==="timezonename");return o?o.value:null}function Le(n,e){let t=parseInt(n,10);Number.isNaN(t)&&(t=0);const r=parseInt(e,10)||0,s=t<0||Object.is(t,-0)?-r:r;return t*60+s}function dn(n){const e=Number(n);if(typeof n=="boolean"||n===""||Number.isNaN(e))throw new N(`Invalid unit value ${n}`);return e}function Fe(n,e){const t={};for(const r in n)if(te(n,r)){const s=n[r];if(s==null)continue;t[e(r)]=dn(s)}return t}function de(n,e){const t=Math.trunc(Math.abs(n/60)),r=Math.trunc(Math.abs(n%60)),s=n>=0?"+":"-";switch(e){case"short":return`${s}${p(t,2)}:${p(r,2)}`;case"narrow":return`${s}${t}${r>0?`:${r}`:""}`;case"techie":return`${s}${p(t,2)}${p(r,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function $e(n){return Sr(n,["hour","minute","second","millisecond"])}const pr=["January","February","March","April","May","June","July","August","September","October","November","December"],hn=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],vr=["J","F","M","A","M","J","J","A","S","O","N","D"];function mn(n){switch(n){case"narrow":return[...vr];case"short":return[...hn];case"long":return[...pr];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const yn=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],gn=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Nr=["M","T","W","T","F","S","S"];function wn(n){switch(n){case"narrow":return[...Nr];case"short":return[...gn];case"long":return[...yn];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const kn=["AM","PM"],Ir=["Before Christ","Anno Domini"],Er=["BC","AD"],Mr=["B","A"];function Tn(n){switch(n){case"narrow":return[...Mr];case"short":return[...Er];case"long":return[...Ir];default:return null}}function Dr(n){return kn[n.hour<12?0:1]}function xr(n,e){return wn(e)[n.weekday-1]}function br(n,e){return mn(e)[n.month-1]}function Fr(n,e){return Tn(e)[n.year<0?0:1]}function Vr(n,e,t="always",r=!1){const s={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(n)===-1;if(t==="auto"&&i){const y=n==="days";switch(e){case 1:return y?"tomorrow":`next ${s[n][0]}`;case-1:return y?"yesterday":`last ${s[n][0]}`;case 0:return y?"today":`this ${s[n][0]}`}}const a=Object.is(e,-0)||e<0,o=Math.abs(e),u=o===1,l=s[n],f=r?u?l[1]:l[2]||l[1]:u?s[n][0]:n;return a?`${o} ${f} ago`:`in ${o} ${f}`}function vt(n,e){let t="";for(const r of n)r.literal?t+=r.val:t+=e(r.val);return t}const Cr={D:De,DD:Zt,DDD:At,DDDD:Ut,t:zt,tt:Rt,ttt:qt,tttt:Ht,T:Yt,TT:Pt,TTT:Gt,TTTT:Jt,f:_t,ff:jt,fff:Kt,ffff:en,F:Bt,FF:Qt,FFF:Xt,FFFF:tn};class I{static create(e,t={}){return new I(e,t)}static parseFormat(e){let t=null,r="",s=!1;const i=[];for(let a=0;a0&&i.push({literal:s||/^\s+$/.test(r),val:r}),t=null,r="",s=!s):s||o===t?r+=o:(r.length>0&&i.push({literal:/^\s+$/.test(r),val:r}),r=o,t=o)}return r.length>0&&i.push({literal:s||/^\s+$/.test(r),val:r}),i}static macroTokenToFormatOpts(e){return Cr[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return p(e,t);const r={...this.opts};return t>0&&(r.padTo=t),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(e,t){const r=this.loc.listingMode()==="en",s=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(m,v)=>this.loc.extract(e,m,v),a=m=>e.isOffsetFixed&&e.offset===0&&m.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,m.format):"",o=()=>r?Dr(e):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),u=(m,v)=>r?br(e,m):i(v?{month:m}:{month:m,day:"numeric"},"month"),l=(m,v)=>r?xr(e,m):i(v?{weekday:m}:{weekday:m,month:"long",day:"numeric"},"weekday"),f=m=>{const v=I.macroTokenToFormatOpts(m);return v?this.formatWithSystemDefault(e,v):m},y=m=>r?Fr(e,m):i({era:m},"era"),O=m=>{switch(m){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return o();case"d":return s?i({day:"numeric"},"day"):this.num(e.day);case"dd":return s?i({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return s?i({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return s?i({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return u("short",!0);case"LLLL":return u("long",!0);case"LLLLL":return u("narrow",!0);case"M":return s?i({month:"numeric"},"month"):this.num(e.month);case"MM":return s?i({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return u("short",!1);case"MMMM":return u("long",!1);case"MMMMM":return u("narrow",!1);case"y":return s?i({year:"numeric"},"year"):this.num(e.year);case"yy":return s?i({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return s?i({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return s?i({year:"numeric"},"year"):this.num(e.year,6);case"G":return y("short");case"GG":return y("long");case"GGGGG":return y("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return f(m)}};return vt(I.parseFormat(t),O)}formatDurationFromString(e,t){const r=u=>{switch(u[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},s=u=>l=>{const f=r(l);return f?this.num(u.get(f),l.length):l},i=I.parseFormat(t),a=i.reduce((u,{literal:l,val:f})=>l?u:u.concat(f),[]),o=e.shiftTo(...a.map(r).filter(u=>u));return vt(i,s(o))}}const Sn=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function ne(...n){const e=n.reduce((t,r)=>t+r.source,"");return RegExp(`^${e}$`)}function re(...n){return e=>n.reduce(([t,r,s],i)=>{const[a,o,u]=i(e,s);return[{...t,...a},o||r,u]},[{},null,1]).slice(0,2)}function se(n,...e){if(n==null)return[null,null];for(const[t,r]of e){const s=t.exec(n);if(s)return r(s)}return[null,null]}function On(...n){return(e,t)=>{const r={};let s;for(s=0;sm!==void 0&&(v||m&&f)?-m:m;return[{years:O(q(t)),months:O(q(r)),weeks:O(q(s)),days:O(q(i)),hours:O(q(a)),minutes:O(q(o)),seconds:O(q(u),u==="-0"),milliseconds:O(et(l),y)}]}const Gr={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function st(n,e,t,r,s,i,a){const o={year:e.length===2?je(U(e)):U(e),month:hn.indexOf(t)+1,day:U(r),hour:U(s),minute:U(i)};return a&&(o.second=U(a)),n&&(o.weekday=n.length>3?yn.indexOf(n)+1:gn.indexOf(n)+1),o}const Jr=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function _r(n){const[,e,t,r,s,i,a,o,u,l,f,y]=n,O=st(e,s,r,t,i,a,o);let m;return u?m=Gr[u]:l?m=0:m=Le(f,y),[O,new E(m)]}function Br(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const jr=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Qr=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Kr=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Nt(n){const[,e,t,r,s,i,a,o]=n;return[st(e,s,r,t,i,a,o),E.utcInstance]}function Xr(n){const[,e,t,r,s,i,a,o]=n;return[st(e,o,t,r,s,i,a),E.utcInstance]}const es=ne(Lr,rt),ts=ne($r,rt),ns=ne(Zr,rt),rs=ne(vn),In=re(qr,ie,ge,we),ss=re(Ar,ie,ge,we),is=re(Ur,ie,ge,we),as=re(ie,ge,we);function os(n){return se(n,[es,In],[ts,ss],[ns,is],[rs,as])}function us(n){return se(Br(n),[Jr,_r])}function ls(n){return se(n,[jr,Nt],[Qr,Nt],[Kr,Xr])}function cs(n){return se(n,[Yr,Pr])}const fs=re(ie);function ds(n){return se(n,[Hr,fs])}const hs=ne(zr,Rr),ms=ne(Nn),ys=re(ie,ge,we);function gs(n){return se(n,[hs,In],[ms,ys])}const It="Invalid Duration",En={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},ws={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...En},D=146097/400,_=146097/4800,ks={years:{quarters:4,months:12,weeks:D/7,days:D,hours:D*24,minutes:D*24*60,seconds:D*24*60*60,milliseconds:D*24*60*60*1e3},quarters:{months:3,weeks:D/28,days:D/4,hours:D*24/4,minutes:D*24*60/4,seconds:D*24*60*60/4,milliseconds:D*24*60*60*1e3/4},months:{weeks:_/7,days:_,hours:_*24,minutes:_*24*60,seconds:_*24*60*60,milliseconds:_*24*60*60*1e3},...En},Y=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Ts=Y.slice(0).reverse();function A(n,e,t=!1){const r={values:t?e.values:{...n.values,...e.values||{}},loc:n.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||n.conversionAccuracy,matrix:e.matrix||n.matrix};return new g(r)}function Mn(n,e){let t=e.milliseconds??0;for(const r of Ts.slice(1))e[r]&&(t+=e[r]*n[r].milliseconds);return t}function Et(n,e){const t=Mn(n,e)<0?-1:1;Y.reduceRight((r,s)=>{if(d(e[s]))return r;if(r){const i=e[r]*t,a=n[s][r],o=Math.floor(i/a);e[s]+=o*t,e[r]-=o*a*t}return s},null),Y.reduce((r,s)=>{if(d(e[s]))return r;if(r){const i=e[r]%1;e[r]-=i,e[s]+=i*n[r][s]}return s},null)}function Ss(n){const e={};for(const[t,r]of Object.entries(n))r!==0&&(e[t]=r);return e}class g{constructor(e){const t=e.conversionAccuracy==="longterm"||!1;let r=t?ks:ws;e.matrix&&(r=e.matrix),this.values=e.values,this.loc=e.loc||k.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=r,this.isLuxonDuration=!0}static fromMillis(e,t){return g.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(e==null||typeof e!="object")throw new N(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new g({values:Fe(e,g.normalizeUnit),loc:k.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(R(e))return g.fromMillis(e);if(g.isDuration(e))return e;if(typeof e=="object")return g.fromObject(e);throw new N(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){const[r]=cs(e);return r?g.fromObject(r,t):g.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){const[r]=ds(e);return r?g.fromObject(r,t):g.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new N("need to specify a reason the Duration is invalid");const r=e instanceof C?e:new C(e,t);if(S.throwOnInvalid)throw new Yn(r);return new g({invalid:r})}static normalizeUnit(e){const t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!t)throw new $t(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){const r={...t,floor:t.round!==!1&&t.floor!==!1};return this.isValid?I.create(this.loc,r).formatDurationFromString(this,e):It}toHuman(e={}){if(!this.isValid)return It;const t=Y.map(r=>{const s=this.values[r];return d(s)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:r.slice(0,-1)}).format(s)}).filter(r=>r);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(t)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=tt(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;const t=this.toMillis();return t<0||t>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},h.fromMillis(t,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?Mn(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;const t=g.fromDurationLike(e),r={};for(const s of Y)(te(t.values,s)||te(this.values,s))&&(r[s]=t.get(s)+this.get(s));return A(this,{values:r},!0)}minus(e){if(!this.isValid)return this;const t=g.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;const t={};for(const r of Object.keys(this.values))t[r]=dn(e(this.values[r],r));return A(this,{values:t},!0)}get(e){return this[g.normalizeUnit(e)]}set(e){if(!this.isValid)return this;const t={...this.values,...Fe(e,g.normalizeUnit)};return A(this,{values:t})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r,matrix:s}={}){const a={loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:s,conversionAccuracy:r};return A(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;const e=this.toObject();return Et(this.matrix,e),A(this,{values:e},!0)}rescale(){if(!this.isValid)return this;const e=Ss(this.normalize().shiftToAll().toObject());return A(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(a=>g.normalizeUnit(a));const t={},r={},s=this.toObject();let i;for(const a of Y)if(e.indexOf(a)>=0){i=a;let o=0;for(const l in r)o+=this.matrix[l][a]*r[l],r[l]=0;R(s[a])&&(o+=s[a]);const u=Math.trunc(o);t[a]=u,r[a]=(o*1e3-u*1e3)/1e3}else R(s[a])&&(r[a]=s[a]);for(const a in r)r[a]!==0&&(t[i]+=a===i?r[a]:r[a]/this.matrix[i][a]);return Et(this.matrix,t),A(this,{values:t},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const e={};for(const t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return A(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(r,s){return r===void 0||r===0?s===void 0||s===0:r===s}for(const r of Y)if(!t(this.values[r],e.values[r]))return!1;return!0}}const B="Invalid Interval";function Os(n,e){return!n||!n.isValid?T.invalid("missing or invalid start"):!e||!e.isValid?T.invalid("missing or invalid end"):ee:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:t}={}){return this.isValid?T.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];const t=e.map(le).filter(a=>this.contains(a)).sort((a,o)=>a.toMillis()-o.toMillis()),r=[];let{s}=this,i=0;for(;s+this.e?this.e:a;r.push(T.fromDateTimes(s,o)),s=o,i+=1}return r}splitBy(e){const t=g.fromDurationLike(e);if(!this.isValid||!t.isValid||t.as("milliseconds")===0)return[];let{s:r}=this,s=1,i;const a=[];for(;ru*s));i=+o>+this.e?this.e:o,a.push(T.fromDateTimes(r,i)),r=i,s+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;const t=this.s>e.s?this.s:e.s,r=this.e=r?null:T.fromDateTimes(t,r)}union(e){if(!this.isValid)return this;const t=this.se.e?this.e:e.e;return T.fromDateTimes(t,r)}static merge(e){const[t,r]=e.sort((s,i)=>s.s-i.s).reduce(([s,i],a)=>i?i.overlaps(a)||i.abutsStart(a)?[s,i.union(a)]:[s.concat([i]),a]:[s,a],[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0;const s=[],i=e.map(u=>[{time:u.s,type:"s"},{time:u.e,type:"e"}]),a=Array.prototype.concat(...i),o=a.sort((u,l)=>u.time-l.time);for(const u of o)r+=u.type==="s"?1:-1,r===1?t=u.time:(t&&+t!=+u.time&&s.push(T.fromDateTimes(t,u.time)),t=null);return T.merge(s)}difference(...e){return T.xor([this].concat(e)).map(t=>this.intersection(t)).filter(t=>t&&!t.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:B}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=De,t={}){return this.isValid?I.create(this.s.loc.clone(t),e).formatInterval(this):B}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:B}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:B}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:B}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:B}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):g.invalid(this.invalidReason)}mapEndpoints(e){return T.fromDateTimes(e(this.s),e(this.e))}}class Se{static hasDST(e=S.defaultZone){const t=h.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return $.isValidZone(e)}static normalizeZone(e){return z(e,S.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||k.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||k.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||k.create(e)).getWeekendDays().slice()}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||k.create(t,r,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||k.create(t,r,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null}={}){return(s||k.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null}={}){return(s||k.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return k.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return k.create(t,null,"gregory").eras(e)}static features(){return{relative:ln(),localeWeek:cn()}}}function Mt(n,e){const t=s=>s.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=t(e)-t(n);return Math.floor(g.fromMillis(r).as("days"))}function ps(n,e,t){const r=[["years",(u,l)=>l.year-u.year],["quarters",(u,l)=>l.quarter-u.quarter+(l.year-u.year)*4],["months",(u,l)=>l.month-u.month+(l.year-u.year)*12],["weeks",(u,l)=>{const f=Mt(u,l);return(f-f%7)/7}],["days",Mt]],s={},i=n;let a,o;for(const[u,l]of r)t.indexOf(u)>=0&&(a=u,s[u]=l(n,e),o=i.plus(s),o>e?(s[u]--,n=i.plus(s),n>e&&(o=n,s[u]--,n=i.plus(s))):n=o);return[n,s,o,a]}function vs(n,e,t,r){let[s,i,a,o]=ps(n,e,t);const u=e-s,l=t.filter(y=>["hours","minutes","seconds","milliseconds"].indexOf(y)>=0);l.length===0&&(a0?g.fromMillis(u,r).shiftTo(...l).plus(f):f}const Ns="missing Intl.DateTimeFormat.formatToParts support";function w(n,e=t=>t){return{regex:n,deser:([t])=>e(hr(t))}}const Is=" ",Dn=`[ ${Is}]`,xn=new RegExp(Dn,"g");function Es(n){return n.replace(/\./g,"\\.?").replace(xn,Dn)}function Dt(n){return n.replace(/\./g,"").replace(xn," ").toLowerCase()}function V(n,e){return n===null?null:{regex:RegExp(n.map(Es).join("|")),deser:([t])=>n.findIndex(r=>Dt(t)===Dt(r))+e}}function xt(n,e){return{regex:n,deser:([,t,r])=>Le(t,r),groups:e}}function Oe(n){return{regex:n,deser:([e])=>e}}function Ms(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Ds(n,e){const t=F(e),r=F(e,"{2}"),s=F(e,"{3}"),i=F(e,"{4}"),a=F(e,"{6}"),o=F(e,"{1,2}"),u=F(e,"{1,3}"),l=F(e,"{1,6}"),f=F(e,"{1,9}"),y=F(e,"{2,4}"),O=F(e,"{4,6}"),m=L=>({regex:RegExp(Ms(L.val)),deser:([J])=>J,literal:!0}),G=(L=>{if(n.literal)return m(L);switch(L.val){case"G":return V(e.eras("short"),0);case"GG":return V(e.eras("long"),0);case"y":return w(l);case"yy":return w(y,je);case"yyyy":return w(i);case"yyyyy":return w(O);case"yyyyyy":return w(a);case"M":return w(o);case"MM":return w(r);case"MMM":return V(e.months("short",!0),1);case"MMMM":return V(e.months("long",!0),1);case"L":return w(o);case"LL":return w(r);case"LLL":return V(e.months("short",!1),1);case"LLLL":return V(e.months("long",!1),1);case"d":return w(o);case"dd":return w(r);case"o":return w(u);case"ooo":return w(s);case"HH":return w(r);case"H":return w(o);case"hh":return w(r);case"h":return w(o);case"mm":return w(r);case"m":return w(o);case"q":return w(o);case"qq":return w(r);case"s":return w(o);case"ss":return w(r);case"S":return w(u);case"SSS":return w(s);case"u":return Oe(f);case"uu":return Oe(o);case"uuu":return w(t);case"a":return V(e.meridiems(),0);case"kkkk":return w(i);case"kk":return w(y,je);case"W":return w(o);case"WW":return w(r);case"E":case"c":return w(t);case"EEE":return V(e.weekdays("short",!1),1);case"EEEE":return V(e.weekdays("long",!1),1);case"ccc":return V(e.weekdays("short",!0),1);case"cccc":return V(e.weekdays("long",!0),1);case"Z":case"ZZ":return xt(new RegExp(`([+-]${o.source})(?::(${r.source}))?`),2);case"ZZZ":return xt(new RegExp(`([+-]${o.source})(${r.source})?`),2);case"z":return Oe(/[a-z_+-/]{1,256}?/i);case" ":return Oe(/[^\S\n\r]/);default:return m(L)}})(n)||{invalidReason:Ns};return G.token=n,G}const xs={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function bs(n,e,t){const{type:r,value:s}=n;if(r==="literal"){const u=/^\s+$/.test(s);return{literal:!u,val:u?" ":s}}const i=e[r];let a=r;r==="hour"&&(e.hour12!=null?a=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?a="hour12":a="hour24":a=t.hour12?"hour12":"hour24");let o=xs[a];if(typeof o=="object"&&(o=o[i]),o)return{literal:!1,val:o}}function Fs(n){return[`^${n.map(t=>t.regex).reduce((t,r)=>`${t}(${r.source})`,"")}$`,n]}function Vs(n,e,t){const r=n.match(e);if(r){const s={};let i=1;for(const a in t)if(te(t,a)){const o=t[a],u=o.groups?o.groups+1:1;!o.literal&&o.token&&(s[o.token.val[0]]=o.deser(r.slice(i,i+u))),i+=u}return[r,s]}else return[r,{}]}function Cs(n){const e=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let t=null,r;return d(n.z)||(t=$.create(n.z)),d(n.Z)||(t||(t=new E(n.Z)),r=n.Z),d(n.q)||(n.M=(n.q-1)*3+1),d(n.h)||(n.h<12&&n.a===1?n.h+=12:n.h===12&&n.a===0&&(n.h=0)),n.G===0&&n.y&&(n.y=-n.y),d(n.u)||(n.S=et(n.u)),[Object.keys(n).reduce((i,a)=>{const o=e(a);return o&&(i[o]=n[a]),i},{}),t,r]}let ze=null;function Ws(){return ze||(ze=h.fromMillis(1555555555555)),ze}function Ls(n,e){if(n.literal)return n;const t=I.macroTokenToFormatOpts(n.val),r=Cn(t,e);return r==null||r.includes(void 0)?n:r}function bn(n,e){return Array.prototype.concat(...n.map(t=>Ls(t,e)))}class Fn{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=bn(I.parseFormat(t),e),this.units=this.tokens.map(r=>Ds(r,e)),this.disqualifyingUnit=this.units.find(r=>r.invalidReason),!this.disqualifyingUnit){const[r,s]=Fs(this.units);this.regex=RegExp(r,"i"),this.handlers=s}}explainFromTokens(e){if(this.isValid){const[t,r]=Vs(e,this.regex,this.handlers),[s,i,a]=r?Cs(r):[null,null,void 0];if(te(r,"a")&&te(r,"H"))throw new K("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:t,matches:r,result:s,zone:i,specificOffset:a}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function Vn(n,e,t){return new Fn(n,t).explainFromTokens(e)}function $s(n,e,t){const{result:r,zone:s,specificOffset:i,invalidReason:a}=Vn(n,e,t);return[r,s,i,a]}function Cn(n,e){if(!n)return null;const r=I.create(e,n).dtFormatter(Ws()),s=r.formatToParts(),i=r.resolvedOptions();return s.map(a=>bs(a,n,i))}const Re="Invalid DateTime",Zs=864e13;function fe(n){return new C("unsupported zone",`the zone "${n.name}" is not supported`)}function qe(n){return n.weekData===null&&(n.weekData=xe(n.c)),n.weekData}function He(n){return n.localWeekData===null&&(n.localWeekData=xe(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek())),n.localWeekData}function H(n,e){const t={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new h({...t,...e,old:t})}function Wn(n,e,t){let r=n-e*60*1e3;const s=t.offset(r);if(e===s)return[r,e];r-=(s-e)*60*1e3;const i=t.offset(r);return s===i?[r,s]:[n-Math.min(s,i)*60*1e3,Math.max(s,i)]}function pe(n,e){n+=e*60*1e3;const t=new Date(n);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function Ie(n,e,t){return Wn(We(n),e,t)}function bt(n,e){const t=n.o,r=n.c.year+Math.trunc(e.years),s=n.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,i={...n.c,year:r,month:s,day:Math.min(n.c.day,be(r,s))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=g.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),o=We(i);let[u,l]=Wn(o,t,n.zone);return a!==0&&(u+=a,l=n.zone.offset(u)),{ts:u,o:l}}function j(n,e,t,r,s,i){const{setZone:a,zone:o}=t;if(n&&Object.keys(n).length!==0||e){const u=e||o,l=h.fromObject(n,{...t,zone:u,specificOffset:i});return a?l:l.setZone(o)}else return h.invalid(new C("unparsable",`the input "${s}" can't be parsed as ${r}`))}function ve(n,e,t=!0){return n.isValid?I.create(k.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(n,e):null}function Ye(n,e){const t=n.c.year>9999||n.c.year<0;let r="";return t&&n.c.year>=0&&(r+="+"),r+=p(n.c.year,t?6:4),e?(r+="-",r+=p(n.c.month),r+="-",r+=p(n.c.day)):(r+=p(n.c.month),r+=p(n.c.day)),r}function Ft(n,e,t,r,s,i){let a=p(n.c.hour);return e?(a+=":",a+=p(n.c.minute),(n.c.millisecond!==0||n.c.second!==0||!t)&&(a+=":")):a+=p(n.c.minute),(n.c.millisecond!==0||n.c.second!==0||!t)&&(a+=p(n.c.second),(n.c.millisecond!==0||!r)&&(a+=".",a+=p(n.c.millisecond,3))),s&&(n.isOffsetFixed&&n.offset===0&&!i?a+="Z":n.o<0?(a+="-",a+=p(Math.trunc(-n.o/60)),a+=":",a+=p(Math.trunc(-n.o%60))):(a+="+",a+=p(Math.trunc(n.o/60)),a+=":",a+=p(Math.trunc(n.o%60)))),i&&(a+="["+n.zone.ianaName+"]"),a}const Ln={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},As={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Us={ordinal:1,hour:0,minute:0,second:0,millisecond:0},$n=["year","month","day","hour","minute","second","millisecond"],zs=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Rs=["year","ordinal","hour","minute","second","millisecond"];function qs(n){const e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!e)throw new $t(n);return e}function Vt(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return qs(n)}}function Hs(n){return Me[n]||(Ee===void 0&&(Ee=S.now()),Me[n]=n.offset(Ee)),Me[n]}function Ct(n,e){const t=z(e.zone,S.defaultZone);if(!t.isValid)return h.invalid(fe(t));const r=k.fromObject(e);let s,i;if(d(n.year))s=S.now();else{for(const u of $n)d(n[u])&&(n[u]=Ln[u]);const a=on(n)||un(n);if(a)return h.invalid(a);const o=Hs(t);[s,i]=Ie(n,o,t)}return new h({ts:s,zone:t,loc:r,o:i})}function Wt(n,e,t){const r=d(t.round)?!0:t.round,s=(a,o)=>(a=tt(a,r||t.calendary?0:2,!0),e.loc.clone(t).relFormatter(t).format(a,o)),i=a=>t.calendary?e.hasSame(n,a)?0:e.startOf(a).diff(n.startOf(a),a).get(a):e.diff(n,a).get(a);if(t.unit)return s(i(t.unit),t.unit);for(const a of t.units){const o=i(a);if(Math.abs(o)>=1)return s(o,a)}return s(n>e?-0:0,t.units[t.units.length-1])}function Lt(n){let e={},t;return n.length>0&&typeof n[n.length-1]=="object"?(e=n[n.length-1],t=Array.from(n).slice(0,n.length-1)):t=Array.from(n),[e,t]}let Ee,Me={};class h{constructor(e){const t=e.zone||S.defaultZone;let r=e.invalid||(Number.isNaN(e.ts)?new C("invalid input"):null)||(t.isValid?null:fe(t));this.ts=d(e.ts)?S.now():e.ts;let s=null,i=null;if(!r)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[s,i]=[e.old.c,e.old.o];else{const o=R(e.o)&&!e.old?e.o:t.offset(this.ts);s=pe(this.ts,o),r=Number.isNaN(s.year)?new C("invalid input"):null,s=r?null:s,i=r?null:o}this._zone=t,this.loc=e.loc||k.create(),this.invalid=r,this.weekData=null,this.localWeekData=null,this.c=s,this.o=i,this.isLuxonDateTime=!0}static now(){return new h({})}static local(){const[e,t]=Lt(arguments),[r,s,i,a,o,u,l]=t;return Ct({year:r,month:s,day:i,hour:a,minute:o,second:u,millisecond:l},e)}static utc(){const[e,t]=Lt(arguments),[r,s,i,a,o,u,l]=t;return e.zone=E.utcInstance,Ct({year:r,month:s,day:i,hour:a,minute:o,second:u,millisecond:l},e)}static fromJSDate(e,t={}){const r=kr(e)?e.valueOf():NaN;if(Number.isNaN(r))return h.invalid("invalid input");const s=z(t.zone,S.defaultZone);return s.isValid?new h({ts:r,zone:s,loc:k.fromObject(t)}):h.invalid(fe(s))}static fromMillis(e,t={}){if(R(e))return e<-864e13||e>Zs?h.invalid("Timestamp out of range"):new h({ts:e,zone:z(t.zone,S.defaultZone),loc:k.fromObject(t)});throw new N(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(R(e))return new h({ts:e*1e3,zone:z(t.zone,S.defaultZone),loc:k.fromObject(t)});throw new N("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};const r=z(t.zone,S.defaultZone);if(!r.isValid)return h.invalid(fe(r));const s=k.fromObject(t),i=Fe(e,Vt),{minDaysInFirstWeek:a,startOfWeek:o}=St(i,s),u=S.now(),l=d(t.specificOffset)?r.offset(u):t.specificOffset,f=!d(i.ordinal),y=!d(i.year),O=!d(i.month)||!d(i.day),m=y||O,v=i.weekYear||i.weekNumber;if((m||f)&&v)throw new K("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(O&&f)throw new K("Can't mix ordinal dates with month/day");const G=v||i.weekday&&!m;let L,J,ae=pe(u,l);G?(L=zs,J=As,ae=xe(ae,a,o)):f?(L=Rs,J=Us,ae=Ue(ae)):(L=$n,J=Ln);let it=!1;for(const ue of L){const Rn=i[ue];d(Rn)?it?i[ue]=J[ue]:i[ue]=ae[ue]:it=!0}const Zn=G?yr(i,a,o):f?gr(i):on(i),at=Zn||un(i);if(at)return h.invalid(at);const An=G?kt(i,a,o):f?Tt(i):i,[Un,zn]=Ie(An,l,r),oe=new h({ts:Un,zone:r,o:zn,loc:s});return i.weekday&&m&&e.weekday!==oe.weekday?h.invalid("mismatched weekday",`you can't specify both a weekday of ${i.weekday} and a date of ${oe.toISO()}`):oe.isValid?oe:h.invalid(oe.invalid)}static fromISO(e,t={}){const[r,s]=os(e);return j(r,s,t,"ISO 8601",e)}static fromRFC2822(e,t={}){const[r,s]=us(e);return j(r,s,t,"RFC 2822",e)}static fromHTTP(e,t={}){const[r,s]=ls(e);return j(r,s,t,"HTTP",t)}static fromFormat(e,t,r={}){if(d(e)||d(t))throw new N("fromFormat requires an input string and a format");const{locale:s=null,numberingSystem:i=null}=r,a=k.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0}),[o,u,l,f]=$s(a,e,t);return f?h.invalid(f):j(o,u,r,`format ${t}`,e,l)}static fromString(e,t,r={}){return h.fromFormat(e,t,r)}static fromSQL(e,t={}){const[r,s]=gs(e);return j(r,s,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new N("need to specify a reason the DateTime is invalid");const r=e instanceof C?e:new C(e,t);if(S.throwOnInvalid)throw new qn(r);return new h({invalid:r})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){const r=Cn(e,k.fromObject(t));return r?r.map(s=>s?s.val:null).join(""):null}static expandFormat(e,t={}){return bn(I.parseFormat(e),k.fromObject(t)).map(s=>s.val).join("")}static resetCache(){Ee=void 0,Me={}}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?qe(this).weekYear:NaN}get weekNumber(){return this.isValid?qe(this).weekNumber:NaN}get weekday(){return this.isValid?qe(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?He(this).weekday:NaN}get localWeekNumber(){return this.isValid?He(this).weekNumber:NaN}get localWeekYear(){return this.isValid?He(this).weekYear:NaN}get ordinal(){return this.isValid?Ue(this.c).ordinal:NaN}get monthShort(){return this.isValid?Se.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Se.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Se.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Se.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const e=864e5,t=6e4,r=We(this.c),s=this.zone.offset(r-e),i=this.zone.offset(r+e),a=this.zone.offset(r-s*t),o=this.zone.offset(r-i*t);if(a===o)return[this];const u=r-a*t,l=r-o*t,f=pe(u,a),y=pe(l,o);return f.hour===y.hour&&f.minute===y.minute&&f.second===y.second&&f.millisecond===y.millisecond?[H(this,{ts:u}),H(this,{ts:l})]:[this]}get isInLeapYear(){return ye(this.year)}get daysInMonth(){return be(this.year,this.month)}get daysInYear(){return this.isValid?X(this.year):NaN}get weeksInWeekYear(){return this.isValid?he(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?he(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){const{locale:t,numberingSystem:r,calendar:s}=I.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:s}}toUTC(e=0,t={}){return this.setZone(E.instance(e),t)}toLocal(){return this.setZone(S.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:r=!1}={}){if(e=z(e,S.defaultZone),e.equals(this.zone))return this;if(e.isValid){let s=this.ts;if(t||r){const i=e.offset(this.ts),a=this.toObject();[s]=Ie(a,i,e)}return H(this,{ts:s,zone:e})}else return h.invalid(fe(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){const s=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r});return H(this,{loc:s})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;const t=Fe(e,Vt),{minDaysInFirstWeek:r,startOfWeek:s}=St(t,this.loc),i=!d(t.weekYear)||!d(t.weekNumber)||!d(t.weekday),a=!d(t.ordinal),o=!d(t.year),u=!d(t.month)||!d(t.day),l=o||u,f=t.weekYear||t.weekNumber;if((l||a)&&f)throw new K("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&a)throw new K("Can't mix ordinal dates with month/day");let y;i?y=kt({...xe(this.c,r,s),...t},r,s):d(t.ordinal)?(y={...this.toObject(),...t},d(t.day)&&(y.day=Math.min(be(y.year,y.month),y.day))):y=Tt({...Ue(this.c),...t});const[O,m]=Ie(y,this.o,this.zone);return H(this,{ts:O,o:m})}plus(e){if(!this.isValid)return this;const t=g.fromDurationLike(e);return H(this,bt(this,t))}minus(e){if(!this.isValid)return this;const t=g.fromDurationLike(e).negate();return H(this,bt(this,t))}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;const r={},s=g.normalizeUnit(e);switch(s){case"years":r.month=1;case"quarters":case"months":r.day=1;case"weeks":case"days":r.hour=0;case"hours":r.minute=0;case"minutes":r.second=0;case"seconds":r.millisecond=0;break}if(s==="weeks")if(t){const i=this.loc.getStartOfWeek(),{weekday:a}=this;athis.valueOf(),o=a?this:e,u=a?e:this,l=vs(o,u,i,s);return a?l.negate():l}diffNow(e="milliseconds",t={}){return this.diff(h.now(),e,t)}until(e){return this.isValid?T.fromDateTimes(this,e):this}hasSame(e,t,r){if(!this.isValid)return!1;const s=e.valueOf(),i=this.setZone(e.zone,{keepLocalTime:!0});return i.startOf(t,r)<=s&&s<=i.endOf(t,r)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;const t=e.base||h.fromObject({},{zone:this.zone}),r=e.padding?thist.valueOf(),Math.min)}static max(...e){if(!e.every(h.isDateTime))throw new N("max requires all arguments be DateTimes");return Ot(e,t=>t.valueOf(),Math.max)}static fromFormatExplain(e,t,r={}){const{locale:s=null,numberingSystem:i=null}=r,a=k.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0});return Vn(a,e,t)}static fromStringExplain(e,t,r={}){return h.fromFormatExplain(e,t,r)}static buildFormatParser(e,t={}){const{locale:r=null,numberingSystem:s=null}=t,i=k.fromOpts({locale:r,numberingSystem:s,defaultToEN:!0});return new Fn(i,e)}static fromFormatParser(e,t,r={}){if(d(e)||d(t))throw new N("fromFormatParser requires an input string and a format parser");const{locale:s=null,numberingSystem:i=null}=r,a=k.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0});if(!a.equals(t.locale))throw new N(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${t.locale}`);const{result:o,zone:u,specificOffset:l,invalidReason:f}=t.explainFromTokens(e);return f?h.invalid(f):j(o,u,r,`format ${t.format}`,e,l)}static get DATE_SHORT(){return De}static get DATE_MED(){return Zt}static get DATE_MED_WITH_WEEKDAY(){return Pn}static get DATE_FULL(){return At}static get DATE_HUGE(){return Ut}static get TIME_SIMPLE(){return zt}static get TIME_WITH_SECONDS(){return Rt}static get TIME_WITH_SHORT_OFFSET(){return qt}static get TIME_WITH_LONG_OFFSET(){return Ht}static get TIME_24_SIMPLE(){return Yt}static get TIME_24_WITH_SECONDS(){return Pt}static get TIME_24_WITH_SHORT_OFFSET(){return Gt}static get TIME_24_WITH_LONG_OFFSET(){return Jt}static get DATETIME_SHORT(){return _t}static get DATETIME_SHORT_WITH_SECONDS(){return Bt}static get DATETIME_MED(){return jt}static get DATETIME_MED_WITH_SECONDS(){return Qt}static get DATETIME_MED_WITH_WEEKDAY(){return Gn}static get DATETIME_FULL(){return Kt}static get DATETIME_FULL_WITH_SECONDS(){return Xt}static get DATETIME_HUGE(){return en}static get DATETIME_HUGE_WITH_SECONDS(){return tn}}function le(n){if(h.isDateTime(n))return n;if(n&&n.valueOf&&R(n.valueOf()))return h.fromJSDate(n);if(n&&typeof n=="object")return h.fromObject(n);throw new N(`Unknown datetime argument: ${n}, of type ${typeof n}`)}export{h as D}; diff --git a/dist-electron/assets/dexie-export-import-B7Ze1sjn.js b/dist-electron/assets/dexie-export-import-B7Ze1sjn.js new file mode 100644 index 0000000..fac0fa8 --- /dev/null +++ b/dist-electron/assets/dexie-export-import-B7Ze1sjn.js @@ -0,0 +1,28 @@ +import{X as Re}from"./index-BLqts8WY.js";var mn={};/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var fn=function(){return fn=Object.assign||function(v){for(var s,m=1,w=arguments.length;m0&&p[p.length-1])&&(u[0]===6||u[0]===2)){s=0;continue}if(u[0]===3&&(!p||u[1]>p[0]&&u[1]"u")throw new Error("FileReaderSync missing. Reading blobs synchronously requires code to run from within a web worker. Use TSON.encapsulateAsync() to do it from the main thread.");var s=new FileReaderSync,m=v==="binary"?s.readAsArrayBuffer(g):s.readAsText(g);return m}var hn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function bn(g,v){return v={exports:{}},g(v,v.exports),v.exports}var pn=bn(function(g,v){(function(s,m){g.exports=m()})(hn,function(){function s(l){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?s=function(y){return typeof y}:s=function(y){return y&&typeof Symbol=="function"&&y.constructor===Symbol&&y!==Symbol.prototype?"symbol":typeof y},s(l)}function m(l,y,h,d,A,G,H){try{var W=l[G](H),C=W.value}catch(Ae){h(Ae);return}W.done?y(C):Promise.resolve(C).then(d,A)}function w(l){return function(){var y=this,h=arguments;return new Promise(function(d,A){var G=l.apply(y,h);function H(C){m(G,d,A,H,W,"next",C)}function W(C){m(G,d,A,H,W,"throw",C)}H(void 0)})}}function p(l,y){if(!(l instanceof y))throw new TypeError("Cannot call a class as a function")}function o(l,y){for(var h=0;h-1){var d=l[he(y.slice(0,h))];return d===void 0?void 0:Se(d,y.slice(h+1))}return l[he(y)]}function Be(l,y,h){if(y==="")return h;var d=y.indexOf(".");if(d>-1){var A=l[he(y.slice(0,d))];return Be(A,y.slice(d+1),h)}return l[he(y)]=h,l}function _e(l){return l===null?"null":Array.isArray(l)?"array":s(l)}var ce=Object.keys,be=Array.isArray,Ce={}.hasOwnProperty,Me=["type","replaced","iterateIn","iterateUnsetNumeric"];function $(l,y){if(l.keypath==="")return-1;var h=l.keypath.match(/\./g)||0,d=y.keypath.match(/\./g)||0;return h&&(h=h.length),d&&(d=d.length),h>d?-1:hy.keypath}var ye=function(){function l(y){p(this,l),this.options=y,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}return j(l,[{key:"stringify",value:function(h,d,A,G){G=_({},this.options,{},G,{stringification:!0});var H=this.encapsulate(h,null,G);return be(H)?JSON.stringify(H[0],d,A):H.then(function(W){return JSON.stringify(W,d,A)})}},{key:"stringifySync",value:function(h,d,A,G){return this.stringify(h,d,A,_({throwOnBadSyncType:!0},G,{sync:!0}))}},{key:"stringifyAsync",value:function(h,d,A,G){return this.stringify(h,d,A,_({throwOnBadSyncType:!0},G,{sync:!1}))}},{key:"parse",value:function(h,d,A){return A=_({},this.options,{},A,{parse:!0}),this.revive(JSON.parse(h,d),A)}},{key:"parseSync",value:function(h,d,A){return this.parse(h,d,_({throwOnBadSyncType:!0},A,{sync:!0}))}},{key:"parseAsync",value:function(h,d,A){return this.parse(h,d,_({throwOnBadSyncType:!0},A,{sync:!1}))}},{key:"specialTypeNames",value:function(h,d){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return A.returnTypeNames=!0,this.encapsulate(h,d,A)}},{key:"rootTypeName",value:function(h,d){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return A.iterateNone=!0,this.encapsulate(h,d,A)}},{key:"encapsulate",value:function(h,d,A){A=_({sync:!0},this.options,{},A);var G=A,H=G.sync,W=this,C={},Ae=[],Ue=[],xe=[],Ge="cyclic"in A?A.cyclic:!0,Ye=A,Xe=Ye.encapsulateObserver,Fe=ue("",h,Ge,d||{},xe);function qe(I){var t=Object.values(C);if(A.iterateNone)return t.length?t[0]:l.getJSONType(I);if(t.length){if(A.returnTypeNames)return pe(new Set(t));!I||!f(I)||Ce.call(I,"$types")?I={$:I,$types:{$:C}}:I.$types=C}else M(I)&&Ce.call(I,"$types")&&(I={$:I,$types:!0});return A.returnTypeNames?!1:I}function ge(I,t){return oe.apply(this,arguments)}function oe(){return oe=w(regeneratorRuntime.mark(function I(t,e){var n;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Promise.all(e.map(function(O){return O[1].p}));case 2:return n=a.sent,a.next=5,Promise.all(n.map(function(){var O=w(regeneratorRuntime.mark(function T(B){var E,L,Y,q,ae,Q,X,fe,le,D,Te,P,S,U;return regeneratorRuntime.wrap(function(x){for(;;)switch(x.prev=x.next){case 0:if(E=[],L=e.splice(0,1),Y=F(L,1),q=Y[0],ae=F(q,7),Q=ae[0],X=ae[2],fe=ae[3],le=ae[4],D=ae[5],Te=ae[6],P=ue(Q,B,X,fe,E,!0,Te),S=b(P,N),!(Q&&S)){x.next=11;break}return x.next=8,P.p;case 8:return U=x.sent,le[D]=U,x.abrupt("return",ge(t,E));case 11:return Q?le[D]=P:S?t=P.p:t=P,x.abrupt("return",ge(t,E));case 13:case"end":return x.stop()}},T)}));return function(T){return O.apply(this,arguments)}}()));case 5:return a.abrupt("return",t);case 6:case"end":return a.stop()}},I)})),oe.apply(this,arguments)}function ne(I,t,e){Object.assign(I,t);var n=Me.map(function(i){var a=I[i];return delete I[i],a});e(),Me.forEach(function(i,a){I[i]=n[a]})}function ue(I,t,e,n,i,a,O){var T,B={},E=s(t),L=Xe?function(S){var U=O||n.type||l.getJSONType(t);Xe(Object.assign(S||B,{keypath:I,value:t,cyclic:e,stateObj:n,promisesData:i,resolvingTypesonPromise:a,awaitingTypesonPromise:b(t,N)},{type:U}))}:null;if(["string","boolean","number","undefined"].includes(E))return t===void 0||E==="number"&&(isNaN(t)||t===-1/0||t===1/0)?(n.replaced?T=t:T=we(I,t,n,i,!1,a,L),T!==t&&(B={replaced:T})):T=t,L&&L(),T;if(t===null)return L&&L(),t;if(e&&!n.iterateIn&&!n.iterateUnsetNumeric&&t&&s(t)==="object"){var Y=Ae.indexOf(t);if(Y<0)e===!0&&(Ae.push(t),Ue.push(I));else return C[I]="#",L&&L({cyclicKeypath:Ue[Y]}),"#"+Ue[Y]}var q=f(t),ae=be(t),Q=(q||ae)&&(!W.plainObjectReplacers.length||n.replaced)||n.iterateIn?t:we(I,t,n,i,q||ae,null,L),X;if(Q!==t?(T=Q,B={replaced:Q}):I===""&&b(t,N)?(i.push([I,t,e,n,void 0,void 0,n.type]),T=t):ae&&n.iterateIn!=="object"||n.iterateIn==="array"?(X=new Array(t.length),B={clone:X}):!["function","symbol"].includes(s(t))&&!("toJSON"in t)&&!b(t,N)&&!b(t,Promise)&&!b(t,ArrayBuffer)||q||n.iterateIn==="object"?(X={},n.addLength&&(X.length=t.length),B={clone:X}):T=t,L&&L(),A.iterateNone)return X||T;if(!X)return T;if(n.iterateIn){var fe=function(U){var k={ownKeys:Ce.call(t,U)};ne(n,k,function(){var x=I+(I?".":"")+ie(U),z=ue(x,t[U],!!e,n,i,a);b(z,N)?i.push([x,z,!!e,n,X,U,n.type]):z!==void 0&&(X[U]=z)})};for(var le in t)fe(le);L&&L({endIterateIn:!0,end:!0})}else ce(t).forEach(function(S){var U=I+(I?".":"")+ie(S),k={ownKeys:!0};ne(n,k,function(){var x=ue(U,t[S],!!e,n,i,a);b(x,N)?i.push([U,x,!!e,n,X,S,n.type]):x!==void 0&&(X[S]=x)})}),L&&L({endIterateOwn:!0,end:!0});if(n.iterateUnsetNumeric){for(var D=t.length,Te=function(U){if(!(U in t)){var k=I+(I?".":"")+U,x={ownKeys:!1};ne(n,x,function(){var z=ue(k,void 0,!!e,n,i,a);b(z,N)?i.push([k,z,!!e,n,X,U,n.type]):z!==void 0&&(X[U]=z)})}},P=0;Pt.length)&&(e=t.length);for(var n=0,i=new Array(e);n"u"||!(Symbol.iterator in Object(i)))){var O=[],T=!0,B=!1,E=void 0;try{for(var L,Y=i[Symbol.iterator]();!(T=(L=Y.next()).done)&&(O.push(L.value),!a||O.length!==a);T=!0);}catch(q){B=!0,E=q}finally{try{T||Y.return==null||Y.return()}finally{if(B)throw E}}return O}}(t,e)||Ee(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ee(t){return function(n){if(Array.isArray(n))return me(n)}(t)||function(n){if(typeof Symbol<"u"&&Symbol.iterator in Object(n))return Array.from(n)}(t)||Ee(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Ee(t,e){if(t){if(typeof t=="string")return me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(t,e):void 0}}function me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n-1){var i=t[M(e.slice(0,n))];return i===void 0?void 0:ie(i,e.slice(n+1))}return t[M(e)]}function he(t,e,n){if(e==="")return n;var i=e.indexOf(".");return i>-1?he(t[M(e.slice(0,i))],e.slice(i+1),n):(t[M(e)]=n,t)}function Se(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}var Be=Object.keys,_e=Array.isArray,ce={}.hasOwnProperty,be=["type","replaced","iterateIn","iterateUnsetNumeric"];function Ce(t){return function(){for(var e=[],n=0;ni?-1:ne.keypath}var $=function(){function t(e){_(this,t),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}return function(n,i,a){return F(n.prototype,i),n}(t,[{key:"stringify",value:function(n,i,a,O){O=J(J(J({},this.options),O),{},{stringification:!0});var T=this.encapsulate(n,null,O);return _e(T)?JSON.stringify(T[0],i,a):T.then(function(B){return JSON.stringify(B,i,a)})}},{key:"stringifySync",value:function(n,i,a,O){return this.stringify(n,i,a,J(J({throwOnBadSyncType:!0},O),{},{sync:!0}))}},{key:"stringifyAsync",value:function(n,i,a,O){return this.stringify(n,i,a,J(J({throwOnBadSyncType:!0},O),{},{sync:!1}))}},{key:"parse",value:function(n,i,a){return a=J(J(J({},this.options),a),{},{parse:!0}),this.revive(JSON.parse(n,i),a)}},{key:"parseSync",value:function(n,i,a){return this.parse(n,i,J(J({throwOnBadSyncType:!0},a),{},{sync:!0}))}},{key:"parseAsync",value:function(n,i,a){return this.parse(n,i,J(J({throwOnBadSyncType:!0},a),{},{sync:!1}))}},{key:"specialTypeNames",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return a.returnTypeNames=!0,this.encapsulate(n,i,a)}},{key:"rootTypeName",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return a.iterateNone=!0,this.encapsulate(n,i,a)}},{key:"encapsulate",value:function(n,i,a){var O=Ce(function(P,S){return Se(Promise.all(S.map(function(U){return U[1].p})),function(U){return Se(Promise.all(U.map(Ce(function(k){var x=!1,z=[],Ke=V(S.splice(0,1),1),Oe=V(Ke[0],7),Le=Oe[0],De=Oe[2],se=Oe[3],Ve=Oe[4],de=Oe[5],$e=Oe[6],je=D(Le,k,De,se,z,!0,$e),ze=r(je,N);return function(yn,on){var tn=yn();return tn&&tn.then?tn.then(on):on(tn)}(function(){if(Le&&ze)return Se(je.p,function(He){return Ve[de]=He,x=!0,O(P,z)})},function(He){return x?He:(Le?Ve[de]=je:P=ze?je.p:je,O(P,z))})}))),function(){return P})})}),T=(a=J(J({sync:!0},this.options),a)).sync,B=this,E={},L=[],Y=[],q=[],ae=!("cyclic"in a)||a.cyclic,Q=a.encapsulateObserver,X=D("",n,ae,i||{},q);function fe(P){var S=Object.values(E);if(a.iterateNone)return S.length?S[0]:t.getJSONType(P);if(S.length){if(a.returnTypeNames)return ee(new Set(S));P&&b(P)&&!ce.call(P,"$types")?P.$types=E:P={$:P,$types:{$:E}}}else f(P)&&ce.call(P,"$types")&&(P={$:P,$types:!0});return!a.returnTypeNames&&P}function le(P,S,U){Object.assign(P,S);var k=be.map(function(x){var z=P[x];return delete P[x],z});U(),be.forEach(function(x,z){P[x]=k[z]})}function D(P,S,U,k,x,z,Ke){var Oe,Le={},De=u(S),se=Q?function(Ze){var Ie=Ke||k.type||t.getJSONType(S);Q(Object.assign(Ze||Le,{keypath:P,value:S,cyclic:U,stateObj:k,promisesData:x,resolvingTypesonPromise:z,awaitingTypesonPromise:r(S,N)},{type:Ie}))}:null;if(["string","boolean","number","undefined"].includes(De))return S===void 0||Number.isNaN(S)||S===Number.NEGATIVE_INFINITY||S===Number.POSITIVE_INFINITY?(Oe=k.replaced?S:Te(P,S,k,x,!1,z,se))!==S&&(Le={replaced:Oe}):Oe=S,se&&se(),Oe;if(S===null)return se&&se(),S;if(U&&!k.iterateIn&&!k.iterateUnsetNumeric&&S&&u(S)==="object"){var Ve=L.indexOf(S);if(!(Ve<0))return E[P]="#",se&&se({cyclicKeypath:Y[Ve]}),"#"+Y[Ve];U===!0&&(L.push(S),Y.push(P))}var de,$e=b(S),je=_e(S),ze=($e||je)&&(!B.plainObjectReplacers.length||k.replaced)||k.iterateIn?S:Te(P,S,k,x,$e||je,null,se);if(ze!==S?(Oe=ze,Le={replaced:ze}):P===""&&r(S,N)?(x.push([P,S,U,k,void 0,void 0,k.type]),Oe=S):je&&k.iterateIn!=="object"||k.iterateIn==="array"?(de=new Array(S.length),Le={clone:de}):(["function","symbol"].includes(u(S))||"toJSON"in S||r(S,N)||r(S,Promise)||r(S,ArrayBuffer))&&!$e&&k.iterateIn!=="object"?Oe=S:(de={},k.addLength&&(de.length=S.length),Le={clone:de}),se&&se(),a.iterateNone)return de||Oe;if(!de)return Oe;if(k.iterateIn){var He=function(Ie){var Qe={ownKeys:ce.call(S,Ie)};le(k,Qe,function(){var nn=P+(P?".":"")+Z(Ie),un=D(nn,S[Ie],!!U,k,x,z);r(un,N)?x.push([nn,un,!!U,k,de,Ie,k.type]):un!==void 0&&(de[Ie]=un)})};for(var yn in S)He(yn);se&&se({endIterateIn:!0,end:!0})}else Be(S).forEach(function(Ze){var Ie=P+(P?".":"")+Z(Ze);le(k,{ownKeys:!0},function(){var Qe=D(Ie,S[Ze],!!U,k,x,z);r(Qe,N)?x.push([Ie,Qe,!!U,k,de,Ze,k.type]):Qe!==void 0&&(de[Ze]=Qe)})}),se&&se({endIterateOwn:!0,end:!0});if(k.iterateUnsetNumeric){for(var on=S.length,tn=function(Ie){if(!(Ie in S)){var Qe=P+(P?".":"")+Ie;le(k,{ownKeys:!1},function(){var nn=D(Qe,void 0,!!U,k,x,z);r(nn,N)?x.push([Qe,nn,!!U,k,de,Ie,k.type]):nn!==void 0&&(de[Ie]=nn)})}},dn=0;dn>2],T+=C[(3&a[B])<<4|a[B+1]>>4],T+=C[(15&a[B+1])<<2|a[B+2]>>6],T+=C[63&a[B+2]];return O%3==2?T=T.slice(0,-1)+"=":O%3==1&&(T=T.slice(0,-2)+"=="),T},Ge=function(e){var n,i,a,O,T=e.length,B=.75*e.length,E=0;e[e.length-1]==="="&&(B--,e[e.length-2]==="="&&B--);for(var L=new ArrayBuffer(B),Y=new Uint8Array(L),q=0;q>4,Y[E++]=(15&i)<<4|a>>2,Y[E++]=(3&a)<<6|63&O;return L},Ye={arraybuffer:{test:function(e){return $.toStringTag(e)==="ArrayBuffer"},replace:function(e,n){n.buffers||(n.buffers=[]);var i=n.buffers.indexOf(e);return i>-1?{index:i}:(n.buffers.push(e),xe(e))},revive:function(e,n){if(n.buffers||(n.buffers=[]),s(e)==="object")return n.buffers[e.index];var i=Ge(e);return n.buffers.push(i),i}}},Xe=typeof self>"u"?hn:self,Fe={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach(function(t){var e=t,n=Xe[e];n&&(Fe[t.toLowerCase()]={test:function(a){return $.toStringTag(a)===e},replace:function(a,O){var T=a.buffer,B=a.byteOffset,E=a.length;O.buffers||(O.buffers=[]);var L=O.buffers.indexOf(T);return L>-1?{index:L,byteOffset:B,length:E}:(O.buffers.push(T),{encoded:xe(T),byteOffset:B,length:E})},revive:function(a,O){O.buffers||(O.buffers=[]);var T,B=a.byteOffset,E=a.length,L=a.encoded,Y=a.index;return"index"in a?T=O.buffers[Y]:(T=Ge(L),O.buffers.push(T)),new n(T,B,E)}})});var qe={dataview:{test:function(e){return $.toStringTag(e)==="DataView"},replace:function(e,n){var i=e.buffer,a=e.byteOffset,O=e.byteLength;n.buffers||(n.buffers=[]);var T=n.buffers.indexOf(i);return T>-1?{index:T,byteOffset:a,byteLength:O}:(n.buffers.push(i),{encoded:xe(i),byteOffset:a,byteLength:O})},revive:function(e,n){n.buffers||(n.buffers=[]);var i,a=e.byteOffset,O=e.byteLength,T=e.encoded,B=e.index;return"index"in e?i=n.buffers[B]:(i=Ge(T),n.buffers.push(i)),new DataView(i,a,O)}}},ge={IntlCollator:{test:function(e){return $.hasConstructorOf(e,Intl.Collator)},replace:function(e){return e.resolvedOptions()},revive:function(e){return new Intl.Collator(e.locale,e)}},IntlDateTimeFormat:{test:function(e){return $.hasConstructorOf(e,Intl.DateTimeFormat)},replace:function(e){return e.resolvedOptions()},revive:function(e){return new Intl.DateTimeFormat(e.locale,e)}},IntlNumberFormat:{test:function(e){return $.hasConstructorOf(e,Intl.NumberFormat)},replace:function(e){return e.resolvedOptions()},revive:function(e){return new Intl.NumberFormat(e.locale,e)}}};function oe(t){for(var e=new Uint8Array(t.length),n=0;n>2],o+=rn[(w[j]&3)<<4|w[j+1]>>4],o+=rn[(w[j+1]&15)<<2|w[j+2]>>6],o+=rn[w[j+2]&63];return p%3===2?o=o.slice(0,-1)+"=":p%3===1&&(o=o.slice(0,-2)+"=="),o},On=function(v){var s=v.length,m=v.length*.75,w=0,p,o,j,R;v[v.length-1]==="="&&(m--,v[v.length-2]==="="&&m--);for(var u=new ArrayBuffer(m),_=new Uint8Array(u),F=0;F>4,_[w++]=(o&15)<<4|j>>2,_[w++]=(j&3)<<6|R&63;return u},jn=typeof self>"u"?global:self,Sn={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach(function(g){var v=g,s=jn[v];s&&(Sn[g.toLowerCase()+"2"]={test:function(m){return pn.toStringTag(m)===v},replace:function(m){var w=m.buffer,p=m.byteOffset,o=m.length;return{buffer:w,byteOffset:p,length:o}},revive:function(m){var w=m.buffer,p=m.byteOffset,o=m.length;return new s(w,p,o)}})});var In={arraybuffer:{test:function(g){return pn.toStringTag(g)==="ArrayBuffer"},replace:function(g){return vn(g,0,g.byteLength)},revive:function(g){var v=On(g);return v}}},Je=new pn().register(Pn),Bn="FileReaderSync"in self,ln=[],cn=0;Je.register([In,Sn,{blob2:{test:function(g){return pn.toStringTag(g)==="Blob"},replace:function(g){if(g.isClosed)throw new Error("The Blob is closed");if(Bn){var v=wn(g,"binary"),s=vn(v,0,v.byteLength);return{type:g.type,data:s}}else{ln.push(g);var m={type:g.type,data:{start:cn,end:cn+g.size}};return cn+=g.size,m}},finalize:function(g,v){g.data=vn(v,0,v.byteLength)},revive:function(g){var v=g.type,s=g.data;return new Blob([On(s)],{type:v})}}}]);Je.mustFinalize=function(){return ln.length>0};Je.finalize=function(g){return en(void 0,void 0,void 0,function(){var v,s,m,w,p,o,j,R,u,_,F,pe;return We(this,function(ve){switch(ve.label){case 0:return[4,gn(new Blob(ln),"binary")];case 1:if(v=ve.sent(),g){for(s=0,m=g;s0&&(p.push(","),j&&p.push(` + `)),he=be.length===r,c?(Ce=V?be.filter(function(d){return V(te,d)}):be,Me=ee?Ce.map(function(d){return ee(te,d).value}):Ce,$=Me.map(function(d){return Je.encapsulate(d)}),Je.mustFinalize()?[4,Re.waitFor(Je.finalize($))]:[3,3]):[3,4]);case 2:h.sent(),h.label=3;case 3:return y=JSON.stringify($,void 0,j?2:void 0),j&&(y=y.split(` +`).join(` + `)),p.push(new Blob([y.substring(1,y.length-1)])),ie=Me.length,M=be.length>0?Re.getByKeyPath(be[be.length-1],Pe.keyPath):null,[3,8];case 4:return[4,ce.primaryKeys()];case 5:return ye=h.sent(),ke=ye.map(function(d,A){return[d,be[A]]}),V&&(ke=ke.filter(function(d){var A=d[0],G=d[1];return V(te,G,A)})),ee&&(ke=ke.map(function(d){var A=d[0],G=d[1],H=ee(te,G,A);return[H.key,H.value]})),l=ke.map(function(d){return Je.encapsulate(d)}),Je.mustFinalize()?[4,Re.waitFor(Je.finalize(l))]:[3,7];case 6:h.sent(),h.label=7;case 7:y=JSON.stringify(l,void 0,j?2:void 0),j&&(y=y.split(` +`).join(` + `)),p.push(new Blob([y.substring(1,y.length-1)])),ie=ke.length,M=ye.length>0?ye[ye.length-1]:null,h.label=8;case 8:return _.completedRows+=be.length,[2]}})},_e.label=1;case 1:return he?[5,Se()]:[3,3];case 2:return Be=_e.sent(),Be==="break"?[3,3]:[3,1];case 3:return p.push(f.substr(Z)),_.completedTables+=1,_.completedTables<_.totalTables&&p.push(","),[2]}})},me=0,N=o,K.label=2;case 2:return mer)switch(f){case"text":closeText(c);break;default:K(c,"Max buffer length exceeded: "+f)}b=Math.max(b,Z)}c.bufferCheckPosition=s.MAX_BUFFER_LENGTH-b+c.position}function F(c){for(var r in w)c[r]=w[r]}var pe=/[\\"\n]/g;function ve(c){if(!(this instanceof ve))return new ve(c);var r=this;F(r),r.bufferCheckPosition=s.MAX_BUFFER_LENGTH,r.q=r.c=r.p="",r.opt=c||{},r.closed=r.closedRoot=r.sawRoot=!1,r.tag=r.error=null,r.state=o.BEGIN,r.stack=new Array,r.position=r.column=0,r.line=1,r.slashed=!1,r.unicodeI=0,r.unicodeS=null,r.depth=0,ee(r,"onready")}ve.prototype={end:function(){te(this)},write:Pe,resume:function(){return this.error=null,this},close:function(){return this.write(null)}};try{j=Ln.Stream}catch{j=function(){}}function J(c){return new V(c)}function V(c){if(!(this instanceof V))return new V(c);this._parser=new ve(c),this.writable=!0,this.readable=!0,this.bytes_remaining=0,this.bytes_in_sequence=0,this.temp_buffs={2:new Buffer(2),3:new Buffer(3),4:new Buffer(4)},this.string="";var r=this;j.apply(r),this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(b){r.emit("error",b),r._parser.error=null},p.forEach(function(b){Object.defineProperty(r,"on"+b,{get:function(){return r._parser["on"+b]},set:function(f){if(!f)return r.removeAllListeners(b),r._parser["on"+b]=f,f;r.on(b,f)},enumerable:!0,configurable:!1})})}V.prototype=Object.create(j.prototype,{constructor:{value:V}}),V.prototype.write=function(c){c=new Buffer(c);for(var r=0;r0){for(var f=0;f=128)if(b>=194&&b<=223&&(this.bytes_in_sequence=2),b>=224&&b<=239&&(this.bytes_in_sequence=3),b>=240&&b<=244&&(this.bytes_in_sequence=4),this.bytes_in_sequence+r>c.length){for(var Z=0;Z<=c.length-1-r;Z++)this.temp_buffs[this.bytes_in_sequence][Z]=c[r+Z];return this.bytes_remaining=r+this.bytes_in_sequence-c.length,!0}else{this.string=c.slice(r,r+this.bytes_in_sequence).toString(),r=r+this.bytes_in_sequence-1,this._parser.write(this.string),this.emit("data",this.string);continue}for(var M=r;M=128);M++);this.string=c.slice(r,M).toString(),this._parser.write(this.string),this.emit("data",this.string),r=M-1}},V.prototype.end=function(c){return c&&c.length&&this._parser.write(c.toString()),this._parser.end(),!0},V.prototype.on=function(c,r){var b=this;return!b._parser["on"+c]&&p.indexOf(c)!==-1&&(b._parser["on"+c]=function(){var f=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);f.splice(0,0,c),b.emit.apply(b,f)}),j.prototype.on.call(b,c,r)},V.prototype.destroy=function(){F(this._parser),this.emit("close")};function ee(c,r,b){s.INFO&&console.log("-- emit",r,b),c[r]&&c[r](b)}function Ee(c,r,b){me(c),ee(c,r,b)}function me(c,r){c.textNode=Ne(c.opt,c.textNode),c.textNode!==void 0&&ee(c,r||"onvalue",c.textNode),c.textNode=void 0}function N(c){c.numberNode&&ee(c,"onvalue",parseFloat(c.numberNode)),c.numberNode=""}function Ne(c,r){return r===void 0||(c.trim&&(r=r.trim()),c.normalize&&(r=r.replace(/\s+/g," "))),r}function K(c,r){return me(c),r+=` +Line: `+c.line+` +Column: `+c.column+` +Char: `+c.c,r=new Error(r),c.error=r,ee(c,"onerror",r),c}function te(c){return(c.state!==o.VALUE||c.depth!==0)&&K(c,"Unexpected end"),me(c),c.c="",c.closed=!0,ee(c,"onend"),ve.call(c,c.opt),c}function re(c){return c===u.carriageReturn||c===u.lineFeed||c===u.space||c===u.tab}function Pe(c){var r=this;if(this.error)throw this.error;if(r.closed)return K(r,"Cannot write after close. Assign an onready handler.");if(c===null)return te(r);var b=0,f=c.charCodeAt(0),Z=r.p;for(s.DEBUG&&console.log("write -> ["+c+"]");f&&(Z=f,r.c=f=c.charCodeAt(b++),Z!==f?r.p=Z:Z=r.p,!!f);)switch(s.DEBUG&&console.log(b,f,s.STATE[r.state]),r.position++,f===u.lineFeed?(r.line++,r.column=0):r.column++,r.state){case o.BEGIN:f===u.openBrace?r.state=o.OPEN_OBJECT:f===u.openBracket?r.state=o.OPEN_ARRAY:re(f)||K(r,"Non-whitespace before {[.");continue;case o.OPEN_KEY:case o.OPEN_OBJECT:if(re(f))continue;if(r.state===o.OPEN_KEY)r.stack.push(o.CLOSE_KEY);else if(f===u.closeBrace){ee(r,"onopenobject"),this.depth++,ee(r,"oncloseobject"),this.depth--,r.state=r.stack.pop()||o.VALUE;continue}else r.stack.push(o.CLOSE_OBJECT);f===u.doubleQuote?r.state=o.STRING:K(r,'Malformed object key should start with "');continue;case o.CLOSE_KEY:case o.CLOSE_OBJECT:if(re(f))continue;r.state,o.CLOSE_KEY,f===u.colon?(r.state===o.CLOSE_OBJECT?(r.stack.push(o.CLOSE_OBJECT),me(r,"onopenobject"),this.depth++):me(r,"onkey"),r.state=o.VALUE):f===u.closeBrace?(Ee(r,"oncloseobject"),this.depth--,r.state=r.stack.pop()||o.VALUE):f===u.comma?(r.state===o.CLOSE_OBJECT&&r.stack.push(o.CLOSE_OBJECT),me(r),r.state=o.OPEN_KEY):K(r,"Bad object");continue;case o.OPEN_ARRAY:case o.VALUE:if(re(f))continue;if(r.state===o.OPEN_ARRAY)if(ee(r,"onopenarray"),this.depth++,r.state=o.VALUE,f===u.closeBracket){ee(r,"onclosearray"),this.depth--,r.state=r.stack.pop()||o.VALUE;continue}else r.stack.push(o.CLOSE_ARRAY);f===u.doubleQuote?r.state=o.STRING:f===u.openBrace?r.state=o.OPEN_OBJECT:f===u.openBracket?r.state=o.OPEN_ARRAY:f===u.t?r.state=o.TRUE:f===u.f?r.state=o.FALSE:f===u.n?r.state=o.NULL:f===u.minus?r.numberNode+="-":u._0<=f&&f<=u._9?(r.numberNode+=String.fromCharCode(f),r.state=o.NUMBER_DIGIT):K(r,"Bad value");continue;case o.CLOSE_ARRAY:if(f===u.comma)r.stack.push(o.CLOSE_ARRAY),me(r,"onvalue"),r.state=o.VALUE;else if(f===u.closeBracket)Ee(r,"onclosearray"),this.depth--,r.state=r.stack.pop()||o.VALUE;else{if(re(f))continue;K(r,"Bad array")}continue;case o.STRING:r.textNode===void 0&&(r.textNode="");var M=b-1,ie=r.slashed,he=r.unicodeI;e:for(;;){for(s.DEBUG&&console.log(b,f,s.STATE[r.state],ie);he>0;)if(r.unicodeS+=String.fromCharCode(f),f=c.charCodeAt(b++),r.position++,he===4?(r.textNode+=String.fromCharCode(parseInt(r.unicodeS,16)),he=0,M=b-1):he++,!f)break e;if(f===u.doubleQuote&&!ie){r.state=r.stack.pop()||o.VALUE,r.textNode+=c.substring(M,b-1),r.position+=b-1-M;break}if(f===u.backslash&&!ie&&(ie=!0,r.textNode+=c.substring(M,b-1),r.position+=b-1-M,f=c.charCodeAt(b++),r.position++,!f))break;if(ie){if(ie=!1,f===u.n?r.textNode+=` +`:f===u.r?r.textNode+="\r":f===u.t?r.textNode+=" ":f===u.f?r.textNode+="\f":f===u.b?r.textNode+="\b":f===u.u?(he=1,r.unicodeS=""):r.textNode+=String.fromCharCode(f),f=c.charCodeAt(b++),r.position++,M=b-1,f)continue;break}pe.lastIndex=b;var Se=pe.exec(c);if(Se===null){b=c.length+1,r.textNode+=c.substring(M,b-1),r.position+=b-1-M;break}if(b=Se.index+1,f=c.charCodeAt(Se.index),!f){r.textNode+=c.substring(M,b-1),r.position+=b-1-M;break}}r.slashed=ie,r.unicodeI=he;continue;case o.TRUE:f===u.r?r.state=o.TRUE2:K(r,"Invalid true started with t"+f);continue;case o.TRUE2:f===u.u?r.state=o.TRUE3:K(r,"Invalid true started with tr"+f);continue;case o.TRUE3:f===u.e?(ee(r,"onvalue",!0),r.state=r.stack.pop()||o.VALUE):K(r,"Invalid true started with tru"+f);continue;case o.FALSE:f===u.a?r.state=o.FALSE2:K(r,"Invalid false started with f"+f);continue;case o.FALSE2:f===u.l?r.state=o.FALSE3:K(r,"Invalid false started with fa"+f);continue;case o.FALSE3:f===u.s?r.state=o.FALSE4:K(r,"Invalid false started with fal"+f);continue;case o.FALSE4:f===u.e?(ee(r,"onvalue",!1),r.state=r.stack.pop()||o.VALUE):K(r,"Invalid false started with fals"+f);continue;case o.NULL:f===u.u?r.state=o.NULL2:K(r,"Invalid null started with n"+f);continue;case o.NULL2:f===u.l?r.state=o.NULL3:K(r,"Invalid null started with nu"+f);continue;case o.NULL3:f===u.l?(ee(r,"onvalue",null),r.state=r.stack.pop()||o.VALUE):K(r,"Invalid null started with nul"+f);continue;case o.NUMBER_DECIMAL_POINT:f===u.period?(r.numberNode+=".",r.state=o.NUMBER_DIGIT):K(r,"Leading zero not followed by .");continue;case o.NUMBER_DIGIT:u._0<=f&&f<=u._9?r.numberNode+=String.fromCharCode(f):f===u.period?(r.numberNode.indexOf(".")!==-1&&K(r,"Invalid number has two dots"),r.numberNode+="."):f===u.e||f===u.E?((r.numberNode.indexOf("e")!==-1||r.numberNode.indexOf("E")!==-1)&&K(r,"Invalid number has two exponential"),r.numberNode+="e"):f===u.plus||f===u.minus?(Z===u.e||Z===u.E||K(r,"Invalid symbol in number"),r.numberNode+=String.fromCharCode(f)):(N(r),b--,r.state=r.stack.pop()||o.VALUE);continue;default:K(r,"Unknown state: "+r.state)}return r.position>=r.bufferCheckPosition&&_(r),r}})(v)});function xn(g){var v=0,s=Fn(),m={pullAsync:function(w){return en(this,void 0,void 0,function(){var p,o,j;return We(this,function(R){switch(R.label){case 0:return p=g.slice(v,v+w),v+=w,[4,gn(p,"text")];case 1:return o=R.sent(),j=s.write(o),m.result=j||{},[2,j]}})})},pullSync:function(w){var p=g.slice(v,v+w);v+=w;var o=wn(p,"text"),j=s.write(o);return m.result=j||{},j},done:function(){return s.done()},eof:function(){return v>=g.size},result:{}};return m}function Fn(g){var v=Rn.parser(),s=0,m,w=[],p,o,j=!1,R=!1;return v.onopenobject=function(u){var _={};_.incomplete=!0,m||(m=_),p&&(w.push([o,p,R]),R?p.push(_):p[o]=_),p=_,o=u,R=!1,++s},v.onkey=function(u){return o=u},v.onvalue=function(u){return R?p.push(u):p[o]=u},v.oncloseobject=function(){var u;delete p.incomplete,o=null,--s===0?j=!0:(u=w.pop(),o=u[0],p=u[1],R=u[2])},v.onopenarray=function(){var u=[];u.incomplete=!0,m||(m=u),p&&(w.push([o,p,R]),R?p.push(u):p[o]=u),p=u,R=!0,o=null,++s},v.onclosearray=function(){var u;delete p.incomplete,o=null,--s===0?j=!0:(u=w.pop(),o=u[0],p=u[1],R=u[2])},{write:function(u){return v.write(u),m},done:function(){return j}}}var An=1024;function Kn(g,v){return en(this,void 0,void 0,function(){var s,m,w,p;return We(this,function(o){switch(o.label){case 0:return v=v||{},s=v.chunkSizeBytes||An*1024,[4,En(g,s)];case 1:return m=o.sent(),w=m.result.data,p=new Re(v.name!==void 0?v.name:w.databaseName),p.version(w.databaseVersion).stores(Nn(w)),[4,Tn(p,m,v.name!==void 0?fn(fn({},v),{acceptNameDiff:!0}):v)];case 2:return o.sent(),[2,p]}})})}function Tn(g,v,s){return en(this,void 0,void 0,function(){function m(){return en(this,void 0,void 0,function(){var V,ee,Ee,me,N;return We(this,function(Ne){switch(Ne.label){case 0:V=function(K){var te,re,Pe,c,r,b,f,Z,M,ie,he,Se,Be;return We(this,function(_e){switch(_e.label){case 0:if(u.includes(K.tableName))return[2,"continue"];if(!K.rows)return[2,"break"];if(!K.rows.incomplete&&K.rows.length===0)return[2,"continue"];if(_&&Re.ignoreTransaction(function(){return _(F)}),te=K.tableName,re=g.table(te),Pe=R.tables.filter(function(ce){return ce.name===te})[0].schema,!re){if(s.acceptMissingTables)return[2,"continue"];throw new Error("Exported table ".concat(K.tableName," is missing in installed database"))}if(!s.acceptChangedPrimaryKey&&Pe.split(",")[0]!=re.schema.primKey.src)throw new Error("Primary key differs for table ".concat(K.tableName,". "));for(c=K.rows,r=[],b=0;b0&&R.data[0].rows&&!R.data[0].rows.incomplete;)R.data.splice(0,1);return!p.done()&&!p.eof()?j?(p.pullSync(w),[3,7]):[3,5]:[3,8];case 5:return[4,Re.waitFor(p.pullAsync(w))];case 6:Ne.sent(),Ne.label=7;case 7:return[3,9];case 8:return[3,10];case 9:return[3,0];case 10:return[2]}})})}var w,p,o,j,R,u,_,F,pe,ve,J;return We(this,function(V){switch(V.label){case 0:return s=s||{},w=s.chunkSizeBytes||An*1024,[4,En(v,w)];case 1:if(p=V.sent(),o=p.result,j="FileReaderSync"in self,R=o.data,u=s.skipTables?s.skipTables:[],!s.acceptNameDiff&&g.name!==R.databaseName)throw new Error("Name differs. Current database name is ".concat(g.name," but export is ").concat(R.databaseName));if(!s.acceptVersionDiff&&g.verno!==R.databaseVersion)throw new Error("Database version differs. Current database is in version ".concat(g.verno," but export is ").concat(R.databaseVersion));if(_=s.progressCallback,F={done:!1,completedRows:0,completedTables:0,totalRows:R.tables.reduce(function(ee,Ee){return ee+Ee.rowCount},0),totalTables:R.tables.length},_&&Re.ignoreTransaction(function(){return _(F)}),!s.clearTablesBeforeImport)return[3,5];pe=0,ve=g.tables,V.label=2;case 2:return peUn)throw new Error("Format version ".concat(m.formatVersion," not supported"));if(!m.data)throw new Error("No data in export file");if(!m.data.databaseName)throw new Error("Missing databaseName in export file");if(!m.data.databaseVersion)throw new Error("Missing databaseVersion in export file");if(!m.data.tables)throw new Error("Missing tables in export file");return[2,s]}})})}Re.prototype.export=function(g){return kn(this,g)};Re.prototype.import=function(g,v){return Tn(this,g,v)};Re.import=function(g,v){return Kn(g,v)}; diff --git a/dist-electron/assets/index-BH4jUAKp.js b/dist-electron/assets/index-BH4jUAKp.js new file mode 100644 index 0000000..4c6aafb --- /dev/null +++ b/dist-electron/assets/index-BH4jUAKp.js @@ -0,0 +1,2 @@ +import{J as o,K as f,L as c,N as _,O as Nr,P as lr,Q as Br,R as Tr}from"./index-BLqts8WY.js";import{L as d,_ as h,M as O,N as p,O as J,P as x,Q as y,R as L,T as hr,U as k,V as Ft,W as vr,X as qr,Y as K,Z as M,$ as g,a0 as Sr,a1 as Dr,a2 as Mr,a3 as zr,a4 as Jt,a5 as Cr,a6 as pr,H as Vr,a7 as Kt,a8 as Qt,o as Ht,a9 as Yt}from"./index-MyY_xqVN.js";import{t as R,_ as Q,a as ir,b as Zt,d as Gt,c as dr}from"./concat-BK8PKeDS.js";import{s as bt}from"./sort-Dh4GzQVc.js";var jt=function(){return!1},$t=function(){return!0};const rn={"@@functional/placeholder":!0};var H=o(function(r,t){return Number(r)+Number(t)});function w(e,r){e=e||[],r=r||[];var t,n=e.length,u=r.length,i=[];for(t=0;t=u||r<-u)return n;var i=(u+r)%u,a=w(n);return a[i]=t(n[i]),a}),en=function(){function e(r,t){this.xf=t,this.f=r,this.all=!0}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=function(r){return this.all&&(r=this.xf["@@transducer/step"](r,!0)),this.xf["@@transducer/result"](r)},e.prototype["@@transducer/step"]=function(r,t){return this.f(t)||(this.all=!1,r=O(this.xf["@@transducer/step"](r,!1))),r},e}();function un(e){return function(r){return new en(e,r)}}var Fr=o(p(["all"],un,function(r,t){for(var n=0;nv!=v>l)return v>l?v:l}var u=n(r,t);if(u!==void 0)return u;var i=n(typeof r,typeof t);if(i!==void 0)return i===typeof r?r:t;var a=R(r),s=n(a,R(t));return s!==void 0&&s===a?r:t});const A=Number.isInteger||function(r){return r<<0===r};var E=o(function(r,t){var n=r<0?t.length+r:r;return J(t)?t.charAt(n):t[n]}),P=o(function(r,t){if(t!=null)return A(r)?E(r,t):t[r]}),z=o(function(r,t){return x(P(r),t)}),C=f(function(r){return y(r)?!0:!r||typeof r!="object"||J(r)?!1:r.length===0?!0:r.length>0?r.hasOwnProperty(0)&&r.hasOwnProperty(r.length-1):!1}),kr=typeof Symbol<"u"?Symbol.iterator:"@@iterator";function Jr(e,r,t){return function(u,i,a){if(C(a))return e(u,i,a);if(a==null)return i;if(typeof a["fantasy-land/reduce"]=="function")return r(u,i,a,"fantasy-land/reduce");if(a[kr]!=null)return t(u,i,a[kr]());if(typeof a.next=="function")return t(u,i,a);if(typeof a.reduce=="function")return r(u,i,a,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function Kr(e,r,t){for(var n=0,u=t.length;n=0?n:0);ti?1:0});function gr(e,r,t){if(A(e)&&y(t)){var n=[].concat(t);return n[e]=r,n}var u={};for(var i in t)u[i]=t[i];return u[e]=r,u}var T=f(function(r){return r==null}),mr=c(function e(r,t,n){if(r.length===0)return t;var u=r[0];if(r.length>1){var i=!T(n)&&_(u,n)&&typeof n[u]=="object"?n[u]:A(r[1])?[]:{};t=e(Array.prototype.slice.call(r,1),t,i)}return gr(u,t,n)}),wr=c(function(r,t,n){return mr([r],t,n)}),b=o(function(r,t){switch(r){case 0:return function(){return t.call(this)};case 1:return function(n){return t.call(this,n)};case 2:return function(n,u){return t.call(this,n,u)};case 3:return function(n,u,i){return t.call(this,n,u,i)};case 4:return function(n,u,i,a){return t.call(this,n,u,i,a)};case 5:return function(n,u,i,a,s){return t.call(this,n,u,i,a,s)};case 6:return function(n,u,i,a,s,l){return t.call(this,n,u,i,a,s,l)};case 7:return function(n,u,i,a,s,l,v){return t.call(this,n,u,i,a,s,l,v)};case 8:return function(n,u,i,a,s,l,v,W){return t.call(this,n,u,i,a,s,l,v,W)};case 9:return function(n,u,i,a,s,l,v,W,B){return t.call(this,n,u,i,a,s,l,v,W,B)};case 10:return function(n,u,i,a,s,l,v,W,B,er){return t.call(this,n,u,i,a,s,l,v,W,B,er)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}}),In=f(function(r){return b(2,r)}),Gr=o(function(r,t){var n=d(r,t);return d(r,function(){return hr(yr,x(n,arguments[0]),Array.prototype.slice.call(arguments,1))})}),j=f(function(r){return Gr(r.length,r)}),On=o(function(r,t){return Q(r)?function(){return r.apply(this,arguments)&&t.apply(this,arguments)}:j(Hr)(r,t)}),Ln=f(function(r){return r.apply(this,Array.prototype.slice.call(arguments,1))});function br(e){return function r(t){for(var n,u,i,a=[],s=0,l=t.length;st)throw new Error("min must not be greater than max in clamp(min, max, value)");return nt?t:n}),Nn=o(function(r,t){var n=G(function(a,s){var l=r(s);return a[l]===void 0&&(a[l]=[]),a[l].push(s),a},{},t),u=[];for(var i in n)u.push(n[i]);return u}),Bn=f(function(r){return function(t,n){return r(t,n)?-1:r(n,t)?1:0}}),tt=f(function(r){return!r}),Tn=j(tt);function qn(e,r){return function(){return r.call(this,e.apply(this,arguments))}}function V(e,r){return function(){var t=arguments.length;if(t===0)return r();var n=arguments[t-1];return y(n)||typeof n[e]!="function"?r.apply(this,arguments):n[e].apply(n,Array.prototype.slice.call(arguments,0,t-1))}}var m=c(V("slice",function(r,t,n){return Array.prototype.slice.call(n,r,t)})),_r=f(V("tail",m(1,1/0)));function nt(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return L(arguments[0].length,I(qn,arguments[0],_r(arguments)))}var xr=f(function(r){return J(r)?r.split("").reverse().join(""):Array.prototype.slice.call(r,0).reverse()});function et(){if(arguments.length===0)throw new Error("compose requires at least one argument");return nt.apply(this,xr(arguments))}var ut=E(0);function S(e){return e}var $=f(S),it=o(function(r,t){if(t.length<=0)return $;var n=ut(t),u=_r(t);return L(n.length,function(){return G(function(i,a){return r.call(this,a,i)},n.apply(this,arguments),u)})}),Dn=o(function(r,t){return it.apply(this,[r,xr(t)])}),Mn=f(function(r){var t=I(X,0,x(function(n){return n[0].length},r));return L(t,function(){for(var n=0;n10)throw new Error("Constructor with greater than ten arguments");return r===0?function(){return new t}:Wr(b(r,function(n,u,i,a,s,l,v,W,B,er){switch(r){case 1:return new t(n);case 2:return new t(n,u);case 3:return new t(n,u,i);case 4:return new t(n,u,i,a);case 5:return new t(n,u,i,a,s);case 6:return new t(n,u,i,a,s,l);case 7:return new t(n,u,i,a,s,l,v);case 8:return new t(n,u,i,a,s,l,v,W);case 9:return new t(n,u,i,a,s,l,v,W,B);case 10:return new t(n,u,i,a,s,l,v,W,B,er)}}))}),zn=f(function(r){return at(r.length,r)}),ot=o(function(r,t){return d(I(X,0,z("length",t)),function(){var n=arguments,u=this;return r.apply(u,vr(function(i){return i.apply(u,n)},t))})}),Cn=Wr(function(e,r){return G(function(t,n){return e(n)?t+1:t},0,r)}),Vn=function(){function e(r,t,n,u){this.valueFn=r,this.valueAcc=t,this.keyFn=n,this.xf=u,this.inputs={}}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=function(r){var t;for(t in this.inputs)if(_(t,this.inputs)&&(r=this.xf["@@transducer/step"](r,this.inputs[t]),r["@@transducer/reduced"])){r=r["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](r)},e.prototype["@@transducer/step"]=function(r,t){var n=this.keyFn(t);return this.inputs[n]=this.inputs[n]||[n,qr(this.valueAcc,!1)],this.inputs[n][1]=this.valueFn(this.inputs[n][1],t),r},e}();function Un(e,r,t){return function(n){return new Vn(e,r,t,n)}}var rr=K(4,[],p([],Un,function(r,t,n,u){var i=Y(function(a,s){var l=n(s),v=r(_(l,a)?a[l]:qr(t,!1),s);return v&&v["@@transducer/reduced"]?O(a):(a[l]=v,a)});return N(i,{},u)})),Fn=rr(function(e,r){return e+1},0),Jn=H(-1),Ar=o(function(r,t){return t==null||t!==t?r:t}),Kn=c(function(r,t,n){var u=r(t),i=r(n);return u>i?-1:u0?(this.n-=1,r):this.xf["@@transducer/step"](r,t)},e}();function bn(e){return function(r){return new Gn(e,r)}}var ct=o(p(["drop"],bn,function(r,t){return m(Math.max(0,r),1/0,t)})),jn=function(){function e(r,t){this.xf=t,this.n=r,this.i=0}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=h.result,e.prototype["@@transducer/step"]=function(r,t){this.i+=1;var n=this.n===0?r:this.xf["@@transducer/step"](r,t);return this.n>=0&&this.i>=this.n?O(n):n},e}();function $n(e){return function(r){return new jn(e,r)}}var Ir=o(p(["take"],$n,function(r,t){return m(0,r<0?1/0:r,t)}));function re(e,r){return Ir(e=0&&e(r[t]);)t-=1;return m(0,t+1,r)}var ie=function(){function e(r,t){this.f=r,this.retained=[],this.xf=t}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=function(r){return this.retained=null,this.xf["@@transducer/result"](r)},e.prototype["@@transducer/step"]=function(r,t){return this.f(t)?this.retain(r,t):this.flush(r,t)},e.prototype.flush=function(r,t){return r=N(this.xf,r,this.retained),this.retained=[],this.xf["@@transducer/step"](r,t)},e.prototype.retain=function(r,t){return this.retained.push(t),r},e}();function ae(e){return function(r){return new ie(e,r)}}var oe=o(p([],ae,ue)),se=function(){function e(r,t){this.xf=t,this.pred=r,this.lastValue=void 0,this.seenFirstValue=!1}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=h.result,e.prototype["@@transducer/step"]=function(r,t){var n=!1;return this.seenFirstValue?this.pred(this.lastValue,t)&&(n=!0):this.seenFirstValue=!0,this.lastValue=t,n?r:this.xf["@@transducer/step"](r,t)},e}();function Or(e){return function(r){return new se(e,r)}}var lt=E(-1),Lr=o(p([],Or,function(r,t){var n=[],u=1,i=t.length;if(i!==0)for(n[0]=t[0];u=0?t.length-r:0,t)}),de=o(function(e,r){return g(vt(e.length,r),e)}),ye=c(function(r,t,n){return g(t[r],n[r])}),ge=o(function e(r,t){if(!Nr(t)&&!y(t))return t;var n=t instanceof Array?[]:{},u,i,a;for(i in t)u=r[i],a=typeof u,n[i]=a==="function"?u(t[i]):u&&a==="object"?e(u,t[i]):t[i];return n}),me=function(){function e(r,t){this.xf=t,this.f=r,this.idx=-1,this.found=!1}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=function(r){return this.found||(r=this.xf["@@transducer/step"](r,-1)),this.xf["@@transducer/result"](r)},e.prototype["@@transducer/step"]=function(r,t){return this.idx+=1,this.f(t)&&(this.found=!0,r=O(this.xf["@@transducer/step"](r,this.idx))),r},e}();function we(e){return function(r){return new me(e,r)}}var _e=o(p([],we,function(r,t){for(var n=0,u=t.length;n=0;){if(r(t[n]))return t[n];n-=1}})),Ie=function(){function e(r,t){this.xf=t,this.f=r,this.idx=-1,this.lastIdx=-1}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=function(r){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](r,this.lastIdx))},e.prototype["@@transducer/step"]=function(r,t){return this.idx+=1,this.f(t)&&(this.lastIdx=this.idx),r},e}();function Oe(e){return function(r){return new Ie(e,r)}}var Le=o(p([],Oe,function(r,t){for(var n=t.length-1;n>=0;){if(r(t[n]))return n;n-=1}return-1})),Re=f(br(!0)),pt=f(function(r){return d(r.length,function(t,n){var u=Array.prototype.slice.call(arguments,0);return u[0]=n,u[1]=t,r.apply(this,u)})}),Se=o(V("forEach",function(r,t){for(var n=t.length,u=0;ut}),Be=o(function(r,t){return r>=t}),dt=o(function(r,t){if(r.length===0||T(t))return!1;for(var n=t,u=0;u=0?r:n.length;var u=Array.prototype.slice.call(n,0);return u.splice(r,0,t),u}),Ke=c(function(r,t,n){return r=r=0?r:n.length,[].concat(Array.prototype.slice.call(n,0,r),t,Array.prototype.slice.call(n,r))}),Qe=function(){function e(r,t){this.xf=t,this.f=r,this.set=new U}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=h.result,e.prototype["@@transducer/step"]=function(r,t){return this.set.add(this.f(t))?this.xf["@@transducer/step"](r,t):r},e}();function He(e){return function(r){return new Qe(e,r)}}var gt=o(p([],He,function(e,r){for(var t=new U,n=[],u=0,i,a;u=0;){if(g(t[n],r))return n;n-=1}return-1});function cr(e){return Object.prototype.toString.call(e)==="[object Number]"}var xt=f(function(r){return r!=null&&cr(r.length)?r.length:NaN}),nr=o(function(r,t){return function(n){return function(u){return x(function(i){return t(i,u)},n(r(u)))}}}),Wt=c(function(r,t,n){return Ur(r,Z(t),n)}),fu=f(function(r){return nr(E(r),Wt(r))}),At=o(function(r,t){return r.map(function(n){for(var u=t,i=0,a;i=0;)a=r(a[0],n[u]),i[u]=a[1],u-=1;return[a[0],i]}),yu=o(function(r,t){return hr(function(n,u){return n[u]=r(t[u],u,t),n},{},k(t))}),gu=o(function(r,t){return t.match(r)||[]}),mu=o(function(r,t){return A(r)?!A(t)||t<1?NaN:(r%t+t)%t:NaN}),wu=c(function(r,t,n){var u=r(n);return X(r(t),u)===u?n:t}),It=I(H,0),Ot=f(function(r){return It(r)/r.length}),_u=f(function(r){var t=r.length;if(t===0)return NaN;var n=2-t%2,u=(t-n)/2;return Ot(Array.prototype.slice.call(r,0).sort(function(i,a){return ia?1:0}).slice(u,u+n))}),xu=o(function(r,t){var n={};return L(t.length,function(){var u=r.apply(this,arguments);return _(u,n)||(n[u]=t.apply(this,arguments)),n[u]})}),Wu=f(function(r){return tr.apply(null,[{}].concat(r))}),Au=o(function(r,t){return lr(function(n,u,i){return u},r,t)}),Iu=c(function(r,t,n){return lr(function(u,i,a){return r(i,a)},t,n)}),Ou=o(function(r,t){return tr({},t,r)}),Lu=o(function(r,t){return tr({},r,t)}),Ru=c(function(r,t,n){return Br(function(u,i,a){return r(i,a)},t,n)}),Lt=o(function(r,t){if(r===t)return r;function n(l,v){if(l=t.length||a<0||a>=t.length?t:[].concat(u.slice(0,a)).concat(s).concat(u.slice(a,t.length))}),St=o(function(r,t){return r*t}),Nu=o((e,r)=>t=>e.call(void 0,Tr(r,t))),Bu=f(function(r){return-r}),Tu=o(function(r,t){return Fr(Jt(r),t)}),qu=f(function(r){var t=r<0?1:r+1;return d(t,function(){return E(r,arguments)})}),Du=c(function(r,t,n){return r(t(n))}),Mu=o(function(r,t){return typeof r["fantasy-land/of"]=="function"?r["fantasy-land/of"](t):typeof r.of=="function"?r.of(t):[t]}),zu=K(4,[],function(r,t,n,u){return r(t(n),t(u))}),Cu=f(function(r){var t=!1,n;return L(r.length,function(){return t||(t=!0,n=r.apply(this,arguments)),n})});function kt(e,r){if(r==null||!Q(r.then))throw new TypeError("`"+e+"` expected a Promise, received "+Gt(r,[]))}var Vu=o(function(r,t){return kt("otherwise",t),t.then(null,r)}),Xt=function(e){return{value:e,map:function(r){return Xt(r(e))}}},Et=c(function(r,t,n){return r(function(u){return Xt(t(u))})(n).value}),Uu=o(function(r,t){return[r,t]});function Pt(e){return o(function(r,t){return L(Math.max(0,r.length-t.length),function(){return r.apply(this,e(t,arguments))})})}var Fu=Pt(w),Ju=Pt(pt(w)),Ku=_t([Cr,pr]),Qu=c(function(r,t,n){return g(q(t,n),r)}),Hu=c(function(r,t,n){return Ar(r,q(t,n))}),Yu=c(function(r,t,n){return r(q(t,n))}),Zu=o(function(r,t){for(var n={},u=0;u=0;){if(t=r(n[u],t),t&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}u-=1}return t}),si=K(4,[],function(r,t,n,u){var i=Y(function(a,s){return r(a,s)?t(a,s):O(a)});return N(i,n,u)}),fi=f(O),Mt=o(function(r,t){var n=Number(t),u=0,i;if(n<0||isNaN(n))throw new RangeError("n must be a non-negative number");for(i=[];ua?1:0})}),gi=o(function(r,t){return Array.prototype.slice.call(t,0).sort(function(n,u){for(var i=0,a=0;i===0&&a0&&(n.push(u),u=[]);return n}),Ai=o(function(e,r){return g(Ir(e.length,r),e)}),Ii=o(function(r,t){return Number(r)-Number(t)}),Oi=function(e,r,t){var n=Vr(t),u=Object.getOwnPropertyNames(n);if(u.includes(e)&&u.includes(r)){var i=n[e];n[e]=n[r],n[r]=i}return n},Ct=function(e,r,t){var n=t.length,u=t.slice(),i=e<0?n+e:e,a=r<0?n+r:r,s=Math.min(i,a),l=Math.max(i,a);return i<0||i>n||a<0||a>n||i===a||(u=[].concat(u.slice(0,s)).concat([u[l]]).concat(u.slice(s+1,l)).concat([u[s]]).concat(u.slice(l+1,n))),u},Li=function(e,r,t){var n=Ct(e,r,t);return y(n)?n.join(""):n},Ri=c(function(e,r,t){return y(t)?Ct(e,r,t):J(t)?Li(e,r,t):Oi(e,r,t)}),Si=o(function(r,t){return dr(or(r,t),or(t,r))}),ki=c(function(r,t,n){return dr(sr(r,t,n),sr(r,n,t))}),Xi=o(function(r,t){for(var n=t.length-1;n>=0&&r(t[n]);)n-=1;return m(n+1,1/0,t)}),Ei=function(){function e(r,t){this.xf=t,this.f=r}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=h.result,e.prototype["@@transducer/step"]=function(r,t){return this.f(t)?this.xf["@@transducer/step"](r,t):O(r)},e}();function Pi(e){return function(r){return new Ei(e,r)}}var Ni=o(p(["takeWhile"],Pi,function(r,t){for(var n=0,u=t.length;n"u"&&(n[i]=[]),n[i].push(u[i]),i+=1;t+=1}return n}),Qi=c(function(r,t,n){var u=typeof r["fantasy-land/of"]=="function"?r["fantasy-land/of"]:typeof r.of=="function"?r.of:r,i={"fantasy-land/of":u};return typeof n["fantasy-land/traverse"]=="function"?n["fantasy-land/traverse"](i,t):typeof n.traverse=="function"?n.traverse(i,t):zt(i,x(t,n))}),D=` +\v\f\r                 \u2028\u2029\uFEFF`,Hi="​",Yi=typeof String.prototype.trim=="function",Zi=!Yi||D.trim()||!Hi.trim()?f(function(r){var t=new RegExp("^["+D+"]["+D+"]*"),n=new RegExp("["+D+"]["+D+"]*$");return r.replace(t,"").replace(n,"")}):f(function(r){return r.trim()}),Gi=o(function(r,t){return L(r.length,function(){try{return r.apply(this,arguments)}catch(n){return t.apply(this,w([n],arguments))}})}),bi=f(function(r){return function(){return r(Array.prototype.slice.call(arguments,0))}}),ji=f(function(r){return b(1,r)}),$i=o(function(r,t){return d(r,function(){for(var n=1,u=t,i=0,a;n<=r&&typeof u=="function";)a=n===r?arguments.length:i+u.length,u=u.apply(this,Array.prototype.slice.call(arguments,i,a)),n+=1,i=a;return u})}),ra=o(function(r,t){for(var n=r(t),u=[];n&&n.length;)u[u.length]=n[0],n=r(n[1]);return u}),ta=o(et(Rr,w)),na=function(){function e(r,t){this.xf=t,this.pred=r,this.items=[]}return e.prototype["@@transducer/init"]=h.init,e.prototype["@@transducer/result"]=h.result,e.prototype["@@transducer/step"]=function(r,t){return M(this.pred,t,this.items)?r:(this.items.push(t),this.xf["@@transducer/step"](r,t))},e}();function ea(e){return function(r){return new na(e,r)}}var Vt=o(p([],ea,function(e,r){for(var t=0,n=r.length,u=[],i;ti.map(i=>d[i]); +var w_=Object.defineProperty;var S_=(e,t,n)=>t in e?w_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var qf=(e,t,n)=>S_(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function gn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const it={},li=[],pn=()=>{},Gi=()=>!1,Ks=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vl=e=>e.startsWith("onUpdate:"),ot=Object.assign,$l=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},T_=Object.prototype.hasOwnProperty,_t=(e,t)=>T_.call(e,t),_e=Array.isArray,fi=e=>Li(e)==="[object Map]",qs=e=>Li(e)==="[object Set]",Lu=e=>Li(e)==="[object Date]",Vm=e=>Li(e)==="[object RegExp]",Fe=e=>typeof e=="function",ze=e=>typeof e=="string",$n=e=>typeof e=="symbol",vt=e=>e!==null&&typeof e=="object",Hl=e=>(vt(e)||Fe(e))&&Fe(e.then)&&Fe(e.catch),oh=Object.prototype.toString,Li=e=>oh.call(e),$m=e=>Li(e).slice(8,-1),Va=e=>Li(e)==="[object Object]",zl=e=>ze(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qr=gn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Hm=gn("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Kl=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},A_=/-(\w)/g,Nt=Kl(e=>e.replace(A_,(t,n)=>n?n.toUpperCase():"")),C_=/\B([A-Z])/g,On=Kl(e=>e.replace(C_,"-$1").toLowerCase()),Xs=Kl(e=>e.charAt(0).toUpperCase()+e.slice(1)),ui=Kl(e=>e?`on${Xs(e)}`:""),Tn=(e,t)=>!Object.is(e,t),di=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},ua=e=>{const t=parseFloat(e);return isNaN(t)?e:t},da=e=>{const t=ze(e)?Number(e):NaN;return isNaN(t)?e:t};let Zp;const $a=()=>Zp||(Zp=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),O_=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function N_(e){return O_.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}function R_(e,t){return e+JSON.stringify(t,(n,r)=>typeof r=="function"?r.toString():r)}const P_={TEXT:1,1:"TEXT",CLASS:2,2:"CLASS",STYLE:4,4:"STYLE",PROPS:8,8:"PROPS",FULL_PROPS:16,16:"FULL_PROPS",NEED_HYDRATION:32,32:"NEED_HYDRATION",STABLE_FRAGMENT:64,64:"STABLE_FRAGMENT",KEYED_FRAGMENT:128,128:"KEYED_FRAGMENT",UNKEYED_FRAGMENT:256,256:"UNKEYED_FRAGMENT",NEED_PATCH:512,512:"NEED_PATCH",DYNAMIC_SLOTS:1024,1024:"DYNAMIC_SLOTS",DEV_ROOT_FRAGMENT:2048,2048:"DEV_ROOT_FRAGMENT",CACHED:-1,"-1":"CACHED",BAIL:-2,"-2":"BAIL"},I_={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},L_={ELEMENT:1,1:"ELEMENT",FUNCTIONAL_COMPONENT:2,2:"FUNCTIONAL_COMPONENT",STATEFUL_COMPONENT:4,4:"STATEFUL_COMPONENT",TEXT_CHILDREN:8,8:"TEXT_CHILDREN",ARRAY_CHILDREN:16,16:"ARRAY_CHILDREN",SLOTS_CHILDREN:32,32:"SLOTS_CHILDREN",TELEPORT:64,64:"TELEPORT",SUSPENSE:128,128:"SUSPENSE",COMPONENT_SHOULD_KEEP_ALIVE:256,256:"COMPONENT_SHOULD_KEEP_ALIVE",COMPONENT_KEPT_ALIVE:512,512:"COMPONENT_KEPT_ALIVE",COMPONENT:6,6:"COMPONENT"},M_={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},k_={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},D_="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",ch=gn(D_),F_=ch,e1=2;function zm(e,t=0,n=e.length){if(t=Math.max(0,Math.min(t,e.length)),n=Math.max(0,Math.min(n,e.length)),t>n)return"";let r=e.split(/(\r?\n)/);const s=r.filter((a,c)=>c%2===1);r=r.filter((a,c)=>c%2===0);let i=0;const o=[];for(let a=0;a=t){for(let c=a-e1;c<=a+e1||n>i;c++){if(c<0||c>=r.length)continue;const f=c+1;o.push(`${f}${" ".repeat(Math.max(3-String(f).length,0))}| ${r[c]}`);const l=r[c].length,u=s[c]&&s[c].length||0;if(c===a){const d=t-(i-(l+u)),p=Math.max(1,n>i?l-d:n-t);o.push(" | "+" ".repeat(d)+"^".repeat(p))}else if(c>a){if(n>i){const d=Math.max(Math.min(n-i,l),1);o.push(" | "+"^".repeat(d))}i+=l+u}}break}return o.join(` +`)}function Eo(e){if(_e(e)){const t={};for(let n=0;n{if(n){const r=n.split(U_);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function V_(e){if(!e)return"";if(ze(e))return e;let t="";for(const n in e){const r=e[n];if(ze(r)||typeof r=="number"){const s=n.startsWith("--")?n:On(n);t+=`${s}:${r};`}}return t}function wo(e){let t="";if(ze(e))t=e;else if(_e(e))for(let n=0;n/="'\u0009\u000a\u000c\u0020]/,Xf={};function W_(e){if(Xf.hasOwnProperty(e))return Xf[e];const t=X_.test(e);return t&&console.error(`unsafe attribute name: ${e}`),Xf[e]=!t}const G_={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},Y_=gn("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),J_=gn("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan"),Q_=gn("accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns");function Z_(e){if(e==null)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"}const e4=/["'&<>]/;function t4(e){const t=""+e,n=e4.exec(t);if(!n)return t;let r="",s,i,o=0;for(i=n.index;i||--!>|?@[\\\]^`{|}~]/g;function s4(e,t){return e.replace(Qm,n=>t?n==='"'?'\\\\\\"':`\\\\${n}`:`\\${n}`)}function i4(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&rss(n,t))}const Zm=e=>!!(e&&e.__v_isRef===!0),dn=e=>ze(e)?e:e==null?"":_e(e)||vt(e)&&(e.toString===oh||!Fe(e.toString))?Zm(e)?dn(e.value):JSON.stringify(e,e2,2):String(e),e2=(e,t)=>Zm(t)?e2(e,t.value):fi(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[Wf(r,i)+" =>"]=s,n),{})}:qs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wf(n))}:$n(t)?Wf(t):vt(t)&&!_e(t)&&!Va(t)?String(t):t,Wf=(e,t="")=>{var n;return $n(e)?`Symbol(${(n=e.description)!=null?n:t})`:e},o4=Object.freeze(Object.defineProperty({__proto__:null,EMPTY_ARR:li,EMPTY_OBJ:it,NO:Gi,NOOP:pn,PatchFlagNames:I_,PatchFlags:P_,ShapeFlags:L_,SlotFlags:M_,camelize:Nt,capitalize:Xs,cssVarNameEscapeSymbolsRE:Qm,def:ah,escapeHtml:t4,escapeHtmlComment:r4,extend:ot,genCacheKey:R_,genPropsAccessExp:N_,generateCodeFrame:zm,getEscapedCssVarName:s4,getGlobalThis:$a,hasChanged:Tn,hasOwn:_t,hyphenate:On,includeBooleanAttr:fh,invokeArrayFns:di,isArray:_e,isBooleanAttr:q_,isBuiltInDirective:Hm,isDate:Lu,isFunction:Fe,isGloballyAllowed:ch,isGloballyWhitelisted:F_,isHTMLTag:qm,isIntegerKey:zl,isKnownHtmlAttr:Y_,isKnownMathMLAttr:Q_,isKnownSvgAttr:J_,isMap:fi,isMathMLTag:Wm,isModelListener:Vl,isObject:vt,isOn:Ks,isPlainObject:Va,isPromise:Hl,isRegExp:Vm,isRenderableAttrValue:Z_,isReservedProp:Qr,isSSRSafeAttrName:W_,isSVGTag:Xm,isSet:qs,isSpecialBooleanAttr:Jm,isString:ze,isSymbol:$n,isVoidTag:Gm,looseEqual:ss,looseIndexOf:Ha,looseToNumber:ua,makeMap:gn,normalizeClass:wo,normalizeProps:Km,normalizeStyle:Eo,objectToString:oh,parseStringStyle:lh,propsToAttrMap:G_,remove:$l,slotFlagsText:k_,stringifyStyle:V_,toDisplayString:dn,toHandlerKey:ui,toNumber:da,toRawType:$m,toTypeString:Li},Symbol.toStringTag,{value:"Module"}));/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Fn;class uh{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Fn,!t&&Fn&&(this.index=(Fn.scopes||(Fn.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Jo){let t=Jo;for(Jo=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Yo;){let t=Yo;for(Yo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function i2(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function o2(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),ph(r),c4(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Mu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(a2(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function a2(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===pa))return;e.globalVersion=pa;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Mu(e)){e.flags&=-3;return}const n=Ot,r=_r;Ot=e,_r=!0;try{i2(e);const s=e.fn(e._value);(t.version===0||Tn(s,e._value))&&(e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ot=n,_r=r,o2(e),e.flags&=-3}}function ph(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)ph(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function c4(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function l4(e,t){e.effect instanceof ha&&(e=e.effect.fn);const n=new ha(e);t&&ot(n,t);try{n.run()}catch(s){throw n.stop(),s}const r=n.run.bind(n);return r.effect=n,r}function f4(e){e.effect.stop()}let _r=!0;const c2=[];function Ws(){c2.push(_r),_r=!1}function Gs(){const e=c2.pop();_r=e===void 0?!0:e}function t1(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ot;Ot=void 0;try{t()}finally{Ot=n}}}let pa=0;class u4{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ql{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Ot||!_r||Ot===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ot)n=this.activeLink=new u4(Ot,this),Ot.deps?(n.prevDep=Ot.depsTail,Ot.depsTail.nextDep=n,Ot.depsTail=n):Ot.deps=Ot.depsTail=n,l2(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ot.depsTail,n.nextDep=void 0,Ot.depsTail.nextDep=n,Ot.depsTail=n,Ot.deps===n&&(Ot.deps=r)}return n}trigger(t){this.version++,pa++,this.notify(t)}notify(t){dh();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{hh()}}}function l2(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)l2(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const sl=new WeakMap,hi=Symbol(""),ku=Symbol(""),ma=Symbol("");function An(e,t,n){if(_r&&Ot){let r=sl.get(e);r||sl.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new ql),s.map=r,s.key=n),s.track()}}function Kr(e,t,n,r,s,i){const o=sl.get(e);if(!o){pa++;return}const a=c=>{c&&c.trigger()};if(dh(),t==="clear")o.forEach(a);else{const c=_e(e),f=c&&zl(n);if(c&&n==="length"){const l=Number(r);o.forEach((u,d)=>{(d==="length"||d===ma||!$n(d)&&d>=l)&&a(u)})}else switch((n!==void 0||o.has(void 0))&&a(o.get(n)),f&&a(o.get(ma)),t){case"add":c?f&&a(o.get("length")):(a(o.get(hi)),fi(e)&&a(o.get(ku)));break;case"delete":c||(a(o.get(hi)),fi(e)&&a(o.get(ku)));break;case"set":fi(e)&&a(o.get(hi));break}}hh()}function d4(e,t){const n=sl.get(e);return n&&n.get(t)}function Ui(e){const t=gt(e);return t===e?t:(An(t,"iterate",ma),sr(e)?t:t.map(Cn))}function Xl(e){return An(e=gt(e),"iterate",ma),e}const h4={__proto__:null,[Symbol.iterator](){return Yf(this,Symbol.iterator,Cn)},concat(...e){return Ui(this).concat(...e.map(t=>_e(t)?Ui(t):t))},entries(){return Yf(this,"entries",e=>(e[1]=Cn(e[1]),e))},every(e,t){return Fr(this,"every",e,t,void 0,arguments)},filter(e,t){return Fr(this,"filter",e,t,n=>n.map(Cn),arguments)},find(e,t){return Fr(this,"find",e,t,Cn,arguments)},findIndex(e,t){return Fr(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Fr(this,"findLast",e,t,Cn,arguments)},findLastIndex(e,t){return Fr(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Fr(this,"forEach",e,t,void 0,arguments)},includes(...e){return Jf(this,"includes",e)},indexOf(...e){return Jf(this,"indexOf",e)},join(e){return Ui(this).join(e)},lastIndexOf(...e){return Jf(this,"lastIndexOf",e)},map(e,t){return Fr(this,"map",e,t,void 0,arguments)},pop(){return Do(this,"pop")},push(...e){return Do(this,"push",e)},reduce(e,...t){return n1(this,"reduce",e,t)},reduceRight(e,...t){return n1(this,"reduceRight",e,t)},shift(){return Do(this,"shift")},some(e,t){return Fr(this,"some",e,t,void 0,arguments)},splice(...e){return Do(this,"splice",e)},toReversed(){return Ui(this).toReversed()},toSorted(e){return Ui(this).toSorted(e)},toSpliced(...e){return Ui(this).toSpliced(...e)},unshift(...e){return Do(this,"unshift",e)},values(){return Yf(this,"values",Cn)}};function Yf(e,t,n){const r=Xl(e),s=r[t]();return r!==e&&!sr(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.value&&(i.value=n(i.value)),i}),s}const p4=Array.prototype;function Fr(e,t,n,r,s,i){const o=Xl(e),a=o!==e&&!sr(e),c=o[t];if(c!==p4[t]){const u=c.apply(e,i);return a?Cn(u):u}let f=n;o!==e&&(a?f=function(u,d){return n.call(this,Cn(u),d,e)}:n.length>2&&(f=function(u,d){return n.call(this,u,d,e)}));const l=c.call(o,f,r);return a&&s?s(l):l}function n1(e,t,n,r){const s=Xl(e);let i=n;return s!==e&&(sr(e)?n.length>3&&(i=function(o,a,c){return n.call(this,o,a,c,e)}):i=function(o,a,c){return n.call(this,o,Cn(a),c,e)}),s[t](i,...r)}function Jf(e,t,n){const r=gt(e);An(r,"iterate",ma);const s=r[t](...n);return(s===-1||s===!1)&&Yl(n[0])?(n[0]=gt(n[0]),r[t](...n)):s}function Do(e,t,n=[]){Ws(),dh();const r=gt(e)[t].apply(e,n);return hh(),Gs(),r}const m4=gn("__proto__,__v_isRef,__isVue"),f2=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($n));function g4(e){$n(e)||(e=String(e));const t=gt(this);return An(t,"has",e),t.hasOwnProperty(e)}class u2{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?y2:g2:i?m2:p2).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=_e(t);if(!s){let c;if(o&&(c=h4[n]))return c;if(n==="hasOwnProperty")return g4}const a=Reflect.get(t,n,on(t)?t:r);return($n(n)?f2.has(n):m4(n))||(s||An(t,"get",n),i)?a:on(a)?o&&zl(n)?a:a.value:vt(a)?s?gh(a):So(a):a}}class d2 extends u2{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];if(!this._isShallow){const c=Ds(i);if(!sr(r)&&!Ds(r)&&(i=gt(i),r=gt(r)),!_e(t)&&on(i)&&!on(r))return c?!1:(i.value=r,!0)}const o=_e(t)&&zl(n)?Number(n)e,fc=e=>Reflect.getPrototypeOf(e);function v4(e,t,n){return function(...r){const s=this.__v_raw,i=gt(s),o=fi(i),a=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=s[e](...r),l=n?Du:t?Fu:Cn;return!t&&An(i,"iterate",c?ku:hi),{next(){const{value:u,done:d}=f.next();return d?{value:u,done:d}:{value:a?[l(u[0]),l(u[1])]:l(u),done:d}},[Symbol.iterator](){return this}}}}function uc(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function E4(e,t){const n={get(s){const i=this.__v_raw,o=gt(i),a=gt(s);e||(Tn(s,a)&&An(o,"get",s),An(o,"get",a));const{has:c}=fc(o),f=t?Du:e?Fu:Cn;if(c.call(o,s))return f(i.get(s));if(c.call(o,a))return f(i.get(a));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&An(gt(s),"iterate",hi),Reflect.get(s,"size",s)},has(s){const i=this.__v_raw,o=gt(i),a=gt(s);return e||(Tn(s,a)&&An(o,"has",s),An(o,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const o=this,a=o.__v_raw,c=gt(a),f=t?Du:e?Fu:Cn;return!e&&An(c,"iterate",hi),a.forEach((l,u)=>s.call(i,f(l),f(u),o))}};return ot(n,e?{add:uc("add"),set:uc("set"),delete:uc("delete"),clear:uc("clear")}:{add(s){!t&&!sr(s)&&!Ds(s)&&(s=gt(s));const i=gt(this);return fc(i).has.call(i,s)||(i.add(s),Kr(i,"add",s,s)),this},set(s,i){!t&&!sr(i)&&!Ds(i)&&(i=gt(i));const o=gt(this),{has:a,get:c}=fc(o);let f=a.call(o,s);f||(s=gt(s),f=a.call(o,s));const l=c.call(o,s);return o.set(s,i),f?Tn(i,l)&&Kr(o,"set",s,i):Kr(o,"add",s,i),this},delete(s){const i=gt(this),{has:o,get:a}=fc(i);let c=o.call(i,s);c||(s=gt(s),c=o.call(i,s)),a&&a.call(i,s);const f=i.delete(s);return c&&Kr(i,"delete",s,void 0),f},clear(){const s=gt(this),i=s.size!==0,o=s.clear();return i&&Kr(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=v4(s,e,t)}),n}function Wl(e,t){const n=E4(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(_t(n,s)&&s in r?n:r,s,i)}const w4={get:Wl(!1,!1)},S4={get:Wl(!1,!0)},T4={get:Wl(!0,!1)},A4={get:Wl(!0,!0)},p2=new WeakMap,m2=new WeakMap,g2=new WeakMap,y2=new WeakMap;function C4(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function O4(e){return e.__v_skip||!Object.isExtensible(e)?0:C4($m(e))}function So(e){return Ds(e)?e:Gl(e,!1,y4,w4,p2)}function mh(e){return Gl(e,!1,b4,S4,m2)}function gh(e){return Gl(e,!0,_4,T4,g2)}function N4(e){return Gl(e,!0,x4,A4,y2)}function Gl(e,t,n,r,s){if(!vt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=s.get(e);if(i)return i;const o=O4(e);if(o===0)return e;const a=new Proxy(e,o===2?r:n);return s.set(e,a),a}function Ps(e){return Ds(e)?Ps(e.__v_raw):!!(e&&e.__v_isReactive)}function Ds(e){return!!(e&&e.__v_isReadonly)}function sr(e){return!!(e&&e.__v_isShallow)}function Yl(e){return e?!!e.__v_raw:!1}function gt(e){const t=e&&e.__v_raw;return t?gt(t):e}function yh(e){return!_t(e,"__v_skip")&&Object.isExtensible(e)&&ah(e,"__v_skip",!0),e}const Cn=e=>vt(e)?So(e):e,Fu=e=>vt(e)?gh(e):e;function on(e){return e?e.__v_isRef===!0:!1}function pi(e){return _2(e,!1)}function _h(e){return _2(e,!0)}function _2(e,t){return on(e)?e:new R4(e,t)}class R4{constructor(t,n){this.dep=new ql,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:gt(t),this._value=n?t:Cn(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||sr(t)||Ds(t);t=r?t:gt(t),Tn(t,n)&&(this._rawValue=t,this._value=r?t:Cn(t),this.dep.trigger())}}function P4(e){e.dep&&e.dep.trigger()}function Zr(e){return on(e)?e.value:e}function I4(e){return Fe(e)?e():Zr(e)}const L4={get:(e,t,n)=>t==="__v_raw"?e:Zr(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return on(s)&&!on(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function bh(e){return Ps(e)?e:new Proxy(e,L4)}class M4{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ql,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function b2(e){return new M4(e)}function k4(e){const t=_e(e)?new Array(e.length):{};for(const n in e)t[n]=x2(e,n);return t}class D4{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return d4(gt(this._object),this._key)}}class F4{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function j4(e,t,n){return on(e)?e:Fe(e)?new F4(e):vt(e)&&arguments.length>1?x2(e,t,n):pi(e)}function x2(e,t,n){const r=e[t];return on(r)?r:new D4(e,t,n)}class U4{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ql(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=pa-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ot!==this)return s2(this,!0),!0}get value(){const t=this.dep.track();return a2(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function B4(e,t,n=!1){let r,s;return Fe(e)?r=e:(r=e.get,s=e.set),new U4(r,s,n)}const V4={GET:"get",HAS:"has",ITERATE:"iterate"},$4={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},dc={},il=new WeakMap;let vs;function H4(){return vs}function v2(e,t=!1,n=vs){if(n){let r=il.get(n);r||il.set(n,r=[]),r.push(e)}}function z4(e,t,n=it){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:a,call:c}=n,f=T=>s?T:sr(T)||s===!1||s===0?qr(T,1):qr(T);let l,u,d,p,y=!1,g=!1;if(on(e)?(u=()=>e.value,y=sr(e)):Ps(e)?(u=()=>f(e),y=!0):_e(e)?(g=!0,y=e.some(T=>Ps(T)||sr(T)),u=()=>e.map(T=>{if(on(T))return T.value;if(Ps(T))return f(T);if(Fe(T))return c?c(T,2):T()})):Fe(e)?t?u=c?()=>c(e,2):e:u=()=>{if(d){Ws();try{d()}finally{Gs()}}const T=vs;vs=l;try{return c?c(e,3,[p]):e(p)}finally{vs=T}}:u=pn,t&&s){const T=u,O=s===!0?1/0:s;u=()=>qr(T(),O)}const w=n2(),x=()=>{l.stop(),w&&w.active&&$l(w.effects,l)};if(i&&t){const T=t;t=(...O)=>{T(...O),x()}}let _=g?new Array(e.length).fill(dc):dc;const b=T=>{if(!(!(l.flags&1)||!l.dirty&&!T))if(t){const O=l.run();if(s||y||(g?O.some((N,L)=>Tn(N,_[L])):Tn(O,_))){d&&d();const N=vs;vs=l;try{const L=[O,_===dc?void 0:g&&_[0]===dc?[]:_,p];c?c(t,3,L):t(...L),_=O}finally{vs=N}}}else l.run()};return a&&a(b),l=new ha(u),l.scheduler=o?()=>o(b,!1):b,p=T=>v2(T,!1,l),d=l.onStop=()=>{const T=il.get(l);if(T){if(c)c(T,4);else for(const O of T)O();il.delete(l)}},t?r?b(!0):_=l.run():o?o(b.bind(null,!0),!0):l.run(),x.pause=l.pause.bind(l),x.resume=l.resume.bind(l),x.stop=x,x}function qr(e,t=1/0,n){if(t<=0||!vt(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,on(e))qr(e.value,t,n);else if(_e(e))for(let r=0;r{qr(r,t,n)});else if(Va(e)){for(const r in e)qr(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&qr(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const E2=[];function K4(e){E2.push(e)}function q4(){E2.pop()}function X4(e,t){}const W4={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},G4={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function To(e,t,n,r){try{return r?e(...r):e()}catch(s){Mi(s,t,n)}}function dr(e,t,n,r){if(Fe(e)){const s=To(e,t,n,r);return s&&Hl(s)&&s.catch(i=>{Mi(i,t,n)}),s}if(_e(e)){const s=[];for(let i=0;i>>1,s=jn[r],i=ya(s);i=ya(n)?jn.push(e):jn.splice(J4(t),0,e),e.flags|=1,S2()}}function S2(){ol||(ol=w2.then(T2))}function ga(e){_e(e)?Qi.push(...e):Es&&e.id===-1?Es.splice(zi+1,0,e):e.flags&1||(Qi.push(e),e.flags|=1),S2()}function r1(e,t,n=Ar+1){for(;nya(n)-ya(r));if(Qi.length=0,Es){Es.push(...t);return}for(Es=t,zi=0;zie.id==null?e.flags&2?-1:1/0:e.id;function T2(e){try{for(Ar=0;ArKi.emit(s,...i)),hc=[]):typeof window<"u"&&window.HTMLElement&&!((r=(n=window.navigator)==null?void 0:n.userAgent)!=null&&r.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{A2(i,t)}),setTimeout(()=>{Ki||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,hc=[])},3e3)):hc=[]}let sn=null,Jl=null;function _a(e){const t=sn;return sn=e,Jl=e&&e.type.__scopeId||null,t}function Q4(e){Jl=e}function Z4(){Jl=null}const eb=e=>Ns;function Ns(e,t=sn,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&qu(-1);const i=_a(t);let o;try{o=e(...s)}finally{_a(i),r._d&&qu(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function C2(e,t){if(sn===null)return e;const n=Xa(sn),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,Qo=e=>e&&(e.disabled||e.disabled===""),s1=e=>e&&(e.defer||e.defer===""),i1=e=>typeof SVGElement<"u"&&e instanceof SVGElement,o1=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ju=(e,t)=>{const n=e&&e.to;return ze(n)?t?t(n):null:n},R2={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,a,c,f){const{mc:l,pc:u,pbc:d,o:{insert:p,querySelector:y,createText:g,createComment:w}}=f,x=Qo(t.props);let{shapeFlag:_,children:b,dynamicChildren:T}=t;if(e==null){const O=t.el=g(""),N=t.anchor=g("");p(O,n,r),p(N,n,r);const L=(I,D)=>{_&16&&(s&&s.isCE&&(s.ce._teleportTarget=I),l(b,I,D,s,i,o,a,c))},j=()=>{const I=t.target=ju(t.props,y),D=P2(I,t,g,p);I&&(o!=="svg"&&i1(I)?o="svg":o!=="mathml"&&o1(I)&&(o="mathml"),x||(L(I,D),Mc(t,!1)))};x&&(L(n,N),Mc(t,!0)),s1(t.props)?nn(()=>{j(),t.el.__isMounted=!0},i):j()}else{if(s1(t.props)&&!e.el.__isMounted){nn(()=>{R2.process(e,t,n,r,s,i,o,a,c,f),delete e.el.__isMounted},i);return}t.el=e.el,t.targetStart=e.targetStart;const O=t.anchor=e.anchor,N=t.target=e.target,L=t.targetAnchor=e.targetAnchor,j=Qo(e.props),I=j?n:N,D=j?O:L;if(o==="svg"||i1(N)?o="svg":(o==="mathml"||o1(N))&&(o="mathml"),T?(d(e.dynamicChildren,T,I,s,i,o,a),Ph(e,t,!0)):c||u(e,t,I,D,s,i,o,a,!1),x)j?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):pc(t,n,O,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=ju(t.props,y);K&&pc(t,K,null,f,0)}else j&&pc(t,N,L,f,1);Mc(t,x)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:a,anchor:c,targetStart:f,targetAnchor:l,target:u,props:d}=e;if(u&&(s(f),s(l)),i&&s(c),o&16){const p=i||!Qo(d);for(let y=0;y{e.isMounted=!0}),tf(()=>{e.isUnmounting=!0}),e}const cr=[Function,Array],Eh={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:cr,onEnter:cr,onAfterEnter:cr,onEnterCancelled:cr,onBeforeLeave:cr,onLeave:cr,onAfterLeave:cr,onLeaveCancelled:cr,onBeforeAppear:cr,onAppear:cr,onAfterAppear:cr,onAppearCancelled:cr},I2=e=>{const t=e.subTree;return t.component?I2(t.component):t},rb={name:"BaseTransition",props:Eh,setup(e,{slots:t}){const n=hr(),r=vh();return()=>{const s=t.default&&Ql(t.default(),!0);if(!s||!s.length)return;const i=L2(s),o=gt(e),{mode:a}=o;if(r.isLeaving)return Qf(i);const c=a1(i);if(!c)return Qf(i);let f=oo(c,o,r,n,u=>f=u);c.type!==Qt&&is(c,f);let l=n.subTree&&a1(n.subTree);if(l&&l.type!==Qt&&!yr(c,l)&&I2(n).type!==Qt){let u=oo(l,o,r,n);if(is(l,u),a==="out-in"&&c.type!==Qt)return r.isLeaving=!0,u.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete u.afterLeave,l=void 0},Qf(i);a==="in-out"&&c.type!==Qt?u.delayLeave=(d,p,y)=>{const g=k2(r,l);g[String(l.key)]=l,d[ws]=()=>{p(),d[ws]=void 0,delete f.delayedLeave,l=void 0},f.delayedLeave=()=>{y(),delete f.delayedLeave,l=void 0}}:l=void 0}else l&&(l=void 0);return i}}};function L2(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Qt){t=n;break}}return t}const M2=rb;function k2(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function oo(e,t,n,r,s){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:d,onLeave:p,onAfterLeave:y,onLeaveCancelled:g,onBeforeAppear:w,onAppear:x,onAfterAppear:_,onAppearCancelled:b}=t,T=String(e.key),O=k2(n,e),N=(I,D)=>{I&&dr(I,r,9,D)},L=(I,D)=>{const K=D[1];N(I,D),_e(I)?I.every(F=>F.length<=1)&&K():I.length<=1&&K()},j={mode:o,persisted:a,beforeEnter(I){let D=c;if(!n.isMounted)if(i)D=w||c;else return;I[ws]&&I[ws](!0);const K=O[T];K&&yr(e,K)&&K.el[ws]&&K.el[ws](),N(D,[I])},enter(I){let D=f,K=l,F=u;if(!n.isMounted)if(i)D=x||f,K=_||l,F=b||u;else return;let $=!1;const ee=I[mc]=he=>{$||($=!0,he?N(F,[I]):N(K,[I]),j.delayedLeave&&j.delayedLeave(),I[mc]=void 0)};D?L(D,[I,ee]):ee()},leave(I,D){const K=String(e.key);if(I[mc]&&I[mc](!0),n.isUnmounting)return D();N(d,[I]);let F=!1;const $=I[ws]=ee=>{F||(F=!0,D(),ee?N(g,[I]):N(y,[I]),I[ws]=void 0,O[K]===e&&delete O[K])};O[K]=e,p?L(p,[I,$]):$()},clone(I){const D=oo(I,t,n,r,s);return s&&s(D),D}};return j}function Qf(e){if(Ka(e))return e=Pr(e),e.children=null,e}function a1(e){if(!Ka(e))return N2(e.type)&&e.children?L2(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Fe(n.default))return n.default()}}function is(e,t){e.shapeFlag&6&&e.component?(e.transition=t,is(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ql(e,t=!1,n){let r=[],s=0;for(let i=0;i1)for(let i=0;in.value,set:i=>n.value=i})}return n}function ba(e,t,n,r,s=!1){if(_e(e)){e.forEach((y,g)=>ba(y,t&&(_e(t)?t[g]:t),n,r,s));return}if(Is(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&ba(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?Xa(r.component):r.el,o=s?null:i,{i:a,r:c}=e,f=t&&t.r,l=a.refs===it?a.refs={}:a.refs,u=a.setupState,d=gt(u),p=u===it?()=>!1:y=>_t(d,y);if(f!=null&&f!==c&&(ze(f)?(l[f]=null,p(f)&&(u[f]=null)):on(f)&&(f.value=null)),Fe(c))To(c,a,12,[o,l]);else{const y=ze(c),g=on(c);if(y||g){const w=()=>{if(e.f){const x=y?p(c)?u[c]:l[c]:c.value;s?_e(x)&&$l(x,i):_e(x)?x.includes(i)||x.push(i):y?(l[c]=[i],p(c)&&(u[c]=l[c])):(c.value=[i],e.k&&(l[e.k]=c.value))}else y?(l[c]=o,p(c)&&(u[c]=o)):g&&(c.value=o,e.k&&(l[e.k]=o))};o?(w.id=-1,nn(w,n)):w()}}}let c1=!1;const Bi=()=>{c1||(console.error("Hydration completed but contains mismatches."),c1=!0)},ob=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",ab=e=>e.namespaceURI.includes("MathML"),gc=e=>{if(e.nodeType===1){if(ob(e))return"svg";if(ab(e))return"mathml"}},Yi=e=>e.nodeType===8;function cb(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:i,parentNode:o,remove:a,insert:c,createComment:f}}=e,l=(b,T)=>{if(!T.hasChildNodes()){n(null,b,T),al(),T._vnode=b;return}u(T.firstChild,b,null,null,null),al(),T._vnode=b},u=(b,T,O,N,L,j=!1)=>{j=j||!!T.dynamicChildren;const I=Yi(b)&&b.data==="[",D=()=>g(b,T,O,N,L,I),{type:K,ref:F,shapeFlag:$,patchFlag:ee}=T;let he=b.nodeType;T.el=b,ee===-2&&(j=!1,T.dynamicChildren=null);let se=null;switch(K){case Ms:he!==3?T.children===""?(c(T.el=s(""),o(b),b),se=b):se=D():(b.data!==T.children&&(Bi(),b.data=T.children),se=i(b));break;case Qt:_(b)?(se=i(b),x(T.el=b.content.firstChild,b,O)):he!==8||I?se=D():se=i(b);break;case gi:if(I&&(b=i(b),he=b.nodeType),he===1||he===3){se=b;const me=!T.children.length;for(let le=0;le{j=j||!!T.dynamicChildren;const{type:I,props:D,patchFlag:K,shapeFlag:F,dirs:$,transition:ee}=T,he=I==="input"||I==="option";if(he||K!==-1){$&&Cr(T,null,O,"created");let se=!1;if(_(b)){se=og(null,ee)&&O&&O.vnode.props&&O.vnode.props.appear;const le=b.content.firstChild;se&&ee.beforeEnter(le),x(le,b,O),T.el=b=le}if(F&16&&!(D&&(D.innerHTML||D.textContent))){let le=p(b.firstChild,T,b,O,N,L,j);for(;le;){yc(b,1)||Bi();const rt=le;le=le.nextSibling,a(rt)}}else if(F&8){let le=T.children;le[0]===` +`&&(b.tagName==="PRE"||b.tagName==="TEXTAREA")&&(le=le.slice(1)),b.textContent!==le&&(yc(b,0)||Bi(),b.textContent=T.children)}if(D){if(he||!j||K&48){const le=b.tagName.includes("-");for(const rt in D)(he&&(rt.endsWith("value")||rt==="indeterminate")||Ks(rt)&&!Qr(rt)||rt[0]==="."||le)&&r(b,rt,null,D[rt],void 0,O)}else if(D.onClick)r(b,"onClick",null,D.onClick,void 0,O);else if(K&4&&Ps(D.style))for(const le in D.style)D.style[le]}let me;(me=D&&D.onVnodeBeforeMount)&&Yn(me,O,T),$&&Cr(T,null,O,"beforeMount"),((me=D&&D.onVnodeMounted)||$||se)&&mg(()=>{me&&Yn(me,O,T),se&&ee.enter(b),$&&Cr(T,null,O,"mounted")},N)}return b.nextSibling},p=(b,T,O,N,L,j,I)=>{I=I||!!T.dynamicChildren;const D=T.children,K=D.length;for(let F=0;F{const{slotScopeIds:I}=T;I&&(L=L?L.concat(I):I);const D=o(b),K=p(i(b),T,D,O,N,L,j);return K&&Yi(K)&&K.data==="]"?i(T.anchor=K):(Bi(),c(T.anchor=f("]"),D,K),K)},g=(b,T,O,N,L,j)=>{if(yc(b.parentElement,1)||Bi(),T.el=null,j){const K=w(b);for(;;){const F=i(b);if(F&&F!==K)a(F);else break}}const I=i(b),D=o(b);return a(b),n(null,T,D,I,O,N,gc(D),L),O&&(O.vnode.el=T.el,sf(O,T.el)),I},w=(b,T="[",O="]")=>{let N=0;for(;b;)if(b=i(b),b&&Yi(b)&&(b.data===T&&N++,b.data===O)){if(N===0)return i(b);N--}return b},x=(b,T,O)=>{const N=T.parentNode;N&&N.replaceChild(b,T);let L=O;for(;L;)L.vnode.el===T&&(L.vnode.el=L.subTree.el=b),L=L.parent},_=b=>b.nodeType===1&&b.tagName==="TEMPLATE";return[l,u]}const l1="data-allow-mismatch",lb={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function yc(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(l1);)e=e.parentElement;const n=e&&e.getAttribute(l1);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:n.split(",").includes(lb[t])}}const fb=$a().requestIdleCallback||(e=>setTimeout(e,1)),ub=$a().cancelIdleCallback||(e=>clearTimeout(e)),db=(e=1e4)=>t=>{const n=fb(t,{timeout:e});return()=>ub(n)};function hb(e){const{top:t,left:n,bottom:r,right:s}=e.getBoundingClientRect(),{innerHeight:i,innerWidth:o}=window;return(t>0&&t0&&r0&&n0&&s(t,n)=>{const r=new IntersectionObserver(s=>{for(const i of s)if(i.isIntersecting){r.disconnect(),t();break}},e);return n(s=>{if(s instanceof Element){if(hb(s))return t(),r.disconnect(),!1;r.observe(s)}}),()=>r.disconnect()},mb=e=>t=>{if(e){const n=matchMedia(e);if(n.matches)t();else return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t)}},gb=(e=[])=>(t,n)=>{ze(e)&&(e=[e]);let r=!1;const s=o=>{r||(r=!0,i(),t(),o.target.dispatchEvent(new o.constructor(o.type,o)))},i=()=>{n(o=>{for(const a of e)o.removeEventListener(a,s)})};return n(o=>{for(const a of e)o.addEventListener(a,s,{once:!0})}),i};function yb(e,t){if(Yi(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Yi(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Is=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function _b(e){Fe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:i,timeout:o,suspensible:a=!0,onError:c}=e;let f=null,l,u=0;const d=()=>(u++,f=null,p()),p=()=>{let y;return f||(y=f=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),c)return new Promise((w,x)=>{c(g,()=>w(d()),()=>x(g),u+1)});throw g}).then(g=>y!==f&&f?f:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),l=g,g)))};return fs({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(y,g,w){const x=i?()=>{const _=i(w,b=>yb(y,b));_&&(g.bum||(g.bum=[])).push(_)}:w;l?x():p().then(()=>!g.isUnmounted&&x())},get __asyncResolved(){return l},setup(){const y=rn;if(wh(y),l)return()=>Zf(l,y);const g=b=>{f=null,Mi(b,y,13,!r)};if(a&&y.suspense||ao)return p().then(b=>()=>Zf(b,y)).catch(b=>(g(b),()=>r?st(r,{error:b}):null));const w=pi(!1),x=pi(),_=pi(!!s);return s&&setTimeout(()=>{_.value=!1},s),o!=null&&setTimeout(()=>{if(!w.value&&!x.value){const b=new Error(`Async component timed out after ${o}ms.`);g(b),x.value=b}},o),p().then(()=>{w.value=!0,y.parent&&Ka(y.parent.vnode)&&y.parent.update()}).catch(b=>{g(b),x.value=b}),()=>{if(w.value&&l)return Zf(l,y);if(x.value&&r)return st(r,{error:x.value});if(n&&!_.value)return st(n)}}})}function Zf(e,t){const{ref:n,props:r,children:s,ce:i}=t.vnode,o=st(e,r,s);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Ka=e=>e.type.__isKeepAlive,bb={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=hr(),r=n.ctx;if(!r.renderer)return()=>{const _=t.default&&t.default();return _&&_.length===1?_[0]:_};const s=new Map,i=new Set;let o=null;const a=n.suspense,{renderer:{p:c,m:f,um:l,o:{createElement:u}}}=r,d=u("div");r.activate=(_,b,T,O,N)=>{const L=_.component;f(_,b,T,0,a),c(L.vnode,_,b,T,L,a,O,_.slotScopeIds,N),nn(()=>{L.isDeactivated=!1,L.a&&di(L.a);const j=_.props&&_.props.onVnodeMounted;j&&Yn(j,L.parent,_)},a)},r.deactivate=_=>{const b=_.component;ll(b.m),ll(b.a),f(_,d,null,1,a),nn(()=>{b.da&&di(b.da);const T=_.props&&_.props.onVnodeUnmounted;T&&Yn(T,b.parent,_),b.isDeactivated=!0},a)};function p(_){eu(_),l(_,n,a,!0)}function y(_){s.forEach((b,T)=>{const O=Ju(b.type);O&&!_(O)&&g(T)})}function g(_){const b=s.get(_);b&&(!o||!yr(b,o))?p(b):o&&eu(o),s.delete(_),i.delete(_)}Ls(()=>[e.include,e.exclude],([_,b])=>{_&&y(T=>Ho(_,T)),b&&y(T=>!Ho(b,T))},{flush:"post",deep:!0});let w=null;const x=()=>{w!=null&&(fl(n.subTree.type)?nn(()=>{s.set(w,_c(n.subTree))},n.subTree.suspense):s.set(w,_c(n.subTree)))};return Ao(x),ef(x),tf(()=>{s.forEach(_=>{const{subTree:b,suspense:T}=n,O=_c(b);if(_.type===O.type&&_.key===O.key){eu(O);const N=O.component.da;N&&nn(N,T);return}p(_)})}),()=>{if(w=null,!t.default)return o=null;const _=t.default(),b=_[0];if(_.length>1)return o=null,_;if(!os(b)||!(b.shapeFlag&4)&&!(b.shapeFlag&128))return o=null,b;let T=_c(b);if(T.type===Qt)return o=null,T;const O=T.type,N=Ju(Is(T)?T.type.__asyncResolved||{}:O),{include:L,exclude:j,max:I}=e;if(L&&(!N||!Ho(L,N))||j&&N&&Ho(j,N))return T.shapeFlag&=-257,o=T,b;const D=T.key==null?O:T.key,K=s.get(D);return T.el&&(T=Pr(T),b.shapeFlag&128&&(b.ssContent=T)),w=D,K?(T.el=K.el,T.component=K.component,T.transition&&is(T,T.transition),T.shapeFlag|=512,i.delete(D),i.add(D)):(i.add(D),I&&i.size>parseInt(I,10)&&g(i.values().next().value)),T.shapeFlag|=256,o=T,fl(b.type)?b:T}}},xb=bb;function Ho(e,t){return _e(e)?e.some(n=>Ho(n,t)):ze(e)?e.split(",").includes(t):Vm(e)?(e.lastIndex=0,e.test(t)):!1}function D2(e,t){j2(e,"a",t)}function F2(e,t){j2(e,"da",t)}function j2(e,t,n=rn){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Zl(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Ka(s.parent.vnode)&&vb(r,t,n,s),s=s.parent}}function vb(e,t,n,r){const s=Zl(t,e,r,!0);nf(()=>{$l(r[t],s)},n)}function eu(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function _c(e){return e.shapeFlag&128?e.ssContent:e}function Zl(e,t,n=rn,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Ws();const a=wi(n),c=dr(t,n,e,o);return a(),Gs(),c});return r?s.unshift(i):s.push(i),i}}const us=e=>(t,n=rn)=>{(!ao||e==="sp")&&Zl(e,(...r)=>t(...r),n)},U2=us("bm"),Ao=us("m"),Sh=us("bu"),ef=us("u"),tf=us("bum"),nf=us("um"),B2=us("sp"),V2=us("rtg"),$2=us("rtc");function H2(e,t=rn){Zl("ec",e,t)}const Th="components",Eb="directives";function zo(e,t){return Ah(Th,e,!0,t)||e}const z2=Symbol.for("v-ndc");function wb(e){return ze(e)?Ah(Th,e,!1)||e:e||z2}function Sb(e){return Ah(Eb,e)}function Ah(e,t,n=!0,r=!1){const s=sn||rn;if(s){const i=s.type;if(e===Th){const a=Ju(i,!1);if(a&&(a===t||a===Nt(t)||a===Xs(Nt(t))))return i}const o=f1(s[e]||i[e],t)||f1(s.appContext[e],t);return!o&&r?i:o}}function f1(e,t){return e&&(e[t]||e[Nt(t)]||e[Xs(Nt(t))])}function Uu(e,t,n,r){let s;const i=n&&n[r],o=_e(e);if(o||ze(e)){const a=o&&Ps(e);let c=!1;a&&(c=!sr(e),e=Xl(e)),s=new Array(e.length);for(let f=0,l=e.length;ft(a,c,void 0,i&&i[c]));else{const a=Object.keys(e);s=new Array(a.length);for(let c=0,f=a.length;c{const i=r.fn(...s);return i&&(i.key=r.key),i}:r.fn)}return e}function Ch(e,t,n={},r,s){if(sn.ce||sn.parent&&Is(sn.parent)&&sn.parent.ce)return t!=="default"&&(n.name=t),Bt(),Ea(Xt,null,[st("slot",n,r&&r())],64);let i=e[t];i&&i._c&&(i._d=!1),Bt();const o=i&&Oh(i(n)),a=n.key||o&&o.key,c=Ea(Xt,{key:(a&&!$n(a)?a:`_${t}`)+(!o&&r?"_fb":"")},o||(r?r():[]),o&&e._===1?64:-2);return!s&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function Oh(e){return e.some(t=>os(t)?!(t.type===Qt||t.type===Xt&&!Oh(t.children)):!0)?e:null}function Ab(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:ui(r)]=e[r];return n}const Bu=e=>e?Eg(e)?Xa(e):Bu(e.parent):null,Zo=ot(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Bu(e.parent),$root:e=>Bu(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Nh(e),$forceUpdate:e=>e.f||(e.f=()=>{xh(e.update)}),$nextTick:e=>e.n||(e.n=za.bind(e.proxy)),$watch:e=>sx.bind(e)}),tu=(e,t)=>e!==it&&!e.__isScriptSetup&&_t(e,t),Vu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:c}=e;let f;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(tu(r,t))return o[t]=1,r[t];if(s!==it&&_t(s,t))return o[t]=2,s[t];if((f=e.propsOptions[0])&&_t(f,t))return o[t]=3,i[t];if(n!==it&&_t(n,t))return o[t]=4,n[t];$u&&(o[t]=0)}}const l=Zo[t];let u,d;if(l)return t==="$attrs"&&An(e.attrs,"get",""),l(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==it&&_t(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,_t(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return tu(s,t)?(s[t]=n,!0):r!==it&&_t(r,t)?(r[t]=n,!0):_t(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i}},o){let a;return!!n[o]||e!==it&&_t(e,o)||tu(t,o)||(a=i[0])&&_t(a,o)||_t(r,o)||_t(Zo,o)||_t(s.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:_t(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Cb=ot({},Vu,{get(e,t){if(t!==Symbol.unscopables)return Vu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!ch(t)}});function Ob(){return null}function Nb(){return null}function Rb(e){}function Pb(e){}function Ib(){return null}function Lb(){}function Mb(e,t){return null}function kb(){return K2().slots}function Db(){return K2().attrs}function K2(){const e=hr();return e.setupContext||(e.setupContext=Tg(e))}function xa(e){return _e(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Fb(e,t){const n=xa(e);for(const r in t){if(r.startsWith("__skip"))continue;let s=n[r];s?_e(s)||Fe(s)?s=n[r]={type:s,default:t[r]}:s.default=t[r]:s===null&&(s=n[r]={default:t[r]}),s&&t[`__skip_${r}`]&&(s.skipFactory=!0)}return n}function jb(e,t){return!e||!t?e||t:_e(e)&&_e(t)?e.concat(t):ot({},xa(e),xa(t))}function Ub(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Bb(e){const t=hr();let n=e();return Wu(),Hl(n)&&(n=n.catch(r=>{throw wi(t),r})),[n,()=>wi(t)]}let $u=!0;function Vb(e){const t=Nh(e),n=e.proxy,r=e.ctx;$u=!1,t.beforeCreate&&u1(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:c,inject:f,created:l,beforeMount:u,mounted:d,beforeUpdate:p,updated:y,activated:g,deactivated:w,beforeDestroy:x,beforeUnmount:_,destroyed:b,unmounted:T,render:O,renderTracked:N,renderTriggered:L,errorCaptured:j,serverPrefetch:I,expose:D,inheritAttrs:K,components:F,directives:$,filters:ee}=t;if(f&&$b(f,r,null),o)for(const me in o){const le=o[me];Fe(le)&&(r[me]=le.bind(n))}if(s){const me=s.call(n,n);vt(me)&&(e.data=So(me))}if($u=!0,i)for(const me in i){const le=i[me],rt=Fe(le)?le.bind(n,n):Fe(le.get)?le.get.bind(n,n):pn,Me=!Fe(le)&&Fe(le.set)?le.set.bind(n):pn,jt=Wt({get:rt,set:Me});Object.defineProperty(r,me,{enumerable:!0,configurable:!0,get:()=>jt.value,set:Gt=>jt.value=Gt})}if(a)for(const me in a)q2(a[me],r,n,me);if(c){const me=Fe(c)?c.call(n):c;Reflect.ownKeys(me).forEach(le=>{Zi(le,me[le])})}l&&u1(l,e,"c");function se(me,le){_e(le)?le.forEach(rt=>me(rt.bind(n))):le&&me(le.bind(n))}if(se(U2,u),se(Ao,d),se(Sh,p),se(ef,y),se(D2,g),se(F2,w),se(H2,j),se($2,N),se(V2,L),se(tf,_),se(nf,T),se(B2,I),_e(D))if(D.length){const me=e.exposed||(e.exposed={});D.forEach(le=>{Object.defineProperty(me,le,{get:()=>n[le],set:rt=>n[le]=rt})})}else e.exposed||(e.exposed={});O&&e.render===pn&&(e.render=O),K!=null&&(e.inheritAttrs=K),F&&(e.components=F),$&&(e.directives=$),I&&wh(e)}function $b(e,t,n=pn){_e(e)&&(e=Hu(e));for(const r in e){const s=e[r];let i;vt(s)?"default"in s?i=br(s.from||r,s.default,!0):i=br(s.from||r):i=br(s),on(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function u1(e,t,n){dr(_e(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function q2(e,t,n,r){let s=r.includes(".")?ug(n,r):()=>n[r];if(ze(e)){const i=t[e];Fe(i)&&Ls(s,i)}else if(Fe(e))Ls(s,e.bind(n));else if(vt(e))if(_e(e))e.forEach(i=>q2(i,t,n,r));else{const i=Fe(e.handler)?e.handler.bind(n):t[e.handler];Fe(i)&&Ls(s,i,e)}}function Nh(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let c;return a?c=a:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(f=>cl(c,f,o,!0)),cl(c,t,o)),vt(t)&&i.set(t,c),c}function cl(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&cl(e,i,n,!0),s&&s.forEach(o=>cl(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=Hb[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const Hb={data:d1,props:h1,emits:h1,methods:Ko,computed:Ko,beforeCreate:Dn,created:Dn,beforeMount:Dn,mounted:Dn,beforeUpdate:Dn,updated:Dn,beforeDestroy:Dn,beforeUnmount:Dn,destroyed:Dn,unmounted:Dn,activated:Dn,deactivated:Dn,errorCaptured:Dn,serverPrefetch:Dn,components:Ko,directives:Ko,watch:Kb,provide:d1,inject:zb};function d1(e,t){return t?e?function(){return ot(Fe(e)?e.call(this,this):e,Fe(t)?t.call(this,this):t)}:t:e}function zb(e,t){return Ko(Hu(e),Hu(t))}function Hu(e){if(_e(e)){const t={};for(let n=0;n1)return n&&Fe(t)?t.call(r&&r.proxy):t}}function Wb(){return!!(rn||sn||mi)}const W2={},G2=()=>Object.create(W2),Y2=e=>Object.getPrototypeOf(e)===W2;function Gb(e,t,n,r=!1){const s={},i=G2();e.propsDefaults=Object.create(null),J2(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:mh(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Yb(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=gt(s),[c]=e.propsOptions;let f=!1;if((r||o>0)&&!(o&16)){if(o&8){const l=e.vnode.dynamicProps;for(let u=0;u{c=!0;const[d,p]=Q2(u,t,!0);ot(o,d),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}if(!i&&!c)return vt(e)&&r.set(e,li),li;if(_e(i))for(let l=0;le[0]==="_"||e==="$stable",Rh=e=>_e(e)?e.map(Jn):[Jn(e)],Qb=(e,t,n)=>{if(t._n)return t;const r=Ns((...s)=>Rh(t(...s)),n);return r._c=!1,r},eg=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Z2(s))continue;const i=e[s];if(Fe(i))t[s]=Qb(s,i,r);else if(i!=null){const o=Rh(i);t[s]=()=>o}}},tg=(e,t)=>{const n=Rh(t);e.slots.default=()=>n},ng=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Zb=(e,t,n)=>{const r=e.slots=G2();if(e.vnode.shapeFlag&32){const s=t._;s?(ng(r,t,n),n&&ah(r,"_",s,!0)):eg(t,r)}else t&&tg(e,t)},ex=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=it;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:ng(s,t,n):(i=!t.$stable,eg(t,s)),o=t}else t&&(tg(e,t),o={default:1});if(i)for(const a in s)!Z2(a)&&o[a]==null&&delete s[a]},nn=mg;function rg(e){return ig(e)}function sg(e){return ig(e,cb)}function ig(e,t){const n=$a();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:c,setText:f,setElementText:l,parentNode:u,nextSibling:d,setScopeId:p=pn,insertStaticContent:y}=e,g=(C,P,U,Q=null,q=null,te=null,fe=void 0,ae=null,ce=!!P.dynamicChildren)=>{if(C===P)return;C&&!yr(C,P)&&(Q=X(C),Gt(C,q,te,!0),C=null),P.patchFlag===-2&&(ce=!1,P.dynamicChildren=null);const{type:ne,ref:Pe,shapeFlag:ue}=P;switch(ne){case Ms:w(C,P,U,Q);break;case Qt:x(C,P,U,Q);break;case gi:C==null&&_(P,U,Q,fe);break;case Xt:F(C,P,U,Q,q,te,fe,ae,ce);break;default:ue&1?O(C,P,U,Q,q,te,fe,ae,ce):ue&6?$(C,P,U,Q,q,te,fe,ae,ce):(ue&64||ue&128)&&ne.process(C,P,U,Q,q,te,fe,ae,ce,Te)}Pe!=null&&q&&ba(Pe,C&&C.ref,te,P||C,!P)},w=(C,P,U,Q)=>{if(C==null)r(P.el=a(P.children),U,Q);else{const q=P.el=C.el;P.children!==C.children&&f(q,P.children)}},x=(C,P,U,Q)=>{C==null?r(P.el=c(P.children||""),U,Q):P.el=C.el},_=(C,P,U,Q)=>{[C.el,C.anchor]=y(C.children,P,U,Q,C.el,C.anchor)},b=({el:C,anchor:P},U,Q)=>{let q;for(;C&&C!==P;)q=d(C),r(C,U,Q),C=q;r(P,U,Q)},T=({el:C,anchor:P})=>{let U;for(;C&&C!==P;)U=d(C),s(C),C=U;s(P)},O=(C,P,U,Q,q,te,fe,ae,ce)=>{P.type==="svg"?fe="svg":P.type==="math"&&(fe="mathml"),C==null?N(P,U,Q,q,te,fe,ae,ce):I(C,P,q,te,fe,ae,ce)},N=(C,P,U,Q,q,te,fe,ae)=>{let ce,ne;const{props:Pe,shapeFlag:ue,transition:Ae,dirs:ke}=C;if(ce=C.el=o(C.type,te,Pe&&Pe.is,Pe),ue&8?l(ce,C.children):ue&16&&j(C.children,ce,null,Q,q,nu(C,te),fe,ae),ke&&Cr(C,null,Q,"created"),L(ce,C,C.scopeId,fe,Q),Pe){for(const yt in Pe)yt!=="value"&&!Qr(yt)&&i(ce,yt,null,Pe[yt],te,Q);"value"in Pe&&i(ce,"value",null,Pe.value,te),(ne=Pe.onVnodeBeforeMount)&&Yn(ne,Q,C)}ke&&Cr(C,null,Q,"beforeMount");const tt=og(q,Ae);tt&&Ae.beforeEnter(ce),r(ce,P,U),((ne=Pe&&Pe.onVnodeMounted)||tt||ke)&&nn(()=>{ne&&Yn(ne,Q,C),tt&&Ae.enter(ce),ke&&Cr(C,null,Q,"mounted")},q)},L=(C,P,U,Q,q)=>{if(U&&p(C,U),Q)for(let te=0;te{for(let ne=ce;ne{const ae=P.el=C.el;let{patchFlag:ce,dynamicChildren:ne,dirs:Pe}=P;ce|=C.patchFlag&16;const ue=C.props||it,Ae=P.props||it;let ke;if(U&&Zs(U,!1),(ke=Ae.onVnodeBeforeUpdate)&&Yn(ke,U,P,C),Pe&&Cr(P,C,U,"beforeUpdate"),U&&Zs(U,!0),(ue.innerHTML&&Ae.innerHTML==null||ue.textContent&&Ae.textContent==null)&&l(ae,""),ne?D(C.dynamicChildren,ne,ae,U,Q,nu(P,q),te):fe||le(C,P,ae,null,U,Q,nu(P,q),te,!1),ce>0){if(ce&16)K(ae,ue,Ae,U,q);else if(ce&2&&ue.class!==Ae.class&&i(ae,"class",null,Ae.class,q),ce&4&&i(ae,"style",ue.style,Ae.style,q),ce&8){const tt=P.dynamicProps;for(let yt=0;yt{ke&&Yn(ke,U,P,C),Pe&&Cr(P,C,U,"updated")},Q)},D=(C,P,U,Q,q,te,fe)=>{for(let ae=0;ae{if(P!==U){if(P!==it)for(const te in P)!Qr(te)&&!(te in U)&&i(C,te,P[te],null,q,Q);for(const te in U){if(Qr(te))continue;const fe=U[te],ae=P[te];fe!==ae&&te!=="value"&&i(C,te,ae,fe,q,Q)}"value"in U&&i(C,"value",P.value,U.value,q)}},F=(C,P,U,Q,q,te,fe,ae,ce)=>{const ne=P.el=C?C.el:a(""),Pe=P.anchor=C?C.anchor:a("");let{patchFlag:ue,dynamicChildren:Ae,slotScopeIds:ke}=P;ke&&(ae=ae?ae.concat(ke):ke),C==null?(r(ne,U,Q),r(Pe,U,Q),j(P.children||[],U,Pe,q,te,fe,ae,ce)):ue>0&&ue&64&&Ae&&C.dynamicChildren?(D(C.dynamicChildren,Ae,U,q,te,fe,ae),(P.key!=null||q&&P===q.subTree)&&Ph(C,P,!0)):le(C,P,U,Pe,q,te,fe,ae,ce)},$=(C,P,U,Q,q,te,fe,ae,ce)=>{P.slotScopeIds=ae,C==null?P.shapeFlag&512?q.ctx.activate(P,U,Q,fe,ce):ee(P,U,Q,q,te,fe,ce):he(C,P,ce)},ee=(C,P,U,Q,q,te,fe)=>{const ae=C.component=vg(C,Q,q);if(Ka(C)&&(ae.ctx.renderer=Te),wg(ae,!1,fe),ae.asyncDep){if(q&&q.registerDep(ae,se,fe),!C.el){const ce=ae.subTree=st(Qt);x(null,ce,P,U)}}else se(ae,C,P,U,q,te,fe)},he=(C,P,U)=>{const Q=P.component=C.component;if(fx(C,P,U))if(Q.asyncDep&&!Q.asyncResolved){me(Q,P,U);return}else Q.next=P,Q.update();else P.el=C.el,Q.vnode=P},se=(C,P,U,Q,q,te,fe)=>{const ae=()=>{if(C.isMounted){let{next:ue,bu:Ae,u:ke,parent:tt,vnode:yt}=C;{const Yt=ag(C);if(Yt){ue&&(ue.el=yt.el,me(C,ue,fe)),Yt.asyncDep.then(()=>{C.isUnmounted||ae()});return}}let ut=ue,yn;Zs(C,!1),ue?(ue.el=yt.el,me(C,ue,fe)):ue=yt,Ae&&di(Ae),(yn=ue.props&&ue.props.onVnodeBeforeUpdate)&&Yn(yn,tt,ue,yt),Zs(C,!0);const Ut=kc(C),_n=C.subTree;C.subTree=Ut,g(_n,Ut,u(_n.el),X(_n),C,q,te),ue.el=Ut.el,ut===null&&sf(C,Ut.el),ke&&nn(ke,q),(yn=ue.props&&ue.props.onVnodeUpdated)&&nn(()=>Yn(yn,tt,ue,yt),q)}else{let ue;const{el:Ae,props:ke}=P,{bm:tt,m:yt,parent:ut,root:yn,type:Ut}=C,_n=Is(P);if(Zs(C,!1),tt&&di(tt),!_n&&(ue=ke&&ke.onVnodeBeforeMount)&&Yn(ue,ut,P),Zs(C,!0),Ae&&bt){const Yt=()=>{C.subTree=kc(C),bt(Ae,C.subTree,C,q,null)};_n&&Ut.__asyncHydrate?Ut.__asyncHydrate(Ae,C,Yt):Yt()}else{yn.ce&&yn.ce._injectChildStyle(Ut);const Yt=C.subTree=kc(C);g(null,Yt,U,Q,C,q,te),P.el=Yt.el}if(yt&&nn(yt,q),!_n&&(ue=ke&&ke.onVnodeMounted)){const Yt=P;nn(()=>Yn(ue,ut,Yt),q)}(P.shapeFlag&256||ut&&Is(ut.vnode)&&ut.vnode.shapeFlag&256)&&C.a&&nn(C.a,q),C.isMounted=!0,P=U=Q=null}};C.scope.on();const ce=C.effect=new ha(ae);C.scope.off();const ne=C.update=ce.run.bind(ce),Pe=C.job=ce.runIfDirty.bind(ce);Pe.i=C,Pe.id=C.uid,ce.scheduler=()=>xh(Pe),Zs(C,!0),ne()},me=(C,P,U)=>{P.component=C;const Q=C.vnode.props;C.vnode=P,C.next=null,Yb(C,P.props,Q,U),ex(C,P.children,U),Ws(),r1(C),Gs()},le=(C,P,U,Q,q,te,fe,ae,ce=!1)=>{const ne=C&&C.children,Pe=C?C.shapeFlag:0,ue=P.children,{patchFlag:Ae,shapeFlag:ke}=P;if(Ae>0){if(Ae&128){Me(ne,ue,U,Q,q,te,fe,ae,ce);return}else if(Ae&256){rt(ne,ue,U,Q,q,te,fe,ae,ce);return}}ke&8?(Pe&16&&Tt(ne,q,te),ue!==ne&&l(U,ue)):Pe&16?ke&16?Me(ne,ue,U,Q,q,te,fe,ae,ce):Tt(ne,q,te,!0):(Pe&8&&l(U,""),ke&16&&j(ue,U,Q,q,te,fe,ae,ce))},rt=(C,P,U,Q,q,te,fe,ae,ce)=>{C=C||li,P=P||li;const ne=C.length,Pe=P.length,ue=Math.min(ne,Pe);let Ae;for(Ae=0;AePe?Tt(C,q,te,!0,!1,ue):j(P,U,Q,q,te,fe,ae,ce,ue)},Me=(C,P,U,Q,q,te,fe,ae,ce)=>{let ne=0;const Pe=P.length;let ue=C.length-1,Ae=Pe-1;for(;ne<=ue&&ne<=Ae;){const ke=C[ne],tt=P[ne]=ce?Ss(P[ne]):Jn(P[ne]);if(yr(ke,tt))g(ke,tt,U,null,q,te,fe,ae,ce);else break;ne++}for(;ne<=ue&&ne<=Ae;){const ke=C[ue],tt=P[Ae]=ce?Ss(P[Ae]):Jn(P[Ae]);if(yr(ke,tt))g(ke,tt,U,null,q,te,fe,ae,ce);else break;ue--,Ae--}if(ne>ue){if(ne<=Ae){const ke=Ae+1,tt=keAe)for(;ne<=ue;)Gt(C[ne],q,te,!0),ne++;else{const ke=ne,tt=ne,yt=new Map;for(ne=tt;ne<=Ae;ne++){const zt=P[ne]=ce?Ss(P[ne]):Jn(P[ne]);zt.key!=null&&yt.set(zt.key,ne)}let ut,yn=0;const Ut=Ae-tt+1;let _n=!1,Yt=0;const zn=new Array(Ut);for(ne=0;ne=Ut){Gt(zt,q,te,!0);continue}let tn;if(zt.key!=null)tn=yt.get(zt.key);else for(ut=tt;ut<=Ae;ut++)if(zn[ut-tt]===0&&yr(zt,P[ut])){tn=ut;break}tn===void 0?Gt(zt,q,te,!0):(zn[tn-tt]=ne+1,tn>=Yt?Yt=tn:_n=!0,g(zt,P[tn],U,null,q,te,fe,ae,ce),yn++)}const pr=_n?tx(zn):li;for(ut=pr.length-1,ne=Ut-1;ne>=0;ne--){const zt=tt+ne,tn=P[zt],Kn=zt+1{const{el:te,type:fe,transition:ae,children:ce,shapeFlag:ne}=C;if(ne&6){jt(C.component.subTree,P,U,Q);return}if(ne&128){C.suspense.move(P,U,Q);return}if(ne&64){fe.move(C,P,U,Te);return}if(fe===Xt){r(te,P,U);for(let ue=0;ueae.enter(te),q);else{const{leave:ue,delayLeave:Ae,afterLeave:ke}=ae,tt=()=>r(te,P,U),yt=()=>{ue(te,()=>{tt(),ke&&ke()})};Ae?Ae(te,tt,yt):yt()}else r(te,P,U)},Gt=(C,P,U,Q=!1,q=!1)=>{const{type:te,props:fe,ref:ae,children:ce,dynamicChildren:ne,shapeFlag:Pe,patchFlag:ue,dirs:Ae,cacheIndex:ke}=C;if(ue===-2&&(q=!1),ae!=null&&ba(ae,null,U,C,!0),ke!=null&&(P.renderCache[ke]=void 0),Pe&256){P.ctx.deactivate(C);return}const tt=Pe&1&&Ae,yt=!Is(C);let ut;if(yt&&(ut=fe&&fe.onVnodeBeforeUnmount)&&Yn(ut,P,C),Pe&6)Je(C.component,U,Q);else{if(Pe&128){C.suspense.unmount(U,Q);return}tt&&Cr(C,null,P,"beforeUnmount"),Pe&64?C.type.remove(C,P,U,Te,Q):ne&&!ne.hasOnce&&(te!==Xt||ue>0&&ue&64)?Tt(ne,P,U,!1,!0):(te===Xt&&ue&384||!q&&Pe&16)&&Tt(ce,P,U),Q&&St(C)}(yt&&(ut=fe&&fe.onVnodeUnmounted)||tt)&&nn(()=>{ut&&Yn(ut,P,C),tt&&Cr(C,null,P,"unmounted")},U)},St=C=>{const{type:P,el:U,anchor:Q,transition:q}=C;if(P===Xt){Ht(U,Q);return}if(P===gi){T(C);return}const te=()=>{s(U),q&&!q.persisted&&q.afterLeave&&q.afterLeave()};if(C.shapeFlag&1&&q&&!q.persisted){const{leave:fe,delayLeave:ae}=q,ce=()=>fe(U,te);ae?ae(C.el,te,ce):ce()}else te()},Ht=(C,P)=>{let U;for(;C!==P;)U=d(C),s(C),C=U;s(P)},Je=(C,P,U)=>{const{bum:Q,scope:q,job:te,subTree:fe,um:ae,m:ce,a:ne}=C;ll(ce),ll(ne),Q&&di(Q),q.stop(),te&&(te.flags|=8,Gt(fe,C,P,U)),ae&&nn(ae,P),nn(()=>{C.isUnmounted=!0},P),P&&P.pendingBranch&&!P.isUnmounted&&C.asyncDep&&!C.asyncResolved&&C.suspenseId===P.pendingId&&(P.deps--,P.deps===0&&P.resolve())},Tt=(C,P,U,Q=!1,q=!1,te=0)=>{for(let fe=te;fe{if(C.shapeFlag&6)return X(C.component.subTree);if(C.shapeFlag&128)return C.suspense.next();const P=d(C.anchor||C.el),U=P&&P[O2];return U?d(U):P};let be=!1;const de=(C,P,U)=>{C==null?P._vnode&&Gt(P._vnode,null,null,!0):g(P._vnode||null,C,P,null,null,null,U),P._vnode=C,be||(be=!0,r1(),al(),be=!1)},Te={p:g,um:Gt,m:jt,r:St,mt:ee,mc:j,pc:le,pbc:D,n:X,o:e};let at,bt;return t&&([at,bt]=t(Te)),{render:de,hydrate:at,createApp:Xb(de,at)}}function nu({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Zs({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function og(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ph(e,t,n=!1){const r=e.children,s=t.children;if(_e(r)&&_e(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function ag(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ag(t)}function ll(e){if(e)for(let t=0;tbr(cg);function nx(e,t){return qa(e,null,t)}function rx(e,t){return qa(e,null,{flush:"post"})}function fg(e,t){return qa(e,null,{flush:"sync"})}function Ls(e,t,n){return qa(e,t,n)}function qa(e,t,n=it){const{immediate:r,deep:s,flush:i,once:o}=n,a=ot({},n),c=t&&r||!t&&i!=="post";let f;if(ao){if(i==="sync"){const p=lg();f=p.__watcherHandles||(p.__watcherHandles=[])}else if(!c){const p=()=>{};return p.stop=pn,p.resume=pn,p.pause=pn,p}}const l=rn;a.call=(p,y,g)=>dr(p,l,y,g);let u=!1;i==="post"?a.scheduler=p=>{nn(p,l&&l.suspense)}:i!=="sync"&&(u=!0,a.scheduler=(p,y)=>{y?p():xh(p)}),a.augmentJob=p=>{t&&(p.flags|=4),u&&(p.flags|=2,l&&(p.id=l.uid,p.i=l))};const d=z4(e,t,a);return ao&&(f?f.push(d):c&&d()),d}function sx(e,t,n){const r=this.proxy,s=ze(e)?e.includes(".")?ug(r,e):()=>r[e]:e.bind(r,r);let i;Fe(t)?i=t:(i=t.handler,n=t);const o=wi(this),a=qa(s,i.bind(r),n);return o(),a}function ug(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{let l,u=it,d;return fg(()=>{const p=e[s];Tn(l,p)&&(l=p,f())}),{get(){return c(),n.get?n.get(l):l},set(p){const y=n.set?n.set(p):p;if(!Tn(y,l)&&!(u!==it&&Tn(p,u)))return;const g=r.vnode.props;g&&(t in g||s in g||i in g)&&(`onUpdate:${t}`in g||`onUpdate:${s}`in g||`onUpdate:${i}`in g)||(l=p,f()),r.emit(`update:${t}`,y),Tn(p,y)&&Tn(p,u)&&!Tn(y,d)&&f(),u=p,d=y}}});return a[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?o||it:a,done:!1}:{done:!0}}}},a}const dg=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Nt(t)}Modifiers`]||e[`${On(t)}Modifiers`];function ox(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||it;let s=n;const i=t.startsWith("update:"),o=i&&dg(r,t.slice(7));o&&(o.trim&&(s=n.map(l=>ze(l)?l.trim():l)),o.number&&(s=n.map(ua)));let a,c=r[a=ui(t)]||r[a=ui(Nt(t))];!c&&i&&(c=r[a=ui(On(t))]),c&&dr(c,e,6,s);const f=r[a+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,dr(f,e,6,s)}}function hg(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!Fe(e)){const c=f=>{const l=hg(f,t,!0);l&&(a=!0,ot(o,l))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(vt(e)&&r.set(e,null),null):(_e(i)?i.forEach(c=>o[c]=null):ot(o,i),vt(e)&&r.set(e,o),o)}function rf(e,t){return!e||!Ks(t)?!1:(t=t.slice(2).replace(/Once$/,""),_t(e,t[0].toLowerCase()+t.slice(1))||_t(e,On(t))||_t(e,t))}function kc(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:c,render:f,renderCache:l,props:u,data:d,setupState:p,ctx:y,inheritAttrs:g}=e,w=_a(e);let x,_;try{if(n.shapeFlag&4){const T=s||r,O=T;x=Jn(f.call(O,T,l,u,p,d,y)),_=a}else{const T=t;x=Jn(T.length>1?T(u,{attrs:a,slots:o,emit:c}):T(u,null)),_=t.props?a:cx(a)}}catch(T){ea.length=0,Mi(T,e,1),x=st(Qt)}let b=x;if(_&&g!==!1){const T=Object.keys(_),{shapeFlag:O}=b;T.length&&O&7&&(i&&T.some(Vl)&&(_=lx(_,i)),b=Pr(b,_,!1,!0))}return n.dirs&&(b=Pr(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&is(b,n.transition),x=b,_a(w),x}function ax(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||Ks(n))&&((t||(t={}))[n]=e[n]);return t},lx=(e,t)=>{const n={};for(const r in e)(!Vl(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function fx(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?m1(r,o,f):!!o;if(c&8){const l=t.dynamicProps;for(let u=0;ue.__isSuspense;let Ku=0;const ux={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,i,o,a,c,f){if(e==null)hx(t,n,r,s,i,o,a,c,f);else{if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}px(e,t,n,r,s,o,a,c,f)}},hydrate:mx,normalize:gx},dx=ux;function va(e,t){const n=e.props&&e.props[t];Fe(n)&&n()}function hx(e,t,n,r,s,i,o,a,c){const{p:f,o:{createElement:l}}=c,u=l("div"),d=e.suspense=pg(e,s,r,t,u,n,i,o,a,c);f(null,d.pendingBranch=e.ssContent,u,null,r,d,i,o),d.deps>0?(va(e,"onPending"),va(e,"onFallback"),f(null,e.ssFallback,t,n,r,null,i,o),eo(d,e.ssFallback)):d.resolve(!1,!0)}function px(e,t,n,r,s,i,o,a,{p:c,um:f,o:{createElement:l}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const d=t.ssContent,p=t.ssFallback,{activeBranch:y,pendingBranch:g,isInFallback:w,isHydrating:x}=u;if(g)u.pendingBranch=d,yr(d,g)?(c(g,d,u.hiddenContainer,null,s,u,i,o,a),u.deps<=0?u.resolve():w&&(x||(c(y,p,n,r,s,null,i,o,a),eo(u,p)))):(u.pendingId=Ku++,x?(u.isHydrating=!1,u.activeBranch=g):f(g,s,u),u.deps=0,u.effects.length=0,u.hiddenContainer=l("div"),w?(c(null,d,u.hiddenContainer,null,s,u,i,o,a),u.deps<=0?u.resolve():(c(y,p,n,r,s,null,i,o,a),eo(u,p))):y&&yr(d,y)?(c(y,d,n,r,s,u,i,o,a),u.resolve(!0)):(c(null,d,u.hiddenContainer,null,s,u,i,o,a),u.deps<=0&&u.resolve()));else if(y&&yr(d,y))c(y,d,n,r,s,u,i,o,a),eo(u,d);else if(va(t,"onPending"),u.pendingBranch=d,d.shapeFlag&512?u.pendingId=d.component.suspenseId:u.pendingId=Ku++,c(null,d,u.hiddenContainer,null,s,u,i,o,a),u.deps<=0)u.resolve();else{const{timeout:_,pendingId:b}=u;_>0?setTimeout(()=>{u.pendingId===b&&u.fallback(p)},_):_===0&&u.fallback(p)}}function pg(e,t,n,r,s,i,o,a,c,f,l=!1){const{p:u,m:d,um:p,n:y,o:{parentNode:g,remove:w}}=f;let x;const _=yx(e);_&&t&&t.pendingBranch&&(x=t.pendingId,t.deps++);const b=e.props?da(e.props.timeout):void 0,T=i,O={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:s,deps:0,pendingId:Ku++,timeout:typeof b=="number"?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!l,isHydrating:l,isUnmounted:!1,effects:[],resolve(N=!1,L=!1){const{vnode:j,activeBranch:I,pendingBranch:D,pendingId:K,effects:F,parentComponent:$,container:ee}=O;let he=!1;O.isHydrating?O.isHydrating=!1:N||(he=I&&D.transition&&D.transition.mode==="out-in",he&&(I.transition.afterLeave=()=>{K===O.pendingId&&(d(D,ee,i===T?y(I):i,0),ga(F))}),I&&(g(I.el)===ee&&(i=y(I)),p(I,$,O,!0)),he||d(D,ee,i,0)),eo(O,D),O.pendingBranch=null,O.isInFallback=!1;let se=O.parent,me=!1;for(;se;){if(se.pendingBranch){se.effects.push(...F),me=!0;break}se=se.parent}!me&&!he&&ga(F),O.effects=[],_&&t&&t.pendingBranch&&x===t.pendingId&&(t.deps--,t.deps===0&&!L&&t.resolve()),va(j,"onResolve")},fallback(N){if(!O.pendingBranch)return;const{vnode:L,activeBranch:j,parentComponent:I,container:D,namespace:K}=O;va(L,"onFallback");const F=y(j),$=()=>{O.isInFallback&&(u(null,N,D,F,I,null,K,a,c),eo(O,N))},ee=N.transition&&N.transition.mode==="out-in";ee&&(j.transition.afterLeave=$),O.isInFallback=!0,p(j,I,null,!0),ee||$()},move(N,L,j){O.activeBranch&&d(O.activeBranch,N,L,j),O.container=N},next(){return O.activeBranch&&y(O.activeBranch)},registerDep(N,L,j){const I=!!O.pendingBranch;I&&O.deps++;const D=N.vnode.el;N.asyncDep.catch(K=>{Mi(K,N,0)}).then(K=>{if(N.isUnmounted||O.isUnmounted||O.pendingId!==N.suspenseId)return;N.asyncResolved=!0;const{vnode:F}=N;Gu(N,K,!1),D&&(F.el=D);const $=!D&&N.subTree.el;L(N,F,g(D||N.subTree.el),D?null:y(N.subTree),O,o,j),$&&w($),sf(N,F.el),I&&--O.deps===0&&O.resolve()})},unmount(N,L){O.isUnmounted=!0,O.activeBranch&&p(O.activeBranch,n,N,L),O.pendingBranch&&p(O.pendingBranch,n,N,L)}};return O}function mx(e,t,n,r,s,i,o,a,c){const f=t.suspense=pg(t,r,n,e.parentNode,document.createElement("div"),null,s,i,o,a,!0),l=c(e,f.pendingBranch=t.ssContent,n,f,i,o);return f.deps===0&&f.resolve(!1,!0),l}function gx(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=g1(r?n.default:n),e.ssFallback=r?g1(n.fallback):st(Qt)}function g1(e){let t;if(Fe(e)){const n=Ei&&e._c;n&&(e._d=!1,Bt()),e=e(),n&&(e._d=!0,t=Pn,gg())}return _e(e)&&(e=ax(e)),e=Jn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function mg(e,t){t&&t.pendingBranch?_e(e)?t.effects.push(...e):t.effects.push(e):ga(e)}function eo(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,sf(r,s))}function yx(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Xt=Symbol.for("v-fgt"),Ms=Symbol.for("v-txt"),Qt=Symbol.for("v-cmt"),gi=Symbol.for("v-stc"),ea=[];let Pn=null;function Bt(e=!1){ea.push(Pn=e?null:[])}function gg(){ea.pop(),Pn=ea[ea.length-1]||null}let Ei=1;function qu(e,t=!1){Ei+=e,e<0&&Pn&&t&&(Pn.hasOnce=!0)}function yg(e){return e.dynamicChildren=Ei>0?Pn||li:null,gg(),Ei>0&&Pn&&Pn.push(e),e}function xn(e,t,n,r,s,i){return yg(De(e,t,n,r,s,i,!0))}function Ea(e,t,n,r,s){return yg(st(e,t,n,r,s,!0))}function os(e){return e?e.__v_isVNode===!0:!1}function yr(e,t){return e.type===t.type&&e.key===t.key}function _x(e){}const _g=({key:e})=>e??null,Dc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ze(e)||on(e)||Fe(e)?{i:sn,r:e,k:t,f:!!n}:e:null);function De(e,t=null,n=null,r=0,s=null,i=e===Xt?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&_g(t),ref:t&&Dc(t),scopeId:Jl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:sn};return a?(Ih(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ze(n)?8:16),Ei>0&&!o&&Pn&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Pn.push(c),c}const st=bx;function bx(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===z2)&&(e=Qt),os(e)){const a=Pr(e,t,!0);return n&&Ih(a,n),Ei>0&&!i&&Pn&&(a.shapeFlag&6?Pn[Pn.indexOf(e)]=a:Pn.push(a)),a.patchFlag=-2,a}if(Cx(e)&&(e=e.__vccOpts),t){t=bg(t);let{class:a,style:c}=t;a&&!ze(a)&&(t.class=wo(a)),vt(c)&&(Yl(c)&&!_e(c)&&(c=ot({},c)),t.style=Eo(c))}const o=ze(e)?1:fl(e)?128:N2(e)?64:vt(e)?4:Fe(e)?2:0;return De(e,t,n,r,s,o,i,!0)}function bg(e){return e?Yl(e)||Y2(e)?ot({},e):e:null}function Pr(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:c}=e,f=t?xg(s||{},t):s,l={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&_g(f),ref:t&&t.ref?n&&i?_e(i)?i.concat(Dc(t)):[i,Dc(t)]:Dc(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pr(e.ssContent),ssFallback:e.ssFallback&&Pr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&is(l,c.clone(l)),l}function wa(e=" ",t=0){return st(Ms,null,e,t)}function xx(e,t){const n=st(gi,null,e);return n.staticCount=t,n}function lr(e="",t=!1){return t?(Bt(),Ea(Qt,null,e)):st(Qt,null,e)}function Jn(e){return e==null||typeof e=="boolean"?st(Qt):_e(e)?st(Xt,null,e.slice()):os(e)?Ss(e):st(Ms,null,String(e))}function Ss(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pr(e)}function Ih(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(_e(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Ih(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Y2(t)?t._ctx=sn:s===3&&sn&&(sn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Fe(t)?(t={default:t,_ctx:sn},n=32):(t=String(t),r&64?(n=16,t=[wa(t)]):n=8);e.children=t,e.shapeFlag|=n}function xg(...e){const t={};for(let n=0;nrn||sn;let ul,Xu;{const e=$a(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};ul=t("__VUE_INSTANCE_SETTERS__",n=>rn=n),Xu=t("__VUE_SSR_SETTERS__",n=>ao=n)}const wi=e=>{const t=rn;return ul(e),e.scope.on(),()=>{e.scope.off(),ul(t)}},Wu=()=>{rn&&rn.scope.off(),ul(null)};function Eg(e){return e.vnode.shapeFlag&4}let ao=!1;function wg(e,t=!1,n=!1){t&&Xu(t);const{props:r,children:s}=e.vnode,i=Eg(e);Gb(e,r,i,t),Zb(e,s,n);const o=i?wx(e,t):void 0;return t&&Xu(!1),o}function wx(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vu);const{setup:r}=n;if(r){Ws();const s=e.setupContext=r.length>1?Tg(e):null,i=wi(e),o=To(r,e,0,[e.props,s]),a=Hl(o);if(Gs(),i(),(a||e.sp)&&!Is(e)&&wh(e),a){if(o.then(Wu,Wu),t)return o.then(c=>{Gu(e,c,t)}).catch(c=>{Mi(c,e,0)});e.asyncDep=o}else Gu(e,o,t)}else Sg(e,t)}function Gu(e,t,n){Fe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:vt(t)&&(e.setupState=bh(t)),Sg(e,n)}let dl,Yu;function Sx(e){dl=e,Yu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,Cb))}}const Tx=()=>!dl;function Sg(e,t,n){const r=e.type;if(!e.render){if(!t&&dl&&!r.render){const s=r.template||Nh(e).template;if(s){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,f=ot(ot({isCustomElement:i,delimiters:a},o),c);r.render=dl(s,f)}}e.render=r.render||pn,Yu&&Yu(e)}{const s=wi(e);Ws();try{Vb(e)}finally{Gs(),s()}}}const Ax={get(e,t){return An(e,"get",""),e[t]}};function Tg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ax),slots:e.slots,emit:e.emit,expose:t}}function Xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(bh(yh(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Zo)return Zo[n](e)},has(t,n){return n in t||n in Zo}})):e.proxy}function Ju(e,t=!0){return Fe(e)?e.displayName||e.name:e.name||t&&e.__name}function Cx(e){return Fe(e)&&"__vccOpts"in e}const Wt=(e,t)=>B4(e,t,ao);function Wa(e,t,n){const r=arguments.length;return r===2?vt(t)&&!_e(t)?os(t)?st(e,null,[t]):st(e,t):st(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&os(n)&&(n=[n]),st(e,t,n))}function Ox(){}function Nx(e,t,n,r){const s=n[r];if(s&&Ag(s,e))return s;const i=t();return i.memo=e.slice(),i.cacheIndex=r,n[r]=i}function Ag(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r0&&Pn&&Pn.push(e),!0}const Cg="3.5.13",Rx=pn,Px=G4,Ix=Ki,Lx=A2,Mx={createComponentInstance:vg,setupComponent:wg,renderComponentRoot:kc,setCurrentRenderingInstance:_a,isVNode:os,normalizeVNode:Jn,getComponentPublicInstance:Xa,ensureValidVNode:Oh,pushWarningContext:K4,popWarningContext:q4},kx=Mx,Dx=null,Fx=null,jx=null;/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Qu;const y1=typeof window<"u"&&window.trustedTypes;if(y1)try{Qu=y1.createPolicy("vue",{createHTML:e=>e})}catch{}const Og=Qu?e=>Qu.createHTML(e):e=>e,Ux="http://www.w3.org/2000/svg",Bx="http://www.w3.org/1998/Math/MathML",Hr=typeof document<"u"?document:null,_1=Hr&&Hr.createElement("template"),Vx={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Hr.createElementNS(Ux,e):t==="mathml"?Hr.createElementNS(Bx,e):n?Hr.createElement(e,{is:n}):Hr.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Hr.createTextNode(e),createComment:e=>Hr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Hr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{_1.innerHTML=Og(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=_1.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ps="transition",Fo="animation",co=Symbol("_vtc"),Ng={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Rg=ot({},Eh,Ng),$x=e=>(e.displayName="Transition",e.props=Rg,e),Hx=$x((e,{slots:t})=>Wa(M2,Pg(e),t)),ei=(e,t=[])=>{_e(e)?e.forEach(n=>n(...t)):e&&e(...t)},b1=e=>e?_e(e)?e.some(t=>t.length>1):e.length>1:!1;function Pg(e){const t={};for(const F in e)F in Ng||(t[F]=e[F]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:f=o,appearToClass:l=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,y=zx(s),g=y&&y[0],w=y&&y[1],{onBeforeEnter:x,onEnter:_,onEnterCancelled:b,onLeave:T,onLeaveCancelled:O,onBeforeAppear:N=x,onAppear:L=_,onAppearCancelled:j=b}=t,I=(F,$,ee,he)=>{F._enterCancelled=he,bs(F,$?l:a),bs(F,$?f:o),ee&&ee()},D=(F,$)=>{F._isLeaving=!1,bs(F,u),bs(F,p),bs(F,d),$&&$()},K=F=>($,ee)=>{const he=F?L:_,se=()=>I($,F,ee);ei(he,[$,se]),x1(()=>{bs($,F?c:i),Tr($,F?l:a),b1(he)||v1($,r,g,se)})};return ot(t,{onBeforeEnter(F){ei(x,[F]),Tr(F,i),Tr(F,o)},onBeforeAppear(F){ei(N,[F]),Tr(F,c),Tr(F,f)},onEnter:K(!1),onAppear:K(!0),onLeave(F,$){F._isLeaving=!0;const ee=()=>D(F,$);Tr(F,u),F._enterCancelled?(Tr(F,d),Zu()):(Zu(),Tr(F,d)),x1(()=>{F._isLeaving&&(bs(F,u),Tr(F,p),b1(T)||v1(F,r,w,ee))}),ei(T,[F,ee])},onEnterCancelled(F){I(F,!1,void 0,!0),ei(b,[F])},onAppearCancelled(F){I(F,!0,void 0,!0),ei(j,[F])},onLeaveCancelled(F){D(F),ei(O,[F])}})}function zx(e){if(e==null)return null;if(vt(e))return[ru(e.enter),ru(e.leave)];{const t=ru(e);return[t,t]}}function ru(e){return da(e)}function Tr(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[co]||(e[co]=new Set)).add(t)}function bs(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[co];n&&(n.delete(t),n.size||(e[co]=void 0))}function x1(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Kx=0;function v1(e,t,n,r){const s=e._endId=++Kx,i=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:a,propCount:c}=Ig(e,t);if(!o)return r();const f=o+"end";let l=0;const u=()=>{e.removeEventListener(f,d),i()},d=p=>{p.target===e&&++l>=c&&u()};setTimeout(()=>{l(n[y]||"").split(", "),s=r(`${ps}Delay`),i=r(`${ps}Duration`),o=E1(s,i),a=r(`${Fo}Delay`),c=r(`${Fo}Duration`),f=E1(a,c);let l=null,u=0,d=0;t===ps?o>0&&(l=ps,u=o,d=i.length):t===Fo?f>0&&(l=Fo,u=f,d=c.length):(u=Math.max(o,f),l=u>0?o>f?ps:Fo:null,d=l?l===ps?i.length:c.length:0);const p=l===ps&&/\b(transform|all)(,|$)/.test(r(`${ps}Property`).toString());return{type:l,timeout:u,propCount:d,hasTransform:p}}function E1(e,t){for(;e.lengthw1(n)+w1(e[r])))}function w1(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Zu(){return document.body.offsetHeight}function qx(e,t,n){const r=e[co];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const hl=Symbol("_vod"),Lg=Symbol("_vsh"),Mg={beforeMount(e,{value:t},{transition:n}){e[hl]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):jo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),jo(e,!0),r.enter(e)):r.leave(e,()=>{jo(e,!1)}):jo(e,t))},beforeUnmount(e,{value:t}){jo(e,t)}};function jo(e,t){e.style.display=t?e[hl]:"none",e[Lg]=!t}function Xx(){Mg.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const kg=Symbol("");function Wx(e){const t=hr();if(!t)return;const n=t.ut=(s=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i=>pl(i,s))},r=()=>{const s=e(t.proxy);t.ce?pl(t.ce,s):ed(t.subTree,s),n(s)};Sh(()=>{ga(r)}),Ao(()=>{Ls(r,pn,{flush:"post"});const s=new MutationObserver(r);s.observe(t.subTree.el.parentNode,{childList:!0}),nf(()=>s.disconnect())})}function ed(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ed(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)pl(e.el,t);else if(e.type===Xt)e.children.forEach(n=>ed(n,t));else if(e.type===gi){let{el:n,anchor:r}=e;for(;n&&(pl(n,t),n!==r);)n=n.nextSibling}}function pl(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const s in t)n.setProperty(`--${s}`,t[s]),r+=`--${s}: ${t[s]};`;n[kg]=r}}const Gx=/(^|;)\s*display\s*:/;function Yx(e,t,n){const r=e.style,s=ze(n);let i=!1;if(n&&!s){if(t)if(ze(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&Fc(r,a,"")}else for(const o in t)n[o]==null&&Fc(r,o,"");for(const o in n)o==="display"&&(i=!0),Fc(r,o,n[o])}else if(s){if(t!==n){const o=r[kg];o&&(n+=";"+o),r.cssText=n,i=Gx.test(n)}}else t&&e.removeAttribute("style");hl in e&&(e[hl]=i?r.display:"",e[Lg]&&(r.display="none"))}const S1=/\s*!important$/;function Fc(e,t,n){if(_e(n))n.forEach(r=>Fc(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Jx(e,t);S1.test(n)?e.setProperty(On(r),n.replace(S1,""),"important"):e[r]=n}}const T1=["Webkit","Moz","ms"],su={};function Jx(e,t){const n=su[t];if(n)return n;let r=Nt(t);if(r!=="filter"&&r in e)return su[t]=r;r=Xs(r);for(let s=0;siu||(tv.then(()=>iu=0),iu=Date.now());function rv(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;dr(sv(r,n.value),t,5,[r])};return n.value=e,n.attached=nv(),n}function sv(e,t){if(_e(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const P1=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,iv=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?qx(e,r,o):t==="style"?Yx(e,n,r):Ks(t)?Vl(t)||Zx(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ov(e,t,r,o))?(O1(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&C1(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ze(r))?O1(e,Nt(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),C1(e,t,r,o))};function ov(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&P1(t)&&Fe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return P1(t)&&ze(n)?!1:t in e}const I1={};/*! #__NO_SIDE_EFFECTS__ */function Dg(e,t,n){const r=fs(e,t);Va(r)&&ot(r,t);class s extends of{constructor(o){super(r,o,n)}}return s.def=r,s}/*! #__NO_SIDE_EFFECTS__ */const av=(e,t)=>Dg(e,t,Gg),cv=typeof HTMLElement<"u"?HTMLElement:class{};class of extends cv{constructor(t,n={},r=yl){super(),this._def=t,this._props=n,this._createApp=r,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&r!==yl?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.parentNode||t.host);)if(t instanceof of){this._parent=t;break}this._instance||(this._resolved?(this._setParent(),this._update()):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._instance.provides=t._instance.provides)}disconnectedCallback(){this._connected=!1,za(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)})}_resolveDef(){if(this._pendingResolve)return;for(let r=0;r{for(const s of r)this._setAttr(s.attributeName)}),this._ob.observe(this,{attributes:!0});const t=(r,s=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:o}=r;let a;if(i&&!_e(i))for(const c in i){const f=i[c];(f===Number||f&&f.type===Number)&&(c in this._props&&(this._props[c]=da(this._props[c])),(a||(a=Object.create(null)))[Nt(c)]=!0)}this._numberProps=a,s&&this._resolveProps(r),this.shadowRoot&&this._applyStyles(o),this._mount(r)},n=this._def.__asyncLoader;n?this._pendingResolve=n().then(r=>t(this._def=r,!0)):t(this._def)}_mount(t){this._app=this._createApp(t),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const r in n)_t(this,r)||Object.defineProperty(this,r,{get:()=>Zr(n[r])})}_resolveProps(t){const{props:n}=t,r=_e(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&r.includes(s)&&this._setProp(s,this[s]);for(const s of r.map(Nt))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(i){this._setProp(s,i,!0,!0)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let r=n?this.getAttribute(t):I1;const s=Nt(t);n&&this._numberProps&&this._numberProps[s]&&(r=da(r)),this._setProp(s,r,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,r=!0,s=!1){if(n!==this._props[t]&&(n===I1?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),r)){const i=this._ob;i&&i.disconnect(),n===!0?this.setAttribute(On(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(On(t),n+""):n||this.removeAttribute(On(t)),i&&i.observe(this,{attributes:!0})}}_update(){Wg(this._createVNode(),this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=st(this._def,ot(t,this._props));return this._instance||(n.ce=r=>{this._instance=r,r.ce=this,r.isCE=!0;const s=(i,o)=>{this.dispatchEvent(new CustomEvent(i,Va(o[0])?ot({detail:o},o[0]):{detail:o}))};r.emit=(i,...o)=>{s(i,o),On(i)!==i&&s(On(i),o)},this._setParent()}),n}_applyStyles(t,n){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce;for(let s=t.length-1;s>=0;s--){const i=document.createElement("style");r&&i.setAttribute("nonce",r),i.textContent=t[s],this.shadowRoot.prepend(i)}}_parseSlots(){const t=this._slots={};let n;for(;n=this.firstChild;){const r=n.nodeType===1&&n.getAttribute("slot")||"default";(t[r]||(t[r]=[])).push(n),this.removeChild(n)}}_renderSlots(){const t=(this._teleportTarget||this).querySelectorAll("slot"),n=this._instance.type.__scopeId;for(let r=0;r(delete e.props.mode,e),dv=uv({name:"TransitionGroup",props:ot({},Rg,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=hr(),r=vh();let s,i;return ef(()=>{if(!s.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!gv(s[0].el,n.vnode.el,o))return;s.forEach(hv),s.forEach(pv);const a=s.filter(mv);Zu(),a.forEach(c=>{const f=c.el,l=f.style;Tr(f,o),l.transform=l.webkitTransform=l.transitionDuration="";const u=f[ml]=d=>{d&&d.target!==f||(!d||/transform$/.test(d.propertyName))&&(f.removeEventListener("transitionend",u),f[ml]=null,bs(f,o))};f.addEventListener("transitionend",u)})}),()=>{const o=gt(e),a=Pg(o);let c=o.tag||Xt;if(s=[],i)for(let f=0;f{a.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=Ig(r);return i.removeChild(r),o}const Fs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return _e(t)?n=>di(t,n):t};function yv(e){e.target.composing=!0}function M1(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const fr=Symbol("_assign"),gl={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[fr]=Fs(s);const i=r||s.props&&s.props.type==="number";Xr(e,t?"change":"input",o=>{if(o.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=ua(a)),e[fr](a)}),n&&Xr(e,"change",()=>{e.value=e.value.trim()}),t||(Xr(e,"compositionstart",yv),Xr(e,"compositionend",M1),Xr(e,"change",M1))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[fr]=Fs(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?ua(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},af={deep:!0,created(e,t,n){e[fr]=Fs(n),Xr(e,"change",()=>{const r=e._modelValue,s=lo(e),i=e.checked,o=e[fr];if(_e(r)){const a=Ha(r,s),c=a!==-1;if(i&&!c)o(r.concat(s));else if(!i&&c){const f=[...r];f.splice(a,1),o(f)}}else if(qs(r)){const a=new Set(r);i?a.add(s):a.delete(s),o(a)}else o($g(e,i))})},mounted:k1,beforeUpdate(e,t,n){e[fr]=Fs(n),k1(e,t,n)}};function k1(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(_e(t))s=Ha(t,r.props.value)>-1;else if(qs(t))s=t.has(r.props.value);else{if(t===n)return;s=ss(t,$g(e,!0))}e.checked!==s&&(e.checked=s)}const Lh={created(e,{value:t},n){e.checked=ss(t,n.props.value),e[fr]=Fs(n),Xr(e,"change",()=>{e[fr](lo(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[fr]=Fs(r),t!==n&&(e.checked=ss(t,r.props.value))}},Vg={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=qs(t);Xr(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?ua(lo(o)):lo(o));e[fr](e.multiple?s?new Set(i):i:i[0]),e._assigning=!0,za(()=>{e._assigning=!1})}),e[fr]=Fs(r)},mounted(e,{value:t}){D1(e,t)},beforeUpdate(e,t,n){e[fr]=Fs(n)},updated(e,{value:t}){e._assigning||D1(e,t)}};function D1(e,t){const n=e.multiple,r=_e(t);if(!(n&&!r&&!qs(t))){for(let s=0,i=e.options.length;sString(f)===String(a)):o.selected=Ha(t,a)>-1}else o.selected=t.has(a);else if(ss(lo(o),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function lo(e){return"_value"in e?e._value:e.value}function $g(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Hg={created(e,t,n){bc(e,t,n,null,"created")},mounted(e,t,n){bc(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){bc(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){bc(e,t,n,r,"updated")}};function zg(e,t){switch(e){case"SELECT":return Vg;case"TEXTAREA":return gl;default:switch(t){case"checkbox":return af;case"radio":return Lh;default:return gl}}}function bc(e,t,n,r,s){const o=zg(e.tagName,n.props&&n.props.type)[s];o&&o(e,t,n,r)}function _v(){gl.getSSRProps=({value:e})=>({value:e}),Lh.getSSRProps=({value:e},t)=>{if(t.props&&ss(t.props.value,e))return{checked:!0}},af.getSSRProps=({value:e},t)=>{if(_e(e)){if(t.props&&Ha(e,t.props.value)>-1)return{checked:!0}}else if(qs(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Hg.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const n=zg(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}const bv=["ctrl","shift","alt","meta"],xv={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>bv.some(n=>e[`${n}Key`]&&!t.includes(n))},vv=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=On(s.key);if(t.some(o=>o===i||Ev[o]===i))return e(s)})},Kg=ot({patchProp:iv},Vx);let ta,F1=!1;function qg(){return ta||(ta=rg(Kg))}function Xg(){return ta=F1?ta:sg(Kg),F1=!0,ta}const Wg=(...e)=>{qg().render(...e)},Sv=(...e)=>{Xg().hydrate(...e)},yl=(...e)=>{const t=qg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Jg(r);if(!s)return;const i=t._component;!Fe(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,Yg(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t},Gg=(...e)=>{const t=Xg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Jg(r);if(s)return n(s,!0,Yg(s))},t};function Yg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Jg(e){return ze(e)?document.querySelector(e):e}let j1=!1;const Tv=()=>{j1||(j1=!0,_v(),Xx())},Av=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:M2,BaseTransitionPropsValidators:Eh,Comment:Qt,DeprecationTypes:jx,EffectScope:uh,ErrorCodes:W4,ErrorTypeStrings:Px,Fragment:Xt,KeepAlive:xb,ReactiveEffect:ha,Static:gi,Suspense:dx,Teleport:nb,Text:Ms,TrackOpTypes:V4,Transition:Hx,TransitionGroup:Bg,TriggerOpTypes:$4,VueElement:of,assertNumber:X4,callWithAsyncErrorHandling:dr,callWithErrorHandling:To,camelize:Nt,capitalize:Xs,cloneVNode:Pr,compatUtils:Fx,computed:Wt,createApp:yl,createBlock:Ea,createCommentVNode:lr,createElementBlock:xn,createElementVNode:De,createHydrationRenderer:sg,createPropsRestProxy:Ub,createRenderer:rg,createSSRApp:Gg,createSlots:Tb,createStaticVNode:xx,createTextVNode:wa,createVNode:st,customRef:b2,defineAsyncComponent:_b,defineComponent:fs,defineCustomElement:Dg,defineEmits:Nb,defineExpose:Rb,defineModel:Lb,defineOptions:Pb,defineProps:Ob,defineSSRCustomElement:av,defineSlots:Ib,devtools:Ix,effect:l4,effectScope:t2,getCurrentInstance:hr,getCurrentScope:n2,getCurrentWatcher:H4,getTransitionRawChildren:Ql,guardReactiveProps:bg,h:Wa,handleError:Mi,hasInjectionContext:Wb,hydrate:Sv,hydrateOnIdle:db,hydrateOnInteraction:gb,hydrateOnMediaQuery:mb,hydrateOnVisible:pb,initCustomFormatter:Ox,initDirectivesForSSR:Tv,inject:br,isMemoSame:Ag,isProxy:Yl,isReactive:Ps,isReadonly:Ds,isRef:on,isRuntimeOnly:Tx,isShallow:sr,isVNode:os,markRaw:yh,mergeDefaults:Fb,mergeModels:jb,mergeProps:xg,nextTick:za,normalizeClass:wo,normalizeProps:Km,normalizeStyle:Eo,onActivated:D2,onBeforeMount:U2,onBeforeUnmount:tf,onBeforeUpdate:Sh,onDeactivated:F2,onErrorCaptured:H2,onMounted:Ao,onRenderTracked:$2,onRenderTriggered:V2,onScopeDispose:a4,onServerPrefetch:B2,onUnmounted:nf,onUpdated:ef,onWatcherCleanup:v2,openBlock:Bt,popScopeId:Z4,provide:Zi,proxyRefs:bh,pushScopeId:Q4,queuePostFlushCb:ga,reactive:So,readonly:gh,ref:pi,registerRuntimeCompiler:Sx,render:Wg,renderList:Uu,renderSlot:Ch,resolveComponent:zo,resolveDirective:Sb,resolveDynamicComponent:wb,resolveFilter:Dx,resolveTransitionHooks:oo,setBlockTracking:qu,setDevtoolsHook:Lx,setTransitionHooks:is,shallowReactive:mh,shallowReadonly:N4,shallowRef:_h,ssrContextKey:cg,ssrUtils:kx,stop:f4,toDisplayString:dn,toHandlerKey:ui,toHandlers:Ab,toRaw:gt,toRef:j4,toRefs:k4,toValue:I4,transformVNodeArgs:_x,triggerRef:P4,unref:Zr,useAttrs:Db,useCssModule:fv,useCssVars:Wx,useHost:Fg,useId:sb,useModel:ix,useSSRContext:lg,useShadowRoot:lv,useSlots:kb,useTemplateRef:ib,useTransitionState:vh,vModelCheckbox:af,vModelDynamic:Hg,vModelRadio:Lh,vModelSelect:Vg,vModelText:gl,vShow:Mg,version:Cg,warn:Rx,watch:Ls,watchEffect:nx,watchPostEffect:rx,watchSyncEffect:fg,withAsyncContext:Bb,withCtx:Ns,withDefaults:Mb,withDirectives:C2,withKeys:wv,withMemo:Nx,withModifiers:vv,withScopeId:eb},Symbol.toStringTag,{value:"Module"}));/*! + * pinia v2.3.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const Cv=Symbol();var U1;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(U1||(U1={}));function Ov(){const e=t2(!0),t=e.run(()=>pi({}));let n=[],r=[];const s=yh({install(i){s._a=i,i.provide(Cv,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const na={};function B1(e){return function(t,n){var r;if(n){if(n.kind!=="class")throw"deco stage 3 class";const s=(r=na.fakePrototype)!==null&&r!==void 0?r:na.fakePrototype={},i=mn(s);return delete na.fakePrototype,mn(t.prototype,i),e(t)}else return e(t)}}function V1(e){return function(t,n){var r;if(typeof n=="object"){const s=(r=na.fakePrototype)!==null&&r!==void 0?r:na.fakePrototype={};return s[n.name]=t,e(s,n.name)}else return e(t,n)}}const Qg=Symbol("vue-facing-decorator-slot");class Nv{constructor(t){this.names=new Map,this.inComponent=!1,this.cachedVueComponent=null,this.master=t}obtainMap(t){let n=this.getMap(t);return n||(n=new Map,this.names.set(t,n)),n}getMap(t){return this.names.get(t)}}function Rv(e,t){if(cf(e))throw"";t&&(t.master=e);const n=t??new Nv(e);return Object.defineProperty(e,Qg,{enumerable:!1,value:n}),n}function cf(e){var t;return(t=Object.getOwnPropertyDescriptor(e,Qg))===null||t===void 0?void 0:t.value}function mn(e,t){const n=cf(e);return n||Rv(e,t)}function Pv(e,t){return e.reduce((n,r)=>(n[r]=t[r],n),{})}function Mh(e){const t=[];let n=e;do t.unshift(n),n=Object.getPrototypeOf(n);while(n.constructor!==Dh&&!cf(n));return t}function Zg(e){let t=Object.getPrototypeOf(e);for(;t.constructor!==Dh;){const n=cf(t);if(n)return n;t=Object.getPrototypeOf(t)}return null}function ey(e,t,n){return e.filter(r=>{let s=t;for(;s!=null;){for(const i of s.names.keys()){if(n&&!n(i))continue;if(i==="customDecorator"){const a=s.obtainMap("customDecorator");if(a.has(r)){if(a.get(r).every(c=>!c.preserve))return!1;continue}}if(s.names.get(i).has(r))return!1}s=Zg(s.master)}return!0})}function kh(e,t){const n=Object.getOwnPropertyDescriptors(e);return Object.keys(n).filter(r=>t(n[r],r))}function ty(e){function t(n,r){if(r)V1(function(s,i){e(s,i)})(n,r);else return V1(function(s,i){e(s,i,n)})}return t}function $1(e){return typeof e=="function"?e:function(){return e||{}}}const Iv=e=>e instanceof Promise;function Lv(e,t){const r=mn(e.prototype).getMap("setup");if(!r||r.size===0)return;const s=function(i,o){const a={};let c=null;for(const f of r.keys()){const l=r.get(f).setupFunction(i,o);Iv(l)?(c??(c=[]),c.push(l.then(u=>{a[f]=u}))):a[f]=l}return Array.isArray(c)?Promise.all(c).then(()=>a):a};t.setup=s}function Mv(e,t){var n;(n=t.computed)!==null&&n!==void 0||(t.computed={});const r=mn(e.prototype),s=r.obtainMap("computed"),i=r.obtainMap("vanilla");Mh(e.prototype).forEach(a=>{kh(a,(c,f)=>(typeof c.get=="function"||typeof c.set=="function")&&!i.has(f)).forEach(c=>{s.set(c,!0);const f=Object.getOwnPropertyDescriptor(a,c);t.computed[c]={get:typeof f.get=="function"?f.get:void 0,set:typeof f.set=="function"?f.set:void 0}})})}function kv(e,t,n){var r;(r=t.data)!==null&&r!==void 0||(t.data={});const s=new e(t,n);let i=kh(s,(a,c)=>{var f,l;return!!a.enumerable&&!(!((f=t.methods)===null||f===void 0)&&f[c])&&!(!((l=t.props)===null||l===void 0)&&l[c])});const o=mn(e.prototype);i=ey(i,o,a=>!["provide"].includes(a)),Object.assign(t.data,Pv(i,s))}const Dv=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","render"];function Fv(e,t){var n,r,s;const i=mn(e.prototype),o=Mh(e.prototype),a=i.obtainMap("hooks");(n=t.hooks)!==null&&n!==void 0||(t.hooks={}),(r=t.methods)!==null&&r!==void 0||(t.methods={});const c={},f={};o.forEach(u=>{let d=kh(u,(p,y)=>typeof p.value=="function"&&y!=="constructor");d=ey(d,i,p=>!["watch","hooks","emits","provide"].includes(p)),d.forEach(p=>{Dv.includes(p)||a.has(p)?c[p]=u[p]:f[p]=u[p]})}),Object.assign(t.methods,f);const l=[...(s=t.beforeCreateCallbacks)!==null&&s!==void 0?s:[]];if(l.length>0){const u=c.beforeCreate;c.beforeCreate=function(){l.forEach(d=>d.apply(this,arguments)),u&&u.apply(this,arguments)}}Object.assign(t.hooks,c)}function ny(e,t){var n;(n=e.beforeCreateCallbacks)!==null&&n!==void 0||(e.beforeCreateCallbacks=[]),e.beforeCreateCallbacks.push(function(){const r=this;t(r).forEach((i,o)=>{Object.defineProperty(r,o,i)})})}function jv(e,t){const r=mn(e.prototype).getMap("ref");!r||r.size===0||ny(t,s=>{const i=new Map;return r.forEach((o,a)=>{const c=o===null?a:o;i.set(a,{get:function(){return s.$refs[c]},set:void 0})}),i})}function Uv(e,t){var n;(n=t.watch)!==null&&n!==void 0||(t.watch={});const s=mn(e.prototype).getMap("watch");!s||s.size===0||s.forEach((i,o)=>{(Array.isArray(i)?i:[i]).forEach(c=>{if(!t.watch[c.key])t.watch[c.key]=c;else{const f=t.watch[c.key];Array.isArray(f)?f.push(c):t.watch[c.key]=[f,c]}})})}const y9=ty(function(e,t,n){const s=mn(e).obtainMap("props"),i=Object.assign({},n??{});s.set(t,i)});function Bv(e,t){var n;(n=t.props)!==null&&n!==void 0||(t.props={});const s=mn(e.prototype).getMap("props");!s||s.size===0||s.forEach((i,o)=>{t.props[o]=i})}function Vv(e,t){var n;(n=t.inject)!==null&&n!==void 0||(t.inject={});const s=mn(e.prototype).getMap("inject");!s||s.size===0||s.forEach((i,o)=>{t.inject[o]=i})}function $v(e,t,n){var r;(r=t.provide)!==null&&r!==void 0||(t.provide={});const i=mn(e.prototype).obtainMap("provide");if(!i)return null;i.forEach((o,a)=>{const c=o===null?a:o;t.provide[c]=Wt(()=>n[a])})}var Hv=function(e,t,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(l){try{f(r.next(l))}catch(u){o(u)}}function c(l){try{f(r.throw(l))}catch(u){o(u)}}function f(l){l.done?i(l.value):s(l.value).then(a,c)}f((r=r.apply(e,t||[])).next())})};const _9=ty(function(e,t,n){mn(e).obtainMap("emit").set(t,typeof n>"u"?null:n)});function zv(e,t){var n;(n=t.methods)!==null&&n!==void 0||(t.methods={});const r=e.prototype,s=mn(r),i=s.getMap("emit");if(!i||i.size===0)return;const o=s.obtainMap("emits");i.forEach((a,c)=>{const f=a===null?c:a;o.set(f,!0),t.methods[c]=function(){return Hv(this,arguments,void 0,function*(){const l=r[c].apply(this,arguments);if(l instanceof Promise){const u=yield l;this.$emit(f,u)}else l===void 0?this.$emit(f):this.$emit(f,l)})}})}function Kv(e,t){var n;(n=t.computed)!==null&&n!==void 0||(t.computed={});const r=mn(e.prototype),s=r.getMap("v-model");if(!s||s.size===0)return;const i=r.obtainMap("emits");s.forEach((o,a)=>{var c;const f=(c=o&&o.name)!==null&&c!==void 0?c:"modelValue",l=`update:${f}`;t.computed[a]={get:function(){return this[f]},set:function(u){this.$emit(l,u)}},i.set(l,!0)})}function qv(e,t){const r=mn(e.prototype).getMap("vanilla");if(!r||r.size===0)return;const s=Mh(e.prototype),i=new Map;ny(t,o=>(s.forEach(a=>{const c=Object.getOwnPropertyDescriptors(a);for(const f in c){const l=c[f];l&&r.has(f)&&(typeof l.get=="function"||typeof l.set=="function")&&i.set(f,{set:typeof l.set=="function"?l.set.bind(o):void 0,get:typeof l.get=="function"?l.get.bind(o):void 0})}}),i))}function Xv(e,t){const n={};return Lv(e,n),Kv(e,n),Mv(e,n),Uv(e,n),Bv(e,n),Vv(e,n),zv(e,n),jv(e,n),qv(e,n),Fv(e,n),Object.assign(Object.assign({name:e.name,setup:n.setup,data(){var s;return delete n.data,kv(e,n,this),(s=n.data)!==null&&s!==void 0?s:{}},methods:n.methods,computed:n.computed,watch:n.watch,props:n.props,inject:n.inject,provide(){var s;return $v(e,n,this),(s=n.provide)!==null&&s!==void 0?s:{}}},n.hooks),{extends:t})}function Wv(e,t,n){var r,s;const i=Xv(e,n),o=mn(e.prototype);Object.keys(t).reduce((u,d)=>(["options","modifier","methods","emits","setup","provide"].includes(d)||(u[d]=t[d]),u),i);let a=Array.from(o.obtainMap("emits").keys());if(Array.isArray(t.emits)&&(a=Array.from(new Set([...a,...t.emits]))),i.emits=a,typeof t.methods=="object"&&!Array.isArray(t.methods)&&t.methods!==null&&((r=i.methods)!==null&&r!==void 0||(i.methods={}),Object.assign(i.methods,t.methods)),!i.setup)i.setup=t.setup;else{const u=i.setup,d=(s=t.setup)!==null&&s!==void 0?s:function(){return{}},p=function(y,g){const w=d(y,g),x=u(y,g);return x instanceof Promise||w instanceof Promise?Promise.all([w,x]).then(_=>Object.assign({},_[0],_[1])):Object.assign({},w,x)};i.setup=p}const c=$1(i.provide),f=$1(t.provide);i.provide=function(){return Object.assign({},c.call(this),f.call(this))};const l=o.getMap("customDecorator");return l&&l.size>0&&l.forEach(u=>{u.forEach(d=>d.creator.apply({},[i,d.key]))}),t.options&&Object.assign(i,t.options),t.modifier&&t.modifier(i),fs(i)}function Gv(e,t){const n=mn(e.prototype);n.inComponent=!0;const r=Zg(e.prototype);if(r){if(!r.inComponent)throw"Class should be decorated by Component or ComponentBase: "+n.master;if(r.cachedVueComponent===null)throw"Component decorator 1"}const s=Wv(e,t,r===null?void 0:r.cachedVueComponent);s.__vfdConstructor=e,n.cachedVueComponent=s,e.__vccOpts=s}function Yv(e,t,n){return typeof t=="function"?B1(function(r){return e(r,{})})(t,n):B1(function(r){return e(r,t)})}function Jv(e,t){return Yv(function(n,r){return Gv(n,r),n},e,t)}const Qv=Jv,Dh=class{constructor(e,t){const n=e.props;n&&Object.keys(n).forEach(s=>{this[s]=t[s]});const r=e.methods;r&&Object.keys(r).forEach(s=>{this[s]=r[s].bind(t)})}},Zv=Dh,Pt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Zt=Object.keys,In=Array.isArray;function Hn(e,t){return typeof t!="object"||Zt(t).forEach(function(n){e[n]=t[n]}),e}typeof Promise>"u"||Pt.Promise||(Pt.Promise=Promise);const Sa=Object.getPrototypeOf,eE={}.hasOwnProperty;function or(e,t){return eE.call(e,t)}function fo(e,t){typeof t=="function"&&(t=t(Sa(e))),(typeof Reflect>"u"?Zt:Reflect.ownKeys)(t).forEach(n=>{es(e,n,t[n])})}const ry=Object.defineProperty;function es(e,t,n,r){ry(e,t,Hn(n&&or(n,"get")&&typeof n.get=="function"?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function to(e){return{from:function(t){return e.prototype=Object.create(t.prototype),es(e.prototype,"constructor",e),{extend:fo.bind(null,e.prototype)}}}}const tE=Object.getOwnPropertyDescriptor;function Fh(e,t){let n;return tE(e,t)||(n=Sa(e))&&Fh(n,t)}const nE=[].slice;function _l(e,t,n){return nE.call(e,t,n)}function sy(e,t){return t(e)}function qo(e){if(!e)throw new Error("Assertion Failed")}function iy(e){Pt.setImmediate?setImmediate(e):setTimeout(e,0)}function oy(e,t){return e.reduce((n,r,s)=>{var i=t(r,s);return i&&(n[i[0]]=i[1]),n},{})}function ts(e,t){if(typeof t=="string"&&or(e,t))return e[t];if(!t)return e;if(typeof t!="string"){for(var n=[],r=0,s=t.length;r["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>Pt[e]),sE=ly.map(e=>Pt[e]);oy(ly,e=>[e,!0]);let Ts=null;function Ga(e){Ts=typeof WeakMap<"u"&&new WeakMap;const t=td(e);return Ts=null,t}function td(e){if(!e||typeof e!="object")return e;let t=Ts&&Ts.get(e);if(t)return t;if(In(e)){t=[],Ts&&Ts.set(e,t);for(var n=0,r=e.length;n=0)t=e;else{const i=Sa(e);for(var s in t=i===Object.prototype?{}:Object.create(i),Ts&&Ts.set(e,t),e)or(e,s)&&(t[s]=td(e[s]))}return t}const{toString:iE}={};function nd(e){return iE.call(e).slice(8,-1)}const rd=typeof Symbol<"u"?Symbol.iterator:"@@iterator",oE=typeof rd=="symbol"?function(e){var t;return e!=null&&(t=e[rd])&&t.apply(e)}:function(){return null},qi={};function Wr(e){var t,n,r,s;if(arguments.length===1){if(In(e))return e.slice();if(this===qi&&typeof e=="string")return[e];if(s=oE(e)){for(n=[];!(r=s.next()).done;)n.push(r.value);return n}if(e==null)return[e];if(typeof(t=e.length)=="number"){for(n=new Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}const jh=typeof Symbol<"u"?e=>e[Symbol.toStringTag]==="AsyncFunction":()=>!1;var Ir=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function fy(e,t){Ir=e,uy=t}var uy=()=>!0;const aE=!new Error("").stack;function ki(){if(aE)try{throw ki.arguments,new Error}catch(e){return e}return new Error}function sd(e,t){var n=e.stack;return n?(t=t||0,n.indexOf(e.name)===0&&(t+=(e.name+e.message).split(` +`).length),n.split(` +`).slice(t).filter(uy).map(r=>` +`+r).join("")):""}var dy=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],Uh=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(dy),cE={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function no(e,t){this._e=ki(),this.name=e,this.message=t}function hy(e,t){return e+". Errors: "+Object.keys(t).map(n=>t[n].toString()).filter((n,r,s)=>s.indexOf(n)===r).join(` +`)}function bl(e,t,n,r){this._e=ki(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=hy(e,t)}function ra(e,t){this._e=ki(),this.name="BulkError",this.failures=Object.keys(t).map(n=>t[n]),this.failuresByPos=t,this.message=hy(e,t)}to(no).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+sd(this._e,2))}},toString:function(){return this.name+": "+this.message}}),to(bl).from(no),to(ra).from(no);var Bh=Uh.reduce((e,t)=>(e[t]=t+"Error",e),{});const lE=no;var He=Uh.reduce((e,t)=>{var n=t+"Error";function r(s,i){this._e=ki(),this.name=n,s?typeof s=="string"?(this.message=`${s}${i?` + `+i:""}`,this.inner=i||null):typeof s=="object"&&(this.message=`${s.name} ${s.message}`,this.inner=s):(this.message=cE[t]||n,this.inner=null)}return to(r).from(lE),e[t]=r,e},{});He.Syntax=SyntaxError,He.Type=TypeError,He.Range=RangeError;var H1=dy.reduce((e,t)=>(e[t+"Error"]=He[t],e),{}),jc=Uh.reduce((e,t)=>(["Syntax","Type","Range"].indexOf(t)===-1&&(e[t+"Error"]=He[t]),e),{});function At(){}function Ta(e){return e}function fE(e,t){return e==null||e===Ta?t:function(n){return t(e(n))}}function Si(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function uE(e,t){return e===At?t:function(){var n=e.apply(this,arguments);n!==void 0&&(arguments[0]=n);var r=this.onsuccess,s=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?Si(r,this.onsuccess):r),s&&(this.onerror=this.onerror?Si(s,this.onerror):s),i!==void 0?i:n}}function dE(e,t){return e===At?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?Si(n,this.onsuccess):n),r&&(this.onerror=this.onerror?Si(r,this.onerror):r)}}function hE(e,t){return e===At?t:function(n){var r=e.apply(this,arguments);Hn(n,r);var s=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return s&&(this.onsuccess=this.onsuccess?Si(s,this.onsuccess):s),i&&(this.onerror=this.onerror?Si(i,this.onerror):i),r===void 0?o===void 0?void 0:o:Hn(r,o)}}function pE(e,t){return e===At?t:function(){return t.apply(this,arguments)!==!1&&e.apply(this,arguments)}}function Vh(e,t){return e===At?t:function(){var n=e.apply(this,arguments);if(n&&typeof n.then=="function"){for(var r=this,s=arguments.length,i=new Array(s);s--;)i[s]=arguments[s];return n.then(function(){return t.apply(r,i)})}return t.apply(this,arguments)}}jc.ModifyError=bl,jc.DexieError=no,jc.BulkError=ra;var Aa={};const py=100,[id,xl,od]=typeof Promise>"u"?[]:(()=>{let e=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[e,Sa(e),e];const t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,Sa(t),e]})(),my=xl&&xl.then,Uc=id&&id.constructor,$h=!!od;var ad=!1,mE=od?()=>{od.then(xc)}:Pt.setImmediate?setImmediate.bind(null,xc):Pt.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{xc(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(xc,0)},sa=function(e,t){Xo.push([e,t]),vl&&(mE(),vl=!1)},cd=!0,vl=!0,yi=[],Bc=[],ld=null,fd=Ta,ro={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:q1,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{q1(e[0],e[1])}catch{}})}},Le=ro,Xo=[],_i=0,Vc=[];function Se(e){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=At,this._lib=!1;var t=this._PSD=Le;if(Ir&&(this._stackHolder=ki(),this._prev=null,this._numPrev=0),typeof e!="function"){if(e!==Aa)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&dd(this,this._value))}this._state=null,this._value=null,++t.ref,yy(this,e)}const ud={get:function(){var e=Le,t=El;function n(r,s){var i=!e.global&&(e!==Le||t!==El);const o=i&&!as();var a=new Se((c,f)=>{Hh(this,new gy(wl(r,e,i,o),wl(s,e,i,o),c,f,e))});return Ir&&xy(a,this),a}return n.prototype=Aa,n},set:function(e){es(this,"then",e&&e.prototype===Aa?ud:{get:function(){return e},set:ud.set})}};function gy(e,t,n,r,s){this.onFulfilled=typeof e=="function"?e:null,this.onRejected=typeof t=="function"?t:null,this.resolve=n,this.reject=r,this.psd=s}function yy(e,t){try{t(n=>{if(e._state===null){if(n===e)throw new TypeError("A promise cannot be resolved with itself.");var r=e._lib&&Ya();n&&typeof n.then=="function"?yy(e,(s,i)=>{n instanceof Se?n._then(s,i):n.then(s,i)}):(e._state=!0,e._value=n,_y(e)),r&&Ja()}},dd.bind(null,e))}catch(n){dd(e,n)}}function dd(e,t){if(Bc.push(t),e._state===null){var n=e._lib&&Ya();t=fd(t),e._state=!1,e._value=t,Ir&&t!==null&&typeof t=="object"&&!t._promise&&function(r,s,i){try{r.apply(null,i)}catch{}}(()=>{var r=Fh(t,"stack");t._promise=e,es(t,"stack",{get:()=>ad?r&&(r.get?r.get.apply(t):r.value):e.stack})}),function(r){yi.some(s=>s._value===r._value)||yi.push(r)}(e),_y(e),n&&Ja()}}function _y(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n{--_i==0&&zh()},[]))}function Hh(e,t){if(e._state!==null){var n=e._state?t.onFulfilled:t.onRejected;if(n===null)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++_i,sa(gE,[n,e,t])}else e._listeners.push(t)}function gE(e,t,n){try{ld=t;var r,s=t._value;t._state?r=e(s):(Bc.length&&(Bc=[]),r=e(s),Bc.indexOf(s)===-1&&function(i){for(var o=yi.length;o;)if(yi[--o]._value===i._value)return void yi.splice(o,1)}(t)),n.resolve(r)}catch(i){n.reject(i)}finally{ld=null,--_i==0&&zh(),--n.psd.ref||n.psd.finalize()}}function by(e,t,n){if(t.length===n)return t;var r="";if(e._state===!1){var s,i,o=e._value;o!=null?(s=o.name||"Error",i=o.message||o,r=sd(o,0)):(s=o,i=""),t.push(s+(i?": "+i:"")+r)}return Ir&&((r=sd(e._stackHolder,2))&&t.indexOf(r)===-1&&t.push(r),e._prev&&by(e._prev,t,n)),t}function xy(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function xc(){Ya()&&Ja()}function Ya(){var e=cd;return cd=!1,vl=!1,e}function Ja(){var e,t,n;do for(;Xo.length>0;)for(e=Xo,Xo=[],n=e.length,t=0;t0);cd=!0,vl=!0}function zh(){var e=yi;yi=[],e.forEach(r=>{r._PSD.onunhandled.call(null,r._value,r)});for(var t=Vc.slice(0),n=t.length;n;)t[--n]()}function vc(e){return new Se(Aa,!1,e)}function Dt(e,t){var n=Le;return function(){var r=Ya(),s=Le;try{return Us(n,!0),e.apply(this,arguments)}catch(i){t&&t(i)}finally{Us(s,!1),r&&Ja()}}}fo(Se.prototype,{then:ud,_then:function(e,t){Hh(this,new gy(null,null,e,t,Le))},catch:function(e){if(arguments.length===1)return this.then(null,e);var t=arguments[0],n=arguments[1];return typeof t=="function"?this.then(null,r=>r instanceof t?n(r):vc(r)):this.then(null,r=>r&&r.name===t?n(r):vc(r))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),vc(t)))},stack:{get:function(){if(this._stack)return this._stack;try{ad=!0;var e=by(this,[],20).join(` +From previous: `);return this._state!==null&&(this._stack=e),e}finally{ad=!1}}},timeout:function(e,t){return e<1/0?new Se((n,r)=>{var s=setTimeout(()=>r(new He.Timeout(t)),e);this.then(n,r).finally(clearTimeout.bind(null,s))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&es(Se.prototype,Symbol.toStringTag,"Dexie.Promise"),ro.env=vy(),fo(Se,{all:function(){var e=Wr.apply(null,arguments).map(Ec);return new Se(function(t,n){e.length===0&&t([]);var r=e.length;e.forEach((s,i)=>Se.resolve(s).then(o=>{e[i]=o,--r||t(e)},n))})},resolve:e=>{if(e instanceof Se)return e;if(e&&typeof e.then=="function")return new Se((n,r)=>{e.then(n,r)});var t=new Se(Aa,!0,e);return xy(t,ld),t},reject:vc,race:function(){var e=Wr.apply(null,arguments).map(Ec);return new Se((t,n)=>{e.map(r=>Se.resolve(r).then(t,n))})},PSD:{get:()=>Le,set:e=>Le=e},totalEchoes:{get:()=>El},newPSD:js,usePSD:Oo,scheduler:{get:()=>sa,set:e=>{sa=e}},rejectionMapper:{get:()=>fd,set:e=>{fd=e}},follow:(e,t)=>new Se((n,r)=>js((s,i)=>{var o=Le;o.unhandleds=[],o.onunhandled=i,o.finalize=Si(function(){(function(a){function c(){a(),Vc.splice(Vc.indexOf(c),1)}Vc.push(c),++_i,sa(()=>{--_i==0&&zh()},[])})(()=>{this.unhandleds.length===0?s():i(this.unhandleds[0])})},o.finalize),e()},t,n,r))}),Uc&&(Uc.allSettled&&es(Se,"allSettled",function(){const e=Wr.apply(null,arguments).map(Ec);return new Se(t=>{e.length===0&&t([]);let n=e.length;const r=new Array(n);e.forEach((s,i)=>Se.resolve(s).then(o=>r[i]={status:"fulfilled",value:o},o=>r[i]={status:"rejected",reason:o}).then(()=>--n||t(r)))})}),Uc.any&&typeof AggregateError<"u"&&es(Se,"any",function(){const e=Wr.apply(null,arguments).map(Ec);return new Se((t,n)=>{e.length===0&&n(new AggregateError([]));let r=e.length;const s=new Array(r);e.forEach((i,o)=>Se.resolve(i).then(a=>t(a),a=>{s[o]=a,--r||n(new AggregateError(s))}))})}));const Nn={awaits:0,echoes:0,id:0};var yE=0,$c=[],ou=0,El=0,_E=0;function js(e,t,n,r){var s=Le,i=Object.create(s);i.parent=s,i.ref=0,i.global=!1,i.id=++_E;var o=ro.env;i.env=$h?{Promise:Se,PromiseProp:{value:Se,configurable:!0,writable:!0},all:Se.all,race:Se.race,allSettled:Se.allSettled,any:Se.any,resolve:Se.resolve,reject:Se.reject,nthen:z1(o.nthen,i),gthen:z1(o.gthen,i)}:{},t&&Hn(i,t),++s.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=Oo(i,e,n,r);return i.ref===0&&i.finalize(),a}function Co(){return Nn.id||(Nn.id=++yE),++Nn.awaits,Nn.echoes+=py,Nn.id}function as(){return!!Nn.awaits&&(--Nn.awaits==0&&(Nn.id=0),Nn.echoes=Nn.awaits*py,!0)}function Ec(e){return Nn.echoes&&e&&e.constructor===Uc?(Co(),e.then(t=>(as(),t),t=>(as(),an(t)))):e}function bE(e){++El,Nn.echoes&&--Nn.echoes!=0||(Nn.echoes=Nn.id=0),$c.push(Le),Us(e,!0)}function xE(){var e=$c[$c.length-1];$c.pop(),Us(e,!1)}function Us(e,t){var n=Le;if((t?!Nn.echoes||ou++&&e===Le:!ou||--ou&&e===Le)||Ey(t?bE.bind(null,e):xE),e!==Le&&(Le=e,n===ro&&(ro.env=vy()),$h)){var r=ro.env.Promise,s=e.env;xl.then=s.nthen,r.prototype.then=s.gthen,(n.global||e.global)&&(Object.defineProperty(Pt,"Promise",s.PromiseProp),r.all=s.all,r.race=s.race,r.resolve=s.resolve,r.reject=s.reject,s.allSettled&&(r.allSettled=s.allSettled),s.any&&(r.any=s.any))}}function vy(){var e=Pt.Promise;return $h?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(Pt,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:xl.then,gthen:e.prototype.then}:{}}function Oo(e,t,n,r,s){var i=Le;try{return Us(e,!0),t(n,r,s)}finally{Us(i,!1)}}function Ey(e){my.call(id,e)}function wl(e,t,n,r){return typeof e!="function"?e:function(){var s=Le;n&&Co(),Us(t,!0);try{return e.apply(this,arguments)}finally{Us(s,!1),r&&Ey(as)}}}function z1(e,t){return function(n,r){return e.call(this,wl(n,t),wl(r,t))}}(""+my).indexOf("[native code]")===-1&&(Co=as=At);const K1="unhandledrejection";function q1(e,t){var n;try{n=t.onuncatched(e)}catch{}if(n!==!1)try{var r,s={promise:t,reason:e};if(Pt.document&&document.createEvent?((r=document.createEvent("Event")).initEvent(K1,!0,!0),Hn(r,s)):Pt.CustomEvent&&Hn(r=new CustomEvent(K1,{detail:s}),s),r&&Pt.dispatchEvent&&(dispatchEvent(r),!Pt.PromiseRejectionEvent&&Pt.onunhandledrejection))try{Pt.onunhandledrejection(r)}catch{}Ir&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch{}}var an=Se.reject;function hd(e,t,n,r){if(e.idbdb&&(e._state.openComplete||Le.letThrough||e._vip)){var s=e._createTransaction(t,n,e._dbSchema);try{s.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Bh.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),e._close(),e.open().then(()=>hd(e,t,n,r))):an(i)}return s._promise(t,(i,o)=>js(()=>(Le.trans=s,r(i,o,s)))).then(i=>s._completion.then(()=>i))}if(e._state.openComplete)return an(new He.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return an(new He.DatabaseClosed);e.open().catch(At)}return e._state.dbReadyPromise.then(()=>hd(e,t,n,r))}const X1="3.2.7",si="￿",pd=-1/0,jr="Invalid key provided. Keys must be of type string, number, Date or Array.",wy="String expected.",ia=[],lf=typeof navigator<"u"&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),vE=lf,EE=lf,Sy=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),ff="__dbnames",au="readonly",cu="readwrite";function Ti(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}const Ty={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function wc(e){return typeof e!="string"||/\./.test(e)?t=>t:t=>(t[e]===void 0&&e in t&&delete(t=Ga(t))[e],t)}class wE{_trans(t,n,r){const s=this._tx||Le.trans,i=this.name;function o(c,f,l){if(!l.schema[i])throw new He.NotFound("Table "+i+" not part of transaction");return n(l.idbtrans,l)}const a=Ya();try{return s&&s.db===this.db?s===Le.trans?s._promise(t,o,r):js(()=>s._promise(t,o,r),{trans:s,transless:Le.transless||Le}):hd(this.db,t,[this.name],o)}finally{a&&Ja()}}get(t,n){return t&&t.constructor===Object?this.where(t).first(n):this._trans("readonly",r=>this.core.get({trans:r,key:t}).then(s=>this.hook.reading.fire(s))).then(n)}where(t){if(typeof t=="string")return new this.db.WhereClause(this,t);if(In(t))return new this.db.WhereClause(this,`[${t.join("+")}]`);const n=Zt(t);if(n.length===1)return this.where(n[0]).equals(t[n[0]]);const r=this.schema.indexes.concat(this.schema.primKey).filter(f=>{if(f.compound&&n.every(l=>f.keyPath.indexOf(l)>=0)){for(let l=0;lf.keyPath.length-l.keyPath.length)[0];if(r&&this.db._maxKey!==si){const f=r.keyPath.slice(0,n.length);return this.where(f).equals(f.map(l=>t[l]))}!r&&Ir&&console.warn(`The query ${JSON.stringify(t)} on ${this.name} would benefit of a compound index [${n.join("+")}]`);const{idxByName:s}=this.schema,i=this.db._deps.indexedDB;function o(f,l){try{return i.cmp(f,l)===0}catch{return!1}}const[a,c]=n.reduce(([f,l],u)=>{const d=s[u],p=t[u];return[f||d,f||!d?Ti(l,d&&d.multi?y=>{const g=ts(y,u);return In(g)&&g.some(w=>o(p,w))}:y=>o(p,ts(y,u))):l]},[null,null]);return a?this.where(a.name).equals(t[a.keyPath]).filter(c):r?this.filter(c):this.where(n).equals("")}filter(t){return this.toCollection().and(t)}count(t){return this.toCollection().count(t)}offset(t){return this.toCollection().offset(t)}limit(t){return this.toCollection().limit(t)}each(t){return this.toCollection().each(t)}toArray(t){return this.toCollection().toArray(t)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(t){return new this.db.Collection(new this.db.WhereClause(this,In(t)?`[${t.join("+")}]`:t))}reverse(){return this.toCollection().reverse()}mapToClass(t){this.schema.mappedClass=t;const n=r=>{if(!r)return r;const s=Object.create(t.prototype);for(var i in r)if(or(r,i))try{s[i]=r[i]}catch{}return s};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=n,this.hook("reading",n),t}defineClass(){return this.mapToClass(function(t){Hn(this,t)})}add(t,n){const{auto:r,keyPath:s}=this.schema.primKey;let i=t;return s&&r&&(i=wc(s)(t)),this._trans("readwrite",o=>this.core.mutate({trans:o,type:"add",keys:n!=null?[n]:null,values:[i]})).then(o=>o.numFailures?Se.reject(o.failures[0]):o.lastResult).then(o=>{if(s)try{xr(t,s,o)}catch{}return o})}update(t,n){if(typeof t!="object"||In(t))return this.where(":id").equals(t).modify(n);{const r=ts(t,this.schema.primKey.keyPath);if(r===void 0)return an(new He.InvalidArgument("Given object does not contain its primary key"));try{typeof n!="function"?Zt(n).forEach(s=>{xr(t,s,n[s])}):n(t,{value:t,primKey:r})}catch{}return this.where(":id").equals(r).modify(n)}}put(t,n){const{auto:r,keyPath:s}=this.schema.primKey;let i=t;return s&&r&&(i=wc(s)(t)),this._trans("readwrite",o=>this.core.mutate({trans:o,type:"put",values:[i],keys:n!=null?[n]:null})).then(o=>o.numFailures?Se.reject(o.failures[0]):o.lastResult).then(o=>{if(s)try{xr(t,s,o)}catch{}return o})}delete(t){return this._trans("readwrite",n=>this.core.mutate({trans:n,type:"delete",keys:[t]})).then(n=>n.numFailures?Se.reject(n.failures[0]):void 0)}clear(){return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"deleteRange",range:Ty})).then(t=>t.numFailures?Se.reject(t.failures[0]):void 0)}bulkGet(t){return this._trans("readonly",n=>this.core.getMany({keys:t,trans:n}).then(r=>r.map(s=>this.hook.reading.fire(s))))}bulkAdd(t,n,r){const s=Array.isArray(n)?n:void 0,i=(r=r||(s?void 0:n))?r.allKeys:void 0;return this._trans("readwrite",o=>{const{auto:a,keyPath:c}=this.schema.primKey;if(c&&s)throw new He.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(s&&s.length!==t.length)throw new He.InvalidArgument("Arguments objects and keys must have the same length");const f=t.length;let l=c&&a?t.map(wc(c)):t;return this.core.mutate({trans:o,type:"add",keys:s,values:l,wantResults:i}).then(({numFailures:u,results:d,lastResult:p,failures:y})=>{if(u===0)return i?d:p;throw new ra(`${this.name}.bulkAdd(): ${u} of ${f} operations failed`,y)})})}bulkPut(t,n,r){const s=Array.isArray(n)?n:void 0,i=(r=r||(s?void 0:n))?r.allKeys:void 0;return this._trans("readwrite",o=>{const{auto:a,keyPath:c}=this.schema.primKey;if(c&&s)throw new He.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(s&&s.length!==t.length)throw new He.InvalidArgument("Arguments objects and keys must have the same length");const f=t.length;let l=c&&a?t.map(wc(c)):t;return this.core.mutate({trans:o,type:"put",keys:s,values:l,wantResults:i}).then(({numFailures:u,results:d,lastResult:p,failures:y})=>{if(u===0)return i?d:p;throw new ra(`${this.name}.bulkPut(): ${u} of ${f} operations failed`,y)})})}bulkDelete(t){const n=t.length;return this._trans("readwrite",r=>this.core.mutate({trans:r,type:"delete",keys:t})).then(({numFailures:r,lastResult:s,failures:i})=>{if(r===0)return s;throw new ra(`${this.name}.bulkDelete(): ${r} of ${n} operations failed`,i)})}}function oa(e){var t={},n=function(o,a){if(a){for(var c=arguments.length,f=new Array(c-1);--c;)f[c-1]=arguments[c];return t[o].subscribe.apply(null,f),e}if(typeof o=="string")return t[o]};n.addEventType=i;for(var r=1,s=arguments.length;rTi(r(),t()):t,e.justLimit=n&&!r}function Hc(e,t){if(e.isPrimKey)return t.primaryKey;const n=t.getIndexByKeyPath(e.index);if(!n)throw new He.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return n}function W1(e,t,n){const r=Hc(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir==="prev",unique:!!e.unique,query:{index:r,range:e.range}})}function Sc(e,t,n,r){const s=e.replayFilter?Ti(e.filter,e.replayFilter()):e.filter;if(e.or){const i={},o=(a,c,f)=>{if(!s||s(c,f,d=>c.stop(d),d=>c.fail(d))){var l=c.primaryKey,u=""+l;u==="[object ArrayBuffer]"&&(u=""+new Uint8Array(l)),or(i,u)||(i[u]=!0,t(a,c,f))}};return Promise.all([e.or._iterate(o,n),G1(W1(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return G1(W1(e,r,n),Ti(e.algorithm,s),t,!e.keysOnly&&e.valueMapper)}function G1(e,t,n,r){var s=Dt(r?(i,o,a)=>n(r(i),o,a):n);return e.then(i=>{if(i)return i.start(()=>{var o=()=>i.continue();t&&!t(i,a=>o=a,a=>{i.stop(a),o=At},a=>{i.fail(a),o=At})||s(i.value,i,a=>o=a),o()})})}function Bn(e,t){try{const n=Y1(e),r=Y1(t);if(n!==r)return n==="Array"?1:r==="Array"?-1:n==="binary"?1:r==="binary"?-1:n==="string"?1:r==="string"?-1:n==="Date"?1:r!=="Date"?NaN:-1;switch(n){case"number":case"Date":case"string":return e>t?1:eSc(n,t,r,n.table.core))}count(t){return this._read(n=>{const r=this._ctx,s=r.table.core;if(Vi(r,!0))return s.count({trans:n,query:{index:Hc(r,s.schema),range:r.range}}).then(o=>Math.min(o,r.limit));var i=0;return Sc(r,()=>(++i,!1),n,s).then(()=>i)}).then(t)}sortBy(t,n){const r=t.split(".").reverse(),s=r[0],i=r.length-1;function o(f,l){return l?o(f[r[l]],l-1):f[s]}var a=this._ctx.dir==="next"?1:-1;function c(f,l){var u=o(f,i),d=o(l,i);return ud?a:0}return this.toArray(function(f){return f.sort(c)}).then(n)}toArray(t){return this._read(n=>{var r=this._ctx;if(r.dir==="next"&&Vi(r,!0)&&r.limit>0){const{valueMapper:s}=r,i=Hc(r,r.table.core.schema);return r.table.core.query({trans:n,limit:r.limit,values:!0,query:{index:i,range:r.range}}).then(({result:o})=>s?o.map(s):o)}{const s=[];return Sc(r,i=>s.push(i),n,r.table.core).then(()=>s)}},t)}offset(t){var n=this._ctx;return t<=0||(n.offset+=t,Vi(n)?fu(n,()=>{var r=t;return(s,i)=>r===0||(r===1?(--r,!1):(i(()=>{s.advance(r),r=0}),!1))}):fu(n,()=>{var r=t;return()=>--r<0})),this}limit(t){return this._ctx.limit=Math.min(this._ctx.limit,t),fu(this._ctx,()=>{var n=t;return function(r,s,i){return--n<=0&&s(i),n>=0}},!0),this}until(t,n){return lu(this._ctx,function(r,s,i){return!t(r.value)||(s(i),n)}),this}first(t){return this.limit(1).toArray(function(n){return n[0]}).then(t)}last(t){return this.reverse().first(t)}filter(t){var n,r;return lu(this._ctx,function(s){return t(s.value)}),n=this._ctx,r=t,n.isMatch=Ti(n.isMatch,r),this}and(t){return this.filter(t)}or(t){return new this.db.WhereClause(this._ctx.table,t,this)}reverse(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(t){var n=this._ctx;return n.keysOnly=!n.isMatch,this.each(function(r,s){t(s.key,s)})}eachUniqueKey(t){return this._ctx.unique="unique",this.eachKey(t)}eachPrimaryKey(t){var n=this._ctx;return n.keysOnly=!n.isMatch,this.each(function(r,s){t(s.primaryKey,s)})}keys(t){var n=this._ctx;n.keysOnly=!n.isMatch;var r=[];return this.each(function(s,i){r.push(i.key)}).then(function(){return r}).then(t)}primaryKeys(t){var n=this._ctx;if(n.dir==="next"&&Vi(n,!0)&&n.limit>0)return this._read(s=>{var i=Hc(n,n.table.core.schema);return n.table.core.query({trans:s,values:!1,limit:n.limit,query:{index:i,range:n.range}})}).then(({result:s})=>s).then(t);n.keysOnly=!n.isMatch;var r=[];return this.each(function(s,i){r.push(i.primaryKey)}).then(function(){return r}).then(t)}uniqueKeys(t){return this._ctx.unique="unique",this.keys(t)}firstKey(t){return this.limit(1).keys(function(n){return n[0]}).then(t)}lastKey(t){return this.reverse().firstKey(t)}distinct(){var t=this._ctx,n=t.index&&t.table.schema.idxByName[t.index];if(!n||!n.multi)return this;var r={};return lu(this._ctx,function(s){var i=s.primaryKey.toString(),o=or(r,i);return r[i]=!0,!o}),this}modify(t){var n=this._ctx;return this._write(r=>{var s;if(typeof t=="function")s=t;else{var i=Zt(t),o=i.length;s=function(g){for(var w=!1,x=0;x{const{failures:x,numFailures:_}=w;d+=g-_;for(let b of Zt(x))u.push(x[b])};return this.clone().primaryKeys().then(g=>{const w=x=>{const _=Math.min(l,g.length-x);return a.getMany({trans:r,keys:g.slice(x,x+_),cache:"immutable"}).then(b=>{const T=[],O=[],N=c?[]:null,L=[];for(let I=0;I<_;++I){const D=b[I],K={value:Ga(D),primKey:g[x+I]};s.call(K,K.value,K)!==!1&&(K.value==null?L.push(g[x+I]):c||Bn(f(D),f(K.value))===0?(O.push(K.value),c&&N.push(g[x+I])):(L.push(g[x+I]),T.push(K.value)))}const j=Vi(n)&&n.limit===1/0&&(typeof t!="function"||t===uu)&&{index:n.index,range:n.range};return Promise.resolve(T.length>0&&a.mutate({trans:r,type:"add",values:T}).then(I=>{for(let D in I.failures)L.splice(parseInt(D),1);y(T.length,I)})).then(()=>(O.length>0||j&&typeof t=="object")&&a.mutate({trans:r,type:"put",keys:N,values:O,criteria:j,changeSpec:typeof t!="function"&&t}).then(I=>y(O.length,I))).then(()=>(L.length>0||j&&t===uu)&&a.mutate({trans:r,type:"delete",keys:L,criteria:j}).then(I=>y(L.length,I))).then(()=>g.length>x+_&&w(x+l))})};return w(0).then(()=>{if(u.length>0)throw new bl("Error modifying one or more objects",u,d,p);return g.length})})})}delete(){var t=this._ctx,n=t.range;return Vi(t)&&(t.isPrimKey&&!EE||n.type===3)?this._write(r=>{const{primaryKey:s}=t.table.core.schema,i=n;return t.table.core.count({trans:r,query:{index:s,range:i}}).then(o=>t.table.core.mutate({trans:r,type:"deleteRange",range:i}).then(({failures:a,lastResult:c,results:f,numFailures:l})=>{if(l)throw new bl("Could not delete some values",Object.keys(a).map(u=>a[u]),o-l);return o-l}))}):this.modify(uu)}}const uu=(e,t)=>t.value=null;function TE(e,t){return et?-1:e===t?0:1}function tr(e,t,n){var r=e instanceof Cy?new e.Collection(e):e;return r._ctx.error=n?new n(t):new TypeError(t),r}function $i(e){return new e.Collection(e,()=>Ay("")).limit(0)}function CE(e,t,n,r,s,i){for(var o=Math.min(e.length,r.length),a=-1,c=0;c=0?e.substr(0,a)+t[a]+n.substr(a+1):null;s(e[c],f)<0&&(a=c)}return otypeof g=="string"))return tr(e,wy);function d(g){s=function(x){return x==="next"?_=>_.toUpperCase():_=>_.toLowerCase()}(g),i=function(x){return x==="next"?_=>_.toLowerCase():_=>_.toUpperCase()}(g),o=g==="next"?TE:AE;var w=n.map(function(x){return{lower:i(x),upper:s(x)}}).sort(function(x,_){return o(x.lower,_.lower)});a=w.map(function(x){return x.upper}),c=w.map(function(x){return x.lower}),f=g,l=g==="next"?"":r}d("next");var p=new e.Collection(e,()=>xs(a[0],c[u-1]+r));p._ondirectionchange=function(g){d(g)};var y=0;return p._addAlgorithm(function(g,w,x){var _=g.key;if(typeof _!="string")return!1;var b=i(_);if(t(b,c,y))return!0;for(var T=null,O=y;O0)&&(T=N)}return w(T!==null?function(){g.continue(T+l)}:x),!1}),p}function xs(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Ay(e){return{type:1,lower:e,upper:e}}class Cy{get Collection(){return this._ctx.table.db.Collection}between(t,n,r,s){r=r!==!1,s=s===!0;try{return this._cmp(t,n)>0||this._cmp(t,n)===0&&(r||s)&&(!r||!s)?$i(this):new this.Collection(this,()=>xs(t,n,!r,!s))}catch{return tr(this,jr)}}equals(t){return t==null?tr(this,jr):new this.Collection(this,()=>Ay(t))}above(t){return t==null?tr(this,jr):new this.Collection(this,()=>xs(t,void 0,!0))}aboveOrEqual(t){return t==null?tr(this,jr):new this.Collection(this,()=>xs(t,void 0,!1))}below(t){return t==null?tr(this,jr):new this.Collection(this,()=>xs(void 0,t,!1,!0))}belowOrEqual(t){return t==null?tr(this,jr):new this.Collection(this,()=>xs(void 0,t))}startsWith(t){return typeof t!="string"?tr(this,wy):this.between(t,t+si,!0,!0)}startsWithIgnoreCase(t){return t===""?this.startsWith(t):Tc(this,(n,r)=>n.indexOf(r[0])===0,[t],si)}equalsIgnoreCase(t){return Tc(this,(n,r)=>n===r[0],[t],"")}anyOfIgnoreCase(){var t=Wr.apply(qi,arguments);return t.length===0?$i(this):Tc(this,(n,r)=>r.indexOf(n)!==-1,t,"")}startsWithAnyOfIgnoreCase(){var t=Wr.apply(qi,arguments);return t.length===0?$i(this):Tc(this,(n,r)=>r.some(s=>n.indexOf(s)===0),t,si)}anyOf(){const t=Wr.apply(qi,arguments);let n=this._cmp;try{t.sort(n)}catch{return tr(this,jr)}if(t.length===0)return $i(this);const r=new this.Collection(this,()=>xs(t[0],t[t.length-1]));r._ondirectionchange=i=>{n=i==="next"?this._ascending:this._descending,t.sort(n)};let s=0;return r._addAlgorithm((i,o,a)=>{const c=i.key;for(;n(c,t[s])>0;)if(++s,s===t.length)return o(a),!1;return n(c,t[s])===0||(o(()=>{i.continue(t[s])}),!1)}),r}notEqual(t){return this.inAnyRange([[pd,t],[t,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){const t=Wr.apply(qi,arguments);if(t.length===0)return new this.Collection(this);try{t.sort(this._ascending)}catch{return tr(this,jr)}const n=t.reduce((r,s)=>r?r.concat([[r[r.length-1][1],s]]):[[pd,s]],null);return n.push([t[t.length-1],this.db._maxKey]),this.inAnyRange(n,{includeLowers:!1,includeUppers:!1})}inAnyRange(t,n){const r=this._cmp,s=this._ascending,i=this._descending,o=this._min,a=this._max;if(t.length===0)return $i(this);if(!t.every(_=>_[0]!==void 0&&_[1]!==void 0&&s(_[0],_[1])<=0))return tr(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",He.InvalidArgument);const c=!n||n.includeLowers!==!1,f=n&&n.includeUppers===!0;let l,u=s;function d(_,b){return u(_[0],b[0])}try{l=t.reduce(function(_,b){let T=0,O=_.length;for(;T0){N[0]=o(N[0],b[0]),N[1]=a(N[1],b[1]);break}}return T===O&&_.push(b),_},[]),l.sort(d)}catch{return tr(this,jr)}let p=0;const y=f?_=>s(_,l[p][1])>0:_=>s(_,l[p][1])>=0,g=c?_=>i(_,l[p][0])>0:_=>i(_,l[p][0])>=0;let w=y;const x=new this.Collection(this,()=>xs(l[0][0],l[l.length-1][1],!c,!f));return x._ondirectionchange=_=>{_==="next"?(w=y,u=s):(w=g,u=i),l.sort(d)},x._addAlgorithm((_,b,T)=>{for(var O=_.key;w(O);)if(++p,p===l.length)return b(T),!1;return!!function(N){return!y(N)&&!g(N)}(O)||(this._cmp(O,l[p][1])===0||this._cmp(O,l[p][0])===0||b(()=>{u===s?_.continue(l[p][0]):_.continue(l[p][1])}),!1)}),x}startsWithAnyOf(){const t=Wr.apply(qi,arguments);return t.every(n=>typeof n=="string")?t.length===0?$i(this):this.inAnyRange(t.map(n=>[n,n+si])):tr(this,"startsWithAnyOf() only works with strings")}}function Or(e){return Dt(function(t){return Ca(t),e(t.target.error),!1})}function Ca(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}const Oa="storagemutated",Os="x-storagemutated-1",Bs=oa(null,Oa);class OE{_lock(){return qo(!Le.global),++this._reculock,this._reculock!==1||Le.global||(Le.lockOwnerFor=this),this}_unlock(){if(qo(!Le.global),--this._reculock==0)for(Le.global||(Le.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var t=this._blockedFuncs.shift();try{Oo(t[1],t[0])}catch{}}return this}_locked(){return this._reculock&&Le.lockOwnerFor!==this}create(t){if(!this.mode)return this;const n=this.db.idbdb,r=this.db._state.dbOpenError;if(qo(!this.idbtrans),!t&&!n)switch(r&&r.name){case"DatabaseClosedError":throw new He.DatabaseClosed(r);case"MissingAPIError":throw new He.MissingAPI(r.message,r);default:throw new He.OpenFailed(r)}if(!this.active)throw new He.TransactionInactive;return qo(this._completion._state===null),(t=this.idbtrans=t||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):n.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=Dt(s=>{Ca(s),this._reject(t.error)}),t.onabort=Dt(s=>{Ca(s),this.active&&this._reject(new He.Abort(t.error)),this.active=!1,this.on("abort").fire(s)}),t.oncomplete=Dt(()=>{this.active=!1,this._resolve(),"mutatedParts"in t&&Bs.storagemutated.fire(t.mutatedParts)}),this}_promise(t,n,r){if(t==="readwrite"&&this.mode!=="readwrite")return an(new He.ReadOnly("Transaction is readonly"));if(!this.active)return an(new He.TransactionInactive);if(this._locked())return new Se((i,o)=>{this._blockedFuncs.push([()=>{this._promise(t,n,r).then(i,o)},Le])});if(r)return js(()=>{var i=new Se((o,a)=>{this._lock();const c=n(o,a,this);c&&c.then&&c.then(o,a)});return i.finally(()=>this._unlock()),i._lib=!0,i});var s=new Se((i,o)=>{var a=n(i,o,this);a&&a.then&&a.then(i,o)});return s._lib=!0,s}_root(){return this.parent?this.parent._root():this}waitFor(t){var n=this._root();const r=Se.resolve(t);if(n._waitingFor)n._waitingFor=n._waitingFor.then(()=>r);else{n._waitingFor=r,n._waitingQueue=[];var s=n.idbtrans.objectStore(n.storeNames[0]);(function o(){for(++n._spinCount;n._waitingQueue.length;)n._waitingQueue.shift()();n._waitingFor&&(s.get(-1/0).onsuccess=o)})()}var i=n._waitingFor;return new Se((o,a)=>{r.then(c=>n._waitingQueue.push(Dt(o.bind(null,c))),c=>n._waitingQueue.push(Dt(a.bind(null,c)))).finally(()=>{n._waitingFor===i&&(n._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new He.Abort))}table(t){const n=this._memoizedTables||(this._memoizedTables={});if(or(n,t))return n[t];const r=this.schema[t];if(!r)throw new He.NotFound("Table "+t+" not part of transaction");const s=new this.db.Table(t,r,this);return s.core=this.db.core.table(t),n[t]=s,s}}function md(e,t,n,r,s,i,o){return{name:e,keyPath:t,unique:n,multi:r,auto:s,compound:i,src:(n&&!o?"&":"")+(r?"*":"")+(s?"++":"")+Oy(t)}}function Oy(e){return typeof e=="string"?e:e?"["+[].join.call(e,"+")+"]":""}function Ny(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:oy(n,r=>[r.name,r])}}let Na=e=>{try{return e.only([[]]),Na=()=>[[]],[[]]}catch{return Na=()=>si,si}};function gd(e){return e==null?()=>{}:typeof e=="string"?function(t){return t.split(".").length===1?r=>r[t]:r=>ts(r,t)}(e):t=>ts(t,e)}function Q1(e){return[].slice.call(e)}let NE=0;function aa(e){return e==null?":id":typeof e=="string"?e:`[${e.join("+")}]`}function RE(e,t,n){function r(c){if(c.type===3)return null;if(c.type===4)throw new Error("Cannot convert never type to IDBKeyRange");const{lower:f,upper:l,lowerOpen:u,upperOpen:d}=c;return f===void 0?l===void 0?null:t.upperBound(l,!!d):l===void 0?t.lowerBound(f,!!u):t.bound(f,l,!!u,!!d)}const{schema:s,hasGetAll:i}=function(c,f){const l=Q1(c.objectStoreNames);return{schema:{name:c.name,tables:l.map(u=>f.objectStore(u)).map(u=>{const{keyPath:d,autoIncrement:p}=u,y=In(d),g=d==null,w={},x={name:u.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:g,compound:y,keyPath:d,autoIncrement:p,unique:!0,extractKey:gd(d)},indexes:Q1(u.indexNames).map(_=>u.index(_)).map(_=>{const{name:b,unique:T,multiEntry:O,keyPath:N}=_,L={name:b,compound:In(N),keyPath:N,unique:T,multiEntry:O,extractKey:gd(N)};return w[aa(N)]=L,L}),getIndexByKeyPath:_=>w[aa(_)]};return w[":id"]=x.primaryKey,d!=null&&(w[aa(d)]=x.primaryKey),x})},hasGetAll:l.length>0&&"getAll"in f.objectStore(l[0])&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=s.tables.map(c=>function(f){const l=f.name;return{name:l,schema:f,mutate:function({trans:u,type:d,keys:p,values:y,range:g}){return new Promise((w,x)=>{w=Dt(w);const _=u.objectStore(l),b=_.keyPath==null,T=d==="put"||d==="add";if(!T&&d!=="delete"&&d!=="deleteRange")throw new Error("Invalid operation type: "+d);const{length:O}=p||y||{length:1};if(p&&y&&p.length!==y.length)throw new Error("Given keys array must have same length as given values array.");if(O===0)return w({numFailures:0,failures:{},results:[],lastResult:void 0});let N;const L=[],j=[];let I=0;const D=F=>{++I,Ca(F)};if(d==="deleteRange"){if(g.type===4)return w({numFailures:I,failures:j,results:[],lastResult:void 0});g.type===3?L.push(N=_.clear()):L.push(N=_.delete(r(g)))}else{const[F,$]=T?b?[y,p]:[y,null]:[p,null];if(T)for(let ee=0;ee{const $=F.target.result;L.forEach((ee,he)=>ee.error!=null&&(j[he]=ee.error)),w({numFailures:I,failures:j,results:d==="delete"?p:L.map(ee=>ee.result),lastResult:$})};N.onerror=F=>{D(F),K(F)},N.onsuccess=K})},getMany:({trans:u,keys:d})=>new Promise((p,y)=>{p=Dt(p);const g=u.objectStore(l),w=d.length,x=new Array(w);let _,b=0,T=0;const O=L=>{const j=L.target;x[j._pos]=j.result,++T===b&&p(x)},N=Or(y);for(let L=0;Lnew Promise((p,y)=>{p=Dt(p);const g=u.objectStore(l).get(d);g.onsuccess=w=>p(w.target.result),g.onerror=Or(y)}),query:function(u){return d=>new Promise((p,y)=>{p=Dt(p);const{trans:g,values:w,limit:x,query:_}=d,b=x===1/0?void 0:x,{index:T,range:O}=_,N=g.objectStore(l),L=T.isPrimaryKey?N:N.index(T.name),j=r(O);if(x===0)return p({result:[]});if(u){const I=w?L.getAll(j,b):L.getAllKeys(j,b);I.onsuccess=D=>p({result:D.target.result}),I.onerror=Or(y)}else{let I=0;const D=w||!("openKeyCursor"in L)?L.openCursor(j):L.openKeyCursor(j),K=[];D.onsuccess=F=>{const $=D.result;return $?(K.push(w?$.value:$.primaryKey),++I===x?p({result:K}):void $.continue()):p({result:K})},D.onerror=Or(y)}})}(i),openCursor:function({trans:u,values:d,query:p,reverse:y,unique:g}){return new Promise((w,x)=>{w=Dt(w);const{index:_,range:b}=p,T=u.objectStore(l),O=_.isPrimaryKey?T:T.index(_.name),N=y?g?"prevunique":"prev":g?"nextunique":"next",L=d||!("openKeyCursor"in O)?O.openCursor(r(b),N):O.openKeyCursor(r(b),N);L.onerror=Or(x),L.onsuccess=Dt(j=>{const I=L.result;if(!I)return void w(null);I.___id=++NE,I.done=!1;const D=I.continue.bind(I);let K=I.continuePrimaryKey;K&&(K=K.bind(I));const F=I.advance.bind(I),$=()=>{throw new Error("Cursor not stopped")};I.trans=u,I.stop=I.continue=I.continuePrimaryKey=I.advance=()=>{throw new Error("Cursor not started")},I.fail=Dt(x),I.next=function(){let ee=1;return this.start(()=>ee--?this.continue():this.stop()).then(()=>this)},I.start=ee=>{const he=new Promise((me,le)=>{me=Dt(me),L.onerror=Or(le),I.fail=le,I.stop=rt=>{I.stop=I.continue=I.continuePrimaryKey=I.advance=$,me(rt)}}),se=()=>{if(L.result)try{ee()}catch(me){I.fail(me)}else I.done=!0,I.start=()=>{throw new Error("Cursor behind last entry")},I.stop()};return L.onsuccess=Dt(me=>{L.onsuccess=se,se()}),I.continue=D,I.continuePrimaryKey=K,I.advance=F,se(),he},w(I)},x)})},count({query:u,trans:d}){const{index:p,range:y}=u;return new Promise((g,w)=>{const x=d.objectStore(l),_=p.isPrimaryKey?x:x.index(p.name),b=r(y),T=b?_.count(b):_.count();T.onsuccess=Dt(O=>g(O.target.result)),T.onerror=Or(w)})}}}(c)),a={};return o.forEach(c=>a[c.name]=c),{stack:"dbcore",transaction:e.transaction.bind(e),table(c){if(!a[c])throw new Error(`Table '${c}' not found`);return a[c]},MIN_KEY:-1/0,MAX_KEY:Na(t),schema:s}}function yd({_novip:e},t){const n=t.db,r=function(s,i,{IDBKeyRange:o,indexedDB:a},c){return{dbcore:function(l,u){return u.reduce((d,{create:p})=>({...d,...p(d)}),l)}(RE(i,o,c),s.dbcore)}}(e._middlewares,n,e._deps,t);e.core=r.dbcore,e.tables.forEach(s=>{const i=s.name;e.core.schema.tables.some(o=>o.name===i)&&(s.core=e.core.table(i),e[i]instanceof e.Table&&(e[i].core=s.core))})}function Sl({_novip:e},t,n,r){n.forEach(s=>{const i=r[s];t.forEach(o=>{const a=Fh(o,s);(!a||"value"in a&&a.value===void 0)&&(o===e.Transaction.prototype||o instanceof e.Transaction?es(o,s,{get(){return this.table(s)},set(c){ry(this,s,{value:c,writable:!0,configurable:!0,enumerable:!0})}}):o[s]=new e.Table(s,i))})})}function _d({_novip:e},t){t.forEach(n=>{for(let r in n)n[r]instanceof e.Table&&delete n[r]})}function PE(e,t){return e._cfg.version-t._cfg.version}function IE(e,t,n,r){const s=e._dbSchema,i=e._createTransaction("readwrite",e._storeNames,s);i.create(n),i._completion.catch(r);const o=i._reject.bind(i),a=Le.transless||Le;js(()=>{Le.trans=i,Le.transless=a,t===0?(Zt(s).forEach(c=>{du(n,c,s[c].primKey,s[c].indexes)}),yd(e,n),Se.follow(()=>e.on.populate.fire(i)).catch(o)):function({_novip:c},f,l,u){const d=[],p=c._versions;let y=c._dbSchema=xd(c,c.idbdb,u),g=!1;const w=p.filter(_=>_._cfg.version>=f);function x(){return d.length?Se.resolve(d.shift()(l.idbtrans)).then(x):Se.resolve()}return w.forEach(_=>{d.push(()=>{const b=y,T=_._cfg.dbschema;vd(c,b,u),vd(c,T,u),y=c._dbSchema=T;const O=Ry(b,T);O.add.forEach(L=>{du(u,L[0],L[1].primKey,L[1].indexes)}),O.change.forEach(L=>{if(L.recreate)throw new He.Upgrade("Not yet support for changing primary key");{const j=u.objectStore(L.name);L.add.forEach(I=>bd(j,I)),L.change.forEach(I=>{j.deleteIndex(I.name),bd(j,I)}),L.del.forEach(I=>j.deleteIndex(I))}});const N=_._cfg.contentUpgrade;if(N&&_._cfg.version>f){yd(c,u),l._memoizedTables={},g=!0;let L=ay(T);O.del.forEach(K=>{L[K]=b[K]}),_d(c,[c.Transaction.prototype]),Sl(c,[c.Transaction.prototype],Zt(L),L),l.schema=L;const j=jh(N);let I;j&&Co();const D=Se.follow(()=>{if(I=N(l),I&&j){var K=as.bind(null,null);I.then(K,K)}});return I&&typeof I.then=="function"?Se.resolve(I):D.then(()=>I)}}),d.push(b=>{(!g||!vE)&&function(T,O){[].slice.call(O.db.objectStoreNames).forEach(N=>T[N]==null&&O.db.deleteObjectStore(N))}(_._cfg.dbschema,b),_d(c,[c.Transaction.prototype]),Sl(c,[c.Transaction.prototype],c._storeNames,c._dbSchema),l.schema=c._dbSchema})}),x().then(()=>{var _,b;b=u,Zt(_=y).forEach(T=>{b.db.objectStoreNames.contains(T)||du(b,T,_[T].primKey,_[T].indexes)})})}(e,t,i,n).catch(o)})}function Ry(e,t){const n={del:[],add:[],change:[]};let r;for(r in e)t[r]||n.del.push(r);for(r in t){const s=e[r],i=t[r];if(s){const o={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(s.primKey.keyPath||"")!=""+(i.primKey.keyPath||"")||s.primKey.auto!==i.primKey.auto&&!lf)o.recreate=!0,n.change.push(o);else{const a=s.idxByName,c=i.idxByName;let f;for(f in a)c[f]||o.del.push(f);for(f in c){const l=a[f],u=c[f];l?l.src!==u.src&&o.change.push(u):o.add.push(u)}(o.del.length>0||o.add.length>0||o.change.length>0)&&n.change.push(o)}}else n.add.push([r,i])}return n}function du(e,t,n,r){const s=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach(i=>bd(s,i)),s}function bd(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function xd(e,t,n){const r={};return _l(t.objectStoreNames,0).forEach(s=>{const i=n.objectStore(s);let o=i.keyPath;const a=md(Oy(o),o||"",!1,!1,!!i.autoIncrement,o&&typeof o!="string",!0),c=[];for(let l=0;l{if(t[r]!==null){var s=t[r].split(",").map((o,a)=>{const c=(o=o.trim()).replace(/([&*]|\+\+)/g,""),f=/^\[/.test(c)?c.match(/^\[(.*)\]$/)[1].split("+"):c;return md(c,f||null,/\&/.test(o),/\*/.test(o),/\+\+/.test(o),In(f),a===0)}),i=s.shift();if(i.multi)throw new He.Schema("Primary key cannot be multi-valued");s.forEach(o=>{if(o.auto)throw new He.Schema("Only primary key can be marked as autoIncrement (++)");if(!o.keyPath)throw new He.Schema("Index must have a name and cannot be an empty string")}),n[r]=Ny(r,i,s)}})}stores(t){const n=this.db;this._cfg.storesSource=this._cfg.storesSource?Hn(this._cfg.storesSource,t):t;const r=n._versions,s={};let i={};return r.forEach(o=>{Hn(s,o._cfg.storesSource),i=o._cfg.dbschema={},o._parseStoresSpec(s,i)}),n._dbSchema=i,_d(n,[n._allTables,n,n.Transaction.prototype]),Sl(n,[n._allTables,n,n.Transaction.prototype,this._cfg.tables],Zt(i),i),n._storeNames=Zt(i),this}upgrade(t){return this._cfg.contentUpgrade=Vh(this._cfg.contentUpgrade||At,t),this}}function Kh(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new hn(ff,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:"name"})),n.table("dbnames")}function qh(e){return e&&typeof e.databases=="function"}function Ed(e){return js(function(){return Le.letThrough=!0,e()})}function ME(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)}):Promise.resolve()}function kE(e){const t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then(()=>t.dbOpenError?an(t.dbOpenError):e);Ir&&(t.openCanceller._stackHolder=ki()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;const r=t.openCanceller;function s(){if(t.openCanceller!==r)throw new He.DatabaseClosed("db.open() was cancelled")}let i=t.dbReadyResolve,o=null,a=!1;const c=()=>new Se((f,l)=>{if(s(),!n)throw new He.MissingAPI;const u=e.name,d=t.autoSchema?n.open(u):n.open(u,Math.round(10*e.verno));if(!d)throw new He.MissingAPI;d.onerror=Or(l),d.onblocked=Dt(e._fireOnBlocked),d.onupgradeneeded=Dt(p=>{if(o=d.transaction,t.autoSchema&&!e._options.allowEmptyDB){d.onerror=Ca,o.abort(),d.result.close();const g=n.deleteDatabase(u);g.onsuccess=g.onerror=Dt(()=>{l(new He.NoSuchDatabase(`Database ${u} doesnt exist`))})}else{o.onerror=Or(l);var y=p.oldVersion>Math.pow(2,62)?0:p.oldVersion;a=y<1,e._novip.idbdb=d.result,IE(e,y/10,o,l)}},l),d.onsuccess=Dt(()=>{o=null;const p=e._novip.idbdb=d.result,y=_l(p.objectStoreNames);if(y.length>0)try{const w=p.transaction((g=y).length===1?g[0]:g,"readonly");t.autoSchema?function({_novip:x},_,b){x.verno=_.version/10;const T=x._dbSchema=xd(0,_,b);x._storeNames=_l(_.objectStoreNames,0),Sl(x,[x._allTables],Zt(T),T)}(e,p,w):(vd(e,e._dbSchema,w),function(x,_){const b=Ry(xd(0,x.idbdb,_),x._dbSchema);return!(b.add.length||b.change.some(T=>T.add.length||T.change.length))}(e,w)||console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),yd(e,w)}catch{}var g;ia.push(e),p.onversionchange=Dt(w=>{t.vcFired=!0,e.on("versionchange").fire(w)}),p.onclose=Dt(w=>{e.on("close").fire(w)}),a&&function({indexedDB:w,IDBKeyRange:x},_){!qh(w)&&_!==ff&&Kh(w,x).put({name:_}).catch(At)}(e._deps,u),f()},l)}).catch(f=>f&&f.name==="UnknownError"&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),c()):Se.reject(f));return Se.race([r,(typeof navigator>"u"?Se.resolve():ME()).then(c)]).then(()=>(s(),t.onReadyBeingFired=[],Se.resolve(Ed(()=>e.on.ready.fire(e.vip))).then(function f(){if(t.onReadyBeingFired.length>0){let l=t.onReadyBeingFired.reduce(Vh,At);return t.onReadyBeingFired=[],Se.resolve(Ed(()=>l(e.vip))).then(f)}}))).finally(()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1}).then(()=>e).catch(f=>{t.dbOpenError=f;try{o&&o.abort()}catch{}return r===t.openCanceller&&e._close(),an(f)}).finally(()=>{t.openComplete=!0,i()})}function wd(e){var t=i=>e.next(i),n=s(t),r=s(i=>e.throw(i));function s(i){return o=>{var a=i(o),c=a.value;return a.done?c:c&&typeof c.then=="function"?c.then(n,r):In(c)?Promise.all(c).then(n,r):n(c)}}return s(t)()}function DE(e,t,n){var r=arguments.length;if(r<2)throw new He.InvalidArgument("Too few arguments");for(var s=new Array(r-1);--r;)s[r-1]=arguments[r];return n=s.pop(),[e,cy(s),n]}function Py(e,t,n,r,s){return Se.resolve().then(()=>{const i=Le.transless||Le,o=e._createTransaction(t,n,e._dbSchema,r),a={trans:o,transless:i};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(u){return u.name===Bh.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),e._close(),e.open().then(()=>Py(e,t,n,null,s))):an(u)}const c=jh(s);let f;c&&Co();const l=Se.follow(()=>{if(f=s.call(o,o),f)if(c){var u=as.bind(null,null);f.then(u,u)}else typeof f.next=="function"&&typeof f.throw=="function"&&(f=wd(f))},a);return(f&&typeof f.then=="function"?Se.resolve(f).then(u=>o.active?u:an(new He.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):l.then(()=>f)).then(u=>(r&&o._resolve(),o._completion.then(()=>u))).catch(u=>(o._reject(u),an(u)))})}function Ac(e,t,n){const r=In(e)?e.slice():[e];for(let s=0;s0,x={...d,isVirtual:w,keyTail:u,keyLength:g,extractKey:gd(l),unique:!w&&d.unique};return y.push(x),x.isPrimaryKey||i.push(x),g>1&&o(g===2?l[0]:l.slice(0,g-1),u+1,d),y.sort((_,b)=>_.keyTail-b.keyTail),x}const a=o(r.primaryKey.keyPath,0,r.primaryKey);s[":id"]=[a];for(const l of r.indexes)o(l.keyPath,0,l);function c(l){const u=l.query.index;return u.isVirtual?{...l,query:{index:u,range:(d=l.query.range,p=u.keyTail,{type:d.type===1?2:d.type,lower:Ac(d.lower,d.lowerOpen?e.MAX_KEY:e.MIN_KEY,p),lowerOpen:!0,upper:Ac(d.upper,d.upperOpen?e.MIN_KEY:e.MAX_KEY,p),upperOpen:!0})}}:l;var d,p}return{...n,schema:{...r,primaryKey:a,indexes:i,getIndexByKeyPath:function(l){const u=s[aa(l)];return u&&u[0]}},count:l=>n.count(c(l)),query:l=>n.query(c(l)),openCursor(l){const{keyTail:u,isVirtual:d,keyLength:p}=l.query.index;return d?n.openCursor(c(l)).then(y=>y&&function(g){return Object.create(g,{continue:{value:function(x){x!=null?g.continue(Ac(x,l.reverse?e.MAX_KEY:e.MIN_KEY,u)):l.unique?g.continue(g.key.slice(0,p).concat(l.reverse?e.MIN_KEY:e.MAX_KEY,u)):g.continue()}},continuePrimaryKey:{value(x,_){g.continuePrimaryKey(Ac(x,e.MAX_KEY,u),_)}},primaryKey:{get:()=>g.primaryKey},key:{get(){const x=g.key;return p===1?x[0]:x.slice(0,p)}},value:{get:()=>g.value}})}(y)):n.openCursor(l)}}}}}};function Xh(e,t,n,r){return n=n||{},r=r||"",Zt(e).forEach(s=>{if(or(t,s)){var i=e[s],o=t[s];if(typeof i=="object"&&typeof o=="object"&&i&&o){const a=nd(i);a!==nd(o)?n[r+s]=t[s]:a==="Object"?Xh(i,o,n,r+s+"."):i!==o&&(n[r+s]=t[s])}else i!==o&&(n[r+s]=t[s])}else n[r+s]=void 0}),Zt(t).forEach(s=>{or(e,s)||(n[r+s]=t[s])}),n}const jE={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){const n=e.table(t),{primaryKey:r}=n.schema;return{...n,mutate(i){const o=Le.trans,{deleting:a,creating:c,updating:f}=o.table(t).hook;switch(i.type){case"add":if(c.fire===At)break;return o._promise("readwrite",()=>l(i),!0);case"put":if(c.fire===At&&f.fire===At)break;return o._promise("readwrite",()=>l(i),!0);case"delete":if(a.fire===At)break;return o._promise("readwrite",()=>l(i),!0);case"deleteRange":if(a.fire===At)break;return o._promise("readwrite",()=>function(d){return u(d.trans,d.range,1e4)}(i),!0)}return n.mutate(i);function l(d){const p=Le.trans,y=d.keys||function(g,w){return w.type==="delete"?w.keys:w.keys||w.values.map(g.extractKey)}(r,d);if(!y)throw new Error("Keys missing");return(d=d.type==="add"||d.type==="put"?{...d,keys:y}:{...d}).type!=="delete"&&(d.values=[...d.values]),d.keys&&(d.keys=[...d.keys]),function(g,w,x){return w.type==="add"?Promise.resolve([]):g.getMany({trans:w.trans,keys:x,cache:"immutable"})}(n,d,y).then(g=>{const w=y.map((x,_)=>{const b=g[_],T={onerror:null,onsuccess:null};if(d.type==="delete")a.fire.call(T,x,b,p);else if(d.type==="add"||b===void 0){const O=c.fire.call(T,x,d.values[_],p);x==null&&O!=null&&(x=O,d.keys[_]=x,r.outbound||xr(d.values[_],r.keyPath,x))}else{const O=Xh(b,d.values[_]),N=f.fire.call(T,O,x,b,p);if(N){const L=d.values[_];Object.keys(N).forEach(j=>{or(L,j)?L[j]=N[j]:xr(L,j,N[j])})}}return T});return n.mutate(d).then(({failures:x,results:_,numFailures:b,lastResult:T})=>{for(let O=0;O(w.forEach(_=>_.onerror&&_.onerror(x)),Promise.reject(x)))})}function u(d,p,y){return n.query({trans:d,values:!1,query:{index:r,range:p},limit:y}).then(({result:g})=>l({type:"delete",keys:g,trans:d}).then(w=>w.numFailures>0?Promise.reject(w.failures[0]):g.length({table:t=>{const n=e.table(t);return{...n,getMany:r=>{if(!r.cache)return n.getMany(r);const s=Iy(r.keys,r.trans._cache,r.cache==="clone");return s?Se.resolve(s):n.getMany(r).then(i=>(r.trans._cache={keys:r.keys,values:r.cache==="clone"?Ga(i):i},i))},mutate:r=>(r.type!=="add"&&(r.trans._cache=null),n.mutate(r))}}})};function Wh(e){return!("from"in e)}const zr=function(e,t){if(!this){const n=new zr;return e&&"d"in e&&Hn(n,e),n}Hn(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function Ra(e,t,n){const r=Bn(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(Wh(e))return Hn(e,{from:t,to:n,d:1});const s=e.l,i=e.r;if(Bn(n,e.from)<0)return s?Ra(s,t,n):e.l={from:t,to:n,d:1,l:null,r:null},Z1(e);if(Bn(t,e.to)>0)return i?Ra(i,t,n):e.r={from:t,to:n,d:1,l:null,r:null},Z1(e);Bn(t,e.from)<0&&(e.from=t,e.l=null,e.d=i?i.d+1:1),Bn(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);const o=!e.r;s&&!e.l&&Tl(e,s),i&&o&&Tl(e,i)}function Tl(e,t){Wh(t)||function n(r,{from:s,to:i,l:o,r:a}){Ra(r,s,i),o&&n(r,o),a&&n(r,a)}(e,t)}function BE(e,t){const n=Sd(t);let r=n.next();if(r.done)return!1;let s=r.value;const i=Sd(e);let o=i.next(s.from),a=o.value;for(;!r.done&&!o.done;){if(Bn(a.from,s.to)<=0&&Bn(a.to,s.from)>=0)return!0;Bn(s.from,a.from)<0?s=(r=n.next(a.from)).value:a=(o=i.next(s.from)).value}return!1}function Sd(e){let t=Wh(e)?null:{s:0,n:e};return{next(n){const r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&Bn(n,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!r||Bn(n,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function Z1(e){var t,n;const r=(((t=e.r)===null||t===void 0?void 0:t.d)||0)-(((n=e.l)===null||n===void 0?void 0:n.d)||0),s=r>1?"r":r<-1?"l":"";if(s){const i=s==="r"?"l":"r",o={...e},a=e[s];e.from=a.from,e.to=a.to,e[s]=a[s],o[s]=a[i],e[i]=o,o.d=e0(o)}e.d=e0(e)}function e0({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}fo(zr.prototype,{add(e){return Tl(this,e),this},addKey(e){return Ra(this,e,e),this},addKeys(e){return e.forEach(t=>Ra(this,t,t)),this},[rd](){return Sd(this)}});const VE={stack:"dbcore",level:0,create:e=>{const t=e.schema.name,n=new zr(e.MIN_KEY,e.MAX_KEY);return{...e,table:r=>{const s=e.table(r),{schema:i}=s,{primaryKey:o}=i,{extractKey:a,outbound:c}=o,f={...s,mutate:d=>{const p=d.trans,y=p.mutatedParts||(p.mutatedParts={}),g=N=>{const L=`idb://${t}/${r}/${N}`;return y[L]||(y[L]=new zr)},w=g(""),x=g(":dels"),{type:_}=d;let[b,T]=d.type==="deleteRange"?[d.range]:d.type==="delete"?[d.keys]:d.values.length<50?[[],d.values]:[];const O=d.trans._cache;return s.mutate(d).then(N=>{if(In(b)){_!=="delete"&&(b=N.results),w.addKeys(b);const L=Iy(b,O);L||_==="add"||x.addKeys(b),(L||T)&&function(j,I,D,K){function F($){const ee=j($.name||"");function he(me){return me!=null?$.extractKey(me):null}const se=me=>$.multiEntry&&In(me)?me.forEach(le=>ee.addKey(le)):ee.addKey(me);(D||K).forEach((me,le)=>{const rt=D&&he(D[le]),Me=K&&he(K[le]);Bn(rt,Me)!==0&&(rt!=null&&se(rt),Me!=null&&se(Me))})}I.indexes.forEach(F)}(g,i,L,T)}else if(b){const L={from:b.lower,to:b.upper};x.add(L),w.add(L)}else w.add(n),x.add(n),i.indexes.forEach(L=>g(L.name).add(n));return N})}},l=({query:{index:d,range:p}})=>{var y,g;return[d,new zr((y=p.lower)!==null&&y!==void 0?y:e.MIN_KEY,(g=p.upper)!==null&&g!==void 0?g:e.MAX_KEY)]},u={get:d=>[o,new zr(d.key)],getMany:d=>[o,new zr().addKeys(d.keys)],count:l,query:l,openCursor:l};return Zt(u).forEach(d=>{f[d]=function(p){const{subscr:y}=Le;if(y){const g=T=>{const O=`idb://${t}/${r}/${T}`;return y[O]||(y[O]=new zr)},w=g(""),x=g(":dels"),[_,b]=u[d](p);if(g(_.name||"").add(b),!_.isPrimaryKey){if(d!=="count"){const T=d==="query"&&c&&p.values&&s.query({...p,values:!1});return s[d].apply(this,arguments).then(O=>{if(d==="query"){if(c&&p.values)return T.then(({result:L})=>(w.addKeys(L),O));const N=p.values?O.result.map(a):O.result;p.values?w.addKeys(N):x.addKeys(N)}else if(d==="openCursor"){const N=O,L=p.values;return N&&Object.create(N,{key:{get:()=>(x.addKey(N.primaryKey),N.key)},primaryKey:{get(){const j=N.primaryKey;return x.addKey(j),j}},value:{get:()=>(L&&w.addKey(N.primaryKey),N.value)}})}return O})}x.add(n)}}return s[d].apply(this,arguments)}}),f}}}};class hn{constructor(t,n){this._middlewares={},this.verno=0;const r=hn.dependencies;this._options=n={addons:hn.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange,...n},this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};const{addons:s}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:At,dbReadyPromise:null,cancelOpen:At,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var o;i.dbReadyPromise=new Se(a=>{i.dbReadyResolve=a}),i.openCanceller=new Se((a,c)=>{i.cancelOpen=c}),this._state=i,this.name=t,this.on=oa(this,"populate","blocked","versionchange","close",{ready:[Vh,At]}),this.on.ready.subscribe=sy(this.on.ready.subscribe,a=>(c,f)=>{hn.vip(()=>{const l=this._state;if(l.openComplete)l.dbOpenError||Se.resolve().then(c),f&&a(c);else if(l.onReadyBeingFired)l.onReadyBeingFired.push(c),f&&a(c);else{a(c);const u=this;f||a(function d(){u.on.ready.unsubscribe(c),u.on.ready.unsubscribe(d)})}})}),this.Collection=(o=this,Uo(SE.prototype,function(a,c){this.db=o;let f=Ty,l=null;if(c)try{f=c()}catch(y){l=y}const u=a._ctx,d=u.table,p=d.hook.reading.fire;this._ctx={table:d,index:u.index,isPrimKey:!u.index||d.schema.primKey.keyPath&&u.index===d.schema.primKey.name,range:f,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:l,or:u.or,valueMapper:p!==Ta?p:null}})),this.Table=function(a){return Uo(wE.prototype,function(c,f,l){this.db=a,this._tx=l,this.name=c,this.schema=f,this.hook=a._allTables[c]?a._allTables[c].hook:oa(null,{creating:[uE,At],reading:[fE,Ta],updating:[hE,At],deleting:[dE,At]})})}(this),this.Transaction=function(a){return Uo(OE.prototype,function(c,f,l,u,d){this.db=a,this.mode=c,this.storeNames=f,this.schema=l,this.chromeTransactionDurability=u,this.idbtrans=null,this.on=oa(this,"complete","error","abort"),this.parent=d||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new Se((p,y)=>{this._resolve=p,this._reject=y}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},p=>{var y=this.active;return this.active=!1,this.on.error.fire(p),this.parent?this.parent._reject(p):y&&this.idbtrans&&this.idbtrans.abort(),an(p)})})}(this),this.Version=function(a){return Uo(LE.prototype,function(c){this.db=a,this._cfg={version:c,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(a){return Uo(Cy.prototype,function(c,f,l){this.db=a,this._ctx={table:c,index:f===":id"?null:f,or:l};const u=a._deps.indexedDB;if(!u)throw new He.MissingAPI;this._cmp=this._ascending=u.cmp.bind(u),this._descending=(d,p)=>u.cmp(p,d),this._max=(d,p)=>u.cmp(d,p)>0?d:p,this._min=(d,p)=>u.cmp(d,p)<0?d:p,this._IDBKeyRange=a._deps.IDBKeyRange})}(this),this.on("versionchange",a=>{a.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",a=>{!a.newVersion||a.newVersionnew this.Transaction(a,c,f,this._options.chromeTransactionDurability,l),this._fireOnBlocked=a=>{this.on("blocked").fire(a),ia.filter(c=>c.name===this.name&&c!==this&&!c._state.vcFired).map(c=>c.on("versionchange").fire(a))},this.use(FE),this.use(jE),this.use(VE),this.use(UE),this.vip=Object.create(this,{_vip:{value:!0}}),s.forEach(a=>a(this))}version(t){if(isNaN(t)||t<.1)throw new He.Type("Given version is not a positive number");if(t=Math.round(10*t)/10,this.idbdb||this._state.isBeingOpened)throw new He.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,t);const n=this._versions;var r=n.filter(s=>s._cfg.version===t)[0];return r||(r=new this.Version(t),n.push(r),n.sort(PE),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(t){return this.idbdb&&(this._state.openComplete||Le.letThrough||this._vip)?t():new Se((n,r)=>{if(this._state.openComplete)return r(new He.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void r(new He.DatabaseClosed);this.open().catch(At)}this._state.dbReadyPromise.then(n,r)}).then(t)}use({stack:t,create:n,level:r,name:s}){s&&this.unuse({stack:t,name:s});const i=this._middlewares[t]||(this._middlewares[t]=[]);return i.push({stack:t,create:n,level:r??10,name:s}),i.sort((o,a)=>o.level-a.level),this}unuse({stack:t,name:n,create:r}){return t&&this._middlewares[t]&&(this._middlewares[t]=this._middlewares[t].filter(s=>r?s.create!==r:!!n&&s.name!==n)),this}open(){return kE(this)}_close(){const t=this._state,n=ia.indexOf(this);if(n>=0&&ia.splice(n,1),this.idbdb){try{this.idbdb.close()}catch{}this._novip.idbdb=null}t.dbReadyPromise=new Se(r=>{t.dbReadyResolve=r}),t.openCanceller=new Se((r,s)=>{t.cancelOpen=s})}close(){this._close();const t=this._state;this._options.autoOpen=!1,t.dbOpenError=new He.DatabaseClosed,t.isBeingOpened&&t.cancelOpen(t.dbOpenError)}delete(){const t=arguments.length>0,n=this._state;return new Se((r,s)=>{const i=()=>{this.close();var o=this._deps.indexedDB.deleteDatabase(this.name);o.onsuccess=Dt(()=>{(function({indexedDB:a,IDBKeyRange:c},f){!qh(a)&&f!==ff&&Kh(a,c).delete(f).catch(At)})(this._deps,this.name),r()}),o.onerror=Or(s),o.onblocked=this._fireOnBlocked};if(t)throw new He.InvalidArgument("Arguments not allowed in db.delete()");n.isBeingOpened?n.dbReadyPromise.then(i):i()})}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){const t=this._state.dbOpenError;return t&&t.name==="DatabaseClosed"}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return Zt(this._allTables).map(t=>this._allTables[t])}transaction(){const t=DE.apply(this,arguments);return this._transaction.apply(this,t)}_transaction(t,n,r){let s=Le.trans;s&&s.db===this&&t.indexOf("!")===-1||(s=null);const i=t.indexOf("?")!==-1;let o,a;t=t.replace("!","").replace("?","");try{if(a=n.map(f=>{var l=f instanceof this.Table?f.name:f;if(typeof l!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return l}),t=="r"||t===au)o=au;else{if(t!="rw"&&t!=cu)throw new He.InvalidArgument("Invalid transaction mode: "+t);o=cu}if(s){if(s.mode===au&&o===cu){if(!i)throw new He.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");s=null}s&&a.forEach(f=>{if(s&&s.storeNames.indexOf(f)===-1){if(!i)throw new He.SubTransaction("Table "+f+" not included in parent transaction.");s=null}}),i&&s&&!s.active&&(s=null)}}catch(f){return s?s._promise(null,(l,u)=>{u(f)}):an(f)}const c=Py.bind(null,this,o,a,s,r);return s?s._promise(o,c,"lock"):Le.trans?Oo(Le.transless,()=>this._whenReady(c)):this._whenReady(c)}table(t){if(!or(this._allTables,t))throw new He.InvalidTable(`Table ${t} does not exist`);return this._allTables[t]}}const $E=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable";class HE{constructor(t){this._subscribe=t}subscribe(t,n,r){return this._subscribe(t&&typeof t!="function"?t:{next:t,error:n,complete:r})}[$E](){return this}}function Ly(e,t){return Zt(t).forEach(n=>{Tl(e[n]||(e[n]=new zr),t[n])}),e}function zE(e){let t,n=!1;const r=new HE(s=>{const i=jh(e);let o=!1,a={},c={};const f={get closed(){return o},unsubscribe:()=>{o=!0,Bs.storagemutated.unsubscribe(p)}};s.start&&s.start(f);let l=!1,u=!1;function d(){return Zt(c).some(g=>a[g]&&BE(a[g],c[g]))}const p=g=>{Ly(a,g),d()&&y()},y=()=>{if(l||o)return;a={};const g={},w=function(x){i&&Co();const _=()=>js(e,{subscr:x,trans:null}),b=Le.trans?Oo(Le.transless,_):_();return i&&b.then(as,as),b}(g);u||(Bs(Oa,p),u=!0),l=!0,Promise.resolve(w).then(x=>{n=!0,t=x,l=!1,o||(d()?y():(a={},c=g,s.next&&s.next(x)))},x=>{l=!1,n=!1,s.error&&s.error(x),f.unsubscribe()})};return y(),f});return r.hasValue=()=>n,r.getValue=()=>t,r}let Td;try{Td={indexedDB:Pt.indexedDB||Pt.mozIndexedDB||Pt.webkitIndexedDB||Pt.msIndexedDB,IDBKeyRange:Pt.IDBKeyRange||Pt.webkitIDBKeyRange}}catch{Td={indexedDB:null,IDBKeyRange:null}}const ti=hn;function zc(e){let t=Jr;try{Jr=!0,Bs.storagemutated.fire(e)}finally{Jr=t}}fo(ti,{...jc,delete:e=>new ti(e,{addons:[]}).delete(),exists:e=>new ti(e,{addons:[]}).open().then(t=>(t.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return function({indexedDB:t,IDBKeyRange:n}){return qh(t)?Promise.resolve(t.databases()).then(r=>r.map(s=>s.name).filter(s=>s!==ff)):Kh(t,n).toCollection().primaryKeys()}(ti.dependencies).then(e)}catch{return an(new He.MissingAPI)}},defineClass:()=>function(e){Hn(this,e)},ignoreTransaction:e=>Le.trans?Oo(Le.transless,e):e(),vip:Ed,async:function(e){return function(){try{var t=wd(e.apply(this,arguments));return t&&typeof t.then=="function"?t:Se.resolve(t)}catch(n){return an(n)}}},spawn:function(e,t,n){try{var r=wd(e.apply(n,t||[]));return r&&typeof r.then=="function"?r:Se.resolve(r)}catch(s){return an(s)}},currentTransaction:{get:()=>Le.trans||null},waitFor:function(e,t){const n=Se.resolve(typeof e=="function"?ti.ignoreTransaction(e):e).timeout(t||6e4);return Le.trans?Le.trans.waitFor(n):n},Promise:Se,debug:{get:()=>Ir,set:e=>{fy(e,e==="dexie"?()=>!0:Sy)}},derive:to,extend:Hn,props:fo,override:sy,Events:oa,on:Bs,liveQuery:zE,extendObservabilitySet:Ly,getByKeyPath:ts,setByKeyPath:xr,delByKeyPath:function(e,t){typeof t=="string"?xr(e,t,void 0):"length"in t&&[].map.call(t,function(n){xr(e,n,void 0)})},shallowClone:ay,deepClone:Ga,getObjectDiff:Xh,cmp:Bn,asap:iy,minKey:pd,addons:[],connections:ia,errnames:Bh,dependencies:Td,semVer:X1,version:X1.split(".").map(e=>parseInt(e)).reduce((e,t,n)=>e+t/Math.pow(10,2*n))}),ti.maxKey=Na(ti.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Bs(Oa,e=>{if(!Jr){let t;lf?(t=document.createEvent("CustomEvent"),t.initCustomEvent(Os,!0,!0,e)):t=new CustomEvent(Os,{detail:e}),Jr=!0,dispatchEvent(t),Jr=!1}}),addEventListener(Os,({detail:e})=>{Jr||zc(e)}));let Jr=!1;if(typeof BroadcastChannel<"u"){const e=new BroadcastChannel(Os);typeof e.unref=="function"&&e.unref(),Bs(Oa,t=>{Jr||e.postMessage(t)}),e.onmessage=t=>{t.data&&zc(t.data)}}else if(typeof self<"u"&&typeof navigator<"u"){Bs(Oa,t=>{try{Jr||(typeof localStorage<"u"&&localStorage.setItem(Os,JSON.stringify({trig:Math.random(),changedParts:t})),typeof self.clients=="object"&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(n=>n.postMessage({type:Os,changedParts:t})))}catch{}}),typeof addEventListener<"u"&&addEventListener("storage",t=>{if(t.key===Os){const n=JSON.parse(t.newValue);n&&zc(n.changedParts)}});const e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:t}){t&&t.type===Os&&zc(t.changedParts)})}Se.rejectionMapper=function(e,t){if(!e||e instanceof no||e instanceof TypeError||e instanceof SyntaxError||!e.name||!H1[e.name])return e;var n=new H1[e.name](t||e.message,e);return"stack"in e&&es(n,"stack",{get:function(){return this.inner.stack}}),n},fy(Ir,Sy);var Cc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function My(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function uf(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}),n}var Wo={exports:{}};Wo.exports;var t0;function KE(){return t0||(t0=1,function(e,t){var n=200,r="__lodash_hash_undefined__",s=9007199254740991,i="[object Arguments]",o="[object Array]",a="[object Boolean]",c="[object Date]",f="[object Error]",l="[object Function]",u="[object GeneratorFunction]",d="[object Map]",p="[object Number]",y="[object Object]",g="[object Promise]",w="[object RegExp]",x="[object Set]",_="[object String]",b="[object Symbol]",T="[object WeakMap]",O="[object ArrayBuffer]",N="[object DataView]",L="[object Float32Array]",j="[object Float64Array]",I="[object Int8Array]",D="[object Int16Array]",K="[object Int32Array]",F="[object Uint8Array]",$="[object Uint8ClampedArray]",ee="[object Uint16Array]",he="[object Uint32Array]",se=/[\\^$.*+?()[\]{}|]/g,me=/\w*$/,le=/^\[object .+?Constructor\]$/,rt=/^(?:0|[1-9]\d*)$/,Me={};Me[i]=Me[o]=Me[O]=Me[N]=Me[a]=Me[c]=Me[L]=Me[j]=Me[I]=Me[D]=Me[K]=Me[d]=Me[p]=Me[y]=Me[w]=Me[x]=Me[_]=Me[b]=Me[F]=Me[$]=Me[ee]=Me[he]=!0,Me[f]=Me[l]=Me[T]=!1;var jt=typeof Cc=="object"&&Cc&&Cc.Object===Object&&Cc,Gt=typeof self=="object"&&self&&self.Object===Object&&self,St=jt||Gt||Function("return this")(),Ht=t&&!t.nodeType&&t,Je=Ht&&!0&&e&&!e.nodeType&&e,Tt=Je&&Je.exports===Ht;function X(A,B){return A.set(B[0],B[1]),A}function be(A,B){return A.add(B),A}function de(A,B){for(var J=-1,Ne=A?A.length:0;++J-1}function oe(A,B){var J=this.__data__,Ne=ve(J,A);return Ne<0?J.push([A,B]):J[Ne][1]=B,this}h.prototype.clear=S,h.prototype.delete=M,h.prototype.get=k,h.prototype.has=G,h.prototype.set=oe;function Ee(A){var B=-1,J=A?A.length:0;for(this.clear();++B-1&&A%1==0&&A-1&&A%1==0&&A<=s}function cc(A){var B=typeof A;return!!A&&(B=="object"||B=="function")}function x_(A){return!!A&&typeof A=="object"}function zf(A){return Xp(A)?Oe(A):Y(A)}function v_(){return[]}function E_(){return!1}e.exports=m_}(Wo,Wo.exports)),Wo.exports}var qE=KE();const wr=My(qE);var XE=Object.defineProperty,WE=Object.defineProperties,GE=Object.getOwnPropertyDescriptors,n0=Object.getOwnPropertySymbols,YE=Object.prototype.hasOwnProperty,JE=Object.prototype.propertyIsEnumerable,r0=(e,t,n)=>t in e?XE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QE=(e,t)=>{for(var n in t||(t={}))YE.call(t,n)&&r0(e,n,t[n]);if(n0)for(var n of n0(t))JE.call(t,n)&&r0(e,n,t[n]);return e},ZE=(e,t)=>WE(e,GE(t));function e5(e){var t;const n=e;(t=n.pVermeerAddonsRegistered)!=null&&t.immutable||(n.pVermeerAddonsRegistered=ZE(QE({},n.pVermeerAddonsRegistered),{immutable:!0}),e.Table.prototype.add=hn.override(e.Table.prototype.add,r=>function(s,i){if(this.name.startsWith("_"))return r.call(this,s,i);const o=wr(s),a=wr(i);return r.call(this,o,a)}),e.Table.prototype.bulkAdd=hn.override(e.Table.prototype.bulkAdd,r=>function(s,i){if(this.name.startsWith("_"))return r.call(this,s,i);const o=wr(s),a=wr(i);return r.call(this,o,a)}),e.Table.prototype.put=hn.override(e.Table.prototype.put,r=>function(s,i){if(this.name.startsWith("_"))return r.call(this,s,i);const o=wr(s),a=wr(i);return r.call(this,o,a)}),e.Table.prototype.bulkPut=hn.override(e.Table.prototype.bulkPut,r=>function(s,i){if(this.name.startsWith("_"))return r.call(this,s,i);const o=wr(s),a=wr(i);return r.call(this,o,a)}),e.Table.prototype.update=hn.override(e.Table.prototype.update,r=>function(s,i){if(this.name.startsWith("_"))return r.call(this,s,i);const o=wr(s),a=wr(i);return r.call(this,o,a)}))}var er={},s0;function t5(){if(s0)return er;s0=1;var e=er.__extends||function(){var l=function(u,d){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,y){p.__proto__=y}||function(p,y){for(var g in y)y.hasOwnProperty(g)&&(p[g]=y[g])},l(u,d)};return function(u,d){l(u,d);function p(){this.constructor=u}u.prototype=d===null?Object.create(d):(p.prototype=d.prototype,new p)}}();Object.defineProperty(er,"__esModule",{value:!0});var t=256,n=function(){function l(u){u===void 0&&(u="="),this._paddingCharacter=u}return l.prototype.encodedLength=function(u){return this._paddingCharacter?(u+2)/3*4|0:(u*8+5)/6|0},l.prototype.encode=function(u){for(var d="",p=0;p>>3*6&63),d+=this._encodeByte(y>>>2*6&63),d+=this._encodeByte(y>>>1*6&63),d+=this._encodeByte(y>>>0*6&63)}var g=u.length-p;if(g>0){var y=u[p]<<16|(g===2?u[p+1]<<8:0);d+=this._encodeByte(y>>>3*6&63),d+=this._encodeByte(y>>>2*6&63),g===2?d+=this._encodeByte(y>>>1*6&63):d+=this._paddingCharacter||"",d+=this._paddingCharacter||""}return d},l.prototype.maxDecodedLength=function(u){return this._paddingCharacter?u/4*3|0:(u*6+7)/8|0},l.prototype.decodedLength=function(u){return this.maxDecodedLength(u.length-this._getPaddingLength(u))},l.prototype.decode=function(u){if(u.length===0)return new Uint8Array(0);for(var d=this._getPaddingLength(u),p=u.length-d,y=new Uint8Array(this.maxDecodedLength(p)),g=0,w=0,x=0,_=0,b=0,T=0,O=0;w>>4,y[g++]=b<<4|T>>>2,y[g++]=T<<6|O,x|=_&t,x|=b&t,x|=T&t,x|=O&t;if(w>>4,x|=_&t,x|=b&t),w>>2,x|=T&t),w>>8&6,d+=51-u>>>8&-75,d+=61-u>>>8&-15,d+=62-u>>>8&3,String.fromCharCode(d)},l.prototype._decodeChar=function(u){var d=t;return d+=(42-u&u-44)>>>8&-256+u-43+62,d+=(46-u&u-48)>>>8&-256+u-47+63,d+=(47-u&u-58)>>>8&-256+u-48+52,d+=(64-u&u-91)>>>8&-256+u-65+0,d+=(96-u&u-123)>>>8&-256+u-97+26,d},l.prototype._getPaddingLength=function(u){var d=0;if(this._paddingCharacter){for(var p=u.length-1;p>=0&&u[p]===this._paddingCharacter;p--)d++;if(u.length<4||d>2)throw new Error("Base64Coder: incorrect padding")}return d},l}();er.Coder=n;var r=new n;function s(l){return r.encode(l)}er.encode=s;function i(l){return r.decode(l)}er.decode=i;var o=function(l){e(u,l);function u(){return l!==null&&l.apply(this,arguments)||this}return u.prototype._encodeByte=function(d){var p=d;return p+=65,p+=25-d>>>8&6,p+=51-d>>>8&-75,p+=61-d>>>8&-13,p+=62-d>>>8&49,String.fromCharCode(p)},u.prototype._decodeChar=function(d){var p=t;return p+=(44-d&d-46)>>>8&-256+d-45+62,p+=(94-d&d-96)>>>8&-256+d-95+63,p+=(47-d&d-58)>>>8&-256+d-48+52,p+=(64-d&d-91)>>>8&-256+d-65+0,p+=(96-d&d-123)>>>8&-256+d-97+26,p},u}(n);er.URLSafeCoder=o;var a=new o;function c(l){return a.encode(l)}er.encodeURLSafe=c;function f(l){return a.decode(l)}return er.decodeURLSafe=f,er.encodedLength=function(l){return r.encodedLength(l)},er.maxDecodedLength=function(l){return r.maxDecodedLength(l)},er.decodedLength=function(l){return r.decodedLength(l)},er}var Bo=t5(),Ur={},i0;function n5(){if(i0)return Ur;i0=1,Object.defineProperty(Ur,"__esModule",{value:!0}),Ur.decode=Ur.encodedLength=Ur.encode=void 0;const e="utf8: invalid string",t="utf8: invalid source encoding";function n(i){const o=new Uint8Array(r(i));let a=0;for(let c=0;c=55296&&f<=56319&&(f=(f-55296<<10)+(i.charCodeAt(++c)-56320)+65536),f<128?o[a++]=f:f<2048?(o[a++]=192|f>>6,o[a++]=128|f&63):f<65536?(o[a++]=224|f>>12,o[a++]=128|f>>6&63,o[a++]=128|f&63):(o[a++]=240|f>>18,o[a++]=128|f>>12&63,o[a++]=128|f>>6&63,o[a++]=128|f&63)}return o}Ur.encode=n;function r(i){let o=0;for(let a=0;a=55296&&c<=56319){if(a===i.length-1)throw new Error(e);a++;const f=i.charCodeAt(a);if(f<56320||f>57343)throw new Error(e);c=(c-55296<<10)+(f-56320)+65536}c<128?o+=1:c<2048?o+=2:c<65536?o+=3:o+=4}return o}Ur.encodedLength=r;function s(i){const o=[];for(let a=0;a=i.length)throw new Error(t);const l=i[++a];if((l&192)!==128)throw new Error(t);c=(c&31)<<6|l&63,f=128}else if(c<240){if(a>=i.length-1)throw new Error(t);const l=i[++a],u=i[++a];if((l&192)!==128||(u&192)!==128)throw new Error(t);c=(c&15)<<12|(l&63)<<6|u&63,f=2048}else if(c<248){if(a>=i.length-2)throw new Error(t);const l=i[++a],u=i[++a],d=i[++a];if((l&192)!==128||(u&192)!==128||(d&192)!==128)throw new Error(t);c=(c&15)<<18|(l&63)<<12|(u&63)<<6|d&63,f=65536}else throw new Error(t);if(c=55296&&c<=57343)throw new Error(t);if(c>=65536){if(c>1114111)throw new Error(t);c-=65536,o.push(String.fromCharCode(55296|c>>10)),c=56320|c&1023}}o.push(String.fromCharCode(c))}return o.join("")}return Ur.decode=s,Ur}var hu=n5();function r5(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var pu={exports:{}};const s5={},i5=Object.freeze(Object.defineProperty({__proto__:null,default:s5},Symbol.toStringTag,{value:"Module"})),o5=uf(i5);var o0;function a5(){return o0||(o0=1,function(e){(function(t){var n=function(m){var E,v=new Float64Array(16);if(m)for(E=0;E>24&255,m[E+1]=v>>16&255,m[E+2]=v>>8&255,m[E+3]=v&255,m[E+4]=h>>24&255,m[E+5]=h>>16&255,m[E+6]=h>>8&255,m[E+7]=h&255}function g(m,E,v,h,S){var M,k=0;for(M=0;M>>8)-1}function w(m,E,v,h){return g(m,E,v,h,16)}function x(m,E,v,h){return g(m,E,v,h,32)}function _(m,E,v,h){for(var S=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,M=v[0]&255|(v[1]&255)<<8|(v[2]&255)<<16|(v[3]&255)<<24,k=v[4]&255|(v[5]&255)<<8|(v[6]&255)<<16|(v[7]&255)<<24,G=v[8]&255|(v[9]&255)<<8|(v[10]&255)<<16|(v[11]&255)<<24,oe=v[12]&255|(v[13]&255)<<8|(v[14]&255)<<16|(v[15]&255)<<24,Ee=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,ge=E[0]&255|(E[1]&255)<<8|(E[2]&255)<<16|(E[3]&255)<<24,dt=E[4]&255|(E[5]&255)<<8|(E[6]&255)<<16|(E[7]&255)<<24,xe=E[8]&255|(E[9]&255)<<8|(E[10]&255)<<16|(E[11]&255)<<24,je=E[12]&255|(E[13]&255)<<8|(E[14]&255)<<16|(E[15]&255)<<24,Be=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,Ue=v[16]&255|(v[17]&255)<<8|(v[18]&255)<<16|(v[19]&255)<<24,qe=v[20]&255|(v[21]&255)<<8|(v[22]&255)<<16|(v[23]&255)<<24,Ve=v[24]&255|(v[25]&255)<<8|(v[26]&255)<<16|(v[27]&255)<<24,Ke=v[28]&255|(v[29]&255)<<8|(v[30]&255)<<16|(v[31]&255)<<24,$e=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,we=S,Oe=M,ye=k,ve=G,Ce=oe,pe=Ee,V=ge,H=dt,Z=xe,W=je,Y=Be,re=Ue,Ie=qe,Xe=Ve,Qe=Ke,We=$e,R,nt=0;nt<20;nt+=2)R=we+Ie|0,Ce^=R<<7|R>>>25,R=Ce+we|0,Z^=R<<9|R>>>23,R=Z+Ce|0,Ie^=R<<13|R>>>19,R=Ie+Z|0,we^=R<<18|R>>>14,R=pe+Oe|0,W^=R<<7|R>>>25,R=W+pe|0,Xe^=R<<9|R>>>23,R=Xe+W|0,Oe^=R<<13|R>>>19,R=Oe+Xe|0,pe^=R<<18|R>>>14,R=Y+V|0,Qe^=R<<7|R>>>25,R=Qe+Y|0,ye^=R<<9|R>>>23,R=ye+Qe|0,V^=R<<13|R>>>19,R=V+ye|0,Y^=R<<18|R>>>14,R=We+re|0,ve^=R<<7|R>>>25,R=ve+We|0,H^=R<<9|R>>>23,R=H+ve|0,re^=R<<13|R>>>19,R=re+H|0,We^=R<<18|R>>>14,R=we+ve|0,Oe^=R<<7|R>>>25,R=Oe+we|0,ye^=R<<9|R>>>23,R=ye+Oe|0,ve^=R<<13|R>>>19,R=ve+ye|0,we^=R<<18|R>>>14,R=pe+Ce|0,V^=R<<7|R>>>25,R=V+pe|0,H^=R<<9|R>>>23,R=H+V|0,Ce^=R<<13|R>>>19,R=Ce+H|0,pe^=R<<18|R>>>14,R=Y+W|0,re^=R<<7|R>>>25,R=re+Y|0,Z^=R<<9|R>>>23,R=Z+re|0,W^=R<<13|R>>>19,R=W+Z|0,Y^=R<<18|R>>>14,R=We+Qe|0,Ie^=R<<7|R>>>25,R=Ie+We|0,Xe^=R<<9|R>>>23,R=Xe+Ie|0,Qe^=R<<13|R>>>19,R=Qe+Xe|0,We^=R<<18|R>>>14;we=we+S|0,Oe=Oe+M|0,ye=ye+k|0,ve=ve+G|0,Ce=Ce+oe|0,pe=pe+Ee|0,V=V+ge|0,H=H+dt|0,Z=Z+xe|0,W=W+je|0,Y=Y+Be|0,re=re+Ue|0,Ie=Ie+qe|0,Xe=Xe+Ve|0,Qe=Qe+Ke|0,We=We+$e|0,m[0]=we>>>0&255,m[1]=we>>>8&255,m[2]=we>>>16&255,m[3]=we>>>24&255,m[4]=Oe>>>0&255,m[5]=Oe>>>8&255,m[6]=Oe>>>16&255,m[7]=Oe>>>24&255,m[8]=ye>>>0&255,m[9]=ye>>>8&255,m[10]=ye>>>16&255,m[11]=ye>>>24&255,m[12]=ve>>>0&255,m[13]=ve>>>8&255,m[14]=ve>>>16&255,m[15]=ve>>>24&255,m[16]=Ce>>>0&255,m[17]=Ce>>>8&255,m[18]=Ce>>>16&255,m[19]=Ce>>>24&255,m[20]=pe>>>0&255,m[21]=pe>>>8&255,m[22]=pe>>>16&255,m[23]=pe>>>24&255,m[24]=V>>>0&255,m[25]=V>>>8&255,m[26]=V>>>16&255,m[27]=V>>>24&255,m[28]=H>>>0&255,m[29]=H>>>8&255,m[30]=H>>>16&255,m[31]=H>>>24&255,m[32]=Z>>>0&255,m[33]=Z>>>8&255,m[34]=Z>>>16&255,m[35]=Z>>>24&255,m[36]=W>>>0&255,m[37]=W>>>8&255,m[38]=W>>>16&255,m[39]=W>>>24&255,m[40]=Y>>>0&255,m[41]=Y>>>8&255,m[42]=Y>>>16&255,m[43]=Y>>>24&255,m[44]=re>>>0&255,m[45]=re>>>8&255,m[46]=re>>>16&255,m[47]=re>>>24&255,m[48]=Ie>>>0&255,m[49]=Ie>>>8&255,m[50]=Ie>>>16&255,m[51]=Ie>>>24&255,m[52]=Xe>>>0&255,m[53]=Xe>>>8&255,m[54]=Xe>>>16&255,m[55]=Xe>>>24&255,m[56]=Qe>>>0&255,m[57]=Qe>>>8&255,m[58]=Qe>>>16&255,m[59]=Qe>>>24&255,m[60]=We>>>0&255,m[61]=We>>>8&255,m[62]=We>>>16&255,m[63]=We>>>24&255}function b(m,E,v,h){for(var S=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,M=v[0]&255|(v[1]&255)<<8|(v[2]&255)<<16|(v[3]&255)<<24,k=v[4]&255|(v[5]&255)<<8|(v[6]&255)<<16|(v[7]&255)<<24,G=v[8]&255|(v[9]&255)<<8|(v[10]&255)<<16|(v[11]&255)<<24,oe=v[12]&255|(v[13]&255)<<8|(v[14]&255)<<16|(v[15]&255)<<24,Ee=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,ge=E[0]&255|(E[1]&255)<<8|(E[2]&255)<<16|(E[3]&255)<<24,dt=E[4]&255|(E[5]&255)<<8|(E[6]&255)<<16|(E[7]&255)<<24,xe=E[8]&255|(E[9]&255)<<8|(E[10]&255)<<16|(E[11]&255)<<24,je=E[12]&255|(E[13]&255)<<8|(E[14]&255)<<16|(E[15]&255)<<24,Be=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,Ue=v[16]&255|(v[17]&255)<<8|(v[18]&255)<<16|(v[19]&255)<<24,qe=v[20]&255|(v[21]&255)<<8|(v[22]&255)<<16|(v[23]&255)<<24,Ve=v[24]&255|(v[25]&255)<<8|(v[26]&255)<<16|(v[27]&255)<<24,Ke=v[28]&255|(v[29]&255)<<8|(v[30]&255)<<16|(v[31]&255)<<24,$e=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,we=S,Oe=M,ye=k,ve=G,Ce=oe,pe=Ee,V=ge,H=dt,Z=xe,W=je,Y=Be,re=Ue,Ie=qe,Xe=Ve,Qe=Ke,We=$e,R,nt=0;nt<20;nt+=2)R=we+Ie|0,Ce^=R<<7|R>>>25,R=Ce+we|0,Z^=R<<9|R>>>23,R=Z+Ce|0,Ie^=R<<13|R>>>19,R=Ie+Z|0,we^=R<<18|R>>>14,R=pe+Oe|0,W^=R<<7|R>>>25,R=W+pe|0,Xe^=R<<9|R>>>23,R=Xe+W|0,Oe^=R<<13|R>>>19,R=Oe+Xe|0,pe^=R<<18|R>>>14,R=Y+V|0,Qe^=R<<7|R>>>25,R=Qe+Y|0,ye^=R<<9|R>>>23,R=ye+Qe|0,V^=R<<13|R>>>19,R=V+ye|0,Y^=R<<18|R>>>14,R=We+re|0,ve^=R<<7|R>>>25,R=ve+We|0,H^=R<<9|R>>>23,R=H+ve|0,re^=R<<13|R>>>19,R=re+H|0,We^=R<<18|R>>>14,R=we+ve|0,Oe^=R<<7|R>>>25,R=Oe+we|0,ye^=R<<9|R>>>23,R=ye+Oe|0,ve^=R<<13|R>>>19,R=ve+ye|0,we^=R<<18|R>>>14,R=pe+Ce|0,V^=R<<7|R>>>25,R=V+pe|0,H^=R<<9|R>>>23,R=H+V|0,Ce^=R<<13|R>>>19,R=Ce+H|0,pe^=R<<18|R>>>14,R=Y+W|0,re^=R<<7|R>>>25,R=re+Y|0,Z^=R<<9|R>>>23,R=Z+re|0,W^=R<<13|R>>>19,R=W+Z|0,Y^=R<<18|R>>>14,R=We+Qe|0,Ie^=R<<7|R>>>25,R=Ie+We|0,Xe^=R<<9|R>>>23,R=Xe+Ie|0,Qe^=R<<13|R>>>19,R=Qe+Xe|0,We^=R<<18|R>>>14;m[0]=we>>>0&255,m[1]=we>>>8&255,m[2]=we>>>16&255,m[3]=we>>>24&255,m[4]=pe>>>0&255,m[5]=pe>>>8&255,m[6]=pe>>>16&255,m[7]=pe>>>24&255,m[8]=Y>>>0&255,m[9]=Y>>>8&255,m[10]=Y>>>16&255,m[11]=Y>>>24&255,m[12]=We>>>0&255,m[13]=We>>>8&255,m[14]=We>>>16&255,m[15]=We>>>24&255,m[16]=V>>>0&255,m[17]=V>>>8&255,m[18]=V>>>16&255,m[19]=V>>>24&255,m[20]=H>>>0&255,m[21]=H>>>8&255,m[22]=H>>>16&255,m[23]=H>>>24&255,m[24]=Z>>>0&255,m[25]=Z>>>8&255,m[26]=Z>>>16&255,m[27]=Z>>>24&255,m[28]=W>>>0&255,m[29]=W>>>8&255,m[30]=W>>>16&255,m[31]=W>>>24&255}function T(m,E,v,h){_(m,E,v,h)}function O(m,E,v,h){b(m,E,v,h)}var N=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function L(m,E,v,h,S,M,k){var G=new Uint8Array(16),oe=new Uint8Array(64),Ee,ge;for(ge=0;ge<16;ge++)G[ge]=0;for(ge=0;ge<8;ge++)G[ge]=M[ge];for(;S>=64;){for(T(oe,G,k,N),ge=0;ge<64;ge++)m[E+ge]=v[h+ge]^oe[ge];for(Ee=1,ge=8;ge<16;ge++)Ee=Ee+(G[ge]&255)|0,G[ge]=Ee&255,Ee>>>=8;S-=64,E+=64,h+=64}if(S>0)for(T(oe,G,k,N),ge=0;ge=64;){for(T(k,M,S,N),oe=0;oe<64;oe++)m[E+oe]=k[oe];for(G=1,oe=8;oe<16;oe++)G=G+(M[oe]&255)|0,M[oe]=G&255,G>>>=8;v-=64,E+=64}if(v>0)for(T(k,M,S,N),oe=0;oe>>13|v<<3)&8191,h=m[4]&255|(m[5]&255)<<8,this.r[2]=(v>>>10|h<<6)&7939,S=m[6]&255|(m[7]&255)<<8,this.r[3]=(h>>>7|S<<9)&8191,M=m[8]&255|(m[9]&255)<<8,this.r[4]=(S>>>4|M<<12)&255,this.r[5]=M>>>1&8190,k=m[10]&255|(m[11]&255)<<8,this.r[6]=(M>>>14|k<<2)&8191,G=m[12]&255|(m[13]&255)<<8,this.r[7]=(k>>>11|G<<5)&8065,oe=m[14]&255|(m[15]&255)<<8,this.r[8]=(G>>>8|oe<<8)&8191,this.r[9]=oe>>>5&127,this.pad[0]=m[16]&255|(m[17]&255)<<8,this.pad[1]=m[18]&255|(m[19]&255)<<8,this.pad[2]=m[20]&255|(m[21]&255)<<8,this.pad[3]=m[22]&255|(m[23]&255)<<8,this.pad[4]=m[24]&255|(m[25]&255)<<8,this.pad[5]=m[26]&255|(m[27]&255)<<8,this.pad[6]=m[28]&255|(m[29]&255)<<8,this.pad[7]=m[30]&255|(m[31]&255)<<8};K.prototype.blocks=function(m,E,v){for(var h=this.fin?0:2048,S,M,k,G,oe,Ee,ge,dt,xe,je,Be,Ue,qe,Ve,Ke,$e,we,Oe,ye,ve=this.h[0],Ce=this.h[1],pe=this.h[2],V=this.h[3],H=this.h[4],Z=this.h[5],W=this.h[6],Y=this.h[7],re=this.h[8],Ie=this.h[9],Xe=this.r[0],Qe=this.r[1],We=this.r[2],R=this.r[3],nt=this.r[4],ht=this.r[5],pt=this.r[6],Ze=this.r[7],ct=this.r[8],lt=this.r[9];v>=16;)S=m[E+0]&255|(m[E+1]&255)<<8,ve+=S&8191,M=m[E+2]&255|(m[E+3]&255)<<8,Ce+=(S>>>13|M<<3)&8191,k=m[E+4]&255|(m[E+5]&255)<<8,pe+=(M>>>10|k<<6)&8191,G=m[E+6]&255|(m[E+7]&255)<<8,V+=(k>>>7|G<<9)&8191,oe=m[E+8]&255|(m[E+9]&255)<<8,H+=(G>>>4|oe<<12)&8191,Z+=oe>>>1&8191,Ee=m[E+10]&255|(m[E+11]&255)<<8,W+=(oe>>>14|Ee<<2)&8191,ge=m[E+12]&255|(m[E+13]&255)<<8,Y+=(Ee>>>11|ge<<5)&8191,dt=m[E+14]&255|(m[E+15]&255)<<8,re+=(ge>>>8|dt<<8)&8191,Ie+=dt>>>5|h,xe=0,je=xe,je+=ve*Xe,je+=Ce*(5*lt),je+=pe*(5*ct),je+=V*(5*Ze),je+=H*(5*pt),xe=je>>>13,je&=8191,je+=Z*(5*ht),je+=W*(5*nt),je+=Y*(5*R),je+=re*(5*We),je+=Ie*(5*Qe),xe+=je>>>13,je&=8191,Be=xe,Be+=ve*Qe,Be+=Ce*Xe,Be+=pe*(5*lt),Be+=V*(5*ct),Be+=H*(5*Ze),xe=Be>>>13,Be&=8191,Be+=Z*(5*pt),Be+=W*(5*ht),Be+=Y*(5*nt),Be+=re*(5*R),Be+=Ie*(5*We),xe+=Be>>>13,Be&=8191,Ue=xe,Ue+=ve*We,Ue+=Ce*Qe,Ue+=pe*Xe,Ue+=V*(5*lt),Ue+=H*(5*ct),xe=Ue>>>13,Ue&=8191,Ue+=Z*(5*Ze),Ue+=W*(5*pt),Ue+=Y*(5*ht),Ue+=re*(5*nt),Ue+=Ie*(5*R),xe+=Ue>>>13,Ue&=8191,qe=xe,qe+=ve*R,qe+=Ce*We,qe+=pe*Qe,qe+=V*Xe,qe+=H*(5*lt),xe=qe>>>13,qe&=8191,qe+=Z*(5*ct),qe+=W*(5*Ze),qe+=Y*(5*pt),qe+=re*(5*ht),qe+=Ie*(5*nt),xe+=qe>>>13,qe&=8191,Ve=xe,Ve+=ve*nt,Ve+=Ce*R,Ve+=pe*We,Ve+=V*Qe,Ve+=H*Xe,xe=Ve>>>13,Ve&=8191,Ve+=Z*(5*lt),Ve+=W*(5*ct),Ve+=Y*(5*Ze),Ve+=re*(5*pt),Ve+=Ie*(5*ht),xe+=Ve>>>13,Ve&=8191,Ke=xe,Ke+=ve*ht,Ke+=Ce*nt,Ke+=pe*R,Ke+=V*We,Ke+=H*Qe,xe=Ke>>>13,Ke&=8191,Ke+=Z*Xe,Ke+=W*(5*lt),Ke+=Y*(5*ct),Ke+=re*(5*Ze),Ke+=Ie*(5*pt),xe+=Ke>>>13,Ke&=8191,$e=xe,$e+=ve*pt,$e+=Ce*ht,$e+=pe*nt,$e+=V*R,$e+=H*We,xe=$e>>>13,$e&=8191,$e+=Z*Qe,$e+=W*Xe,$e+=Y*(5*lt),$e+=re*(5*ct),$e+=Ie*(5*Ze),xe+=$e>>>13,$e&=8191,we=xe,we+=ve*Ze,we+=Ce*pt,we+=pe*ht,we+=V*nt,we+=H*R,xe=we>>>13,we&=8191,we+=Z*We,we+=W*Qe,we+=Y*Xe,we+=re*(5*lt),we+=Ie*(5*ct),xe+=we>>>13,we&=8191,Oe=xe,Oe+=ve*ct,Oe+=Ce*Ze,Oe+=pe*pt,Oe+=V*ht,Oe+=H*nt,xe=Oe>>>13,Oe&=8191,Oe+=Z*R,Oe+=W*We,Oe+=Y*Qe,Oe+=re*Xe,Oe+=Ie*(5*lt),xe+=Oe>>>13,Oe&=8191,ye=xe,ye+=ve*lt,ye+=Ce*ct,ye+=pe*Ze,ye+=V*pt,ye+=H*ht,xe=ye>>>13,ye&=8191,ye+=Z*nt,ye+=W*R,ye+=Y*We,ye+=re*Qe,ye+=Ie*Xe,xe+=ye>>>13,ye&=8191,xe=(xe<<2)+xe|0,xe=xe+je|0,je=xe&8191,xe=xe>>>13,Be+=xe,ve=je,Ce=Be,pe=Ue,V=qe,H=Ve,Z=Ke,W=$e,Y=we,re=Oe,Ie=ye,E+=16,v-=16;this.h[0]=ve,this.h[1]=Ce,this.h[2]=pe,this.h[3]=V,this.h[4]=H,this.h[5]=Z,this.h[6]=W,this.h[7]=Y,this.h[8]=re,this.h[9]=Ie},K.prototype.finish=function(m,E){var v=new Uint16Array(10),h,S,M,k;if(this.leftover){for(k=this.leftover,this.buffer[k++]=1;k<16;k++)this.buffer[k]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(h=this.h[1]>>>13,this.h[1]&=8191,k=2;k<10;k++)this.h[k]+=h,h=this.h[k]>>>13,this.h[k]&=8191;for(this.h[0]+=h*5,h=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=h,h=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=h,v[0]=this.h[0]+5,h=v[0]>>>13,v[0]&=8191,k=1;k<10;k++)v[k]=this.h[k]+h,h=v[k]>>>13,v[k]&=8191;for(v[9]-=8192,S=(h^1)-1,k=0;k<10;k++)v[k]&=S;for(S=~S,k=0;k<10;k++)this.h[k]=this.h[k]&S|v[k];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,M=this.h[0]+this.pad[0],this.h[0]=M&65535,k=1;k<8;k++)M=(this.h[k]+this.pad[k]|0)+(M>>>16)|0,this.h[k]=M&65535;m[E+0]=this.h[0]>>>0&255,m[E+1]=this.h[0]>>>8&255,m[E+2]=this.h[1]>>>0&255,m[E+3]=this.h[1]>>>8&255,m[E+4]=this.h[2]>>>0&255,m[E+5]=this.h[2]>>>8&255,m[E+6]=this.h[3]>>>0&255,m[E+7]=this.h[3]>>>8&255,m[E+8]=this.h[4]>>>0&255,m[E+9]=this.h[4]>>>8&255,m[E+10]=this.h[5]>>>0&255,m[E+11]=this.h[5]>>>8&255,m[E+12]=this.h[6]>>>0&255,m[E+13]=this.h[6]>>>8&255,m[E+14]=this.h[7]>>>0&255,m[E+15]=this.h[7]>>>8&255},K.prototype.update=function(m,E,v){var h,S;if(this.leftover){for(S=16-this.leftover,S>v&&(S=v),h=0;h=16&&(S=v-v%16,this.blocks(m,E,S),E+=S,v-=S),v){for(h=0;h>16&1),M[v-1]&=65535;M[15]=k[15]-32767-(M[14]>>16&1),S=M[15]>>16&1,M[14]&=65535,le(k,M,1-S)}for(v=0;v<16;v++)m[2*v]=k[v]&255,m[2*v+1]=k[v]>>8}function Me(m,E){var v=new Uint8Array(32),h=new Uint8Array(32);return rt(v,m),rt(h,E),x(v,0,h,0)}function jt(m){var E=new Uint8Array(32);return rt(E,m),E[0]&1}function Gt(m,E){var v;for(v=0;v<16;v++)m[v]=E[2*v]+(E[2*v+1]<<8);m[15]&=32767}function St(m,E,v){for(var h=0;h<16;h++)m[h]=E[h]+v[h]}function Ht(m,E,v){for(var h=0;h<16;h++)m[h]=E[h]-v[h]}function Je(m,E,v){var h,S,M=0,k=0,G=0,oe=0,Ee=0,ge=0,dt=0,xe=0,je=0,Be=0,Ue=0,qe=0,Ve=0,Ke=0,$e=0,we=0,Oe=0,ye=0,ve=0,Ce=0,pe=0,V=0,H=0,Z=0,W=0,Y=0,re=0,Ie=0,Xe=0,Qe=0,We=0,R=v[0],nt=v[1],ht=v[2],pt=v[3],Ze=v[4],ct=v[5],lt=v[6],Ct=v[7],ft=v[8],Rt=v[9],Et=v[10],Mt=v[11],Kt=v[12],ln=v[13],fn=v[14],un=v[15];h=E[0],M+=h*R,k+=h*nt,G+=h*ht,oe+=h*pt,Ee+=h*Ze,ge+=h*ct,dt+=h*lt,xe+=h*Ct,je+=h*ft,Be+=h*Rt,Ue+=h*Et,qe+=h*Mt,Ve+=h*Kt,Ke+=h*ln,$e+=h*fn,we+=h*un,h=E[1],k+=h*R,G+=h*nt,oe+=h*ht,Ee+=h*pt,ge+=h*Ze,dt+=h*ct,xe+=h*lt,je+=h*Ct,Be+=h*ft,Ue+=h*Rt,qe+=h*Et,Ve+=h*Mt,Ke+=h*Kt,$e+=h*ln,we+=h*fn,Oe+=h*un,h=E[2],G+=h*R,oe+=h*nt,Ee+=h*ht,ge+=h*pt,dt+=h*Ze,xe+=h*ct,je+=h*lt,Be+=h*Ct,Ue+=h*ft,qe+=h*Rt,Ve+=h*Et,Ke+=h*Mt,$e+=h*Kt,we+=h*ln,Oe+=h*fn,ye+=h*un,h=E[3],oe+=h*R,Ee+=h*nt,ge+=h*ht,dt+=h*pt,xe+=h*Ze,je+=h*ct,Be+=h*lt,Ue+=h*Ct,qe+=h*ft,Ve+=h*Rt,Ke+=h*Et,$e+=h*Mt,we+=h*Kt,Oe+=h*ln,ye+=h*fn,ve+=h*un,h=E[4],Ee+=h*R,ge+=h*nt,dt+=h*ht,xe+=h*pt,je+=h*Ze,Be+=h*ct,Ue+=h*lt,qe+=h*Ct,Ve+=h*ft,Ke+=h*Rt,$e+=h*Et,we+=h*Mt,Oe+=h*Kt,ye+=h*ln,ve+=h*fn,Ce+=h*un,h=E[5],ge+=h*R,dt+=h*nt,xe+=h*ht,je+=h*pt,Be+=h*Ze,Ue+=h*ct,qe+=h*lt,Ve+=h*Ct,Ke+=h*ft,$e+=h*Rt,we+=h*Et,Oe+=h*Mt,ye+=h*Kt,ve+=h*ln,Ce+=h*fn,pe+=h*un,h=E[6],dt+=h*R,xe+=h*nt,je+=h*ht,Be+=h*pt,Ue+=h*Ze,qe+=h*ct,Ve+=h*lt,Ke+=h*Ct,$e+=h*ft,we+=h*Rt,Oe+=h*Et,ye+=h*Mt,ve+=h*Kt,Ce+=h*ln,pe+=h*fn,V+=h*un,h=E[7],xe+=h*R,je+=h*nt,Be+=h*ht,Ue+=h*pt,qe+=h*Ze,Ve+=h*ct,Ke+=h*lt,$e+=h*Ct,we+=h*ft,Oe+=h*Rt,ye+=h*Et,ve+=h*Mt,Ce+=h*Kt,pe+=h*ln,V+=h*fn,H+=h*un,h=E[8],je+=h*R,Be+=h*nt,Ue+=h*ht,qe+=h*pt,Ve+=h*Ze,Ke+=h*ct,$e+=h*lt,we+=h*Ct,Oe+=h*ft,ye+=h*Rt,ve+=h*Et,Ce+=h*Mt,pe+=h*Kt,V+=h*ln,H+=h*fn,Z+=h*un,h=E[9],Be+=h*R,Ue+=h*nt,qe+=h*ht,Ve+=h*pt,Ke+=h*Ze,$e+=h*ct,we+=h*lt,Oe+=h*Ct,ye+=h*ft,ve+=h*Rt,Ce+=h*Et,pe+=h*Mt,V+=h*Kt,H+=h*ln,Z+=h*fn,W+=h*un,h=E[10],Ue+=h*R,qe+=h*nt,Ve+=h*ht,Ke+=h*pt,$e+=h*Ze,we+=h*ct,Oe+=h*lt,ye+=h*Ct,ve+=h*ft,Ce+=h*Rt,pe+=h*Et,V+=h*Mt,H+=h*Kt,Z+=h*ln,W+=h*fn,Y+=h*un,h=E[11],qe+=h*R,Ve+=h*nt,Ke+=h*ht,$e+=h*pt,we+=h*Ze,Oe+=h*ct,ye+=h*lt,ve+=h*Ct,Ce+=h*ft,pe+=h*Rt,V+=h*Et,H+=h*Mt,Z+=h*Kt,W+=h*ln,Y+=h*fn,re+=h*un,h=E[12],Ve+=h*R,Ke+=h*nt,$e+=h*ht,we+=h*pt,Oe+=h*Ze,ye+=h*ct,ve+=h*lt,Ce+=h*Ct,pe+=h*ft,V+=h*Rt,H+=h*Et,Z+=h*Mt,W+=h*Kt,Y+=h*ln,re+=h*fn,Ie+=h*un,h=E[13],Ke+=h*R,$e+=h*nt,we+=h*ht,Oe+=h*pt,ye+=h*Ze,ve+=h*ct,Ce+=h*lt,pe+=h*Ct,V+=h*ft,H+=h*Rt,Z+=h*Et,W+=h*Mt,Y+=h*Kt,re+=h*ln,Ie+=h*fn,Xe+=h*un,h=E[14],$e+=h*R,we+=h*nt,Oe+=h*ht,ye+=h*pt,ve+=h*Ze,Ce+=h*ct,pe+=h*lt,V+=h*Ct,H+=h*ft,Z+=h*Rt,W+=h*Et,Y+=h*Mt,re+=h*Kt,Ie+=h*ln,Xe+=h*fn,Qe+=h*un,h=E[15],we+=h*R,Oe+=h*nt,ye+=h*ht,ve+=h*pt,Ce+=h*Ze,pe+=h*ct,V+=h*lt,H+=h*Ct,Z+=h*ft,W+=h*Rt,Y+=h*Et,re+=h*Mt,Ie+=h*Kt,Xe+=h*ln,Qe+=h*fn,We+=h*un,M+=38*Oe,k+=38*ye,G+=38*ve,oe+=38*Ce,Ee+=38*pe,ge+=38*V,dt+=38*H,xe+=38*Z,je+=38*W,Be+=38*Y,Ue+=38*re,qe+=38*Ie,Ve+=38*Xe,Ke+=38*Qe,$e+=38*We,S=1,h=M+S+65535,S=Math.floor(h/65536),M=h-S*65536,h=k+S+65535,S=Math.floor(h/65536),k=h-S*65536,h=G+S+65535,S=Math.floor(h/65536),G=h-S*65536,h=oe+S+65535,S=Math.floor(h/65536),oe=h-S*65536,h=Ee+S+65535,S=Math.floor(h/65536),Ee=h-S*65536,h=ge+S+65535,S=Math.floor(h/65536),ge=h-S*65536,h=dt+S+65535,S=Math.floor(h/65536),dt=h-S*65536,h=xe+S+65535,S=Math.floor(h/65536),xe=h-S*65536,h=je+S+65535,S=Math.floor(h/65536),je=h-S*65536,h=Be+S+65535,S=Math.floor(h/65536),Be=h-S*65536,h=Ue+S+65535,S=Math.floor(h/65536),Ue=h-S*65536,h=qe+S+65535,S=Math.floor(h/65536),qe=h-S*65536,h=Ve+S+65535,S=Math.floor(h/65536),Ve=h-S*65536,h=Ke+S+65535,S=Math.floor(h/65536),Ke=h-S*65536,h=$e+S+65535,S=Math.floor(h/65536),$e=h-S*65536,h=we+S+65535,S=Math.floor(h/65536),we=h-S*65536,M+=S-1+37*(S-1),S=1,h=M+S+65535,S=Math.floor(h/65536),M=h-S*65536,h=k+S+65535,S=Math.floor(h/65536),k=h-S*65536,h=G+S+65535,S=Math.floor(h/65536),G=h-S*65536,h=oe+S+65535,S=Math.floor(h/65536),oe=h-S*65536,h=Ee+S+65535,S=Math.floor(h/65536),Ee=h-S*65536,h=ge+S+65535,S=Math.floor(h/65536),ge=h-S*65536,h=dt+S+65535,S=Math.floor(h/65536),dt=h-S*65536,h=xe+S+65535,S=Math.floor(h/65536),xe=h-S*65536,h=je+S+65535,S=Math.floor(h/65536),je=h-S*65536,h=Be+S+65535,S=Math.floor(h/65536),Be=h-S*65536,h=Ue+S+65535,S=Math.floor(h/65536),Ue=h-S*65536,h=qe+S+65535,S=Math.floor(h/65536),qe=h-S*65536,h=Ve+S+65535,S=Math.floor(h/65536),Ve=h-S*65536,h=Ke+S+65535,S=Math.floor(h/65536),Ke=h-S*65536,h=$e+S+65535,S=Math.floor(h/65536),$e=h-S*65536,h=we+S+65535,S=Math.floor(h/65536),we=h-S*65536,M+=S-1+37*(S-1),m[0]=M,m[1]=k,m[2]=G,m[3]=oe,m[4]=Ee,m[5]=ge,m[6]=dt,m[7]=xe,m[8]=je,m[9]=Be,m[10]=Ue,m[11]=qe,m[12]=Ve,m[13]=Ke,m[14]=$e,m[15]=we}function Tt(m,E){Je(m,E,E)}function X(m,E){var v=n(),h;for(h=0;h<16;h++)v[h]=E[h];for(h=253;h>=0;h--)Tt(v,v),h!==2&&h!==4&&Je(v,v,E);for(h=0;h<16;h++)m[h]=v[h]}function be(m,E){var v=n(),h;for(h=0;h<16;h++)v[h]=E[h];for(h=250;h>=0;h--)Tt(v,v),h!==1&&Je(v,v,E);for(h=0;h<16;h++)m[h]=v[h]}function de(m,E,v){var h=new Uint8Array(32),S=new Float64Array(80),M,k,G=n(),oe=n(),Ee=n(),ge=n(),dt=n(),xe=n();for(k=0;k<31;k++)h[k]=E[k];for(h[31]=E[31]&127|64,h[0]&=248,Gt(S,v),k=0;k<16;k++)oe[k]=S[k],ge[k]=G[k]=Ee[k]=0;for(G[0]=ge[0]=1,k=254;k>=0;--k)M=h[k>>>3]>>>(k&7)&1,le(G,oe,M),le(Ee,ge,M),St(dt,G,Ee),Ht(G,G,Ee),St(Ee,oe,ge),Ht(oe,oe,ge),Tt(ge,dt),Tt(xe,G),Je(G,Ee,G),Je(Ee,oe,dt),St(dt,G,Ee),Ht(G,G,Ee),Tt(oe,G),Ht(Ee,ge,xe),Je(G,Ee,c),St(G,G,ge),Je(Ee,Ee,G),Je(G,ge,xe),Je(ge,oe,S),Tt(oe,dt),le(G,oe,M),le(Ee,ge,M);for(k=0;k<16;k++)S[k+16]=G[k],S[k+32]=Ee[k],S[k+48]=oe[k],S[k+64]=ge[k];var je=S.subarray(32),Be=S.subarray(16);return X(je,je),Je(Be,Be,je),rt(m,Be),0}function Te(m,E){return de(m,E,i)}function at(m,E){return r(E,32),Te(m,E)}function bt(m,E,v){var h=new Uint8Array(32);return de(h,v,E),O(m,s,h,N)}var C=ee,P=he;function U(m,E,v,h,S,M){var k=new Uint8Array(32);return bt(k,S,M),C(m,E,v,h,k)}function Q(m,E,v,h,S,M){var k=new Uint8Array(32);return bt(k,S,M),P(m,E,v,h,k)}var q=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function te(m,E,v,h){for(var S=new Int32Array(16),M=new Int32Array(16),k,G,oe,Ee,ge,dt,xe,je,Be,Ue,qe,Ve,Ke,$e,we,Oe,ye,ve,Ce,pe,V,H,Z,W,Y,re,Ie=m[0],Xe=m[1],Qe=m[2],We=m[3],R=m[4],nt=m[5],ht=m[6],pt=m[7],Ze=E[0],ct=E[1],lt=E[2],Ct=E[3],ft=E[4],Rt=E[5],Et=E[6],Mt=E[7],Kt=0;h>=128;){for(Ce=0;Ce<16;Ce++)pe=8*Ce+Kt,S[Ce]=v[pe+0]<<24|v[pe+1]<<16|v[pe+2]<<8|v[pe+3],M[Ce]=v[pe+4]<<24|v[pe+5]<<16|v[pe+6]<<8|v[pe+7];for(Ce=0;Ce<80;Ce++)if(k=Ie,G=Xe,oe=Qe,Ee=We,ge=R,dt=nt,xe=ht,je=pt,Be=Ze,Ue=ct,qe=lt,Ve=Ct,Ke=ft,$e=Rt,we=Et,Oe=Mt,V=pt,H=Mt,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=(R>>>14|ft<<18)^(R>>>18|ft<<14)^(ft>>>9|R<<23),H=(ft>>>14|R<<18)^(ft>>>18|R<<14)^(R>>>9|ft<<23),Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,V=R&nt^~R&ht,H=ft&Rt^~ft&Et,Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,V=q[Ce*2],H=q[Ce*2+1],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,V=S[Ce%16],H=M[Ce%16],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,ye=Y&65535|re<<16,ve=Z&65535|W<<16,V=ye,H=ve,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=(Ie>>>28|Ze<<4)^(Ze>>>2|Ie<<30)^(Ze>>>7|Ie<<25),H=(Ze>>>28|Ie<<4)^(Ie>>>2|Ze<<30)^(Ie>>>7|Ze<<25),Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,V=Ie&Xe^Ie&Qe^Xe&Qe,H=Ze&ct^Ze<^ct<,Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,je=Y&65535|re<<16,Oe=Z&65535|W<<16,V=Ee,H=Ve,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=ye,H=ve,Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,Ee=Y&65535|re<<16,Ve=Z&65535|W<<16,Xe=k,Qe=G,We=oe,R=Ee,nt=ge,ht=dt,pt=xe,Ie=je,ct=Be,lt=Ue,Ct=qe,ft=Ve,Rt=Ke,Et=$e,Mt=we,Ze=Oe,Ce%16===15)for(pe=0;pe<16;pe++)V=S[pe],H=M[pe],Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=S[(pe+9)%16],H=M[(pe+9)%16],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,ye=S[(pe+1)%16],ve=M[(pe+1)%16],V=(ye>>>1|ve<<31)^(ye>>>8|ve<<24)^ye>>>7,H=(ve>>>1|ye<<31)^(ve>>>8|ye<<24)^(ve>>>7|ye<<25),Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,ye=S[(pe+14)%16],ve=M[(pe+14)%16],V=(ye>>>19|ve<<13)^(ve>>>29|ye<<3)^ye>>>6,H=(ve>>>19|ye<<13)^(ye>>>29|ve<<3)^(ve>>>6|ye<<26),Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,S[pe]=Y&65535|re<<16,M[pe]=Z&65535|W<<16;V=Ie,H=Ze,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[0],H=E[0],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[0]=Ie=Y&65535|re<<16,E[0]=Ze=Z&65535|W<<16,V=Xe,H=ct,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[1],H=E[1],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[1]=Xe=Y&65535|re<<16,E[1]=ct=Z&65535|W<<16,V=Qe,H=lt,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[2],H=E[2],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[2]=Qe=Y&65535|re<<16,E[2]=lt=Z&65535|W<<16,V=We,H=Ct,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[3],H=E[3],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[3]=We=Y&65535|re<<16,E[3]=Ct=Z&65535|W<<16,V=R,H=ft,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[4],H=E[4],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[4]=R=Y&65535|re<<16,E[4]=ft=Z&65535|W<<16,V=nt,H=Rt,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[5],H=E[5],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[5]=nt=Y&65535|re<<16,E[5]=Rt=Z&65535|W<<16,V=ht,H=Et,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[6],H=E[6],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[6]=ht=Y&65535|re<<16,E[6]=Et=Z&65535|W<<16,V=pt,H=Mt,Z=H&65535,W=H>>>16,Y=V&65535,re=V>>>16,V=m[7],H=E[7],Z+=H&65535,W+=H>>>16,Y+=V&65535,re+=V>>>16,W+=Z>>>16,Y+=W>>>16,re+=Y>>>16,m[7]=pt=Y&65535|re<<16,E[7]=Mt=Z&65535|W<<16,Kt+=128,h-=128}return h}function fe(m,E,v){var h=new Int32Array(8),S=new Int32Array(8),M=new Uint8Array(256),k,G=v;for(h[0]=1779033703,h[1]=3144134277,h[2]=1013904242,h[3]=2773480762,h[4]=1359893119,h[5]=2600822924,h[6]=528734635,h[7]=1541459225,S[0]=4089235720,S[1]=2227873595,S[2]=4271175723,S[3]=1595750129,S[4]=2917565137,S[5]=725511199,S[6]=4215389547,S[7]=327033209,te(h,S,E,v),v%=128,k=0;k=0;--S)h=v[S/8|0]>>(S&7)&1,ce(m,E,h),ae(E,m),ae(m,m),ce(m,E,h)}function ue(m,E){var v=[n(),n(),n(),n()];se(v[0],u),se(v[1],d),se(v[2],a),Je(v[3],u,d),Pe(m,v,E)}function Ae(m,E,v){var h=new Uint8Array(64),S=[n(),n(),n(),n()],M;for(v||r(E,32),fe(h,E,32),h[0]&=248,h[31]&=127,h[31]|=64,ue(S,h),ne(m,S),M=0;M<32;M++)E[M+32]=m[M];return 0}var ke=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function tt(m,E){var v,h,S,M;for(h=63;h>=32;--h){for(v=0,S=h-32,M=h-12;S>4)*ke[S],v=E[S]>>8,E[S]&=255;for(S=0;S<32;S++)E[S]-=v*ke[S];for(h=0;h<32;h++)E[h+1]+=E[h]>>8,m[h]=E[h]&255}function yt(m){var E=new Float64Array(64),v;for(v=0;v<64;v++)E[v]=m[v];for(v=0;v<64;v++)m[v]=0;tt(m,E)}function ut(m,E,v,h){var S=new Uint8Array(64),M=new Uint8Array(64),k=new Uint8Array(64),G,oe,Ee=new Float64Array(64),ge=[n(),n(),n(),n()];fe(S,h,32),S[0]&=248,S[31]&=127,S[31]|=64;var dt=v+64;for(G=0;G>7&&Ht(m[0],o,m[0]),Je(m[3],m[0],m[1]),0)}function Ut(m,E,v,h){var S,M=new Uint8Array(32),k=new Uint8Array(64),G=[n(),n(),n(),n()],oe=[n(),n(),n(),n()];if(v<64||yn(oe,h))return-1;for(S=0;S=0},t.sign.keyPair=function(){var m=new Uint8Array(Mr),E=new Uint8Array(hs);return Ae(m,E),{publicKey:m,secretKey:E}},t.sign.keyPair.fromSecretKey=function(m){if(kn(m),m.length!==hs)throw new Error("bad secret key size");for(var E=new Uint8Array(Mr),v=0;vt in e?c5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ad=(e,t)=>{for(var n in t||(t={}))u5.call(t,n)&&c0(e,n,t[n]);if(a0)for(var n of a0(t))d5.call(t,n)&&c0(e,n,t[n]);return e},Cd=(e,t)=>l5(e,f5(t)),Gh=class extends Error{constructor(e){super("DEXIE ENCRYPT ADDON: "+e)}},h5=class extends Gh{constructor(e){super(e)}},ky=class extends Gh{constructor(e){super(e)}},Yh=class extends Gh{constructor(e){super(e)}},mu=()=>({id:"DexieEcryptedTestDoc",value:"This should be readable"}),Al={name:"__dexie-encrypted-addon__",keyString:"id, $value"};function p5(e){return!e||!Object.keys(e).filter(t=>t!==Al.name).length}async function m5(e){const t=e;if(!t.backendDB().objectStoreNames.contains(Al.name))return console.warn(new h5("A database version update is required for key change detection to work").message),!1;const s=t[Al.name],i=await s.get(mu().id).catch(o=>{if(o instanceof Yh)return null;throw o});return i===null?!0:i===void 0?(await s.add(mu()),!1):mu().value!==i.value}async function g5(e,t){const n=p5(t),r=await m5(e);if(n&&console.warn(new Yh("No encryption keys are set").message),r)throw new ky("Encryption key has changed")}var Jh=class{get secret(){return this._secret}get secretUint8Array(){return this._keyUint8Array}static createRandomEncryptionKey(){return Bo.encode(ms.randomBytes(32))}static hash(e){const t=hu.encode(JSON.stringify(e)),n=ms.hash(t);return Bo.encode(n)}encrypt(e){if(e===void 0)return e;const t=ms.randomBytes(ms.secretbox.nonceLength),n=hu.encode(JSON.stringify(e)),r=ms.secretbox(n,t,this.secretUint8Array),s=new Uint8Array(t.length+r.length);return s.set(t),s.set(r,t.length),Bo.encode(s)}decrypt(e){const t=Bo.decode(e),n=t.slice(0,ms.secretbox.nonceLength),r=t.slice(ms.secretbox.nonceLength,e.length),s=ms.secretbox.open(r,n,this.secretUint8Array);if(!s)throw new Yh("Could not decrypt message!");const i=hu.decode(s);return JSON.parse(i)}constructor(e){this._secret=e,this._keyUint8Array=Bo.decode(this._secret)}};function y5(e,t,n,r){let s=null;n.hashKey&&e===void 0&&(s=Jh.hash(t)),n.keys.forEach(i=>{t[i]!==void 0&&(t[i]=r.encrypt(t[i]))}),s&&n.hashKey&&(t[n.hashKey]=s)}function _5(e,t,n,r){return Object.entries(e).reduce((s,[i,o])=>(n.keys.some(a=>a===i)&&(s[i]=r.encrypt(o)),s),{})}function b5(e,t,n){return e&&(t.keys.forEach(r=>{e[r]!==void 0&&(e[r]=n.decrypt(e[r]))}),e)}var x5=class{getEncryptedKeys(){return Object.entries(this.schema).reduce((e,[t,n])=>{if(!n)return e;const r=n.split(",").map(c=>c.trim()),s=r.filter(c=>c.startsWith("$")).map(c=>c.replace("$","")),i=r[0],o=i.includes("#");if(!s.length&&!o)return e;const a=o?i.replace("#","").replace("++",""):null;return Cd(Ad({},e),{[t]:{keys:s,hashKey:a}})},{})}getCleanedSchema(){return Object.entries(this.schema).reduce((e,[t,n])=>{if(!n)return e;const r=n.split(",").map(i=>i.trim());r[0]=r[0].replace("#","");const s=r.filter(i=>!i.startsWith("$")).join(",");return Cd(Ad({},e),{[t]:s})},{})}addTables(e){e.forEach(t=>{t.name in this.schema||(this.schema[t.name]=t.keyString)})}constructor(e){this.schema=e}};function Od(e,t){const n=e;n.pVermeerAddonsRegistered=Cd(Ad({},n.pVermeerAddonsRegistered),{encrypted:!0}),e.close();let r,s=!0;if(t&&(t.secretKey&&(r=t.secretKey),t.immutable!==void 0&&(s=t.immutable)),!r)throw new ky("Secret key is not provided");s&&!n.pVermeerAddonsRegistered.immutable&&e5(e);let i;const o=new Jh(r);e.Version.prototype._parseStoresSpec=hn.override(e.Version.prototype._parseStoresSpec,a=>function(c,f){const l=new x5(c);l.addTables([Al]);const u=l.getEncryptedKeys(),d=l.getCleanedSchema();return i=u,a.apply(this,[d,f])}),e.on("ready",async()=>{Object.entries(i).forEach(([a,c])=>{const f=e.table(a),l=f.schema.readHook,u=d=>{const p=hn.currentTransaction,y=p!=null&&p.raw?d:b5(d,c,o);return l?l(y):y};f.schema.readHook&&f.hook.reading.unsubscribe(f.schema.readHook),f.schema.readHook=u,f.hook("reading",u),f.hook("creating",(d,p)=>{const y=hn.currentTransaction;return y!=null&&y.raw?p:y5(d,p,c,o)}),f.hook("updating",(d,p)=>{const y=hn.currentTransaction;return y!=null&&y.raw?d:_5(d,p,c,o)})}),await g5(e,i)})}Od.setOptions=e=>t=>Od(t,e);function Ft(e){return e!=null&&typeof e=="object"&&e["@@functional/placeholder"]===!0}function ii(e){return function t(n){return arguments.length===0||Ft(n)?t:e.apply(this,arguments)}}function ni(e){return function t(n,r){switch(arguments.length){case 0:return t;case 1:return Ft(n)?t:ii(function(s){return e(n,s)});default:return Ft(n)&&Ft(r)?t:Ft(n)?ii(function(s){return e(s,r)}):Ft(r)?ii(function(s){return e(n,s)}):e(n,r)}}}function Dy(e){return function t(n,r,s){switch(arguments.length){case 0:return t;case 1:return Ft(n)?t:ni(function(i,o){return e(n,i,o)});case 2:return Ft(n)&&Ft(r)?t:Ft(n)?ni(function(i,o){return e(i,r,o)}):Ft(r)?ni(function(i,o){return e(n,i,o)}):ii(function(i){return e(n,r,i)});default:return Ft(n)&&Ft(r)&&Ft(s)?t:Ft(n)&&Ft(r)?ni(function(i,o){return e(i,o,s)}):Ft(n)&&Ft(s)?ni(function(i,o){return e(i,r,o)}):Ft(r)&&Ft(s)?ni(function(i,o){return e(n,i,o)}):Ft(n)?ii(function(i){return e(i,r,s)}):Ft(r)?ii(function(i){return e(n,i,s)}):Ft(s)?ii(function(i){return e(n,r,i)}):e(n,r,s)}}}function Oc(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function l0(e){return Object.prototype.toString.call(e)==="[object Object]"}var v5=Dy(function(t,n,r){var s={},i;n=n||{},r=r||{};for(i in n)Oc(i,n)&&(s[i]=Oc(i,r)?t(i,n[i],r[i]):n[i]);for(i in r)Oc(i,r)&&!Oc(i,s)&&(s[i]=r[i]);return s}),E5=Dy(function e(t,n,r){return v5(function(s,i,o){return l0(i)&&l0(o)?e(t,i,o):t(s,i,o)},n,r)}),w5=ni(function(t,n){return E5(function(r,s,i){return i},t,n)});const S5={accounts:"++id, dateCreated, derivationPath, did, $identity, $mnemonic, publicKeyHex"},T5={contacts:"&did, name"},A5={logs:"date"},C5={secret:"++id, secret"},f0=0;function b9(e){return!!(e!=null&&e.filterFeedByNearby||e!=null&&e.filterFeedByVisible)}const O5={settings:"id, &accountDid"},Qh=1,x9=15,N5={temp:"id"};var R5=(e=>(e.APP_NAME="Time Safari",e.PROD_ENDORSER_API_SERVER="https://api.endorser.ch",e.TEST_ENDORSER_API_SERVER="https://test-api.endorser.ch",e.LOCAL_ENDORSER_API_SERVER="http://localhost:3000",e.PROD_IMAGE_API_SERVER="https://image-api.timesafari.app",e.TEST_IMAGE_API_SERVER="https://test-image-api.timesafari.app",e.LOCAL_IMAGE_API_SERVER="http://localhost:3001",e.PROD_PARTNER_API_SERVER="https://partner-api.endorser.ch",e.TEST_PARTNER_API_SERVER="https://test-partner-api.endorser.ch",e.LOCAL_PARTNER_API_SERVER="http://localhost:3000",e.PROD_PUSH_SERVER="https://timesafari.app",e.TEST1_PUSH_SERVER="https://test.timesafari.app",e.TEST2_PUSH_SERVER="https://timesafari-pwa.anomalistlabs.com",e.NO_CONTACT_NAME="(no name)",e))(R5||{});const v9="https://timesafari.app",P5="https://test-api.endorser.ch",E9="https://test-image-api.timesafari.app",w9="https://test-partner-api.endorser.ch",S9=window.location.protocol+"//"+window.location.host,T9="profile",A9=!1,Fy=new hn("TimeSafariSecret");Fy.version(1).stores(C5);const I5=new hn("TimeSafariAccounts"),L5=M5(Fy,I5),En=new hn("TimeSafari");En.version(2).stores({...T5,...A5,settings:"id"});En.version(3).stores(N5);En.version(4).stores(O5).upgrade(e=>e.table("settings").toCollection().modify(t=>{t.accountDid=""}));const jy={id:Qh,activeDid:void 0,apiServer:P5};En.on("populate",async()=>{await En.settings.add(jy)});async function M5(e,t){return e.open().then(()=>e.secret.get(f0)).then(n=>{let r=n==null?void 0:n.secret;if(r!=null)return r;{const s=localStorage.getItem("secret");return s!=null?r=s:r=Jh.createRandomEncryptionKey(),e.secret.add({id:f0,secret:r}).then(()=>r)}}).then(n=>{if(n==null)throw new Error("No secret found or created.");return Od(t,{secretKey:n}),t.version(1).stores(S5),t.open(),t}).catch(n=>{throw Xi("Error processing secret & encrypted accountsDB.",n),n})}async function k5(){return await En.open(),await En.settings.get(Qh)||jy}async function D5(){const e=await k5();if(e.activeDid){const t=await En.settings.where("accountDid").equals(e.activeDid).first()||{};return w5(e,t)}else return e}async function Uy(e){await En.open(),e.accountDid?await En.settings.where("accountDid").equals(e.accountDid).modify(e)===0&&(e.id||(e.id=await En.settings.count()+1),await En.settings.add(e)):(delete e.id,await En.settings.update(Qh,e))}async function C9(e){delete e.accountDid,await Uy(e)}async function O9(e,t){t.accountDid=e,await Uy(t)}async function Xi(e,t=!1){t?console.error(`${new Date().toISOString()} ${e}`):console.log(`${new Date().toISOString()} ${e}`),await En.open();const n=new Date().toDateString(),r=await En.logs.get(n);r||await En.logs.clear();const i=`${r&&r.message||""} +${new Date().toISOString()} ${e}`;await En.logs.update(n,{message:i})}var F5=Object.defineProperty,j5=Object.getOwnPropertyDescriptor,U5=(e,t,n,r)=>{for(var s=r>1?void 0:r?j5(t,n):t,i=e.length-1,o;i>=0;i--)(o=e[i])&&(s=(r?o(t,n,s):o(s))||s);return r&&s&&F5(t,n,s),s};let Nd=class extends Zv{constructor(){super(...arguments);qf(this,"$notify");qf(this,"stopAsking",!1)}created(){console.log("Component created: Reactivity set up.",window.location.pathname)}beforeCreate(){console.log("Component beforeCreate: Instance initialized.")}beforeMount(){console.log("Component beforeMount: Template is about to be rendered.")}mounted(){console.log("Component mounted: Template is now rendered.")}beforeUpdate(){console.log("Component beforeUpdate: DOM is about to be updated.")}updated(){console.log("Component updated: DOM has been updated.")}beforeUnmount(){console.log("Component beforeUnmount: Cleaning up before removal.")}unmounted(){console.log("Component unmounted: Component removed from the DOM.")}async turnOffNotifications(n){var i;console.log("Starting turnOffNotifications...");let r=null,s=!1;try{console.log("Retrieving settings for the active account...");const o=await D5();console.log("Retrieved settings:",o);const a=!!(o!=null&&o.notifyingNewActivityTime),c=!!(o!=null&&o.notifyingReminderTime);if((!a||!c)&&(s=!0,console.log("Both notifications are being turned off.")),console.log("Checking service worker readiness..."),await((i=navigator.serviceWorker)==null?void 0:i.ready.then(d=>(console.log("Service worker is ready. Fetching subscription..."),d.pushManager.getSubscription())).then(async d=>{d?(r=d.toJSON(),console.log("PushSubscription retrieved:",r),s&&(console.log("Unsubscribing from push notifications..."),await d.unsubscribe(),console.log("Successfully unsubscribed."))):(Xi("Subscription object is not available."),console.log("No subscription found."))}).catch(d=>{Xi("Push provider server communication failed: "+JSON.stringify(d),!0),console.error("Error during subscription fetch:",d)})),!r)return console.log("No subscription available. Notifying user..."),this.$notify({group:"alert",type:"info",title:"Finished",text:"Notifications are off."},5e3),console.log("Exiting as there is no subscription to process."),!0;const f={...r};s||(f.notifyType=n.title,console.log(`Server subscription updated with notifyType: ${n.title}`)),console.log("Sending unsubscribe request to the server...");const l=await fetch("/web-push/unsubscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)}).then(async d=>{if(!d.ok){const p=await d.text();Xi(`Push server failed: ${d.status} ${p}`,!0),console.error("Push server error response:",p)}return console.log(`Server response status: ${d.status}`),d.ok}).catch(d=>(Xi("Push server communication failed: "+JSON.stringify(d),!0),console.error("Error during server communication:",d),!1)),u=l?"Notification is off.":"Notification is still on. Try to turn it off again.";return console.log("Server response processed. Message:",u),this.$notify({group:"alert",type:"info",title:"Finished",text:u},5e3),n.callback&&(console.log("Executing notification callback..."),n.callback(l)),console.log("Completed turnOffNotifications with success:",l),l}catch(o){return Xi("Error turning off notifications: "+JSON.stringify(o),!0),console.error("Critical error in turnOffNotifications:",o),this.$notify({group:"alert",type:"error",title:"Error",text:"Failed to turn off notifications. Please try again."},5e3),!1}}};Nd=U5([Qv],Nd);const B5=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},V5={class:"fixed top-4 right-4 w-full max-w-sm flex flex-col items-start justify-end"},$5={key:0,class:"w-full max-w-sm mx-auto mb-3 overflow-hidden bg-slate-900/90 text-white rounded-lg shadow-md"},H5={class:"w-full px-4 py-3"},z5={class:"font-semibold"},K5={class:"text-sm"},q5={key:1,class:"flex w-full max-w-sm mx-auto mb-3 overflow-hidden bg-slate-100 rounded-lg shadow-md"},X5={class:"flex items-center justify-center w-12 bg-slate-600 text-slate-100"},W5={class:"relative w-full pl-4 pr-8 py-2 text-slate-900"},G5={class:"font-semibold"},Y5={class:"text-sm"},J5=["onClick"],Q5={key:2,class:"flex w-full max-w-sm mx-auto mb-3 overflow-hidden bg-emerald-100 rounded-lg shadow-md"},Z5={class:"flex items-center justify-center w-12 bg-emerald-600 text-emerald-100"},e8={class:"relative w-full pl-4 pr-8 py-2 text-emerald-900"},t8={class:"font-semibold"},n8={class:"text-sm"},r8=["onClick"],s8={key:3,class:"flex w-full max-w-sm mx-auto mb-3 overflow-hidden bg-amber-100 rounded-lg shadow-md"},i8={class:"flex items-center justify-center w-12 bg-amber-600 text-amber-100"},o8={class:"relative w-full pl-4 pr-8 py-2 text-amber-900"},a8={class:"font-semibold"},c8={class:"text-sm"},l8=["onClick"],f8={key:4,class:"flex w-full max-w-sm mx-auto mb-3 overflow-hidden bg-rose-100 rounded-lg shadow-md"},u8={class:"flex items-center justify-center w-12 bg-rose-600 text-rose-100"},d8={class:"relative w-full pl-4 pr-8 py-2 text-rose-900"},h8={class:"font-semibold"},p8={class:"text-sm"},m8=["onClick"],g8={class:"fixed z-[100] top-0 inset-x-0 w-full"},y8={key:0,class:"absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"},_8={class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg"},b8={class:"w-full px-6 py-6 text-slate-900 text-center"},x8={class:"font-semibold text-lg"},v8={class:"text-sm mb-2"},E8=["onClick"],w8=["onClick"],S8={class:"relative ml-2"},T8=["onClick"],A8={key:1,class:"absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"},C8={class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg"},O8={class:"w-full px-6 py-6 text-slate-900 text-center"},N8=["onClick"],R8={key:2,class:"absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"},P8={class:"flex w-11/12 max-w-sm mx-auto mb-3 overflow-hidden bg-white rounded-lg shadow-lg"},I8={class:"w-full px-6 py-6 text-slate-900 text-center"},L8=["onClick"],M8=["onClick"];function k8(e,t,n,r,s,i){const o=zo("router-view"),a=zo("fa"),c=zo("Notification"),f=zo("NotificationGroup");return Bt(),xn(Xt,null,[st(o),st(f,{group:"alert"},{default:Ns(()=>[De("div",V5,[st(c,{enter:"transform ease-out duration-300 transition","enter-from":"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-4","enter-to":"translate-y-0 opacity-100 sm:translate-x-0",leave:"transition ease-in duration-500","leave-from":"opacity-100","leave-to":"opacity-0",move:"transition duration-500","move-delay":"delay-300"},{default:Ns(({notifications:l,close:u})=>[(Bt(!0),xn(Xt,null,Uu(l,d=>(Bt(),xn("div",{key:d.id,class:"w-full",role:"alert"},[d.type==="toast"?(Bt(),xn("div",$5,[De("div",H5,[De("span",z5,dn(d.title),1),De("p",K5,dn(d.text),1)])])):lr("",!0),d.type==="info"?(Bt(),xn("div",q5,[De("div",X5,[st(a,{icon:"circle-info",class:"fa-fw fa-xl"})]),De("div",W5,[De("span",G5,dn(d.title),1),De("p",Y5,dn(d.text),1),De("button",{onClick:p=>u(d.id),class:"absolute top-2 right-2 px-0.5 py-0 rounded-full bg-slate-200 text-slate-600"},[st(a,{icon:"xmark",class:"fa-fw"})],8,J5)])])):lr("",!0),d.type==="success"?(Bt(),xn("div",Q5,[De("div",Z5,[st(a,{icon:"circle-info",class:"fa-fw fa-xl"})]),De("div",e8,[De("span",t8,dn(d.title),1),De("p",n8,dn(d.text),1),De("button",{onClick:p=>u(d.id),class:"absolute top-2 right-2 px-0.5 py-0 rounded-full bg-emerald-200 text-emerald-600"},[st(a,{icon:"xmark",class:"fa-fw"})],8,r8)])])):lr("",!0),d.type==="warning"?(Bt(),xn("div",s8,[De("div",i8,[st(a,{icon:"triangle-exclamation",class:"fa-fw fa-xl"})]),De("div",o8,[De("span",a8,dn(d.title),1),De("p",c8,dn(d.text),1),De("button",{onClick:p=>u(d.id),class:"absolute top-2 right-2 px-0.5 py-0 rounded-full bg-amber-200 text-amber-600"},[st(a,{icon:"xmark",class:"fa-fw"})],8,l8)])])):lr("",!0),d.type==="danger"?(Bt(),xn("div",f8,[De("div",u8,[st(a,{icon:"triangle-exclamation",class:"fa-fw fa-xl"})]),De("div",d8,[De("span",h8,dn(d.title),1),De("p",p8,dn(d.text),1),De("button",{onClick:p=>u(d.id),class:"absolute top-2 right-2 px-0.5 py-0 rounded-full bg-rose-200 text-rose-600"},[st(a,{icon:"xmark",class:"fa-fw"})],8,m8)])])):lr("",!0)]))),128))]),_:1})])]),_:1}),st(f,{group:"modal"},{default:Ns(()=>[De("div",g8,[st(c,{enter:"transform ease-out duration-300 transition","enter-from":"translate-y-2 opacity-0 sm:translate-y-4","enter-to":"translate-y-0 opacity-100 sm:translate-y-0",leave:"transition ease-in duration-500","leave-from":"opacity-100","leave-to":"opacity-0",move:"transition duration-500","move-delay":"delay-300"},{default:Ns(({notifications:l,close:u})=>[(Bt(!0),xn(Xt,null,Uu(l,d=>(Bt(),xn("div",{key:d.id,class:"w-full",role:"alert"},[d.type==="confirm"?(Bt(),xn("div",y8,[De("div",_8,[De("div",b8,[De("span",x8,dn(d.title),1),De("p",v8,dn(d.text),1),d.onYes?(Bt(),xn("button",{key:0,onClick:p=>{d.onYes(),u(d.id)},class:"block w-full text-center text-md font-bold uppercase bg-blue-600 text-white px-2 py-2 rounded-md mb-2"}," Yes"+dn(d.yesText?", "+d.yesText:""),9,E8)):lr("",!0),d.onNo?(Bt(),xn("button",{key:1,onClick:p=>{d.onNo(e.stopAsking),u(d.id),e.stopAsking=!1},class:"block w-full text-center text-md font-bold uppercase bg-yellow-600 text-white px-2 py-2 rounded-md mb-2"}," No"+dn(d.noText?", "+d.noText:""),9,w8)):lr("",!0),d.promptToStopAsking&&d.onNo?(Bt(),xn("label",{key:2,for:"toggleStopAsking",class:"flex items-center justify-between cursor-pointer my-4",onClick:t[1]||(t[1]=p=>e.stopAsking=!e.stopAsking)},[t[4]||(t[4]=De("span",{class:"ml-2"},"... and do not ask again.",-1)),De("div",S8,[C2(De("input",{type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=p=>e.stopAsking=p),name:"stopAsking",class:"sr-only"},null,512),[[af,e.stopAsking]]),t[2]||(t[2]=De("div",{class:"block bg-slate-500 w-14 h-8 rounded-full"},null,-1)),t[3]||(t[3]=De("div",{class:"dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"},null,-1))])])):lr("",!0),De("button",{onClick:p=>{d.onCancel&&d.onCancel(e.stopAsking),u(d.id),e.stopAsking=!1},class:"block w-full text-center text-md font-bold uppercase bg-slate-600 text-white px-2 py-2 rounded-md"},dn(d.onYes?"Cancel":"Close"),9,T8)])])])):lr("",!0),d.type==="notification-mute"?(Bt(),xn("div",A8,[De("div",C8,[De("div",O8,[t[5]||(t[5]=De("p",{class:"text-lg mb-4"},"Mute app notifications:",-1)),t[6]||(t[6]=De("button",{class:"block w-full text-center text-md font-bold uppercase bg-blue-600 text-white px-2 py-2 rounded-md mb-2"}," For 1 Day ",-1)),t[7]||(t[7]=De("button",{class:"block w-full text-center text-md font-bold uppercase bg-blue-600 text-white px-2 py-2 rounded-md mb-2"}," For 2 Days ",-1)),t[8]||(t[8]=De("button",{class:"block w-full text-center text-md font-bold uppercase bg-blue-600 text-white px-2 py-2 rounded-md mb-2"}," For 1 Week ",-1)),t[9]||(t[9]=De("button",{class:"block w-full text-center text-md font-bold uppercase bg-blue-600 text-white px-2 py-2 rounded-md mb-2"}," Until I turn it back on ",-1)),De("button",{onClick:p=>u(d.id),class:"block w-full text-center text-md font-bold uppercase bg-slate-600 text-white px-2 py-2 rounded-md"}," Cancel ",8,N8)])])])):lr("",!0),d.type==="notification-off"?(Bt(),xn("div",R8,[De("div",P8,[De("div",I8,[t[10]||(t[10]=De("p",{class:"text-lg mb-4"},[wa(" Would you like to "),De("b",null,"turn off"),wa(" this notification? ")],-1)),De("button",{onClick:p=>{u(d.id),e.turnOffNotifications(d)},class:"block w-full text-center text-md font-bold uppercase bg-rose-600 text-white px-2 py-2 rounded-md mb-2"}," Turn Off Notification ",8,L8),De("button",{onClick:p=>u(d.id),class:"block w-full text-center text-md font-bold uppercase bg-slate-600 text-white px-2 py-2 rounded-md"}," Leave it On ",8,M8)])])])):lr("",!0)]))),128))]),_:1})])]),_:1})],64)}const D8=B5(Nd,[["render",k8]]),F8="modulepreload",j8=function(e,t){return new URL(e,t).href},u0={},Ge=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),c=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(n.map(f=>{if(f=j8(f,r),f in u0)return;u0[f]=!0;const l=f.endsWith(".css"),u=l?'[rel="stylesheet"]':"";if(!!r)for(let y=o.length-1;y>=0;y--){const g=o[y];if(g.href===f&&(!l||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${u}`))return;const p=document.createElement("link");if(p.rel=l?"stylesheet":F8,l||(p.as="script"),p.crossOrigin="",p.href=f,c&&p.setAttribute("nonce",c),document.head.appendChild(p),l)return new Promise((y,g)=>{p.addEventListener("load",y),p.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${f}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})};/*! + * vue-router v4.5.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const Wi=typeof document<"u";function By(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function U8(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&By(e.default)}const wt=Object.assign;function gu(e,t){const n={};for(const r in t){const s=t[r];n[r]=vr(s)?s.map(e):e(s)}return n}const ca=()=>{},vr=Array.isArray,Vy=/#/g,B8=/&/g,V8=/\//g,$8=/=/g,H8=/\?/g,$y=/\+/g,z8=/%5B/g,K8=/%5D/g,Hy=/%5E/g,q8=/%60/g,zy=/%7B/g,X8=/%7C/g,Ky=/%7D/g,W8=/%20/g;function Zh(e){return encodeURI(""+e).replace(X8,"|").replace(z8,"[").replace(K8,"]")}function G8(e){return Zh(e).replace(zy,"{").replace(Ky,"}").replace(Hy,"^")}function Rd(e){return Zh(e).replace($y,"%2B").replace(W8,"+").replace(Vy,"%23").replace(B8,"%26").replace(q8,"`").replace(zy,"{").replace(Ky,"}").replace(Hy,"^")}function Y8(e){return Rd(e).replace($8,"%3D")}function J8(e){return Zh(e).replace(Vy,"%23").replace(H8,"%3F")}function Q8(e){return e==null?"":J8(e).replace(V8,"%2F")}function Pa(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Z8=/\/$/,ew=e=>e.replace(Z8,"");function yu(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let c=t.indexOf("?");return a=0&&(c=-1),c>-1&&(r=t.slice(0,c),i=t.slice(c+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=sw(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:Pa(o)}}function tw(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function d0(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nw(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&uo(t.matched[r],n.matched[s])&&qy(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function uo(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function qy(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!rw(e[n],t[n]))return!1;return!0}function rw(e,t){return vr(e)?h0(e,t):vr(t)?h0(t,e):e===t}function h0(e,t){return vr(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function sw(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const gs={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ho;(function(e){e.pop="pop",e.push="push"})(ho||(ho={}));var bi;(function(e){e.back="back",e.forward="forward",e.unknown=""})(bi||(bi={}));const _u="";function Xy(e){if(!e)if(Wi){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),ew(e)}const iw=/^[^#]+#/;function Wy(e,t){return e.replace(iw,"#")+t}function ow(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const df=()=>({left:window.scrollX,top:window.scrollY});function aw(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=ow(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function p0(e,t){return(history.state?history.state.position-t:-1)+e}const Pd=new Map;function cw(e,t){Pd.set(e,t)}function lw(e){const t=Pd.get(e);return Pd.delete(e),t}let fw=()=>location.protocol+"//"+location.host;function Gy(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,c=s.slice(a);return c[0]!=="/"&&(c="/"+c),d0(c,"")}return d0(n,e)+r+s}function uw(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const p=Gy(e,location),y=n.value,g=t.value;let w=0;if(d){if(n.value=p,t.value=d,o&&o===y){o=null;return}w=g?d.position-g.position:0}else r(p);s.forEach(x=>{x(n.value,y,{delta:w,type:ho.pop,direction:w?w>0?bi.forward:bi.back:bi.unknown})})};function c(){o=n.value}function f(d){s.push(d);const p=()=>{const y=s.indexOf(d);y>-1&&s.splice(y,1)};return i.push(p),p}function l(){const{history:d}=window;d.state&&d.replaceState(wt({},d.state,{scroll:df()}),"")}function u(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:c,listen:f,destroy:u}}function m0(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?df():null}}function dw(e){const{history:t,location:n}=window,r={value:Gy(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,f,l){const u=e.indexOf("#"),d=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+c:fw()+e+c;try{t[l?"replaceState":"pushState"](f,"",d),s.value=f}catch(p){console.error(p),n[l?"replace":"assign"](d)}}function o(c,f){const l=wt({},t.state,m0(s.value.back,c,s.value.forward,!0),f,{position:s.value.position});i(c,l,!0),r.value=c}function a(c,f){const l=wt({},s.value,t.state,{forward:c,scroll:df()});i(l.current,l,!0);const u=wt({},m0(r.value,c,null),{position:l.position+1},f);i(c,u,!1),r.value=c}return{location:r,state:s,push:a,replace:o}}function hw(e){e=Xy(e);const t=dw(e),n=uw(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=wt({location:"",base:e,go:r,createHref:Wy.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function pw(e=""){let t=[],n=[_u],r=0;e=Xy(e);function s(a){r++,r!==n.length&&n.splice(r),n.push(a)}function i(a,c,{direction:f,delta:l}){const u={direction:f,delta:l,type:ho.pop};for(const d of t)d(a,c,u)}const o={location:_u,state:{},base:e,createHref:Wy.bind(null,e),replace(a){n.splice(r--,1),s(a)},push(a,c){s(a)},listen(a){return t.push(a),()=>{const c=t.indexOf(a);c>-1&&t.splice(c,1)}},destroy(){t=[],n=[_u],r=0},go(a,c=!0){const f=this.location,l=a<0?bi.back:bi.forward;r=Math.max(0,Math.min(r+a,n.length-1)),c&&i(this.location,f,{direction:l,delta:a})}};return Object.defineProperty(o,"location",{enumerable:!0,get:()=>n[r]}),o}function mw(e){return typeof e=="string"||e&&typeof e=="object"}function Yy(e){return typeof e=="string"||typeof e=="symbol"}const Jy=Symbol("");var g0;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(g0||(g0={}));function po(e,t){return wt(new Error,{type:e,[Jy]:!0},t)}function Br(e,t){return e instanceof Error&&Jy in e&&(t==null||!!(e.type&t))}const y0="[^/]+?",gw={sensitive:!1,strict:!1,start:!0,end:!0},yw=/[.+*?^${}()[\]/\\]/g;function _w(e,t){const n=wt({},gw,t),r=[];let s=n.start?"^":"";const i=[];for(const f of e){const l=f.length?[]:[90];n.strict&&!f.length&&(s+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function Qy(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const xw={type:0,value:""},vw=/[a-zA-Z0-9_]/;function Ew(e){if(!e)return[[]];if(e==="/")return[[xw]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${f}": ${p}`)}let n=0,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,c,f="",l="";function u(){f&&(n===0?i.push({type:0,value:f}):n===1||n===2||n===3?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:f,regexp:l,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),f="")}function d(){f+=c}for(;a{o(b)}:ca}function o(u){if(Yy(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function c(u){const d=Cw(u,n);n.splice(d,0,u),u.record.name&&!v0(u)&&r.set(u.record.name,u)}function f(u,d){let p,y={},g,w;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw po(1,{location:u});w=p.record.name,y=wt(b0(d.params,p.keys.filter(b=>!b.optional).concat(p.parent?p.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),u.params&&b0(u.params,p.keys.map(b=>b.name))),g=p.stringify(y)}else if(u.path!=null)g=u.path,p=n.find(b=>b.re.test(g)),p&&(y=p.parse(g),w=p.record.name);else{if(p=d.name?r.get(d.name):n.find(b=>b.re.test(d.path)),!p)throw po(1,{location:u,currentLocation:d});w=p.record.name,y=wt({},d.params,u.params),g=p.stringify(y)}const x=[];let _=p;for(;_;)x.unshift(_.record),_=_.parent;return{name:w,path:g,params:y,matched:x,meta:Aw(x)}}e.forEach(u=>i(u));function l(){n.length=0,r.clear()}return{addRoute:i,resolve:f,removeRoute:o,clearRoutes:l,getRoutes:a,getRecordMatcher:s}}function b0(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function x0(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Tw(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Tw(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function v0(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Aw(e){return e.reduce((t,n)=>wt(t,n.meta),{})}function E0(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Cw(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;Qy(e,t[i])<0?r=i:n=i+1}const s=Ow(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Ow(e){let t=e;for(;t=t.parent;)if(Zy(t)&&Qy(e,t)===0)return t}function Zy({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Nw(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&Rd(i)):[r&&Rd(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function Rw(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=vr(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Pw=Symbol(""),S0=Symbol(""),ep=Symbol(""),e3=Symbol(""),Id=Symbol("");function Vo(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function As(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,c)=>{const f=d=>{d===!1?c(po(4,{from:n,to:t})):d instanceof Error?c(d):mw(d)?c(po(2,{from:t,to:d})):(o&&r.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),a())},l=i(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(l);e.length<3&&(u=u.then(f)),u.catch(d=>c(d))})}function bu(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let c=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(By(c)){const l=(c.__vccOpts||c)[t];l&&i.push(As(l,n,r,o,a,s))}else{let f=c();i.push(()=>f.then(l=>{if(!l)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const u=U8(l)?l.default:l;o.mods[a]=l,o.components[a]=u;const p=(u.__vccOpts||u)[t];return p&&As(p,n,r,o,a,s)()}))}}return i}function T0(e){const t=br(ep),n=br(e3),r=Wt(()=>{const c=Zr(e.to);return t.resolve(c)}),s=Wt(()=>{const{matched:c}=r.value,{length:f}=c,l=c[f-1],u=n.matched;if(!l||!u.length)return-1;const d=u.findIndex(uo.bind(null,l));if(d>-1)return d;const p=A0(c[f-2]);return f>1&&A0(l)===p&&u[u.length-1].path!==p?u.findIndex(uo.bind(null,c[f-2])):d}),i=Wt(()=>s.value>-1&&Dw(n.params,r.value.params)),o=Wt(()=>s.value>-1&&s.value===n.matched.length-1&&qy(n.params,r.value.params));function a(c={}){if(kw(c)){const f=t[Zr(e.replace)?"replace":"push"](Zr(e.to)).catch(ca);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:Wt(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}function Iw(e){return e.length===1?e[0]:e}const Lw=fs({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:T0,setup(e,{slots:t}){const n=So(T0(e)),{options:r}=br(ep),s=Wt(()=>({[C0(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[C0(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Iw(t.default(n));return e.custom?i:Wa("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Mw=Lw;function kw(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Dw(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!vr(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function A0(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const C0=(e,t,n)=>e??t??n,Fw=fs({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=br(Id),s=Wt(()=>e.route||r.value),i=br(S0,0),o=Wt(()=>{let f=Zr(i);const{matched:l}=s.value;let u;for(;(u=l[f])&&!u.components;)f++;return f}),a=Wt(()=>s.value.matched[o.value]);Zi(S0,Wt(()=>o.value+1)),Zi(Pw,a),Zi(Id,s);const c=pi();return Ls(()=>[c.value,a.value,e.name],([f,l,u],[d,p,y])=>{l&&(l.instances[u]=f,p&&p!==l&&f&&f===d&&(l.leaveGuards.size||(l.leaveGuards=p.leaveGuards),l.updateGuards.size||(l.updateGuards=p.updateGuards))),f&&l&&(!p||!uo(l,p)||!d)&&(l.enterCallbacks[u]||[]).forEach(g=>g(f))},{flush:"post"}),()=>{const f=s.value,l=e.name,u=a.value,d=u&&u.components[l];if(!d)return O0(n.default,{Component:d,route:f});const p=u.props[l],y=p?p===!0?f.params:typeof p=="function"?p(f):p:null,w=Wa(d,wt({},y,t,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(u.instances[l]=null)},ref:c}));return O0(n.default,{Component:w,route:f})||w}}});function O0(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const jw=Fw;function Uw(e){const t=Sw(e.routes,e),n=e.parseQuery||Nw,r=e.stringifyQuery||w0,s=e.history,i=Vo(),o=Vo(),a=Vo(),c=_h(gs);let f=gs;Wi&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const l=gu.bind(null,X=>""+X),u=gu.bind(null,Q8),d=gu.bind(null,Pa);function p(X,be){let de,Te;return Yy(X)?(de=t.getRecordMatcher(X),Te=be):Te=X,t.addRoute(Te,de)}function y(X){const be=t.getRecordMatcher(X);be&&t.removeRoute(be)}function g(){return t.getRoutes().map(X=>X.record)}function w(X){return!!t.getRecordMatcher(X)}function x(X,be){if(be=wt({},be||c.value),typeof X=="string"){const P=yu(n,X,be.path),U=t.resolve({path:P.path},be),Q=s.createHref(P.fullPath);return wt(P,U,{params:d(U.params),hash:Pa(P.hash),redirectedFrom:void 0,href:Q})}let de;if(X.path!=null)de=wt({},X,{path:yu(n,X.path,be.path).path});else{const P=wt({},X.params);for(const U in P)P[U]==null&&delete P[U];de=wt({},X,{params:u(P)}),be.params=u(be.params)}const Te=t.resolve(de,be),at=X.hash||"";Te.params=l(d(Te.params));const bt=tw(r,wt({},X,{hash:G8(at),path:Te.path})),C=s.createHref(bt);return wt({fullPath:bt,hash:at,query:r===w0?Rw(X.query):X.query||{}},Te,{redirectedFrom:void 0,href:C})}function _(X){return typeof X=="string"?yu(n,X,c.value.path):wt({},X)}function b(X,be){if(f!==X)return po(8,{from:be,to:X})}function T(X){return L(X)}function O(X){return T(wt(_(X),{replace:!0}))}function N(X){const be=X.matched[X.matched.length-1];if(be&&be.redirect){const{redirect:de}=be;let Te=typeof de=="function"?de(X):de;return typeof Te=="string"&&(Te=Te.includes("?")||Te.includes("#")?Te=_(Te):{path:Te},Te.params={}),wt({query:X.query,hash:X.hash,params:Te.path!=null?{}:X.params},Te)}}function L(X,be){const de=f=x(X),Te=c.value,at=X.state,bt=X.force,C=X.replace===!0,P=N(de);if(P)return L(wt(_(P),{state:typeof P=="object"?wt({},at,P.state):at,force:bt,replace:C}),be||de);const U=de;U.redirectedFrom=be;let Q;return!bt&&nw(r,Te,de)&&(Q=po(16,{to:U,from:Te}),jt(Te,Te,!0,!1)),(Q?Promise.resolve(Q):D(U,Te)).catch(q=>Br(q)?Br(q,2)?q:Me(q):le(q,U,Te)).then(q=>{if(q){if(Br(q,2))return L(wt({replace:C},_(q.to),{state:typeof q.to=="object"?wt({},at,q.to.state):at,force:bt}),be||U)}else q=F(U,Te,!0,C,at);return K(U,Te,q),q})}function j(X,be){const de=b(X,be);return de?Promise.reject(de):Promise.resolve()}function I(X){const be=Ht.values().next().value;return be&&typeof be.runWithContext=="function"?be.runWithContext(X):X()}function D(X,be){let de;const[Te,at,bt]=Bw(X,be);de=bu(Te.reverse(),"beforeRouteLeave",X,be);for(const P of Te)P.leaveGuards.forEach(U=>{de.push(As(U,X,be))});const C=j.bind(null,X,be);return de.push(C),Tt(de).then(()=>{de=[];for(const P of i.list())de.push(As(P,X,be));return de.push(C),Tt(de)}).then(()=>{de=bu(at,"beforeRouteUpdate",X,be);for(const P of at)P.updateGuards.forEach(U=>{de.push(As(U,X,be))});return de.push(C),Tt(de)}).then(()=>{de=[];for(const P of bt)if(P.beforeEnter)if(vr(P.beforeEnter))for(const U of P.beforeEnter)de.push(As(U,X,be));else de.push(As(P.beforeEnter,X,be));return de.push(C),Tt(de)}).then(()=>(X.matched.forEach(P=>P.enterCallbacks={}),de=bu(bt,"beforeRouteEnter",X,be,I),de.push(C),Tt(de))).then(()=>{de=[];for(const P of o.list())de.push(As(P,X,be));return de.push(C),Tt(de)}).catch(P=>Br(P,8)?P:Promise.reject(P))}function K(X,be,de){a.list().forEach(Te=>I(()=>Te(X,be,de)))}function F(X,be,de,Te,at){const bt=b(X,be);if(bt)return bt;const C=be===gs,P=Wi?history.state:{};de&&(Te||C?s.replace(X.fullPath,wt({scroll:C&&P&&P.scroll},at)):s.push(X.fullPath,at)),c.value=X,jt(X,be,de,C),Me()}let $;function ee(){$||($=s.listen((X,be,de)=>{if(!Je.listening)return;const Te=x(X),at=N(Te);if(at){L(wt(at,{replace:!0,force:!0}),Te).catch(ca);return}f=Te;const bt=c.value;Wi&&cw(p0(bt.fullPath,de.delta),df()),D(Te,bt).catch(C=>Br(C,12)?C:Br(C,2)?(L(wt(_(C.to),{force:!0}),Te).then(P=>{Br(P,20)&&!de.delta&&de.type===ho.pop&&s.go(-1,!1)}).catch(ca),Promise.reject()):(de.delta&&s.go(-de.delta,!1),le(C,Te,bt))).then(C=>{C=C||F(Te,bt,!1),C&&(de.delta&&!Br(C,8)?s.go(-de.delta,!1):de.type===ho.pop&&Br(C,20)&&s.go(-1,!1)),K(Te,bt,C)}).catch(ca)}))}let he=Vo(),se=Vo(),me;function le(X,be,de){Me(X);const Te=se.list();return Te.length?Te.forEach(at=>at(X,be,de)):console.error(X),Promise.reject(X)}function rt(){return me&&c.value!==gs?Promise.resolve():new Promise((X,be)=>{he.add([X,be])})}function Me(X){return me||(me=!X,ee(),he.list().forEach(([be,de])=>X?de(X):be()),he.reset()),X}function jt(X,be,de,Te){const{scrollBehavior:at}=e;if(!Wi||!at)return Promise.resolve();const bt=!de&&lw(p0(X.fullPath,0))||(Te||!de)&&history.state&&history.state.scroll||null;return za().then(()=>at(X,be,bt)).then(C=>C&&aw(C)).catch(C=>le(C,X,be))}const Gt=X=>s.go(X);let St;const Ht=new Set,Je={currentRoute:c,listening:!0,addRoute:p,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:w,getRoutes:g,resolve:x,options:e,push:T,replace:O,go:Gt,back:()=>Gt(-1),forward:()=>Gt(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:se.add,isReady:rt,install(X){const be=this;X.component("RouterLink",Mw),X.component("RouterView",jw),X.config.globalProperties.$router=be,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>Zr(c)}),Wi&&!St&&c.value===gs&&(St=!0,T(s.location).catch(at=>{}));const de={};for(const at in gs)Object.defineProperty(de,at,{get:()=>c.value[at],enumerable:!0});X.provide(ep,be),X.provide(e3,mh(de)),X.provide(Id,c);const Te=X.unmount;Ht.add(X),X.unmount=function(){Ht.delete(X),Ht.size<1&&(f=gs,$&&$(),$=null,c.value=gs,St=!1,me=!1),Te()}}};function Tt(X){return X.reduce((be,de)=>be.then(()=>I(de)),Promise.resolve())}return Je}function Bw(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;ouo(f,a))?r.push(a):n.push(a));const c=e.matched[o];c&&(t.matched.find(f=>uo(f,c))||s.push(c))}return[n,r,s]}const Vw=async(e,t,n)=>{const s=await(await L5).accounts.count();console.log("Number of accounts: ",s),s>0?n():n({name:"start"})},$w=[{path:"/account",name:"account",component:()=>Ge(()=>import("./AccountViewView-Cb0hfdQH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url)},{path:"/claim/:id?",name:"claim",component:()=>Ge(()=>import("./ClaimView-Cfn-VLjV.js"),__vite__mapDeps([15,16,17,1,2,18,19,20,14,11,21]),import.meta.url)},{path:"/claim-add-raw/:id?",name:"claim-add-raw",component:()=>Ge(()=>import("./ClaimAddRawView-jDXY8ZHT.js"),__vite__mapDeps([22,11,1,2]),import.meta.url)},{path:"/claim-cert/:id",name:"claim-cert",component:()=>Ge(()=>import("./ClaimCertificateView-D2wPvj1g.js"),__vite__mapDeps([23,1,2]),import.meta.url)},{path:"/confirm-contact",name:"confirm-contact",component:()=>Ge(()=>import("./ConfirmContactView-Bu5eW1VH.js"),[],import.meta.url)},{path:"/confirm-gift/:id?",name:"confirm-gift",component:()=>Ge(()=>import("./ConfirmGiftView-CeT6C-iT.js"),__vite__mapDeps([24,16,17,1,2,18,19,11,12]),import.meta.url)},{path:"/contact-amounts",name:"contact-amounts",component:()=>Ge(()=>import("./ContactAmountsView-CCKLhJR0.js"),__vite__mapDeps([25,11,1,2,18,19,21]),import.meta.url)},{path:"/contact-gift",name:"contact-gift",component:()=>Ge(()=>import("./ContactGiftingView-CdUGNhUN.js"),__vite__mapDeps([26,20,1,2,14,11,4,27]),import.meta.url)},{path:"/contact-import/:jwt?",name:"contact-import",component:()=>Ge(()=>import("./ContactImportView-DZPWpIFn.js"),__vite__mapDeps([28,17,1,2,18,19,11,4,29,14]),import.meta.url)},{path:"/contact-qr",name:"contact-qr",component:()=>Ge(()=>import("./ContactQRScanShowView-BuPN1_H8.js"),__vite__mapDeps([30,2,11,13,14,1]),import.meta.url)},{path:"/contacts",name:"contacts",component:()=>Ge(()=>import("./ContactsView-DWxFtwlm.js"),__vite__mapDeps([31,1,2,11,4,20,14,29,32,12,19]),import.meta.url)},{path:"/did/:did?",name:"did",component:()=>Ge(()=>import("./DIDView-jWGo47Q6.js"),__vite__mapDeps([33,16,11,34,12,1,2,4,14]),import.meta.url)},{path:"/discover",name:"discover",component:()=>Ge(()=>import("./DiscoverView-CcC36y43.js"),__vite__mapDeps([35,36,37,11,34,38,39,1,2,40,12,41,42]),import.meta.url)},{path:"/gifted-details",name:"gifted-details",component:()=>Ge(()=>import("./GiftedDetailsView-D3S_W0BS.js"),__vite__mapDeps([43,5,6,1,2,7,8,11,12]),import.meta.url)},{path:"/help",name:"help",component:()=>Ge(()=>import("./HelpView-CjZShKPC.js"),__vite__mapDeps([44,2,11]),import.meta.url)},{path:"/help-notifications",name:"help-notifications",component:()=>Ge(()=>import("./HelpNotificationsView-BF_DQZBp.js"),__vite__mapDeps([45,11,1,2,9,10]),import.meta.url)},{path:"/help-notification-types",name:"help-notification-types",component:()=>Ge(()=>import("./HelpNotificationTypesView-C-v2IBbQ.js"),__vite__mapDeps([46,11]),import.meta.url)},{path:"/help-onboarding",name:"help-onboarding",component:()=>Ge(()=>import("./HelpOnboardingView-BvXnO2S2.js"),__vite__mapDeps([47,11]),import.meta.url)},{path:"/",name:"home",component:()=>Ge(()=>import("./HomeView-CbUUhM8l.js"),__vite__mapDeps([48,4,20,1,2,14,37,34,39,40,11,12,13,27,49]),import.meta.url)},{path:"/identity-switcher",name:"identity-switcher",component:()=>Ge(()=>import("./IdentitySwitcherView-CBVlDTfr.js"),__vite__mapDeps([50,11,1,2]),import.meta.url)},{path:"/import-account",name:"import-account",component:()=>Ge(()=>import("./ImportAccountView-B6wxsBWU.js"),__vite__mapDeps([51,1,2]),import.meta.url)},{path:"/import-derive",name:"import-derive",component:()=>Ge(()=>import("./ImportDerivedAccountView-ssD6kQlS.js"),__vite__mapDeps([52,1,2]),import.meta.url)},{path:"/invite-one",name:"invite-one",component:()=>Ge(()=>import("./InviteOneView-Czbsn5gd.js"),__vite__mapDeps([53,2,32,14,11,12,1]),import.meta.url)},{path:"/invite-one-accept/:jwt?",name:"InviteOneAcceptView",component:()=>Ge(()=>import("./InviteOneAcceptView-BGpYTokg.js"),__vite__mapDeps([54,11,1,2]),import.meta.url)},{path:"/new-activity",name:"new-activity",component:()=>Ge(()=>import("./NewActivityView-CdcfSJ3P.js"),__vite__mapDeps([55,20,1,2,14,11,4]),import.meta.url)},{path:"/new-edit-account",name:"new-edit-account",component:()=>Ge(()=>import("./NewEditAccountView-C8sbyNXm.js"),[],import.meta.url)},{path:"/new-edit-project",name:"new-edit-project",component:()=>Ge(()=>import("./NewEditProjectView-xpLbOAog.js"),__vite__mapDeps([56,57,1,2,37,5,6,7,8,11,42]),import.meta.url)},{path:"/new-identifier",name:"new-identifier",component:()=>Ge(()=>import("./NewIdentifierView-DKie1CXF.js"),__vite__mapDeps([58,3,1,2,11]),import.meta.url)},{path:"/offer-details/:id?",name:"offer-details",component:()=>Ge(()=>import("./OfferDetailsView-C1laA_fH.js"),__vite__mapDeps([59,11,12,1,2]),import.meta.url)},{path:"/project/:id?",name:"project",component:()=>Ge(()=>import("./ProjectViewView-BEbHgHxu.js"),__vite__mapDeps([60,20,1,2,14,29,12,11,4,38,27]),import.meta.url)},{path:"/projects",name:"projects",component:()=>Ge(()=>import("./ProjectsView-3QN3-T5E.js"),__vite__mapDeps([61,4,34,11,39,1,2,40,38,12,13,14]),import.meta.url),beforeEnter:Vw},{path:"/quick-action-bvc",name:"quick-action-bvc",component:()=>Ge(()=>import("./QuickActionBvcView-DU2ibwzk.js"),__vite__mapDeps([62,11,12]),import.meta.url)},{path:"/quick-action-bvc-begin",name:"quick-action-bvc-begin",component:()=>Ge(()=>import("./QuickActionBvcBeginView-C0Z58a0n.js"),__vite__mapDeps([63,57,11,12,1,2]),import.meta.url)},{path:"/quick-action-bvc-end",name:"quick-action-bvc-end",component:()=>Ge(()=>import("./QuickActionBvcEndView-DM6g0NBZ.js"),__vite__mapDeps([64,57,11,12,1,2]),import.meta.url)},{path:"/recent-offers-to-user",name:"recent-offers-to-user",component:()=>Ge(()=>import("./RecentOffersToUserView-DLi5_oJ6.js"),__vite__mapDeps([65,20,1,2,14,4,34,11]),import.meta.url)},{path:"/recent-offers-to-user-projects",name:"recent-offers-to-user-projects",component:()=>Ge(()=>import("./RecentOffersToUserProjectsView-CJ3U9ASr.js"),__vite__mapDeps([66,4,20,1,2,14,34,11]),import.meta.url)},{path:"/scan-contact",name:"scan-contact",component:()=>Ge(()=>import("./ContactScanView-BRcSw92W.js"),[],import.meta.url)},{path:"/search-area",name:"search-area",component:()=>Ge(()=>import("./SearchAreaView-B6aUX_Cn.js"),__vite__mapDeps([67,37,11,42]),import.meta.url)},{path:"/seed-backup",name:"seed-backup",component:()=>Ge(()=>import("./SeedBackupView-BQrWrpcu.js"),__vite__mapDeps([68,2,11,1]),import.meta.url)},{path:"/share-my-contact-info",name:"share-my-contact-info",component:()=>Ge(()=>import("./ShareMyContactInfoView-C9KDv0BI.js"),__vite__mapDeps([69,2,11,12,1]),import.meta.url)},{path:"/shared-photo",name:"shared-photo",component:()=>Ge(()=>import("./SharedPhotoView-Db-WSozv.js"),__vite__mapDeps([70,6,1,2,7,11]),import.meta.url)},{path:"/start",name:"start",component:()=>Ge(()=>import("./StartView-ChmEHxHu.js"),__vite__mapDeps([71,1,2]),import.meta.url)},{path:"/statistics",name:"statistics",component:()=>Ge(()=>import("./StatisticsView-BybwZXpR.js"),__vite__mapDeps([72,1,2,11]),import.meta.url)},{path:"/test",name:"test",component:()=>Ge(()=>import("./TestView-CcyiekfD.js"),__vite__mapDeps([73,1,2,11]),import.meta.url)}],t3=window.location.protocol==="file:",n3=t3?window.location.pathname.replace("/dist-electron/index.html","/"):window.location.pathname,Hw=t3?pw():hw("/"),hf=Uw({history:Hw,routes:$w});console.log("Initial URL:",n3);hf.replace(n3||"/");const zw=(e,t,n)=>{console.error("Caught in top level error handler:",e,t,n),alert("Something is very wrong. We'd love if you contacted us and let us know how you got here. Thank you!")};hf.onError(zw);hf.beforeEach((e,t,n)=>{console.log("Navigating to view:",e.name),console.log("From view:",t.name),n()});console.log("Initial URL:",window.location.pathname);function r3(e,t){return function(){return e.apply(t,arguments)}}const{toString:Kw}=Object.prototype,{getPrototypeOf:tp}=Object,pf=(e=>t=>{const n=Kw.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Er=e=>(e=e.toLowerCase(),t=>pf(t)===e),mf=e=>t=>typeof t===e,{isArray:No}=Array,Ia=mf("undefined");function qw(e){return e!==null&&!Ia(e)&&e.constructor!==null&&!Ia(e.constructor)&&ir(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const s3=Er("ArrayBuffer");function Xw(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&s3(e.buffer),t}const Ww=mf("string"),ir=mf("function"),i3=mf("number"),gf=e=>e!==null&&typeof e=="object",Gw=e=>e===!0||e===!1,Kc=e=>{if(pf(e)!=="object")return!1;const t=tp(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Yw=Er("Date"),Jw=Er("File"),Qw=Er("Blob"),Zw=Er("FileList"),eS=e=>gf(e)&&ir(e.pipe),tS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ir(e.append)&&((t=pf(e))==="formdata"||t==="object"&&ir(e.toString)&&e.toString()==="[object FormData]"))},nS=Er("URLSearchParams"),[rS,sS,iS,oS]=["ReadableStream","Request","Response","Headers"].map(Er),aS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qa(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),No(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,a3=e=>!Ia(e)&&e!==oi;function Ld(){const{caseless:e}=a3(this)&&this||{},t={},n=(r,s)=>{const i=e&&o3(t,s)||s;Kc(t[i])&&Kc(r)?t[i]=Ld(t[i],r):Kc(r)?t[i]=Ld({},r):No(r)?t[i]=r.slice():t[i]=r};for(let r=0,s=arguments.length;r(Qa(t,(s,i)=>{n&&ir(s)?e[i]=r3(s,n):e[i]=s},{allOwnKeys:r}),e),lS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),fS=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},uS=(e,t,n,r)=>{let s,i,o;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=n!==!1&&tp(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},dS=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},hS=e=>{if(!e)return null;if(No(e))return e;let t=e.length;if(!i3(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},pS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&tp(Uint8Array)),mS=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},gS=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},yS=Er("HTMLFormElement"),_S=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),N0=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),bS=Er("RegExp"),c3=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Qa(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},xS=e=>{c3(e,(t,n)=>{if(ir(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(ir(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},vS=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return No(e)?r(e):r(String(e).split(t)),n},ES=()=>{},wS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,xu="abcdefghijklmnopqrstuvwxyz",R0="0123456789",l3={DIGIT:R0,ALPHA:xu,ALPHA_DIGIT:xu+xu.toUpperCase()+R0},SS=(e=16,t=l3.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function TS(e){return!!(e&&ir(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const AS=e=>{const t=new Array(10),n=(r,s)=>{if(gf(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[s]=r;const i=No(r)?[]:{};return Qa(r,(o,a)=>{const c=n(o,s+1);!Ia(c)&&(i[a]=c)}),t[s]=void 0,i}}return r};return n(e,0)},CS=Er("AsyncFunction"),OS=e=>e&&(gf(e)||ir(e))&&ir(e.then)&&ir(e.catch),f3=((e,t)=>e?setImmediate:t?((n,r)=>(oi.addEventListener("message",({source:s,data:i})=>{s===oi&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),oi.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ir(oi.postMessage)),NS=typeof queueMicrotask<"u"?queueMicrotask.bind(oi):typeof process<"u"&&process.nextTick||f3,z={isArray:No,isArrayBuffer:s3,isBuffer:qw,isFormData:tS,isArrayBufferView:Xw,isString:Ww,isNumber:i3,isBoolean:Gw,isObject:gf,isPlainObject:Kc,isReadableStream:rS,isRequest:sS,isResponse:iS,isHeaders:oS,isUndefined:Ia,isDate:Yw,isFile:Jw,isBlob:Qw,isRegExp:bS,isFunction:ir,isStream:eS,isURLSearchParams:nS,isTypedArray:pS,isFileList:Zw,forEach:Qa,merge:Ld,extend:cS,trim:aS,stripBOM:lS,inherits:fS,toFlatObject:uS,kindOf:pf,kindOfTest:Er,endsWith:dS,toArray:hS,forEachEntry:mS,matchAll:gS,isHTMLForm:yS,hasOwnProperty:N0,hasOwnProp:N0,reduceDescriptors:c3,freezeMethods:xS,toObjectSet:vS,toCamelCase:_S,noop:ES,toFiniteNumber:wS,findKey:o3,global:oi,isContextDefined:a3,ALPHABET:l3,generateString:SS,isSpecCompliantForm:TS,toJSONObject:AS,isAsyncFn:CS,isThenable:OS,setImmediate:f3,asap:NS};function et(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}z.inherits(et,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:z.toJSONObject(this.config),code:this.code,status:this.status}}});const u3=et.prototype,d3={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{d3[e]={value:e}});Object.defineProperties(et,d3);Object.defineProperty(u3,"isAxiosError",{value:!0});et.from=(e,t,n,r,s,i)=>{const o=Object.create(u3);return z.toFlatObject(e,o,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),et.call(o,e.message,t,n,r,s),o.cause=e,o.name=e.name,i&&Object.assign(o,i),o};const RS=null;function Md(e){return z.isPlainObject(e)||z.isArray(e)}function h3(e){return z.endsWith(e,"[]")?e.slice(0,-2):e}function P0(e,t,n){return e?e.concat(t).map(function(s,i){return s=h3(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function PS(e){return z.isArray(e)&&!e.some(Md)}const IS=z.toFlatObject(z,{},null,function(t){return/^is[A-Z]/.test(t)});function yf(e,t,n){if(!z.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=z.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,w){return!z.isUndefined(w[g])});const r=n.metaTokens,s=n.visitor||l,i=n.dots,o=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&z.isSpecCompliantForm(t);if(!z.isFunction(s))throw new TypeError("visitor must be a function");function f(y){if(y===null)return"";if(z.isDate(y))return y.toISOString();if(!c&&z.isBlob(y))throw new et("Blob is not supported. Use a Buffer instead.");return z.isArrayBuffer(y)||z.isTypedArray(y)?c&&typeof Blob=="function"?new Blob([y]):Buffer.from(y):y}function l(y,g,w){let x=y;if(y&&!w&&typeof y=="object"){if(z.endsWith(g,"{}"))g=r?g:g.slice(0,-2),y=JSON.stringify(y);else if(z.isArray(y)&&PS(y)||(z.isFileList(y)||z.endsWith(g,"[]"))&&(x=z.toArray(y)))return g=h3(g),x.forEach(function(b,T){!(z.isUndefined(b)||b===null)&&t.append(o===!0?P0([g],T,i):o===null?g:g+"[]",f(b))}),!1}return Md(y)?!0:(t.append(P0(w,g,i),f(y)),!1)}const u=[],d=Object.assign(IS,{defaultVisitor:l,convertValue:f,isVisitable:Md});function p(y,g){if(!z.isUndefined(y)){if(u.indexOf(y)!==-1)throw Error("Circular reference detected in "+g.join("."));u.push(y),z.forEach(y,function(x,_){(!(z.isUndefined(x)||x===null)&&s.call(t,x,z.isString(_)?_.trim():_,g,d))===!0&&p(x,g?g.concat(_):[_])}),u.pop()}}if(!z.isObject(e))throw new TypeError("data must be an object");return p(e),t}function I0(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function np(e,t){this._pairs=[],e&&yf(e,this,t)}const p3=np.prototype;p3.append=function(t,n){this._pairs.push([t,n])};p3.toString=function(t){const n=t?function(r){return t.call(this,r,I0)}:I0;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function LS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function m3(e,t,n){if(!t)return e;const r=n&&n.encode||LS;z.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=z.isURLSearchParams(t)?t.toString():new np(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class L0{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){z.forEach(this.handlers,function(r){r!==null&&t(r)})}}const g3={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},MS=typeof URLSearchParams<"u"?URLSearchParams:np,kS=typeof FormData<"u"?FormData:null,DS=typeof Blob<"u"?Blob:null,FS={isBrowser:!0,classes:{URLSearchParams:MS,FormData:kS,Blob:DS},protocols:["http","https","file","blob","url","data"]},rp=typeof window<"u"&&typeof document<"u",kd=typeof navigator=="object"&&navigator||void 0,jS=rp&&(!kd||["ReactNative","NativeScript","NS"].indexOf(kd.product)<0),US=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",BS=rp&&window.location.href||"http://localhost",VS=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:rp,hasStandardBrowserEnv:jS,hasStandardBrowserWebWorkerEnv:US,navigator:kd,origin:BS},Symbol.toStringTag,{value:"Module"})),Rn={...VS,...FS};function $S(e,t){return yf(e,new Rn.classes.URLSearchParams,Object.assign({visitor:function(n,r,s,i){return Rn.isNode&&z.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function HS(e){return z.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function zS(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&z.isArray(s)?s.length:o,c?(z.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!a):((!s[o]||!z.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&z.isArray(s[o])&&(s[o]=zS(s[o])),!a)}if(z.isFormData(e)&&z.isFunction(e.entries)){const n={};return z.forEachEntry(e,(r,s)=>{t(HS(r),s,n,0)}),n}return null}function KS(e,t,n){if(z.isString(e))try{return(t||JSON.parse)(e),z.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(0,JSON.stringify)(e)}const Za={transitional:g3,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=z.isObject(t);if(i&&z.isHTMLForm(t)&&(t=new FormData(t)),z.isFormData(t))return s?JSON.stringify(y3(t)):t;if(z.isArrayBuffer(t)||z.isBuffer(t)||z.isStream(t)||z.isFile(t)||z.isBlob(t)||z.isReadableStream(t))return t;if(z.isArrayBufferView(t))return t.buffer;if(z.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return $S(t,this.formSerializer).toString();if((a=z.isFileList(t))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return yf(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),KS(t)):t}],transformResponse:[function(t){const n=this.transitional||Za.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(z.isResponse(t)||z.isReadableStream(t))return t;if(t&&z.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(o)throw a.name==="SyntaxError"?et.from(a,et.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Rn.classes.FormData,Blob:Rn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};z.forEach(["delete","get","head","post","put","patch"],e=>{Za.headers[e]={}});const qS=z.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),XS=e=>{const t={};let n,r,s;return e&&e.split(` +`).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&qS[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},M0=Symbol("internals");function $o(e){return e&&String(e).trim().toLowerCase()}function qc(e){return e===!1||e==null?e:z.isArray(e)?e.map(qc):String(e)}function WS(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const GS=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function vu(e,t,n,r,s){if(z.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!z.isString(t)){if(z.isString(r))return t.indexOf(r)!==-1;if(z.isRegExp(r))return r.test(t)}}function YS(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function JS(e,t){const n=z.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}class Zn{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(a,c,f){const l=$o(c);if(!l)throw new Error("header name must be a non-empty string");const u=z.findKey(s,l);(!u||s[u]===void 0||f===!0||f===void 0&&s[u]!==!1)&&(s[u||c]=qc(a))}const o=(a,c)=>z.forEach(a,(f,l)=>i(f,l,c));if(z.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(z.isString(t)&&(t=t.trim())&&!GS(t))o(XS(t),n);else if(z.isHeaders(t))for(const[a,c]of t.entries())i(c,a,r);else t!=null&&i(n,t,r);return this}get(t,n){if(t=$o(t),t){const r=z.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return WS(s);if(z.isFunction(n))return n.call(this,s,r);if(z.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=$o(t),t){const r=z.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||vu(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=$o(o),o){const a=z.findKey(r,o);a&&(!n||vu(r,r[a],a,n))&&(delete r[a],s=!0)}}return z.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||vu(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return z.forEach(this,(s,i)=>{const o=z.findKey(r,i);if(o){n[o]=qc(s),delete n[i];return}const a=t?YS(i):String(i).trim();a!==i&&delete n[i],n[a]=qc(s),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return z.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&z.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[M0]=this[M0]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=$o(o);r[a]||(JS(s,o),r[a]=!0)}return z.isArray(t)?t.forEach(i):i(t),this}}Zn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);z.reduceDescriptors(Zn.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});z.freezeMethods(Zn);function Eu(e,t){const n=this||Za,r=t||n,s=Zn.from(r.headers);let i=r.data;return z.forEach(e,function(a){i=a.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function _3(e){return!!(e&&e.__CANCEL__)}function Ro(e,t,n){et.call(this,e??"canceled",et.ERR_CANCELED,t,n),this.name="CanceledError"}z.inherits(Ro,et,{__CANCEL__:!0});function b3(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new et("Request failed with status code "+n.status,[et.ERR_BAD_REQUEST,et.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function QS(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function ZS(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(c){const f=Date.now(),l=r[i];o||(o=f),n[s]=c,r[s]=f;let u=i,d=0;for(;u!==s;)d+=n[u++],u=u%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),f-o{n=l,s=null,i&&(clearTimeout(i),i=null),e.apply(null,f)};return[(...f)=>{const l=Date.now(),u=l-n;u>=r?o(f,l):(s=f,i||(i=setTimeout(()=>{i=null,o(s)},r-u)))},()=>s&&o(s)]}const Cl=(e,t,n=3)=>{let r=0;const s=ZS(50,250);return eT(i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,c=o-r,f=s(c),l=o<=a;r=o;const u={loaded:o,total:a,progress:a?o/a:void 0,bytes:c,rate:f||void 0,estimated:f&&a&&l?(a-o)/f:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(u)},n)},k0=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},D0=e=>(...t)=>z.asap(()=>e(...t)),tT=Rn.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Rn.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Rn.origin),Rn.navigator&&/(msie|trident)/i.test(Rn.navigator.userAgent)):()=>!0,nT=Rn.hasStandardBrowserEnv?{write(e,t,n,r,s,i){const o=[e+"="+encodeURIComponent(t)];z.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),z.isString(r)&&o.push("path="+r),z.isString(s)&&o.push("domain="+s),i===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function rT(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function sT(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function x3(e,t){return e&&!rT(t)?sT(e,t):t}const F0=e=>e instanceof Zn?{...e}:e;function Ai(e,t){t=t||{};const n={};function r(f,l,u,d){return z.isPlainObject(f)&&z.isPlainObject(l)?z.merge.call({caseless:d},f,l):z.isPlainObject(l)?z.merge({},l):z.isArray(l)?l.slice():l}function s(f,l,u,d){if(z.isUndefined(l)){if(!z.isUndefined(f))return r(void 0,f,u,d)}else return r(f,l,u,d)}function i(f,l){if(!z.isUndefined(l))return r(void 0,l)}function o(f,l){if(z.isUndefined(l)){if(!z.isUndefined(f))return r(void 0,f)}else return r(void 0,l)}function a(f,l,u){if(u in t)return r(f,l);if(u in e)return r(void 0,f)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(f,l,u)=>s(F0(f),F0(l),u,!0)};return z.forEach(Object.keys(Object.assign({},e,t)),function(l){const u=c[l]||s,d=u(e[l],t[l],l);z.isUndefined(d)&&u!==a||(n[l]=d)}),n}const v3=e=>{const t=Ai({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:a}=t;t.headers=o=Zn.from(o),t.url=m3(x3(t.baseURL,t.url),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(z.isFormData(n)){if(Rn.hasStandardBrowserEnv||Rn.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((c=o.getContentType())!==!1){const[f,...l]=c?c.split(";").map(u=>u.trim()).filter(Boolean):[];o.setContentType([f||"multipart/form-data",...l].join("; "))}}if(Rn.hasStandardBrowserEnv&&(r&&z.isFunction(r)&&(r=r(t)),r||r!==!1&&tT(t.url))){const f=s&&i&&nT.read(i);f&&o.set(s,f)}return t},iT=typeof XMLHttpRequest<"u",oT=iT&&function(e){return new Promise(function(n,r){const s=v3(e);let i=s.data;const o=Zn.from(s.headers).normalize();let{responseType:a,onUploadProgress:c,onDownloadProgress:f}=s,l,u,d,p,y;function g(){p&&p(),y&&y(),s.cancelToken&&s.cancelToken.unsubscribe(l),s.signal&&s.signal.removeEventListener("abort",l)}let w=new XMLHttpRequest;w.open(s.method.toUpperCase(),s.url,!0),w.timeout=s.timeout;function x(){if(!w)return;const b=Zn.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders()),O={data:!a||a==="text"||a==="json"?w.responseText:w.response,status:w.status,statusText:w.statusText,headers:b,config:e,request:w};b3(function(L){n(L),g()},function(L){r(L),g()},O),w=null}"onloadend"in w?w.onloadend=x:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)||setTimeout(x)},w.onabort=function(){w&&(r(new et("Request aborted",et.ECONNABORTED,e,w)),w=null)},w.onerror=function(){r(new et("Network Error",et.ERR_NETWORK,e,w)),w=null},w.ontimeout=function(){let T=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const O=s.transitional||g3;s.timeoutErrorMessage&&(T=s.timeoutErrorMessage),r(new et(T,O.clarifyTimeoutError?et.ETIMEDOUT:et.ECONNABORTED,e,w)),w=null},i===void 0&&o.setContentType(null),"setRequestHeader"in w&&z.forEach(o.toJSON(),function(T,O){w.setRequestHeader(O,T)}),z.isUndefined(s.withCredentials)||(w.withCredentials=!!s.withCredentials),a&&a!=="json"&&(w.responseType=s.responseType),f&&([d,y]=Cl(f,!0),w.addEventListener("progress",d)),c&&w.upload&&([u,p]=Cl(c),w.upload.addEventListener("progress",u),w.upload.addEventListener("loadend",p)),(s.cancelToken||s.signal)&&(l=b=>{w&&(r(!b||b.type?new Ro(null,e,w):b),w.abort(),w=null)},s.cancelToken&&s.cancelToken.subscribe(l),s.signal&&(s.signal.aborted?l():s.signal.addEventListener("abort",l)));const _=QS(s.url);if(_&&Rn.protocols.indexOf(_)===-1){r(new et("Unsupported protocol "+_+":",et.ERR_BAD_REQUEST,e));return}w.send(i||null)})},aT=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const i=function(f){if(!s){s=!0,a();const l=f instanceof Error?f:this.reason;r.abort(l instanceof et?l:new Ro(l instanceof Error?l.message:l))}};let o=t&&setTimeout(()=>{o=null,i(new et(`timeout ${t} of ms exceeded`,et.ETIMEDOUT))},t);const a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(i):f.removeEventListener("abort",i)}),e=null)};e.forEach(f=>f.addEventListener("abort",i));const{signal:c}=r;return c.unsubscribe=()=>z.asap(a),c}},cT=function*(e,t){let n=e.byteLength;if(n{const s=lT(e,t);let i=0,o,a=c=>{o||(o=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:f,value:l}=await s.next();if(f){a(),c.close();return}let u=l.byteLength;if(n){let d=i+=u;n(d)}c.enqueue(new Uint8Array(l))}catch(f){throw a(f),f}},cancel(c){return a(c),s.return()}},{highWaterMark:2})},_f=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",E3=_f&&typeof ReadableStream=="function",uT=_f&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),w3=(e,...t)=>{try{return!!e(...t)}catch{return!1}},dT=E3&&w3(()=>{let e=!1;const t=new Request(Rn.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),U0=64*1024,Dd=E3&&w3(()=>z.isReadableStream(new Response("").body)),Ol={stream:Dd&&(e=>e.body)};_f&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Ol[t]&&(Ol[t]=z.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new et(`Response type '${t}' is not supported`,et.ERR_NOT_SUPPORT,r)})})})(new Response);const hT=async e=>{if(e==null)return 0;if(z.isBlob(e))return e.size;if(z.isSpecCompliantForm(e))return(await new Request(Rn.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(z.isArrayBufferView(e)||z.isArrayBuffer(e))return e.byteLength;if(z.isURLSearchParams(e)&&(e=e+""),z.isString(e))return(await uT(e)).byteLength},pT=async(e,t)=>{const n=z.toFiniteNumber(e.getContentLength());return n??hT(t)},mT=_f&&(async e=>{let{url:t,method:n,data:r,signal:s,cancelToken:i,timeout:o,onDownloadProgress:a,onUploadProgress:c,responseType:f,headers:l,withCredentials:u="same-origin",fetchOptions:d}=v3(e);f=f?(f+"").toLowerCase():"text";let p=aT([s,i&&i.toAbortSignal()],o),y;const g=p&&p.unsubscribe&&(()=>{p.unsubscribe()});let w;try{if(c&&dT&&n!=="get"&&n!=="head"&&(w=await pT(l,r))!==0){let O=new Request(t,{method:"POST",body:r,duplex:"half"}),N;if(z.isFormData(r)&&(N=O.headers.get("content-type"))&&l.setContentType(N),O.body){const[L,j]=k0(w,Cl(D0(c)));r=j0(O.body,U0,L,j)}}z.isString(u)||(u=u?"include":"omit");const x="credentials"in Request.prototype;y=new Request(t,{...d,signal:p,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:r,duplex:"half",credentials:x?u:void 0});let _=await fetch(y);const b=Dd&&(f==="stream"||f==="response");if(Dd&&(a||b&&g)){const O={};["status","statusText","headers"].forEach(I=>{O[I]=_[I]});const N=z.toFiniteNumber(_.headers.get("content-length")),[L,j]=a&&k0(N,Cl(D0(a),!0))||[];_=new Response(j0(_.body,U0,L,()=>{j&&j(),g&&g()}),O)}f=f||"text";let T=await Ol[z.findKey(Ol,f)||"text"](_,e);return!b&&g&&g(),await new Promise((O,N)=>{b3(O,N,{data:T,headers:Zn.from(_.headers),status:_.status,statusText:_.statusText,config:e,request:y})})}catch(x){throw g&&g(),x&&x.name==="TypeError"&&/fetch/i.test(x.message)?Object.assign(new et("Network Error",et.ERR_NETWORK,e,y),{cause:x.cause||x}):et.from(x,x&&x.code,e,y)}}),Fd={http:RS,xhr:oT,fetch:mT};z.forEach(Fd,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const B0=e=>`- ${e}`,gT=e=>z.isFunction(e)||e===null||e===!1,S3={getAdapter:e=>{e=z.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let i=0;i`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build"));let o=t?i.length>1?`since : +`+i.map(B0).join(` +`):" "+B0(i[0]):"as no adapter specified";throw new et("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:Fd};function wu(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ro(null,e)}function V0(e){return wu(e),e.headers=Zn.from(e.headers),e.data=Eu.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),S3.getAdapter(e.adapter||Za.adapter)(e).then(function(r){return wu(e),r.data=Eu.call(e,e.transformResponse,r),r.headers=Zn.from(r.headers),r},function(r){return _3(r)||(wu(e),r&&r.response&&(r.response.data=Eu.call(e,e.transformResponse,r.response),r.response.headers=Zn.from(r.response.headers))),Promise.reject(r)})}const T3="1.7.9",bf={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{bf[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const $0={};bf.transitional=function(t,n,r){function s(i,o){return"[Axios v"+T3+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,a)=>{if(t===!1)throw new et(s(o," has been removed"+(n?" in "+n:"")),et.ERR_DEPRECATED);return n&&!$0[o]&&($0[o]=!0,console.warn(s(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,o,a):!0}};bf.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function yT(e,t,n){if(typeof e!="object")throw new et("options must be an object",et.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const i=r[s],o=t[i];if(o){const a=e[i],c=a===void 0||o(a,i,e);if(c!==!0)throw new et("option "+i+" must be "+c,et.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new et("Unknown option "+i,et.ERR_BAD_OPTION)}}const Xc={assertOptions:yT,validators:bf},Sr=Xc.validators;class xi{constructor(t){this.defaults=t,this.interceptors={request:new L0,response:new L0}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ai(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&Xc.assertOptions(r,{silentJSONParsing:Sr.transitional(Sr.boolean),forcedJSONParsing:Sr.transitional(Sr.boolean),clarifyTimeoutError:Sr.transitional(Sr.boolean)},!1),s!=null&&(z.isFunction(s)?n.paramsSerializer={serialize:s}:Xc.assertOptions(s,{encode:Sr.function,serialize:Sr.function},!0)),Xc.assertOptions(n,{baseUrl:Sr.spelling("baseURL"),withXsrfToken:Sr.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=i&&z.merge(i.common,i[n.method]);i&&z.forEach(["delete","get","head","post","put","patch","common"],y=>{delete i[y]}),n.headers=Zn.concat(o,i);const a=[];let c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(c=c&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});const f=[];this.interceptors.response.forEach(function(g){f.push(g.fulfilled,g.rejected)});let l,u=0,d;if(!c){const y=[V0.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,f),d=y.length,l=Promise.resolve(n);u{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(a=>{r.subscribe(a),i=a}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},t(function(i,o,a){r.reason||(r.reason=new Ro(i,o,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new sp(function(s){t=s}),cancel:t}}}function _T(e){return function(n){return e.apply(null,n)}}function bT(e){return z.isObject(e)&&e.isAxiosError===!0}const jd={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(jd).forEach(([e,t])=>{jd[t]=e});function A3(e){const t=new xi(e),n=r3(xi.prototype.request,t);return z.extend(n,xi.prototype,t,{allOwnKeys:!0}),z.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return A3(Ai(e,s))},n}const en=A3(Za);en.Axios=xi;en.CanceledError=Ro;en.CancelToken=sp;en.isCancel=_3;en.VERSION=T3;en.toFormData=yf;en.AxiosError=et;en.Cancel=en.CanceledError;en.all=function(t){return Promise.all(t)};en.spread=_T;en.isAxiosError=bT;en.mergeConfig=Ai;en.AxiosHeaders=Zn;en.formToJSON=e=>y3(z.isHTMLForm(e)?new FormData(e):e);en.getAdapter=S3.getAdapter;en.HttpStatusCode=jd;en.default=en;function Nl(e){return Nl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nl(e)}function Wc(e,t){if(!e.vueAxiosInstalled){var n=C3(t)?ET(t):t;if(wT(n)){var r=ST(e);if(r){var s=r<3?xT:vT;Object.keys(n).forEach(function(i){s(e,i,n[i])}),e.vueAxiosInstalled=!0}else console.error("[vue-axios] unknown Vue version")}else console.error("[vue-axios] configuration is invalid, expected options are either or { : }")}}function xT(e,t,n){Object.defineProperty(e.prototype,t,{get:function(){return n}}),e[t]=n}function vT(e,t,n){e.config.globalProperties[t]=n,e[t]=n}function C3(e){return e&&typeof e.get=="function"&&typeof e.post=="function"}function ET(e){return{axios:e,$http:e}}function wT(e){return Nl(e)==="object"&&Object.keys(e).every(function(t){return C3(e[t])})}function ST(e){return e&&e.version&&Number(e.version.split(".")[0])}(typeof exports>"u"?"undefined":Nl(exports))=="object"?module.exports=Wc:typeof define=="function"&&define.amd?define([],function(){return Wc}):window.Vue&&window.axios&&window.Vue.use&&Vue.use(Wc,window.axios);function TT(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(s){s(n)}),(r=e.get("*"))&&r.slice().map(function(s){s(t,n)})}}}const Rl=TT();let H0=0;const AT=()=>{const e=H0;return H0+=1,e},CT=()=>(e,t)=>{const n={...e,id:AT(),group:e.group||""};return Rl.emit("notify",{notification:n,timeout:t}),()=>Rl.emit("close",n.id)},O3="context",z0=fs({__name:"Notification",props:{maxNotifications:{default:10},enter:{default:""},enterFrom:{default:""},enterTo:{default:""},leave:{default:""},leaveFrom:{default:""},leaveTo:{default:""},move:{default:""},moveDelay:{default:""}},emits:["close"],setup(e,{emit:t}){const n=e,r=t,s=br(O3),i=So({notifications:[],timeouts:{}}),o=Wt(()=>i.notifications.filter(p=>p.group===s.group)),a=Wt(()=>s.position==="bottom"?[...o.value]:[...o.value].reverse()),c=(p,y)=>{i.timeouts[p]=window.setTimeout(()=>{y!==-1&&f(p)},Math.max(y||3e3,0))},f=p=>{i.notifications.splice(i.notifications.findIndex(y=>y.id===p),1),clearTimeout(i.timeouts[p])},l=({notification:p,timeout:y})=>{i.notifications.length!==n.maxNotifications&&(i.notifications.push(p),c(p.id,y))},u=p=>{r("close"),f(p)},d=(p,y,g)=>{y?clearTimeout(i.timeouts[p]):c(p,g)};return Ao(()=>{Rl.on("notify",l),Rl.on("close",f)}),(p,y)=>(Bt(),Ea(Bg,{"enter-active-class":o.value.length>1?[n.enter,n.moveDelay].join(" "):n.enter,"enter-from-class":n.enterFrom,"enter-to-class":n.enterTo,"leave-active-class":n.leave,"leave-from-class":n.leaveFrom,"leave-to-class":n.leaveTo,"move-class":n.move},{default:Ns(()=>[Ch(p.$slots,"default",{notifications:a.value,close:u,hovering:d})]),_:3},8,["enter-active-class","enter-from-class","enter-to-class","leave-active-class","leave-from-class","leave-to-class","move-class"]))}}),K0=fs({inheritAttrs:!1,__name:"NotificationGroup",props:{group:{default:""},position:{default:"top"}},setup(e){const t=e;return Zi(O3,{group:t.group,position:t.position}),(n,r)=>Ch(n.$slots,"default",{group:n.group})}});function OT(e){e.config.globalProperties.$notify=CT(),e.component("Notification",z0),e.component("NotificationGroup",K0),e.component("notification",z0),e.component("notificationGroup",K0)}const NT={install:OT};/*! + * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */function RT(e,t,n){return(t=IT(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function ie(e){for(var t=1;t{};let ip={},N3={},R3=null,P3={mark:X0,measure:X0};try{typeof window<"u"&&(ip=window),typeof document<"u"&&(N3=document),typeof MutationObserver<"u"&&(R3=MutationObserver),typeof performance<"u"&&(P3=performance)}catch{}const{userAgent:W0=""}=ip.navigator||{},Vs=ip,Lt=N3,G0=R3,Nc=P3;Vs.document;const ds=!!Lt.documentElement&&!!Lt.head&&typeof Lt.addEventListener=="function"&&typeof Lt.createElement=="function",I3=~W0.indexOf("MSIE")||~W0.indexOf("Trident/");var LT=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,MT=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i,L3={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},kT={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},M3=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],Mn="classic",xf="duotone",DT="sharp",FT="sharp-duotone",k3=[Mn,xf,DT,FT],jT={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}},UT={"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}},BT=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),VT={classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}},$T=["fak","fa-kit","fakd","fa-kit-duotone"],Y0={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},HT=["kit"],zT={kit:{"fa-kit":"fak"},"kit-duotone":{"fa-kit-duotone":"fakd"}},KT=["fak","fakd"],qT={kit:{fak:"fa-kit"},"kit-duotone":{fakd:"fa-kit-duotone"}},J0={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},Rc={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},XT=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],WT=["fak","fa-kit","fakd","fa-kit-duotone"],GT={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},YT={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}},JT={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]},Ud={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},QT=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],Bd=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt",...XT,...QT],ZT=["solid","regular","light","thin","duotone","brands"],D3=[1,2,3,4,5,6,7,8,9,10],eA=D3.concat([11,12,13,14,15,16,17,18,19,20]),tA=[...Object.keys(JT),...ZT,"2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",Rc.GROUP,Rc.SWAP_OPACITY,Rc.PRIMARY,Rc.SECONDARY].concat(D3.map(e=>"".concat(e,"x"))).concat(eA.map(e=>"w-".concat(e))),nA={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}};const cs="___FONT_AWESOME___",Vd=16,F3="fa",j3="svg-inline--fa",Ci="data-fa-i2svg",$d="data-fa-pseudo-element",rA="data-fa-pseudo-element-pending",op="data-prefix",ap="data-icon",Q0="fontawesome-i2svg",sA="async",iA=["HTML","HEAD","STYLE","SCRIPT"],U3=(()=>{try{return!0}catch{return!1}})();function ec(e){return new Proxy(e,{get(t,n){return n in t?t[n]:t[Mn]}})}const B3=ie({},L3);B3[Mn]=ie(ie(ie(ie({},{"fa-duotone":"duotone"}),L3[Mn]),Y0.kit),Y0["kit-duotone"]);const oA=ec(B3),Hd=ie({},VT);Hd[Mn]=ie(ie(ie(ie({},{duotone:"fad"}),Hd[Mn]),J0.kit),J0["kit-duotone"]);const Z0=ec(Hd),zd=ie({},Ud);zd[Mn]=ie(ie({},zd[Mn]),qT.kit);const cp=ec(zd),Kd=ie({},YT);Kd[Mn]=ie(ie({},Kd[Mn]),zT.kit);ec(Kd);const aA=LT,V3="fa-layers-text",cA=MT,lA=ie({},jT);ec(lA);const fA=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],Su=kT,uA=[...HT,...tA],la=Vs.FontAwesomeConfig||{};function dA(e){var t=Lt.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}function hA(e){return e===""?!0:e==="false"?!1:e==="true"?!0:e}Lt&&typeof Lt.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(t=>{let[n,r]=t;const s=hA(dA(n));s!=null&&(la[r]=s)});const $3={styleDefault:"solid",familyDefault:Mn,cssPrefix:F3,replacementClass:j3,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};la.familyPrefix&&(la.cssPrefix=la.familyPrefix);const mo=ie(ie({},$3),la);mo.autoReplaceSvg||(mo.observeMutations=!1);const Re={};Object.keys($3).forEach(e=>{Object.defineProperty(Re,e,{enumerable:!0,set:function(t){mo[e]=t,fa.forEach(n=>n(Re))},get:function(){return mo[e]}})});Object.defineProperty(Re,"familyPrefix",{enumerable:!0,set:function(e){mo.cssPrefix=e,fa.forEach(t=>t(Re))},get:function(){return mo.cssPrefix}});Vs.FontAwesomeConfig=Re;const fa=[];function pA(e){return fa.push(e),()=>{fa.splice(fa.indexOf(e),1)}}const ys=Vd,Nr={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function mA(e){if(!e||!ds)return;const t=Lt.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;const n=Lt.head.childNodes;let r=null;for(let s=n.length-1;s>-1;s--){const i=n[s],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=i)}return Lt.head.insertBefore(t,r),e}const gA="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function La(){let e=12,t="";for(;e-- >0;)t+=gA[Math.random()*62|0];return t}function Po(e){const t=[];for(let n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function lp(e){return e.classList?Po(e.classList):(e.getAttribute("class")||"").split(" ").filter(t=>t)}function H3(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function yA(e){return Object.keys(e||{}).reduce((t,n)=>t+"".concat(n,'="').concat(H3(e[n]),'" '),"").trim()}function vf(e){return Object.keys(e||{}).reduce((t,n)=>t+"".concat(n,": ").concat(e[n].trim(),";"),"")}function fp(e){return e.size!==Nr.size||e.x!==Nr.x||e.y!==Nr.y||e.rotate!==Nr.rotate||e.flipX||e.flipY}function _A(e){let{transform:t,containerWidth:n,iconWidth:r}=e;const s={transform:"translate(".concat(n/2," 256)")},i="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),a="rotate(".concat(t.rotate," 0 0)"),c={transform:"".concat(i," ").concat(o," ").concat(a)},f={transform:"translate(".concat(r/2*-1," -256)")};return{outer:s,inner:c,path:f}}function bA(e){let{transform:t,width:n=Vd,height:r=Vd,startCentered:s=!1}=e,i="";return s&&I3?i+="translate(".concat(t.x/ys-n/2,"em, ").concat(t.y/ys-r/2,"em) "):s?i+="translate(calc(-50% + ".concat(t.x/ys,"em), calc(-50% + ").concat(t.y/ys,"em)) "):i+="translate(".concat(t.x/ys,"em, ").concat(t.y/ys,"em) "),i+="scale(".concat(t.size/ys*(t.flipX?-1:1),", ").concat(t.size/ys*(t.flipY?-1:1),") "),i+="rotate(".concat(t.rotate,"deg) "),i}var xA=`:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; + --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; + --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; + --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; + --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; + --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; + --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; + --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; + --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; + --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; + --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; +} + +svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { + overflow: visible; + box-sizing: content-box; +} + +.svg-inline--fa { + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -0.125em; +} +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; +} +.svg-inline--fa.fa-xs { + vertical-align: 0em; +} +.svg-inline--fa.fa-sm { + vertical-align: -0.0714285705em; +} +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; +} +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; +} +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; +} +.svg-inline--fa.fa-pull-left { + margin-right: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-pull-right { + margin-left: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + top: 0.25em; +} +.svg-inline--fa.fa-fw { + width: var(--fa-fw-width, 1.25em); +} + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; +} + +.fa-layers-counter, .fa-layers-text { + display: inline-block; + position: absolute; + text-align: center; +} + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -0.125em; + width: 1em; +} +.fa-layers svg.svg-inline--fa { + transform-origin: center center; +} + +.fa-layers-text { + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + transform-origin: center center; +} + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + transform: scale(var(--fa-counter-scale, 0.25)); + transform-origin: top right; +} + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: bottom right; +} + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: bottom left; +} + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: top right; +} + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: top left; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.0833333337em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.0714285718em; + vertical-align: 0.0535714295em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.0416666682em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + left: calc(-1 * var(--fa-li-width, 2em)); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); +} + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + animation-name: fa-beat; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + animation-name: fa-bounce; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + animation-name: fa-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + animation-name: fa-beat-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + animation-name: fa-flip; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + animation-name: fa-shake; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin { + animation-name: fa-spin; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 2s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + animation-name: fa-spin; + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, +.fa-bounce, +.fa-fade, +.fa-beat-fade, +.fa-flip, +.fa-pulse, +.fa-shake, +.fa-spin, +.fa-spin-pulse { + animation-delay: -1ms; + animation-duration: 1ms; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; + } +} +@keyframes fa-beat { + 0%, 90% { + transform: scale(1); + } + 45% { + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@keyframes fa-bounce { + 0% { + transform: scale(1, 1) translateY(0); + } + 10% { + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + transform: scale(1, 1) translateY(0); + } + 100% { + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + transform: scale(1); + } + 50% { + opacity: 1; + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@keyframes fa-flip { + 50% { + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@keyframes fa-shake { + 0% { + transform: rotate(-15deg); + } + 4% { + transform: rotate(15deg); + } + 8%, 24% { + transform: rotate(-18deg); + } + 12%, 28% { + transform: rotate(18deg); + } + 16% { + transform: rotate(-22deg); + } + 20% { + transform: rotate(22deg); + } + 32% { + transform: rotate(-12deg); + } + 36% { + transform: rotate(12deg); + } + 40%, 100% { + transform: rotate(0deg); + } +} +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.fa-rotate-90 { + transform: rotate(90deg); +} + +.fa-rotate-180 { + transform: rotate(180deg); +} + +.fa-rotate-270 { + transform: rotate(270deg); +} + +.fa-flip-horizontal { + transform: scale(-1, 1); +} + +.fa-flip-vertical { + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + transform: scale(-1, -1); +} + +.fa-rotate-by { + transform: rotate(var(--fa-rotate-angle, 0)); +} + +.fa-stack { + display: inline-block; + vertical-align: middle; + height: 2em; + position: relative; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + z-index: var(--fa-stack-z-index, auto); +} + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; +} +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; +}`;function z3(){const e=F3,t=j3,n=Re.cssPrefix,r=Re.replacementClass;let s=xA;if(n!==e||r!==t){const i=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),a=new RegExp("\\.".concat(t),"g");s=s.replace(i,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(a,".".concat(r))}return s}let em=!1;function Tu(){Re.autoAddCss&&!em&&(mA(z3()),em=!0)}var vA={mixout(){return{dom:{css:z3,insertCss:Tu}}},hooks(){return{beforeDOMElementCreation(){Tu()},beforeI2svg(){Tu()}}}};const ls=Vs||{};ls[cs]||(ls[cs]={});ls[cs].styles||(ls[cs].styles={});ls[cs].hooks||(ls[cs].hooks={});ls[cs].shims||(ls[cs].shims=[]);var Rr=ls[cs];const K3=[],q3=function(){Lt.removeEventListener("DOMContentLoaded",q3),Pl=1,K3.map(e=>e())};let Pl=!1;ds&&(Pl=(Lt.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(Lt.readyState),Pl||Lt.addEventListener("DOMContentLoaded",q3));function EA(e){ds&&(Pl?setTimeout(e,0):K3.push(e))}function tc(e){const{tag:t,attributes:n={},children:r=[]}=e;return typeof e=="string"?H3(e):"<".concat(t," ").concat(yA(n),">").concat(r.map(tc).join(""),"")}function tm(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var Au=function(t,n,r,s){var i=Object.keys(t),o=i.length,a=n,c,f,l;for(r===void 0?(c=1,l=t[i[0]]):(c=0,l=r);c=55296&&s<=56319&&n=55296&&r<=56319&&n>t+1&&(s=e.charCodeAt(t+1),s>=56320&&s<=57343)?(r-55296)*1024+s-56320+65536:r}function nm(e){return Object.keys(e).reduce((t,n)=>{const r=e[n];return!!r.icon?t[r.iconName]=r.icon:t[n]=r,t},{})}function Xd(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:r=!1}=n,s=nm(t);typeof Rr.hooks.addPack=="function"&&!r?Rr.hooks.addPack(e,nm(t)):Rr.styles[e]=ie(ie({},Rr.styles[e]||{}),s),e==="fas"&&Xd("fa",t)}const{styles:Ma,shims:TA}=Rr,X3=Object.keys(cp),AA=X3.reduce((e,t)=>(e[t]=Object.keys(cp[t]),e),{});let up=null,W3={},G3={},Y3={},J3={},Q3={};function CA(e){return~uA.indexOf(e)}function OA(e,t){const n=t.split("-"),r=n[0],s=n.slice(1).join("-");return r===e&&s!==""&&!CA(s)?s:null}const Z3=()=>{const e=r=>Au(Ma,(s,i,o)=>(s[o]=Au(i,r,{}),s),{});W3=e((r,s,i)=>(s[3]&&(r[s[3]]=i),s[2]&&s[2].filter(a=>typeof a=="number").forEach(a=>{r[a.toString(16)]=i}),r)),G3=e((r,s,i)=>(r[i]=i,s[2]&&s[2].filter(a=>typeof a=="string").forEach(a=>{r[a]=i}),r)),Q3=e((r,s,i)=>{const o=s[2];return r[i]=i,o.forEach(a=>{r[a]=i}),r});const t="far"in Ma||Re.autoFetchSvg,n=Au(TA,(r,s)=>{const i=s[0];let o=s[1];const a=s[2];return o==="far"&&!t&&(o="fas"),typeof i=="string"&&(r.names[i]={prefix:o,iconName:a}),typeof i=="number"&&(r.unicodes[i.toString(16)]={prefix:o,iconName:a}),r},{names:{},unicodes:{}});Y3=n.names,J3=n.unicodes,up=Ef(Re.styleDefault,{family:Re.familyDefault})};pA(e=>{up=Ef(e.styleDefault,{family:Re.familyDefault})});Z3();function dp(e,t){return(W3[e]||{})[t]}function NA(e,t){return(G3[e]||{})[t]}function ai(e,t){return(Q3[e]||{})[t]}function e6(e){return Y3[e]||{prefix:null,iconName:null}}function RA(e){const t=J3[e],n=dp("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function $s(){return up}const t6=()=>({prefix:null,iconName:null,rest:[]});function PA(e){let t=Mn;const n=X3.reduce((r,s)=>(r[s]="".concat(Re.cssPrefix,"-").concat(s),r),{});return k3.forEach(r=>{(e.includes(n[r])||e.some(s=>AA[r].includes(s)))&&(t=r)}),t}function Ef(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:n=Mn}=t,r=oA[n][e];if(n===xf&&!e)return"fad";const s=Z0[n][e]||Z0[n][r],i=e in Rr.styles?e:null;return s||i||null}function IA(e){let t=[],n=null;return e.forEach(r=>{const s=OA(Re.cssPrefix,r);s?n=s:r&&t.push(r)}),{iconName:n,rest:t}}function rm(e){return e.sort().filter((t,n,r)=>r.indexOf(t)===n)}function wf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:n=!1}=t;let r=null;const s=Bd.concat(WT),i=rm(e.filter(u=>s.includes(u))),o=rm(e.filter(u=>!Bd.includes(u))),a=i.filter(u=>(r=u,!M3.includes(u))),[c=null]=a,f=PA(i),l=ie(ie({},IA(o)),{},{prefix:Ef(c,{family:f})});return ie(ie(ie({},l),DA({values:e,family:f,styles:Ma,config:Re,canonical:l,givenPrefix:r})),LA(n,r,l))}function LA(e,t,n){let{prefix:r,iconName:s}=n;if(e||!r||!s)return{prefix:r,iconName:s};const i=t==="fa"?e6(s):{},o=ai(r,s);return s=i.iconName||o||s,r=i.prefix||r,r==="far"&&!Ma.far&&Ma.fas&&!Re.autoFetchSvg&&(r="fas"),{prefix:r,iconName:s}}const MA=k3.filter(e=>e!==Mn||e!==xf),kA=Object.keys(Ud).filter(e=>e!==Mn).map(e=>Object.keys(Ud[e])).flat();function DA(e){const{values:t,family:n,canonical:r,givenPrefix:s="",styles:i={},config:o={}}=e,a=n===xf,c=t.includes("fa-duotone")||t.includes("fad"),f=o.familyDefault==="duotone",l=r.prefix==="fad"||r.prefix==="fa-duotone";if(!a&&(c||f||l)&&(r.prefix="fad"),(t.includes("fa-brands")||t.includes("fab"))&&(r.prefix="fab"),!r.prefix&&MA.includes(n)&&(Object.keys(i).find(d=>kA.includes(d))||o.autoFetchSvg)){const d=BT.get(n).defaultShortPrefixId;r.prefix=d,r.iconName=ai(r.prefix,r.iconName)||r.iconName}return(r.prefix==="fa"||s==="fa")&&(r.prefix=$s()||"fas"),r}class FA{constructor(){this.definitions={}}add(){for(var t=arguments.length,n=new Array(t),r=0;r{this.definitions[i]=ie(ie({},this.definitions[i]||{}),s[i]),Xd(i,s[i]);const o=cp[Mn][i];o&&Xd(o,s[i]),Z3()})}reset(){this.definitions={}}_pullDefinitions(t,n){const r=n.prefix&&n.iconName&&n.icon?{0:n}:n;return Object.keys(r).map(s=>{const{prefix:i,iconName:o,icon:a}=r[s],c=a[2];t[i]||(t[i]={}),c.length>0&&c.forEach(f=>{typeof f=="string"&&(t[i][f]=a)}),t[i][o]=a}),t}}let sm=[],Ji={};const so={},jA=Object.keys(so);function UA(e,t){let{mixoutsTo:n}=t;return sm=e,Ji={},Object.keys(so).forEach(r=>{jA.indexOf(r)===-1&&delete so[r]}),sm.forEach(r=>{const s=r.mixout?r.mixout():{};if(Object.keys(s).forEach(i=>{typeof s[i]=="function"&&(n[i]=s[i]),typeof s[i]=="object"&&Object.keys(s[i]).forEach(o=>{n[i]||(n[i]={}),n[i][o]=s[i][o]})}),r.hooks){const i=r.hooks();Object.keys(i).forEach(o=>{Ji[o]||(Ji[o]=[]),Ji[o].push(i[o])})}r.provides&&r.provides(so)}),n}function Wd(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s{t=o.apply(null,[t,...r])}),t}function Oi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{i.apply(null,n)})}function Hs(){const e=arguments[0],t=Array.prototype.slice.call(arguments,1);return so[e]?so[e].apply(null,t):void 0}function Gd(e){e.prefix==="fa"&&(e.prefix="fas");let{iconName:t}=e;const n=e.prefix||$s();if(t)return t=ai(n,t)||t,tm(n6.definitions,n,t)||tm(Rr.styles,n,t)}const n6=new FA,BA=()=>{Re.autoReplaceSvg=!1,Re.observeMutations=!1,Oi("noAuto")},VA={i2svg:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ds?(Oi("beforeI2svg",e),Hs("pseudoElements2svg",e),Hs("i2svg",e)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:t}=e;Re.autoReplaceSvg===!1&&(Re.autoReplaceSvg=!0),Re.observeMutations=!0,EA(()=>{HA({autoReplaceSvgRoot:t}),Oi("watch",e)})}},$A={icon:e=>{if(e===null)return null;if(typeof e=="object"&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:ai(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&e.length===2){const t=e[1].indexOf("fa-")===0?e[1].slice(3):e[1],n=Ef(e[0]);return{prefix:n,iconName:ai(n,t)||t}}if(typeof e=="string"&&(e.indexOf("".concat(Re.cssPrefix,"-"))>-1||e.match(aA))){const t=wf(e.split(" "),{skipLookups:!0});return{prefix:t.prefix||$s(),iconName:ai(t.prefix,t.iconName)||t.iconName}}if(typeof e=="string"){const t=$s();return{prefix:t,iconName:ai(t,e)||e}}}},ar={noAuto:BA,config:Re,dom:VA,parse:$A,library:n6,findIconDefinition:Gd,toHtml:tc},HA=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:t=Lt}=e;(Object.keys(Rr.styles).length>0||Re.autoFetchSvg)&&ds&&Re.autoReplaceSvg&&ar.dom.i2svg({node:t})};function Sf(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(n=>tc(n))}}),Object.defineProperty(e,"node",{get:function(){if(!ds)return;const n=Lt.createElement("div");return n.innerHTML=e.html,n.children}}),e}function zA(e){let{children:t,main:n,mask:r,attributes:s,styles:i,transform:o}=e;if(fp(o)&&n.found&&!r.found){const{width:a,height:c}=n,f={x:a/c/2,y:.5};s.style=vf(ie(ie({},i),{},{"transform-origin":"".concat(f.x+o.x/16,"em ").concat(f.y+o.y/16,"em")}))}return[{tag:"svg",attributes:s,children:t}]}function KA(e){let{prefix:t,iconName:n,children:r,attributes:s,symbol:i}=e;const o=i===!0?"".concat(t,"-").concat(Re.cssPrefix,"-").concat(n):i;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:ie(ie({},s),{},{id:o}),children:r}]}]}function hp(e){const{icons:{main:t,mask:n},prefix:r,iconName:s,transform:i,symbol:o,title:a,maskId:c,titleId:f,extra:l,watchable:u=!1}=e,{width:d,height:p}=n.found?n:t,y=KT.includes(r),g=[Re.replacementClass,s?"".concat(Re.cssPrefix,"-").concat(s):""].filter(O=>l.classes.indexOf(O)===-1).filter(O=>O!==""||!!O).concat(l.classes).join(" ");let w={children:[],attributes:ie(ie({},l.attributes),{},{"data-prefix":r,"data-icon":s,class:g,role:l.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(d," ").concat(p)})};const x=y&&!~l.classes.indexOf("fa-fw")?{width:"".concat(d/p*16*.0625,"em")}:{};u&&(w.attributes[Ci]=""),a&&(w.children.push({tag:"title",attributes:{id:w.attributes["aria-labelledby"]||"title-".concat(f||La())},children:[a]}),delete w.attributes.title);const _=ie(ie({},w),{},{prefix:r,iconName:s,main:t,mask:n,maskId:c,transform:i,symbol:o,styles:ie(ie({},x),l.styles)}),{children:b,attributes:T}=n.found&&t.found?Hs("generateAbstractMask",_)||{children:[],attributes:{}}:Hs("generateAbstractIcon",_)||{children:[],attributes:{}};return _.children=b,_.attributes=T,o?KA(_):zA(_)}function im(e){const{content:t,width:n,height:r,transform:s,title:i,extra:o,watchable:a=!1}=e,c=ie(ie(ie({},o.attributes),i?{title:i}:{}),{},{class:o.classes.join(" ")});a&&(c[Ci]="");const f=ie({},o.styles);fp(s)&&(f.transform=bA({transform:s,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f.transform);const l=vf(f);l.length>0&&(c.style=l);const u=[];return u.push({tag:"span",attributes:c,children:[t]}),i&&u.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),u}function qA(e){const{content:t,title:n,extra:r}=e,s=ie(ie(ie({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),i=vf(r.styles);i.length>0&&(s.style=i);const o=[];return o.push({tag:"span",attributes:s,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}const{styles:Cu}=Rr;function Yd(e){const t=e[0],n=e[1],[r]=e.slice(4);let s=null;return Array.isArray(r)?s={tag:"g",attributes:{class:"".concat(Re.cssPrefix,"-").concat(Su.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Re.cssPrefix,"-").concat(Su.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(Re.cssPrefix,"-").concat(Su.PRIMARY),fill:"currentColor",d:r[1]}}]}:s={tag:"path",attributes:{fill:"currentColor",d:r}},{found:!0,width:t,height:n,icon:s}}const XA={found:!1,width:512,height:512};function WA(e,t){!U3&&!Re.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function Jd(e,t){let n=t;return t==="fa"&&Re.styleDefault!==null&&(t=$s()),new Promise((r,s)=>{if(n==="fa"){const i=e6(e);e=i.iconName||e,t=i.prefix||t}if(e&&t&&Cu[t]&&Cu[t][e]){const i=Cu[t][e];return r(Yd(i))}WA(e,t),r(ie(ie({},XA),{},{icon:Re.showMissingIcons&&e?Hs("missingIconAbstract")||{}:{}}))})}const om=()=>{},Qd=Re.measurePerformance&&Nc&&Nc.mark&&Nc.measure?Nc:{mark:om,measure:om},Go='FA "6.7.2"',GA=e=>(Qd.mark("".concat(Go," ").concat(e," begins")),()=>r6(e)),r6=e=>{Qd.mark("".concat(Go," ").concat(e," ends")),Qd.measure("".concat(Go," ").concat(e),"".concat(Go," ").concat(e," begins"),"".concat(Go," ").concat(e," ends"))};var pp={begin:GA,end:r6};const Gc=()=>{};function am(e){return typeof(e.getAttribute?e.getAttribute(Ci):null)=="string"}function YA(e){const t=e.getAttribute?e.getAttribute(op):null,n=e.getAttribute?e.getAttribute(ap):null;return t&&n}function JA(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(Re.replacementClass)}function QA(){return Re.autoReplaceSvg===!0?Yc.replace:Yc[Re.autoReplaceSvg]||Yc.replace}function ZA(e){return Lt.createElementNS("http://www.w3.org/2000/svg",e)}function eC(e){return Lt.createElement(e)}function s6(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:n=e.tag==="svg"?ZA:eC}=t;if(typeof e=="string")return Lt.createTextNode(e);const r=n(e.tag);return Object.keys(e.attributes||[]).forEach(function(i){r.setAttribute(i,e.attributes[i])}),(e.children||[]).forEach(function(i){r.appendChild(s6(i,{ceFn:n}))}),r}function tC(e){let t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}const Yc={replace:function(e){const t=e[0];if(t.parentNode)if(e[1].forEach(n=>{t.parentNode.insertBefore(s6(n),t)}),t.getAttribute(Ci)===null&&Re.keepOriginalSource){let n=Lt.createComment(tC(t));t.parentNode.replaceChild(n,t)}else t.remove()},nest:function(e){const t=e[0],n=e[1];if(~lp(t).indexOf(Re.replacementClass))return Yc.replace(e);const r=new RegExp("".concat(Re.cssPrefix,"-.*"));if(delete n[0].attributes.id,n[0].attributes.class){const i=n[0].attributes.class.split(" ").reduce((o,a)=>(a===Re.replacementClass||a.match(r)?o.toSvg.push(a):o.toNode.push(a),o),{toNode:[],toSvg:[]});n[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?t.removeAttribute("class"):t.setAttribute("class",i.toNode.join(" "))}const s=n.map(i=>tc(i)).join(` +`);t.setAttribute(Ci,""),t.innerHTML=s}};function cm(e){e()}function i6(e,t){const n=typeof t=="function"?t:Gc;if(e.length===0)n();else{let r=cm;Re.mutateApproach===sA&&(r=Vs.requestAnimationFrame||cm),r(()=>{const s=QA(),i=pp.begin("mutate");e.map(s),i(),n()})}}let mp=!1;function o6(){mp=!0}function Zd(){mp=!1}let Il=null;function lm(e){if(!G0||!Re.observeMutations)return;const{treeCallback:t=Gc,nodeCallback:n=Gc,pseudoElementsCallback:r=Gc,observeMutationsRoot:s=Lt}=e;Il=new G0(i=>{if(mp)return;const o=$s();Po(i).forEach(a=>{if(a.type==="childList"&&a.addedNodes.length>0&&!am(a.addedNodes[0])&&(Re.searchPseudoElements&&r(a.target),t(a.target)),a.type==="attributes"&&a.target.parentNode&&Re.searchPseudoElements&&r(a.target.parentNode),a.type==="attributes"&&am(a.target)&&~fA.indexOf(a.attributeName))if(a.attributeName==="class"&&YA(a.target)){const{prefix:c,iconName:f}=wf(lp(a.target));a.target.setAttribute(op,c||o),f&&a.target.setAttribute(ap,f)}else JA(a.target)&&n(a.target)})}),ds&&Il.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function nC(){Il&&Il.disconnect()}function rC(e){const t=e.getAttribute("style");let n=[];return t&&(n=t.split(";").reduce((r,s)=>{const i=s.split(":"),o=i[0],a=i.slice(1);return o&&a.length>0&&(r[o]=a.join(":").trim()),r},{})),n}function sC(e){const t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"";let s=wf(lp(e));return s.prefix||(s.prefix=$s()),t&&n&&(s.prefix=t,s.iconName=n),s.iconName&&s.prefix||(s.prefix&&r.length>0&&(s.iconName=NA(s.prefix,e.innerText)||dp(s.prefix,qd(e.innerText))),!s.iconName&&Re.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(s.iconName=e.firstChild.data)),s}function iC(e){const t=Po(e.attributes).reduce((s,i)=>(s.name!=="class"&&s.name!=="style"&&(s[i.name]=i.value),s),{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return Re.autoA11y&&(n?t["aria-labelledby"]="".concat(Re.replacementClass,"-title-").concat(r||La()):(t["aria-hidden"]="true",t.focusable="false")),t}function oC(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Nr,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function fm(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:n,prefix:r,rest:s}=sC(e),i=iC(e),o=Wd("parseNodeAttributes",{},e);let a=t.styleParser?rC(e):[];return ie({iconName:n,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:r,transform:Nr,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:s,styles:a,attributes:i}},o)}const{styles:aC}=Rr;function a6(e){const t=Re.autoReplaceSvg==="nest"?fm(e,{styleParser:!1}):fm(e);return~t.extra.classes.indexOf(V3)?Hs("generateLayersText",e,t):Hs("generateSvgReplacementMutation",e,t)}function cC(){return[...$T,...Bd]}function um(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!ds)return Promise.resolve();const n=Lt.documentElement.classList,r=l=>n.add("".concat(Q0,"-").concat(l)),s=l=>n.remove("".concat(Q0,"-").concat(l)),i=Re.autoFetchSvg?cC():M3.concat(Object.keys(aC));i.includes("fa")||i.push("fa");const o=[".".concat(V3,":not([").concat(Ci,"])")].concat(i.map(l=>".".concat(l,":not([").concat(Ci,"])"))).join(", ");if(o.length===0)return Promise.resolve();let a=[];try{a=Po(e.querySelectorAll(o))}catch{}if(a.length>0)r("pending"),s("complete");else return Promise.resolve();const c=pp.begin("onTree"),f=a.reduce((l,u)=>{try{const d=a6(u);d&&l.push(d)}catch(d){U3||d.name==="MissingIcon"&&console.error(d)}return l},[]);return new Promise((l,u)=>{Promise.all(f).then(d=>{i6(d,()=>{r("active"),r("complete"),s("pending"),typeof t=="function"&&t(),c(),l()})}).catch(d=>{c(),u(d)})})}function lC(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;a6(e).then(n=>{n&&i6([n],t)})}function fC(e){return function(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=(t||{}).icon?t:Gd(t||{});let{mask:s}=n;return s&&(s=(s||{}).icon?s:Gd(s||{})),e(r,ie(ie({},n),{},{mask:s}))}}const uC=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:n=Nr,symbol:r=!1,mask:s=null,maskId:i=null,title:o=null,titleId:a=null,classes:c=[],attributes:f={},styles:l={}}=t;if(!e)return;const{prefix:u,iconName:d,icon:p}=e;return Sf(ie({type:"icon"},e),()=>(Oi("beforeDOMElementCreation",{iconDefinition:e,params:t}),Re.autoA11y&&(o?f["aria-labelledby"]="".concat(Re.replacementClass,"-title-").concat(a||La()):(f["aria-hidden"]="true",f.focusable="false")),hp({icons:{main:Yd(p),mask:s?Yd(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:u,iconName:d,transform:ie(ie({},Nr),n),symbol:r,title:o,maskId:i,titleId:a,extra:{attributes:f,styles:l,classes:c}})))};var dC={mixout(){return{icon:fC(uC)}},hooks(){return{mutationObserverCallbacks(e){return e.treeCallback=um,e.nodeCallback=lC,e}}},provides(e){e.i2svg=function(t){const{node:n=Lt,callback:r=()=>{}}=t;return um(n,r)},e.generateSvgReplacementMutation=function(t,n){const{iconName:r,title:s,titleId:i,prefix:o,transform:a,symbol:c,mask:f,maskId:l,extra:u}=n;return new Promise((d,p)=>{Promise.all([Jd(r,o),f.iconName?Jd(f.iconName,f.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(y=>{let[g,w]=y;d([t,hp({icons:{main:g,mask:w},prefix:o,iconName:r,transform:a,symbol:c,maskId:l,title:s,titleId:i,extra:u,watchable:!0})])}).catch(p)})},e.generateAbstractIcon=function(t){let{children:n,attributes:r,main:s,transform:i,styles:o}=t;const a=vf(o);a.length>0&&(r.style=a);let c;return fp(i)&&(c=Hs("generateAbstractTransformGrouping",{main:s,transform:i,containerWidth:s.width,iconWidth:s.width})),n.push(c||s.icon),{children:n,attributes:r}}}},hC={mixout(){return{layer(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:n=[]}=t;return Sf({type:"layer"},()=>{Oi("beforeDOMElementCreation",{assembler:e,params:t});let r=[];return e(s=>{Array.isArray(s)?s.map(i=>{r=r.concat(i.abstract)}):r=r.concat(s.abstract)}),[{tag:"span",attributes:{class:["".concat(Re.cssPrefix,"-layers"),...n].join(" ")},children:r}]})}}}},pC={mixout(){return{counter(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:n=null,classes:r=[],attributes:s={},styles:i={}}=t;return Sf({type:"counter",content:e},()=>(Oi("beforeDOMElementCreation",{content:e,params:t}),qA({content:e.toString(),title:n,extra:{attributes:s,styles:i,classes:["".concat(Re.cssPrefix,"-layers-counter"),...r]}})))}}}},mC={mixout(){return{text(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:n=Nr,title:r=null,classes:s=[],attributes:i={},styles:o={}}=t;return Sf({type:"text",content:e},()=>(Oi("beforeDOMElementCreation",{content:e,params:t}),im({content:e,transform:ie(ie({},Nr),n),title:r,extra:{attributes:i,styles:o,classes:["".concat(Re.cssPrefix,"-layers-text"),...s]}})))}}},provides(e){e.generateLayersText=function(t,n){const{title:r,transform:s,extra:i}=n;let o=null,a=null;if(I3){const c=parseInt(getComputedStyle(t).fontSize,10),f=t.getBoundingClientRect();o=f.width/c,a=f.height/c}return Re.autoA11y&&!r&&(i.attributes["aria-hidden"]="true"),Promise.resolve([t,im({content:t.innerHTML,width:o,height:a,transform:s,title:r,extra:i,watchable:!0})])}}};const gC=new RegExp('"',"ug"),dm=[1105920,1112319],hm=ie(ie(ie(ie({},{FontAwesome:{normal:"fas",400:"fas"}}),UT),nA),GT),eh=Object.keys(hm).reduce((e,t)=>(e[t.toLowerCase()]=hm[t],e),{}),yC=Object.keys(eh).reduce((e,t)=>{const n=eh[t];return e[t]=n[900]||[...Object.entries(n)][0][1],e},{});function _C(e){const t=e.replace(gC,""),n=SA(t,0),r=n>=dm[0]&&n<=dm[1],s=t.length===2?t[0]===t[1]:!1;return{value:qd(s?t[0]:t),isSecondary:r||s}}function bC(e,t){const n=e.replace(/^['"]|['"]$/g,"").toLowerCase(),r=parseInt(t),s=isNaN(r)?"normal":r;return(eh[n]||{})[s]||yC[n]}function pm(e,t){const n="".concat(rA).concat(t.replace(":","-"));return new Promise((r,s)=>{if(e.getAttribute(n)!==null)return r();const o=Po(e.children).filter(d=>d.getAttribute($d)===t)[0],a=Vs.getComputedStyle(e,t),c=a.getPropertyValue("font-family"),f=c.match(cA),l=a.getPropertyValue("font-weight"),u=a.getPropertyValue("content");if(o&&!f)return e.removeChild(o),r();if(f&&u!=="none"&&u!==""){const d=a.getPropertyValue("content");let p=bC(c,l);const{value:y,isSecondary:g}=_C(d),w=f[0].startsWith("FontAwesome");let x=dp(p,y),_=x;if(w){const b=RA(y);b.iconName&&b.prefix&&(x=b.iconName,p=b.prefix)}if(x&&!g&&(!o||o.getAttribute(op)!==p||o.getAttribute(ap)!==_)){e.setAttribute(n,_),o&&e.removeChild(o);const b=oC(),{extra:T}=b;T.attributes[$d]=t,Jd(x,p).then(O=>{const N=hp(ie(ie({},b),{},{icons:{main:O,mask:t6()},prefix:p,iconName:_,extra:T,watchable:!0})),L=Lt.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(L,e.firstChild):e.appendChild(L),L.outerHTML=N.map(j=>tc(j)).join(` +`),e.removeAttribute(n),r()}).catch(s)}else r()}else r()})}function xC(e){return Promise.all([pm(e,"::before"),pm(e,"::after")])}function vC(e){return e.parentNode!==document.head&&!~iA.indexOf(e.tagName.toUpperCase())&&!e.getAttribute($d)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function mm(e){if(ds)return new Promise((t,n)=>{const r=Po(e.querySelectorAll("*")).filter(vC).map(xC),s=pp.begin("searchPseudoElements");o6(),Promise.all(r).then(()=>{s(),Zd(),t()}).catch(()=>{s(),Zd(),n()})})}var EC={hooks(){return{mutationObserverCallbacks(e){return e.pseudoElementsCallback=mm,e}}},provides(e){e.pseudoElements2svg=function(t){const{node:n=Lt}=t;Re.searchPseudoElements&&mm(n)}}};let gm=!1;var wC={mixout(){return{dom:{unwatch(){o6(),gm=!0}}}},hooks(){return{bootstrap(){lm(Wd("mutationObserverCallbacks",{}))},noAuto(){nC()},watch(e){const{observeMutationsRoot:t}=e;gm?Zd():lm(Wd("mutationObserverCallbacks",{observeMutationsRoot:t}))}}}};const ym=e=>{let t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e.toLowerCase().split(" ").reduce((n,r)=>{const s=r.toLowerCase().split("-"),i=s[0];let o=s.slice(1).join("-");if(i&&o==="h")return n.flipX=!0,n;if(i&&o==="v")return n.flipY=!0,n;if(o=parseFloat(o),isNaN(o))return n;switch(i){case"grow":n.size=n.size+o;break;case"shrink":n.size=n.size-o;break;case"left":n.x=n.x-o;break;case"right":n.x=n.x+o;break;case"up":n.y=n.y-o;break;case"down":n.y=n.y+o;break;case"rotate":n.rotate=n.rotate+o;break}return n},t)};var SC={mixout(){return{parse:{transform:e=>ym(e)}}},hooks(){return{parseNodeAttributes(e,t){const n=t.getAttribute("data-fa-transform");return n&&(e.transform=ym(n)),e}}},provides(e){e.generateAbstractTransformGrouping=function(t){let{main:n,transform:r,containerWidth:s,iconWidth:i}=t;const o={transform:"translate(".concat(s/2," 256)")},a="translate(".concat(r.x*32,", ").concat(r.y*32,") "),c="scale(".concat(r.size/16*(r.flipX?-1:1),", ").concat(r.size/16*(r.flipY?-1:1),") "),f="rotate(".concat(r.rotate," 0 0)"),l={transform:"".concat(a," ").concat(c," ").concat(f)},u={transform:"translate(".concat(i/2*-1," -256)")},d={outer:o,inner:l,path:u};return{tag:"g",attributes:ie({},d.outer),children:[{tag:"g",attributes:ie({},d.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:ie(ie({},n.icon.attributes),d.path)}]}]}}}};const Ou={x:0,y:0,width:"100%",height:"100%"};function _m(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function TC(e){return e.tag==="g"?e.children:[e]}var AC={hooks(){return{parseNodeAttributes(e,t){const n=t.getAttribute("data-fa-mask"),r=n?wf(n.split(" ").map(s=>s.trim())):t6();return r.prefix||(r.prefix=$s()),e.mask=r,e.maskId=t.getAttribute("data-fa-mask-id"),e}}},provides(e){e.generateAbstractMask=function(t){let{children:n,attributes:r,main:s,mask:i,maskId:o,transform:a}=t;const{width:c,icon:f}=s,{width:l,icon:u}=i,d=_A({transform:a,containerWidth:l,iconWidth:c}),p={tag:"rect",attributes:ie(ie({},Ou),{},{fill:"white"})},y=f.children?{children:f.children.map(_m)}:{},g={tag:"g",attributes:ie({},d.inner),children:[_m(ie({tag:f.tag,attributes:ie(ie({},f.attributes),d.path)},y))]},w={tag:"g",attributes:ie({},d.outer),children:[g]},x="mask-".concat(o||La()),_="clip-".concat(o||La()),b={tag:"mask",attributes:ie(ie({},Ou),{},{id:x,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,w]},T={tag:"defs",children:[{tag:"clipPath",attributes:{id:_},children:TC(u)},b]};return n.push(T,{tag:"rect",attributes:ie({fill:"currentColor","clip-path":"url(#".concat(_,")"),mask:"url(#".concat(x,")")},Ou)}),{children:n,attributes:r}}}},CC={provides(e){let t=!1;Vs.matchMedia&&(t=Vs.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){const n=[],r={fill:"currentColor"},s={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};n.push({tag:"path",attributes:ie(ie({},r),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const i=ie(ie({},s),{},{attributeName:"opacity"}),o={tag:"circle",attributes:ie(ie({},r),{},{cx:"256",cy:"364",r:"28"}),children:[]};return t||o.children.push({tag:"animate",attributes:ie(ie({},s),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:ie(ie({},i),{},{values:"1;0;1;1;0;1;"})}),n.push(o),n.push({tag:"path",attributes:ie(ie({},r),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:t?[]:[{tag:"animate",attributes:ie(ie({},i),{},{values:"1;0;0;0;0;1;"})}]}),t||n.push({tag:"path",attributes:ie(ie({},r),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:ie(ie({},i),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:n}}}},OC={hooks(){return{parseNodeAttributes(e,t){const n=t.getAttribute("data-fa-symbol"),r=n===null?!1:n===""?!0:n;return e.symbol=r,e}}}},NC=[vA,dC,hC,pC,mC,EC,wC,SC,AC,CC,OC];UA(NC,{mixoutsTo:ar});ar.noAuto;ar.config;const RC=ar.library;ar.dom;const th=ar.parse;ar.findIconDefinition;ar.toHtml;const PC=ar.icon;ar.layer;ar.text;ar.counter;/*! + * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */const IC={prefix:"fas",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z"]},LC={prefix:"fas",iconName:"message",icon:[512,512,["comment-alt"],"f27a","M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l96 0 0 80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416 448 416c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0z"]},MC={prefix:"fas",iconName:"file-lines",icon:[384,512,[128441,128462,61686,"file-alt","file-text"],"f15c","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]},kC={prefix:"fas",iconName:"square-caret-down",icon:[448,512,["caret-square-down"],"f150","M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z"]},DC={prefix:"fas",iconName:"lightbulb",icon:[384,512,[128161],"f0eb","M272 384c9.6-31.9 29.5-59.1 49.2-86.2c0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4c0 0 0 0 0 0c19.8 27.1 39.7 54.4 49.2 86.2l160 0zM192 512c44.2 0 80-35.8 80-80l0-16-160 0 0 16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z"]},FC={prefix:"fas",iconName:"share-nodes",icon:[448,512,["share-alt"],"f1e0","M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z"]},jC={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z"]},UC={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z"]},BC={prefix:"fas",iconName:"hand",icon:[512,512,[129306,9995,"hand-paper"],"f256","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 272c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64l19.2 0c97.2 0 176-78.8 176-176l0-208c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-176c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 176c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208z"]},VC={prefix:"fas",iconName:"chevron-up",icon:[512,512,[],"f077","M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"]},$C={prefix:"fas",iconName:"user",icon:[448,512,[128100,62144],"f007","M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"]},HC={prefix:"fas",iconName:"globe",icon:[512,512,[127760],"f0ac","M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z"]},zC={prefix:"fas",iconName:"ban",icon:[512,512,[128683,"cancel"],"f05e","M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"]},KC={prefix:"fas",iconName:"folder-open",icon:[576,512,[128194,128449,61717],"f07c","M88.7 223.8L0 375.8 0 96C0 60.7 28.7 32 64 32l117.5 0c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64l0 32-336 0c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224l400 0c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480L32 480c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z"]},qC={prefix:"fas",iconName:"gift",icon:[512,512,[127873],"f06b","M190.5 68.8L225.3 128l-1.3 0-72 0c-22.1 0-40-17.9-40-40s17.9-40 40-40l2.2 0c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40L32 128c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l448 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-41.6 0c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88l-2.2 0c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0L152 0C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40l-72 0-1.3 0 34.8-59.2C329.1 55.9 342.9 48 357.8 48l2.2 0c22.1 0 40 17.9 40 40zM32 288l0 176c0 26.5 21.5 48 48 48l144 0 0-224L32 288zM288 512l144 0c26.5 0 48-21.5 48-48l0-176-192 0 0 224z"]},XC={prefix:"fas",iconName:"square-caret-up",icon:[448,512,["caret-square-up"],"f151","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z"]},WC={prefix:"fas",iconName:"square-plus",icon:[448,512,[61846,"plus-square"],"f0fe","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z"]},GC={prefix:"fas",iconName:"circle-check",icon:[512,512,[61533,"check-circle"],"f058","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},YC={prefix:"fas",iconName:"burst",icon:[512,512,[],"e4dc","M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z"]},JC={prefix:"fas",iconName:"left-right",icon:[512,512,[8596,"arrows-alt-h"],"f337","M504.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-192 0 0-56c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104C2.8 243 0 249.3 0 256s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-56 192 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z"]},QC={prefix:"fas",iconName:"square",icon:[448,512,[9632,9723,9724,61590],"f0c8","M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z"]},ZC={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M3.9 54.9C10.5 40.9 24.5 32 40 32l432 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9 320 448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z"]},e7={prefix:"fas",iconName:"question",icon:[320,512,[10067,10068,61736],"3f","M80 160c0-35.3 28.7-64 64-64l32 0c35.3 0 64 28.7 64 64l0 3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1c-25.2 16.2-40.4 44.1-40.4 74l0 1.4c0 17.7 14.3 32 32 32s32-14.3 32-32l0-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7l0-3.6c0-70.7-57.3-128-128-128l-32 0C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},t7={prefix:"fas",iconName:"hand-holding-heart",icon:[576,512,[],"f4be","M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z"]},n7={prefix:"fas",iconName:"arrow-up-right-from-square",icon:[512,512,["external-link"],"f08e","M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l82.7 0L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3l0 82.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160c0-17.7-14.3-32-32-32L320 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},r7={prefix:"fas",iconName:"file-contract",icon:[384,512,[],"f56c","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM80 64l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2L80 416c-8.8 0-16-7.2-16-16s7.2-16 16-16l8.2 0c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8 54.1 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z"]},s7={prefix:"fas",iconName:"arrow-right",icon:[448,512,[8594],"f061","M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"]},i7={prefix:"fas",iconName:"person-circle-question",icon:[576,512,[],"e542","M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6l0 6.4c0 8.8 7.2 16 16 16s16-7.2 16-16l0-6.4c0-5.3 4.3-9.6 9.6-9.6l40.5 0c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2l0 14.8c0 8.8 7.2 16 16 16s16-7.2 16-16l0-5.1 23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9l-40.5 0c-23 0-41.6 18.6-41.6 41.6z"]},o7={prefix:"fas",iconName:"bitcoin-sign",icon:[320,512,[],"e0b4","M48 32C48 14.3 62.3 0 80 0s32 14.3 32 32l0 32 32 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32c0 1.5-.1 3.1-.3 4.5C254.1 82.2 288 125.1 288 176c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-6.3 0C18.7 448 0 429.3 0 406.3L0 288l0-22.3L0 224 0 101.6C0 80.8 16.8 64 37.6 64L48 64l0-32zM64 224l112 0c26.5 0 48-21.5 48-48s-21.5-48-48-48L64 128l0 96zm112 64L64 288l0 96 144 0c26.5 0 48-21.5 48-48s-21.5-48-48-48l-32 0z"]},a7={prefix:"fas",iconName:"circle",icon:[512,512,[128308,128309,128992,128993,128994,128995,128996,9679,9898,9899,11044,61708,61915],"f111","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"]},c7={prefix:"fas",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},l7={prefix:"fas",iconName:"eye",icon:[576,512,[128065],"f06e","M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"]},f7={prefix:"fas",iconName:"pen",icon:[512,512,[128394],"f304","M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z"]},u7={prefix:"fas",iconName:"house-chimney",icon:[576,512,[63499,"home-lg"],"e3af","M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185l0-121c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1l32 0 0 69.7c-.1 .9-.1 1.8-.1 2.8l0 112c0 22.1 17.9 40 40 40l16 0c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2l31.9 0 24 0c22.1 0 40-17.9 40-40l0-24 0-64c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 64 0 24c0 22.1 17.9 40 40 40l24 0 32.5 0c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1l16 0c22.1 0 40-17.9 40-40l0-16.2c.3-2.6 .5-5.3 .5-8.1l-.7-160.2 32 0z"]},d7={prefix:"fas",iconName:"floppy-disk",icon:[448,512,[128190,128426,"save"],"f0c7","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-242.7c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32L64 32zm0 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32L96 224c-17.7 0-32-14.3-32-32l0-64zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"]},h7={prefix:"fas",iconName:"hand-holding-dollar",icon:[576,512,["hand-holding-usd"],"f4c0","M312 24l0 10.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3s0 0 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8l0 10.6c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-11.4c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2L264 24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z"]},p7={prefix:"fas",iconName:"arrow-left",icon:[448,512,[8592],"f060","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"]},m7={prefix:"fas",iconName:"comment",icon:[512,512,[128489,61669],"f075","M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"]},g7={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},y7={prefix:"fas",iconName:"camera",icon:[512,512,[62258,"camera-alt"],"f030","M149.1 64.8L138.7 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L362.9 64.8C356.4 45.2 338.1 32 317.4 32L194.6 32c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"]},_7={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},b7=_7,x7={prefix:"fas",iconName:"left-long",icon:[512,512,["long-arrow-alt-left"],"f30a","M177.5 414c-8.8 3.8-19 2-26-4.6l-144-136C2.7 268.9 0 262.6 0 256s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 288 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-288 0 0 72c0 9.6-5.7 18.2-14.5 22z"]},v7=x7,E7={prefix:"fas",iconName:"minus",icon:[448,512,[8211,8722,10134,"subtract"],"f068","M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"]},w7={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},S7={prefix:"fas",iconName:"coins",icon:[512,512,[],"f51e","M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2c0 0 0 0 0 0s0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4l0 3.4 0 5.7 0 26.3zm32 0l0-32 0-25.9c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5l0 35.4c0 44.2-86 80-192 80S0 476.2 0 432l0-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z"]},T7={prefix:"fas",iconName:"ellipsis-vertical",icon:[128,512,["ellipsis-v"],"f142","M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"]},A7={prefix:"fas",iconName:"right-long",icon:[512,512,["long-arrow-alt-right"],"f30b","M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z"]},C7=A7,O7={prefix:"fas",iconName:"forward",icon:[512,512,[9193],"f04e","M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416L0 96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3l0 41.7 0 41.7L52.5 440.6zM256 352l0-96 0-128 0-32c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29l0-64z"]},N7={prefix:"fas",iconName:"ellipsis",icon:[448,512,["ellipsis-h"],"f141","M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"]},R7={prefix:"fas",iconName:"location-dot",icon:[384,512,["map-marker-alt"],"f3c5","M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"]},P7={prefix:"fas",iconName:"arrow-down",icon:[384,512,[8595],"f063","M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]},I7={prefix:"fas",iconName:"eraser",icon:[576,512,[],"f12d","M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7L288 480l9.4 0L512 480c17.7 0 32-14.3 32-32s-14.3-32-32-32l-124.1 0L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416l-9.4 0-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z"]},L7={prefix:"fas",iconName:"envelope-open-text",icon:[512,512,[],"f658","M215.4 96L144 96l-36.2 0L96 96l0 8.8L96 144l0 40.4 0 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3 48 96c0-26.5 21.5-48 48-48l76.6 0 49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48 416 48c26.5 0 48 21.5 48 48l0 44.3 22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4l0-89 0-40.4 0-39.2 0-8.8-11.8 0L368 96l-71.4 0-81.3 0zM0 448L0 242.1 217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1 512 448s0 0 0 0c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64c0 0 0 0 0 0zM176 160l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]},M7={prefix:"fas",iconName:"link",icon:[640,512,[128279,"chain"],"f0c1","M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"]},k7={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]},D7={prefix:"fas",iconName:"chevron-down",icon:[512,512,[],"f078","M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]},F7={prefix:"fas",iconName:"arrow-up",icon:[384,512,[8593],"f062","M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"]},j7={prefix:"fas",iconName:"circle-user",icon:[512,512,[62142,"user-circle"],"f2bd","M399 384.2C376.9 345.8 335.4 320 288 320l-64 0c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z"]},U7={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z"]},B7={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]},V7={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},$7={prefix:"fas",iconName:"chevron-left",icon:[320,512,[9001],"f053","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"]},H7={prefix:"fas",iconName:"chevron-right",icon:[320,512,[9002],"f054","M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"]},z7={prefix:"fas",iconName:"hammer",icon:[576,512,[128296],"f6e3","M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6l0-12.1L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0l18.1 0c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z"]},K7={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"]},q7={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z"]},X7={prefix:"fas",iconName:"qrcode",icon:[448,512,[],"f029","M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48L0 80zM64 96l0 64 64 0 0-64L64 96zM0 336c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96zm64 16l0 64 64 0 0-64-64 0zM304 32l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-26.5 21.5-48 48-48zm80 64l-64 0 0 64 64 0 0-64zM256 304c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16l0 96c0 8.8-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-160zM368 480a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 0a16 16 0 1 1 0-32 16 16 0 1 1 0 32z"]},W7={prefix:"fas",iconName:"calendar",icon:[448,512,[128197,128198],"f133","M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z"]},G7={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]},Y7={prefix:"fas",iconName:"image-portrait",icon:[384,512,["portrait"],"f3e0","M384 64c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6l86.9 0c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4l-169.1 0C92.3 384 80 371.7 80 356.6z"]},J7={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Q7={prefix:"fas",iconName:"dollar-sign",icon:[320,512,[128178,61781,"dollar","usd"],"24","M160 0c17.7 0 32 14.3 32 32l0 35.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11l0 33.4c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.9c-.4-.1-.9-.1-1.3-.2l-.2 0s0 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7s0 0 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11L128 32c0-17.7 14.3-32 32-32z"]},Z7=Q7,eO={prefix:"fas",iconName:"person-circle-check",icon:[576,512,[],"e53e","M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304l0 128c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-223.1L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6l29.7 0c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9 232 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-128-16 0zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z"]};function bm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Gr(e){for(var t=1;t=0)continue;n[r]=e[r]}return n}function sO(e,t){if(e==null)return{};var n=rO(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var iO=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},c6={exports:{}};(function(e){(function(t){var n=function(x,_,b){if(!f(_)||u(_)||d(_)||p(_)||c(_))return _;var T,O=0,N=0;if(l(_))for(T=[],N=_.length;O1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string")return e;var r=(e.children||[]).map(function(c){return l6(c)}),s=Object.keys(e.attributes||{}).reduce(function(c,f){var l=e.attributes[f];switch(f){case"class":c.class=lO(l);break;case"style":c.style=cO(l);break;default:c.attrs[f]=l}return c},{attrs:{},class:{},style:{}});n.class;var i=n.style,o=i===void 0?{}:i,a=sO(n,aO);return Wa(e.tag,Gr(Gr(Gr({},t),{},{class:s.class,style:Gr(Gr({},s.style),o)},s.attrs),a),r)}var f6=!1;try{f6=!0}catch{}function fO(){if(!f6&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function Nu(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?Gn({},e,t):{}}function uO(e){var t,n=(t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip":e.flip===!0,"fa-flip-horizontal":e.flip==="horizontal"||e.flip==="both","fa-flip-vertical":e.flip==="vertical"||e.flip==="both"},Gn(Gn(Gn(Gn(Gn(Gn(Gn(Gn(Gn(Gn(t,"fa-".concat(e.size),e.size!==null),"fa-rotate-".concat(e.rotation),e.rotation!==null),"fa-pull-".concat(e.pull),e.pull!==null),"fa-swap-opacity",e.swapOpacity),"fa-bounce",e.bounce),"fa-shake",e.shake),"fa-beat",e.beat),"fa-fade",e.fade),"fa-beat-fade",e.beatFade),"fa-flash",e.flash),Gn(Gn(t,"fa-spin-pulse",e.spinPulse),"fa-spin-reverse",e.spinReverse));return Object.keys(n).map(function(r){return n[r]?r:null}).filter(function(r){return r})}function xm(e){if(e&&Ll(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(th.icon)return th.icon(e);if(e===null)return null;if(Ll(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}var dO=fs({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(t){return[!0,!1,"horizontal","vertical","both"].indexOf(t)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(t){return["right","left"].indexOf(t)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(t){return[90,180,270].indexOf(Number.parseInt(t,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(t){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(t)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(t,n){var r=n.attrs,s=Wt(function(){return xm(t.icon)}),i=Wt(function(){return Nu("classes",uO(t))}),o=Wt(function(){return Nu("transform",typeof t.transform=="string"?th.transform(t.transform):t.transform)}),a=Wt(function(){return Nu("mask",xm(t.mask))}),c=Wt(function(){return PC(s.value,Gr(Gr(Gr(Gr({},i.value),o.value),a.value),{},{symbol:t.symbol,title:t.title,titleId:t.titleId,maskId:t.maskId}))});Ls(c,function(l){if(!l)return fO("Could not find one or more icon(s)",s.value,a.value)},{immediate:!0});var f=Wt(function(){return c.value?l6(c.value.abstract[0],{},r):null});return function(){return f.value}}}),Jc={exports:{}},Ru={exports:{}},Pu={};/** +* @vue/compiler-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const go=Symbol(""),io=Symbol(""),Tf=Symbol(""),ka=Symbol(""),gp=Symbol(""),zs=Symbol(""),yp=Symbol(""),_p=Symbol(""),Af=Symbol(""),Cf=Symbol(""),Io=Symbol(""),Of=Symbol(""),bp=Symbol(""),Nf=Symbol(""),Rf=Symbol(""),Pf=Symbol(""),If=Symbol(""),Lf=Symbol(""),Mf=Symbol(""),xp=Symbol(""),vp=Symbol(""),nc=Symbol(""),Da=Symbol(""),kf=Symbol(""),Df=Symbol(""),yo=Symbol(""),Lo=Symbol(""),Ff=Symbol(""),Ml=Symbol(""),u6=Symbol(""),kl=Symbol(""),Fa=Symbol(""),d6=Symbol(""),h6=Symbol(""),jf=Symbol(""),p6=Symbol(""),m6=Symbol(""),Uf=Symbol(""),Ep=Symbol(""),Ni={[go]:"Fragment",[io]:"Teleport",[Tf]:"Suspense",[ka]:"KeepAlive",[gp]:"BaseTransition",[zs]:"openBlock",[yp]:"createBlock",[_p]:"createElementBlock",[Af]:"createVNode",[Cf]:"createElementVNode",[Io]:"createCommentVNode",[Of]:"createTextVNode",[bp]:"createStaticVNode",[Nf]:"resolveComponent",[Rf]:"resolveDynamicComponent",[Pf]:"resolveDirective",[If]:"resolveFilter",[Lf]:"withDirectives",[Mf]:"renderList",[xp]:"renderSlot",[vp]:"createSlots",[nc]:"toDisplayString",[Da]:"mergeProps",[kf]:"normalizeClass",[Df]:"normalizeStyle",[yo]:"normalizeProps",[Lo]:"guardReactiveProps",[Ff]:"toHandlers",[Ml]:"camelize",[u6]:"capitalize",[kl]:"toHandlerKey",[Fa]:"setBlockTracking",[d6]:"pushScopeId",[h6]:"popScopeId",[jf]:"withCtx",[p6]:"unref",[m6]:"isRef",[Uf]:"withMemo",[Ep]:"isMemoSame"};function g6(e){Object.getOwnPropertySymbols(e).forEach(t=>{Ni[t]=e[t]})}const hO={HTML:0,0:"HTML",SVG:1,1:"SVG",MATH_ML:2,2:"MATH_ML"},pO={ROOT:0,0:"ROOT",ELEMENT:1,1:"ELEMENT",TEXT:2,2:"TEXT",COMMENT:3,3:"COMMENT",SIMPLE_EXPRESSION:4,4:"SIMPLE_EXPRESSION",INTERPOLATION:5,5:"INTERPOLATION",ATTRIBUTE:6,6:"ATTRIBUTE",DIRECTIVE:7,7:"DIRECTIVE",COMPOUND_EXPRESSION:8,8:"COMPOUND_EXPRESSION",IF:9,9:"IF",IF_BRANCH:10,10:"IF_BRANCH",FOR:11,11:"FOR",TEXT_CALL:12,12:"TEXT_CALL",VNODE_CALL:13,13:"VNODE_CALL",JS_CALL_EXPRESSION:14,14:"JS_CALL_EXPRESSION",JS_OBJECT_EXPRESSION:15,15:"JS_OBJECT_EXPRESSION",JS_PROPERTY:16,16:"JS_PROPERTY",JS_ARRAY_EXPRESSION:17,17:"JS_ARRAY_EXPRESSION",JS_FUNCTION_EXPRESSION:18,18:"JS_FUNCTION_EXPRESSION",JS_CONDITIONAL_EXPRESSION:19,19:"JS_CONDITIONAL_EXPRESSION",JS_CACHE_EXPRESSION:20,20:"JS_CACHE_EXPRESSION",JS_BLOCK_STATEMENT:21,21:"JS_BLOCK_STATEMENT",JS_TEMPLATE_LITERAL:22,22:"JS_TEMPLATE_LITERAL",JS_IF_STATEMENT:23,23:"JS_IF_STATEMENT",JS_ASSIGNMENT_EXPRESSION:24,24:"JS_ASSIGNMENT_EXPRESSION",JS_SEQUENCE_EXPRESSION:25,25:"JS_SEQUENCE_EXPRESSION",JS_RETURN_STATEMENT:26,26:"JS_RETURN_STATEMENT"},mO={ELEMENT:0,0:"ELEMENT",COMPONENT:1,1:"COMPONENT",SLOT:2,2:"SLOT",TEMPLATE:3,3:"TEMPLATE"},gO={NOT_CONSTANT:0,0:"NOT_CONSTANT",CAN_SKIP_PATCH:1,1:"CAN_SKIP_PATCH",CAN_CACHE:2,2:"CAN_CACHE",CAN_STRINGIFY:3,3:"CAN_STRINGIFY"},cn={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function y6(e,t=""){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:cn}}function _o(e,t,n,r,s,i,o,a=!1,c=!1,f=!1,l=cn){return e&&(a?(e.helper(zs),e.helper(Ii(e.inSSR,f))):e.helper(Pi(e.inSSR,f)),o&&e.helper(Lf)),{type:13,tag:t,props:n,children:r,patchFlag:s,dynamicProps:i,directives:o,isBlock:a,disableTracking:c,isComponent:f,loc:l}}function ks(e,t=cn){return{type:17,loc:t,elements:e}}function rr(e,t=cn){return{type:15,loc:t,properties:e}}function $t(e,t){return{type:16,loc:cn,key:ze(e)?Ye(e,!0):e,value:t}}function Ye(e,t=!1,n=cn,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function yO(e,t){return{type:5,loc:t,content:ze(e)?Ye(e,!1,t):e}}function ur(e,t=cn){return{type:8,loc:t,children:e}}function Jt(e,t=[],n=cn){return{type:14,loc:n,callee:e,arguments:t}}function Ri(e,t=void 0,n=!1,r=!1,s=cn){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:s}}function Dl(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:cn}}function _6(e,t,n=!1,r=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:r,needArraySpread:!1,loc:cn}}function b6(e){return{type:21,body:e,loc:cn}}function _O(e){return{type:22,elements:e,loc:cn}}function bO(e,t,n){return{type:23,test:e,consequent:t,alternate:n,loc:cn}}function xO(e,t){return{type:24,left:e,right:t,loc:cn}}function vO(e){return{type:25,expressions:e,loc:cn}}function EO(e){return{type:26,returns:e,loc:cn}}function Pi(e,t){return e||t?Af:Cf}function Ii(e,t){return e||t?yp:_p}function Bf(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(Pi(r,e.isComponent)),t(zs),t(Ii(r,e.isComponent)))}const vm=new Uint8Array([123,123]),Em=new Uint8Array([125,125]);function wm(e){return e>=97&&e<=122||e>=65&&e<=90}function nr(e){return e===32||e===10||e===9||e===12||e===13}function _s(e){return e===47||e===62||nr(e)}function Fl(e){const t=new Uint8Array(e.length);for(let n=0;n=0;s--){const i=this.newlines[s];if(t>i){n=s+2,r=t-i;break}}return{column:r,line:n,offset:t}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(t){t===60?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):!this.inVPre&&t===this.delimiterOpen[0]&&(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(t))}stateInterpolationOpen(t){if(t===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const n=this.index+1-this.delimiterOpen.length;n>this.sectionStart&&this.cbs.ontext(this.sectionStart,n),this.state=3,this.sectionStart=n}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(t)):(this.state=1,this.stateText(t))}stateInterpolation(t){t===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(t))}stateInterpolationClose(t){t===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(t))}stateSpecialStartSequence(t){const n=this.sequenceIndex===this.currentSequence.length;if(!(n?_s(t):(t|32)===this.currentSequence[this.sequenceIndex]))this.inRCDATA=!1;else if(!n){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=6,this.stateInTagName(t)}stateInRCDATA(t){if(this.sequenceIndex===this.currentSequence.length){if(t===62||nr(t)){const n=this.index-this.currentSequence.length;if(this.sectionStart=t||(this.state===28?this.currentSequence===wn.CdataEnd?this.cbs.oncdata(this.sectionStart,t):this.cbs.oncomment(this.sectionStart,t):this.state===6||this.state===11||this.state===18||this.state===17||this.state===12||this.state===13||this.state===14||this.state===15||this.state===16||this.state===20||this.state===19||this.state===21||this.state===9||this.cbs.ontext(this.sectionStart,t))}emitCodePoint(t,n){}}const SO={COMPILER_IS_ON_ELEMENT:"COMPILER_IS_ON_ELEMENT",COMPILER_V_BIND_SYNC:"COMPILER_V_BIND_SYNC",COMPILER_V_BIND_OBJECT_ORDER:"COMPILER_V_BIND_OBJECT_ORDER",COMPILER_V_ON_NATIVE:"COMPILER_V_ON_NATIVE",COMPILER_V_IF_V_FOR_PRECEDENCE:"COMPILER_V_IF_V_FOR_PRECEDENCE",COMPILER_NATIVE_TEMPLATE:"COMPILER_NATIVE_TEMPLATE",COMPILER_INLINE_TEMPLATE:"COMPILER_INLINE_TEMPLATE",COMPILER_FILTERS:"COMPILER_FILTERS"},TO={COMPILER_IS_ON_ELEMENT:{message:'Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".',link:"https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html"},COMPILER_V_BIND_SYNC:{message:e=>`.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${e}.sync\` should be changed to \`v-model:${e}\`.`,link:"https://v3-migration.vuejs.org/breaking-changes/v-model.html"},COMPILER_V_BIND_OBJECT_ORDER:{message:'v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.',link:"https://v3-migration.vuejs.org/breaking-changes/v-bind.html"},COMPILER_V_ON_NATIVE:{message:".native modifier for v-on has been removed as is no longer necessary.",link:"https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html"},COMPILER_V_IF_V_FOR_PRECEDENCE:{message:"v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with