From 95071075c4e9ad8ca7245a7971daba10cabf0623 Mon Sep 17 00:00:00 2001 From: Roma Sosnovsky Date: Wed, 17 Jun 2026 15:16:48 +0300 Subject: [PATCH 1/4] #2764 Fix crash for keys with malformed user ids --- .semaphore/semaphore.yml | 4 - Core/package-lock.json | 227 +- FlowCrypt.xcodeproj/project.pbxproj | 10 +- .../xcshareddata/swiftpm/Package.resolved | 65 +- FlowCrypt/Core/Models/KeyDetails.swift | 4 +- .../Core/Models/KeyDetailsTests.swift | 44 + appium/config/wdio.live.conf.ts | 2 +- appium/config/wdio.mock.conf.ts | 2 +- appium/package-lock.json | 3140 +++++++++-------- fastlane/Fastfile | 4 +- package-lock.json | 259 +- 11 files changed, 2061 insertions(+), 1700 deletions(-) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 25bbea907..cccbe512a 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -31,14 +31,10 @@ blocks: - bundle install - bundle exec fastlane build - bundle exec fastlane test - # - git clone https://github.com/appium/WebDriverAgent.git - # - cd WebDriverAgent - # - xcodebuild build-for-testing -project WebDriverAgent.xcodeproj -derivedDataPath /var/tmp/derived_data/WebDriverAgent -scheme WebDriverAgentRunner -destination "platform=iphonesimulator,OS=26.1,name=iPhone 17" epilogue: always: commands: - cd /var/tmp/derived_data/FlowCrypt/Build/Products/Debug-iphonesimulator && cache store FlowCrypt-$SEMAPHORE_GIT_SHA.app FlowCrypt.app - # - cd /var/tmp/derived_data/WebDriverAgent/Build/Products/Debug-iphonesimulator && cache store WebDriverAgentRunner-Runner-$SEMAPHORE_GIT_SHA.app WebDriverAgentRunner-Runner.app - name: TypeScript tests dependencies: [] run: diff --git a/Core/package-lock.json b/Core/package-lock.json index 18202fe58..551dbdfb7 100644 --- a/Core/package-lock.json +++ b/Core/package-lock.json @@ -159,32 +159,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "dev": true, "license": "MIT" }, @@ -438,9 +416,9 @@ "license": "Apache-2.0" }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", "bin": { @@ -494,9 +472,9 @@ } }, "node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { @@ -722,9 +700,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.20", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", - "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", + "version": "2.10.37", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", + "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", "dev": true, "license": "Apache-2.0", "bin": { @@ -847,9 +825,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001788", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz", - "integrity": "sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==", + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", "dev": true, "funding": [ { @@ -1257,9 +1235,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", - "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", + "version": "1.11.21", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", "license": "MIT" }, "node_modules/debug": { @@ -1390,9 +1368,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.340", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.340.tgz", - "integrity": "sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==", + "version": "1.5.375", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.375.tgz", + "integrity": "sha512-ZWP5eB4BVPW/ZYo9252hQZHZ5XavtsTgpbhcmMmRwymavC5AsLWQWBPaKMeNd2LW0KGby5HPXvj7+sr4ta5j/Q==", "dev": true, "license": "ISC" }, @@ -1426,14 +1404,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", - "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.0.tgz", + "integrity": "sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" @@ -1475,9 +1453,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", "dev": true, "license": "MIT" }, @@ -1820,9 +1798,9 @@ } }, "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "dev": true, "license": "MIT", "dependencies": { @@ -1969,13 +1947,13 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -2162,9 +2140,9 @@ } }, "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", "dev": true, "license": "MIT", "engines": { @@ -2329,9 +2307,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "funding": [ { "type": "github", @@ -2354,11 +2332,14 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.37", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", - "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/nofilter": { "version": "3.1.0", @@ -2381,12 +2362,21 @@ } }, "node_modules/openpgp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/openpgp/-/openpgp-6.3.0.tgz", - "integrity": "sha512-pLzCU8IgyKXPSO11eeharQkQ4GzOKNWhXq79pQarIRZEMt1/ssyr+MIuWBv1mNoenJLg04gvPx+fi4gcKZ4bag==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/openpgp/-/openpgp-6.3.1.tgz", + "integrity": "sha512-7oSPvmlKPojxFoyelT5DWPIAVmqWZh4qU/5pO6bdoShEtRpCw9Sye9IXUQj6EFM3XpgGssqccAr705YtTcLNQw==", "license": "LGPL-3.0+", "engines": { - "node": ">= 18.0.0" + "node": ">= 18.0.0", + "typescript": ">= 5.0.0" + }, + "peerDependencies": { + "@openpgp/web-stream-tools": "~0.3.0" + }, + "peerDependenciesMeta": { + "@openpgp/web-stream-tools": { + "optional": true + } } }, "node_modules/p-defer": { @@ -2684,9 +2674,9 @@ } }, "node_modules/postcss": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", - "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "funding": [ { "type": "opencollective", @@ -2703,7 +2693,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -2875,9 +2865,9 @@ } }, "node_modules/sanitize-html": { - "version": "2.17.4", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.17.4.tgz", - "integrity": "sha512-2HW7v2ol/uAM7sX4hbD8Z59OGWmAPrvjL8E71UWlBcj6m+kcF6ilQBLny+cIgY214QJeJT5tQuxKKqX0SQqjGQ==", + "version": "2.17.5", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.17.5.tgz", + "integrity": "sha512-ZmU1joGRrvoyctKIiuwUxqR6moLoU2Wk+2bMccN6f7UwhAmwYDvWziqPxRDDN2Qip62NqnIrVrT9akbL6Wretg==", "license": "MIT", "dependencies": { "deepmerge": "^4.2.2", @@ -2922,9 +2912,9 @@ } }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -3169,9 +3159,9 @@ } }, "node_modules/tapable": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", - "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "dev": true, "license": "MIT", "engines": { @@ -3193,9 +3183,9 @@ } }, "node_modules/terser": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", - "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", + "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -3212,9 +3202,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", - "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3234,12 +3224,39 @@ "webpack": "^5.1.0" }, "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, "@swc/core": { "optional": true }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, "esbuild": { "optional": true }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, "uglify-js": { "optional": true } @@ -3344,13 +3361,12 @@ } }, "node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.2.tgz", + "integrity": "sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==", "dev": true, "license": "MIT", "dependencies": { - "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" }, "engines": { @@ -3358,13 +3374,12 @@ } }, "node_modules/webpack": { - "version": "5.106.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", - "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", + "version": "5.107.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz", + "integrity": "sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", @@ -3374,20 +3389,20 @@ "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.20.0", - "es-module-lexer": "^2.0.0", + "enhanced-resolve": "^5.22.0", + "es-module-lexer": "^2.1.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", - "loader-runner": "^4.3.1", + "loader-runner": "^4.3.2", "mime-db": "^1.54.0", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.17", + "terser-webpack-plugin": "^5.5.0", "watchpack": "^2.5.1", - "webpack-sources": "^3.3.4" + "webpack-sources": "^3.5.0" }, "bin": { "webpack": "bin/webpack.js" @@ -3484,9 +3499,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", - "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz", + "integrity": "sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==", "dev": true, "license": "MIT", "engines": { diff --git a/FlowCrypt.xcodeproj/project.pbxproj b/FlowCrypt.xcodeproj/project.pbxproj index db68ebe98..9d9eb41ac 100644 --- a/FlowCrypt.xcodeproj/project.pbxproj +++ b/FlowCrypt.xcodeproj/project.pbxproj @@ -3885,7 +3885,7 @@ repositoryURL = "https://github.com/google/google-api-objectivec-client-for-rest"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 5.0.0; + minimumVersion = 5.3.0; }; }; 51E16747270F303100D27C52 /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */ = { @@ -3893,7 +3893,7 @@ repositoryURL = "https://github.com/google/GoogleSignIn-iOS"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 9.0.0; + minimumVersion = 9.2.0; }; }; 51E1675B270F36A400D27C52 /* XCRemoteSwiftPackageReference "realm-cocoa" */ = { @@ -3901,7 +3901,7 @@ repositoryURL = "https://github.com/realm/realm-cocoa"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 20.0.4; + minimumVersion = 20.0.5; }; }; 952687412A8A21060005694B /* XCRemoteSwiftPackageReference "LetterAvatarKit" */ = { @@ -3917,7 +3917,7 @@ repositoryURL = "https://github.com/scinfu/SwiftSoup.git"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 2.9.6; + minimumVersion = 2.13.5; }; }; 95D83FB82A5D46C3006FDC33 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { @@ -3925,7 +3925,7 @@ repositoryURL = "https://github.com/realm/SwiftLint"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 0.59.1; + minimumVersion = 0.63.3; }; }; 95F55F982A7B89260000E50F /* XCRemoteSwiftPackageReference "ProgressHUD" */ = { diff --git a/FlowCrypt.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/FlowCrypt.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 81c5db5e7..253dc8394 100644 --- a/FlowCrypt.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/FlowCrypt.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -6,8 +6,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { - "revision" : "61b85103a1aeed8218f17c794687781505fbbef5", - "version" : "11.2.0" + "revision" : "bb4002485ff867768dec13bf904a2ddb050bd1b1", + "version" : "11.3.0" } }, { @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS.git", "state" : { - "revision" : "145104f5ea9d58ae21b60add007c33c1cc0c948e", - "version" : "2.0.0" + "revision" : "a7caeda164dc5108bf4649472b28a5af65dc6f33", + "version" : "2.1.0" } }, { @@ -33,8 +33,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/krzyzanowskim/CryptoSwift.git", "state" : { - "revision" : "e45a26384239e028ec87fbcc788f513b67e10d8f", - "version" : "1.9.0" + "revision" : "f2a627b84c1ff96f21ac2fcb623ab36142dd5512", + "version" : "1.10.0" } }, { @@ -42,8 +42,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/google-api-objectivec-client-for-rest", "state" : { - "revision" : "499087368ae106b7e00cd8cbb82fdd78257dfbc7", - "version" : "5.2.0" + "revision" : "86b4fe4a822d1e2eca0845554dbcd985233d5ce7", + "version" : "5.3.0" } }, { @@ -51,8 +51,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleSignIn-iOS", "state" : { - "revision" : "913b4005ea26aebe1c97d54e35ad82a515924c71", - "version" : "9.1.0" + "revision" : "08d8dcecafb575f98879ffdbb8302c1b9ad65d19", + "version" : "9.2.0" } }, { @@ -60,8 +60,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { - "revision" : "60da361632d0de02786f709bdc0c4df340f7613e", - "version" : "8.1.0" + "revision" : "c46e5f8b7c23265f17c24ca7f9fa1b13ded7a822", + "version" : "8.1.1" } }, { @@ -82,6 +82,15 @@ "version" : "5.0.0" } }, + { + "identity" : "interop-ios-for-google-sdks", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/interop-ios-for-google-sdks.git", + "state" : { + "revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe", + "version" : "101.0.0" + } + }, { "identity" : "letteravatarkit", "kind" : "remoteSourceControl", @@ -114,8 +123,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { - "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", - "version" : "2.4.0" + "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837", + "version" : "2.4.1" } }, { @@ -123,8 +132,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/realm/realm-cocoa", "state" : { - "revision" : "600e187711e5fa4e8e2c0429cacee27e8e44f112", - "version" : "20.0.4" + "revision" : "ca03df491ec5e4bb8af0bca1e9957d08c10ec2da", + "version" : "20.0.5" } }, { @@ -132,8 +141,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/realm/realm-core.git", "state" : { - "revision" : "4cc46f8607516226e5465062fdacd088fbd94552", - "version" : "20.1.4" + "revision" : "b4192c46305570577c4d08df790fddec5ab3aa04", + "version" : "20.1.5" } }, { @@ -150,8 +159,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-argument-parser.git", "state" : { - "revision" : "626b5b7b2f45e1b0b1c6f4a309296d1d21d7311b", - "version" : "1.7.1" + "revision" : "6a52f3251125d74daf04fcbd5e6f08a75d074382", + "version" : "1.8.2" } }, { @@ -168,8 +177,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/swiftlang/swift-syntax.git", "state" : { - "revision" : "65b02a90ad2cc213e09309faeb7f6909e0a8577a", - "version" : "604.0.0-prerelease-2026-01-20" + "revision" : "51c8c237beea1baa9cac64ef83cec68c6790506c", + "version" : "604.0.0-prerelease-2026-04-21" } }, { @@ -177,8 +186,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/realm/SwiftLint", "state" : { - "revision" : "88952528a590ed366c6f76f6bfb980b5ebdcefc1", - "version" : "0.63.2" + "revision" : "70a5f3225d940d4573d3d2ffcf85b07ab2a6c5de", + "version" : "0.63.3" } }, { @@ -186,8 +195,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/scinfu/SwiftSoup.git", "state" : { - "revision" : "6c7915e16f729857aec3e99068c361e58a00ed68", - "version" : "2.13.4" + "revision" : "49dcadd93161f4a44b4994d3a3e8de9f085aface", + "version" : "2.13.5" } }, { @@ -231,8 +240,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/jpsim/Yams.git", "state" : { - "revision" : "deaf82e867fa2cbd3cd865978b079bfcf384ac28", - "version" : "6.2.1" + "revision" : "a27b21e0c81c5bf42049b897a62aaf387e80f279", + "version" : "6.2.2" } } ], diff --git a/FlowCrypt/Core/Models/KeyDetails.swift b/FlowCrypt/Core/Models/KeyDetails.swift index c53687f41..951f10a6f 100644 --- a/FlowCrypt/Core/Models/KeyDetails.swift +++ b/FlowCrypt/Core/Models/KeyDetails.swift @@ -46,7 +46,7 @@ extension KeyDetails { } var pgpUserEmails: [String] { - users.map { MCOAddress(nonEncodedRFC822String: $0).mailbox } + users.compactMap { MCOAddress(nonEncodedRFC822String: $0)?.mailbox } } var pgpUserEmailsLowercased: [String] { @@ -72,7 +72,7 @@ extension KeyDetails: CustomStringConvertible { // MARK: - Other extension [KeyDetails] { - // concatenated private keys, joined with a newline + /// concatenated private keys, joined with a newline var joinedPrivateKey: String { compactMap(\.private).joined(separator: "\n") } diff --git a/FlowCryptAppTests/Core/Models/KeyDetailsTests.swift b/FlowCryptAppTests/Core/Models/KeyDetailsTests.swift index 46eef88f4..cf41dbf09 100644 --- a/FlowCryptAppTests/Core/Models/KeyDetailsTests.swift +++ b/FlowCryptAppTests/Core/Models/KeyDetailsTests.swift @@ -121,4 +121,48 @@ class KeyDetailsTests: XCTestCase { XCTAssertTrue(key.user?.email == "email") } + + func testPgpUserEmailsSkipsInvalidRFC822UserIds() { + let keyDetail = KeyDetails( + public: "public", + private: nil, + isFullyDecrypted: nil, + isFullyEncrypted: nil, + usableForEncryption: true, + usableForSigning: true, + ids: [ + KeyId(longid: "longId", fingerprint: "fingerprint") + ], + created: 1_231_244, + lastModified: nil, + expiration: nil, + users: ["("], + algo: nil, + revoked: false + ) + + XCTAssertEqual(keyDetail.pgpUserEmails, []) + } + + func testPgpUserEmailsExtractsMailboxFromValidUserIds() { + let keyDetail = KeyDetails( + public: "public", + private: nil, + isFullyDecrypted: nil, + isFullyEncrypted: nil, + usableForEncryption: true, + usableForSigning: true, + ids: [ + KeyId(longid: "longId", fingerprint: "fingerprint") + ], + created: 1_231_244, + lastModified: nil, + expiration: nil, + users: ["User Name "], + algo: nil, + revoked: false + ) + + XCTAssertEqual(keyDetail.pgpUserEmails, ["user@example.com"]) + } } diff --git a/appium/config/wdio.live.conf.ts b/appium/config/wdio.live.conf.ts index 6b89f60e1..83dfffd5b 100644 --- a/appium/config/wdio.live.conf.ts +++ b/appium/config/wdio.live.conf.ts @@ -11,7 +11,7 @@ config.capabilities = [ hostname: '127.0.0.1', 'appium:automationName': 'XCUITest', 'appium:deviceName': 'iPhone 17', - 'appium:platformVersion': '26.4', + 'appium:platformVersion': '26.5', 'appium:app': join(process.cwd(), './FlowCrypt.app'), }, ]; diff --git a/appium/config/wdio.mock.conf.ts b/appium/config/wdio.mock.conf.ts index 70be1b04b..01c09afbf 100644 --- a/appium/config/wdio.mock.conf.ts +++ b/appium/config/wdio.mock.conf.ts @@ -22,7 +22,7 @@ config.capabilities = [ }, 'appium:locale': 'en_US', 'appium:deviceName': 'iPhone 17', - 'appium:platformVersion': '26.4', + 'appium:platformVersion': '26.5', 'appium:orientation': 'PORTRAIT', 'appium:app': join(process.cwd(), './FlowCrypt.app'), 'appium:simulatorStartupTimeout': 600000, diff --git a/appium/package-lock.json b/appium/package-lock.json index d5e8b2808..c170a0bcf 100644 --- a/appium/package-lock.json +++ b/appium/package-lock.json @@ -286,27 +286,6 @@ "sharp": "0.34.5" } }, - "node_modules/@appium/support/node_modules/archiver": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-8.0.0.tgz", - "integrity": "sha512-fV1orZfsnPn9BaSByR/qE67rJCLJEy2Ox5bq7nJh+jquWaNh6Sfec75kJ2T6PtdGUbPQlrVoSVCEOa5SdiTQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "is-stream": "^4.0.0", - "lazystream": "^1.0.0", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^3.0.0", - "tar-stream": "^3.0.0", - "zip-stream": "^7.0.2" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@appium/support/node_modules/balanced-match": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", @@ -330,37 +309,6 @@ "node": "18 || 20 || >=22" } }, - "node_modules/@appium/support/node_modules/compress-commons": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-7.0.1.tgz", - "integrity": "sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^7.0.1", - "is-stream": "^4.0.0", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@appium/support/node_modules/crc32-stream": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-7.0.1.tgz", - "integrity": "sha512-IBWsY8xznyQrcHn8h4bC8/4ErNke5elzgG8GcqF4RFPw6aHkWWRc7Tgw6upjaTX/CT/yQgqYENkxYsTYN+hW2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@appium/support/node_modules/glob": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", @@ -379,19 +327,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@appium/support/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@appium/support/node_modules/minimatch": { "version": "10.2.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", @@ -425,35 +360,17 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@appium/support/node_modules/readdir-glob": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-3.0.0.tgz", - "integrity": "sha512-AhNB2KgKeVJr16nK9LLZbJNWnYoT23ZrumNKFDebHBdkC8KHSqWo871JAUhoWC/RtjEVdqNMFpM6qrwRbaUqpw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^10.2.2" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/yqnn" - } - }, - "node_modules/@appium/support/node_modules/zip-stream": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-7.0.5.tgz", - "integrity": "sha512-dSvYKdvLsAHCDqPOhIwk/q5CvuWtTB3Dgpoe0uVEFjTzIOAmsQpprX25InCvrvJsirEbu1OHyy67n/kAj1Sw/w==", + "node_modules/@appium/support/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "dev": true, - "license": "MIT", - "dependencies": { - "compress-commons": "^7.0.0", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=18" + "node": ">=10" } }, "node_modules/@appium/tsconfig": { @@ -488,13 +405,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -503,9 +420,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -548,9 +465,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", "dev": true, "license": "MIT", "optional": true, @@ -1099,6 +1016,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1116,6 +1036,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1133,6 +1056,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1150,6 +1076,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1167,6 +1096,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1184,6 +1116,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1201,6 +1136,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1218,6 +1156,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -1235,6 +1176,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1258,6 +1202,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1281,6 +1228,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1304,6 +1254,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1327,6 +1280,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1350,6 +1306,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1373,6 +1332,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1396,6 +1358,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -1921,9 +1886,9 @@ } }, "node_modules/@jest/diff-sequences": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", - "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz", + "integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==", "dev": true, "license": "MIT", "engines": { @@ -1954,14 +1919,14 @@ } }, "node_modules/@jest/pattern": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", - "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz", + "integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", - "jest-regex-util": "30.0.1" + "jest-regex-util": "30.4.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -2093,9 +2058,9 @@ } }, "node_modules/@nodable/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==", "dev": true, "funding": [ { @@ -2122,6 +2087,20 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/@npmcli/agent/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -2174,9 +2153,9 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.0.tgz", - "integrity": "sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==", + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.2.tgz", + "integrity": "sha512-5EUZSUIc37H6aIXyWO0Z4y8NlF8NnjgmqeQgOGiswAU7pY0HOo16ho4+alIWmSfdZnjqBRawMsP3I5YqLSn6kw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2203,17 +2182,20 @@ "license": "MIT" }, "node_modules/@selderee/plugin-htmlparser2": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", - "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.12.0.tgz", + "integrity": "sha512-oELmoyA6ML9jDRMV3kgcMQFKxUfBU0yFVn6yTctVaLT5ygXnxH52I3TZEgV9EhXJC68/uFvE5Daj1/25c0Xa/A==", "dev": true, "license": "MIT", "dependencies": { - "domhandler": "^5.0.3", - "selderee": "^0.11.0" + "domelementtype": "~2.3.0", + "domhandler": "~5.0.3" }, "funding": { - "url": "https://ko-fi.com/killymxi" + "url": "https://github.com/sponsors/KillyMXI" + }, + "peerDependencies": { + "selderee": "~0.12.0" } }, "node_modules/@sidvind/better-ajv-errors": { @@ -2362,9 +2344,9 @@ } }, "node_modules/@types/node": { - "version": "22.19.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", - "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", + "version": "22.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", + "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", "dev": true, "license": "MIT", "dependencies": { @@ -2473,13 +2455,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", - "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", + "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.5", + "@vitest/pretty-format": "4.1.9", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" }, @@ -2488,9 +2470,9 @@ } }, "node_modules/@vitest/utils/node_modules/@vitest/pretty-format": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", - "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", "dev": true, "license": "MIT", "dependencies": { @@ -2511,15 +2493,15 @@ } }, "node_modules/@wdio/allure-reporter": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/allure-reporter/-/allure-reporter-9.27.0.tgz", - "integrity": "sha512-3Qt6XUJMczA6QrN6C+iPBmlP4m8IQopgFOR5WmrqRoExa1aJ6yDFTK+wo5f8OQuIbGwoN8VQulBwNF22TFAVbw==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/allure-reporter/-/allure-reporter-9.28.0.tgz", + "integrity": "sha512-BesR79bvINn2sVdE61CUVkEeUoCbI09bDWRrC1vwBZPrSC0ks38OUOpWzPg7NrV1ognfZjuNCgORIg5TH+k8oA==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "^20.1.0", - "@wdio/reporter": "9.27.0", - "@wdio/types": "9.27.0", + "@wdio/reporter": "9.28.0", + "@wdio/types": "9.28.0", "allure-js-commons": "^3.3.2", "csv-stringify": "^6.0.4", "html-entities": "^2.6.0", @@ -2530,9 +2512,9 @@ } }, "node_modules/@wdio/allure-reporter/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2540,23 +2522,23 @@ } }, "node_modules/@wdio/appium-service": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/appium-service/-/appium-service-9.27.0.tgz", - "integrity": "sha512-xHCFiFVQRrXZo7/MWN8vIF0WasSTXAnGJx48yd9CE/RvITzp+WCi31dMuXUi3up1038tBMAjfluxE6E8aX81NQ==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/appium-service/-/appium-service-9.28.0.tgz", + "integrity": "sha512-+Bl0JXiiPwcxOvVQYKzmceCnO6cn+PBUnUOJ5FqW8Bbwu3I9eaydp/xip68urZ8d81POicmrR1edaJq/oGqPYg==", "dev": true, "license": "MIT", "dependencies": { - "@wdio/config": "9.27.0", + "@wdio/config": "9.28.0", "@wdio/logger": "9.18.0", - "@wdio/reporter": "9.27.0", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/reporter": "9.28.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "@xmldom/xmldom": "^0.9.5", "change-case": "^5.4.3", "get-port": "^7.0.0", "import-meta-resolve": "^4.0.0", "tree-kill": "^1.2.2", - "webdriverio": "9.27.0", + "webdriverio": "9.28.0", "xpath": "^0.0.34" }, "bin": { @@ -2567,23 +2549,23 @@ } }, "node_modules/@wdio/cli": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.27.0.tgz", - "integrity": "sha512-k3kSs1sWTnDwdFLdBua7j5O//0N9k3qTj2nkyfMnkCEzOU00UMV2Y0f/yzNrn8BkkvohrJmwdEQPYx7rNhfj9g==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.28.0.tgz", + "integrity": "sha512-jEKYdCvZ9ST8YQ4EvyV9lsEoRxhWenplGJppbiH9SKHiwPqrUapi/EE7f6CBDwkWP7NIlzj2PyTe+JRmkXILLw==", "dev": true, "license": "MIT", "dependencies": { "@vitest/snapshot": "^2.1.1", - "@wdio/config": "9.27.0", - "@wdio/globals": "9.27.0", + "@wdio/config": "9.28.0", + "@wdio/globals": "9.28.0", "@wdio/logger": "9.18.0", - "@wdio/protocols": "9.27.0", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/protocols": "9.28.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "async-exit-hook": "^2.0.1", "chalk": "^5.4.1", "chokidar": "^4.0.0", - "create-wdio": "9.27.0", + "create-wdio": "9.28.0", "dotenv": "^17.2.0", "import-meta-resolve": "^4.0.0", "lodash.flattendeep": "^4.4.0", @@ -2591,7 +2573,7 @@ "lodash.union": "^4.6.0", "read-pkg-up": "^10.0.0", "tsx": "^4.7.2", - "webdriverio": "9.27.0", + "webdriverio": "9.28.0", "yargs": "^17.7.2" }, "bin": { @@ -2615,15 +2597,15 @@ } }, "node_modules/@wdio/config": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.27.0.tgz", - "integrity": "sha512-9y8z7ugIbU6ycKrA2SqCpKh1/hobut2rDq9CLt/BNVzSlebBBVOTMiAt1XroZzcPnA7/ZqpbkpOsbpPUaAQuNQ==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.28.0.tgz", + "integrity": "sha512-a2po2x0Gi0hNRCuqSYSAvgwC9RZsj1tH9mt4MeLk2hyJBQCyy9DjBBjwyd4AcnE11XhqVaIkMaIMBSRu2dJwLw==", "dev": true, "license": "MIT", "dependencies": { "@wdio/logger": "9.18.0", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "deepmerge-ts": "^7.0.3", "glob": "^10.2.2", "import-meta-resolve": "^4.0.0", @@ -2634,14 +2616,14 @@ } }, "node_modules/@wdio/dot-reporter": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/dot-reporter/-/dot-reporter-9.27.0.tgz", - "integrity": "sha512-gYFCTeEHZxzqdXCn/L519HDAFpci+dsdfzLHg+2XMlzIWEGSgHxMIr4/iLjvCwDgCSLeh+XvsBsPm3U+qOtwdg==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/dot-reporter/-/dot-reporter-9.28.0.tgz", + "integrity": "sha512-Awac45KdTN/43dJwvT4jOLUCn4HNUbLF9P1TT+NYEaQVKI92bR2ZlKgv6eoLz17vo9DQ8+igtOZS/3dwMtGLdw==", "dev": true, "license": "MIT", "dependencies": { - "@wdio/reporter": "9.27.0", - "@wdio/types": "9.27.0", + "@wdio/reporter": "9.28.0", + "@wdio/types": "9.28.0", "chalk": "^5.0.1" }, "engines": { @@ -2649,9 +2631,9 @@ } }, "node_modules/@wdio/globals": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.27.0.tgz", - "integrity": "sha512-yT6EAyvEqm+wFD11fg89BMxvFkYLgnIVCihfJx+k73Gm3utL/DfZQpSheQdwrlQzu5p7jHi/JwOD76740F5Peg==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.28.0.tgz", + "integrity": "sha512-poYsF7Gbm8kfYX6tdsPG862anOQKyUT8roe+rwdXaKSorz/s4XDJBm4kJiid6LgWKeAMSXDYzFODzDxhYhugWg==", "dev": true, "license": "MIT", "engines": { @@ -2671,18 +2653,18 @@ } }, "node_modules/@wdio/jasmine-framework": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/jasmine-framework/-/jasmine-framework-9.27.0.tgz", - "integrity": "sha512-CPOtvaDycsr34JJ/X7gnoZ0RxcohtUbTuOxmY+FgdbhvPljSn/6WxJ2B2hnLChDrgYschpF2R/7UFwEXp7/4qg==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/jasmine-framework/-/jasmine-framework-9.28.0.tgz", + "integrity": "sha512-WR5PViIHnXRQNar8NVg+fJWiHoO4PszkCYroqQoanp2Z4aZ74Uf9Th6jkb35O8HmwSEL9i6g30KSRUfVxF93oA==", "dev": true, "license": "MIT", "dependencies": { "@types/jasmine": "^5.1.13", "@types/node": "^20.1.0", - "@wdio/globals": "9.27.0", + "@wdio/globals": "9.28.0", "@wdio/logger": "9.18.0", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "jasmine": "^5.0.0" }, "engines": { @@ -2702,9 +2684,9 @@ } }, "node_modules/@wdio/jasmine-framework/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2712,14 +2694,14 @@ } }, "node_modules/@wdio/junit-reporter": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-9.27.0.tgz", - "integrity": "sha512-C9IGHRdPfuU2av+3psmiCJnf2G52wEmyO5i/kYPF3ZaQT2/r6aFk2lTXU/gm/vNuIOmxIpUckK9j0fFqaRU4+g==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-9.28.0.tgz", + "integrity": "sha512-WPWJsVfzJwWJ7tiph+GtzUzEN4tlpWTwr6868TqsT3tFKsWlWJlTZVe576TYja2kmGqvvY65E0pafsZVOT3cDA==", "dev": true, "license": "MIT", "dependencies": { - "@wdio/reporter": "9.27.0", - "@wdio/types": "9.27.0", + "@wdio/reporter": "9.28.0", + "@wdio/types": "9.28.0", "json-stringify-safe": "^5.0.1", "junit-report-builder": "^5.1.1" }, @@ -2728,18 +2710,18 @@ } }, "node_modules/@wdio/local-runner": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-9.27.0.tgz", - "integrity": "sha512-0AqAbz1UhZ9e72ebqH4/B9/qOy0LVm3iOOYp16Rz2zkE5DOudLPPn3DpakafqW22Z7Q+Wb/23KRttPMrq0rOxw==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-9.28.0.tgz", + "integrity": "sha512-cuITB31LRvEuOfhVNtkqBC0LQsQQTp7jumV8l7YJgchdmNI2gwyRaeKR35HxPpR8Awi5QeBfSkFxipwP8JQIWg==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "9.18.0", "@wdio/repl": "9.16.2", - "@wdio/runner": "9.27.0", - "@wdio/types": "9.27.0", - "@wdio/xvfb": "9.27.0", + "@wdio/runner": "9.28.0", + "@wdio/types": "9.28.0", + "@wdio/xvfb": "9.28.0", "exit-hook": "^4.0.0", "expect-webdriverio": "^5.6.5", "split2": "^4.1.0", @@ -2750,9 +2732,9 @@ } }, "node_modules/@wdio/local-runner/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2777,9 +2759,9 @@ } }, "node_modules/@wdio/protocols": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-9.27.0.tgz", - "integrity": "sha512-rIk69BsY1+6uU2PEN5FiRpI6K7HJ86YHzZRFBe4iRzKXQgGNk1zWzbdVJIuNFoOWsnmYUkK42KSSOT4Le6EmiQ==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-9.28.0.tgz", + "integrity": "sha512-bO9NeMCrtwfWI7q77GwfD68NlRNijnmwicW1OQ6p+7D3kZWEicfdhfvojPhjjf+e9XzqMDnUDGD5ni1lGMUBsg==", "dev": true, "license": "MIT" }, @@ -2797,9 +2779,9 @@ } }, "node_modules/@wdio/repl/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2807,15 +2789,15 @@ } }, "node_modules/@wdio/reporter": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-9.27.0.tgz", - "integrity": "sha512-JsazSrpdKrUEz0RkZcNzHHO9EaoJsWnjzi8Lk3hyI3e2T0M0d/EZTaYwLU+zZXr9VRJBulv8DhRfmBx+gbY2jw==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-9.28.0.tgz", + "integrity": "sha512-q9gG6SXNTn/9cKF6EJ+aa5sGZM5HAVNsDZ3YU5B0IHg9ufdBuJgfT0LiAsnehLiceEuivuzPyz85vbDb0SFiVA==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "9.18.0", - "@wdio/types": "9.27.0", + "@wdio/types": "9.28.0", "diff": "^8.0.2", "object-inspect": "^1.12.0" }, @@ -2824,9 +2806,9 @@ } }, "node_modules/@wdio/reporter/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2834,22 +2816,22 @@ } }, "node_modules/@wdio/runner": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-9.27.0.tgz", - "integrity": "sha512-PAuvuq0GaziutDXO8pZkUmca/qFGnGY2O3e4mQtqDUZbkyxYF4W68WJWhkvwuDAvN5GH1V+K/FBmiwL8m+roxw==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-9.28.0.tgz", + "integrity": "sha512-i6Zj9IKvHqNrRAuYoj56dhI6dXy5IkAxvsxuMih4R+EHLEihDoIwDRouJ9wOme1ZyHZ0Wpc6XDy8Igf1KnqWvQ==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "^20.11.28", - "@wdio/config": "9.27.0", - "@wdio/dot-reporter": "9.27.0", - "@wdio/globals": "9.27.0", + "@wdio/config": "9.28.0", + "@wdio/dot-reporter": "9.28.0", + "@wdio/globals": "9.28.0", "@wdio/logger": "9.18.0", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "deepmerge-ts": "^7.0.3", - "webdriver": "9.27.0", - "webdriverio": "9.27.0" + "webdriver": "9.28.0", + "webdriverio": "9.28.0" }, "engines": { "node": ">=18.20.0" @@ -2868,9 +2850,9 @@ } }, "node_modules/@wdio/runner/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2878,14 +2860,14 @@ } }, "node_modules/@wdio/spec-reporter": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-9.27.0.tgz", - "integrity": "sha512-pSrSfflFGthCc14B/4VZqthrz6T5/N+PDqpIOf+bfwJwtPgVlzZoLzbkKYDmCYHGDlDFt1QrZS9WQ5Qw2Qz/Ow==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-9.28.0.tgz", + "integrity": "sha512-a77BJ3LJrC5MGw8Ys9P7Umtq3rd2OiLQVLySjXQaS9ajbl/AXALDCtSze3QCMc4lGl95ogI7a4xptUfQWrJn6w==", "dev": true, "license": "MIT", "dependencies": { - "@wdio/reporter": "9.27.0", - "@wdio/types": "9.27.0", + "@wdio/reporter": "9.28.0", + "@wdio/types": "9.28.0", "chalk": "^5.1.2", "easy-table": "^1.2.0", "pretty-ms": "^9.0.0" @@ -2895,9 +2877,9 @@ } }, "node_modules/@wdio/types": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.27.0.tgz", - "integrity": "sha512-DQJ+OdRBqUBcQ30DN2Z651hEVh3OoxnlDUSRqlWy9An2AY6v9rYWTj825B6zsj5pLLEToYO1tfwWq0ab183pXg==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.28.0.tgz", + "integrity": "sha512-75JPq39gifkPNqOSn5C4/A5ZSyXwF+dGr5jfsCubFN9Lk9dKBXfjdbWueSQNpJg0jmE6dVrbT7+9mnDNnO0HdQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2908,9 +2890,9 @@ } }, "node_modules/@wdio/types/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2918,15 +2900,15 @@ } }, "node_modules/@wdio/utils": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.27.0.tgz", - "integrity": "sha512-fUasd5OKJTy2seJfWnYZ9xlxTtY0p/Kyeuh7Tbb8kcofBqmBi2fTvM3sfZlo1tGQX9yCh+IS2N7hlfyFMmuZ+w==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.28.0.tgz", + "integrity": "sha512-VDqUaXpR8oOZSs26dy06Y2LhmA8bldsXDHeZ36n8SfW+Bq0miG0RRxou7aqx7sifVbbsuxrbBPXvmK+40uAIbQ==", "dev": true, "license": "MIT", "dependencies": { "@puppeteer/browsers": "^2.2.0", "@wdio/logger": "9.18.0", - "@wdio/types": "9.27.0", + "@wdio/types": "9.28.0", "decamelize": "^6.0.0", "deepmerge-ts": "^7.0.3", "edgedriver": "^6.1.2", @@ -2944,9 +2926,9 @@ } }, "node_modules/@wdio/xvfb": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/@wdio/xvfb/-/xvfb-9.27.0.tgz", - "integrity": "sha512-sumk8m5wzOPMs8TizfQkWG0MTqe0p1yfu77ouz+xy1hNW+gaSf99uiU3lvz4rSghloM1esKfqRCFQibJI4+d/w==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/@wdio/xvfb/-/xvfb-9.28.0.tgz", + "integrity": "sha512-9NUB6rYS7uOzE+attbvX7frfvXdf/FhinHBL2hJtBW81/lcSm3TPqgFskKVKiUooXfdTf4bvrRYn1+MVVGFFXA==", "dev": true, "license": "MIT", "dependencies": { @@ -2979,27 +2961,14 @@ } }, "node_modules/@zone-eu/mailsplit": { - "version": "5.4.8", - "resolved": "https://registry.npmjs.org/@zone-eu/mailsplit/-/mailsplit-5.4.8.tgz", - "integrity": "sha512-eEyACj4JZ7sjzRvy26QhLgKEMWwQbsw1+QZnlLX+/gihcNH07lVPOcnwf5U6UAL7gkc//J3jVd76o/WS+taUiA==", + "version": "5.4.12", + "resolved": "https://registry.npmjs.org/@zone-eu/mailsplit/-/mailsplit-5.4.12.tgz", + "integrity": "sha512-w7Gy+NvjZ0MiXm8F6zfjImAqcTONKDImgWVBjDKQVFUXWuz3VFM5levNArkL2M877ajql5+bkS2pDV56injlmg==", "dev": true, "license": "(MIT OR EUPL-1.1+)", "dependencies": { "libbase64": "1.3.0", - "libmime": "5.3.7", - "libqp": "2.1.1" - } - }, - "node_modules/@zone-eu/mailsplit/node_modules/libmime": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.3.7.tgz", - "integrity": "sha512-FlDb3Wtha8P01kTL3P9M+ZDNDWPKPmKHWaU/cG/lg5pfuAwdflVpZE+wm9m7pKmC5ww6s+zTxBKS1p6yl3KpSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "encoding-japanese": "2.2.0", - "iconv-lite": "0.6.3", - "libbase64": "1.3.0", + "libmime": "5.3.8", "libqp": "2.1.1" } }, @@ -3041,9 +3010,9 @@ } }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", "bin": { @@ -3112,16 +3081,16 @@ } }, "node_modules/allure-js-commons": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-3.7.1.tgz", - "integrity": "sha512-S8tFymEzgWpp3ITGFu01z2+6KYdiNZC3sX8FbJaNgLoLWBHDBNQ0lq4lTQgkVjV6IN4TIUrnYfa2YuytWpv8WA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-3.10.0.tgz", + "integrity": "sha512-Tf2nYiC7VDNgvM5t0Av9KfQ+cO7ScAzCG2Ikhy9BhzAZoXymjN0I1uyZfsf+iaMJhiuGv7Slf86dBQDHHS3nvw==", "dev": true, "license": "Apache-2.0", "dependencies": { "md5": "^2.3.0" }, "peerDependencies": { - "allure-playwright": "3.7.1" + "allure-playwright": "3.10.0" }, "peerDependenciesMeta": { "allure-playwright": { @@ -3152,6 +3121,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/anynum": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/anynum/-/anynum-1.0.0.tgz", + "integrity": "sha512-xjR9/zBVnUOP6ztMIIgShjsxui80nQUQH+5xJnvrYLs+90bF25/KJqaAi8mk+B4RDtX1Nspi6fmp4YTEts8SfA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/appium": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/appium/-/appium-3.5.0.tgz", @@ -3195,28 +3177,26 @@ } }, "node_modules/appium-xcuitest-driver": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/appium-xcuitest-driver/-/appium-xcuitest-driver-11.0.1.tgz", - "integrity": "sha512-0t6hFpIoE3/Pd8nLWHbq0K5W7NGjSLgzRq0lfUei9AocPsodzw0vKQ4TKCxK40W0tqX1bmTollj+pnZpQa+WXw==", + "version": "11.11.2", + "resolved": "https://registry.npmjs.org/appium-xcuitest-driver/-/appium-xcuitest-driver-11.11.2.tgz", + "integrity": "sha512-yLmHId3qfeBHgY6n2F6H1WD93sBthu2tXbI/ZMSxUbkfPplTEmCAzTAgvp5bxfdH8YSI/qqF30t3jOgKWwMCHw==", "dev": true, "hasShrinkwrap": true, "license": "Apache-2.0", "dependencies": { + "@appium/css-locator-to-native": "^1.0.1", "@appium/strongbox": "^1.0.0-rc.1", "@colors/colors": "^1.6.0", - "appium-ios-device": "^3.0.0", - "appium-ios-simulator": "^8.0.0", + "appium-ios-device": "^3.1.12", + "appium-ios-simulator": "^8.2.0", "appium-remote-debugger": "^15.7.3", - "appium-webdriveragent": "^12.0.0", + "appium-webdriveragent": "^14.1.0", "appium-xcode": "^6.0.2", "async-lock": "^1.4.0", - "asyncbox": "^6.0.1", + "asyncbox": "^6.3.0", "axios": "^1.4.0", - "bluebird": "^3.7.2", "commander": "^14.0.1", - "css-selector-parser": "^3.0.0", "js2xmlparser2": "^0.x", - "lodash": "^4.17.21", "lru-cache": "^11.1.0", "moment": "^2.29.4", "moment-timezone": "^0.x", @@ -3233,32 +3213,30 @@ "npm": ">=10" }, "optionalDependencies": { - "appium-ios-remotexpc": "^1.0.1" + "appium-ios-remotexpc": "^2.4.0" }, "peerDependencies": { "appium": "^3.0.0-rc.2" } }, "node_modules/appium-xcuitest-driver/node_modules/@appium/base-driver": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@appium/base-driver/-/base-driver-10.4.0.tgz", - "integrity": "sha512-vt+9zILQw2wECIqzLPbWupaMrNVC9ALttoiARyvL1V7zVwNLi1Zr9MQY0o9+vAXcxiVAf2/aUWeMjyMBYNVBfw==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/@appium/base-driver/-/base-driver-10.6.0.tgz", + "integrity": "sha512-UP37xbRVrdfO0QPkDNVdFhLWc4M817K8mvJsGHWMZe1P//tPYio4lqmsA3baF10Fe5jcwYEoQZDROJLodAivKw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/support": "7.1.1", - "@appium/types": "1.3.1", + "@appium/support": "7.2.3", + "@appium/types": "1.5.0", "@colors/colors": "1.6.0", "async-lock": "1.4.1", - "asyncbox": "6.1.0", - "axios": "1.15.0", - "bluebird": "3.7.2", + "asyncbox": "6.3.0", + "axios": "1.16.1", "body-parser": "2.2.2", "express": "5.2.1", "fastest-levenshtein": "1.0.16", "http-status-codes": "2.3.0", - "lodash": "4.18.1", - "lru-cache": "11.3.5", + "lru-cache": "11.5.0", "method-override": "3.0.0", "morgan": "1.10.1", "path-to-regexp": "8.4.2", @@ -3274,27 +3252,78 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/@appium/base-driver/node_modules/axios": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", - "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz", + "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==", "dev": true, "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/base-driver/node_modules/lru-cache": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.0.tgz", + "integrity": "sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/css-locator-to-native": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@appium/css-locator-to-native/-/css-locator-to-native-1.0.1.tgz", + "integrity": "sha512-FIKjakA2E1WB6xneBlXYgUcsDqO/dwD4zXJxGE5DwkOUwvGXZ8HdLEvvQruoPRD4C2mYmn+/r89BZcXU5QMZPw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-selector-parser": "^3.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": ">=10" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/docutils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@appium/docutils/-/docutils-2.4.3.tgz", + "integrity": "sha512-2267rmUqsA/Tam+tmZNhmGxq2UN2lXWK3xZOYX5a9+oc0y19IB6LFJ9+dRxHh4jRgdLJrtxzqqGPUfs4hBjLgQ==", + "extraneous": true, + "license": "Apache-2.0", + "dependencies": { + "@appium/support": "7.2.3", + "consola": "3.4.2", + "diff": "9.0.0", + "lilconfig": "3.1.3", + "package-directory": "8.2.0", + "read-pkg": "10.1.0", + "teen_process": "4.1.3", + "type-fest": "5.6.0", + "yaml": "2.9.0", + "yargs": "18.0.0", + "yargs-parser": "22.0.0" + }, + "bin": { + "appium-docs": "bin/appium-docs.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": ">=10" + } + }, "node_modules/appium-xcuitest-driver/node_modules/@appium/logger": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.7.tgz", - "integrity": "sha512-WqagwYDZlPsSkICrXL9wB1E7qgErnwmYc/Q6NLVAC2ckXkWioh3fZ49AK5zevbJCnnkQbU2y8497Mk4xWDetkg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.8.tgz", + "integrity": "sha512-G5uYRq97Kn1CEdgI2eq237NkgUMrxKecSsuagGiI5usNH8ttjFN+LP95QJi9JERxMW/djfXKv7dz6eJ0ZY3SbA==", "dev": true, "license": "ISC", "dependencies": { "console-control-strings": "1.1.0", - "lodash": "4.18.1", - "lru-cache": "11.3.5", + "lru-cache": "11.5.0", "set-blocking": "2.0.0" }, "engines": { @@ -3302,10 +3331,20 @@ "npm": ">=10" } }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/logger/node_modules/lru-cache": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.0.tgz", + "integrity": "sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/appium-xcuitest-driver/node_modules/@appium/schema": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@appium/schema/-/schema-1.1.0.tgz", - "integrity": "sha512-m0vTLU7mhC9RR294Nz84g+FhEQ0iZKq6p3rfz1+qfEqCXRXUvDbllSOu2tCVpBKMIoEFZAmkwjuwXobJpCnilQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@appium/schema/-/schema-1.2.0.tgz", + "integrity": "sha512-6MqniwVPLSM5qkP0Azi0ktLIC4hMwUa1R4JWNDDqicZcWQmPUCUJF4keqZl1rGAbNdbQQ3++BIiTVm1Duvl/5A==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3332,19 +3371,19 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/@appium/support": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@appium/support/-/support-7.1.1.tgz", - "integrity": "sha512-WJewvoQxDOaVKjlvjVwifNDMQUVdCy0Edcxobl6I7pJzSE2O15Bi3BEq5AMzDpaXs7DtjZTLkHT29Tin9KHV3Q==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@appium/support/-/support-7.2.3.tgz", + "integrity": "sha512-/NVMUffjnH9rNrxE+DyM811B1hd0pZl8RT+DlZfqXVyAWzhUjBWw3U2VwSycowDoV9dBpXSpWQ3S+zfRnrMcTg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/logger": "2.0.7", + "@appium/logger": "2.0.8", "@appium/tsconfig": "1.1.2", - "@appium/types": "1.3.1", + "@appium/types": "1.5.0", "@colors/colors": "1.6.0", - "archiver": "7.0.1", - "asyncbox": "6.1.0", - "axios": "1.15.0", + "archiver": "8.0.0", + "asyncbox": "6.3.0", + "axios": "1.16.1", "base64-stream": "1.0.0", "bluebird": "3.7.2", "bplist-creator": "0.1.1", @@ -3355,23 +3394,22 @@ "jsftp": "2.1.3", "klaw": "4.1.0", "lockfile": "1.0.4", - "lodash": "4.18.1", "log-symbols": "7.0.1", "ncp": "2.0.0", "package-directory": "8.2.0", - "plist": "3.1.0", + "plist": "4.0.0", "pluralize": "8.0.0", "read-pkg": "10.1.0", "resolve-from": "5.0.0", "sanitize-filename": "1.6.4", - "semver": "7.7.4", - "shell-quote": "1.8.3", + "semver": "7.8.1", + "shell-quote": "1.8.4", "supports-color": "10.2.2", - "teen_process": "4.1.1", + "teen_process": "4.1.3", "type-fest": "5.6.0", "uuid": "14.0.0", "which": "6.0.1", - "yauzl": "3.3.0" + "yauzl": "3.3.1" }, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0", @@ -3381,18 +3419,124 @@ "sharp": "0.34.5" } }, - "node_modules/appium-xcuitest-driver/node_modules/@appium/support/node_modules/axios": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", - "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "node_modules/appium-xcuitest-driver/node_modules/@appium/support/node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.11", - "form-data": "^4.0.5", + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/support/node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/support/node_modules/axios": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz", + "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/support/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/@appium/support/node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, "node_modules/appium-xcuitest-driver/node_modules/@appium/tsconfig": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@appium/tsconfig/-/tsconfig-1.1.2.tgz", @@ -3408,14 +3552,14 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/@appium/types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@appium/types/-/types-1.3.1.tgz", - "integrity": "sha512-SWTntQ8EAI1m6P2LWqcqASGkRLk5HiKv2V2x7DSfknS8AsiF2ymr6T6oPJ7hUrTkEUA/3ncTSZji5Oq4h5TjzA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@appium/types/-/types-1.5.0.tgz", + "integrity": "sha512-xo7ahFernVOi/GK5Pnid7ewJL16TyP9lINwe+tmoRsNcNhr2hxa2yn4pAx9BjyvM5gNZrlH6GIsmq+5gDPsgKw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/logger": "2.0.7", - "@appium/schema": "1.1.0", + "@appium/logger": "2.0.8", + "@appium/schema": "1.2.0", "@appium/tsconfig": "1.1.2", "type-fest": "5.6.0" }, @@ -3425,13 +3569,13 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -3440,9 +3584,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -3471,6 +3615,16 @@ "kuler": "^2.0.0" } }, + "node_modules/appium-xcuitest-driver/node_modules/@emnapi/runtime": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.0.tgz", + "integrity": "sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/appium-xcuitest-driver/node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", @@ -3482,147 +3636,6 @@ "node": ">=18" } }, - "node_modules/appium-xcuitest-driver/node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/appium-xcuitest-driver/node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/appium-xcuitest-driver/node_modules/@sec-ant/readable-stream": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", @@ -3648,17 +3661,6 @@ "dev": true, "license": "MIT" }, - "node_modules/appium-xcuitest-driver/node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "undici-types": "~7.19.0" - } - }, "node_modules/appium-xcuitest-driver/node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", @@ -3710,11 +3712,24 @@ "node": ">= 0.6" } }, + "node_modules/appium-xcuitest-driver/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/appium-xcuitest-driver/node_modules/ansi-regex": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, + "extraneous": true, "license": "MIT", "engines": { "node": ">=12" @@ -3724,32 +3739,29 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "optional": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/appium-xcuitest-driver/node_modules/appium-ios-device": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/appium-ios-device/-/appium-ios-device-3.1.11.tgz", - "integrity": "sha512-ccW8jAfZTtKc6mvFbbHCkVbB8/OxOdBolAB/sAHmwGl0jDrCrzMWOINkx1EdZx6QIrNPAw11Op1HibIRU66RWA==", + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/appium-ios-device/-/appium-ios-device-3.1.14.tgz", + "integrity": "sha512-fjqh1oPYQ2C4v96OLhom3HCK6j2NRO0TYOgZXtT9vEEjug/Z25NAjxlLnQLBe7aAHxR2c0V/SyFmLTEBs/Ih5A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/support": "^7.0.0-rc.1", + "@appium/support": "^7.2.2", "asyncbox": "^6.0.1", - "axios": "^1.6.7", - "bluebird": "^3.1.1", + "axios": "^1.16.0", "bplist-creator": "^0.x", "bplist-parser": "^0.x", "lodash": "^4.17.15", @@ -3761,21 +3773,20 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/appium-ios-remotexpc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-1.0.1.tgz", - "integrity": "sha512-I9y7UHyl1JIwCODpUc+6LkWuCKWlw3OekVVDet3Ldt4z/fc2lLR/KHipGdphHcYqcBeJgmfIHWKUlMOY+xYoqw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-2.4.0.tgz", + "integrity": "sha512-AisRXVDb/nL5RgOpeOrj+MYSopKE4NK3L1OVUCY1ZHmQ6GpB1hp95XxIs3x9VUvd/BjPmiQ6G98dLqNrnFyrdA==", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { "@appium/strongbox": "^1.0.0-rc.1", - "@appium/support": "^7.0.0-rc.1", - "@types/node": "^25.0.2", - "@xmldom/xmldom": "^0.9.8", + "@appium/support": "^7.2.2", + "@xmldom/xmldom": "^0.x", "appium-ios-tuntap": "^0.x", - "axios": "^1.12.0", + "async-lock": "^1.4.1", + "axios": "^1.15.1", "commander": "^14.0.1", - "dnssd": "^0.x", "minimatch": "^10.1.1", "node-devicectl": "^1.2.0", "npm-run-all2": "^8.0.4", @@ -3787,19 +3798,17 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/appium-ios-simulator": { - "version": "8.0.13", - "resolved": "https://registry.npmjs.org/appium-ios-simulator/-/appium-ios-simulator-8.0.13.tgz", - "integrity": "sha512-P18eWCMhgcCr4thItQGgmCFwZLtj+et0MvJRgOwGTTKqAvKzCY+hJJqJ45x25n9Z7MdEX9QjHmYiak4ywuZmkg==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/appium-ios-simulator/-/appium-ios-simulator-8.2.1.tgz", + "integrity": "sha512-n2CRpfc56xsZbYrAmgACas+Liij4B1yYNH7PyNkMpS1vSFxu4pyD6hD9sF8vsxWSlyZ4dh78r14xnkzaTWuYsg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/support": "^7.0.0-rc.1", + "@appium/support": "^7.2.2", "@xmldom/xmldom": "^0.x", "appium-xcode": "^6.0.0", "async-lock": "^1.0.0", "asyncbox": "^6.0.1", - "bluebird": "^3.5.1", - "lodash": "^4.2.1", "node-simctl": "^8.1.1", "semver": "^7.0.0", "teen_process": "^4.0.4" @@ -3810,15 +3819,15 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/appium-ios-tuntap": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-0.2.1.tgz", - "integrity": "sha512-HphORfK06YGjFOB4bzR7RJcRHiRVQEmbK3Qmgn4c+iKuobX91Z5z6mm4tN+PrSZsYJJ9KMyMqec3IqxNVYSapw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-0.4.3.tgz", + "integrity": "sha512-g4R3Ir3O2aVnklKZZlTp+LDrAuWLxwOD/IiB29kgi5k9s9kubTv9HgnG7SHSVN7+PP0Hi4PpyqPps9Uv+NxMow==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@appium/support": "^7.0.0-rc.1", + "@appium/support": "^7.2.0", "node-addon-api": "^8.5.0", "node-gyp-build": "^4.8.4", "typescript": "^6.0.2" @@ -3829,20 +3838,18 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/appium-remote-debugger": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/appium-remote-debugger/-/appium-remote-debugger-15.7.3.tgz", - "integrity": "sha512-CC57qOATozVFpsrSj9lXRIU/J65SiubpRQS04tBdgwp4RF8giA9DHRkJ/eM3JBBGZwKhRGrwYu6E3DZmTXJElQ==", + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/appium-remote-debugger/-/appium-remote-debugger-15.10.3.tgz", + "integrity": "sha512-j5xboCSFe5tnGh34qm2fdIrzfBGNVISEFIQpAi5TmBCo41OVUFtNe2mrijlFcrjQIu/mE3xpQ+QssHymIz8XWA==", "dev": true, "license": "Apache-2.0", "dependencies": { "@appium/base-driver": "^10.0.0-rc.1", - "@appium/support": "^7.0.0-rc.1", + "@appium/support": "^7.2.2", "appium-ios-device": "^3.0.0", "async-lock": "^1.4.1", - "asyncbox": "^6.1.0", - "bluebird": "^3.4.7", + "asyncbox": "^6.3.0", "glob": "^13.0.0", - "lodash": "^4.17.11", "teen_process": "^4.0.4" }, "engines": { @@ -3850,26 +3857,23 @@ "npm": ">=10" }, "optionalDependencies": { - "appium-ios-remotexpc": "^1.0.0" + "appium-ios-remotexpc": "^2.0.0" } }, "node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-12.0.0.tgz", - "integrity": "sha512-vlOyne17os2DSQp3Ar5+2LiPq3ljmdyQ4zVxW6Rr7Qi5TZs5wHSRLzlUlkm5Z1XKs6c2E1dwDtQVtLMvKkbDiQ==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-14.1.1.tgz", + "integrity": "sha512-l/G1Gsph/fV+rbPzywc4pMJHLfSLDLdLJr1vqxaDx94CoF4KSA59SR5BpGbP4+G6bo0Rz2hy2D8QhCUB4df/aw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/base-driver": "^10.0.0-rc.1", + "@appium/base-driver": "^10.3.0", "@appium/strongbox": "^1.0.0-rc.1", "@appium/support": "^7.0.0-rc.1", - "appium-ios-device": "^3.0.0", "appium-ios-simulator": "^8.0.0", "async-lock": "^1.0.0", "asyncbox": "^6.1.0", - "axios": "^1.4.0", - "bluebird": "^3.5.5", - "lodash": "^4.17.11", + "axios": "^1.16.0", "teen_process": "^4.0.7" }, "engines": { @@ -3878,17 +3882,14 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/appium-xcode": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/appium-xcode/-/appium-xcode-6.1.10.tgz", - "integrity": "sha512-Grd85la64SFSOidd48j9KBfasmByvXgtL0NCECgoj4DAeo/qytNKKdwbxhLqiOMqw/6i68KZEqJyWOQufu8TYg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/appium-xcode/-/appium-xcode-6.2.2.tgz", + "integrity": "sha512-THnFNNPW2M680OzSdyHHcvF46CusrvW+/t+zCvVA+MK/sO1AE22GIHoUScbl8HeRxVI9gf1SsXravNSh8OoNaA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@appium/support": "^7.0.0-rc.1", + "@appium/support": "^7.2.2", "asyncbox": "^6.0.1", - "bluebird": "^3.7.2", - "lodash": "^4.17.4", - "plist": "^3.0.1", "semver": "^7.0.0", "teen_process": "^4.0.4" }, @@ -3898,122 +3899,33 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-8.0.0.tgz", + "integrity": "sha512-fV1orZfsnPn9BaSByR/qE67rJCLJEy2Ox5bq7nJh+jquWaNh6Sfec75kJ2T6PtdGUbPQlrVoSVCEOa5SdiTQ1g==", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", - "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", + "is-stream": "^4.0.0", "lazystream": "^1.0.0", - "lodash": "^4.17.15", "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils/node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils/node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/archiver-utils/node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "readable-stream": "^4.0.0", + "readdir-glob": "^3.0.0", + "tar-stream": "^3.0.0", + "zip-stream": "^7.0.2" }, "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18" } }, + "node_modules/appium-xcuitest-driver/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "extraneous": true, + "license": "Python-2.0" + }, "node_modules/appium-xcuitest-driver/node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -4029,9 +3941,9 @@ "license": "MIT" }, "node_modules/appium-xcuitest-driver/node_modules/asyncbox": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.1.0.tgz", - "integrity": "sha512-KZwKNVnDdDe0ubN+fFMuHhSljZNHnbjdJABImoqFzQP61oIg6sMlhXIqOIu3WRd7YwW89q+eVj2Ty/Ax5dbh2Q==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.3.0.tgz", + "integrity": "sha512-7IFpnQDltd5rYQjhIJIpyismJtdWmw/pOABZKJfv2WVo0a6iYh2ZzUuCJJclae5mBtK0H/EychxXg91GB7rGdQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4050,21 +3962,22 @@ "license": "MIT" }, "node_modules/appium-xcuitest-driver/node_modules/axios": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.2.tgz", - "integrity": "sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", + "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", "dev": true, "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, "node_modules/appium-xcuitest-driver/node_modules/b4a": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", - "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -4087,9 +4000,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/bare-events": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", - "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz", + "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -4102,9 +4015,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/bare-fs": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.1.tgz", - "integrity": "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.2.tgz", + "integrity": "sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4127,9 +4040,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/bare-os": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz", - "integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.1.tgz", + "integrity": "sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4137,9 +4050,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.1.tgz", + "integrity": "sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4147,9 +4060,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/bare-stream": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.0.tgz", - "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.1.tgz", + "integrity": "sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4174,9 +4087,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/bare-url": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.2.tgz", - "integrity": "sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.5.tgz", + "integrity": "sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4290,9 +4203,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -4353,25 +4266,44 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/appium-xcuitest-driver/node_modules/color": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", - "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", - "dev": true, + "node_modules/appium-xcuitest-driver/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "extraneous": true, "license": "MIT", "dependencies": { - "color-convert": "^3.1.3", - "color-string": "^2.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/appium-xcuitest-driver/node_modules/color-convert": { + "node_modules/appium-xcuitest-driver/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/chalk/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "extraneous": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -4380,37 +4312,97 @@ "node": ">=7.0.0" } }, - "node_modules/appium-xcuitest-driver/node_modules/color-name": { + "node_modules/appium-xcuitest-driver/node_modules/chalk/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, + "extraneous": true, "license": "MIT" }, - "node_modules/appium-xcuitest-driver/node_modules/color-string": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", - "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", - "dev": true, + "node_modules/appium-xcuitest-driver/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "extraneous": true, "license": "MIT", "dependencies": { - "color-name": "^2.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "extraneous": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/cliui/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "extraneous": true, + "license": "MIT" + }, + "node_modules/appium-xcuitest-driver/node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/appium-xcuitest-driver/node_modules/color-string/node_modules/color-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", - "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "node_modules/appium-xcuitest-driver/node_modules/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/color": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", + "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^3.1.3", + "color-string": "^2.1.3" + }, "engines": { - "node": ">=12.20" + "node": ">=18" } }, - "node_modules/appium-xcuitest-driver/node_modules/color/node_modules/color-convert": { + "node_modules/appium-xcuitest-driver/node_modules/color-convert": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", @@ -4423,7 +4415,7 @@ "node": ">=14.6" } }, - "node_modules/appium-xcuitest-driver/node_modules/color/node_modules/color-name": { + "node_modules/appium-xcuitest-driver/node_modules/color-name": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", @@ -4433,6 +4425,19 @@ "node": ">=12.20" } }, + "node_modules/appium-xcuitest-driver/node_modules/color-string": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", + "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/appium-xcuitest-driver/node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4457,20 +4462,30 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-7.0.1.tgz", + "integrity": "sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ==", "dev": true, "license": "MIT", "dependencies": { "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", + "crc32-stream": "^7.0.1", + "is-stream": "^4.0.0", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" } }, "node_modules/appium-xcuitest-driver/node_modules/console-control-strings": { @@ -4545,9 +4560,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-7.0.1.tgz", + "integrity": "sha512-IBWsY8xznyQrcHn8h4bC8/4ErNke5elzgG8GcqF4RFPw6aHkWWRc7Tgw6upjaTX/CT/yQgqYENkxYsTYN+hW2g==", "dev": true, "license": "MIT", "dependencies": { @@ -4555,7 +4570,7 @@ "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" } }, "node_modules/appium-xcuitest-driver/node_modules/cross-spawn": { @@ -4564,6 +4579,7 @@ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4578,7 +4594,8 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/appium-xcuitest-driver/node_modules/cross-spawn/node_modules/which": { "version": "2.0.2", @@ -4586,6 +4603,7 @@ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", + "optional": true, "dependencies": { "isexe": "^2.0.0" }, @@ -4670,15 +4688,14 @@ "license": "MIT", "optional": true }, - "node_modules/appium-xcuitest-driver/node_modules/dnssd": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/dnssd/-/dnssd-0.4.1.tgz", - "integrity": "sha512-mEz5Ii+o+k3kYHTXY6fTLOjCwraX8TQowIgUySAbEYuGqtSMbfBc/tvDZ8wGPywnmlLE6/XeXi6qPcAKVTvPUQ==", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "dnssd-js": "bin/bin.js" + "node_modules/appium-xcuitest-driver/node_modules/diff": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz", + "integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==", + "extraneous": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" } }, "node_modules/appium-xcuitest-driver/node_modules/dunder-proto": { @@ -4703,13 +4720,6 @@ "dev": true, "license": "MIT" }, - "node_modules/appium-xcuitest-driver/node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, "node_modules/appium-xcuitest-driver/node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -4717,13 +4727,6 @@ "dev": true, "license": "MIT" }, - "node_modules/appium-xcuitest-driver/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/appium-xcuitest-driver/node_modules/enabled": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", @@ -4778,9 +4781,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -4806,6 +4809,16 @@ "node": ">= 0.4" } }, + "node_modules/appium-xcuitest-driver/node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/appium-xcuitest-driver/node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -4984,36 +4997,6 @@ } } }, - "node_modules/appium-xcuitest-driver/node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/appium-xcuitest-driver/node_modules/form-data": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", @@ -5120,7 +5103,30 @@ "dev": true, "license": "MIT", "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "extraneous": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/appium-xcuitest-driver/node_modules/get-intrinsic": { @@ -5179,19 +5185,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/appium-xcuitest-driver/node_modules/get-stream/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/appium-xcuitest-driver/node_modules/glob": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", @@ -5223,13 +5216,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/appium-xcuitest-driver/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, "node_modules/appium-xcuitest-driver/node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -5238,6 +5224,16 @@ "license": "MIT", "optional": true }, + "node_modules/appium-xcuitest-driver/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/appium-xcuitest-driver/node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -5268,9 +5264,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "dev": true, "license": "MIT", "dependencies": { @@ -5281,9 +5277,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz", + "integrity": "sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==", "dev": true, "license": "ISC", "dependencies": { @@ -5371,6 +5367,20 @@ "dev": true, "license": "MIT" }, + "node_modules/appium-xcuitest-driver/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/appium-xcuitest-driver/node_modules/iconv-lite": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", @@ -5439,16 +5449,6 @@ "node": ">= 0.10" } }, - "node_modules/appium-xcuitest-driver/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/appium-xcuitest-driver/node_modules/is-number-like": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", @@ -5480,13 +5480,13 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5522,22 +5522,6 @@ "node": ">=20" } }, - "node_modules/appium-xcuitest-driver/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/appium-xcuitest-driver/node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5654,6 +5638,19 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/appium-xcuitest-driver/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/appium-xcuitest-driver/node_modules/lockfile": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", @@ -5714,9 +5711,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -5836,6 +5833,16 @@ "url": "https://opencollective.com/express" } }, + "node_modules/appium-xcuitest-driver/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "extraneous": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/appium-xcuitest-driver/node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -5881,9 +5888,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/moment-timezone": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.6.1.tgz", - "integrity": "sha512-1B9lmAhB9D9/sHaPC1N7wLFEVUoFldxOpOO96lOD1PvJ43vCd0ozDPbu0FEL3++VvawOlDkq8YD373tJmP5JHw==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.6.2.tgz", + "integrity": "sha512-lDsQv8FoGdBUdf0+TjGsq2orxKuXdwFlQ6Zw6TX3xIcTwTfEpCLyKqvEauvCHJ8iu3KBV8+uPhlv70YsNGdUBQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5968,9 +5975,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/node-addon-api": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.7.0.tgz", - "integrity": "sha512-9MdFxmkKaOYVTV+XVRG8ArDwwQ77XIgIPyKASB1k3JPq3M8fGQQQE3YpMOrKm6g//Ktx8ivZr8xo1Qmtqub+GA==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.8.0.tgz", + "integrity": "sha512-c5Ko1fZJIJmzhFIkhRN76WTq+fC6tWnGy9CXA0fA+XygsWZmEwG8vmbkNqxMyoaa0Tin4djul49NzdVcJJcjeA==", "dev": true, "license": "MIT", "optional": true, @@ -5979,14 +5986,13 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/node-devicectl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-devicectl/-/node-devicectl-1.2.1.tgz", - "integrity": "sha512-fhAS1WKDzK9BOgknZcl6CmCQMnA2s0kxp1ehbhzZguqqMoR1G8eNhd9G3HxFcYJhDChzgOrG4w1IcAwe1uziwQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-devicectl/-/node-devicectl-1.4.0.tgz", + "integrity": "sha512-hwInpr3i6r930pBYmRn//eXNvR5psQSzO9r5fJdEvuUZy+/DNyZViv5N6dH9shx6MpjuaHmBBa0AvGScepcAqA==", "dev": true, "license": "Apache-2.0", "dependencies": { "@appium/logger": "^2.0.0-rc.1", - "lodash": "^4.2.1", "teen_process": "^4.1.0" }, "engines": { @@ -6008,20 +6014,17 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/node-simctl": { - "version": "8.1.7", - "resolved": "https://registry.npmjs.org/node-simctl/-/node-simctl-8.1.7.tgz", - "integrity": "sha512-Kue/EfM/kpGtiAymTHD3xRL2rqHEpgFPcNKxmqIq/OvX3u0ylXxDVrtQ5C60Q2Suuwxa7jn9nmcm/VjCE9jPwA==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/node-simctl/-/node-simctl-8.2.3.tgz", + "integrity": "sha512-udjYoXRsApFQP0fggKwGWFWUqinJKY11zIUmMxMv8Q4sfMLV0Uu9iavRUfiB3QOmJvL4WAXTaHv+tZvkiT+nyQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@appium/logger": "^2.0.0-rc.1", "asyncbox": "^6.0.1", - "bluebird": "^3.5.1", - "lodash": "^4.2.1", "rimraf": "^6.0.1", "semver": "^7.0.0", "teen_process": "^4.0.4", - "uuid": "^13.0.0", "which": "^6.0.0" }, "engines": { @@ -6029,20 +6032,6 @@ "npm": ">=10" } }, - "node_modules/appium-xcuitest-driver/node_modules/node-simctl/node_modules/uuid": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", - "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist-node/bin/uuid" - } - }, "node_modules/appium-xcuitest-driver/node_modules/normalize-package-data": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-8.0.0.tgz", @@ -6107,20 +6096,6 @@ "npm": ">= 10" } }, - "node_modules/appium-xcuitest-driver/node_modules/npm-run-all2/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/appium-xcuitest-driver/node_modules/npm-run-all2/node_modules/isexe": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", @@ -6213,6 +6188,22 @@ "fn.name": "1.x.x" } }, + "node_modules/appium-xcuitest-driver/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/appium-xcuitest-driver/node_modules/p-limit": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.0.tgz", @@ -6308,6 +6299,7 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", + "optional": true, "engines": { "node": ">=8" } @@ -6369,9 +6361,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.1.tgz", + "integrity": "sha512-e0F9AOF1JMrCfBsyJOwU9lNvQ0WtXTq0j/4jk0BQ5JSI9VAybPXmDpPRw/2FQ3e5d3ZFN1mLh7jW99m/jjaptw==", "dev": true, "license": "MIT", "optional": true, @@ -6383,28 +6375,17 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/plist": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", - "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-4.0.0.tgz", + "integrity": "sha512-4dOqNo0Y2NpfSf9q4+zr4bh7pzNWeckIam34Z0KYJhg8qtNNfh59VbD+Yna5SjwcxawVvLKx5w5FtuCijpEF4Q==", "dev": true, "license": "MIT", "dependencies": { - "@xmldom/xmldom": "^0.8.8", - "base64-js": "^1.5.1", + "@xmldom/xmldom": "^0.9.10", "xmlbuilder": "^15.1.1" }, "engines": { - "node": ">=10.4.0" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/plist/node_modules/@xmldom/xmldom": { - "version": "0.8.13", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", - "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" + "node": ">=18" } }, "node_modules/appium-xcuitest-driver/node_modules/pluralize": { @@ -6484,9 +6465,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -6603,43 +6584,19 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-3.0.0.tgz", + "integrity": "sha512-AhNB2KgKeVJr16nK9LLZbJNWnYoT23ZrumNKFDebHBdkC8KHSqWo871JAUhoWC/RtjEVdqNMFpM6qrwRbaUqpw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/readdir-glob/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/appium-xcuitest-driver/node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "minimatch": "^10.2.2" }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/yqnn" } }, "node_modules/appium-xcuitest-driver/node_modules/resolve-from": { @@ -6732,9 +6689,9 @@ "optional": true }, "node_modules/appium-xcuitest-driver/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -6840,64 +6797,18 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, - "node_modules/appium-xcuitest-driver/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, - "node_modules/appium-xcuitest-driver/node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "license": "ISC" + }, + "node_modules/appium-xcuitest-driver/node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" }, "node_modules/appium-xcuitest-driver/node_modules/shebang-command": { "version": "2.0.0", @@ -6905,6 +6816,7 @@ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -6918,14 +6830,15 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", + "optional": true, "engines": { "node": ">=8" } }, "node_modules/appium-xcuitest-driver/node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.4.tgz", + "integrity": "sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==", "dev": true, "license": "MIT", "engines": { @@ -6936,15 +6849,15 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -7156,9 +7069,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/streamx": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", - "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.27.0.tgz", + "integrity": "sha512-WZ189TKnHoAokYHvwzaAQMpd55cgUmFIcJFzBSgGcb886jau5DL+XdDhTWV4ps3FLvk+OORp0dLRTPsLZ21CSA==", "dev": true, "license": "MIT", "dependencies": { @@ -7198,56 +7111,11 @@ ], "license": "MIT" }, - "node_modules/appium-xcuitest-driver/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/appium-xcuitest-driver/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/appium-xcuitest-driver/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "extraneous": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -7256,21 +7124,11 @@ "node": ">=8" } }, - "node_modules/appium-xcuitest-driver/node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/appium-xcuitest-driver/node_modules/strip-ansi/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "extraneous": true, "license": "MIT", "engines": { "node": ">=8" @@ -7303,9 +7161,9 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/tar-stream": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", - "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz", + "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==", "dev": true, "license": "MIT", "dependencies": { @@ -7316,13 +7174,12 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/teen_process": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.1.tgz", - "integrity": "sha512-E9gaYuVaWrvbxzZDgZ/MjWkPKqiKETBWSRy06qz1GOyKU22mI76JrxzaGbeddcHcmW8ZFXPowPv1ad3a7S+Xvg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.3.tgz", + "integrity": "sha512-8W7Xp7WtJ5ZXjv0iHMsCgPPKzUt6ACfG/rDWX0tMIlMJaYcTYsPw3ZQQ9+hG7YsY+gm+DUATiyah3AraJ9JYpg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "lodash": "^4.17.21", "shell-quote": "^1.8.1" }, "engines": { @@ -7394,6 +7251,13 @@ "utf8-byte-length": "^1.0.1" } }, + "node_modules/appium-xcuitest-driver/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "extraneous": true, + "license": "0BSD" + }, "node_modules/appium-xcuitest-driver/node_modules/type-fest": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz", @@ -7411,18 +7275,36 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", "dev": true, "license": "MIT", "dependencies": { - "content-type": "^1.0.5", + "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/appium-xcuitest-driver/node_modules/typescript": { @@ -7440,14 +7322,6 @@ "node": ">=14.17" } }, - "node_modules/appium-xcuitest-driver/node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/appium-xcuitest-driver/node_modules/unicorn-magic": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", @@ -7621,6 +7495,19 @@ "node": ">= 6" } }, + "node_modules/appium-xcuitest-driver/node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/appium-xcuitest-driver/node_modules/winston/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -7636,25 +7523,65 @@ "node": ">= 6" } }, - "node_modules/appium-xcuitest-driver/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/appium-xcuitest-driver/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "extraneous": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/appium-xcuitest-driver/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "extraneous": true, + "license": "MIT" + }, + "node_modules/appium-xcuitest-driver/node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/appium-xcuitest-driver/node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -7663,9 +7590,9 @@ "license": "ISC" }, "node_modules/appium-xcuitest-driver/node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { @@ -7691,13 +7618,108 @@ "dev": true, "license": "MIT", "engines": { - "node": ">=8.0" + "node": ">=8.0" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "extraneous": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "extraneous": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "extraneous": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/yargs/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "extraneous": true, + "license": "MIT" + }, + "node_modules/appium-xcuitest-driver/node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/appium-xcuitest-driver/node_modules/yargs/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/appium-xcuitest-driver/node_modules/yauzl": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.3.0.tgz", - "integrity": "sha512-PtGEvEP30p7sbIBJKUBjUnqgTVOyMURc4dLo9iNyAJnNIEz9pm88cCXF21w94Kg3k6RXkeZh5DHOGS0qEONvNQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.3.1.tgz", + "integrity": "sha512-RNPCUkiE/ZgO4w8i9U5yDQVHaFDdnzaFANElRvpJteCspvmv2VqrRb9lvS6odVD+jqI/zDsxAHJVsafpcheVQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7745,37 +7767,52 @@ } }, "node_modules/appium-xcuitest-driver/node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-7.0.5.tgz", + "integrity": "sha512-dSvYKdvLsAHCDqPOhIwk/q5CvuWtTB3Dgpoe0uVEFjTzIOAmsQpprX25InCvrvJsirEbu1OHyy67n/kAj1Sw/w==", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", + "compress-commons": "^7.0.0", + "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" + } + }, + "node_modules/appium/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-8.0.0.tgz", + "integrity": "sha512-fV1orZfsnPn9BaSByR/qE67rJCLJEy2Ox5bq7nJh+jquWaNh6Sfec75kJ2T6PtdGUbPQlrVoSVCEOa5SdiTQ1g==", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", + "is-stream": "^4.0.0", + "lazystream": "^1.0.0", + "normalize-path": "^3.0.0", "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", + "readdir-glob": "^3.0.0", "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" + "zip-stream": "^7.0.2" }, "engines": { - "node": ">= 14" + "node": ">=18" } }, "node_modules/archiver-utils": { @@ -7797,6 +7834,19 @@ "node": ">= 14" } }, + "node_modules/archiver-utils/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -7905,37 +7955,10 @@ "proxy-from-env": "^2.1.0" } }, - "node_modules/axios/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/axios/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/b4a": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", - "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -7955,9 +7978,9 @@ "license": "MIT" }, "node_modules/bare-events": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", - "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz", + "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -7970,9 +7993,9 @@ } }, "node_modules/bare-fs": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.1.tgz", - "integrity": "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.2.tgz", + "integrity": "sha512-aTvMFUWkBmjzKtEQMDGGDNF8bkfpD5N1b/FCwt7A3wrU4t1o/e/85Wzkluh6JlODCjqVESYCkQCdTXqZ9G7VFg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7995,9 +8018,9 @@ } }, "node_modules/bare-os": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz", - "integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.1.tgz", + "integrity": "sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -8005,9 +8028,9 @@ } }, "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.1.tgz", + "integrity": "sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8015,12 +8038,13 @@ } }, "node_modules/bare-stream": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.0.tgz", - "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==", + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.3.tgz", + "integrity": "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==", "dev": true, "license": "Apache-2.0", "dependencies": { + "b4a": "^1.8.1", "streamx": "^2.25.0", "teex": "^1.0.1" }, @@ -8042,9 +8066,9 @@ } }, "node_modules/bare-url": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.2.tgz", - "integrity": "sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.5.tgz", + "integrity": "sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8093,9 +8117,9 @@ } }, "node_modules/basic-ftp": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.0.tgz", - "integrity": "sha512-5K9eNNn7ywHPsYnFwjKgYH8Hf8B5emh7JKcPaVjjrMJFQQwGpwowEnZNEtHs7DfR7hCZsmaK3VA4HUK0YarT+w==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz", + "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==", "dev": true, "license": "MIT", "engines": { @@ -8236,9 +8260,9 @@ } }, "node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", "dev": true, "license": "MIT", "dependencies": { @@ -8446,43 +8470,10 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio/node_modules/entities": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/htmlparser2": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", - "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "entities": "^7.0.1" - } - }, "node_modules/cheerio/node_modules/undici": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", - "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz", + "integrity": "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==", "dev": true, "license": "MIT", "engines": { @@ -8755,20 +8746,20 @@ } }, "node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-7.0.1.tgz", + "integrity": "sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ==", "dev": true, "license": "MIT", "dependencies": { "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", + "crc32-stream": "^7.0.1", + "is-stream": "^4.0.0", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" } }, "node_modules/concat-map": { @@ -8867,9 +8858,9 @@ } }, "node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-7.0.1.tgz", + "integrity": "sha512-IBWsY8xznyQrcHn8h4bC8/4ErNke5elzgG8GcqF4RFPw6aHkWWRc7Tgw6upjaTX/CT/yQgqYENkxYsTYN+hW2g==", "dev": true, "license": "MIT", "dependencies": { @@ -8877,7 +8868,7 @@ "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" } }, "node_modules/create-require": { @@ -8888,9 +8879,9 @@ "license": "MIT" }, "node_modules/create-wdio": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/create-wdio/-/create-wdio-9.27.0.tgz", - "integrity": "sha512-6ot1WVks07Otj+5jDsi/NU0L3avsIA9C1mh0MtlXsR6kSvZNxwc56NH6sX3M1p+5e8Ysl777Vs4PqmgHh7LrNg==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/create-wdio/-/create-wdio-9.28.0.tgz", + "integrity": "sha512-3Oa7tGK5QA9z1bdTFonnEb3OTTyNJtI2np7YzEC6F9es+94PFsFLLn5nIWs+fhJSdoueQyLy8P2cSWBO3Ohijw==", "dev": true, "license": "MIT", "dependencies": { @@ -9020,9 +9011,9 @@ } }, "node_modules/csv-stringify": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.7.0.tgz", - "integrity": "sha512-UdtziYp5HuTz7e5j8Nvq+a/3HQo+2/aJZ9xntNTpmRRIg/3YYqDVgiS9fvAhtNbnyfbv2ZBe0bqCHqzhE7FqWQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.8.0.tgz", + "integrity": "sha512-Ya0OOHb6XbgPaZKH7dcdmwXe3azUS0TwmlbVdS75HoAhnHApSkiQcfEJoC/s5WwGsrXwOjBDr3FTmCZPjkssgg==", "dev": true, "license": "MIT" }, @@ -9077,16 +9068,6 @@ "node": ">=6" } }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deepmerge-ts": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", @@ -9362,6 +9343,20 @@ "node": ">=20.0.0" } }, + "node_modules/edgedriver/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -9735,19 +9730,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/exit-hook": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-4.0.0.tgz", @@ -9779,16 +9761,16 @@ } }, "node_modules/expect-webdriverio": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.6.5.tgz", - "integrity": "sha512-5ot+Apo0bEvMD/nqzWymQpgyWnOdu0kVpmahLx5T7NzUc6RyifucZ24Gsfr6F6C8yRGBhmoFh7ZeY+W9kteEBQ==", + "version": "5.6.8", + "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.6.8.tgz", + "integrity": "sha512-VfLC9o84B40LEw+zX7UykUptKkscX1rPYY4jaAsQ6KyKL0X0ltDkWzKIUiY9g/u0ApNerrkhM/QEY0TDT8pJOQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/snapshot": "^4.0.16", + "@vitest/snapshot": "^4.1.7", "deep-eql": "^5.0.2", - "expect": "^30.2.0", - "jest-matcher-utils": "^30.2.0" + "expect": "^30.4.1", + "jest-matcher-utils": "^30.4.1" }, "engines": { "node": ">=20" @@ -9811,9 +9793,9 @@ } }, "node_modules/expect-webdriverio/node_modules/@jest/expect-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", - "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz", + "integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9824,9 +9806,9 @@ } }, "node_modules/expect-webdriverio/node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz", + "integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==", "dev": true, "license": "MIT", "dependencies": { @@ -9837,14 +9819,14 @@ } }, "node_modules/expect-webdriverio/node_modules/@jest/types": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", - "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz", + "integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", + "@jest/pattern": "30.4.0", + "@jest/schemas": "30.4.1", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", @@ -9863,9 +9845,9 @@ "license": "MIT" }, "node_modules/expect-webdriverio/node_modules/@vitest/pretty-format": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", - "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", "dev": true, "license": "MIT", "dependencies": { @@ -9876,14 +9858,14 @@ } }, "node_modules/expect-webdriverio/node_modules/@vitest/snapshot": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", - "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", + "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.5", - "@vitest/utils": "4.1.5", + "@vitest/pretty-format": "4.1.9", + "@vitest/utils": "4.1.9", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -9961,69 +9943,70 @@ "license": "MIT" }, "node_modules/expect-webdriverio/node_modules/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "30.3.0", + "@jest/expect-utils": "30.4.1", "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/expect-webdriverio/node_modules/jest-diff": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", - "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz", + "integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/diff-sequences": "30.3.0", + "@jest/diff-sequences": "30.4.0", "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "pretty-format": "30.3.0" + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/expect-webdriverio/node_modules/jest-matcher-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", - "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz", + "integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "jest-diff": "30.3.0", - "pretty-format": "30.3.0" + "jest-diff": "30.4.1", + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/expect-webdriverio/node_modules/jest-message-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", - "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz", + "integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/stack-utils": "^2.0.3", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", + "jest-util": "30.4.1", "picomatch": "^4.0.3", - "pretty-format": "30.3.0", + "pretty-format": "30.4.1", "slash": "^3.0.0", "stack-utils": "^2.0.6" }, @@ -10032,13 +10015,13 @@ } }, "node_modules/expect-webdriverio/node_modules/jest-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", - "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz", + "integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", @@ -10070,15 +10053,16 @@ } }, "node_modules/expect-webdriverio/node_modules/pretty-format": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", - "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz", + "integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.5", + "@jest/schemas": "30.4.1", "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" + "react-is-18": "npm:react-is@^18.3.1", + "react-is-19": "npm:react-is@^19.2.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -10265,9 +10249,9 @@ } }, "node_modules/fast-xml-parser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.2.tgz", - "integrity": "sha512-P7oW7tLbYnhOLQk/Gv7cZgzgMPP/XN03K02/Jy6Y/NHzyIAIpxuZIM/YqAkfiXFPxA2CTm7NtCijK9EDu09u2w==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.9.2.tgz", + "integrity": "sha512-DYPkXnVSJHAGAkSBeVYhEo/seIpz2SLr9OQcX7m6lXaX3gvoB+DCKzFdZIEhZGI3I1DUhObBAUOT/v2xfoXz/w==", "dev": true, "funding": [ { @@ -10277,10 +10261,12 @@ ], "license": "MIT", "dependencies": { - "@nodable/entities": "^2.1.0", - "fast-xml-builder": "^1.1.5", + "@nodable/entities": "^2.2.0", + "fast-xml-builder": "^1.2.0", + "is-unsafe": "^1.0.1", "path-expression-matcher": "^1.5.0", - "strnum": "^2.2.3" + "strnum": "^2.4.0", + "xml-naming": "^0.1.0" }, "bin": { "fxparser": "src/cli/cli.js" @@ -10614,6 +10600,20 @@ "node": ">=20.0.0" } }, + "node_modules/geckodriver/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -10706,19 +10706,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-uri": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", @@ -10941,20 +10928,23 @@ "license": "MIT" }, "node_modules/html-to-text": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.5.tgz", - "integrity": "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-10.0.0.tgz", + "integrity": "sha512-2OH59Gtprdczel+7Rxgpz9hGVJREaf8Lt1H4kZwWHpEn70VQKRuMNGsb2eDbwaTzrYzb0hheiOG1P7Dim0B4dQ==", "dev": true, "license": "MIT", "dependencies": { - "@selderee/plugin-htmlparser2": "^0.11.0", - "deepmerge": "^4.3.1", + "@selderee/plugin-htmlparser2": "~0.12.0", + "deepmerge-ts": "^7.1.5", "dom-serializer": "^2.0.0", - "htmlparser2": "^8.0.2", - "selderee": "^0.11.0" + "htmlparser2": "^10.1.0", + "selderee": "~0.12.0" }, "engines": { - "node": ">=14" + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/KillyMXI" } }, "node_modules/htmlfy": { @@ -10965,9 +10955,9 @@ "license": "MIT" }, "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -10980,8 +10970,21 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/http-cache-semantics": { @@ -11042,17 +11045,30 @@ "license": "MIT" }, "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", + "agent-base": "6", "debug": "4" }, "engines": { - "node": ">= 14" + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, "node_modules/human-signals": { @@ -11259,13 +11275,13 @@ "license": "MIT" }, "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -11284,6 +11300,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-unsafe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-unsafe/-/is-unsafe-1.0.1.tgz", + "integrity": "sha512-CLK2+VdgERgD96EYm5lUQssZYlRg2tkZnbsxZoacmSiRxiFJ4Nk4SzjCl+Ur+v3kXIY9dTIdb3IH22y1mZ56LA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -11618,24 +11647,24 @@ } }, "node_modules/jest-mock": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", - "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz", + "integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", - "jest-util": "30.3.0" + "jest-util": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-mock/node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz", + "integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==", "dev": true, "license": "MIT", "dependencies": { @@ -11646,14 +11675,14 @@ } }, "node_modules/jest-mock/node_modules/@jest/types": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", - "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz", + "integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", + "@jest/pattern": "30.4.0", + "@jest/schemas": "30.4.1", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", @@ -11741,13 +11770,13 @@ "license": "MIT" }, "node_modules/jest-mock/node_modules/jest-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", - "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz", + "integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", @@ -11785,9 +11814,9 @@ } }, "node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz", + "integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==", "dev": true, "license": "MIT", "engines": { @@ -11879,9 +11908,9 @@ } }, "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", "dev": true, "license": "MIT", "bin": { @@ -12102,13 +12131,13 @@ } }, "node_modules/leac": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz", - "integrity": "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/leac/-/leac-0.7.0.tgz", + "integrity": "sha512-qMrZeyEekgdRQ9o6a4NAB2EQZrv827GJdn1vnapwSJ90hWRB4TzUSunvacPkxQ2TnNqHNI1/zSt0hlo0crG8Jw==", "dev": true, "license": "MIT", "funding": { - "url": "https://ko-fi.com/killymxi" + "url": "https://github.com/sponsors/KillyMXI" } }, "node_modules/libbase64": { @@ -12189,10 +12218,20 @@ } }, "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.1.tgz", + "integrity": "sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" @@ -12385,20 +12424,20 @@ } }, "node_modules/mailparser": { - "version": "3.9.8", - "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-3.9.8.tgz", - "integrity": "sha512-7jSlFGXiianVnhnb6wdutJFloD34488nrHY7r6FNqwXAhZ7YiJDYrKKTxZJ0oSrXcAPHm8YoYnh97xyGtrBQ3w==", + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-3.9.10.tgz", + "integrity": "sha512-/PWScCewV4/97Y0wDNgQkcQ4FK8AK0aGVPAg51lVyisiRep9BkzkzT3/l/7aSkQ1k2T1iJu1tdXVF84wjGdDqw==", "dev": true, "license": "MIT", "dependencies": { - "@zone-eu/mailsplit": "5.4.8", + "@zone-eu/mailsplit": "5.4.12", "encoding-japanese": "2.2.0", "he": "1.2.0", - "html-to-text": "9.0.5", + "html-to-text": "10.0.0", "iconv-lite": "0.7.2", "libmime": "5.3.8", - "linkify-it": "5.0.0", - "nodemailer": "8.0.5", + "linkify-it": "5.0.1", + "nodemailer": "9.0.0", "punycode.js": "2.3.1", "tlds": "1.261.0" } @@ -12984,9 +13023,9 @@ } }, "node_modules/nodemailer": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.5.tgz", - "integrity": "sha512-0PF8Yb1yZuQfQbq+5/pZJrtF6WQcjTd5/S4JOHs9PGFxuTqoB/icwuB44pOdURHJbRKX1PPoJZtY7R4VUoCC8w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-9.0.0.tgz", + "integrity": "sha512-tbPTid7d/p9jAA8CRZ3iomvrMaST0o6NYuY7v6JQZHpPRZ61mLFSPKYd7342NtOFuej9/+L48SOIxwfu2uDvtw==", "dev": true, "license": "MIT-0", "engines": { @@ -13385,6 +13424,20 @@ "node": ">= 14" } }, + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/pac-resolver": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", @@ -13559,17 +13612,17 @@ } }, "node_modules/parseley": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", - "integrity": "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.13.1.tgz", + "integrity": "sha512-uNBJZzmb60l6p6VWLTmevizNAGnE0xoSf1n0B4q3ntegDNzcS68NRCcBDZTcyXHxt2XhBChsCuqj4M+nChvE/A==", "dev": true, "license": "MIT", "dependencies": { - "leac": "^0.6.0", - "peberminta": "^0.9.0" + "leac": "^0.7.0", + "peberminta": "^0.10.0" }, "funding": { - "url": "https://ko-fi.com/killymxi" + "url": "https://github.com/sponsors/KillyMXI" } }, "node_modules/parseurl": { @@ -13661,13 +13714,13 @@ "license": "MIT" }, "node_modules/peberminta": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", - "integrity": "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.10.0.tgz", + "integrity": "sha512-80B2AsU+I4Qdb0ZAPSfe9UwvGzwkM37IKIFEvdS3D/3Ndgv2bsuJ0bfG1+iEYO+l7Gfd4EUJmuRyq7efLgRMzQ==", "dev": true, "license": "MIT", "funding": { - "url": "https://ko-fi.com/killymxi" + "url": "https://github.com/sponsors/KillyMXI" } }, "node_modules/pend": { @@ -13837,6 +13890,20 @@ "node": ">= 14" } }, + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/proxy-agent/node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -13958,6 +14025,22 @@ "dev": true, "license": "MIT" }, + "node_modules/react-is-18": { + "name": "react-is", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-is-19": { + "name": "react-is", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", + "dev": true, + "license": "MIT" + }, "node_modules/read-pkg": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-10.1.0.tgz", @@ -14180,26 +14263,58 @@ } }, "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-3.0.0.tgz", + "integrity": "sha512-AhNB2KgKeVJr16nK9LLZbJNWnYoT23ZrumNKFDebHBdkC8KHSqWo871JAUhoWC/RtjEVdqNMFpM6qrwRbaUqpw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "minimatch": "^5.1.0" + "minimatch": "^10.2.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/yqnn" + } + }, + "node_modules/readdir-glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.5" }, "engines": { - "node": ">=10" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/readdirp": { @@ -14230,9 +14345,9 @@ } }, "node_modules/recursive-readdir/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -14453,16 +14568,16 @@ } }, "node_modules/selderee": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz", - "integrity": "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.12.0.tgz", + "integrity": "sha512-b1YMh3+DHZp59DLna3qVwQ5iOla/nrI6mLBNW02XxU77M3046Df6VLkoaJyFz20VsGIG5kkp+FK0kg4K4HnUFw==", "dev": true, "license": "MIT", "dependencies": { - "parseley": "^0.12.0" + "parseley": "~0.13.1" }, "funding": { - "url": "https://ko-fi.com/killymxi" + "url": "https://github.com/sponsors/KillyMXI" } }, "node_modules/select-hose": { @@ -14474,9 +14589,9 @@ "optional": true }, "node_modules/semver": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", - "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -14824,13 +14939,13 @@ } }, "node_modules/socks": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz", + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "^10.0.1", + "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -15045,9 +15160,9 @@ } }, "node_modules/streamx": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", - "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.0.tgz", + "integrity": "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==", "dev": true, "license": "MIT", "dependencies": { @@ -15208,9 +15323,9 @@ } }, "node_modules/strnum": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.3.tgz", - "integrity": "sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.4.0.tgz", + "integrity": "sha512-sHrVyWWdq28RbhjuJdZsA1SnGRJV6NiXbk6AXBxDOsgAcA+lmpUZCYjOdLBxkXMwis6RRe7dlZt4VlIWFVzkmg==", "dev": true, "funding": [ { @@ -15218,7 +15333,10 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "anynum": "^1.0.0" + } }, "node_modules/supports-color": { "version": "10.2.2", @@ -15247,9 +15365,9 @@ } }, "node_modules/tar": { - "version": "7.5.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", - "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", + "version": "7.5.16", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.16.tgz", + "integrity": "sha512-56adEpPMouktRlBLXiaYFFzZ/3+JXa8P9n7WbR+ibIjtviN55mEaOkiysCnPnWm+7kkui1Dn8J9l+g6zV8731w==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -15279,9 +15397,9 @@ } }, "node_modules/tar-stream": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", - "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz", + "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==", "dev": true, "license": "MIT", "dependencies": { @@ -15340,9 +15458,9 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { @@ -15626,9 +15744,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", - "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", + "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==", "dev": true, "license": "MIT", "engines": { @@ -15890,19 +16008,19 @@ } }, "node_modules/webdriver": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.27.0.tgz", - "integrity": "sha512-w07ThZND48SIr0b4S7eFougYUyclmoUwdmju8yXvEJiXYjDjeYUpl8wZrYPEYRBylxpSx+sBHfEUBrPQkcTTRQ==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.28.0.tgz", + "integrity": "sha512-MmtC/n5rhOh/EYyYI1SbRBdEWctKaQouVeEAybv5SD/2bhTjg800q7mvGqHzhTXpqTPY5cdbOtT0PBdT89wz9w==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "9.27.0", + "@wdio/config": "9.28.0", "@wdio/logger": "9.18.0", - "@wdio/protocols": "9.27.0", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/protocols": "9.28.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "deepmerge-ts": "^7.0.3", "https-proxy-agent": "^7.0.6", "undici": "^6.21.3", @@ -15913,30 +16031,44 @@ } }, "node_modules/webdriver/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, + "node_modules/webdriver/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/webdriverio": { - "version": "9.27.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.27.0.tgz", - "integrity": "sha512-Y4FbMf4bKBXpPB0lYpglzQ2GfDDe6uojmMZl85uPyrDx18NW7mqN84ZawGoIg/FRvcLaVhcOzc98WOPo725Rag==", + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.28.0.tgz", + "integrity": "sha512-ieFWi8dq57uZC6QMC2x6TllxKTRyInIMcOrVvwbHqVRYvJP8OLDtlH1bideGRIN0pgGHWStqplez2A95jS9bqA==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "^20.11.30", "@types/sinonjs__fake-timers": "^8.1.5", - "@wdio/config": "9.27.0", + "@wdio/config": "9.28.0", "@wdio/logger": "9.18.0", - "@wdio/protocols": "9.27.0", + "@wdio/protocols": "9.28.0", "@wdio/repl": "9.16.2", - "@wdio/types": "9.27.0", - "@wdio/utils": "9.27.0", + "@wdio/types": "9.28.0", + "@wdio/utils": "9.28.0", "archiver": "^7.0.1", "aria-query": "^5.3.0", "cheerio": "^1.0.0-rc.12", @@ -15953,7 +16085,7 @@ "rgb2hex": "0.2.5", "serialize-error": "^12.0.0", "urlpattern-polyfill": "^10.0.0", - "webdriver": "9.27.0" + "webdriver": "9.28.0" }, "engines": { "node": ">=18.20.0" @@ -15968,15 +16100,116 @@ } }, "node_modules/webdriverio/node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, + "node_modules/webdriverio/node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/webdriverio/node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/webdriverio/node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/webdriverio/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webdriverio/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/webdriverio/node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/webdriverio/node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/whatwg-encoding": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", @@ -16070,6 +16303,19 @@ "node": ">= 6" } }, + "node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/winston/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -16510,18 +16756,18 @@ } }, "node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-7.0.5.tgz", + "integrity": "sha512-dSvYKdvLsAHCDqPOhIwk/q5CvuWtTB3Dgpoe0uVEFjTzIOAmsQpprX25InCvrvJsirEbu1OHyy67n/kAj1Sw/w==", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", + "compress-commons": "^7.0.0", + "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=18" } } } diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 212ecbd6f..3d9db316c 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -12,7 +12,7 @@ platform :ios do scan( project: "FlowCrypt.xcodeproj", scheme: "Debug FlowCrypt", - device: "iPhone 17 (26.4)", + device: "iPhone 17 (26.5)", derived_data_path: "/var/tmp/derived_data/FlowCrypt", skip_detect_devices: true, build_for_testing: true, @@ -25,7 +25,7 @@ platform :ios do scan( project: "FlowCrypt.xcodeproj", scheme: "FlowCryptAppTests", - device: "iPhone 17 (26.4)", + device: "iPhone 17 (26.5)", test_without_building: true, derived_data_path: "/var/tmp/derived_data/FlowCrypt", xcargs: "-skipPackagePluginValidation -skipMacroValidation", diff --git a/package-lock.json b/package-lock.json index 4eca2c555..9a5debcf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -94,9 +94,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -144,9 +144,9 @@ } }, "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -448,16 +448,16 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", "dev": true, "license": "ISC" }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", "bin": { @@ -719,9 +719,9 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", "dev": true, "license": "MIT", "dependencies": { @@ -1165,6 +1165,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-abstract-get": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", + "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "is-callable": "^1.2.7", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -1193,9 +1212,9 @@ "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -1235,15 +1254,17 @@ } }, "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.1.tgz", + "integrity": "sha512-CxN9N56HYfd2m/acc/NOFrZQsN9kU4eh+2kk6A707Kz1krH8tKmfrs5RnftB8WNX80T0NS7vSQsDOlg23diR2g==", "dev": true, "license": "MIT", "dependencies": { + "es-abstract-get": "^1.0.0", + "es-errors": "^1.3.0", "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" + "is-date-object": "^1.1.0", + "is-symbol": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -1358,9 +1379,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.13.0.tgz", + "integrity": "sha512-bLohSkT6469rRs8czj0tLTD8vaeIS/whvPRJVjDr7IuoTT1k5DYDERlNycjDj/HkOlvQdYurmfZ/g3fG5bgeLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1430,9 +1451,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -1594,9 +1615,9 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -1872,18 +1893,21 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -1913,9 +1937,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", "dev": true, "license": "MIT", "engines": { @@ -2041,9 +2065,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -2220,9 +2244,9 @@ } }, "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "dev": true, "license": "MIT", "dependencies": { @@ -2414,13 +2438,13 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -2464,6 +2488,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2772,10 +2812,20 @@ "license": "ISC" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -3502,9 +3552,9 @@ } }, "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.1.tgz", + "integrity": "sha512-e0F9AOF1JMrCfBsyJOwU9lNvQ0WtXTq0j/4jk0BQ5JSI9VAybPXmDpPRw/2FQ3e5d3ZFN1mLh7jW99m/jjaptw==", "dev": true, "license": "MIT", "bin": { @@ -3535,9 +3585,9 @@ } }, "node_modules/prettier": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", - "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "version": "3.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz", + "integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==", "dev": true, "license": "MIT", "bin": { @@ -3626,14 +3676,14 @@ } }, "node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", + "is-core-module": "^2.16.2", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", @@ -3807,9 +3857,9 @@ } }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -3892,15 +3942,15 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -4124,19 +4174,20 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4146,16 +4197,16 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.2" }, "engines": { "node": ">= 0.4" @@ -4411,18 +4462,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" }, "engines": { "node": ">= 0.4" @@ -4558,14 +4609,14 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", + "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", @@ -4657,9 +4708,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", - "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", "dev": true, "license": "ISC", "bin": { From b88a7195fbe3b8c21823dba17ca159205bf0a3a9 Mon Sep 17 00:00:00 2001 From: Roma Sosnovsky Date: Wed, 17 Jun 2026 15:59:51 +0300 Subject: [PATCH 2/4] fix core build --- Core/package-lock.json | 18 +++++++++++------- Core/package.json | 2 +- Core/tsconfig.json | 3 +++ .../generated/flowcrypt-ios-prod.js.txt | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Core/package-lock.json b/Core/package-lock.json index 551dbdfb7..9185a88cb 100644 --- a/Core/package-lock.json +++ b/Core/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN ", "dependencies": { - "@openpgp/web-stream-tools": "^0.1.3", + "@openpgp/web-stream-tools": "^0.3.1", "encoding-japanese": "^2.2.0", "openpgp": "^6.2.0", "sanitize-html": "^2.17.4", @@ -129,17 +129,21 @@ } }, "node_modules/@openpgp/web-stream-tools": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@openpgp/web-stream-tools/-/web-stream-tools-0.1.3.tgz", - "integrity": "sha512-mT/ds43cH6c+AO5RFpxs+LkACr7KjC3/dZWHrP6KPrWJu4uJ/XJ+p7telaoYiqUfdjiiIvdNSOfhezW9fkmboQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@openpgp/web-stream-tools/-/web-stream-tools-0.3.1.tgz", + "integrity": "sha512-EV+VQ4Dr8b+JmlGnc74FLgx7EhLyydOr4j6s6Hp+2scQh6sLQMs2h+1oEYUIslXcQPicWKG5ZQx+/dua0dgPWA==", "license": "MIT", "engines": { "node": ">= 18.0.0" }, "peerDependencies": { - "typescript": ">=4.2" + "@types/node": ">=18.0.0", + "typescript": ">=4.7" }, "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, "typescript": { "optional": true } @@ -177,7 +181,7 @@ "version": "22.13.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.6.tgz", "integrity": "sha512-GYmF65GI7417CpZXsEXMjT8goQQDnpRnJnDw6jIYa+le3V/lMazPZ4vZmK1B/9R17fh2VLr2zuy9d/h5xgrLAg==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "undici-types": "~6.20.0" @@ -3326,7 +3330,7 @@ "version": "6.20.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/update-browserslist-db": { diff --git a/Core/package.json b/Core/package.json index a9a25ea8e..8f81d2272 100644 --- a/Core/package.json +++ b/Core/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "description": "TypeScript core for FlowCrypt iOS internal use", "dependencies": { - "@openpgp/web-stream-tools": "^0.1.3", + "@openpgp/web-stream-tools": "^0.3.1", "encoding-japanese": "^2.2.0", "openpgp": "^6.2.0", "sanitize-html": "^2.17.4", diff --git a/Core/tsconfig.json b/Core/tsconfig.json index c8969d552..23fc872d5 100644 --- a/Core/tsconfig.json +++ b/Core/tsconfig.json @@ -17,6 +17,9 @@ "checkJs": false, "outDir": "./build/ts", "baseUrl": "./", + "paths": { + "@openpgp/web-stream-tools": ["node_modules/@openpgp/web-stream-tools/lib/types/v4.7-v5.4/index.d.ts"] + }, "traceResolution": false, "typeRoots": ["./source/core/types/", "./node_modules/@types/"] }, diff --git a/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt b/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt index 8ec3cbf63..abdc42a89 100644 --- a/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt +++ b/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt @@ -20649,7 +20649,7 @@ var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o /* entrypoint-bare starts here */ /*! For license information please see entrypoint-bare.js.LICENSE.txt */ -(()=>{var e={3207(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Att=void 0;const n=r(833),i=r(6471);class s{static attachmentsPattern=/^(((cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc))|(.+\.pgp)|(.+\.gpg)|(.+\.asc)|(noname)|(message)|(PGPMIME version identification)|())$/gm;length=NaN;type;name;url;id;msgId;inline;cid;contentDescription;bytes;treatAsValue;constructor({data:e,type:t,name:r,length:n,url:i,inline:s,id:a,msgId:o,treatAs:c,cid:l,contentDescription:u}){if(void 0===e&&void 0===i&&void 0===a)throw new Error("Att: one of data|url|id has to be set");if(a&&!o)throw new Error("Att: if id is set, msgId must be set too");e?(this.bytes=e,this.length=e.length):this.length=Number(n),this.name=r||"",this.type=t||"application/octet-stream",this.url=i||void 0,this.inline=!!s,this.id=a||void 0,this.msgId=o||void 0,this.treatAsValue=c||void 0,this.cid=l||void 0,this.contentDescription=u||void 0}static keyinfoAsPubkeyAtt=e=>new s({data:n.Buf.fromUtfStr(e.public),type:"application/pgp-keys",name:`0x${e.longid}.asc`});hasData=()=>this.bytes instanceof Uint8Array;setData=e=>{if(this.hasData())throw new Error("Att bytes already set");this.bytes=e};getData=()=>{if(this.bytes instanceof n.Buf)return this.bytes;if(this.bytes instanceof Uint8Array)return new n.Buf(this.bytes);throw new Error("Att has no data set")};treatAs=(e,t=!1)=>{if(this.treatAsValue)return this.treatAsValue;if(["PGPexch.htm.pgp","PGPMIME version identification","Version.txt","PGPMIME Versions Identification"].includes(this.name))return"hidden";if("signature.asc"===this.name||"application/pgp-signature"===this.type){if(e.length>1){const t=i.Str.getFilenameWithoutExtension(this.name);if(e.some(e=>e!==this&&(e.name===t||i.Str.getFilenameWithoutExtension(e.name)===t)))return"hidden"}return"signature"}return this.name||this.type.startsWith("image/")?"msg.asc"===this.name&&this.length<100&&"application/pgp-encrypted"===this.type?"hidden":["message","msg.asc","message.asc","encrypted.asc","encrypted.eml.pgp","Message.pgp"].includes(this.name)||"message"===this.name&&t?"encryptedMsg":this.name.match(/(\.pgp$)|(\.gpg$)|(\.[a-zA-Z0-9]{3,4}\.asc$)/g)?"encryptedFile":this.name.match(/(cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc)$/g)?"privateKey":this.name.match(/^(0|0x)?[A-F0-9]{8}([A-F0-9]{8})?.*\.asc$/g)||this.name.toLowerCase().includes("public")&&this.name.match(/[A-F0-9]{8}.*\.asc$/g)||this.name.match(/\.asc$/)&&this.hasData()&&n.Buf.with(this.getData().subarray(0,100)).toUtfStr().includes("-----BEGIN PGP PUBLIC KEY BLOCK-----")?"publicKey":this.name.match(/\.asc$/)&&this.length<1e5&&!this.inline?"encryptedMsg":"plainFile":this.length<100?"hidden":"encryptedMsg"}}t.Att=s},833(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Buf=void 0;const n=r(178);class i extends Uint8Array{static concat=e=>{const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let r=0;for(const n of e)t.set(n,r),r+=n.length;return i.fromUint8(t)};static with=e=>e instanceof i?e:e instanceof Uint8Array?i.fromUint8(e):i.fromUtfStr(e);static fromUint8=e=>new i(e);static fromRawBytesStr=e=>{const t=e.length,r=new i(t);for(let n=0;n{let t;const r=e.length;let n;const s=[];for(let i=0;i55295&&t<57344){if(!n){if(t>56319){s.push(239,191,189);continue}if(i+1===r){s.push(239,191,189);continue}n=t;continue}if(t<56320){s.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&s.push(239,191,189);if(n=void 0,t<128)s.push(t);else if(t<2048)s.push(t>>6|192,63&t|128);else if(t<65536)s.push(t>>12|224,t>>6&63|128,63&t|128);else{if(!(t<1114112))throw new Error("Invalid code point");s.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return new i(s)};static fromBase64Str=e=>i.fromRawBytesStr((0,n.base64decode)(e));static fromBase64UrlStr=e=>i.fromBase64Str(e.replace(/-/g,"+").replace(/_/g,"/"));toString=(e="inform")=>this.toUtfStr(e);toUtfStr=(e="inform")=>{const t=this.length;let r=0,n="";const i=new Array(t);for(let s=0;s{const e=this.length,t=[];for(let r=0;r(0,n.base64encode)(this.toRawBytesStr());toBase64UrlStr=()=>this.toBase64Str().replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}t.Buf=i},6471(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Value=t.Str=void 0;const n=r(178);class i{static extractErrorMessage=e=>{if("object"==typeof e&&void 0!==e.message)return"string"==typeof e.message?e.message:JSON.stringify(e)};static parseEmail=(e,t="VALIDATE")=>{let r,n;if(e.includes("<")&&e.includes(">")){const t=e.indexOf("<"),i=e.indexOf(">");r=e.substr(t+1,t-i-1).replace(/["']/g,"").trim().toLowerCase(),n=e.substr(0,e.indexOf("<")).replace(/["']/g,"").trim()}else r=e.replace(/["']/g,"").trim().toLowerCase();return"VALIDATE"!==t||i.isEmailValid(r)||(r=void 0),{email:r,name:n,full:e}};static prettyPrint=e=>"object"==typeof e?JSON.stringify(e,void 0,2).replace(/ /g," ").replace(/\n/g,"
"):String(e);static normalizeSpaces=e=>e.replace(RegExp(String.fromCharCode(160),"g"),String.fromCharCode(32));static normalizeDashes=e=>e.replace(/^—–|—–$/gm,"-----");static getFilenameWithoutExtension=e=>e.replace(/\.[^/.]+$/,"");static normalize=e=>i.normalizeSpaces(i.normalizeDashes(e));static isEmailValid=e=>-1===e.indexOf(" ")&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e);static monthName=e=>["January","February","March","April","May","June","July","August","September","October","November","December"][e];static sloppyRandom=(e=5)=>{let t="";for(let r=0;re.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");static asEscapedHtml=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/").replace(/\n/g,"
");static htmlAttrDecode=e=>{try{return JSON.parse(i.base64urlUtfDecode(e))}catch(e){return}};static capitalize=e=>e.trim().split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");static pluralize=(e,t,r="s")=>`${e} ${t}${e>1?r:""}`;static toUtcTimestamp=(e,t=!1)=>t?String(Date.parse(e)):Date.parse(e);static datetimeToDate=e=>e.substring(0,10).replace(/"/g,""").replace(/'/g,"'").replace(/e.toISOString().replace(/T/," ").replace(/:[^:]+$/,"");static base64urlUtfDecode=e=>void 0===e?e:decodeURIComponent(String(Array.prototype.map.call((0,n.base64decode)(e.replace(/-/g,"+").replace(/_/g,"/")),e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join("")))}t.Str=i;class s{static arr={unique:e=>{const t=[];for(const r of e)t.includes(r)||t.push(r);return t},contains:(e,t)=>Boolean(e&&"function"==typeof e.indexOf&&-1!==e.indexOf(t)),sum:e=>e.reduce((e,t)=>e+t,0),average:e=>s.arr.sum(e)/e.length};static obj={keyByValue:(e,t)=>{for(const r of Object.keys(e))if(e[r]===t)return r}}}t.Value=s},9815(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GMAIL_RECOVERY_EMAIL_SUBJECTS=t.BACKEND_API_HOST=t.GOOGLE_CONTACTS_API_HOST=t.GOOGLE_OAUTH_SCREEN_HOST=t.GOOGLE_API_HOST=t.VERSION=void 0,t.VERSION=APP_VERSION,t.GOOGLE_API_HOST="[BUILD_REPLACEABLE_GOOGLE_API_HOST]",t.GOOGLE_OAUTH_SCREEN_HOST="[BUILD_REPLACEABLE_GOOGLE_OAUTH_SCREEN_HOST]",t.GOOGLE_CONTACTS_API_HOST="[BUILD_REPLACEABLE_GOOGLE_CONTACTS_API_HOST]",t.BACKEND_API_HOST="[BUILD_REPLACEABLE_BACKEND_API_HOST]",t.GMAIL_RECOVERY_EMAIL_SUBJECTS=["Your FlowCrypt Backup","Your CryptUp Backup","All you need to know about CryptUP (contains a backup)","CryptUP Account Backup"]},4010(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Mime=void 0;const n=r(6471),i=r(3955),s=r(3207),a=r(833),o=r(7659),c=r(2633),l=r(9545),u=r(1341),h=r(178),f=(0,i.requireMimeParser)(),A=(0,i.requireMimeBuilder)(),d=(0,i.requireIso88592)();class p{static processBody=e=>{const t=[];if(e.text){const r=l.MsgBlockParser.detectBlocks(n.Str.normalize(e.text),!0).blocks;r.find(e=>["pkcs7","encryptedMsg","signedMsg","publicKey","privateKey"].includes(e.type))?t.push(...r):e.html?t.push(c.MsgBlock.fromContent("plainHtml",e.html)):t.push(...r)}else e.html&&t.push(c.MsgBlock.fromContent("plainHtml",e.html));return t};static isBodyEmpty=({text:e,html:t})=>p.isBodyTextEmpty(e)&&p.isBodyTextEmpty(t);static isBodyTextEmpty=e=>!(e&&!/^(\r)?(\n)?$/.test(e));static processAttachments=(e,t)=>{const r=[],n=[];for(const e of t.atts){let i=e.treatAs(t.atts,p.isBodyEmpty(t));if(["needChunk","maybePgp"].includes(i)&&(i="encryptedMsg"),"encryptedMsg"===i){const t=u.PgpArmor.clip(e.getData().toUtfStr());t&&r.push(c.MsgBlock.fromContent("encryptedMsg",t))}else"signature"===i?n.push(e):"publicKey"===i||"privateKey"===i?r.push(...l.MsgBlockParser.detectBlocks(e.getData().toUtfStr(),!0).blocks):"encryptedFile"===i?r.push(c.MsgBlock.fromAtt("encryptedAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),treatAs:e.treatAs(t.atts)})):"plainFile"===i&&r.push(c.MsgBlock.fromAtt("plainAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),inline:e.inline,cid:e.cid}))}if(n.length){const t=n[0].getData().toUtfStr();[...e,...r].some(e=>["plainText","plainHtml","signedMsg"].includes(e.type))||r.push(new c.MsgBlock("signedMsg","",!0,t))}const i=[...e,...r];if(t.signature&&t.signature.includes(u.PgpArmor.ARMOR_HEADER_DICT.signature.begin)&&t.signature.includes(String(u.PgpArmor.ARMOR_HEADER_DICT.signature.end))){for(const e of i)"plainText"===e.type?(e.type="signedMsg",e.signature=t.signature):"plainHtml"===e.type&&(e.type="signedHtml",e.signature=t.signature);i.find(e=>"plainText"===e.type||"plainHtml"===e.type||"signedMsg"===e.type||"signedHtml"===e.type)||i.push(new c.MsgBlock("signedMsg","",!0,t.signature))}return{headers:t.headers,blocks:i,from:t.from,to:t.to,rawSignedContent:t.rawSignedContent}};static processDecoded=e=>{const t=p.processBody(e);return p.processAttachments(t,e)};static process=async e=>{const t=await p.decode(e);return p.processDecoded(t)};static isPlainImgAtt=e=>"plainAtt"===e.type&&e.attMeta&&e.attMeta.type&&["image/jpeg","image/jpg","image/bmp","image/png","image/svg+xml"].includes(e.attMeta.type);static replyHeaders=e=>{const t=String(e.headers["message-id"]||"");return{"in-reply-to":t,references:String(e.headers["in-reply-to"]||"")+" "+t}};static resemblesMsg=e=>{const t=new a.Buf(e.slice(0,1e3)).toUtfStr().toLowerCase(),r=t.match(/content-type: +[0-9a-z\-\/]+/);return!!r&&(!!(t.match(/content-transfer-encoding: +[0-9a-z\-\/]+/)||t.match(/content-disposition: +[0-9a-z\-\/]+/)||t.match(/; boundary=/)||t.match(/; charset=/))||Boolean(0===r.index&&t.match(/boundary=/)))};static decode=async e=>{const t={atts:[],headers:{},subject:void 0,text:void 0,html:void 0,signature:void 0,from:void 0,to:[],cc:[],bcc:[]},r=new f,n={};return r.onbody=e=>{const t=String(e.path.join("."));void 0===n[t]&&(n[t]=e)},await new Promise((i,s)=>{try{r.onend=()=>{try{for(const e of Object.keys(r.node.headers))t.headers[e]=r.node.headers[e][0].value;t.rawSignedContent=p.retrieveRawSignedContent([r.node]);for(const e of Object.values(n))"application/pgp-signature"===p.getNodeType(e)?t.signature=e.rawContent:"text/html"!==p.getNodeType(e)||p.getNodeFilename(e)?"text/plain"!==p.getNodeType(e)||p.getNodeFilename(e)&&!p.isNodeInline(e)?"text/rfc822-headers"===p.getNodeType(e)?e._parentNode&&e._parentNode.headers.subject&&(t.subject=e._parentNode.headers.subject[0].value):t.atts.push(p.getNodeAsAtt(e)):t.text=(t.text?`${t.text}\n\n`:"")+p.getNodeContentAsUtfStr(e):t.html=(t.html||"")+p.getNodeContentAsUtfStr(e);const e=p.headerGetAddress(t,["from","to","cc","bcc"]);t.subject=String(t.subject||t.headers.subject||""),Object.assign(t,e),i(t)}catch(e){s(e)}},r.write(e),r.end()}catch(e){o.Catch.reportErr(e),i(t)}})};static encode=async(e,t,r=[],n)=>{const i=new A("pgpMimeEncrypted"!==n?"multipart/mixed":'multipart/encrypted; protocol="application/pgp-encrypted";',{includeBccInHeader:!0});for(const e of Object.keys(t))i.addHeader(e,t[e]);if(Object.keys(e).length){let t;if(1===Object.keys(e).length)t=p.newContentNode(A,Object.keys(e)[0],e[Object.keys(e)[0]]||"");else{t=new A("multipart/alternative");for(const r of Object.keys(e))t.appendChild(p.newContentNode(A,r,e[r]??""))}i.appendChild(t)}for(const e of r)i.appendChild(p.createAttNode(e));return i.build()};static subjectWithoutPrefixes=e=>e.replace(/^((Re|Fwd): ?)+/g,"").trim();static encodePgpMimeSigned=async(e,t,r=[],i)=>{const o=`SIG_PLACEHOLDER_${n.Str.sloppyRandom(10)}`,c=new A('multipart/signed; protocol="application/pgp-signature";',{includeBccInHeader:!0});for(const e of Object.keys(t))c.addHeader(e,t[e]);const l=new A("multipart/alternative");for(const t of Object.keys(e))l.appendChild(p.newContentNode(A,t,e[t]??""));const u=new A("multipart/mixed");u.appendChild(l);for(const e of r)u.appendChild(p.createAttNode(e));const h=new s.Att({data:a.Buf.fromUtfStr(o),type:"application/pgp-signature",name:"signature.asc"}),f=p.createAttNode(h);c.appendChild(u),c.appendChild(f);const d=c.build(),{rawSignedContent:g}=await p.decode(a.Buf.fromUtfStr(d));if(!g)throw console.log(`mimeStrWithPlaceholderSig(placeholder:${o}):\n${d}`),new Error("Could not find raw signed content immediately after mime-encoding a signed message");const y=await i(g),m=d.replace(a.Buf.fromUtfStr(o).toBase64Str(),a.Buf.fromUtfStr(y).toBase64Str());if(m===d)throw console.log(`pgpMimeSigned(placeholder:${o}):\n${m}`),new Error("Replaced sigPlaceholder with realSignature but mime stayed the same");return m};static headerGetAddress=(e,t)=>{const r={to:[],cc:[],bcc:[]};let i;const s=e=>"string"==typeof e?[e].map(e=>n.Str.parseEmail(e).email).filter(e=>!!e):e.map(e=>e.address),a=e=>n.Str.parseEmail((Array.isArray(e)?(e[0]||{}).address:String(e||""))||"").email;for(const n of t){const t=e.headers[n];t&&("from"===n?i=a(t):r[n]=[...r[n],...s(t)])}return{...r,from:i}};static retrieveRawSignedContent=e=>{for(const t of e){if(!t._childNodes||!t._childNodes.length)continue;const e="signed"===t._isMultipart,r="mixed"===t._isMultipart&&2===t._childNodes.length&&"application/pgp-signature"===p.getNodeType(t._childNodes[1]);if(e||r){let e=t._childNodes[0].raw.replace(/\r?\n/g,"\r\n");return/--$/.test(e)&&(e+="\r\n"),e}return p.retrieveRawSignedContent(t._childNodes)}};static createAttNode=e=>{const t=`${e.type}; name="${e.name}"`,r=`f_${n.Str.sloppyRandom(30)}@flowcrypt`,i={};return e.contentDescription&&(i["Content-Description"]=e.contentDescription),i["Content-Disposition"]=e.inline?"inline":"attachment",i["X-Attachment-Id"]=r,i["Content-ID"]=`<${r}>`,i["Content-Transfer-Encoding"]="base64",new A(t,{filename:e.name}).setHeader(i).setContent(e.getData())};static getNodeType=(e,t="value")=>{if(e.headers["content-type"]&&e.headers["content-type"][0])return e.headers["content-type"][0][t]};static getNodeContentId=e=>{if(e.headers["content-id"]&&e.headers["content-id"][0])return e.headers["content-id"][0].value};static getNodeFilename=e=>{if(e.headers["content-disposition"]&&e.headers["content-disposition"][0]){const t=e.headers["content-disposition"][0];if(t.params&&t.params.filename)return String(t.params.filename)}if(e.headers["content-type"]&&e.headers["content-type"][0]){const t=e.headers["content-type"][0];if(t.params&&t.params.name)return String(t.params.name)}};static isNodeInline=e=>{const t=e.headers["content-disposition"];return t&&t[0]&&"inline"===t[0].value};static fromEqualSignNotationAsBuf=e=>a.Buf.fromRawBytesStr(e.replace(/(=[A-F0-9]{2})+/g,e=>{const t=e.replace(/^=/,"").split("=").map(e=>parseInt(e,16));return new a.Buf(t).toRawBytesStr()}));static getNodeAsAtt=e=>new s.Att({name:p.getNodeFilename(e),type:p.getNodeType(e),data:"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):e.content,cid:p.getNodeContentId(e)});static getNodeContentAsUtfStr=e=>{if(e.charset&&d.labels.includes(e.charset))return d.decode(e.rawContent??"");let t;return t="utf-8"===e.charset&&"base64"===e.contentTransferEncoding.value?a.Buf.fromUint8(e.content):"utf-8"===e.charset&&"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):a.Buf.fromRawBytesStr(e.rawContent??""),"ISO-2022-JP"===e.charset?.toUpperCase()||"utf-8"===e.charset&&p.getNodeType(e,"initial")?.includes("ISO-2022-JP")?(0,h.iso2022jpToUtf)(t):t.toUtfStr()};static newContentNode=(e,t,r)=>{const n=new e(t).setContent(r);return"text/plain"===t&&n.addHeader("Content-Transfer-Encoding","quoted-printable"),n}}t.Mime=p},102(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mnemonic=void 0;const r=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"];t.mnemonic=e=>{if(!e)return;const t=e.split("").map(e=>(e=>{let t=e+"";for(;t.length<4;)t="0"+t;return t})(parseInt(e,16).toString(2))).join("").match(new RegExp(".{1,11}","g"));return(t?.map(e=>parseInt(e,2))??[]).map(e=>r[e].toUpperCase()).join(" ")}},9545(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgBlockParser=void 0;const n=r(2633),i=r(6622),s=r(833),a=r(7659),o=r(4010),c=r(1341),l=r(2365),u=r(9379),h=r(6471);class f{static ARMOR_HEADER_MAX_LENGTH=50;static detectBlocks=(e,t)=>{const r=[],n=h.Str.normalize(e);let i=0;for(;;){const e=f.detectBlockNext(n,i,t);if(e.found&&r.push(...e.found),void 0===e.continueAt)return{blocks:r,normalized:n};if(e.continueAt<=i)return a.Catch.report(`PgpArmordetect_blocks likely infinite loop: r.continue_at(${e.continueAt}) <= start_at(${i})`),{blocks:r,normalized:n};i=e.continueAt}};static fmtDecryptedAsSanitizedHtmlBlocks=async(e,t)=>{const r=[];let a=!1;if(!o.Mime.resemblesMsg(e)){let i=s.Buf.fromUint8(e).toUtfStr();i=u.PgpMsg.extractFcAtts(i,r),i=u.PgpMsg.stripFcTeplyToken(i);const o=[];i=u.PgpMsg.stripPublicKeys(i,o);const c=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(i));return c.verifyRes=t,r.push(c),await f.pushArmoredPubkeysToBlocks(o,r),{blocks:r,subject:void 0,isRichText:a}}const c=await o.Mime.decode(e);if(void 0!==c.html){const e=n.MsgBlock.fromContent("decryptedHtml",i.Xss.htmlSanitizeKeepBasicTags(c.html));e.verifyRes=t,r.push(e),a=!0}else if(void 0!==c.text){const e=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(c.text));e.verifyRes=t,r.push(e)}else n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(s.Buf.with(e).toUtfStr())).verifyRes=t,r.push();for(const e of c.atts)if("publicKey"===e.treatAs(c.atts))await f.pushArmoredPubkeysToBlocks([e.getData().toUtfStr()],r);else{const i=n.MsgBlock.fromAtt("decryptedAtt","",{name:e.name,data:e.getData(),length:e.length,type:e.type});i.verifyRes=t,r.push(i)}return{blocks:r,subject:c.subject,isRichText:a}};static detectBlockNext=(e,t,r)=>{const i=Object.keys(c.PgpArmor.ARMOR_HEADER_DICT),s={found:[]},a=e.indexOf(c.PgpArmor.headers("null").begin,t);if(-1!==a){const o=e.substr(a,f.ARMOR_HEADER_MAX_LENGTH);for(const l of i){const i=c.PgpArmor.ARMOR_HEADER_DICT[l];if(i.replace&&0===o.indexOf(i.begin)){let o="";if(a>t&&(o=e.substring(t,a),!o.endsWith("\n")))continue;let c=-1,u=0;if("string"==typeof i.end)c=e.indexOf(i.end,a+i.begin.length),u=i.end.length;else{const t=e.substring(a).match(i.end);t&&(c=t.index?a+t.index:-1,u=t[0].length)}if(-1!==c||!r){o=o.trim(),o&&s.found.push(n.MsgBlock.fromContent("plainText",o)),-1!==c?(s.found.push(n.MsgBlock.fromContent(l,e.substring(a,c+u).trim())),s.continueAt=c+u):s.found.push(n.MsgBlock.fromContent(l,e.substr(a),!0));break}}}}if(e&&!s.found.length){const r=e.substr(t).trim();r&&s.found.push(n.MsgBlock.fromContent("plainText",r))}return s};static pushArmoredPubkeysToBlocks=async(e,t)=>{for(const r of e){const{keys:e}=await l.PgpKey.parse(r);for(const r of e)t.push(n.MsgBlock.fromKeyDetails("publicKey",r.public,r))}}}t.MsgBlockParser=f},2633(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgBlock=void 0;class r{type;content;complete;signature;keyDetails;attMeta;decryptErr;verifyRes;constructor(e,t,r,n,i,s,a,o){this.type=e,this.content=t,this.complete=r,this.signature=n,this.keyDetails=i,this.attMeta=s,this.decryptErr=a,this.verifyRes=o}static fromContent=(e,t,n=!1)=>new r(e,t,!n);static fromKeyDetails=(e,t,n)=>new r(e,t,!0,void 0,n);static fromAtt=(e,t,n)=>new r(e,t,!0,void 0,void 0,n)}t.MsgBlock=r},1341(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PgpArmor=void 0;const n=r(833),i=r(6471),s=r(6382);class a{static ARMOR_HEADER_DICT={null:{begin:"-----BEGIN",end:"-----END",replace:!1},publicKey:{begin:"-----BEGIN PGP PUBLIC KEY BLOCK-----",end:"-----END PGP PUBLIC KEY BLOCK-----",replace:!0},privateKey:{begin:"-----BEGIN PGP PRIVATE KEY BLOCK-----",end:"-----END PGP PRIVATE KEY BLOCK-----",replace:!0},signedMsg:{begin:"-----BEGIN PGP SIGNED MESSAGE-----",middle:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!0},signature:{begin:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!1},encryptedMsg:{begin:"-----BEGIN PGP MESSAGE-----",end:"-----END PGP MESSAGE-----",replace:!0},encryptedMsgLink:{begin:"This message is encrypted: Open Message",end:/https:(\/|/){2}(cryptup\.org|flowcrypt\.com)(\/|/)[a-zA-Z0-9]{10}(\n|$)/,replace:!0}};static clip=e=>{if(e?.includes(a.ARMOR_HEADER_DICT.null.begin)&&e.includes(String(a.ARMOR_HEADER_DICT.null.end))){const t=e.match(/(-----BEGIN PGP (MESSAGE|SIGNED MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----[^]+-----END PGP (MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----)/gm);return t&&t.length?t[0]:void 0}};static headers=(e,t="string")=>{const r=a.ARMOR_HEADER_DICT[e];return{begin:"string"==typeof r.begin&&"re"===t?r.begin.replace(/ /g,"\\s"):r.begin,end:"string"==typeof r.end&&"re"===t?r.end.replace(/ /g,"\\s"):r.end,replace:r.replace}};static normalize=(e,t)=>{if(e=i.Str.normalize(e).replace(/\n /g,"\n"),["encryptedMsg","publicKey","privateKey","key"].includes(t)){const t=(e=e.replace(/\r?\n/g,"\n").trim()).match(/\n\n/g),r=e.match(/\n\n\n/g),n=e.match(/\n\n\n\n/g),i=e.match(/\n\n\n\n\n\n/g);r&&i&&r.length>1&&1===i.length?e=e.replace(/\n\n\n/g,"\n"):t&&n&&t.length>1&&1===n.length&&(e=e.replace(/\n\n/g,"\n"))}const r=e.split("\n"),n=a.headers("key"===t?"null":t);if(r.length>5&&r[0].includes(n.begin)&&r[r.length-1].includes(String(n.end))&&!r.includes(""))for(let t=1;t<5;t++)if(!r[t].match(/^[a-zA-Z0-9\-_. ]+: .+$/)){if(r[t].match(/^[a-zA-Z0-9\/+]{32,77}$/)){e=`${r.slice(0,t).join("\n")}\n\n${r.slice(t).join("\n")}`;break}break}return e};static cryptoMsgPrepareForDecrypt=async e=>{if(!e.length)throw new Error("Encrypted message could not be parsed because no data was provided");const t=new n.Buf(e.slice(0,100)).toUtfStr("ignore"),r=t.includes(a.headers("encryptedMsg").begin),i=t.includes(a.headers("signedMsg").begin),o=r||i;if(i)return{isArmored:o,isCleartext:!0,message:await(0,s.readCleartextMessage)({cleartextMessage:new n.Buf(e).toUtfStr()})};if(r)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({armoredMessage:new n.Buf(e).toUtfStr()})};if(e instanceof Uint8Array)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({binaryMessage:e})};throw new Error("Message does not have armor headers")}}t.PgpArmor=a},2365(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PgpKey=void 0;const n=r(7659),i=r(1341),s=r(3313),a=r(102),o=r(178),c=r(6382),l=r(8659),u=r(3955),h=r(6471);class f{static create=async(e,t,r)=>{const n=await(0,c.generateKey)({userIDs:e,passphrase:r,format:"armored",curve:"curve25519"===t?"curve25519Legacy":void 0,rsaBits:"curve25519"===t?void 0:"rsa2048"===t?2048:4096});return{public:n.publicKey,private:n.privateKey,revCert:n.revocationCertificate}};static read=async e=>{const t=s.Store.armoredKeyCacheGet(e);if(t)return t;const r=await(0,c.readKey)({armoredKey:e});return r?.isPrivate()&&s.Store.armoredKeyCacheSet(e,r),r};static isPacketPrivate=e=>e instanceof c.SecretKeyPacket||e instanceof c.SecretSubkeyPacket;static validateAllDecryptedPackets=async e=>{for(const t of e.toPacketList().filter(f.isPacketPrivate))t.isDecrypted()&&await t.validate()};static decrypt=async(e,t,r,n)=>{if(!e.isPrivate())throw new Error("Nothing to decrypt in a public key");const i=e.getKeys(r).map(e=>e.keyPacket).filter(f.isPacketPrivate);if(!i.length)throw new Error(`No private key packets selected of${e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate).length} prv packets available`);for(const e of i){if(e.isDecrypted()){if("OK-IF-ALREADY-DECRYPTED"===n)continue;throw new Error("Decryption failed - key packet was already decrypted")}try{await e.decrypt(t),await e.validate()}catch(e){if(e instanceof Error&&e.message.toLowerCase().includes("passphrase"))return!1;throw e}}return!0};static encrypt=async(e,t)=>{if(!t||"undefined"===t||"null"===t)throw new Error(`Encryption passphrase should not be empty:${typeof t}:${t}`);const r=e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate),n=r.filter(e=>!e.isDecrypted()).length;if(!r.length)throw new Error("No private key packets in key to encrypt. Is this a private key?");if(n)throw new Error(`Cannot encrypt a key that has ${n} of ${r.length} private packets still encrypted`);await(0,c.encryptKey)({privateKey:e,passphrase:t})};static normalize=async e=>{try{let t=[];if(e=i.PgpArmor.normalize(e,"key"),RegExp(i.PgpArmor.headers("publicKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("privateKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("encryptedMsg","re").begin).test(e)){const r=await(0,c.readMessage)({armoredMessage:e});t=[new c.PublicKey(r.packets)]}for(const e of t)for(const t of e.users)await f.validateAllDecryptedPackets(e),t.otherCertifications=[];return{normalized:t.map(e=>e.armor()).join("\n"),keys:t}}catch(e){return n.Catch.reportErr(e),{normalized:"",keys:[],error:h.Str.extractErrorMessage(e)}}};static fingerprint=async e=>{if(e)if("string"==typeof e)try{return await f.fingerprint(await f.read(e))}catch(e){return e instanceof Error&&"openpgp is not defined"===e.message&&n.Catch.reportErr(e),void console.error(e)}else{if(!e.keyPacket.getFingerprintBytes())return;try{return e.keyPacket.getFingerprint().toUpperCase()}catch(e){return void console.error(e)}}};static longid=async e=>{if(e)return"string"==typeof e&&8===e.length?(0,o.strToHex)(e).toUpperCase():"string"==typeof e&&40===e.length?e.substr(-16):"string"==typeof e&&49===e.length?e.replace(/ /g,"").substr(-16):await f.longid(await f.fingerprint(e))};static longids=async e=>{const t=[];for(const r of e){const e=await f.longid(r.bytes);e&&t.push(e)}return t};static usable=async(e,t)=>{if(!await f.fingerprint(e))return!1;const r=await(0,c.readKey)({armoredKey:e});return!!r&&(!!await f.keyIsUsable(r,t)||await f.usableButExpired(r,t))};static expired=async e=>{if(!e)return!1;const t=await e.getExpirationTime();if(t===1/0||!t)return!1;if(t instanceof Date)return Date.now()>t.getTime();throw new Error(`Got unexpected value for expiration: ${t}`)};static usableButExpired=async(e,t)=>{if(!e)return!1;if(await f.keyIsUsable(e,t))return!1;const r=await f.dateBeforeExpiration(e);return void 0!==r&&f.keyIsUsable(e,t,r)};static dateBeforeExpiration=async e=>{const t="string"==typeof e?await f.read(e):e,r=await(0,o.getKeyExpirationTimeForCapabilities)(t,"encrypt");if(r instanceof Date&&r.getTime(){const{normalized:t,keys:r,error:n}=await f.normalize(e);return{original:e,normalized:t,keys:await Promise.all(r.map(f.details)),error:n}};static details=async e=>{const t=e.getKeys(),r=e.keyPacket.getAlgorithmInfo(),n={algorithm:r.algorithm,algorithmId:c.enums.publicKey[r.algorithm]};r.bits&&Object.assign(n,{bits:r.bits}),r.curve&&Object.assign(n,{curve:r.curve});const i=e.keyPacket.created.getTime()/1e3,s=await(0,o.getKeyExpirationTimeForCapabilities)(e,"encrypt"),u=s!==1/0&&s?s.getTime()/1e3:void 0,h=await f.lastSig(e)/1e3,A=[];for(const e of t){const t=e.getFingerprint().toUpperCase();if(t){const e=await f.longid(t);if(e){const r=e.substr(-8);A.push({fingerprint:t,longid:e,shortid:r,keywords:(0,a.mnemonic)(e)??""})}}}const d=e.toPublic().armor(),p={public:d,users:e.getUserIDs(),ids:A,algo:n,created:i,expiration:u,lastModified:h,revoked:e.revocationSignatures.length>0,usableForEncryption:await f.usable(d,"encrypt"),usableForSigning:await f.usable(d,"sign")};return e.isPrivate()&&Object.assign(p,{private:e.armor(),isFullyDecrypted:(0,l.isFullyDecrypted)(e),isFullyEncrypted:(0,l.isFullyEncrypted)(e)}),p};static lastSig=async e=>{const t=[];for(const r of e.users){const n={userID:r.userID,userAttribute:r.userAttribute,key:e};for(const i of r.selfCertifications)try{await i.verify(e.keyPacket,c.enums.signature.certGeneric,n),t.push(i)}catch(e){console.log(`PgpKey.lastSig: Skipping self-certification signature because it is invalid: ${String(e)}`)}}for(const r of e.subkeys)try{const e=await r.verify();t.push(e)}catch(e){console.log(`PgpKey.lastSig: Skipping subkey ${r.getKeyID().toHex()} because there is no valid binding signature: ${String(e)}`)}if(t.length>0)return Math.max(...t.map(e=>e.created?e.created.getTime():0));throw new Error("No valid signature found in key")};static revoke=async e=>{await e.isRevoked()||(e=(await(0,c.revokeKey)({key:e,format:"object"})).privateKey);const t=await e.getRevocationCertificate();if(t){if("string"==typeof t)return{key:e,revocationCertificate:t};{const r=await(0,u.requireStreamReadToEnd)();return{key:e,revocationCertificate:await r(t)}}}};static keyIsUsable=async(e,t,r)=>Boolean(await n.Catch.undefinedOnException("encrypt"===t?e.getEncryptionKey(void 0,r):e.getSigningKey(void 0,r)))}t.PgpKey=f},9379(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PgpMsg=t.FormatError=t.DecryptErrTypes=void 0;const n=r(2365),i=r(2633),s=r(6471),a=r(833),o=r(7659),c=r(9545),l=r(1341),u=r(3313),h=r(6382),f=r(8659),A=r(3955);var d;!function(e){e.keyMismatch="key_mismatch",e.usePassword="use_password",e.wrongPwd="wrong_password",e.noMdc="no_mdc",e.badMdc="bad_mdc",e.needPassphrase="need_passphrase",e.format="format",e.other="other"}(d||(t.DecryptErrTypes=d={}));class p extends Error{data;constructor(e,t){super(e),this.data=t}}t.FormatError=p;class g{static type=async({data:e})=>{if(!e||!e.length)return;const t=e[0];if(!(128&~t)){let e=0;if(e=192&~t?(60&t)/4:63&t,Object.values(h.enums.packet).includes(e)){const t=h.enums.packet;return{armored:!1,type:[t.symEncryptedIntegrityProtectedData,t.modificationDetectionCode,t.aeadEncryptedData,t.symmetricallyEncryptedData,t.compressedData].includes(e)?"encryptedMsg":"publicKey"}}}const{blocks:r}=c.MsgBlockParser.detectBlocks(new a.Buf(e.slice(0,50)).toUtfStr().trim());return 1===r.length&&!1===r[0].complete&&["encryptedMsg","privateKey","publicKey","signedMsg"].includes(r[0].type)?{armored:!0,type:r[0].type}:void 0};static sign=async(e,t,r=!1)=>{const n=await(0,h.createCleartextMessage)({text:t});return await(0,h.sign)({message:n,signingKeys:e,detached:r,format:"armored"})};static verify=async(e,t)=>{const r={match:null};try{const i=Array.isArray(e)?e:await e.verify(t);for(const e of i)r.signer||(r.signer=await n.PgpKey.longid(e.keyID.bytes)),r.match=(!0===r.match||null===r.match)&&await e.verified}catch(e){r.match=null,e instanceof Error&&"Can only verify message with one literal data packet."===e.message?r.error="FlowCrypt is not equipped to verify this message (err 101)":(r.error=e.message,o.Catch.reportErr(e))}return r};static verifyDetached=async({plaintext:e,sigText:t,verificationPubkeys:r})=>{const n=await(0,h.createMessage)({text:a.Buf.fromUint8(e).toUtfStr()});await n.appendSignature(a.Buf.fromUint8(t).toUtfStr());const i=await g.getSortedKeys([],n);if(r)for(const e of r){const t=await(0,h.readKeys)({armoredKeys:e});i.forVerification.push(...t)}return await g.verify(n,i.forVerification)};static decrypt=async({kisWithPp:e,encryptedData:t,msgPwd:r,verificationPubkeys:n})=>{let i;const s={message:[],matching:[],chosen:[],needPassphrase:[]};try{i=await l.PgpArmor.cryptoMsgPrepareForDecrypt(t)}catch(e){return{success:!1,error:{type:d.format,message:String(e)},longids:s}}const o=await g.getSortedKeys(e,i.message,n);s.message=o.encryptedFor,s.matching=o.prvForDecrypt.map(e=>e.longid),s.chosen=o.prvForDecryptDecrypted.map(e=>e.longid),s.needPassphrase=o.prvForDecryptWithoutPassphrases.map(e=>e.longid);const c=!i.isCleartext;if(!c){const e=await g.verify(i.message,o.forVerification),t=await(0,A.requireStreamReadToEnd)(),r=await t(i.message.getText()??"");return{success:!0,content:a.Buf.fromUtfStr(r),isEncrypted:c,signature:e}}if(!o.prvMatching.length&&!r)return{success:!1,error:{type:d.keyMismatch,message:"Missing appropriate key"},message:i.message,longids:s,isEncrypted:c};if(!o.prvForDecryptDecrypted.length&&!r)return{success:!1,error:{type:d.needPassphrase,message:"Missing pass phrase"},message:i.message,longids:s,isEncrypted:c};try{const e=i.message.packets,t=e.filterByTag(h.enums.packet.symEncryptedSessionKey).length>0,l=e.filterByTag(h.enums.packet.publicKeyEncryptedSessionKey).length>0;if(t&&!l&&!r)return{success:!1,error:{type:d.usePassword,message:"Use message password"},longids:s,isEncrypted:c};const u=r?[r]:void 0,f=o.prvForDecryptDecrypted.map(e=>e.decrypted),p=await i.message.decrypt(f,u);await g.cryptoMsgGetSignedBy(p,o),await g.populateKeysForVerification(o,n);const y=o.signedBy.length?await p.verify(o.forVerification):void 0,m=await(0,A.requireStreamReadToEnd)(),w=new a.Buf(await m(p.getLiteralData())),b=y?await g.verify(y,[]):void 0;if(!i.isCleartext&&i.message.packets.filterByTag(h.enums.packet.symmetricallyEncryptedData).length){const e="Security threat!\n\nMessage is missing integrity checks (MDC). The sender should update their outdated software and resend.";return{success:!1,content:w,error:{type:d.noMdc,message:e},message:i.message,longids:s,isEncrypted:c}}return{success:!0,content:w,isEncrypted:c,filename:p.getFilename()||void 0,signature:b}}catch(e){return{success:!1,error:g.cryptoMsgDecryptCategorizeErr(e,r),message:i.message,longids:s,isEncrypted:c}}};static encrypt=async({pubkeys:e,signingPrv:t,pwd:r,data:n,filename:i,armor:s,date:a})=>{if(!e&&!r)throw new Error("no-pubkeys-no-challenge");const o=await(0,h.createMessage)({binary:n,filename:i,date:a}),c=[];for(const t of e){const e=await(0,h.readKeys)({armoredKeys:t});c.push(...e)}const l={message:o,date:a,encryptionKeys:c,passwords:r?[r]:void 0,signingKeys:t&&t.isPrivate()?t:void 0};return s||Object.assign(l,{format:"binary"}),await(0,h.encrypt)(l)};static extractFcAtts=(e,t)=>(e.includes('class="cryptup_file"')&&(e=e.replace(/[^<]+<\/a>\n?/gm,(e,r,n)=>{const a=s.Str.htmlAttrDecode(String(n));return g.isFcAttLinkData(a)&&t.push(i.MsgBlock.fromAtt("encryptedAttLink","",{type:a.type,name:a.name,length:a.size,url:String(r)})),""})),e);static stripFcTeplyToken=e=>e.replace(/]+class="cryptup_reply"[^>]+><\/div>/,"");static stripPublicKeys=(e,t)=>{let{blocks:r,normalized:n}=c.MsgBlockParser.detectBlocks(e);for(const e of r)if("publicKey"===e.type){const r=e.content.toString();t.push(r),n=n.replace(r,"")}return n};static isFcAttLinkData=e=>e&&"object"==typeof e&&void 0!==e.name&&void 0!==e.size&&void 0!==e.type;static cryptoMsgGetSignedBy=async(e,t)=>{t.signedBy=s.Value.arr.unique(await n.PgpKey.longids(e.getSigningKeyIDs?e.getSigningKeyIDs():[]))};static populateKeysForVerification=async(e,t)=>{if(void 0!==t){e.forVerification=[];for(const r of t){const t=await(0,h.readKeys)({armoredKeys:r});e.forVerification.push(...t)}}};static getSortedKeys=async(e,t,r)=>{const i={forVerification:[],encryptedFor:[],signedBy:[],prvMatching:[],prvForDecrypt:[],prvForDecryptDecrypted:[],prvForDecryptWithoutPassphrases:[]},s=t instanceof h.Message?t.getEncryptionKeyIDs():[];if(i.encryptedFor=await n.PgpKey.longids(s),await g.cryptoMsgGetSignedBy(t,i),await g.populateKeysForVerification(i,r),i.encryptedFor.length){for(const t of e){t.parsed=await n.PgpKey.read(t.private);for(const e of await Promise.all(t.parsed.getKeyIDs().map(({bytes:e})=>n.PgpKey.longid(e))))if(i.encryptedFor.includes(e)){i.prvMatching.push(t);break}}i.prvForDecrypt=i.prvMatching}else i.prvForDecrypt=[];for(const e of i.prvForDecrypt){if(!e.parsed||!e.passphrase)continue;const t=g.matchingKeyids(e.parsed,s),r=u.Store.decryptedKeyCacheGet(e.longid);r&&g.isKeyDecryptedFor(r,t)?(e.decrypted=r,i.prvForDecryptDecrypted.push(e)):g.isKeyDecryptedFor(e.parsed,t)||!0===await g.decryptKeyFor(e.parsed,e.passphrase,t)?(u.Store.decryptedKeyCacheSet(e.parsed),e.decrypted=e.parsed,i.prvForDecryptDecrypted.push(e)):i.prvForDecryptWithoutPassphrases.push(e)}return i};static matchingKeyids=(e,t)=>{const r=(t||[]).map(e=>e.bytes);return e.getKeyIDs().filter(e=>r.includes(e.bytes))};static decryptKeyFor=async(e,t,r)=>{if(!r.length)return await n.PgpKey.decrypt(e,t,void 0,"OK-IF-ALREADY-DECRYPTED");for(const i of r)if(!await n.PgpKey.decrypt(e,t,i,"OK-IF-ALREADY-DECRYPTED"))return!1;return!0};static isKeyDecryptedFor=(e,t)=>!!(0,f.isFullyDecrypted)(e)||!(0,f.isFullyEncrypted)(e)&&!!t.length&&t.filter(t=>(0,f.isPacketDecrypted)(e,t)).length===t.length;static cryptoMsgDecryptCategorizeErr=(e,t)=>{const r=String(e).replace("Error: ","").replace("Error decrypting message: ","");return["Cannot read property 'isDecrypted' of null","privateKeyPacket is null","TypeprivateKeyPacket is null","Session key decryption failed.","Invalid session key for decryption."].includes(r)&&!t?{type:d.keyMismatch,message:r}:t&&["Invalid enum value.","CFB decrypt: invalid key","Session key decryption failed."].includes(r)?{type:d.wrongPwd,message:r}:"Decryption failed due to missing MDC in combination with modern cipher."===r||"Decryption failed due to missing MDC."===r?{type:d.noMdc,message:r}:"Decryption error"===r?{type:d.format,message:r}:"Modification detected."===r?{type:d.badMdc,message:"Security threat - opening this message is dangerous because it was modified in transit."}:{type:d.other,message:r}}}t.PgpMsg=g},5261(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PgpPwd=void 0;class r{static CRACK_GUESSES_PER_SECOND=8e7;static CRACK_TIME_WORDS_PWD=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"perfect",bar:95,color:"green",pass:!0},{match:"year",word:"great",bar:80,color:"orange",pass:!0},{match:"month",word:"good",bar:70,color:"darkorange",pass:!0},{match:"week",word:"good",bar:30,color:"darkred",pass:!0},{match:"day",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"hour",word:"bare minimum",bar:20,color:"darkred",pass:!0},{match:"minute",word:"poor",bar:15,color:"red",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static CRACK_TIME_WORDS_PASS_PHRASE=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"great",bar:80,color:"green",pass:!0},{match:"year",word:"good",bar:60,color:"orange",pass:!0},{match:"month",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"week",word:"poor",bar:30,color:"darkred",pass:!1},{match:"day",word:"poor",bar:20,color:"darkred",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static estimateStrength=(e,t="passphrase")=>{const n=e/r.CRACK_GUESSES_PER_SECOND;for(const e of"pwd"===t?r.CRACK_TIME_WORDS_PWD:r.CRACK_TIME_WORDS_PASS_PHRASE){const t=r.readableCrackTime(n);if(t.includes(e.match))return{word:e,seconds:Math.round(n),time:t}}throw Error("(thrown) estimate_strength: got to end without any result")};static weakWords=()=>["crypt","up","cryptup","flow","flowcrypt","encryption","pgp","email","set","backup","passphrase","best","pass","phrases","are","long","and","have","several","words","in","them","Best pass phrases are long","have several words","in them","bestpassphrasesarelong","haveseveralwords","inthem","Loss of this pass phrase","cannot be recovered","Note it down","on a paper","lossofthispassphrase","cannotberecovered","noteitdown","onapaper","setpassword","set password","set pass word","setpassphrase","set pass phrase","set passphrase"];static readableCrackTime=e=>{const t=e=>e>1?"s":"";e=Math.round(e);const r=Math.round(e/31104e8);if(r)return 1===r?"a millennium":"millennia";const n=Math.round(e/31104e5);if(n)return 1===n?"a century":"centuries";const i=Math.round(e/31104e3);if(i)return i+" year"+t(i);const s=Math.round(e/2592e3);if(s)return s+" month"+t(s);const a=Math.round(e/604800);if(a)return a+" week"+t(a);const o=Math.round(e/86400);if(o)return o+" day"+t(o);const c=Math.round(e/3600);if(c)return c+" hour"+t(c);const l=Math.round(e/60);if(l)return l+" minute"+t(l);const u=e%60;return u?u+" second"+t(u):"less than a second"}}t.PgpPwd=r},8659(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPacketDecrypted=t.isFullyEncrypted=t.isFullyDecrypted=void 0;const n=r(2365),i=r(9815),s=r(6382);s.config.versionString=`FlowCrypt ${i.VERSION} Gmail Encryption`,s.config.commentString="Seamlessly send and receive encrypted email",s.config.allowUnauthenticatedMessages=!0,s.config.allowUnauthenticatedStream=!0;const a=e=>{if(!e.isPrivate())throw new Error("Cannot check encryption status of secret keys in a Public Key");const t=e.getKeys().map(e=>e.keyPacket).filter(n.PgpKey.isPacketPrivate);if(!t.length)throw new Error("This key has no private packets. Is it a Private Key?");const r=t.filter(e=>!e.isDummy());if(!r.length)throw new Error("This key only has a gnu-dummy private packet, with no actual secret keys.");return r};t.isFullyDecrypted=e=>a(e).every(e=>!0===e.isDecrypted()),t.isFullyEncrypted=e=>a(e).every(e=>!1===e.isDecrypted()),t.isPacketDecrypted=(e,t)=>{if(!e.isPrivate())throw new Error("Cannot check packet encryption status of secret key in a Public Key");if(!t)throw new Error("No KeyID provided to isPacketDecrypted");const[r]=e.getKeys(t);if(!r)throw new Error("KeyID not found in Private Key");return!0===r.keyPacket.isDecrypted()}},9033(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSigningPrv=t.Endpoints=void 0;const n=r(1592),i=r(9379),s=r(2365),a=r(4010),o=r(3207),c=r(833),l=r(9545),u=r(5261),h=r(3313),f=r(6471),A=r(9815),d=r(6364),p=r(6622),g=r(6382);t.Endpoints=class{version=async()=>(0,n.fmtRes)({app_version:A.VERSION});setClientConfiguration=async e=>{const{shouldHideArmorMeta:t}=d.ValidateInput.setClientConfiguration(e);return g.config.showVersion=!t,g.config.showComment=!t,(0,n.fmtRes)({})};generateKey=async e=>{h.Store.keyCacheWipe();const{passphrase:t,userIds:r,variant:i}=d.ValidateInput.generateKey(e);if(t.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const a=await s.PgpKey.create(r,i,t);return(0,n.fmtRes)({key:await s.PgpKey.details(await s.PgpKey.read(a.private))})};composeEmail=async e=>{const r=d.ValidateInput.composeEmail(e),s={to:r.to,from:r.from,subject:r.subject,cc:r.cc,bcc:r.bcc};if(r.replyToMsgId&&(s["in-reply-to"]=r.replyToMsgId,s.references=[r.inReplyTo,r.replyToMsgId].filter(e=>!!e).join(" ")),"plain"===r.format){const e=(r.atts||[]).map(({name:e,type:t,base64:r})=>new o.Att({name:e,type:t,data:c.Buf.fromBase64Str(r)})),t={"text/plain":r.text};return r.html&&(t["text/html"]=r.html),(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode(t,s,e)))}if("encryptInline"===r.format){const e=[];for(const t of r.atts||[])if("application/pgp-keys"===t.type)e.push(new o.Att({name:t.name,type:t.type,data:c.Buf.fromBase64Str(t.base64)}));else{const n=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.fromBase64Str(t.base64),filename:t.name,armor:!1});e.push(new o.Att({name:`${t.name}.pgp`,type:"application/pgp-encrypted",data:n}))}const l=await(0,t.getSigningPrv)(r),u=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,signingPrv:l,data:c.Buf.fromUtfStr(r.text),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode({"text/plain":u},s,e)))}throw new Error(`Unknown format: ${r.format}`)};encryptMsg=async(e,t)=>{const r=d.ValidateInput.encryptMsg(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,pwd:r.msgPwd,data:c.Buf.concat(t),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(s))};encryptFile=async(e,t)=>{const r=d.ValidateInput.encryptFile(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.concat(t),filename:r.name,armor:!1});return(0,n.fmtRes)({},s)};sanitizeHtml=async e=>{const{html:t}=d.ValidateInput.sanitizeHtml(e),r=p.Xss.htmlSanitizeKeepBasicTags(t);return(0,n.fmtRes)({sanitizedHtml:r})};parseDecryptMsg=async(e,t)=>{const{keys:r,msgPwd:o,isMime:u,verificationPubkeys:h}=d.ValidateInput.parseDecryptMsg(e),A=[];let g,y;if(u){const{blocks:e,rawSignedContent:r,headers:n}=await a.Mime.process(c.Buf.concat(t));y=String(n.subject),g=r,A.push(...e)}else{const{blocks:e}=l.MsgBlockParser.detectBlocks(c.Buf.concat(t).toString());A.push(...e)}const m=[];for(const e of A)if("signedMsg"!==e.type&&"signedHtml"!==e.type||!e.signature)if("encryptedMsg"===e.type||"signedMsg"===e.type){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.content),verificationPubkeys:h});if(t.success)if(t.isEncrypted){const e=await l.MsgBlockParser.fmtDecryptedAsSanitizedHtmlBlocks(t.content,t.signature);m.push(...e.blocks),y=e.subject||y}else m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(t.content.toUtfStr()),complete:!0,verifyRes:t.signature});else delete t.message,m.push({type:"decryptErr",content:t.error.type===i.DecryptErrTypes.noMdc?t.content?.toUtfStr()??"":e.content.toString(),decryptErr:t,complete:!0})}else if("encryptedAtt"===e.type&&e.attMeta&&/^(0x)?[A-Fa-f0-9]{16,40}\.asc\.pgp$/.test(e.attMeta.name||"")){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.attMeta.data||""),verificationPubkeys:h});t.content?m.push({type:"publicKey",content:t.content.toString(),complete:!0}):m.push(e)}else m.push(e);else{const t=await i.PgpMsg.verifyDetached({sigText:c.Buf.fromUtfStr(e.signature),plaintext:c.Buf.with(g||e.content),verificationPubkeys:h});"signedHtml"===e.type?m.push({type:"verifiedMsg",content:p.Xss.htmlSanitizeKeepBasicTags(e.content.toString()),verifyRes:t,complete:!0}):m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(e.content.toString()),verifyRes:t,complete:!0})}const w=[],b=[];let E="plain";for(const e of m)if(e.content instanceof c.Buf?e.content=(0,n.isContentBlock)(e.type)?e.content.toUtfStr():e.content.toRawBytesStr():e.attMeta&&e.attMeta.data instanceof Uint8Array&&(e.attMeta.data=c.Buf.fromUint8(e.attMeta.data).toBase64Str()),e.decryptErr?.content instanceof c.Buf&&(e.decryptErr.content=e.decryptErr.content.toUtfStr()),"decryptedHtml"!==e.type&&"decryptedText"!==e.type&&"decryptedAtt"!==e.type||(E="encrypted"),"publicKey"===e.type)if(e.keyDetails)b.push(e);else{const{keys:t}=await s.PgpKey.normalize(e.content);if(t.length)for(const e of t)b.push({type:"publicKey",content:e.armor(),complete:!0,keyDetails:await s.PgpKey.details(e)});else b.push({type:"decryptErr",content:e.content,complete:!0,decryptErr:{success:!1,error:{type:i.DecryptErrTypes.format,message:"Badly formatted public key"},longids:{message:[],matching:[],chosen:[],needPassphrase:[]}}})}else(0,n.isContentBlock)(e.type)||a.Mime.isPlainImgAtt(e)?w.push(e):b.push(e);const{contentBlock:v,text:k}=(0,n.fmtContentBlock)(w);b.unshift(v);const I=c.Buf.fromUtfStr(b.map(e=>JSON.stringify(e,(e,t)=>"content"===e&&t.length>1e5?"":t)).join("\n")),B={text:k,replyType:E};return y&&Object.assign(B,{subject:y}),(0,n.fmtRes)(B,I)};parseAttachmentType=async e=>{const{atts:t}=d.ValidateInput.parseAttachmentType(e),r=t.map(e=>{const t=new o.Att(e);return{id:t.id,treatAs:t.treatAs([t])}});return(0,n.fmtRes)({atts:r})};decryptFile=async(e,t,r)=>{const{keys:s,msgPwd:a}=d.ValidateInput.decryptFile(e),o=await i.PgpMsg.decrypt({kisWithPp:s,encryptedData:c.Buf.concat(t),msgPwd:a,verificationPubkeys:r});return o.success?(0,n.fmtRes)({decryptSuccess:{name:o.filename||""}},o.content):(delete o.message,delete o.content,(0,n.fmtRes)({decryptErr:o}))};zxcvbnStrengthBar=async e=>{const t=d.ValidateInput.zxcvbnStrengthBar(e);if("passphrase"===t.purpose){if("number"==typeof t.guesses)return(0,n.fmtRes)(u.PgpPwd.estimateStrength(t.guesses));if("string"==typeof t.value){if("function"!=typeof window.zxcvbn)throw new Error("window.zxcvbn missing in js");const e=window.zxcvbn(t.value,u.PgpPwd.weakWords()).guesses;return(0,n.fmtRes)(u.PgpPwd.estimateStrength(e))}throw new Error("Unexpected format: guesses is not a number, value is not a string")}throw new Error(`Unknown purpose: ${t.purpose}`)};parseKeys=async(e,t)=>{const r=[],a=c.Buf.concat(t),o=await i.PgpMsg.type({data:a});if(!o)return(0,n.fmtRes)({format:"unknown",keyDetails:r});if(o.armored){const{blocks:e}=l.MsgBlockParser.detectBlocks(a.toString());for(const t of e){const{keys:e}=await s.PgpKey.parse(t.content.toString());r.push(...e)}for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"armored",keyDetails:r})}const u=await(0,g.readKeys)({binaryKeys:a});for(const e of u)r.push(await s.PgpKey.details(e));for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"binary",keyDetails:r})};isEmailValid=async e=>{const{email:t}=d.ValidateInput.isEmailValid(e);return(0,n.fmtRes)({valid:f.Str.isEmailValid(t)})};decryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrases:r}=d.ValidateInput.decryptKey(e);if(1!==r.length)throw new Error(`decryptKey: Can only accept exactly 1 pass phrase for decrypt, received: ${r.length}`);const i=await(0,d.readArmoredKeyOrThrow)(t);return await s.PgpKey.decrypt(i,r[0])?(0,n.fmtRes)({decryptedKey:i.armor()}):(0,n.fmtRes)({decryptedKey:void 0})};encryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrase:r}=d.ValidateInput.encryptKey(e),i=await(0,d.readArmoredKeyOrThrow)(t);if(!r||r.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const s=await(0,g.encryptKey)({privateKey:i,passphrase:r});return(0,n.fmtRes)({encryptedKey:s.armor()})};verifyKey=async e=>{const{armored:t}=d.ValidateInput.verifyKey(e),r=await(0,g.readKey)({armoredKey:t});return await r.verifyPrimaryKey(),(0,n.fmtRes)({})};keyCacheWipe=async()=>(h.Store.keyCacheWipe(),(0,n.fmtRes)({}))},t.getSigningPrv=async e=>{if(!e.signingPrv)return;const t=await(0,d.readArmoredKeyOrThrow)(e.signingPrv.private);if(await s.PgpKey.decrypt(t,e.signingPrv.passphrase||""))return t;throw new Error("Fail to decrypt signing key")}},1592(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeUndefinedValues=t.fmtErr=t.fmtRes=t.fmtContentBlock=t.stripHtmlRootTags=t.isContentBlock=void 0;const n=r(2633),i=r(4010),s=r(6471),a=r(6622);t.isContentBlock=e=>"plainText"===e||"decryptedText"===e||"plainHtml"===e||"decryptedHtml"===e||"signedMsg"===e||"verifiedMsg"===e;const o=(e,t)=>{let r;return r="green"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #31A217;border-right: none;' +\n 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAh1BMVEXw8PD////w8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD7MuHIAAAALXRSTlMAAAECBAcICw4QEhUZIyYqMTtGTV5kdn2Ii5mfoKOqrbG0uL6/xcnM0NTX2t1l7cN4AAAB0UlEQVR4Ae3Y3Y4SQRCG4bdHweFHRBTBH1FRFLXv//qsA8kmvbMdXhh2Q0KfknpSCQc130c67s22+e9+v/+d84fxkSPH0m/+5P9vN7vRV0vPfx7or1NB23e99KAHuoXOOc6moQsBwNN1Q9g4Wdh1uq3MA7Qn0+2ylAt7WbWpyT+Wo8roKH6v2QhZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2gjZ2AUNOLmwgQdogEJ2dnF3UJdU3WjqO/u96aYtVd/7jqvIyu76G5se6GaY7tNNcy5d7se7eWVnDz87fMkuVuS8epF6f9NPObPY5re9y4N1/vya9Gr3se2bfvl9M0mkyZdv077p+a/3z4Meby5Br4NWiV51BaiUqfLro9I3WiR61RVcffwfXI7u5zZ20EOA82Uu8x3SlrSwXQuBSvSqK0AletUVoBK96gpIwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWckIletUVIJJxITN6wtZd2EI+0NquyIJOnUpFVvRpcwmV6FVXgEr0qitAJXrVFaASveoKUIledQWoRK+6AlSiV13BP+/VVbky7Xq1AAAAAElFTkSuQmCC);":"red"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #d14836;border-right: none;":"plain"===t?"border: none;":"border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;",`
${a.Xss.htmlSanitizeKeepBasicTags(e)}
\x3c!-- next MsgBlock --\x3e\n`};t.stripHtmlRootTags=e=>(e=(e=(e=e.replace(/<\/?html[^>]*>/g,"")).replace(/]*>.*<\/head>/g,"")).replace(/<\/?body[^>]*>/g,"")).trim();const c=(e,t)=>e.replace(/src="cid:([^"]+)"/g,(e,r)=>{const n=t[r];if(n){const e=`src="data:${n.attMeta?.type};base64,${n.attMeta?.data}"`;return delete t[r],e}return e});t.fmtContentBlock=e=>{const r=[],l=[],u=e.filter(e=>!i.Mime.isPlainImgAtt(e)),h=[],f={};for(const t of e.filter(e=>i.Mime.isPlainImgAtt(e)))t.attMeta?.cid?f[t.attMeta.cid.replace(/>$/,"").replace(/^0&&p!==u.length&&(A.partial=!0));for(const e of h.concat(Object.values(f))){const t=`${e.attMeta?.name||"(unnamed image)"} - ${e.attMeta?.length??0}kb`,n=`${a.Xss.escape(t)} `;r.push(o(n,"plain")),l.push(`[image: ${t}]\n`)}const g=n.MsgBlock.fromContent("plainHtml",`\n \n \n \n \n \n ${r.join("")}\n `);return g.verifyRes=A,{contentBlock:g,text:l.join("").trim()}},t.fmtRes=(e,t)=>({json:e,data:t||new Uint8Array(0)}),t.fmtErr=e=>(0,t.fmtRes)({error:{message:String(e),stack:e&&"object"==typeof e&&e.stack||""}}),t.removeUndefinedValues=e=>{for(const t in e)void 0===e[t]&&delete e[t]}},6364(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readArmoredKeyOrThrow=t.ValidateInput=void 0;const n=r(6382);t.ValidateInput=class{static setClientConfiguration=e=>{if(i(e)&&s(e,"shouldHideArmorMeta","boolean?"))return e;throw new Error("Wrong request structure for NodeRequest.setClientConfiguration")};static generateKey=e=>{if(i(e)&&s(e,"userIds","Userid[]")&&e.userIds.length&&s(e,"passphrase","string")&&["rsa2048","rsa4096","curve25519"].includes(e.variant))return e;throw new Error("Wrong request structure for NodeRequest.generateKey")};static encryptMsg=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.encryptMsg")};static composeEmail=e=>{if(!(i(e)&&s(e,"text","string")&&s(e,"html","string?")&&s(e,"from","string")&&s(e,"subject","string")&&s(e,"to","string[]")&&s(e,"cc","string[]")&&s(e,"bcc","string[]")))throw new Error("Wrong request structure for NodeRequest.composeEmail, need: text,from,subject,to,cc,bcc,atts (can use empty arr for cc/bcc, and can skip atts)");if(!s(e,"atts","ComposeAttachment[]?"))throw new Error("Wrong atts structure for NodeRequest.composeEmail, need: {name, type, base64}");if(s(e,"pubKeys","string[]")&&s(e,"signingPrv","PrvKeyInfo?")&&e.pubKeys.length&&("encryptInline"===e.format||"encryptPgpmime"===e.format))return e;if(!e.pubKeys&&"plain"===e.format)return e;throw new Error("Wrong choice of pubKeys and format. Either pubKeys:[..]+format:encryptInline OR format:plain allowed")};static parseDecryptMsg=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?")&&s(e,"isMime","boolean?")&&s(e,"verificationPubkeys","string[]?"))return e;throw new Error("Wrong request structure for NodeRequest.parseDecryptMsg")};static sanitizeHtml=e=>{if(i(e)&&s(e,"html","string"))return e;throw new Error("Wrong request structure for NodeRequest.sanitizeHtml")};static encryptFile=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"name","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptFile")};static parseAttachmentType=e=>{if(i(e)&&s(e,"atts","Attachment[]"))return e;throw new Error("Wrong request structure for NodeRequest.parseAttachmentType")};static decryptFile=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.decryptFile")};static zxcvbnStrengthBar=e=>{if(i(e)&&s(e,"guesses","number")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;if(i(e)&&s(e,"value","string")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;throw new Error("Wrong request structure for NodeRequest.zxcvbnStrengthBar")};static isEmailValid=e=>{if(i(e)&&s(e,"email","string"))return e;throw new Error("Wrong request structure for NodeRequest.isEmailValid")};static decryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrases","string[]"))return e;throw new Error("Wrong request structure for NodeRequest.decryptKey")};static encryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrase","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptKey")};static verifyKey=e=>{if(i(e)&&s(e,"armored","string"))return e;throw new Error("Wrong request structure for NodeRequest.verifyKey")}};const i=e=>!!e&&"object"==typeof e,s=(e,t,r)=>{if(!i(e))return!1;const n=e[t];return"number"===r||"string"===r?typeof n===r:"boolean?"===r?"boolean"==typeof n||void 0===n:"string?"===r?null===n?(e[t]=void 0,!0):"string"==typeof n||void 0===n:"ComposeAttachment[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"type","string")&&s(e,"base64","string")).length===n.length:"Attachment[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"id","string")&&s(e,"msgId","string")&&s(e,"name","string")&&s(e,"type","string?")).length===n.length:"string[]"===r?Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"string[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"PrvKeyInfo?"===r?null===n?(e[t]=void 0,!0):void 0===n||s(n,"private","string")&&s(n,"longid","string")&&s(n,"passphrase","string?"):"PrvKeyInfo[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"private","string")&&s(e,"longid","string")&&s(e,"passphrase","string?")).length===n.length:"Userid[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"email","string")).length===n.length:"object"===r&&i(n)};t.readArmoredKeyOrThrow=async e=>{const t=await(0,n.readKey)({armoredKey:e});if(!t)throw new Error("No key found");return t}},7659(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Catch=void 0,t.Catch=class{static reportErr=e=>{console.error(e)};static report=(e,t)=>{console.error(e,t)};static undefinedOnException=async e=>{try{return await e}catch(e){return}}}},3955(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.requireIso88592=t.requireMimeBuilder=t.requireMimeParser=t.requireStreamReadToEnd=void 0,t.requireStreamReadToEnd=async()=>"not node"===(globalThis.process?.release?.name||"not node")?(await Promise.resolve().then(()=>r(9275))).readToEnd:r(1558).readToEnd,t.requireMimeParser=()=>r.g["emailjs-mime-parser"],t.requireMimeBuilder=()=>r.g["emailjs-mime-builder"],t.requireIso88592=()=>r.g.iso88592},3313(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Store=void 0;const n=r(178);let i,s={};class a{static decryptedKeyCacheSet=e=>{a.keyCacheRenewExpiry(),s[(e=>(0,n.strToHex)(e.getKeyID().bytes).toUpperCase())(e)]=e};static decryptedKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static armoredKeyCacheSet=(e,t)=>{a.keyCacheRenewExpiry(),s[e]=t};static armoredKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static keyCacheWipe=()=>{s={}};static keyCacheRenewExpiry=()=>{i&&clearTimeout(i),i=setTimeout(a.keyCacheWipe,12e4)}}t.Store=a},178(e,t,r){"use strict";var n=r(8969);Object.defineProperty(t,"__esModule",{value:!0}),t.getKeyExpirationTimeForCapabilities=t.strToHex=t.iso2022jpToUtf=t.base64decode=t.base64encode=void 0;const i=r(8287);t.base64encode=e=>i.Buffer.from(e,"binary").toString("base64"),t.base64decode=e=>i.Buffer.from(e,"base64").toString("binary"),t.iso2022jpToUtf=e=>n.convert(e,{to:"UTF8",from:"JIS",type:"string"}),t.strToHex=e=>{if(null===e)return"";const t=[],r=e.length;let n,i=0;for(;i{let t=null;for(const r of e)(null===t||null!==r&&r>t)&&(t=r);return t},a=e=>{const t=s(e.bindingSignatures.map(e=>e.created));return e.bindingSignatures.filter(e=>e.created===t)[0].getExpirationTime()};t.getKeyExpirationTimeForCapabilities=async(e,t,r,n)=>{const i=await e.getPrimaryUser(void 0,n,void 0);if(!i)throw new Error("Could not find primary user");const o=await e.getExpirationTime(n);if(!o)return null;const c=s(i.user.selfCertifications.map(e=>e.created)),l=i.user.selfCertifications.filter(e=>e.created===c)[0].getExpirationTime();let u=o{})||await e.getEncryptionKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{})||await e.getSigningKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{const t=`IMG_ICON_${i.Str.sloppyRandom()}`;let r=!1,a=n(e,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,n)=>{const i=(n.src||"").substring(0,10);return i.startsWith("data:")?{tagName:"img",attribs:{src:n.src,alt:n.alt||""}}:i.startsWith("http://")||i.startsWith("https://")?(r=!0,{tagName:"a",attribs:{href:String(n.src),target:"_blank"},text:t}):{tagName:"img",attribs:{alt:n.alt,title:n.title},text:"[img]"}},"*":(e,t)=>(t.width&&"1"!==t.width&&"img"!==e&&delete t.width,t.height&&"1"!==t.height&&"img"!==e&&delete t.width,{tagName:e,attribs:t})},exclusiveFilter:({tag:e,attribs:t})=>"1"===t.width||"1"===t.height&&"hr"!==e});return r&&(a=`[remote content blocked for your privacy]

${a}`,a=n(a,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,allowedStyles:s.ALLOWED_STYLES})),a=a.replace(new RegExp(t,"g"),'[img]'),a};static htmlSanitizeAndStripAllTags=(e,t)=>{let r=s.htmlSanitizeKeepBasicTags(e);const a=i.Str.sloppyRandom(5),o=`CU_BR_${a}`,c=`CU_BS_${a}`,l=`CU_BE_${a}`;r=r.replace(/]*>/gi,o),r=r.replace(/\n/g,""),r=r.replace(/<\/(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,l),r=r.replace(/<(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,c),r=r.replace(RegExp(`(${c})+`,"g"),c).replace(RegExp(`(${l})+`,"g"),l),r=r.split(o+l+c).join(o).split(l+c).join(o).split(o+l).join(o);let u=r.split(o).join("\n").split(c).filter(e=>!!e).join("\n").split(l).filter(e=>!!e).join("\n");return u=u.replace(/\n{2,}/g,"\n\n"),u=n(u,{allowedTags:["img","span"],allowedAttributes:{img:["src"]},allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,t)=>({tagName:"span",attribs:{},text:`[image: ${t.alt||t.title||"no name"}]`})}}),u=n(u,{allowedTags:[]}),u=u.trim(),"\n"!==t&&(u=u.replace(/\n/g,t)),u};static escape=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/");static escapeTextAsRenderableHtml=e=>s.escape(e).replace(/\n/g,"
\n").replace(/^ +/gm,e=>e.replace(/ /g," ")).replace(/^\t+/gm,e=>e.replace(/\t/g," ")).replace(/\n/g,"");static htmlUnescape=e=>e.replace(///g,"/").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ").replace(/&/g,"&")}t.Xss=s},7526(e,t){"use strict";t.byteLength=function(e){var t=o(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,s=o(e),a=s[0],c=s[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,c)),u=0,h=c>0?a-4:a;for(r=0;r>16&255,l[u++]=t>>8&255,l[u++]=255&t;return 2===c&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,l[u++]=255&t),1===c&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t),l},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],a=16383,o=0,c=n-i;oc?c:o+a));return 1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),s.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=s[a],n[s.charCodeAt(a)]=a;function o(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function l(e,t,r){for(var n,i=[],s=t;sa)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|p(e,t);let n=o(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Z(e,Uint8Array)){const t=new Uint8Array(e);return A(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Z(e,ArrayBuffer)||e&&Z(e.buffer,ArrayBuffer))return A(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(Z(e,SharedArrayBuffer)||e&&Z(e.buffer,SharedArrayBuffer)))return A(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|d(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||V(e.length)?o(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),o(e<0?0:0|d(e))}function f(e){const t=e.length<0?0:0|d(e.length),r=o(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return _(e).length;default:if(i)return n?-1:J(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return K(this,t,r);case"utf8":case"utf-8":return C(this,t,r);case"ascii":return D(this,t,r);case"latin1":case"binary":return x(this,t,r);case"base64":return B(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:w(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):w(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function w(e,t,r,n,i){let s,a=1,o=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,c/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(s=r;so&&(r=o-c),s=r;s>=0;s--){let r=!0;for(let n=0;ni&&(n=i):n=i;const s=t.length;let a;for(n>s/2&&(n=s/2),a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function B(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function C(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,o,c;switch(a){case 1:t<128&&(s=t);break;case 2:r=e[i+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(s=c));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(s=c));break;case 4:r=e[i+1],n=e[i+2],o=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&o)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&o,c>65535&&c<1114112&&(s=c))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return function(e){const t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(Z(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let s=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const o=Math.min(s,a),l=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":case"latin1":case"binary":return v(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function D(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,r,n,i,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function F(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function M(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r+7]=s,s>>=8,e[r+6]=s,s>>=8,e[r+5]=s,s>>=8,e[r+4]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function R(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Q(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function N(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||U(e,t,this.length);let n=this[e],i=1,s=0;for(;++s>>=0,t>>>=0,r||U(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||U(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||U(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||U(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||U(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||U(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=X(function(e){j(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||U(e,t,this.length);let n=this[e],i=1,s=0;for(;++s=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||U(e,t,this.length);let n=t,i=1,s=this[e+--n];for(;n>0&&(i*=256);)s+=this[e+--n]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return e>>>=0,t||U(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||U(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||U(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||U(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||U(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=X(function(e){j(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||U(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||U(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||U(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||U(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=X(function(e,t=0){return F(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=X(function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=0,s=1,a=0;for(this[t]=255&e;++i>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=r-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s|0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=X(function(e,t=0){return F(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=X(function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeFloatLE=function(e,t,r){return Q(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return Q(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return N(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return N(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function H(e,t,r,n,i,s){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(s+1)}${n}`:`>= -(2${n} ** ${8*(s+1)-1}${n}) and < 2 ** ${8*(s+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new O.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||W(t,e.length-(r+1))}(n,i,s)}function j(e,t){if("number"!=typeof e)throw new O.ERR_INVALID_ARG_TYPE(t,"number",e)}function W(e,t,r){if(Math.floor(e)!==e)throw j(e,r),new O.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new O.ERR_BUFFER_OUT_OF_BOUNDS;throw new O.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}L("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),L("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),L("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=G(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=G(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function J(e,t){let r;t=t||1/0;const n=e.length;let i=null;const s=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function _(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}const z=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function X(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},4744(e){"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?o((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function i(e,t,r){return e.concat(t).map(function(e){return n(e,r)})}function s(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}(e))}function a(e,t){try{return t in e}catch(e){return!1}}function o(e,r,c){(c=c||{}).arrayMerge=c.arrayMerge||i,c.isMergeableObject=c.isMergeableObject||t,c.cloneUnlessOtherwiseSpecified=n;var l=Array.isArray(r);return l===Array.isArray(e)?l?c.arrayMerge(e,r,c):function(e,t,r){var i={};return r.isMergeableObject(e)&&s(e).forEach(function(t){i[t]=n(e[t],r)}),s(t).forEach(function(s){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,s)||(a(e,s)&&r.isMergeableObject(t[s])?i[s]=function(e,t){if(!t.customMerge)return o;var r=t.customMerge(e);return"function"==typeof r?r:o}(s,r)(e[s],t[s],r):i[s]=n(t[s],r))}),i}(e,r,c):n(r,c)}o.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,r){return o(e,r,t)},{})};var c=o;e.exports=c},4460(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(function(e){return[e.toLowerCase(),e]})),t.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(function(e){return[e.toLowerCase(),e]}))},3806(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r");case o.Comment:return"\x3c!--".concat(e.data,"--\x3e");case o.CDATA:return function(e){return"")}(e);case o.Script:case o.Style:case o.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=l.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&p.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<".concat(e.name),s=function(e,t){var r;if(e){var n=!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)?h:t.xmlMode||"utf8"!==t.encodeEntities?c.encodeXML:c.escapeAttribute;return Object.keys(e).map(function(r){var i,s,a=null!==(i=e[r])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(r=null!==(s=l.attributeNames.get(r))&&void 0!==s?s:r),t.emptyAttrs||t.xmlMode||""!==a?"".concat(r,'="').concat(n(a),'"'):r}).join(" ")}}(e.attribs,t);return s&&(i+=" ".concat(s)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&f.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=A(e.children,t)),!t.xmlMode&&f.has(e.name)||(i+=""))),i}(e,t);case o.Text:return function(e,t){var r,n=e.data||"";return!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)||!t.xmlMode&&e.parent&&u.has(e.parent.name)||(n=t.xmlMode||"utf8"!==t.encodeEntities?(0,c.encodeXML)(n):(0,c.escapeText)(n)),n}(e,t)}}t.render=A,t.default=A;var p=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},6243(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTMLAttribute=t.decodeHTML=t.determineBranch=t.EntityDecoder=t.DecodingMode=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var o=a(r(2834));t.htmlDecodeTree=o.default;var c=a(r(1518));t.xmlDecodeTree=c.default;var l=s(r(8873));t.decodeCodePoint=l.default;var u,h,f,A,d=r(8873);function p(e){return e>=u.ZERO&&e<=u.NINE}function g(e){return e>=u.UPPER_A&&e<=u.UPPER_F||e>=u.LOWER_A&&e<=u.LOWER_F}function y(e){return e===u.EQUALS||function(e){return e>=u.UPPER_A&&e<=u.UPPER_Z||e>=u.LOWER_A&&e<=u.LOWER_Z||p(e)}(e)}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return d.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return d.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(u||(u={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(h=t.BinTrieFlags||(t.BinTrieFlags={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(f||(f={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(A=t.DecodingMode||(t.DecodingMode={}));var m=function(){function e(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=f.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=A.Strict}return e.prototype.startEntity=function(e){this.decodeMode=e,this.state=f.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},e.prototype.write=function(e,t){switch(this.state){case f.EntityStart:return e.charCodeAt(t)===u.NUM?(this.state=f.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=f.NamedEntity,this.stateNamedEntity(e,t));case f.NumericStart:return this.stateNumericStart(e,t);case f.NumericDecimal:return this.stateNumericDecimal(e,t);case f.NumericHex:return this.stateNumericHex(e,t);case f.NamedEntity:return this.stateNamedEntity(e,t)}},e.prototype.stateNumericStart=function(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===u.LOWER_X?(this.state=f.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=f.NumericDecimal,this.stateNumericDecimal(e,t))},e.prototype.addToNumericResult=function(e,t,r,n){if(t!==r){var i=r-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}},e.prototype.stateNumericHex=function(e,t){for(var r=t;t>14;t>14)){if(s===u.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==A.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},e.prototype.emitNotTerminatedNamedEntity=function(){var e,t=this.result,r=(this.decodeTree[t]&h.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed},e.prototype.emitNamedEntityData=function(e,t,r){var n=this.decodeTree;return this.emitCodePoint(1===t?n[e]&~h.VALUE_LENGTH:n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r},e.prototype.end=function(){var e;switch(this.state){case f.NamedEntity:return 0===this.result||this.decodeMode===A.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case f.NumericDecimal:return this.emitNumericEntity(0,2);case f.NumericHex:return this.emitNumericEntity(0,3);case f.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case f.EntityStart:return 0}},e}();function w(e){var t="",r=new m(e,function(e){return t+=(0,l.fromCodePoint)(e)});return function(e,n){for(var i=0,s=0;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);var a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}var o=t+e.slice(i);return t="",o}}function b(e,t,r,n){var i=(t&h.BRANCH_LENGTH)>>7,s=t&h.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){var a=n-s;return a<0||a>=i?-1:e[r+a]-1}for(var o=r,c=o+i-1;o<=c;){var l=o+c>>>1,u=e[l];if(un))return e[l+i];c=l-1}}return-1}t.EntityDecoder=m,t.determineBranch=b;var E=w(o.default),v=w(c.default);t.decodeHTML=function(e,t){return void 0===t&&(t=A.Legacy),E(e,t)},t.decodeHTMLAttribute=function(e){return E(e,A.Attribute)},t.decodeHTMLStrict=function(e){return E(e,A.Strict)},t.decodeXML=function(e){return v(e,A.Strict)}},8873(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}},6095(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var i=n(r(7195)),s=r(3590),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function o(e,t){for(var r,n="",a=0;null!==(r=e.exec(t));){var o=r.index;n+=t.substring(a,o);var c=t.charCodeAt(o),l=i.default.get(c);if("object"==typeof l){if(o+1$\x80-\uFFFF]/g;var r=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function n(e){for(var n,i="",s=0;null!==(n=t.xmlReplacer.exec(e));){var a=n.index,o=e.charCodeAt(a),c=r.get(o);void 0!==c?(i+=e.substring(s,a)+c,s=a+1):(i+="".concat(e.substring(s,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),s=t.xmlReplacer.lastIndex+=Number(55296==(64512&o)))}return i+e.substr(s)}function i(e,t){return function(r){for(var n,i=0,s="";n=e.exec(r);)i!==n.index&&(s+=r.substring(i,n.index)),s+=t.get(n[0].charCodeAt(0)),i=n.index+1;return s+r.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=n,t.escape=n,t.escapeUTF8=i(/[&<>'"]/g,r),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},2834(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(function(e){return e.charCodeAt(0)}))},1518(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function(e){return e.charCodeAt(0)}))},7195(e,t){"use strict";function r(e){for(var t=1;t0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(o);t.NodeWithChildren=f;var A=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(f);t.CDATA=A;var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(f);t.Document=d;var p=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var s=e.call(this,n)||this;return s.name=t,s.attribs=r,s.type=i,s}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map(function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}})},enumerable:!1,configurable:!0}),t}(f);function g(e){return(0,a.isTag)(e)}function y(e){return e.type===a.ElementType.CDATA}function m(e){return e.type===a.ElementType.Text}function w(e){return e.type===a.ElementType.Comment}function b(e){return e.type===a.ElementType.Directive}function E(e){return e.type===a.ElementType.Root}function v(e,t){var r;if(void 0===t&&(t=!1),m(e))r=new l(e.data);else if(w(e))r=new u(e.data);else if(g(e)){var n=t?k(e.children):[],i=new p(e.name,s({},e.attribs),n);n.forEach(function(e){return e.parent=i}),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=s({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=s({},e["x-attribsPrefix"])),r=i}else if(y(e)){n=t?k(e.children):[];var a=new A(n);n.forEach(function(e){return e.parent=a}),r=a}else if(E(e)){n=t?k(e.children):[];var o=new d(n);n.forEach(function(e){return e.parent=o}),e["x-mode"]&&(o["x-mode"]=e["x-mode"]),r=o}else{if(!b(e))throw new Error("Not implemented yet: ".concat(e.type));var c=new h(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function k(e){for(var t=e.map(function(e){return v(e,!0)}),r=1;r=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=s,t.uniqueSort=function(e){return(e=e.filter(function(e,t,r){return!r.includes(e,t+1)})).sort(function(e,t){var r=s(e,t);return r&n.PRECEDING?-1:r&n.FOLLOWING?1:0}),e};var n,i=r(1141);function s(e,t){var r=[],s=[];if(e===t)return 0;for(var a=(0,i.hasChildren)(e)?e:e.parent;a;)r.unshift(a),a=a.parent;for(a=(0,i.hasChildren)(t)?t:t.parent;a;)s.unshift(a),a=a.parent;for(var o=Math.min(r.length,s.length),c=0;cu.indexOf(f)?l===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:l===e?n.PRECEDING|n.CONTAINS:n.PRECEDING}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(n||(t.DocumentPosition=n={}))},8888(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(6037),t),i(r(8938),t),i(r(3403),t),i(r(718),t),i(r(3209),t),i(r(5397),t),i(r(4437),t);var s=r(1141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return s.hasChildren}})},3209(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var s=c(e);return s?(0,i.filter)(s,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_name(e),t,r,n)},t.getElementsByClassName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(a("class",e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_type(e),t,r,n)};var n=r(1141),i=r(718),s={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map(function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(s,t)?s[t](r):a(t,r)});return 0===t.length?null:t.reduce(o)}},3403(e,t){"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}Object.defineProperty(t,"__esModule",{value:!0}),t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var s=i.children;s[s.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var s=n.children;s.splice(s.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},718(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),i(e,Array.isArray(t)?t:[t],r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var s=Array.isArray(r)?r:[r],a=0;a0){var c=e(t,o.children,!0);if(c)return c}}return null},t.existsOne=function e(t,r){return(Array.isArray(r)?r:[r]).some(function(r){return(0,n.isTag)(r)&&t(r)||(0,n.hasChildren)(r)&&e(t,r.children)})},t.findAll=function(e,t){for(var r=[],i=[Array.isArray(t)?t:[t]],s=[0];;)if(s[0]>=i[0].length){if(1===i.length)return r;i.shift(),s.shift()}else{var a=i[0][s[0]++];(0,n.isTag)(a)&&e(a)&&r.push(a),(0,n.hasChildren)(a)&&a.children.length>0&&(s.unshift(0),i.unshift(a.children))}};var n=r(1141);function i(e,t,r,i){for(var s=[],a=[Array.isArray(t)?t:[t]],o=[0];;)if(o[0]>=a[0].length){if(1===o.length)return s;a.shift(),o.shift()}else{var c=a[0][o[0]++];if(e(c)&&(s.push(c),--i<=0))return s;r&&(0,n.hasChildren)(c)&&c.children.length>0&&(o.unshift(0),a.unshift(c.children))}}},6037(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getOuterHTML=o,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map(function(e){return o(e,t)}).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""};var i=r(1141),s=n(r(3806)),a=r(5413);function o(e,t){return(0,s.default)(e,t)}},8938(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getChildren=i,t.getParent=s,t.getSiblings=function(e){var t=s(e);if(null!=t)return i(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t};var n=r(1141);function i(e){return(0,n.hasChildren)(e)?e.children:[]}function s(e){return e.parent||null}},1371(e,t,r){var n=r(321),i=r(2801);t.FALLBACK_CHARACTER=63;var s=t.HAS_TYPED="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array,a=!1,o=!1;try{"a"===String.fromCharCode.apply(null,[97])&&(a=!0)}catch(e){}if(s)try{"a"===String.fromCharCode.apply(null,new Uint8Array([97]))&&(o=!0)}catch(e){}t.CAN_CHARCODE_APPLY=a,t.CAN_CHARCODE_APPLY_TYPED=o,t.APPLY_BUFFER_SIZE=65533,t.APPLY_BUFFER_SIZE_OK=null;var c=t.EncodingNames={UTF32:{order:0},UTF32BE:{alias:["UCS4"]},UTF32LE:null,UTF16:{order:1},UTF16BE:{alias:["UCS2"]},UTF16LE:null,BINARY:{order:2},ASCII:{order:3,alias:["ISO646","CP367"]},JIS:{order:4,alias:["ISO2022JP"]},UTF8:{order:5},EUCJP:{order:6},SJIS:{order:7,alias:["CP932","MSKANJI","WINDOWS31J"]},UNICODE:{order:8}},l={};t.EncodingAliases=l,t.EncodingOrders=function(){for(var e,t,r,i,s=l,a=n.objectKeys(c),o=[],u=0,h=a.length;u95&&(i.JIS_TO_UTF8_TABLE[t]=0|e);for(i.JISX0212_TO_UTF8_TABLE={},a=(r=n.objectKeys(i.UTF8_TO_JISX0212_TABLE)).length,s=0;s=161&&t<=223?(s=188|(i=t-64)>>6&3,o=128|63&i,u[u.length]=239,u[u.length]=255&s,u[u.length]=255&o):t>=128?(r=t<<1,(i=e[++h])<159?(r-=r<319?225:97,i-=i>126?32:31):(r-=r<319?224:96,i-=126),c=((r&=255)<<8)+i,void 0===(l=a.JIS_TO_UTF8_TABLE[c])?u[u.length]=n.FALLBACK_CHARACTER:l<65535?(u[u.length]=l>>8&255,u[u.length]=255&l):(u[u.length]=l>>16&255,u[u.length]=l>>8&255,u[u.length]=255&l)):u[u.length]=255&e[h];return u}function c(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c,l=[],u=0,h=e&&e.length;u>6&3,s=128|63&r,l[l.length]=239,l[l.length]=255&i,l[l.length]=255&s):143===t?(o=(e[++u]-128<<8)+(e[++u]-128),void 0===(c=a.JISX0212_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):t>=128?(o=(t-128<<8)+(e[++u]-128),void 0===(c=a.JIS_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):l[l.length]=255&e[u];return l}function l(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c=[],l=0,u=0,h=e&&e.length;u>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):2===l?(r=188|(t=e[u]+64)>>6&3,i=128|63&t,c[c.length]=239,c[c.length]=255&r,c[c.length]=255&i):3===l?(s=(e[u]<<8)+e[++u],void 0===(o=a.JISX0212_TO_UTF8_TABLE[s])?c[c.length]=n.FALLBACK_CHARACTER:o<65535?(c[c.length]=o>>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):c[c.length]=255&e[u]}return c}function u(e,t){for(var r,i,s,o,c,l,u=[],h=0,f=e&&e.length,A=t&&t.fallback;h=128?(r<=223?(o=[r,e[h+1]],c=(r<<8)+e[++h]):r<=239?(o=[r,e[h+1],e[h+2]],c=(r<<16)+(e[++h]<<8)+(255&e[++h])):(o=[r,e[h+1],e[h+2],e[h+3]],c=(r<<24)+(e[++h]<<16)+(e[++h]<<8)+(255&e[++h])),null==(l=a.UTF8_TO_JIS_TABLE[c])?A?D(u,o,A):u[u.length]=n.FALLBACK_CHARACTER:l<255?u[u.length]=l+128:(l>65536&&(l-=65536),s=255&l,1&(i=l>>8)?((i>>=1)<47?i+=113:i-=79,s+=s>95?32:31):((i>>=1)<=47?i+=112:i-=80,s+=126),u[u.length]=255&i,u[u.length]=255&s)):u[u.length]=255&e[h];return u}function h(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=t&&t.fallback;l=128?(r<=223?(i=[r,e[l+1]],s=(r<<8)+e[++l]):r<=239?(i=[r,e[l+1],e[l+2]],s=(r<<16)+(e[++l]<<8)+(255&e[++l])):(i=[r,e[l+1],e[l+2],e[l+3]],s=(r<<24)+(e[++l]<<16)+(e[++l]<<8)+(255&e[++l])),null==(o=a.UTF8_TO_JIS_TABLE[s])?null==(o=a.UTF8_TO_JISX0212_TABLE[s])?h?D(c,i,h):c[c.length]=n.FALLBACK_CHARACTER:(c[c.length]=143,c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255):(o>65536&&(o-=65536),o<255?(c[c.length]=142,c[c.length]=o-128&255):(c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255))):c[c.length]=255&e[l];return c}function f(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=0,f=t&&t.fallback,A=[27,40,66,27,36,66,27,40,73,27,36,40,68];h>8&255,c[c.length]=255&o):(o>65536&&(o-=65536),o<255?(2!==l&&(l=2,c[c.length]=A[6],c[c.length]=A[7],c[c.length]=A[8]),c[c.length]=255&o):(1!==l&&(l=1,c[c.length]=A[3],c[c.length]=A[4],c[c.length]=A[5]),c[c.length]=o>>8&255,c[c.length]=255&o)));return 0!==l&&(c[c.length]=A[0],c[c.length]=A[1],c[c.length]=A[2]),c}function A(e){for(var t,r,n=[],i=0,s=e&&e.length;i=55296&&t<=56319&&i+1=56320&&r<=57343&&(t=1024*(t-55296)+r-56320+65536,i++),t<128?n[n.length]=t:t<2048?(n[n.length]=192|t>>6&31,n[n.length]=128|63&t):t<65536?(n[n.length]=224|t>>12&15,n[n.length]=128|t>>6&63,n[n.length]=128|63&t):t<2097152&&(n[n.length]=240|t>>18&15,n[n.length]=128|t>>12&63,n[n.length]=128|t>>6&63,n[n.length]=128|63&t);return n}function d(e,t){for(var r,n,i,s=[],a=0,o=e&&e.length,c=t&&t.ignoreSurrogatePair;a>4)>=0&&r<=7?i=n:12===r||13===r?i=(31&n)<<6|63&e[a++]:14===r?i=(15&n)<<12|(63&e[a++])<<6|63&e[a++]:15===r&&(i=(7&n)<<18|(63&e[a++])<<12|(63&e[a++])<<6|63&e[a++]),i<=65535||c?s[s.length]=i:(i-=65536,s[s.length]=55296+(i>>10),s[s.length]=i%1024+56320);return s}function p(e,t){var r;if(t&&t.bom){var n,s,a=t.bom;i.isString(a)||(a="BE"),"B"===a.charAt(0).toUpperCase()?(n=[254,255],s=g(e)):(n=[255,254],s=y(e)),(r=[])[0]=n[0],r[1]=n[1];for(var o=0,c=s.length;o>8&255,r[r.length]=255&t);return r}function y(e){for(var t,r=[],n=0,i=e&&e.length;n>8&255);return r}function m(e){var t,r,n=[],i=0,s=e&&e.length;for(s>=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i>=1)<47?t+=113:t-=79,r+=r>95?32:31):((t>>=1)<=47?t+=112:t-=80,r+=126),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=2===s?e[a]+128&255:3===s?n.FALLBACK_CHARACTER:255&e[a]}return i},t.JISToEUCJP=function(e){for(var t=[],r=0,n=e&&e.length,i=0;i=161&&t<=223?(2!==i&&(i=2,n[n.length]=o[6],n[n.length]=o[7],n[n.length]=o[8]),n[n.length]=t-128&255):t>=128?(1!==i&&(i=1,n[n.length]=o[3],n[n.length]=o[4],n[n.length]=o[5]),t<<=1,(r=e[++a])<159?(t-=t<319?225:97,r-=r>126?32:31):(t-=t<319?224:96,r-=126),n[n.length]=255&t,n[n.length]=255&r):(0!==i&&(i=0,n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n[n.length]=255&t);return 0!==i&&(n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n},t.SJISToEUCJP=function(e){for(var t,r,n=[],i=e&&e.length,s=0;s=161&&t<=223?(n[n.length]=142,n[n.length]=t):t>=129?(t<<=1,(r=e[++s])<159?(t-=t<319?97:225,r+=r>126?96:97):(t-=t<319?96:224,r+=2),n[n.length]=255&t,n[n.length]=255&r):n[n.length]=255&t;return n},t.EUCJPToJIS=function(e){for(var t,r=[],n=0,i=e&&e.length,s=0,a=[27,40,66,27,36,66,27,40,73,27,36,40,68];s142?(1!==n&&(n=1,r[r.length]=a[3],r[r.length]=a[4],r[r.length]=a[5]),r[r.length]=t-128&255,r[r.length]=e[++s]-128&255):(0!==n&&(n=0,r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r[r.length]=255&t);return 0!==n&&(r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r},t.EUCJPToSJIS=function(e){for(var t,r,i=[],s=e&&e.length,a=0;a142?(r=e[++a],1&t?(t>>=1,t+=t<111?49:113,r-=r>223?96:97):(t>>=1,t+=t<=111?48:112,r-=2),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=142===t?255&e[++a]:255&t;return i},t.SJISToUTF8=o,t.EUCJPToUTF8=c,t.JISToUTF8=l,t.UTF8ToSJIS=u,t.UTF8ToEUCJP=h,t.UTF8ToJIS=f,t.UNICODEToUTF8=A,t.UTF8ToUNICODE=d,t.UNICODEToUTF16=p,t.UNICODEToUTF16BE=g,t.UNICODEToUTF16LE=y,t.UTF16BEToUNICODE=m,t.UTF16LEToUNICODE=w,t.UTF16ToUNICODE=b,t.UTF16ToUTF16BE=function(e){for(var t,r,n=[],i=0,a=e&&e.length,o=!1,c=!0;i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u255)return!1;if(t>=0&&t<=7||255===t)return!0}return!1},t.isASCII=function(e){for(var t,r=0,n=e&&e.length;r255||t>=128&&t<=255||27===t)return!1;return!0},t.isJIS=function(e){for(var t,r,n,i=0,s=e&&e.length;i255||t>=128&&t<=255)return!1;if(27===t){if(i+2>=s)return!1;if(r=e[i+1],n=e[i+2],36===r){if(40===n||64===n||66===n)return!0}else{if(38===r&&64===n)return!0;if(40===r&&(66===n||73===n||74===n))return!0}}}return!1},t.isEUCJP=function(e){for(var t,r=0,n=e&&e.length;r255||t<142)return!1;if(142===t){if(r+1>=n)return!1;if((t=e[++r])<161||223=n)return!1;if((t=e[++r])<162||237=n)return!1;if((t=e[++r])<161||254128;)if(e[r++]>255)return!1;for(;r239||r+1>=n)return!1;if((t=e[++r])<64||127===t||t>252)return!1}return!0},t.isUTF8=function(e){for(var t,r=0,n=e&&e.length;r255)return!1;if(!(9===t||10===t||13===t||t>=32&&t<=126))if(t>=194&&t<=223){if(r+1>=n||e[r+1]<128||e[r+1]>191)return!1;r++}else if(224===t){if(r+2>=n||e[r+1]<160||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(t>=225&&t<=236||238===t||239===t){if(r+2>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(237===t){if(r+2>=n||e[r+1]<128||e[r+1]>159||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(240===t){if(r+3>=n||e[r+1]<144||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else if(t>=241&&t<=243){if(r+3>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else{if(244!==t)return!1;if(r+3>=n||e[r+1]<128||e[r+1]>143||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}}return!0},t.isUTF16=function(e){var t,r,n,i,s=0,a=e&&e.length,o=null;if(a<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;if(254===t&&255===r)return!0;for(;s255)return!1}if(null===o)return!1;if(void 0!==(n=e[o+1])&&n>0&&n<128)return!0;if(void 0!==(i=e[o-1])&&i>0&&i<128)return!0}return!1},t.isUTF16BE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],254===t&&255===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2==0)return!0}return!1},t.isUTF16LE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2!=0)return!0}return!1},t.isUTF32=function(e){var t,r,n,i,s,a,o=0,c=e&&e.length,l=null;if(c<4){for(;o255)return!1}else{if(t=e[0],r=e[1],n=e[2],i=e[3],0===t&&0===r&&254===n&&255===i)return!0;if(255===t&&254===r&&0===n&&0===i)return!0;for(;o255)return!1}if(null===l)return!1;if(void 0!==(s=e[l+3])&&s>0&&s<=127)return 0===e[l+2]&&0===e[l+1];if(void 0!==(a=e[l-1])&&a>0&&a<=127)return 0===e[l+1]&&0===e[l+2]}return!1},t.isUNICODE=function(e){for(var t,r=0,n=e&&e.length;r1114111)return!1;return!0}},2801(e,t,r){t.UTF8_TO_JIS_TABLE=r(4992),t.UTF8_TO_JISX0212_TABLE=r(909),t.JIS_TO_UTF8_TABLE=r(5748),t.JISX0212_TO_UTF8_TABLE=r(7921)},8969(e,t,r){var n=r(1371),i=r(321),s=r(1742),a=r(5210),o=r(3880),c=r(6171).rE,l=Object.prototype.hasOwnProperty,u={version:c,orders:n.EncodingOrders,detect:function(e,t){if(null==e||0===e.length)return!1;i.isObject(t)&&!i.isArray(t)&&(t=t.encoding),i.isString(e)&&(e=i.stringToBuffer(e)),null==t?t=u.orders:i.isString(t)&&(t="AUTO"===(t=t.toUpperCase())?u.orders:~t.indexOf(",")?t.split(/\s*,\s*/):[t]);for(var r,n,a,o=t.length,c=0;c255)return encodeURIComponent(i.codeToString_fast(e));t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||33===t||t>=39&&t<=42||45===t||46===t||95===t||126===t?n[n.length]=t:(n[n.length]=37,t<16?(n[n.length]=48,n[n.length]=r[t]):(n[n.length]=r[t>>4&15],n[n.length]=r[15&t]))}return i.codeToString_fast(n)},urlDecode:function(e){for(var t,r=[],n=0,i=e&&e.length;n=65281&&r<=65374&&(r-=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toZenkakuCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=33&&r<=126&&(r+=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toHiraganaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12449&&r<=12534?r-=96:12535===r?(n[n.length]=12431,r=12443):12538===r&&(n[n.length]=12434,r=12443),n[n.length]=r;return t?i.codeToString_fast(n):n},toKatakanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12353&&r<=12438&&((12431===r||12434===r)&&a=12289&&r<=12540&&void 0!==(s=o.HANKANA_TABLE[r])?a[a.length]=s:12532===r||12535===r||12538===r?(a[a.length]=o.HANKANA_SONANTS[r],a[a.length]=65438):r>=12459&&r<=12489?(a[a.length]=o.HANKANA_TABLE[r-1],a[a.length]=65438):r>=12495&&r<=12509?(n=r%3,a[a.length]=o.HANKANA_TABLE[r-n],a[a.length]=o.HANKANA_MARKS[n-1]):a[a.length]=r;return t?i.codeToString_fast(a):a},toZenkanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));var r,n,s,a=[],c=e&&e.length,l=0;for(l=0;l65376&&r<65440&&(n=o.ZENKANA_TABLE[r-65377],l+165397&&r<65413||r>65417&&r<65423)?(n++,l++):65439===s&&r>65417&&r<65423&&(n+=2,l++)),r=n),a[a.length]=r;return t?i.codeToString_fast(a):a},toHankakuSpace:function(e){if(i.isString(e))return e.replace(/\u3000/g," ");for(var t,r=[],n=e&&e.length,s=0;sn.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0),r}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}}return d(e)}function d(e){for(var t,r="",s=e&&e.length,a=0;an.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0);continue}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}return p(e)}r+=i.apply(null,t)}return r}function p(e){for(var t="",r=e&&e.length,n=0;n>2],t[t.length]=g[(3&i)<<4],t[t.length]=m,t[t.length]=m;break}if(s=e[r++],r==n){t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2],t[t.length]=m;break}a=e[r++],t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2|(192&a)>>6],t[t.length]=g[63&a]}return A(t)},t.base64decode=function(e){var t,r,n,i,s,a,o;for(a=e&&e.length,s=0,o=[];s>4;do{if(61==(n=255&e.charCodeAt(s++)))return o;n=y[n]}while(s>2;do{if(61==(i=255&e.charCodeAt(s++)))return o;i=y[i]}while(s>1,u=-7,h=r?i-1:0,f=r?-1:1,A=e[t+h];for(h+=f,s=A&(1<<-u)-1,A>>=-u,u+=o;u>0;s=256*s+e[t+h],h+=f,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=f,u-=8);if(0===s)s=1-l;else{if(s===c)return a?NaN:1/0*(A?-1:1);a+=Math.pow(2,n),s-=l}return(A?-1:1)*a*Math.pow(2,s-n)},t.write=function(e,t,r,n,i,s){var a,o,c,l=8*s-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,d=n?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(a++,c/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*c-1)*Math.pow(2,i),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+A]=255&o,A+=d,o/=256,i-=8);for(a=a<0;e[r+A]=255&a,A+=d,a/=256,l-=8);e[r+A-d]|=128*p}},8682(e,t){"use strict";function r(e){return"[object Object]"===Object.prototype.toString.call(e)}t.isPlainObject=function(e){var t,n;return!1!==r(e)&&(void 0===(t=e.constructor)||!1!==r(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}},9466(e,t){var r,n;void 0===(n="function"==typeof(r=function(){return function(e){function t(e){return" "===e||"\t"===e||"\n"===e||"\f"===e||"\r"===e}function r(t){var r,n=t.exec(e.substring(p));if(n)return r=n[0],p+=r.length,r}for(var n,i,s,a,o,c=e.length,l=/^[ \t\n\r\u000c]+/,u=/^[, \t\n\r\u000c]+/,h=/^[^ \t\n\r\u000c]+/,f=/[,]+$/,A=/^\d+$/,d=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,p=0,g=[];;){if(r(u),p>=c)return g;n=r(h),i=[],","===n.slice(-1)?(n=n.replace(f,""),m()):y()}function y(){for(r(l),s="",a="in descriptor";;){if(o=e.charAt(p),"in descriptor"===a)if(t(o))s&&(i.push(s),s="",a="after descriptor");else{if(","===o)return p+=1,s&&i.push(s),void m();if("("===o)s+=o,a="in parens";else{if(""===o)return s&&i.push(s),void m();s+=o}}else if("in parens"===a)if(")"===o)s+=o,a="in descriptor";else{if(""===o)return i.push(s),void m();s+=o}else if("after descriptor"===a)if(t(o));else{if(""===o)return void m();a="in descriptor",p-=1}p+=1}}function m(){var t,r,s,a,o,c,l,u,h,f=!1,p={};for(a=0;a(e.nodes&&(e.nodes=f(e.nodes)),delete e.source,e))}function A(e){if(e[u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)A(t)}class d extends l{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,r,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...r)=>e[t](...r.map(e=>"function"==typeof e?(t,r)=>e(t.toProxy(),r):e)):"every"===t||"some"===t?r=>e[t]((e,...t)=>r(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let r,n=this.index(e),i=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let e of i)this.proxyOf.nodes.splice(n+1,0,e);for(let e in this.indexes)r=this.indexes[e],n(e[h]||d.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[u]&&A(e),e.raws||(e.raws={}),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,r)=>{let n;try{n=e(t,r)}catch(e){throw t.addToError(e)}return!1!==n&&t.walk&&(n=t.walk(e)),n})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("atrule"===r.type&&e.test(r.name))return t(r,n)}):this.walk((r,n)=>{if("atrule"===r.type&&r.name===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("atrule"===e.type)return t(e,r)}))}walkComments(e){return this.walk((t,r)=>{if("comment"===t.type)return e(t,r)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("decl"===r.type&&e.test(r.prop))return t(r,n)}):this.walk((r,n)=>{if("decl"===r.type&&r.prop===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("decl"===e.type)return t(e,r)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("rule"===r.type&&e.test(r.selector))return t(r,n)}):this.walk((r,n)=>{if("rule"===r.type&&r.selector===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("rule"===e.type)return t(e,r)}))}}d.registerParse=e=>{i=e},d.registerRule=e=>{a=e},d.registerAtRule=e=>{n=e},d.registerRoot=e=>{s=e},e.exports=d,d.default=d,d.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,a.prototype):"decl"===e.type?Object.setPrototypeOf(e,c.prototype):"comment"===e.type?Object.setPrototypeOf(e,o.prototype):"root"===e.type&&Object.setPrototypeOf(e,s.prototype),e[h]=!0,e.nodes&&e.nodes.forEach(e=>{d.rebuild(e)})}},3614(e,t,r){"use strict";let n=r(8633),i=r(9746);class s extends Error{constructor(e,t,r,n,i,a){super(e),this.name="CssSyntaxError",this.reason=e,i&&(this.file=i),n&&(this.source=n),a&&(this.plugin=a),void 0!==t&&void 0!==r&&("number"==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=n.isColorSupported);let r=e=>e,s=e=>e,a=e=>e;if(e){let{bold:e,gray:t,red:o}=n.createColors(!0);s=t=>e(o(t)),r=e=>t(e),i&&(a=e=>i(e))}let o=t.split(/\r?\n/),c=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),u=String(l).length;return o.slice(c,l).map((e,t)=>{let n=c+1+t,i=" "+(" "+n).slice(-u)+" | ";if(n===this.line){if(e.length>160){let t=20,n=Math.max(0,this.column-t),o=Math.max(this.column+t,this.endColumn+t),c=e.slice(n,o),l=r(i.replace(/\d/g," "))+e.slice(0,Math.min(this.column-1,t-1)).replace(/[^\t]/g," ");return s(">")+r(i)+a(c)+"\n "+l+s("^")}let t=r(i.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(i)+a(e)+"\n "+t+s("^")}return" "+r(i)+a(e)}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}e.exports=s,s.default=s},5238(e,t,r){"use strict";let n=r(3152);class i extends n{get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}}e.exports=i,i.default=i},145(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a},3438(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(1106),o=r(3878),c=r(5644),l=r(1534);function u(e,t){if(Array.isArray(e))return e.map(e=>u(e));let{inputs:r,...h}=e;if(r){t=[];for(let e of r){let r={...e,__proto__:a.prototype};r.map&&(r.map={...r.map,__proto__:o.prototype}),t.push(r)}}if(h.nodes&&(h.nodes=e.nodes.map(e=>u(e,t))),h.source){let{inputId:e,...r}=h.source;h.source=r,null!=e&&(h.source.input=t[e])}if("root"===h.type)return new c(h);if("decl"===h.type)return new s(h);if("rule"===h.type)return new l(h);if("comment"===h.type)return new i(h);if("atrule"===h.type)return new n(h);throw new Error("Unknown node type: "+e.type)}e.exports=u,u.default=u},1106(e,t,r){"use strict";let{nanoid:n}=r(5042),{isAbsolute:i,resolve:s}=r(197),{SourceMapConsumer:a,SourceMapGenerator:o}=r(1866),{fileURLToPath:c,pathToFileURL:l}=r(2739),u=r(3614),h=r(3878),f=r(9746),A=Symbol("lineToIndexCache"),d=Boolean(a&&o),p=Boolean(s&&i);function g(e){if(e[A])return e[A];let t=e.css.split("\n"),r=new Array(t.length),n=0;for(let e=0,i=t.length;e"),this.map&&(this.map.file=this.from)}error(e,t,r,n={}){let i,s,a,o,c;if(t&&"object"==typeof t){let e=t,n=r;if("number"==typeof e.offset){o=e.offset;let n=this.fromOffset(o);t=n.line,r=n.col}else t=e.line,r=e.column,o=this.fromLineAndColumn(t,r);if("number"==typeof n.offset){a=n.offset;let e=this.fromOffset(a);s=e.line,i=e.col}else s=n.line,i=n.column,a=this.fromLineAndColumn(n.line,n.column)}else if(r)o=this.fromLineAndColumn(t,r);else{o=t;let e=this.fromOffset(o);t=e.line,r=e.col}let h=this.origin(t,r,s,i);return c=h?new u(e,void 0===h.endLine?h.line:{column:h.column,line:h.line},void 0===h.endLine?h.column:{column:h.endColumn,line:h.endLine},h.source,h.file,n.plugin):new u(e,void 0===s?t:{column:r,line:t},void 0===s?r:{column:i,line:s},this.css,this.file,n.plugin),c.input={column:r,endColumn:i,endLine:s,endOffset:a,line:t,offset:o,source:this.css},this.file&&(l&&(c.input.url=l(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,t){return g(this)[e-1]+t-1}fromOffset(e){let t=g(this),r=0;if(e>=t[t.length-1])r=t.length-1;else{let n,i=t.length-2;for(;r>1),e=t[n+1])){r=n;break}r=n+1}}return{col:e-t[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:s(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,r,n){if(!this.map)return!1;let s,a,o=this.map.consumer(),u=o.originalPositionFor({column:t,line:e});if(!u.source)return!1;"number"==typeof r&&(s=o.originalPositionFor({column:n,line:r})),a=i(u.source)?l(u.source):new URL(u.source,this.map.consumer().sourceRoot||l(this.map.mapFile));let h={column:u.column,endColumn:s&&s.column,endLine:s&&s.line,line:u.line,url:a.toString()};if("file:"===a.protocol){if(!c)throw new Error("file: protocol is not available in this PostCSS build");h.file=c(a)}let f=o.sourceContentFor(u.source);return f&&(h.source=f),h}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}e.exports=y,y.default=y,f&&f.registerInput&&f.registerInput(y)},6966(e,t,r){"use strict";let n=r(7793),i=r(145),s=r(3604),a=r(9577),o=r(3717),c=r(5644),l=r(3303),{isClean:u,my:h}=r(4151);r(6156);const f={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},A={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},d={Once:!0,postcssPlugin:!0,prepare:!0};function p(e){return"object"==typeof e&&"function"==typeof e.then}function g(e){let t=!1,r=f[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,0,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,0,r+"Exit"]:[r,r+"Exit"]}function y(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:g(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function m(e){return e[u]=!1,e.nodes&&e.nodes.forEach(e=>m(e)),e}let w={};class b{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,t,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof t||null===t||"root"!==t.type&&"document"!==t.type)if(t instanceof b||t instanceof o)i=m(t.root),t.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let e=a;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(t,r)}catch(e){this.processed=!0,this.error=e}i&&!i[h]&&n.rebuild(i)}else i=m(t);this.result=new o(e,i,r),this.helpers={...w,postcss:w,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?r.postcssVersion:(e.plugin=r.postcssPlugin,e.setMessage())}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,r)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,r])};for(let t of this.plugins)if("object"==typeof t)for(let r in t){if(!A[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!d[r])if("object"==typeof t[r])for(let n in t[r])e(t,"*"===n?r:r+"-"+n.toLowerCase(),t[r][n]);else"function"==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(p(e))try{await e}catch(e){let r=t[t.length-1].node;throw this.handleError(e,r)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>r(e,this.helpers));await Promise.all(t)}else await r(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return p(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=l;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=new s(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(p(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[u];)e[u]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[r,n]of e){let e;this.result.lastPlugin=r;try{e=n(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(p(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:r,visitors:n}=t;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void e.pop();if(n.length>0&&t.visitorIndex{e[u]||this.walkSync(e)});else{let t=this.listeners[r];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}}b.registerPostcss=e=>{w=e},e.exports=b,b.default=b,c.registerLazyResult(b),i.registerLazyResult(b)},1752(e){"use strict";let t={comma:e=>t.split(e,[","],!0),space:e=>t.split(e,[" ","\n","\t"]),split(e,t,r){let n=[],i="",s=!1,a=0,o=!1,c="",l=!1;for(let r of e)l?l=!1:"\\"===r?l=!0:o?r===c&&(o=!1):'"'===r||"'"===r?(o=!0,c=r):"("===r?a+=1:")"===r?a>0&&(a-=1):0===a&&t.includes(r)&&(s=!0),s?(""!==i&&n.push(i.trim()),i="",s=!1):i+=r;return(r||""!==i)&&n.push(i.trim()),n}};e.exports=t,t.default=t},3604(e,t,r){"use strict";let{dirname:n,relative:i,resolve:s,sep:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866),{pathToFileURL:l}=r(2739),u=r(1106),h=Boolean(o&&c),f=Boolean(n&&s&&i&&a);e.exports=class{constructor(e,t,r,n){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=n,this.originalCSS=n,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,r=this.toUrl(this.path(e.file)),i=e.root||n(e.file);!1===this.mapOpts.sourcesContent?(t=new o(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,r,this.toUrl(this.path(i)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(t)}else if(this.css){let e;for(;-1!==(e=this.css.lastIndexOf("/*#"));){let t=this.css.indexOf("*/",e+3);if(-1===t)break;for(;e>0&&"\n"===this.css[e-1];)e--;this.css=this.css.slice(0,e)+this.css.slice(t+2)}}}generate(){if(this.clearAnnotation(),f&&h&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=c.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):""});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,r=1,n=1,i="",s={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(a,o,c)=>{if(this.css+=a,o&&"end"!==c&&(s.generated.line=r,s.generated.column=n-1,o.source&&o.source.start?(s.source=this.sourcePath(o),s.original.line=o.source.start.line,s.original.column=o.source.start.column-1,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,this.map.addMapping(s))),t=a.match(/\n/g),t?(r+=t.length,e=a.lastIndexOf("\n"),n=a.length-e):n+=a.length,o&&"start"!==c){let e=o.parent||{raws:{}};("decl"===o.type||"atrule"===o.type&&!o.nodes)&&o===e.last&&!e.raws.semicolon||(o.source&&o.source.end?(s.source=this.sourcePath(o),s.original.line=o.source.end.line,s.original.column=o.source.end.column-1,s.generated.line=r,s.generated.column=n-2,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,s.generated.line=r,s.generated.column=n-1,this.map.addMapping(s)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let r=this.opts.to?n(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(r=n(s(r,this.mapOpts.annotation)));let a=i(r,e);return this.memoizedPaths.set(e,a),a}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new u(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;if(r&&!e[r]){e[r]=!0;let n=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(n,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(l){let t=l(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===a&&(e=e.replace(/\\/g,"/"));let r=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,r),r}}},4211(e,t,r){"use strict";let n=r(3604),i=r(9577),s=r(3717),a=r(3303);r(6156);class o{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=i;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let i=a;this.result=new s(this._processor,void 0,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,"root",{get:()=>o.root});let c=new n(i,void 0,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else c.clearAnnotation(),this.result.css=c.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}}e.exports=o,o.default=o},3152(e,t,r){"use strict";let n=r(3614),i=r(7668),s=r(3303),{isClean:a,my:o}=r(4151);function c(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if("proxyCache"===n)continue;let i=e[n],s=typeof i;"parent"===n&&"object"===s?t&&(r[n]=t):"source"===n?r[n]=i:Array.isArray(i)?r[n]=i.map(e=>c(e,r)):("object"===s&&null!==i&&(i=c(i)),r[n]=i)}return r}function l(e,t){if(t&&void 0!==t.offset)return t.offset;let r=1,n=1,i=0;for(let s=0;s"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markClean(){this[a]=!0}markDirty(){if(this[a]){this[a]=!1;let e=this;for(;e=e.parent;)e[a]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,n=r.slice(l(r,this.source.start),l(r,this.source.end)).indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t}positionInside(e){let t=this.source.start.column,r=this.source.start.line,n="document"in this.source.input?this.source.input.document:this.source.input.css,i=l(n,this.source.start),s=i+e;for(let e=i;e"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof n&&n.toJSON)r[e]=n.toJSON(null,t);else if("source"===e){if(null==n)continue;let s=t.get(n.input);null==s&&(s=i,t.set(n.input,i),i++),r[e]={end:n.end,inputId:s,start:n.start}}else r[e]=n}return n&&(r.inputs=[...t.keys()].map(e=>e.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=s){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,r={}){let n={node:this};for(let e in r)n[e]=r[e];return e.warn(t,n)}}e.exports=u,u.default=u},9577(e,t,r){"use strict";let n=r(7793),i=r(1106),s=r(8339);function a(e,t){let r=new i(e,t),n=new s(r);try{n.parse()}catch(e){throw e}return n.root}e.exports=a,a.default=a,n.registerParse(a)},8339(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(5644),o=r(1534),c=r(5781);const l={empty:!0,space:!0};e.exports=class{constructor(e){this.input=e,this.root=new a,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t,r,i,s=new n;s.name=e[1].slice(1),""===s.name&&this.unnamedAtrule(s,e),this.init(s,e[2]);let a=!1,o=!1,c=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],"("===t||"["===t?l.push("("===t?")":"]"):"{"===t&&l.length>0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){s.source.end=this.getPosition(e[2]),s.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(c.length>0){for(i=c.length-1,r=c[i];r&&"space"===r[0];)r=c[--i];r&&(s.source.end=this.getPosition(r[3]||r[2]),s.source.end.offset++)}this.end(e);break}c.push(e)}else c.push(e);if(this.tokenizer.endOfFile()){a=!0;break}}s.raws.between=this.spacesAndCommentsFromEnd(c),c.length?(s.raws.afterName=this.spacesAndCommentsFromStart(c),this.raw(s,"params",c),a&&(e=c[c.length-1],s.source.end=this.getPosition(e[3]||e[2]),s.source.end.offset++,this.spaces=s.raws.between,s.raws.between="")):(s.raws.afterName="",s.params=""),o&&(s.nodes=[],this.current=s)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let r,n=0;for(let i=t-1;i>=0&&(r=e[i],"space"===r[0]||(n+=1,2!==n));i--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}colon(e){let t,r,n,i=0;for(let[s,a]of e.entries()){if(r=a,n=r[0],"("===n&&(i+=1),")"===n&&(i-=1),0===i&&":"===n){if(t){if("word"===t[0]&&"progid"===t[1])continue;return s}this.doubleColon(r)}t=r}return!1}comment(e){let t=new i;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let r=e[1].slice(2,-2);if(r.trim()){let e=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}else t.text="",t.raws.left=r,t.raws.right=""}createTokenizer(){this.tokenizer=c(this.input)}decl(e,t){let r=new s;this.init(r,e[0][2]);let n,i=e[e.length-1];for(";"===i[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(i[3]||i[2]||function(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}(e)),r.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;r.prop+=e.shift()[1]}for(r.raws.between="";e.length;){if(n=e.shift(),":"===n[0]){r.raws.between+=n[1];break}"word"===n[0]&&/\w/.test(n[1])&&this.unknownWord([n]),r.raws.between+=n[1]}"_"!==r.prop[0]&&"*"!==r.prop[0]||(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a,o=[];for(;e.length&&(a=e[0][0],"space"===a||"comment"===a);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if(n=e[t],"!important"===n[1].toLowerCase()){r.important=!0;let n=this.stringFrom(e,t);n=this.spacesFromEnd(e)+n," !important"!==n&&(r.raws.important=n);break}if("important"===n[1].toLowerCase()){let n=e.slice(0),i="";for(let e=t;e>0;e--){let t=n[e][0];if(i.trim().startsWith("!")&&"space"!==t)break;i=n.pop()[1]+i}i.trim().startsWith("!")&&(r.important=!0,r.raws.important=i,e=n)}if("space"!==n[0]&&"comment"!==n[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(r.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(r,"value",o.concat(e),t),r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new o;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="",t.source.end=this.getPosition(e[2]),t.source.end.offset+=t.raws.ownSemicolon.length)}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,r=null,n=!1,i=null,s=[],a=e[1].startsWith("--"),o=[],c=e;for(;c;){if(r=c[0],o.push(c),"("===r||"["===r)i||(i=c),s.push("("===r?")":"]");else if(a&&n&&"{"===r)i||(i=c),s.push("}");else if(0===s.length){if(";"===r){if(n)return void this.decl(o,a);break}if("{"===r)return void this.rule(o);if("}"===r){this.tokenizer.back(o.pop()),t=!0;break}":"===r&&(n=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(i=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(i),t&&n){if(!a)for(;o.length&&(c=o[o.length-1][0],"space"===c||"comment"===c);)this.tokenizer.back(o.pop());this.decl(o,a)}else this.unknownWord(o)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,r,n){let i,s,a,o,c=r.length,u="",h=!0;for(let e=0;ee+t[1],"");e.raws[t]={raw:n,value:u}}e[t]=u}rule(e){e.pop();let t=new o;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let n=t;n(r||(r=i()),r)}),i.process=function(e,t,r){return E([i(r)]).process(e,t)},i},E.stringify=w,E.parse=d,E.fromJSON=l,E.list=f,E.comment=e=>new i(e),E.atRule=e=>new n(e),E.decl=e=>new o(e),E.rule=e=>new m(e),E.root=e=>new y(e),E.document=e=>new c(e),E.CssSyntaxError=a,E.Declaration=o,E.Container=s,E.Processor=p,E.Document=c,E.Comment=i,E.Warning=b,E.AtRule=n,E.Result=g,E.Input=u,E.Rule=m,E.Root=y,E.Node=A,h.registerPostcss(E),e.exports=E,E.default=E},3878(e,t,r){"use strict";let{existsSync:n,readFileSync:i}=r(9977),{dirname:s,join:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866);class l{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=s(this.mapFile)),n&&(this.text=n)}consumer(){return this.consumerCache||(this.consumerCache=new o(this.text)),this.consumerCache}decodeInline(e){let t=e.match(/^data:application\/json;charset=utf-?8,/)||e.match(/^data:application\/json,/);if(t)return decodeURIComponent(e.substr(t[0].length));let r=e.match(/^data:application\/json;charset=utf-?8;base64,/)||e.match(/^data:application\/json;base64,/);if(r)return n=e.substr(r[0].length),Buffer?Buffer.from(n,"base64").toString():window.atob(n);var n;let i=e.slice(22);throw i=i.slice(0,i.indexOf(",")),new Error("Unsupported source map encoding "+i)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/g);if(!t)return;let r=e.lastIndexOf(t.pop()),n=e.indexOf("*/",r);r>-1&&n>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,n)))}loadFile(e){if(this.root=s(e),n(e))return this.mapFile=e,i(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof o)return c.fromSourceMap(t).toString();if(t instanceof c)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let r=t(e);if(r){let e=this.loadFile(r);if(!e)throw new Error("Unable to load previous source map: "+r.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=a(s(e),t)),this.loadFile(t)}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}e.exports=l,l.default=l},6846(e,t,r){"use strict";let n=r(145),i=r(6966),s=r(4211),a=r(5644);class o{constructor(e=[]){this.version="8.5.10",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)t.push(r);else if("function"==typeof r)t.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new i(this,e,t):new s(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}}e.exports=o,o.default=o,a.registerProcessor(o),n.registerProcessor(o)},3717(e,t,r){"use strict";let n=r(38);class i{get content(){return this.css}constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new n(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>"warning"===e.type)}}e.exports=i,i.default=i},5644(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,r){let n=super.normalize(e);if(t)if("prepend"===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of n)e.raws.before=t.raws.before;return n}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a,s.registerRoot(a)},1534(e,t,r){"use strict";let n=r(7793),i=r(1752);class s extends n{get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}}e.exports=s,s.default=s,n.registerRule(s)},7668(e){"use strict";const t=/(<)(\/?style\b)/gi,r=/(<)(!--)/g;function n(e){return"string"!=typeof e?e:e.includes("<")?e.replace(t,"\\3c $2").replace(r,"\\3c $2"):e}const i={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};class s{constructor(e){this.builder=e}atrule(e,t){let r="@"+e.name,i=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?r+=e.raws.afterName:i&&(r+=" "),e.nodes)this.block(e,r+i);else{let s=(e.raws.between||"")+(t?";":"");this.builder(n(r+i+s),e)}}beforeAfter(e,t){let r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,i=0;for(;n&&"root"!==n.type;)i+=1,n=n.parent;if(r.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===e.nodes[t].type;)t-=1;let r=this.raw(e,"semicolon"),i="document"===e.type;for(let s=0;s{if(n=e.raws[t],void 0!==n)return!1})}var o;return void 0===n&&(n=i[r]),a.rawCache[r]=n,n}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let r;return e.walkComments(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return t=r.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==r.raws.before){let e=r.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let r=e[t],n=e.raws[t];return n&&n.value===r?n.raw:r}root(e){if(this.body(e),e.raws.after){let t=e.raws.after,r=e.parent&&"document"===e.parent.type;this.builder(r?t:n(t))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(n(e.raws.ownSemicolon),e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}}e.exports=s,s.default=s},3303(e,t,r){"use strict";let n=r(7668);function i(e,t){new n(t).stringify(e)}e.exports=i,i.default=i},4151(e){"use strict";e.exports.isClean=Symbol("isClean"),e.exports.my=Symbol("my")},5781(e){"use strict";const t="'".charCodeAt(0),r='"'.charCodeAt(0),n="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),a=" ".charCodeAt(0),o="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),u="[".charCodeAt(0),h="]".charCodeAt(0),f="(".charCodeAt(0),A=")".charCodeAt(0),d="{".charCodeAt(0),p="}".charCodeAt(0),g=";".charCodeAt(0),y="*".charCodeAt(0),m=":".charCodeAt(0),w="@".charCodeAt(0),b=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,k=/[\da-f]/i;e.exports=function(e,I={}){let B,C,S,D,x,K,P,U,T,F,M=e.css.valueOf(),R=I.ignoreErrors,Q=M.length,N=0,O=[],L=[];function G(t){throw e.error("Unclosed "+t,N)}return{back:function(e){L.push(e)},endOfFile:function(){return 0===L.length&&N>=Q},nextToken:function(e){if(L.length)return L.pop();if(N>=Q)return;let I=!!e&&e.ignoreUnclosed;switch(B=M.charCodeAt(N),B){case s:case a:case c:case l:case o:D=N;do{D+=1,B=M.charCodeAt(D)}while(B===a||B===s||B===c||B===l||B===o);K=["space",M.slice(N,D)],N=D-1;break;case u:case h:case d:case p:case m:case g:case A:{let e=String.fromCharCode(B);K=[e,e,N];break}case f:if(F=O.length?O.pop()[1]:"",T=M.charCodeAt(N+1),"url"===F&&T!==t&&T!==r&&T!==a&&T!==s&&T!==c&&T!==o&&T!==l){D=N;do{if(P=!1,D=M.indexOf(")",D+1),-1===D){if(R||I){D=N;break}G("bracket")}for(U=D;M.charCodeAt(U-1)===n;)U-=1,P=!P}while(P);K=["brackets",M.slice(N,D+1),N,D],N=D}else D=M.indexOf(")",N+1),C=M.slice(N,D+1),-1===D||v.test(C)?K=["(","(",N]:(K=["brackets",C,N,D],N=D);break;case t:case r:x=B===t?"'":'"',D=N;do{if(P=!1,D=M.indexOf(x,D+1),-1===D){if(R||I){D=N+1;break}G("string")}for(U=D;M.charCodeAt(U-1)===n;)U-=1,P=!P}while(P);K=["string",M.slice(N,D+1),N,D],N=D;break;case w:b.lastIndex=N+1,b.test(M),D=0===b.lastIndex?M.length-1:b.lastIndex-2,K=["at-word",M.slice(N,D+1),N,D],N=D;break;case n:for(D=N,S=!0;M.charCodeAt(D+1)===n;)D+=1,S=!S;if(B=M.charCodeAt(D+1),S&&B!==i&&B!==a&&B!==s&&B!==c&&B!==l&&B!==o&&(D+=1,k.test(M.charAt(D)))){for(;k.test(M.charAt(D+1));)D+=1;M.charCodeAt(D+1)===a&&(D+=1)}K=["word",M.slice(N,D+1),N,D],N=D;break;default:B===i&&M.charCodeAt(N+1)===y?(D=M.indexOf("*/",N+2)+1,0===D&&(R||I?D=M.length:G("comment")),K=["comment",M.slice(N,D+1),N,D],N=D):(E.lastIndex=N+1,E.test(M),D=0===E.lastIndex?M.length-1:E.lastIndex-2,K=["word",M.slice(N,D+1),N,D],O.push(K),N=D)}return N++,K},position:function(){return N}}}},6156(e){"use strict";let t={};e.exports=function(e){t[e]||(t[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))}},38(e){"use strict";class t{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}e.exports=t,t.default=t},4728(e,t,r){const n=r(378),i=r(7151),{isPlainObject:s}=r(8682),a=r(4744),o=r(9466),{parse:c}=r(2895),l=["img","audio","video","picture","svg","object","map","iframe","embed"],u=["script","style"];function h(e,t){e&&Object.keys(e).forEach(function(r){t(e[r],r)})}function f(e,t){return{}.hasOwnProperty.call(e,t)}function A(e,t){const r=[];return h(e,function(e){t(e)&&r.push(e)}),r}e.exports=p;const d=/^[^\0\t\n\f\r /<=>]+$/;function p(e,t,r){if(null==e)return"";"number"==typeof e&&(e=e.toString());let y="",m="";function w(e,t){const r=this;this.tag=e,this.attribs=t||{},this.tagPosition=y.length,this.text="",this.openingTagLength=0,this.mediaChildren=[],this.updateParentNodeText=function(){K.length&&(K[K.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){K.length&&l.includes(this.tag)&&K[K.length-1].mediaChildren.push(this.tag)}}(t=Object.assign({},p.defaults,t)).parser=Object.assign({},g,t.parser);const b=function(e){return!1===t.allowedTags||(t.allowedTags||[]).indexOf(e)>-1};u.forEach(function(e){b(e)&&!t.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${e}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)});const E=t.nonTextTags||["script","style","textarea","option"];let v,k;t.allowedAttributes&&(v={},k={},h(t.allowedAttributes,function(e,t){v[t]=[];const r=[];e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):v[t].push(e)}),r.length&&(k[t]=new RegExp("^("+r.join("|")+")$"))}));const I={},B={},C={};h(t.allowedClasses,function(e,t){if(v&&(f(v,t)||(v[t]=[]),v[t].push("class")),I[t]=e,Array.isArray(e)){const r=[];I[t]=[],C[t]=[],e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):e instanceof RegExp?C[t].push(e):I[t].push(e)}),r.length&&(B[t]=new RegExp("^("+r.join("|")+")$"))}});const S={};let D,x,K,P,U,T,F;h(t.transformTags,function(e,t){let r;"function"==typeof e?r=e:"string"==typeof e&&(r=p.simpleTransform(e)),"*"===t?D=r:S[t]=r});let M=!1;Q();const R=new n.Parser({onopentag:function(e,r){if(t.onOpenTag&&t.onOpenTag(e,r),t.enforceHtmlBoundary&&"html"===e&&Q(),T)return void F++;const n=new w(e,r);K.push(n);let i=!1;const l=!!n.text;let u;if(f(S,e)&&(u=S[e](e,r),n.attribs=r=u.attribs,void 0!==u.text&&(n.innerText=u.text),e!==u.tagName&&(n.name=e=u.tagName,U[x]=u.tagName)),D&&(u=D(e,r),n.attribs=r=u.attribs,e!==u.tagName&&(n.name=e=u.tagName,U[x]=u.tagName)),(!b(e)||"recursiveEscape"===t.disallowedTagsMode&&!function(e){for(const t in e)if(f(e,t))return!1;return!0}(P)||null!=t.nestingLimit&&x>=t.nestingLimit)&&(i=!0,P[x]=!0,"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||-1!==E.indexOf(e)&&(T=!0,F=1)),x++,i){if("discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode){if(n.innerText&&!l){const r=N(n.innerText);t.textFilter?y+=t.textFilter(r,e):y+=r,M=!0}return}m=y,y=""}y+="<"+e,"script"===e&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(n.innerText=""),i&&("escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode)&&t.preserveEscapedAttributes?h(r,function(e,t){y+=" "+t+'="'+N(e||"",!0)+'"'}):(!v||f(v,e)||v["*"])&&h(r,function(r,i){if(!d.test(i))return void delete n.attribs[i];if(""===r&&!t.allowedEmptyAttributes.includes(i)&&(t.nonBooleanAttributes.includes(i)||t.nonBooleanAttributes.includes("*")))return void delete n.attribs[i];let l=!1;if(!v||f(v,e)&&-1!==v[e].indexOf(i)||v["*"]&&-1!==v["*"].indexOf(i)||f(k,e)&&k[e].test(i)||k["*"]&&k["*"].test(i))l=!0;else if(v&&v[e])for(const t of v[e])if(s(t)&&t.name&&t.name===i){l=!0;let e="";if(!0===t.multiple){const n=r.split(" ");for(const r of n)-1!==t.values.indexOf(r)&&(""===e?e=r:e+=" "+r)}else t.values.indexOf(r)>=0&&(e=r);r=e}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(i)&&O(e,r))return void delete n.attribs[i];if("script"===e&&"src"===i){let e=!0;try{const n=L(r);if(t.allowedScriptHostnames||t.allowedScriptDomains){const r=(t.allowedScriptHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedScriptDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("iframe"===e&&"src"===i){let e=!0;try{const n=L(r);if(n.isRelativeUrl)e=f(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const r=(t.allowedIframeHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedIframeDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("srcset"===i)try{let e=o(r);if(e.forEach(function(e){O("srcset",e.url)&&(e.evil=!0)}),e=A(e,function(e){return!e.evil}),!e.length)return void delete n.attribs[i];r=A(e,function(e){return!e.evil}).map(function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")}).join(", "),n.attribs[i]=r}catch(e){return void delete n.attribs[i]}if("class"===i){const t=I[e],s=I["*"],o=B[e],c=C[e],l=C["*"],f=[o,B["*"]].concat(c,l).filter(function(e){return e});if(!(u=r,h=t&&s?a(t,s):t||s,p=f,r=h?(u=u.split(/\s+/)).filter(function(e){return-1!==h.indexOf(e)||p.some(function(t){return t.test(e)})}).join(" "):u).length)return void delete n.attribs[i]}if("style"===i)if(t.parseStyleAttributes)try{if(r=function(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e},[]).join(";")}(function(e,t){if(!t)return e;const r=e.nodes[0];let n;return n=t[r.selector]&&t["*"]?a(t[r.selector],t["*"]):t[r.selector]||t["*"],n&&(e.nodes[0].nodes=r.nodes.reduce(function(e){return function(t,r){return f(e,r.prop)&&e[r.prop].some(function(e){return e.test(r.value)})&&t.push(r),t}}(n),[])),e}(c(e+" {"+r+"}",{map:!1}),t.allowedStyles)),0===r.length)return void delete n.attribs[i]}catch(t){return"undefined"!=typeof window&&console.warn('Failed to parse "'+e+" {"+r+"}\", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547"),void delete n.attribs[i]}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.");y+=" "+i,r&&r.length?y+='="'+N(r,!0)+'"':t.allowedEmptyAttributes.includes(i)&&(y+='=""')}else delete n.attribs[i];var u,h,p}),-1!==t.selfClosing.indexOf(e)?y+=" />":(y+=">",!n.innerText||l||t.textFilter||(y+=N(n.innerText),M=!0)),i&&(y=m+N(y),m=""),n.openingTagLength=y.length-n.tagPosition},ontext:function(e){if(T)return;const r=K[K.length-1];let n;if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"completelyDiscard"!==t.disallowedTagsMode||b(n))if("discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"script"!==n&&"style"!==n)if("discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"textarea"!==n&&"xmp"!==n){if(!M){const r=N(e,!1);t.textFilter?y+=t.textFilter(r,n):y+=r}}else y+=e;else y+=e;else e="";K.length&&(K[K.length-1].text+=e)},onclosetag:function(e,r){if(t.onCloseTag&&t.onCloseTag(e,r),T){if(F--,F)return;T=!1}const n=K.pop();if(!n)return;if(n.tag!==e)return void K.push(n);T=!!t.enforceHtmlBoundary&&"html"===e,x--;const i=P[x];if(i){if(delete P[x],"discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode)return void n.updateParentNodeText();m=y,y=""}if(U[x]&&(e=U[x],delete U[x]),t.exclusiveFilter){const e=t.exclusiveFilter(n);if("excludeTag"===e)return i&&(y=m,m=""),void(y=y.substring(0,n.tagPosition)+y.substring(n.tagPosition+n.openingTagLength));if(e)return void(y=y.substring(0,n.tagPosition))}n.updateParentNodeMediaChildren(),n.updateParentNodeText(),-1!==t.selfClosing.indexOf(e)||r&&!b(e)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0?i&&(y=m,m=""):(y+="",i&&(y=m+N(y),m=""),M=!1)}},t.parser);if(R.write(e),R.end(),"escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode){const t=R.endIndex;if(null!=t&&t>=0&&t0&&""===y&&(y=N(e))}return y;function Q(){y="",x=0,K=[],P={},U={},T=!1,F=0}function N(e,r){return"string"!=typeof e&&(e+=""),t.parser.decodeEntities&&(e=e.replace(/&/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,"""))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,""")),e}function O(e,r){for(r=r.replace(/[\x00-\x20]+/g,"");;){const e=r.indexOf("\x3c!--");if(-1===e)break;const t=r.indexOf("--\x3e",e+4);if(-1===t)break;r=r.substring(0,e)+r.substring(t+3)}const n=r.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!n)return!!r.match(/^[/\\]{2}/)&&!t.allowProtocolRelative;const i=n[1].toLowerCase();return f(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(i):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(i)}function L(e){if((e=e.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let t="relative://relative-site";for(let e=0;e<100;e++)t+=`/${e}`;const r=new URL(e,t);return{isRelativeUrl:r&&"relative-site"===r.hostname&&"relative:"===r.protocol,url:r}}}const g={decodeEntities:!0};p.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1},p.simpleTransform=function(e,t,r){return r=void 0===r||r,t=t||{},function(n,i){let s;if(r)for(s in t)i[s]=t[s];else i=t;return{tagName:e,attribs:i}}}},7151(e){"use strict";e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},1558(e){"use strict";e.exports=require("../../bundles/raw/web-stream-tools")},9746(){},9977(){},197(){},1866(){},2739(){},5979(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.fromCodePoint=void 0,t.replaceCodePoint=i,t.decodeCodePoint=function(e){return(0,t.fromCodePoint)(i(e))};const n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:e=>{let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t}},9299(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xmlDecodeTree=t.htmlDecodeTree=t.replaceCodePoint=t.fromCodePoint=t.decodeCodePoint=t.EntityDecoder=t.DecodingMode=void 0,t.determineBranch=p,t.decodeHTML=function(e,t=l.Legacy){return g(e,t)},t.decodeHTMLAttribute=function(e){return g(e,l.Attribute)},t.decodeHTMLStrict=function(e){return g(e,l.Strict)},t.decodeXML=function(e){return y(e,l.Strict)};const n=r(5979),i=r(642),s=r(1838),a=r(4865);var o,c,l;function u(e){return e>=o.ZERO&&e<=o.NINE}function h(e){return e>=o.UPPER_A&&e<=o.UPPER_F||e>=o.LOWER_A&&e<=o.LOWER_F}function f(e){return e===o.EQUALS||function(e){return e>=o.UPPER_A&&e<=o.UPPER_Z||e>=o.LOWER_A&&e<=o.LOWER_Z||u(e)}(e)}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(o||(o={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(c||(c={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(l||(t.DecodingMode=l={}));class A{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=c.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=l.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=c.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case c.EntityStart:return e.charCodeAt(t)===o.NUM?(this.state=c.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=c.NamedEntity,this.stateNamedEntity(e,t));case c.NumericStart:return this.stateNumericStart(e,t);case c.NumericDecimal:return this.stateNumericDecimal(e,t);case c.NumericHex:return this.stateNumericHex(e,t);case c.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===o.LOWER_X?(this.state=c.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=c.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t>14;for(;t>7;if(0===this.runConsumed){const r=n&a.BinTrieFlags.JUMP_TABLE;if(e.charCodeAt(t)!==r)return 0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed=e.length)return-1;const n=this.runConsumed-1,i=r[this.treeIndex+1+(n>>1)],s=n%2==0?255&i:i>>8&255;if(e.charCodeAt(t)!==s)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(s>>1),n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14}if(t>=e.length)break;const s=e.charCodeAt(t);if(s===o.SEMI&&0!==i&&0!==(n&a.BinTrieFlags.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=p(r,n,this.treeIndex+Math.max(1,i),s),this.treeIndex<0)return 0===this.result||this.decodeMode===l.Attribute&&(0===i||f(s))?0:this.emitNotTerminatedNamedEntity();if(n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14,0!==i){if(s===o.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==l.Strict&&0===(n&a.BinTrieFlags.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;const{result:t,decodeTree:r}=this,n=(r[t]&a.BinTrieFlags.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,n,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){const{decodeTree:n}=this;return this.emitCodePoint(1===t?n[e]&~(a.BinTrieFlags.VALUE_LENGTH|a.BinTrieFlags.FLAG13):n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r}end(){var e;switch(this.state){case c.NamedEntity:return 0===this.result||this.decodeMode===l.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case c.NumericDecimal:return this.emitNumericEntity(0,2);case c.NumericHex:return this.emitNumericEntity(0,3);case c.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c.EntityStart:return 0}}}function d(e){let t="";const r=new A(e,e=>t+=(0,n.fromCodePoint)(e));return function(e,n){let i=0,s=0;for(;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);const a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}const a=t+e.slice(i);return t="",a}}function p(e,t,r,n){const i=(t&a.BinTrieFlags.BRANCH_LENGTH)>>7,s=t&a.BinTrieFlags.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){const t=n-s;return t<0||t>=i?-1:e[r+t]-1}const o=i+1>>1;let c=0,l=i-1;for(;c<=l;){const t=c+l>>>1,i=e[r+(t>>1)]>>8*(1&t)&255;if(in))return e[r+o+t];l=t-1}}return-1}t.EntityDecoder=A;const g=d(i.htmlDecodeTree),y=d(s.xmlDecodeTree);var m=r(5979);Object.defineProperty(t,"decodeCodePoint",{enumerable:!0,get:function(){return m.decodeCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return m.fromCodePoint}}),Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return m.replaceCodePoint}});var w=r(642);Object.defineProperty(t,"htmlDecodeTree",{enumerable:!0,get:function(){return w.htmlDecodeTree}});var b=r(1838);Object.defineProperty(t,"xmlDecodeTree",{enumerable:!0,get:function(){return b.xmlDecodeTree}})},642(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.htmlDecodeTree=void 0;const n=r(275);t.htmlDecodeTree=(0,n.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg")},1838(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xmlDecodeTree=void 0;const n=r(275);t.xmlDecodeTree=(0,n.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg")},4865(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.BinTrieFlags=void 0,function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(r||(t.BinTrieFlags=r={}))},275(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeBase64=function(e){const t="function"==typeof atob?atob(e):"function"==typeof Buffer.from?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),r=-2&t.length,n=new Uint16Array(r/2);for(let e=0,i=0;e0&&s.has(this.stack[0]);){const e=this.stack.shift();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,e,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(g.has(e)?this.foreignContext.unshift(!0):y.has(e)&&this.foreignContext.unshift(!1))),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var r,n,i,s,a,o,c,l;this.endIndex=t;let u=this.getSlice(e,t);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),this.htmlMode&&(g.has(u)||y.has(u))&&this.foreignContext.shift(),this.isVoidElement(u))this.htmlMode&&"br"===u&&(null===(s=(i=this.cbs).onopentagname)||void 0===s||s.call(i,"br"),null===(o=(a=this.cbs).onopentag)||void 0===o||o.call(a,"br",{},!0),null===(l=(c=this.cbs).onclosetag)||void 0===l||l.call(c,"br",!1));else{const e=this.stack.indexOf(u);if(-1!==e)for(let t=0;t<=e;t++){const i=this.stack.shift();null===(n=(r=this.cbs).onclosetag)||void 0===n||n.call(r,i,t!==e)}else this.htmlMode&&"p"===u&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,r;const n=this.tagname;this.endOpenTag(e),this.stack[0]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.shift())}onattribname(e,t){this.startIndex=e;const r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=(0,c.fromCodePoint)(e)}onattribend(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===o.QuoteType.Double?'"':e===o.QuoteType.Single?"'":e===o.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(m);let r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r}ondeclaration(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`!${e}`,`!${r}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`?${e}`,`?${r}`)}this.startIndex=t+1}oncomment(e,t,r){var n,i,s,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,r){var n,i,s,a,o,c,l,u,h,f;this.endIndex=t;const A=this.getSlice(e,t-r);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,A),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(u=(l=this.cbs).oncomment)||void 0===u||u.call(l,`[CDATA[${A}]]`),null===(f=(h=this.cbs).oncommentend)||void 0===f||f.call(h)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e=this.buffers[0].length;)this.shiftBuffer();let r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndexthis.emitCodePoint(e,t))}reset(){this.state=s.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=s.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=s.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=s.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===i.Gt||o(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=i.LowerA&&e<=i.LowerZ||e>=i.UpperA&&e<=i.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=s.SpecialStartSequence}stateBeforeTagName(e){if(e===i.ExclamationMark)this.state=s.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===i.Questionmark)this.state=s.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=s.InTagName:t===l.ScriptEnd[2]?this.state=s.BeforeSpecialS:t===l.TitleEnd[2]||t===l.XmpEnd[2]?this.state=s.BeforeSpecialT:this.state=s.InTagName}else e===i.Slash?this.state=s.BeforeClosingTagName:(this.state=s.Text,this.stateText(e))}stateInTagName(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){o(e)||(e===i.Gt?this.state=s.Text:(this.state=this.isTagStartChar(e)?s.InClosingTagName:s.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===i.Gt||o(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===i.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=s.InSpecialTag,this.sequenceIndex=0):this.state=s.Text,this.sectionStart=this.index+1):e===i.Slash?this.state=s.InSelfClosingTag:o(e)||(this.state=s.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===i.Gt?(this.cbs.onselfclosingtag(this.index),this.state=s.Text,this.sectionStart=this.index+1,this.isSpecial=!1):o(e)||(this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===i.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=s.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===i.Eq?this.state=s.BeforeAttributeValue:e===i.Slash||e===i.Gt?(this.cbs.onattribend(a.NoValue,this.sectionStart),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):o(e)||(this.cbs.onattribend(a.NoValue,this.sectionStart),this.state=s.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===i.DoubleQuote?(this.state=s.InAttributeValueDq,this.sectionStart=this.index+1):e===i.SingleQuote?(this.state=s.InAttributeValueSq,this.sectionStart=this.index+1):o(e)||(this.sectionStart=this.index,this.state=s.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===i.DoubleQuote?a.Double:a.Single,this.index+1),this.state=s.BeforeAttributeName):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,i.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,i.SingleQuote)}stateInAttributeValueNoQuotes(e){o(e)||e===i.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a.Unquoted,this.index),this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===i.OpeningSquareBracket?(this.state=s.CDATASequence,this.sequenceIndex=0):this.state=e===i.Dash?s.BeforeComment:s.InDeclaration}stateInDeclaration(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===i.Dash?(this.state=s.InCommentLike,this.currentSequence=l.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=s.InDeclaration}stateInSpecialComment(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===l.ScriptEnd[3]?this.startSpecial(l.ScriptEnd,4):t===l.StyleEnd[3]?this.startSpecial(l.StyleEnd,4):(this.state=s.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){switch(32|e){case l.TitleEnd[3]:this.startSpecial(l.TitleEnd,4);break;case l.TextareaEnd[3]:this.startSpecial(l.TextareaEnd,4);break;case l.XmpEnd[3]:this.startSpecial(l.XmpEnd,4);break;default:this.state=s.InTagName,this.stateInTagName(e)}}startEntity(){this.baseState=this.state,this.state=s.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?n.DecodingMode.Strict:this.baseState===s.Text||this.baseState===s.InSpecialTag?n.DecodingMode.Legacy:n.DecodingMode.Attribute)}stateInEntity(){const e=this.index-this.offset,t=this.entityDecoder.write(this.buffer,e);if(t>=0)this.state=this.baseState,0===t&&(this.index-=1);else{if(e=e||(this.state===s.InCommentLike?this.currentSequence===l.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===s.InTagName||this.state===s.BeforeAttributeName||this.state===s.BeforeAttributeValue||this.state===s.AfterAttributeName||this.state===s.InAttributeName||this.state===s.InAttributeValueSq||this.state===s.InAttributeValueDq||this.state===s.InAttributeValueNq||this.state===s.InClosingTagName||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){this.baseState!==s.Text&&this.baseState!==s.InSpecialTag?(this.sectionStarte(t,n.root),t,r);return new c.Parser(n,t)},t.createDomStream=function(e,t,r){const n=new u.DomHandler(e,t,r);return new c.Parser(n,t)},t.parseFeed=function(e,t=y){return(0,p.getFeed)(A(e,t))};const c=r(2067);var l=r(2067);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return l.Parser}});const u=r(1141);var h=r(1141);function f(e,t){const r=new u.DomHandler(void 0,t);return new c.Parser(r,t).end(e),r.root}function A(e,t){return f(e,t).children}Object.defineProperty(t,"DomHandler",{enumerable:!0,get:function(){return h.DomHandler}}),Object.defineProperty(t,"DefaultHandler",{enumerable:!0,get:function(){return h.DomHandler}});var d=r(8391);Object.defineProperty(t,"Tokenizer",{enumerable:!0,get:function(){return o(d).default}}),Object.defineProperty(t,"QuoteType",{enumerable:!0,get:function(){return d.QuoteType}}),t.ElementType=a(r(5413));const p=r(8888);var g=r(8888);Object.defineProperty(t,"getFeed",{enumerable:!0,get:function(){return g.getFeed}});const y={xmlMode:!0};t.DomUtils=a(r(8888))},5042(e){e.exports={nanoid:(e=21)=>{let t="",r=0|e;for(;r--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(r=t)=>{let n="",i=0|r;for(;i--;)n+=e[Math.random()*e.length|0];return n}}},9275(e,t,r){"use strict";r.r(t),r.d(t,{ArrayStream:()=>n.ArrayStream,cancel:()=>n.cancel,clone:()=>n.clone,concat:()=>n.concat,concatStream:()=>n.concatStream,concatUint8Array:()=>i.Cs,fromAsync:()=>n.fromAsync,getReader:()=>n.getReader,getWriter:()=>n.getWriter,isArrayStream:()=>i.AS,isStream:()=>i.rL,isUint8Array:()=>i.mg,parse:()=>n.parse,passiveClone:()=>n.passiveClone,pipe:()=>n.pipe,readToEnd:()=>n.readToEnd,slice:()=>n.slice,toStream:()=>n.toStream,transform:()=>n.transform,transformPair:()=>n.transformPair,transformRaw:()=>n.transformRaw});var n=r(8877),i=r(7971)},8877(e,t,r){"use strict";r.d(t,{ArrayStream:()=>o.S5,cancel:()=>k,clone:()=>m,concat:()=>u,concatStream:()=>h,fromAsync:()=>I,getReader:()=>B,getWriter:()=>C,parse:()=>y,passiveClone:()=>w,pipe:()=>f,readToEnd:()=>v,slice:()=>E,toStream:()=>c,transform:()=>p,transformPair:()=>g,transformRaw:()=>A});var n=r(7971);const i=new WeakSet,s=Symbol("externalBuffer");function a(e){if(this.stream=e,e[s]&&(this[s]=e[s].slice()),(0,n.AS)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if((0,n.rL)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||i.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{i.add(e)}catch(e){}}}a.prototype.read=async function(){return this[s]&&this[s].length?{done:!1,value:this[s].shift()}:this._read()},a.prototype.releaseLock=function(){this[s]&&(this.stream[s]=this[s]),this._releaseLock()},a.prototype.cancel=function(e){return this._cancel(e)},a.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?u(t):void 0;const i=n.indexOf("\n")+1;i&&(e=u(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},a.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(E(t,1)),r},a.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?u(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=u(t);return this.unshift(E(r,e)),E(r,0,e)}}},a.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},a.prototype.unshift=function(...e){this[s]||(this[s]=[]),1===e.length&&(0,n.mg)(e[0])&&this[s].length&&e[0].length&&this[s][0].byteOffset>=e[0].length?this[s][0]=new Uint8Array(this[s][0].buffer,this[s][0].byteOffset-e[0].length,this[s][0].byteLength+e[0].length):this[s].unshift(...e.filter(e=>e&&e.length))},a.prototype.readToEnd=async function(e=u){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};var o=r(9844);function c(e){return(0,n.rL)(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function l(e){if((0,n.rL)(e))return e;const t=new o.S5;return(async()=>{const r=C(t);await r.write(e),await r.close()})(),t}function u(e){return e.some(e=>(0,n.rL)(e)&&!(0,n.AS)(e))?h(e):e.some(e=>(0,n.AS)(e))?function(e){const t=new o.S5;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>f(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):(0,n.Cs)(e)}function h(e){e=e.map(c);const t=d(async function(e){await Promise.all(n.map(t=>k(t,e)))});let r=Promise.resolve();const n=e.map((n,i)=>g(n,(n,s)=>(r=r.then(()=>f(n,t.writable,{preventClose:i!==e.length-1})),r)));return t.readable}async function f(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:a=!1}={}){if((0,n.rL)(e)&&!(0,n.AS)(e)){e=c(e);try{if(e[s]){const r=C(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function p(e,t=()=>{},r=()=>{}){if((0,n.AS)(e)){const n=new o.S5;return(async()=>{const i=C(n);try{const n=await v(e),s=t(n),a=r();let o;o=void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if((0,n.rL)(e))return A(e,{async transform(e,r){try{const n=await t(e);void 0!==n&&r.enqueue(n)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const i=t(e),s=r();return void 0!==i&&void 0!==s?u([i,s]):void 0!==i?i:s}function g(e,t){if((0,n.rL)(e)&&!(0,n.AS)(e)){let r;const n=new TransformStream({start(e){r=e}}),i=f(e,n.writable),s=d(async function(e){r.error(e),await i,await new Promise(setTimeout)});return t(n.readable,s.writable),s.readable}e=l(e);const r=new o.S5;return t(e,r),r}function y(e,t){let r;const n=g(e,(e,i)=>{const s=B(e);s.remainder=()=>(s.releaseLock(),f(e,i),n),r=t(s)});return r}function m(e){if((0,n.AS)(e))return e.clone();if((0,n.rL)(e)){const t=function(e){if((0,n.AS)(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if((0,n.rL)(e)){const t=c(e).tee();return t[0][s]=t[1][s]=e[s],t}return[E(e),E(e)]}(e);return b(e,t[0]),t[1]}return E(e)}function w(e){return(0,n.AS)(e)?m(e):(0,n.rL)(e)?new ReadableStream({start(t){const r=g(e,async(e,r)=>{const n=B(e),i=C(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch(e){}return void await i.close()}try{t.enqueue(r)}catch(e){}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});b(e,r)}}):E(e)}function b(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function E(e,t=0,r=1/0){if((0,n.AS)(e))throw new Error("Not implemented");if((0,n.rL)(e)){if(t>=0&&r>=0){let n=0;return A(e,{transform(e,i){n=t&&i.enqueue(E(e,Math.max(t-n,0),r-n)),n+=e.length):i.terminate()}})}if(t<0&&(r<0||r===1/0)){let n=[];return p(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>E(u(n),t,r))}if(0===t&&r<0){let n;return p(e,e=>{const i=n?u([n,e]):e;if(i.length>=-r)return n=E(i,r),E(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),I(async()=>E(await v(e),t,r))}return e[s]&&(e=u(e[s].concat([e]))),(0,n.mg)(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function v(e,t=u){return(0,n.AS)(e)?e.readToEnd(t):(0,n.rL)(e)?B(e).readToEnd(t):e}async function k(e,t){if((0,n.rL)(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(setTimeout),r}if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function I(e){const t=new o.S5;return(async()=>{const r=C(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function B(e){return new a(e)}function C(e){return new o.AU(e)}},7971(e,t,r){"use strict";r.d(t,{AS:()=>n.AS,Cs:()=>a,mg:()=>s,rL:()=>i});var n=r(9844);function i(e){if((0,n.AS)(e))return"array";if(globalThis.ReadableStream&&globalThis.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function s(e){return Uint8Array.prototype.isPrototypeOf(e)}function a(e){if(1===e.length)return e[0];let t=0;for(let r=0;rc,AU:()=>l,S5:()=>o});const n=Symbol("doneWritingPromise"),i=Symbol("doneWritingResolve"),s=Symbol("doneWritingReject"),a=Symbol("readingIndex");class o extends Array{constructor(){super(),Object.setPrototypeOf(this,o.prototype),this[n]=new Promise((e,t)=>{this[i]=e,this[s]=t}),this[n].catch(()=>{})}}function c(e){return e&&e.getReader&&Array.isArray(e)}function l(e){if(!c(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}o.prototype.getReader=function(){return void 0===this[a]&&(this[a]=0),{read:async()=>(await this[n],this[a]===this.length?{value:void 0,done:!0}:{value:this[this[a]++],done:!1})}},o.prototype.readToEnd=async function(e){await this[n];const t=e(this.slice(this[a]));return this.length=0,t},o.prototype.clone=function(){const e=new o;return e[n]=this[n].then(()=>{e.push(...this)}),e},l.prototype.write=async function(e){this.stream.push(e)},l.prototype.close=async function(){this.stream[i]()},l.prototype.abort=async function(e){return this.stream[s](e),e},l.prototype.releaseLock=function(){}},6382(e,t,r){"use strict";r.r(t),r.d(t,{AEADEncryptedDataPacket:()=>qs,CleartextMessage:()=>za,CompressedDataPacket:()=>Ns,GrammarError:()=>Fs,LiteralDataPacket:()=>ks,MarkerPacket:()=>ta,Message:()=>Ya,OnePassSignaturePacket:()=>Ps,PacketList:()=>Ts,PaddingPacket:()=>la,PrivateKey:()=>Fa,PublicKey:()=>Ta,PublicKeyEncryptedSessionKeyPacket:()=>Zs,PublicKeyPacket:()=>Xs,PublicSubkeyPacket:()=>ra,SecretKeyPacket:()=>ia,SecretSubkeyPacket:()=>oa,Signature:()=>ha,SignaturePacket:()=>Ds,Subkey:()=>Da,SymEncryptedIntegrityProtectedDataPacket:()=>Ys,SymEncryptedSessionKeyPacket:()=>zs,SymmetricallyEncryptedDataPacket:()=>ea,TrustPacket:()=>ca,UnparseablePacket:()=>lt,UserAttributePacket:()=>na,UserIDPacket:()=>aa,armor:()=>re,config:()=>N,createCleartextMessage:()=>$a,createMessage:()=>Za,decrypt:()=>ao,decryptKey:()=>no,decryptSessionKeys:()=>ho,encrypt:()=>so,encryptKey:()=>io,encryptSessionKey:()=>uo,enums:()=>Q,generateKey:()=>eo,generateSessionKey:()=>lo,readCleartextMessage:()=>Xa,readKey:()=>Na,readKeys:()=>La,readMessage:()=>qa,readPrivateKey:()=>Oa,readPrivateKeys:()=>Ga,readSignature:()=>fa,reformatKey:()=>to,revokeKey:()=>ro,sign:()=>oo,unarmor:()=>te,verify:()=>co});const n="undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{},i=Symbol("doneWritingPromise"),s=Symbol("doneWritingResolve"),a=Symbol("doneWritingReject"),o=Symbol("readingIndex");class c extends Array{constructor(){super(),Object.setPrototypeOf(this,c.prototype),this[i]=new Promise((e,t)=>{this[s]=e,this[a]=t}),this[i].catch(()=>{})}}function l(e){return e&&e.getReader&&Array.isArray(e)}function u(e){if(!l(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}function h(e){if(l(e))return"array";if(n.ReadableStream&&n.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(n.ReadableStream&&e instanceof n.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function f(e){return Uint8Array.prototype.isPrototypeOf(e)}function A(e){if(1===e.length)return e[0];let t=0;for(let r=0;r(await this[i],this[o]===this.length?{value:void 0,done:!0}:{value:this[this[o]++],done:!1})}},c.prototype.readToEnd=async function(e){await this[i];const t=e(this.slice(this[o]));return this.length=0,t},c.prototype.clone=function(){const e=new c;return e[i]=this[i].then(()=>{e.push(...this)}),e},u.prototype.write=async function(e){this.stream.push(e)},u.prototype.close=async function(){this.stream[s]()},u.prototype.abort=async function(e){return this.stream[a](e),e},u.prototype.releaseLock=function(){},"object"==typeof n.process&&n.process.versions;const d=new WeakSet,p=Symbol("externalBuffer");function g(e){if(this.stream=e,e[p]&&(this[p]=e[p].slice()),l(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(h(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||d.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{d.add(e)}catch(e){}}}function y(e){return h(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function m(e){const t=h(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new c;return(async()=>{const t=M(r);await t.write(e),await t.close()})(),r}function w(e){return e.some(e=>h(e)&&!l(e))?function(e){e=e.map(y);const t=E(async function(e){await Promise.all(n.map(t=>U(t,e)))});let r=Promise.resolve();const n=e.map((n,i)=>B(n,(n,s)=>(r=r.then(()=>b(n,t.writable,{preventClose:i!==e.length-1})),r)));return t.readable}(e):e.some(e=>l(e))?function(e){const t=new c;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>b(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):A(e)}async function b(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(h(e)&&!l(e)&&!l(t)){e=y(e);try{if(e[p]){const r=M(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function v(e,t=()=>{},r=()=>{},n={highWaterMark:0}){if(h(e))return I(e,t,r,n);const i=t(e),s=r();return void 0!==i&&void 0!==s?w([i,s]):void 0!==i?i:s}async function k(e,t=async()=>{},r=async()=>{},n={highWaterMark:1}){if(h(e))return I(e,t,r,n);const i=await t(e),s=await r();return void 0!==i&&void 0!==s?w([i,s]):void 0!==i?i:s}function I(e,t,r,n){if(l(e)){const n=new c;return(async()=>{const i=M(n);try{const n=await P(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?w([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(h(e)){let i,s=!1;return new ReadableStream({start(){i=e.getReader()},async pull(n){if(s)return n.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await i.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void n.enqueue(c);if(o)return n.close(),void e.releaseLock()}}catch(e){n.error(e)}},async cancel(e){await i.cancel(e)}},n)}throw new Error("Unreachable")}function B(e,t){if(h(e)&&!l(e)){let r;const n=new TransformStream({start(e){r=e}}),i=b(e,n.writable),s=E(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=m(e);const r=new c;return t(e,r),r}function C(e,t){let r;const n=B(e,(e,i)=>{const s=F(e);s.remainder=()=>(s.releaseLock(),b(e,i),n),r=t(s)});return r}function S(e){if(l(e))return e.clone();if(h(e)){const t=function(e){if(l(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if(h(e)){const t=y(e).tee();return t[0][p]=t[1][p]=e[p],t}return[K(e),K(e)]}(e);return x(e,t[0]),t[1]}return K(e)}function D(e){return l(e)?S(e):h(e)?new ReadableStream({start(t){const r=B(e,async(e,r)=>{const n=F(e),i=M(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch(e){}return void await i.close()}try{t.enqueue(r)}catch(e){}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});x(e,r)}}):K(e)}function x(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function K(e,t=0,r=1/0){if(l(e))throw new Error("Not implemented");if(h(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=K(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return v(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>K(w(n),t,r))}if(0===t&&r<0){let n;return v(e,e=>{const i=n?w([n,e]):e;if(i.length>=-r)return n=K(i,r),K(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),T(async()=>K(await P(e),t,r))}return e[p]&&(e=w(e[p].concat([e]))),f(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function P(e,t=w){return l(e)?e.readToEnd(t):h(e)?F(e).readToEnd(t):e}async function U(e,t){if(h(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function T(e){const t=new c;return(async()=>{const r=M(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function F(e){return new g(e)}function M(e){return new u(e)}g.prototype.read=async function(){return this[p]&&this[p].length?{done:!1,value:this[p].shift()}:this._read()},g.prototype.releaseLock=function(){this[p]&&(this.stream[p]=this[p]),this._releaseLock()},g.prototype.cancel=function(e){return this._cancel(e)},g.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?w(t):void 0;const i=n.indexOf("\n")+1;i&&(e=w(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},g.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(K(t,1)),r},g.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?w(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=w(t);return this.unshift(K(r,e)),K(r,0,e)}}},g.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},g.prototype.unshift=function(...e){this[p]||(this[p]=[]),1===e.length&&f(e[0])&&this[p].length&&e[0].length&&this[p][0].byteOffset>=e[0].length?this[p][0]=new Uint8Array(this[p][0].buffer,this[p][0].byteOffset-e[0].length,this[p][0].byteLength+e[0].length):this[p].unshift(...e.filter(e=>e&&e.length))},g.prototype.readToEnd=async function(e=w){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};const R=Symbol("byValue");var Q={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28},symmetric:{idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20,padding:21},literal:{binary:"b".charCodeAt(),text:"t".charCodeAt(),utf8:"u".charCodeAt(),mime:"m".charCodeAt()},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuerKeyID:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw new Error("Invalid enum value.")},read:function(e,t){if(e[R]||(e[R]=[],Object.entries(e).forEach(([t,r])=>{e[R][r]=t})),void 0!==e[R][t])return e[R][t];throw new Error("Invalid enum value.")}},N={preferredHashAlgorithm:Q.hash.sha512,preferredSymmetricAlgorithm:Q.symmetric.aes256,preferredCompressionAlgorithm:Q.compression.uncompressed,aeadProtect:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:Q.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:Q.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([Q.symmetric.aes128,Q.symmetric.aes192,Q.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.3.0",commentString:"https://openpgpjs.org",maxUserIDLength:5120,maxDecompressedMessageSize:1/0,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([Q.hash.md5,Q.hash.ripemd]),rejectMessageHashAlgorithms:new Set([Q.hash.md5,Q.hash.ripemd,Q.hash.sha1]),rejectPublicKeyAlgorithms:new Set([Q.publicKey.elgamal,Q.publicKey.dsa]),rejectCurves:new Set([Q.curve.secp256k1])};const O=(()=>{try{return!1}catch{}return!1})(),L={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:f,isStream:h,getNobleCurve:async(e,t)=>{if(!N.useEllipticFallback)throw new Error("This curve is only supported in the full build of OpenPGP.js");const{nobleCurves:r}=await Promise.resolve().then(function(){return ph});switch(e){case Q.publicKey.ecdh:case Q.publicKey.ecdsa:{const e=r.get(t);if(!e)throw new Error("Unsupported curve");return e}case Q.publicKey.x448:return r.get("x448");case Q.publicKey.ed448:return r.get("ed448");default:throw new Error("Unsupported curve")}},readNumber:function(e){let t=0;for(let r=0;r>8*(t-n-1)&255;return r},readDate:function(e){const t=L.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return L.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=7+(e[0]<<8|e[1])>>>3;return L.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.lengtht)throw new Error("Input array too long");const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=L.uint8ArrayBitLength(e);if(0===t)throw new Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return L.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t>1);for(let r=0;r>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t="0123456789abcdef";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),r},stringToUint8Array:function(e){return v(e,e=>{if(!L.isString(e))throw new Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;rr("",!0))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return v(e,r,()=>r(new Uint8Array,!0))},concat:w,concatUint8Array:A,equalsUint8Array:function(e,t){if(!L.isUint8Array(e)||!L.isUint8Array(t))throw new Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r=0;r--)if(t(e[r],r,e))return r;return-1},writeChecksum:function(e){let t=0;for(let r=0;r>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){const e=void 0!==n&&n.crypto&&n.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!e)throw new Error("The WebCrypto API is not available");return e},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){return"undefined"!=typeof navigator?navigator.hardwareConcurrency||1:this.nodeRequire("os").cpus().length},isEmailAddress:function(e){return!!L.isString(e)&&/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return v(e,e=>{let r;t&&(e=L.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let s=0;for(let t=0;tt?new Uint8Array([13]):void 0)},nativeEOL:function(e){let t=!1;return v(e,e=>{let r;13===(e=t&&10!==e[0]?L.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)},()=>t?new Uint8Array([13]):void 0)},removeTrailingSpaces:function(e){return e.split("\n").map(e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)}).join("\n")},wrapError:function(e,t){if(!t)return e instanceof Error?e:new Error(e);if(e instanceof Error){try{e.message+=": "+t.message,e.cause=t}catch{}return e}return new Error(e+": "+t.message,{cause:t})},constructAllowedPackets:function(e){const t={};return e.forEach(e=>{if(!e.tag)throw new Error("Invalid input: expected a packet class");t[e.tag]=e}),t},anyPromise:function(e){return new Promise((t,r)=>{let n;Promise.all(e.map(async e=>{try{t(await e)}catch(e){n=e}})).then(()=>{r(n)})})},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let s=0;for(let n=0;n{t=L.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,s=H(t.subarray(0,i));for(let e=0;et.length?H(t)+"\n":"")}function Y(e){let t="";return v(e,e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const s=j(t.substr(0,i));return t=t.substr(i),s},()=>j(t))}function J(e){return Y(e.replace(/-/g,"+").replace(/_/g,"/"))}function _(e,t){let r=W(e).replace(/[\r\n]/g,"");return r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,""),r}function q(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw new Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?Q.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?Q.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?Q.armor.signed:/MESSAGE/.test(t[1])?Q.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?Q.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?Q.armor.privateKey:/SIGNATURE/.test(t[1])?Q.armor.signature:void 0}function Z(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function V(e){const t=function(e){let t=13501623;return v(e,e=>{const r=X?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e>24&255]^z[1][t>>16&255]^z[2][t>>8&255]^z[3][255&t];for(let n=4*r;n>8^z[0][255&t^e[n]]},()=>new Uint8Array([t,t>>8,t>>16]))}(e);return W(t)}G?(H=e=>G.from(e).toString("base64"),j=e=>{const t=G.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(H=e=>btoa(L.uint8ArrayToString(e)),j=e=>L.stringToUint8Array(atob(e)));const z=[new Array(255),new Array(255),new Array(255),new Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(8388608&t?8801531:0);z[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)z[1][e]=z[0][e]>>8^z[0][255&z[0][e]];for(let e=0;e<=255;e++)z[2][e]=z[1][e]>>8^z[0][255&z[1][e]];for(let e=0;e<=255;e++)z[3][e]=z[2][e]>>8^z[0][255&z[2][e]];const X=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function $(e){for(let t=0;t=0&&r!==e.length-1&&(t=e.slice(0,r)),t}function te(e){return new Promise((t,r)=>{try{const n=/^-----[^-]+-----$/m,i=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const a=[];let o,c,l=a,u=[];const h=Y(B(e,async(e,f)=>{const A=F(e);try{for(;;){let e=await A.readLine();if(void 0===e)throw new Error("Misformed armored text");if(e=L.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(o)c||s!==Q.armor.signed||(n.test(e)?(u=u.join("\r\n"),c=!0,$(l),l=[],o=!1):u.push(e.replace(/^- /,"")));else if(n.test(e)&&r(new Error("Mandatory blank line missing between armor headers and armor data")),i.test(e)){if($(l),o=!0,c||s!==Q.armor.signed){t({text:u,data:h,headers:a,type:s});break}}else l.push(e);else n.test(e)&&(s=q(e))}}catch(e){return void r(e)}const d=M(f);try{for(;;){await d.ready;const{done:e,value:t}=await A.read();if(e)throw new Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await A.readToEnd();e.length||(e=""),e=r+e,e=L.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw new Error("Misformed armored text");const i=ee(t[0].slice(0,-1));await d.write(i);break}await d.write(r)}await d.ready,await d.close()}catch(e){await d.abort(e)}}))}catch(e){r(e)}}).then(async e=>(l(e.data)&&(e.data=await P(e.data)),e))}function re(e,t,r,n,i,s=!1,a=N){let o,c;e===Q.armor.signed&&(o=t.text,c=t.hash,t=t.data);const l=s&&D(t),u=[];switch(e){case Q.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case Q.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case Q.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push(c?`Hash: ${c}\n\n`:"\n"),u.push(o.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP SIGNATURE-----\n");break;case Q.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP MESSAGE-----\n");break;case Q.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case Q.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case Q.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(Z(i,a)),u.push(W(t)),l&&u.push("=",V(l)),u.push("-----END PGP SIGNATURE-----\n")}return L.concat(u)}const ne=BigInt(0),ie=BigInt(1);function se(e){const t="0123456789ABCDEF";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),BigInt("0x0"+r)}function ae(e,t){const r=e%t;return rne;){const e=n&ie;n>>=ie,s=e?s*i%r:s,i=i*i%r}return s}function ce(e){return e>=ne?e:-e}function le(e,t){const{gcd:r,x:n}=function(e,t){let r=BigInt(0),n=BigInt(1),i=BigInt(1),s=BigInt(0),a=ce(e),o=ce(t);const c=eNumber.MAX_SAFE_INTEGER)throw new Error("Number can only safely store up to 53 bits");return t}function he(e,t){return(e>>BigInt(t)&ie)===ne?0:1}function fe(e){const t=e>=ie)!==t;)r++;return r}function Ae(e){const t=e>=r)!==t;)n++;return n}function de(e,t="be",r){let n=e.toString(16);n.length%2==1&&(n="0"+n);const i=n.length/2,s=new Uint8Array(r||i),a=r?r-i:0;let o=0;for(;oe&&(a=ae(a,i<ae(e,r)!==t)}(e)||!function(e,t=BigInt(2)){return oe(t,e-me,e)===me}(e)||!function(e,t){const r=fe(e);t||(t=Math.max(1,r/48|0));const n=e-me;let i=0;for(;!he(n,i);)i++;const s=e>>BigInt(i);for(;t>0;t--){let t,r=oe(ye(BigInt(2),n),s,e);if(r!==me&&r!==n){for(t=1;tBigInt(e)),ve=L.getWebCrypto(),ke=L.getNodeCrypto(),Ie=ke&&ke.getHashes();function Be(e){if(ke&&Ie.includes(e))return async function(t){const r=ke.createHash(e);return v(t,e=>{r.update(e)},()=>new Uint8Array(r.digest()))}}function Ce(e,t){const r=async()=>{const{nobleHashes:t}=await Promise.resolve().then(function(){return jh}),r=t.get(e);if(!r)throw new Error("Unsupported hash");return r};return async function(e){if(l(e)&&(e=await P(e)),L.isStream(e)){const t=(await r()).create();return v(e,e=>{t.update(e)},()=>t.digest())}return ve&&t?new Uint8Array(await ve.digest(t,e)):(await r())(e)}}const Se=Be("md5")||Ce("md5"),De=Be("sha1")||Ce("sha1","SHA-1"),xe=Be("sha224")||Ce("sha224"),Ke=Be("sha256")||Ce("sha256","SHA-256"),Pe=Be("sha384")||Ce("sha384","SHA-384"),Ue=Be("sha512")||Ce("sha512","SHA-512"),Te=Be("ripemd160")||Ce("ripemd160"),Fe=Be("sha3-256")||Ce("sha3_256"),Me=Be("sha3-512")||Ce("sha3_512");function Re(e,t){switch(e){case Q.hash.md5:return Se(t);case Q.hash.sha1:return De(t);case Q.hash.ripemd:return Te(t);case Q.hash.sha256:return Ke(t);case Q.hash.sha384:return Pe(t);case Q.hash.sha512:return Ue(t);case Q.hash.sha224:return xe(t);case Q.hash.sha3_256:return Fe(t);case Q.hash.sha3_512:return Me(t);default:throw new Error("Unsupported hash function")}}function Qe(e){switch(e){case Q.hash.md5:return 16;case Q.hash.sha1:case Q.hash.ripemd:return 20;case Q.hash.sha256:return 32;case Q.hash.sha384:return 48;case Q.hash.sha512:return 64;case Q.hash.sha224:return 28;case Q.hash.sha3_256:return 32;case Q.hash.sha3_512:return 64;default:throw new Error("Invalid hash algorithm.")}}const Ne=[];function Oe(e,t){const r=e.length;if(r>t-11)throw new Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r=8&!n;if(t)return L.selectUint8Array(a,s,t);if(a)return s;throw new Error("Decryption error")}function Ge(e,t,r){let n;if(t.length!==Qe(e))throw new Error("Invalid hash length");const i=new Uint8Array(Ne[e].length);for(n=0;n=r.length)throw new Error("Digest size cannot exceed key modulus size");if(t&&!L.isStream(t))if(L.getWebCrypto())try{return await async function(e,t,r,n,i,s,a,o){const c=_e(r,n,i,s,a,o),l={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},u=await He.importKey("jwk",c,l,!1,["sign"]);return new Uint8Array(await He.sign("RSASSA-PKCS1-v1_5",u,t))}(Q.read(Q.webHash,e),t,r,n,i,s,a,o)}catch(e){L.printDebugError(e)}else if(L.getNodeCrypto())return function(e,t,r,n,i,s,a,o){const c=je.createSign(Q.read(Q.hash,e));c.write(t),c.end();const l=_e(r,n,i,s,a,o);return new Uint8Array(c.sign({key:l,format:"jwk",type:"pkcs1"}))}(e,t,r,n,i,s,a,o);return function(e,t,r,n){t=se(t);return de(oe(se(Ge(e,n,Ae(t))),r=se(r),t),"be",Ae(t))}(e,r,i,c)}async function Je(e,t,r){return L.getNodeCrypto()?function(e,t,r){const n={key:qe(t,r),format:"jwk",type:"pkcs1",padding:je.constants.RSA_PKCS1_PADDING};return new Uint8Array(je.publicEncrypt(n,e))}(e,t,r):function(e,t,r){if(t=se(t),e=se(Oe(e,Ae(t))),r=se(r),e>=t)throw new Error("Message size cannot exceed modulus size");return de(oe(e,r,t),"be",Ae(t))}(e,t,r)}function _e(e,t,r,n,i,s){const a=se(n),o=se(i),c=se(r);let l=ae(c,o-We),u=ae(c,a-We);return u=de(u),l=de(l),{kty:"RSA",n:_(e),e:_(t),d:_(r),p:_(i),q:_(n),dp:_(l),dq:_(u),qi:_(s),ext:!0}}function qe(e,t){return{kty:"RSA",n:_(e),e:_(t),ext:!0}}function Ze(e,t){return{n:J(e.n),e:de(t),d:J(e.d),p:J(e.q),q:J(e.p),u:J(e.qi)}}const Ve=BigInt(1),ze={"2a8648ce3d030107":Q.curve.nistP256,"2b81040022":Q.curve.nistP384,"2b81040023":Q.curve.nistP521,"2b8104000a":Q.curve.secp256k1,"2b06010401da470f01":Q.curve.ed25519Legacy,"2b060104019755010501":Q.curve.curve25519Legacy,"2b2403030208010107":Q.curve.brainpoolP256r1,"2b240303020801010b":Q.curve.brainpoolP384r1,"2b240303020801010d":Q.curve.brainpoolP512r1};class Xe{constructor(e){if(e instanceof Xe)this.oid=e.oid;else if(L.isArray(e)||L.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw new Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw new Error("Invalid oid")}write(){return L.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return L.uint8ArrayToHex(this.oid)}getName(){const e=ze[this.toHex()];if(!e)throw new Error("Unknown curve object identifier.");return e}}function $e(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=L.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function et(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):L.concatUint8Array([new Uint8Array([255]),L.writeNumber(e,4)])}function tt(e){if(e<0||e>30)throw new Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function rt(e){return new Uint8Array([192|e])}function nt(e,t){return L.concatUint8Array([rt(e),et(t)])}function it(e){return[Q.packet.literalData,Q.packet.compressedData,Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData,Q.packet.aeadEncryptedData].includes(e)}async function st(e,t,r){let n,i;try{const s=await e.peekBytes(2);if(!s||s.length<2||!(128&s[0]))throw new Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const a=await e.readByte();let o,l,u=-1,h=-1;h=0,64&a&&(h=1),h?u=63&a:(u=(63&a)>>2,l=3&a);const f=it(u);let A,d=null;if(t&&f){if("array"===t){const e=new c;n=M(e),d=e}else{const e=new TransformStream;n=M(e.writable),d=e.readable}i=r({tag:u,packet:d})}else d=[];do{if(h){const t=await e.readByte();if(A=!1,t<192)o=t;else if(t>=192&&t<224)o=(t-192<<8)+await e.readByte()+192;else if(t>223&&t<255){if(o=1<<(31&t),A=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte()}else switch(l){case 0:o=await e.readByte();break;case 1:o=await e.readByte()<<8|await e.readByte();break;case 2:o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte();break;default:o=1/0}if(o>0){let t=0;for(;;){n&&await n.ready;const{done:r,value:i}=await e.read();if(r){if(o===1/0)break;throw new Error("Unexpected end of packet")}const s=o===1/0?i:i.subarray(0,o-t);if(n?await n.write(s):d.push(s),t+=i.length,t>=o){e.unshift(i.subarray(o-t+i.length));break}}}}while(A);n?(await n.ready,await n.close()):(d=L.concatUint8Array(d),await r({tag:u,packet:d}))}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i}}class at extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,at),this.name="UnsupportedError"}}class ot extends at{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,at),this.name="UnknownPacketError"}}class ct extends at{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,at),this.name="MalformedPacketError"}}class lt{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}async function ut(e){switch(e){case Q.publicKey.ed25519:try{const e=L.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(J(n.x)),seed:J(r.d)}}catch(t){if("NotSupportedError"!==t.name)throw t;const{default:r}=await Promise.resolve().then(function(){return Ff}),n=ge(dt(e)),{publicKey:i}=r.sign.keyPair.fromSeed(n);return{A:i,seed:n}}case Q.publicKey.ed448:{const e=await L.getNobleCurve(Q.publicKey.ed448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,seed:t}}default:throw new Error("Unsupported EdDSA algorithm")}}async function ht(e,t,r,n,i,s){if(Qe(t){if(e===Q.publicKey.ed25519)return{kty:"OKP",crv:"Ed25519",x:_(t),ext:!0};throw new Error("Unsupported EdDSA algorithm")},yt=(e,t,r)=>{if(e===Q.publicKey.ed25519){const n=gt(e,t);return n.d=_(r),n}throw new Error("Unsupported EdDSA algorithm")};var mt=Object.freeze({__proto__:null,generate:ut,getPayloadSize:dt,getPreferredHashAlgo:pt,sign:ht,validateParams:At,verify:ft});function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function bt(e,...t){if(!wt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Et(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 vt(e,t){bt(e);const r=t.outputLen;if(e.length68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function Dt(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!wt(e))throw new Error("Uint8Array expected, got "+typeof e);e=Rt(e)}return e}function xt(e,t){return e.buffer===t.buffer&&e.byteOffset{function r(r,...n){if(bt(r),!St)throw new Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){const t=n[0];if(!t)throw new Error("nonce / iv required");e.varSizeNonce?bt(t):bt(t,e.nonceLength)}const i=e.tagLength;i&&void 0!==n[1]&&bt(n[1]);const s=t(r,...n),a=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error("cipher output not supported");bt(t)}};let o=!1;return{encrypt(e,t){if(o)throw new Error("cannot encrypt() twice with same key + nonce");return o=!0,bt(e),a(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(bt(e),i&&e.length>i&s),o=Number(r&s);e.setUint32(t+0,a,n),e.setUint32(t+4,o,n)}function Mt(e){return e.byteOffset%4==0}function Rt(e){return Uint8Array.from(e)}const Qt=16,Nt=new Uint8Array(16),Ot=It(Nt),Lt=(e,t,r,n)=>({s3:r<<31|n>>>1,s2:t<<31|r>>>1,s1:e<<31|t>>>1,s0:e>>>1^225<<24&-(1&n)}),Gt=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class Ht{constructor(e,t){this.blockLen=Qt,this.outputLen=Qt,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,bt(e=Dt(e),16);const r=Ct(e);let n=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),a=r.getUint32(12,!1);const o=[];for(let e=0;e<128;e++)o.push({s0:Gt(n),s1:Gt(i),s2:Gt(s),s3:Gt(a)}),({s0:n,s1:i,s2:s,s3:a}=Lt(n,i,s,a));const c=(l=t||1024)>65536?8:l>1024?4:2;var l;if(![1,2,4,8].includes(c))throw new Error("ghash: invalid window size, expected 2, 4 or 8");this.W=c;const u=128/c,h=this.windowSize=2**c,f=[];for(let e=0;e>>c-a-1&1))continue;const{s0:l,s1:u,s2:h,s3:f}=o[c*e+a];r^=l,n^=u,i^=h,s^=f}f.push({s0:r,s1:n,s2:i,s3:s})}this.t=f}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:i,t:s,windowSize:a}=this;let o=0,c=0,l=0,u=0;const h=(1<>>8*e&255;for(let e=8/i-1;e>=0;e--){const r=t>>>i*e&h,{s0:n,s1:A,s2:d,s3:p}=s[f*a+r];o^=n,c^=A,l^=d,u^=p,f+=1}}this.s0=o,this.s1=c,this.s2=l,this.s3=u}update(e){Et(this),bt(e=Dt(e));const t=It(e),r=Math.floor(e.length/Qt),n=e.length%Qt;for(let e=0;e>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(Rt(e));super(r,t),Bt(r)}update(e){e=Dt(e),Et(this);const t=It(e),r=e.length%Qt,n=Math.floor(e.length/Qt);for(let e=0;ee(r,t.length).update(Dt(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const Yt=Wt((e,t)=>new Ht(e,t));Wt((e,t)=>new jt(e,t));const Jt=16,_t=new Uint8Array(Jt);function qt(e){return e<<1^283&-(e>>7)}function Zt(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=qt(e);return r}const Vt=(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=qt(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return Bt(e),t})(),zt=Vt.map((e,t)=>Vt.indexOf(t)),Xt=e=>e<<24|e>>>8,$t=e=>e<<8|e>>>24,er=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function tr(e,t){if(256!==e.length)throw new Error("Wrong sbox length");const r=new Uint32Array(256).map((r,n)=>t(e[n])),n=r.map($t),i=n.map($t),s=i.map($t),a=new Uint32Array(65536),o=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const u=256*t+l;a[u]=r[t]^n[l],o[u]=i[t]^s[l],c[u]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:i,T3:s,T01:a,T23:o}}const rr=tr(Vt,e=>Zt(e,3)<<24|e<<16|e<<8|Zt(e,2)),nr=tr(zt,e=>Zt(e,11)<<24|Zt(e,13)<<16|Zt(e,9)<<8|Zt(e,14)),ir=(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=qt(r))e[t]=r;return e})();function sr(e){bt(e);const t=e.length;if(![16,24,32].includes(t))throw new Error("aes: invalid key size, should be 16, 24 or 32, got "+t);const{sbox2:r}=rr,n=[];Mt(e)||n.push(e=Rt(e));const i=It(e),s=i.length,a=e=>cr(r,e,e,e,e),o=new Uint32Array(t+28);o.set(i);for(let e=s;e6&&e%s===4&&(t=a(t)),o[e]=o[e-s]^t}return Bt(...n),o}function ar(e){const t=sr(e),r=t.slice(),n=t.length,{sbox2:i}=rr,{T0:s,T1:a,T2:o,T3:c}=nr;for(let e=0;e>>8&255]^o[n>>>16&255]^c[n>>>24]}return r}function or(e,t,r,n,i,s){return e[r<<8&65280|n>>>8&255]^t[i>>>8&65280|s>>>24&255]}function cr(e,t,r,n,i){return e[255&t|65280&r]|e[n>>>16&255|i>>>16&65280]<<16}function lr(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=rr;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const l=e.length/4-2;for(let s=0;s=0;e--)r=r+(255&s[e])|0,s[e]=255&r,r>>>=8;({s0:o,s1:c,s2:l,s3:u}=lr(e,a[0],a[1],a[2],a[3]))}const A=Jt*Math.floor(h.length/4);if(A>>0,o.setUint32(u,f,t),({s0:A,s1:d,s2:p,s3:g}=lr(e,a[0],a[1],a[2],a[3]));const y=Jt*Math.floor(c.length/4);if(yr(e,t),decrypt:(e,t)=>r(e,t)}}),dr=Ut({blockSize:16,nonceLength:16},function(e,t,r={}){const n=!r.disablePadding;return{encrypt(r,i){const s=sr(e),{b:a,o,out:c}=function(e,t,r){bt(e);let n=e.length;const i=n%Jt;if(!t&&0!==i)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");Mt(e)||(e=Rt(e));const s=It(e);if(t){let e=Jt-i;e||(e=Jt),n+=e}return Kt(e,r=Tt(n,r)),{b:s,o:It(r),out:r}}(r,n,i);let l=t;const u=[s];Mt(l)||u.push(l=Rt(l));const h=It(l);let f=h[0],A=h[1],d=h[2],p=h[3],g=0;for(;g+4<=a.length;)f^=a[g+0],A^=a[g+1],d^=a[g+2],p^=a[g+3],({s0:f,s1:A,s2:d,s3:p}=lr(s,f,A,d,p)),o[g++]=f,o[g++]=A,o[g++]=d,o[g++]=p;if(n){const e=function(e){const t=new Uint8Array(16),r=It(t);t.set(e);const n=Jt-e.length;for(let e=Jt-n;e16)throw new Error("aes/pcks5: wrong padding");const i=e.subarray(0,-n);for(let t=0;tr(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}});const gr=Ut({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){if(t.length<8)throw new Error("aes/gcm: invalid nonce length");function n(e,t,n){const i=function(e,t,r,n,i){const s=i?i.length:0,a=e.create(r,n.length+s);i&&a.update(i);const o=function(e,t,r){const n=new Uint8Array(16),i=Ct(n);return Ft(i,0,BigInt(t),r),Ft(i,8,BigInt(e),r),n}(8*n.length,8*s,t);a.update(n),a.update(o);const c=a.digest();return Bt(o),c}(Yt,!1,e,n,r);for(let e=0;e=2**32)throw new Error("plaintext should be less than 4gb");const r=sr(e);if(16===t.length)mr(r,t);else{const e=It(t);let n=e[0],i=e[1];for(let t=0,s=1;t<6;t++)for(let t=2;t=2**32)throw new Error("ciphertext should be less than 4gb");const r=ar(e),n=t.length/8-1;if(1===n)wr(r,t);else{const e=It(t);let i=e[0],s=e[1];for(let t=0,a=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,a--){s^=er(a);const{s0:n,s1:o,s2:c,s3:l}=ur(r,i,s,e[t],e[t+1]);i=n,s=o,e[t]=c,e[t+1]=l}e[0]=i,e[1]=s}r.fill(0)}},Er=new Uint8Array(8).fill(166),vr=Ut({blockSize:8},e=>({encrypt(t){if(!t.length||t.length%8!=0)throw new Error("invalid plaintext length");if(8===t.length)throw new Error("8-byte keys not allowed in AESKW, use AESKWP instead");const r=function(...e){let t=0;for(let r=0;r{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);if(r.x!==n.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(J(n.x)),k:J(r.d)}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then(function(){return Ff}),{secretKey:r,publicKey:n}=t.box.keyPair();return{A:n,k:r}}case Q.publicKey.x448:{const e=await L.getNobleCurve(Q.publicKey.x448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,k:t}}default:throw new Error("Unsupported ECDH algorithm")}}async function Fr(e,t,r){switch(e){case Q.publicKey.x25519:try{const{ephemeralPublicKey:n,sharedSecret:i}=await Nr(e,t),s=await Or(e,n,t,r);return L.equalsUint8Array(i,s)}catch{return!1}case Q.publicKey.x448:{const e=(await L.getNobleCurve(Q.publicKey.x448)).getPublicKey(r);return L.equalsUint8Array(t,e)}default:return!1}}async function Mr(e,t,r){const{ephemeralPublicKey:n,sharedSecret:i}=await Nr(e,r),s=L.concatUint8Array([n,r,i]);switch(e){case Q.publicKey.x25519:{const e=Q.symmetric.aes128,{keySize:r}=Sr(e),i=await Pr(Q.hash.sha256,s,new Uint8Array,Ur.x25519,r);return{ephemeralPublicKey:n,wrappedKey:await xr(e,i,t)}}case Q.publicKey.x448:{const e=Q.symmetric.aes256,{keySize:r}=Sr(Q.symmetric.aes256),i=await Pr(Q.hash.sha512,s,new Uint8Array,Ur.x448,r);return{ephemeralPublicKey:n,wrappedKey:await xr(e,i,t)}}default:throw new Error("Unsupported ECDH algorithm")}}async function Rr(e,t,r,n,i){const s=await Or(e,t,n,i),a=L.concatUint8Array([t,n,s]);switch(e){case Q.publicKey.x25519:{const e=Q.symmetric.aes128,{keySize:t}=Sr(e);return Kr(e,await Pr(Q.hash.sha256,a,new Uint8Array,Ur.x25519,t),r)}case Q.publicKey.x448:{const e=Q.symmetric.aes256,{keySize:t}=Sr(Q.symmetric.aes256);return Kr(e,await Pr(Q.hash.sha512,a,new Uint8Array,Ur.x448,t),r)}default:throw new Error("Unsupported ECDH algorithm")}}function Qr(e){switch(e){case Q.publicKey.x25519:return 32;case Q.publicKey.x448:return 56;default:throw new Error("Unsupported ECDH algorithm")}}async function Nr(e,t){switch(e){case Q.publicKey.x25519:try{const r=L.getWebCrypto(),n=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),i=await r.exportKey("jwk",n.publicKey);if((await r.exportKey("jwk",n.privateKey)).x!==i.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}const s=Gr(e,t),a=await r.importKey("jwk",s,"X25519",!1,[]),o=await r.deriveBits({name:"X25519",public:a},n.privateKey,8*Qr(e));return{sharedSecret:new Uint8Array(o),ephemeralPublicKey:new Uint8Array(J(i.x))}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return Ff}),{secretKey:n,publicKey:i}=r.box.keyPair(),s=r.scalarMult(n,t);return Lr(s),{ephemeralPublicKey:i,sharedSecret:s}}case Q.publicKey.x448:{const e=await L.getNobleCurve(Q.publicKey.x448),{secretKey:r,publicKey:n}=e.keygen(),i=e.getSharedSecret(r,t);return Lr(i),{ephemeralPublicKey:n,sharedSecret:i}}default:throw new Error("Unsupported ECDH algorithm")}}async function Or(e,t,r,n){switch(e){case Q.publicKey.x25519:try{const i=L.getWebCrypto(),s=function(e,t,r){if(e===Q.publicKey.x25519){const n=Gr(e,t);return n.d=_(r),n}throw new Error("Unsupported ECDH algorithm")}(e,r,n),a=Gr(e,t),o=await i.importKey("jwk",s,"X25519",!1,["deriveKey","deriveBits"]),c=await i.importKey("jwk",a,"X25519",!1,[]),l=await i.deriveBits({name:"X25519",public:c},o,8*Qr(e));return new Uint8Array(l)}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return Ff}),i=r.scalarMult(n,t);return Lr(i),i}case Q.publicKey.x448:{const e=(await L.getNobleCurve(Q.publicKey.x448)).getSharedSecret(n,t);return Lr(e),e}default:throw new Error("Unsupported ECDH algorithm")}}function Lr(e){let t=0;for(let r=0;r0===s[0]&&ln(a,r,s.subarray(1),i);if(n&&!L.isStream(n))switch(a.type){case"web":try{const e=await async function(e,t,{r,s:n},i,s){const a=rn(e.payloadSize,Yr[e.name],s),o=await sn.importKey("jwk",a,{name:"ECDSA",namedCurve:Yr[e.name],hash:{name:Q.read(Q.webHash,e.hash)}},!1,["verify"]),c=L.concatUint8Array([r,n]).buffer;return sn.verify({name:"ECDSA",namedCurve:Yr[e.name],hash:{name:Q.read(Q.webHash,t)}},o,c,i)}(a,t,r,n,i);return e||o()}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;L.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":{const e=function(e,t,{r,s:n},i,s){const a=L.nodeRequire("eckey-utils"),o=L.getNodeBuffer(),{publicKey:c}=a.generateDer({curveName:_r[e.name],publicKey:o.from(s)}),l=an.createVerify(Q.read(Q.hash,t));l.write(i),l.end();const u=L.concatUint8Array([r,n]);try{return l.verify({key:c,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},u)}catch{return!1}}(a,t,r,n,i);return e||o()}}return await ln(a,r,s,i)||o()}async function ln(e,t,r,n){return(await L.getNobleCurve(Q.publicKey.ecdsa,e.name)).verify(L.concatUint8Array([t.r,t.s]),r,n,{lowS:!1})}var un=Object.freeze({__proto__:null,sign:on,validateParams:async function(e,t,r){const n=new Zr(e);if(n.keyType!==Q.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=ge(8),i=Q.hash.sha256,s=await Re(i,n);try{const a=await on(e,i,n,t,r,s);return await cn(e,i,a,n,t,s)}catch{return!1}}default:return Xr(Q.publicKey.ecdsa,e,t,r)}},verify:cn});async function hn(e,t,r,n,i,s){if($r(new Zr(e),n),Qe(t)0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(L.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw new Error("Invalid padding")}function gn(e,t,r,n){return L.concatUint8Array([t.write(),new Uint8Array([e]),r.write(),L.stringToUint8Array("Anonymous Sender "),n])}async function yn(e,t,r,n,i=!1,s=!1){let a;if(i){for(a=0;a=0&&0===t[a];a--);t=t.subarray(0,a+1)}return(await Re(e,L.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function mn(e,t,r,n,i){const s=function(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}(r),a=new Zr(e);$r(a,n);const{publicKey:o,sharedKey:c}=await async function(e,t){switch(e.type){case"curve25519Legacy":{const{sharedSecret:r,ephemeralPublicKey:n}=await Nr(Q.publicKey.x25519,t.subarray(1));return{publicKey:L.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),n]),sharedKey:r}}case"web":if(e.web&&L.getWebCrypto())try{return await async function(e,t){const r=L.getWebCrypto(),n=rn(e.payloadSize,e.web,t);let i=r.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),s=r.importKey("jwk",n,{name:"ECDH",namedCurve:e.web},!1,[]);[i,s]=await Promise.all([i,s]);let a=r.deriveBits({name:"ECDH",namedCurve:e.web,public:s},i.privateKey,e.sharedSize),o=r.exportKey("jwk",i.publicKey);[a,o]=await Promise.all([a,o]);const c=new Uint8Array(a);return{publicKey:new Uint8Array(tn(o,e.wireFormatLeadingByte)),sharedKey:c}}(e,t)}catch(r){return L.printDebugError(r),En(e,t)}break;case"node":return function(e,t){const r=L.getNodeCrypto().createECDH(e.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t));return{publicKey:new Uint8Array(r.getPublicKey()),sharedKey:n}}(e,t);default:return En(e,t)}}(a,n),l=gn(Q.publicKey.ecdh,e,t,i),{keySize:u}=Sr(t.cipher),h=await yn(t.hash,c,u,l);return{publicKey:o,wrappedKey:await xr(t.cipher,h,s)}}async function wn(e,t,r,n,i,s,a){const o=new Zr(e);$r(o,i),$r(o,r);const{sharedKey:c}=await async function(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519Legacy":{const e=n.slice().reverse();return{secretKey:e,sharedKey:await Or(Q.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&L.getWebCrypto())try{return await async function(e,t,r,n){const i=L.getWebCrypto(),s=nn(e.payloadSize,e.web,r,n);let a=i.importKey("jwk",s,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]);const o=rn(e.payloadSize,e.web,t);let c=i.importKey("jwk",o,{name:"ECDH",namedCurve:e.web},!0,[]);[a,c]=await Promise.all([a,c]);let l=i.deriveBits({name:"ECDH",namedCurve:e.web,public:c},a,e.sharedSize),u=i.exportKey("jwk",a);[l,u]=await Promise.all([l,u]);const h=new Uint8Array(l);return{secretKey:J(u.d),sharedKey:h}}(e,t,r,n)}catch(r){return L.printDebugError(r),bn(e,t,n)}break;case"node":return function(e,t,r){const n=L.getNodeCrypto().createECDH(e.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n);default:return bn(e,t,n)}}(o,r,i,s),l=gn(Q.publicKey.ecdh,e,t,a),{keySize:u}=Sr(t.cipher);let h;for(let e=0;e<3;e++)try{const r=await yn(t.hash,c,u,l,1===e,2===e);return pn(await Kr(t.cipher,r,n))}catch(e){h=e}throw h}async function bn(e,t,r){return{secretKey:r,sharedKey:(await L.getNobleCurve(Q.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function En(e,t){const r=await L.getNobleCurve(Q.publicKey.ecdh,e.name),{publicKey:n,privateKey:i}=await e.genKeyPair();return{publicKey:n,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var vn=Object.freeze({__proto__:null,decrypt:wn,encrypt:mn,validateParams:async function(e,t,r){return Xr(Q.publicKey.ecdh,e,t,r)}}),kn=Object.freeze({__proto__:null,CurveWithOID:Zr,ecdh:vn,ecdhX:Hr,ecdsa:un,eddsa:mt,eddsaLegacy:dn,generate:Vr,getPreferredHashAlgo:zr});const In=BigInt(0),Bn=BigInt(1);class Cn{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw new Error("Invalid symmetric key")}write(){return L.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class Sn{constructor(e){if(e){const{hash:t,cipher:r}=e;this.hash=t,this.cipher=r}else this.hash=null,this.cipher=null}read(e){if(e.length<4||3!==e[0]||1!==e[1])throw new at("Cannot read KDFParams");return this.hash=e[2],this.cipher=e[3],4}write(){return new Uint8Array([3,1,this.hash,this.cipher])}}class Dn{static fromObject({wrappedKey:e,algorithm:t}){const r=new Dn;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=L.readExactSubarray(e,t,t+r),t+=r}write(){return L.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function xn(e,t,r,n,i,s){switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:a}=t,{d:o,p:c,q:l,u}=r;return async function(e,t,r,n,i,s,a,o){if(L.getNodeCrypto()&&!o)try{return function(e,t,r,n,i,s,a){const o={key:_e(t,r,n,i,s,a),format:"jwk",type:"pkcs1",padding:je.constants.RSA_PKCS1_PADDING};try{return new Uint8Array(je.privateDecrypt(o,e))}catch{throw new Error("Decryption error")}}(e,t,r,n,i,s,a)}catch(e){L.printDebugError(e)}return function(e,t,r,n,i,s,a,o){if(e=se(e),t=se(t),r=se(r),n=se(n),i=se(i),s=se(s),a=se(a),e>=t)throw new Error("Data too large.");const c=ae(n,s-We),l=ae(n,i-We),u=ye(BigInt(2),t),h=oe(le(u,t),r,t),f=oe(e=ae(e*h,t),l,i);let A=ae(a*(oe(e,c,s)-f),s)*i+f;return A=ae(A*u,t),Le(de(A,"be",Ae(t)),o)}(e,t,r,n,i,s,a,o)}(e,i,a,o,c,l,u,s)}case Q.publicKey.elgamal:{const{c1:e,c2:i}=n;return async function(e,t,r,n,i){return e=se(e),t=se(t),r=se(r),Le(de(ae(le(oe(e,n=se(n),r),r)*t,r),"be",Ae(r)),i)}(e,i,t.p,r.x,s)}case Q.publicKey.ecdh:{const{oid:e,Q:s,kdfParams:a}=t,{d:o}=r,{V:c,C:l}=n;return wn(e,a,c,l.data,s,o,i)}case Q.publicKey.x25519:case Q.publicKey.x448:{const{A:i}=t,{k:s}=r,{ephemeralPublicKey:a,C:o}=n;if(null!==o.algorithm&&!L.isAES(o.algorithm))throw new Error("AES session key expected");return Rr(e,a,o.wrappedKey,i,s)}default:throw new Error("Unknown public key encryption algorithm.")}}function Kn(e,t,r){let n=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const e=L.readMPI(t.subarray(n));n+=e.length+2;const r=L.readMPI(t.subarray(n));n+=r.length+2;const i=L.readMPI(t.subarray(n));n+=i.length+2;const s=L.readMPI(t.subarray(n));return n+=s.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:s}}}case Q.publicKey.dsa:case Q.publicKey.elgamal:{const e=L.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case Q.publicKey.ecdsa:case Q.publicKey.ecdh:{const i=Fn(e,r.oid);let s=L.readMPI(t.subarray(n));return n+=s.length+2,s=L.leftPad(s,i),{read:n,privateParams:{d:s}}}case Q.publicKey.eddsaLegacy:{const i=Fn(e,r.oid);if(r.oid.getName()!==Q.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let s=L.readMPI(t.subarray(n));return n+=s.length+2,s=L.leftPad(s,i),{read:n,privateParams:{seed:s}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const r=Fn(e),i=L.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{seed:i}}}case Q.publicKey.x25519:case Q.publicKey.x448:{const r=Fn(e),i=L.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{k:i}}}default:throw new at("Unknown public key encryption algorithm.")}}function Pn(e,t){const r=new Set([Q.publicKey.ed25519,Q.publicKey.x25519,Q.publicKey.ed448,Q.publicKey.x448]),n=Object.keys(t).map(n=>{const i=t[n];return L.isUint8Array(i)?r.has(e)?i:L.uint8ArrayToMPI(i):i.write()});return L.concatUint8Array(n)}function Un(e){const{keySize:t}=Sr(e);return ge(t)}function Tn(e){try{e.getName()}catch{throw new at("Unknown curve OID")}}function Fn(e,t){switch(e){case Q.publicKey.ecdsa:case Q.publicKey.ecdh:case Q.publicKey.eddsaLegacy:return new Zr(t).payloadSize;case Q.publicKey.ed25519:case Q.publicKey.ed448:return dt(e);case Q.publicKey.x25519:case Q.publicKey.x448:return Qr(e);default:throw new Error("Unknown elliptic algo")}}const Mn=L.getWebCrypto(),Rn=L.getNodeCrypto(),Qn=Rn?Rn.getCiphers():[],Nn={idea:Qn.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Qn.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Qn.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Qn.includes("bf-cfb")?"bf-cfb":void 0,aes128:Qn.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Qn.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Qn.includes("aes-256-cfb")?"aes-256-cfb":void 0};function On(e){const{blockSize:t}=Sr(e),r=ge(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return L.concat([r,n])}async function Ln(e,t,r,n,i){const s=Q.read(Q.symmetric,e);if(L.getNodeCrypto()&&Nn[s])return function(e,t,r,n){const i=Q.read(Q.symmetric,e),s=new Rn.createCipheriv(Nn[i],t,n);return v(r,e=>new Uint8Array(s.update(e)))}(e,t,r,n);if(L.isAES(e))return async function(e,t,r,n){if(Mn&&await Hn.isSupported(e)){const i=new Hn(e,t,n);return L.isStream(r)?k(r,e=>i.encryptChunk(e),()=>i.finish()):i.encrypt(r)}if(L.isStream(r)){const i=new jn(!0,e,t,n);return k(r,e=>i.processChunk(e),()=>i.finish())}return pr(t,n).encrypt(r)}(e,t,r,n);const a=new(await Ir(e))(t),o=a.blockSize,c=n.slice();let l=new Uint8Array;const u=e=>{e&&(l=L.concatUint8Array([l,e]));const t=new Uint8Array(l.length);let r,n=0;for(;e?l.length>=o:l.length;){const e=a.encrypt(c);for(r=0;rnew Uint8Array(s.update(e)))}(e,t,r,n);if(L.isAES(e))return function(e,t,r,n){if(L.isStream(r)){const i=new jn(!1,e,t,n);return k(r,e=>i.processChunk(e),()=>i.finish())}return pr(t,n).decrypt(r)}(e,t,r,n);const s=new(await Ir(e))(t),a=s.blockSize;let o=n,c=new Uint8Array;const l=e=>{e&&(c=L.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=a:c.length;){const e=s.encrypt(o);for(o=c.subarray(0,a),r=0;r!0,()=>!1)}async _runCBC(e,t){const r="AES-CBC";this.keyRef=this.keyRef||await Mn.importKey("raw",this.key,r,!1,["encrypt"]);const n=await Mn.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e);return new Uint8Array(n).subarray(0,e.length)}async encryptChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=L.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=L.concatUint8Array([this.prevBlock,n.subarray(0,n.length-this.blockSize)]),s=await this._runCBC(i);return Wn(s,n),this.prevBlock=s.slice(-this.blockSize),r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,s}let n;if(this.i+=r.length,this.i===this.nextBlock.length){const t=this.nextBlock;n=await this._runCBC(this.prevBlock),Wn(n,t),this.prevBlock=n.slice(),this.i=0;const i=e.subarray(r.length);this.nextBlock.set(i,this.i),this.i+=i.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);const t=this.nextBlock,r=await this._runCBC(this.prevBlock);Wn(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){const t=(await this._runCBC(L.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return Wn(t,e),this.clearSensitiveData(),t}}class jn{constructor(e,t,r,n){this.forEncryption=e;const{blockSize:i}=Sr(t);this.key=kr.expandKeyLE(r),n.byteOffset%4!=0&&(n=n.slice()),this.prevBlock=Yn(n),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){const t=Yn(e),r=new Uint8Array(e.length),n=Yn(r);for(let e=0;e+4<=n.length;e+=4){const{s0:r,s1:i,s2:s,s3:a}=kr.encrypt(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);n[e+0]=t[e+0]^r,n[e+1]=t[e+1]^i,n[e+2]=t[e+2]^s,n[e+3]=t[e+3]^a,this.prevBlock=(this.forEncryption?n:t).slice(e,e+4)}return r}async processChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=L.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=this._runCFB(n);return r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,i}let n;if(this.i+=r.length,this.i===this.nextBlock.length){n=this._runCFB(this.nextBlock),this.i=0;const t=e.subarray(r.length);this.nextBlock.set(t,this.i),this.i+=t.length}else n=new Uint8Array;return n}async finish(){let e;return e=0===this.i?new Uint8Array:this._runCFB(this.nextBlock).subarray(0,this.i),this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function Wn(e,t){const r=Math.min(e.length,t.length);for(let n=0;nnew Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Jn=L.getWebCrypto(),_n=L.getNodeCrypto(),qn=16;function Zn(e,t){const r=e.length-qn;for(let n=0;ndr(t,hi,{disablePadding:!0}).encrypt(e),s=e=>dr(t,hi,{disablePadding:!0}).decrypt(e);let a;function o(e,t,r,s){const o=t.length/oi|0;!function(e,t){const r=L.nbits(Math.max(e.length,t.length)/oi|0)-1;for(let e=n+1;e<=r;e++)a[e]=L.double(a[e-1]);n=r}(t,s);const c=L.concatUint8Array([hi.subarray(0,15-r.length),fi,r]),l=63&c[15];c[15]&=192;const u=i(c),h=L.concatUint8Array([u,ui(u.subarray(0,8),u.subarray(1,9))]),f=L.shiftRight(h.subarray(0+(l>>3),17+(l>>3)),8-(7&l)).subarray(1),A=new Uint8Array(oi),d=new Uint8Array(t.length+16);let p,g=0;for(p=0;p=r)throw new Error("Signature size cannot exceed modulus size");const s=de(oe(t,n,r),"be",Ae(r)),a=Ge(e,i,Ae(r));return L.equalsUint8Array(s,a)}(e,r,n,i,s)}(t,i,L.leftPad(r.s,e.length),e,a,s)}case Q.publicKey.dsa:{const{g:e,p:t,q:i,y:a}=n,{r:o,s:c}=r;return async function(e,t,r,n,i,s,a,o){if(t=se(t),r=se(r),s=se(s),a=se(a),i=se(i),o=se(o),t<=In||t>=a||r<=In||r>=a)return L.printDebug("invalid DSA Signature"),!1;const c=ae(se(n.subarray(0,Ae(a))),a),l=le(r,a);if(l===In)return L.printDebug("invalid DSA Signature"),!1;i=ae(i,s),o=ae(o,s);const u=ae(c*l,a),h=ae(t*l,a);return ae(ae(oe(i,u,s)*oe(o,h,s),s),a)===t}(0,o,c,s,e,t,i,a)}case Q.publicKey.ecdsa:{const{oid:e,Q:a}=n,o=new Zr(e).payloadSize;return cn(e,t,{r:L.leftPad(r.r,o),s:L.leftPad(r.s,o)},i,a,s)}case Q.publicKey.eddsaLegacy:{const{oid:e,Q:i}=n,a=new Zr(e).payloadSize;return fn(e,t,{r:L.leftPad(r.r,a),s:L.leftPad(r.s,a)},0,i,s)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const{A:i}=n;return ft(e,t,r,0,i,s)}default:throw new Error("Unknown signature algorithm.")}}mi.getNonce=function(e,t){const r=e.slice();for(let e=0;e1048576&&(ki=vi(),ki.catch(()=>{})),n}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new Ei("Could not allocate required memory for Argon2"):e}}}class Bi{constructor(e,t=N){this.algorithm=Q.hash.sha256,this.type=Q.read(Q.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=ge(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==L.uint8ArrayToString(e.subarray(t,t+3)))throw new at("Unknown s2k type.");if(t+=3,1001!==1e3+e[t++])throw new at("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new at("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...L.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([Q.write(Q.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw new Error("GNU s2k type not supported.");default:throw new Error("Unknown s2k type.")}return L.concatUint8Array(e)}async produceKey(e,t){e=L.encodeUTF8(e);const r=[];let n=0,i=0;for(;n>1|(21845&ji)<<1;Wi=(61680&(Wi=(52428&Wi)>>2|(13107&Wi)<<2))>>4|(3855&Wi)<<4,Hi[ji]=((65280&Wi)>>8|(255&Wi)<<8)>>1}var Yi=function(e,t,r){for(var n=e.length,i=0,s=new Ki(t);i>c]=l}else for(a=new Ki(n),i=0;i>15-e[i]);return a},Ji=new xi(288);for(ji=0;ji<144;++ji)Ji[ji]=8;for(ji=144;ji<256;++ji)Ji[ji]=9;for(ji=256;ji<280;++ji)Ji[ji]=7;for(ji=280;ji<288;++ji)Ji[ji]=8;var _i=new xi(32);for(ji=0;ji<32;++ji)_i[ji]=5;var qi=Yi(Ji,9,0),Zi=Yi(Ji,9,1),Vi=Yi(_i,5,0),zi=Yi(_i,5,1),Xi=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},$i=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},es=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ts=function(e){return(e+7)/8|0},rs=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new xi(e.subarray(t,r))},ns=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],is=function(e,t,r){var n=new Error(t||ns[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,is),!r)throw n;return n},ss=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8},as=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8,e[n+2]|=r>>16},os=function(e,t){for(var r=[],n=0;nf&&(f=s[n].s);var A=new Ki(f+1),d=cs(r[u-1],A,0);if(d>t){n=0;var p=0,g=d-t,y=1<t))break;p+=y-(1<>=g;p>0;){var w=s[n].s;A[w]=0&&p;--n){var b=s[n].s;A[b]==t&&(--A[b],++p)}d=t}return{t:new xi(A),l:d}},cs=function(e,t,r){return-1==e.s?Math.max(cs(e.l,t,r+1),cs(e.r,t,r+1)):t[e.s]=r},ls=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new Ki(++t),n=0,i=e[0],s=1,a=function(e){r[n++]=e},o=1;o<=t;++o)if(e[o]==i&&o!=t)++s;else{if(!i&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(i),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(i);s=1,i=e[o]}return{c:r.subarray(0,n),n:t}},us=function(e,t){for(var r=0,n=0;n>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var s=0;s4&&!C[Fi[D-1]];--D);var x,K,P,U,T=l+5<<3,F=us(i,Ji)+us(s,_i)+a,M=us(i,f)+us(s,p)+a+14+3*D+us(k,C)+2*k[16]+3*k[17]+7*k[18];if(c>=0&&T<=F&&T<=M)return hs(t,u,e.subarray(c,c+l));if(ss(t,u,1+(M15&&(ss(t,u,O[I]>>5&127),u+=O[I]>>12)}}}else x=qi,K=Ji,P=Vi,U=_i;for(I=0;I255){as(t,u,x[257+(L=G>>18&31)]),u+=K[L+257],L>7&&(ss(t,u,G>>23&31),u+=Ui[L]);var H=31&G;as(t,u,P[H]),u+=U[H],H>3&&(as(t,u,G>>5&8191),u+=Ti[H])}else as(t,u,x[G]),u+=K[G]}return as(t,u,x[256]),u+K[256]},As=new Pi([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ds=new xi(0),ps=function(){var e=1,t=0;return{p:function(r){for(var n=e,i=t,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}e=n,t=i},d:function(){return(255&(e%=65521))<<24|(65280&e)<<8|(255&(t%=65521))<<8|t>>8}}},gs=function(e,t,r,n,i){if(!i&&(i={l:1},t.dictionary)){var s=t.dictionary.subarray(-32768),a=new xi(s.length+e.length);a.set(s),a.set(e,s.length),e=a,i.w=s.length}return function(e,t,r,n,i,s){var a=s.z||e.length,o=new xi(n+a+5*(1+Math.ceil(a/7e3))+i),c=o.subarray(n,o.length-i),l=s.l,u=7&(s.r||0);if(t){u&&(c[0]=s.r>>3);for(var h=As[t-1],f=h>>13,A=8191&h,d=(1<7e3||C>24576)&&(U>423||!l)){u=fs(e,c,0,b,E,v,I,C,D,B-D,u),C=k=I=0,D=B;for(var T=0;T<286;++T)E[T]=0;for(T=0;T<30;++T)v[T]=0}var F=2,M=0,R=A,Q=K-P&32767;if(U>2&&x==w(B-Q))for(var N=Math.min(f,U)-1,O=Math.min(32767,B),L=Math.min(258,U);Q<=O&&--R&&K!=P;){if(e[B+F]==e[B+F-Q]){for(var G=0;GF){if(F=G,M=Q,G>N)break;var H=Math.min(Q,G-2),j=0;for(T=0;Tj&&(j=Y,P=W)}}}Q+=(K=P)-(P=p[K])&32767}if(M){b[C++]=268435456|Ni[F]<<18|Gi[M];var J=31&Ni[F],_=31&Gi[M];I+=Ui[J]+Ti[_],++E[257+J],++v[_],S=B+F,++k}else b[C++]=e[B],++E[e[B]]}}for(B=Math.max(B,S);B=a&&(c[u/8|0]=l,q=a),u=hs(c,u+1,e.subarray(B,q))}s.i=a}return rs(o,0,n+ts(u)+i)}(e,null==t.level?6:t.level,null==t.mem?i.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,r,n,i)},ys=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},ms=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new xi(98304),this.o.dictionary){var r=this.o.dictionary.subarray(-32768);this.b.set(r,32768-r.length),this.s.i=32768-r.length}}return e.prototype.p=function(e,t){this.ondata(gs(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||is(5),this.s.l&&is(4);var r=e.length+this.s.z;if(r>this.b.length){if(r>2*this.b.length-32768){var n=new xi(-32768&r);n.set(this.b.subarray(0,this.s.z)),this.b=n}var i=this.b.length-this.s.z;this.b.set(e.subarray(0,i),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(i),32768),this.s.z=e.length-i+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||is(5),this.s.l&&is(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),ws=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var r=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:r?r.length:0},this.o=new xi(32768),this.p=new xi(0),r&&this.o.set(r)}return e.prototype.e=function(e){if(this.ondata||is(5),this.d&&is(4),this.p.length){if(e.length){var t=new xi(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,r=function(e,t,r){var n=e.length;if(!n||t.f&&!t.l)return r||new xi(0);var i=!r,s=i||2!=t.i,a=t.i;i&&(r=new xi(3*n));var o=function(e){var t=r.length;if(e>t){var n=new xi(Math.max(2*t,e));n.set(r),r=n}},c=t.f||0,l=t.p||0,u=t.b||0,h=t.l,f=t.d,A=t.m,d=t.n,p=8*n;do{if(!h){c=$i(e,l,1);var g=$i(e,l+1,3);if(l+=3,!g){var y=e[(D=ts(l)+4)-4]|e[D-3]<<8,m=D+y;if(m>n){a&&is(0);break}s&&o(u+y),r.set(e.subarray(D,m),u),t.b=u+=y,t.p=l=8*m,t.f=c;continue}if(1==g)h=Zi,f=zi,A=9,d=5;else if(2==g){var w=$i(e,l,31)+257,b=$i(e,l+10,15)+4,E=w+$i(e,l+5,31)+1;l+=14;for(var v=new xi(E),k=new xi(19),I=0;I>4)<16)v[I++]=D;else{var K=0,P=0;for(16==D?(P=3+$i(e,l,3),l+=2,K=v[I-1]):17==D?(P=3+$i(e,l,7),l+=3):18==D&&(P=11+$i(e,l,127),l+=7);P--;)v[I++]=K}}var U=v.subarray(0,w),T=v.subarray(w);A=Xi(U),d=Xi(T),h=Yi(U,A,1),f=Yi(T,d,1)}else is(1);if(l>p){a&&is(0);break}}s&&o(u+131072);for(var F=(1<>4;if((l+=15&K)>p){a&&is(0);break}if(K||is(2),Q<256)r[u++]=Q;else{if(256==Q){R=l,h=null;break}var N=Q-254;if(Q>264){var O=Ui[I=Q-257];N=$i(e,l,(1<>4;if(L||is(3),l+=15&L,T=Li[G],G>3&&(O=Ti[G],T+=es(e,l)&(1<p){a&&is(0);break}s&&o(u+131072);var H=u+N;if(u>4>7||(r[0]<<8|r[1])%31)&&is(6,"invalid zlib data"),(r[1]>>5&1)==+!n&&is(6,"invalid zlib data: "+(32&r[1]?"need":"unexpected")+" dictionary"),2+(r[1]>>3&4))),this.v=0}var r,n;t&&(this.p.length<4&&is(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),ws.prototype.c.call(this,t)},e}(),vs="undefined"!=typeof TextDecoder&&new TextDecoder;try{vs.decode(ds,{stream:!0})}catch(e){}class ks{static get tag(){return Q.packet.literalData}constructor(e=new Date){this.format=Q.literal.utf8,this.date=L.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=Q.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||L.isStream(this.text))&&(this.text=L.decodeUTF8(L.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=L.canonicalizeEOL(L.encodeUTF8(this.text))),e?D(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await C(e,async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=L.decodeUTF8(await e.readBytes(r)),this.date=L.readDate(await e.readBytes(4));let n=e.remainder();l(n)&&(n=await P(n)),this.setBytes(n,t)})}writeHeader(){const e=L.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=L.writeDate(this.date);return L.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return L.concat([e,t])}}class Is{constructor(){this.bytes=""}read(e){return this.bytes=L.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return L.stringToUint8Array(this.bytes)}toHex(){return L.uint8ArrayToHex(L.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new Is;return t.read(L.hexToUint8Array(e)),t}static wildcard(){const e=new Is;return e.read(new Uint8Array(8)),e}}const Bs=Symbol("verified"),Cs="salt@notations.openpgpjs.org",Ss=new Set([Q.signatureSubpacket.issuerKeyID,Q.signatureSubpacket.issuerFingerprint,Q.signatureSubpacket.embeddedSignature]);class Ds{static get tag(){return Q.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Is,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.preferredCipherSuites=null,this.revoked=null,this[Bs]=null}read(e,t=N){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new at("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new at(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw new Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){const t=e[r++];this.salt=e.subarray(r,r+t),r+=t}const n=e.subarray(r,e.length),{read:i,signatureParams:s}=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const e=L.readMPI(t.subarray(r));return r+=e.length+2,{read:r,signatureParams:{s:e}}}case Q.publicKey.dsa:case Q.publicKey.ecdsa:{const e=L.readMPI(t.subarray(r));r+=e.length+2;const n=L.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case Q.publicKey.eddsaLegacy:{const e=L.readMPI(t.subarray(r));r+=e.length+2;const n=L.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const n=2*dt(e),i=L.readExactSubarray(t,r,r+n);return r+=i.length,{read:r,signatureParams:{RS:i}}}default:throw new at("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,n);if(iPn(this.publicKeyAlgorithm,await this.params)):Pn(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),L.concat(e)}async sign(e,t,r=new Date,n=!1,i){this.version=e.version,this.created=L.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();const s=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){const e=Ks(this.hashAlgorithm);if(null===this.salt)this.salt=ge(e);else if(e!==this.salt.length)throw new Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter(({name:e})=>e===Cs).length)throw new Error("Unexpected existing salt notation");{const e=ge(Ks(this.hashAlgorithm));this.rawNotations.push({name:Cs,value:e,humanReadable:!1,critical:!1})}}s.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=L.concat(s);const a=this.toHash(this.signatureType,t,n),o=await this.hash(this.signatureType,t,a,n);this.signedHashValue=K(S(o),0,2);const c=async()=>async function(e,t,r,n,i,s){if(!r||!n)throw new Error("Missing key parameters");switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const{n:e,e:a}=r,{d:o,p:c,q:l,u}=n;return{s:await Ye(t,i,e,a,o,c,l,u,s)}}case Q.publicKey.dsa:{const{g:e,p:t,q:i}=r,{x:a}=n;return async function(e,t,r,n,i,s){const a=BigInt(0);let o,c,l,u;n=se(n),i=se(i),r=se(r),s=se(s),r=ae(r,n),s=ae(s,i);const h=ae(se(t.subarray(0,Ae(i))),i);for(;;){if(o=ye(Bn,i),c=ae(oe(r,o,n),i),c===a)continue;const e=ae(s*c,i);if(u=ae(h+e,i),l=ae(le(o,i)*u,i),l!==a)break}return{r:de(c,"be",Ae(n)),s:de(l,"be",Ae(n))}}(0,s,e,t,i,a)}case Q.publicKey.elgamal:throw new Error("Signing with Elgamal is not defined in the OpenPGP standard.");case Q.publicKey.ecdsa:{const{oid:e,Q:a}=r,{d:o}=n;return on(e,t,i,a,o,s)}case Q.publicKey.eddsaLegacy:{const{oid:e,Q:i}=r,{seed:a}=n;return hn(e,t,0,i,a,s)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const{A:i}=r,{seed:a}=n;return ht(e,t,0,i,a,s)}default:throw new Error("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await P(o));L.isStream(o)?this.params=c():(this.params=await c(),this[Bs]=!0)}writeHashedSubPackets(){const e=Q.signatureSubpacket,t=[];let r;if(null===this.created)throw new Error("Missing signature creation time");t.push(xs(e.signatureCreationTime,!0,L.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(xs(e.signatureExpirationTime,!0,L.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(xs(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(xs(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(xs(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(xs(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(xs(e.keyExpirationTime,!0,L.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(xs(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=L.concat([r,this.revocationKeyFingerprint]),t.push(xs(e.revocationKey,!1,r))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&t.push(xs(e.issuerKeyID,!1,this.issuerKeyID.write())),this.rawNotations.forEach(({name:n,value:i,humanReadable:s,critical:a})=>{r=[new Uint8Array([s?128:0,0,0,0])];const o=L.encodeUTF8(n);r.push(L.writeNumber(o.length,2)),r.push(L.writeNumber(i.length,2)),r.push(o),r.push(i),r=L.concat(r),t.push(xs(e.notationData,a,r))}),null!==this.preferredHashAlgorithms&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(xs(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(xs(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.keyServerPreferences)),t.push(xs(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(xs(e.preferredKeyServer,!1,L.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(xs(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(xs(e.policyURI,!1,L.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.keyFlags)),t.push(xs(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(xs(e.signersUserID,!1,L.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=L.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(xs(e.reasonForRevocation,!0,r))),null!==this.features&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.features)),t.push(xs(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(L.stringToUint8Array(this.signatureTargetHash)),r=L.concat(r),t.push(xs(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(xs(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=L.concat(r),t.push(xs(e.issuerFingerprint,this.version>=5,r))),null!==this.preferredAEADAlgorithms&&(r=L.stringToUint8Array(L.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(xs(e.preferredAEADAlgorithms,!1,r))),null!==this.preferredCipherSuites&&(r=new Uint8Array([].concat(...this.preferredCipherSuites)),t.push(xs(e.preferredCipherSuites,!1,r)));const n=L.concat(t),i=L.writeNumber(n.length,6===this.version?4:2);return L.concat([i,n])}writeUnhashedSubPackets(){const e=this.unhashedSubpackets.map(({type:e,critical:t,body:r})=>xs(e,t,r)),t=L.concat(e),r=L.writeNumber(t.length,6===this.version?4:2);return L.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)}),Ss.has(i)))switch(i){case Q.signatureSubpacket.signatureCreationTime:this.created=L.readDate(e.subarray(r,e.length));break;case Q.signatureSubpacket.signatureExpirationTime:{const t=L.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case Q.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case Q.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case Q.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case Q.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case Q.signatureSubpacket.keyExpirationTime:{const t=L.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case Q.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case Q.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw new Error("Unexpected Issuer Key ID subpacket");break;case Q.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=L.readNumber(e.subarray(r,r+2));r+=2;const s=L.readNumber(e.subarray(r,r+2));r+=2;const a=L.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+s);this.rawNotations.push({name:a,humanReadable:t,value:o,critical:n}),t&&(this.notations[a]=L.decodeUTF8(o));break}case Q.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=L.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case Q.signatureSubpacket.policyURI:this.policyURI=L.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.signersUserID:this.signersUserID=L.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=L.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Qe(this.signatureTargetHashAlgorithm);this.signatureTargetHash=L.uint8ArrayToString(e.subarray(r,r+t));break}case Q.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Ds,this.embeddedSignature.read(e.subarray(r,e.length));break;case Q.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case Q.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t{r+=e.length},()=>{const n=[];return 5!==this.version||this.signatureType!==Q.signature.binary&&this.signatureType!==Q.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(L.writeNumber(r,4)),L.concat(n)})}toHash(e,t,r=!1){const n=this.toSign(e,t);return L.concat([this.salt||new Uint8Array,n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){if(6===this.version&&this.salt.length!==Ks(this.hashAlgorithm))throw new Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,n)),Re(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,s=N){if(!this.issuerKeyID.equals(e.getKeyID()))throw new Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const a=t===Q.signature.binary||t===Q.signature.text;if(!this[Bs]||a){let n,s;if(this.hashed?s=await this.hashed:(n=this.toHash(t,r,i),s=await this.hash(t,r,n)),s=await P(s),this.signedHashValue[0]!==s[0]||this.signedHashValue[1]!==s[1])throw new Error("Signed digest did not match");if(this.params=await this.params,this[Bs]=await bi(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,n,s),!this[Bs])throw new Error("Signature verification failed")}const o=L.normalizeDate(n);if(o&&this.created>o)throw new Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw new Error("Signature is expired");if(s.rejectHashAlgorithms.has(this.hashAlgorithm))throw new Error("Insecure hash algorithm: "+Q.read(Q.hash,this.hashAlgorithm).toUpperCase());if(s.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[Q.signature.binary,Q.signature.text].includes(this.signatureType))throw new Error("Insecure message hash algorithm: "+Q.read(Q.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach(({type:e,critical:t})=>{if(t)throw new Error(`Unknown critical signature subpacket type ${e}`)}),this.rawNotations.forEach(({name:e,critical:t})=>{if(t&&s.knownNotations.indexOf(e)<0)throw new Error(`Unknown critical notation: ${e}`)}),null!==this.revocationKeyClass)throw new Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=L.normalizeDate(e);return null!==t&&!(this.created<=t&&tDs.prototype.calculateTrailer.apply(await this.correspondingSig,e))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==Q.packet.signature)throw new Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!L.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!L.equalsUint8Array(e.salt,this.salt))throw new Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Us(e,t){if(!t[e]){let t;try{t=Q.read(Q.packet,e)}catch{throw new ot(`Unknown packet type with tag: ${e}`)}throw new Error(`Packet not allowed in this context: ${t}`)}return new t[e]}Ps.prototype.hash=Ds.prototype.hash,Ps.prototype.toHash=Ds.prototype.toHash,Ps.prototype.toSign=Ds.prototype.toSign;class Ts extends Array{static async fromBinary(e,t,r=N,n=null,i=!1){const s=new Ts;return await s.read(e,t,r,n,i),s}async read(e,t,r=N,n=null,i=!1){let s;r.additionalAllowedPackets.length&&(s=L.constructAllowedPackets(r.additionalAllowedPackets),t={...t,...s}),this.stream=B(e,async(e,a)=>{const o=F(e),c=M(a);try{let a=L.isStream(e);for(;;){let e,l;if(await c.ready,await st(o,a,async a=>{try{if(a.tag===Q.packet.marker||a.tag===Q.packet.trust||a.tag===Q.packet.padding)return;const e=Us(a.tag,t);try{n?.recordPacket(a.tag,s)}catch(e){if(r.enforceGrammar)throw e;L.printDebugError(e)}e.packets=new Ts,e.fromStream=L.isStream(a.packet),l=e.fromStream;try{await e.read(a.packet,r)}catch(t){if(!(t instanceof at))throw L.wrapError(new ct(`Parsing ${e.constructor.name} failed`),t);throw t}await c.write(e)}catch(t){const n=t instanceof ot&&a.tag<=39,s=t instanceof at&&!(t instanceof ot)&&!r.ignoreUnsupportedPackets,o=t instanceof ct&&!r.ignoreMalformedPackets,l=it(a.tag);if(n||s||o||l||!(t instanceof ot||t instanceof at||t instanceof ct))i?e=t:await c.abort(t);else{const e=new lt(a.tag,a.packet);await c.write(e)}L.printDebugError(t)}}),l&&(a=null),e)throw await o.readToEnd(),e;const u=await o.peekBytes(2);if(!u||!u.length){try{n?.recordEnd()}catch(e){if(r.enforceGrammar)throw e;L.printDebugError(e)}return await c.ready,void await c.close()}}}catch(e){await c.abort(e)}});const a=F(this.stream);for(;;){const{done:e,value:t}=await a.read();if(e?this.stream=null:this.push(t),e||it(t.constructor.tag))break}a.releaseLock()}write(){const e=[];for(let t=0;t{if(t.push(e),i+=e.length,i>=s){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=L.concat([tt(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}},()=>L.concat([et(i)].concat(t))))}else{if(L.isStream(n)){let t=0;e.push(v(S(n),e=>{t+=e.length},()=>nt(r,t)))}else e.push(nt(r,n.length));e.push(n)}}return L.concat(e)}filterByTag(...e){const t=new Ts,r=e=>t=>e===t;for(let n=0;nt.constructor.tag===e)}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i0)throw new Fs("Missing trailing signature packets")}}}const Qs=L.constructAllowedPackets([ks,Ps,Ds]);class Ns{static get tag(){return Q.packet.compressedData}constructor(e=N){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=N){await C(e,async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)})}write(){return null===this.compressed&&this.compress(),L.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=N){const t=Q.read(Q.compression,this.algorithm),r=js[t];if(!r)throw new Error(`${t} decompression not supported`);let n=await r(this.compressed);if(e.maxDecompressedMessageSize!==1/0){let t=0;n=v(n,r=>{if(t+=r.length,t>e.maxDecompressedMessageSize)throw new Error("Maximum decompressed message size exceeded");return r})}h(this.compressed)&&!l(this.compressed)||(n=await P(n)),this.packets=await Ts.fromBinary(n,Qs,e,new Rs)}compress(){const e=Q.read(Q.compression,this.algorithm),t=Hs[e];if(!t)throw new Error(`${e} compression not supported`);const r=this.packets.write();let n=t(r);h(r)&&!l(r)||(n=T(()=>P(n))),this.compressed=n}}function Os(e,t){return r=>{let n;if(n=l(r)?new ReadableStream({async start(e){try{e.enqueue(await P(r)),e.close()}catch(t){e.error(t)}}}):h(r)?r:y(r),n=function(e){const t=F(e);return new ReadableStream({async pull(e){try{const{value:r,done:n}=await t.read();if(n)return void e.close();for(let t=0;t<=r.length;t+=65536)(!t||t{e.enqueue(t),a=!0,r&&(e.close(),o=!0)}},async pull(){for(a=!1;!a&&!o;){const{done:e,value:t}=await i.read();if(e)return void s.push(new Uint8Array,!0);t.length&&s.push(t)}}},{highWaterMark:0})}}function Ls(){return async function(e){const{default:t}=await Promise.resolve().then(function(){return DA});return t(y(e))}}const Gs=e=>({compressor:"undefined"!=typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"undefined"!=typeof DecompressionStream&&(()=>new DecompressionStream(e))}),Hs={zip:Os(Gs("deflate-raw").compressor,ms),zlib:Os(Gs("deflate").compressor,bs)},js={uncompressed:e=>e,zip:Os(Gs("deflate-raw").decompressor,ws),zlib:Os(Gs("deflate").decompressor,Es),bzip2:Ls()},Ws=L.constructAllowedPackets([ks,Ns,Ps,Ds]);class Ys{static get tag(){return Q.packet.symEncryptedIntegrityProtectedData}static fromObject({version:e,aeadAlgorithm:t}){if(1!==e&&2!==e)throw new Error("Unsupported SEIPD version");const r=new Ys;return r.version=e,2===e&&(r.aeadAlgorithm=t),r}constructor(){this.version=null,this.cipherAlgorithm=null,this.aeadAlgorithm=null,this.chunkSizeByte=null,this.salt=null,this.encrypted=null,this.packets=null}async read(e){await C(e,async e=>{if(this.version=await e.readByte(),1!==this.version&&2!==this.version)throw new at(`Version ${this.version} of the SEIP packet is unsupported.`);2===this.version&&(this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte(),this.salt=await e.readBytes(32)),this.encrypted=e.remainder()})}write(){return 2===this.version?L.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.salt,this.encrypted]):L.concat([new Uint8Array([this.version]),this.encrypted])}async encrypt(e,t,r=N){const{blockSize:n,keySize:i}=Sr(e);if(t.length!==i)throw new Error("Unexpected session key size");let s=this.packets.write();if(l(s)&&(s=await P(s)),2===this.version)this.cipherAlgorithm=e,this.salt=ge(32),this.chunkSizeByte=r.aeadChunkSizeByte,this.encrypted=await Js(this,"encrypt",t,s);else{const r=await On(e),i=new Uint8Array([211,20]),a=L.concat([r,s,i]),o=await Re(Q.hash.sha1,D(a)),c=L.concat([a,o]);this.encrypted=await Ln(e,t,c,new Uint8Array(n))}return!0}async decrypt(e,t,r=N){if(t.length!==Sr(e).keySize)throw new Error("Unexpected session key size");let n,i=S(this.encrypted);l(i)&&(i=await P(i));let s=!1;if(2===this.version){if(this.cipherAlgorithm!==e)throw new Error("Unexpected session key algorithm");n=await Js(this,"decrypt",t,i)}else{const{blockSize:a}=Sr(e),o=await Gn(e,t,i,new Uint8Array(a)),c=K(D(o),-20),l=K(o,0,-20),u=Promise.all([P(await Re(Q.hash.sha1,D(l))),P(c)]).then(([e,t])=>{if(!L.equalsUint8Array(e,t))throw new Error("Modification detected.");return new Uint8Array}),h=K(l,a+2);n=K(h,0,-2),n=w([n,T(()=>u)]),L.isStream(i)&&r.allowUnauthenticatedStream?s=!0:n=await P(n)}return this.packets=await Ts.fromBinary(n,Ws,r,new Rs,s),!0}}async function Js(e,t,r,n){const i=e instanceof Ys&&2===e.version,s=!i&&e.constructor.tag===Q.packet.aeadEncryptedData;if(!i&&!s)throw new Error("Unexpected packet type");const a=wi(e.aeadAlgorithm,s),o="decrypt"===t?a.tagLength:0,c="encrypt"===t?a.tagLength:0,l=2**(e.chunkSizeByte+6)+o,u=s?8:0,h=new ArrayBuffer(13+u),f=new Uint8Array(h,0,5+u),A=new Uint8Array(h),d=new DataView(h),p=new Uint8Array(h,5,8);f.set([192|e.constructor.tag,e.version,e.cipherAlgorithm,e.aeadAlgorithm,e.chunkSizeByte],0);let g,y,m=0,w=Promise.resolve(),E=0,v=0;if(i){const{keySize:t}=Sr(e.cipherAlgorithm),{ivLength:n}=a,i=new Uint8Array(h,0,5),s=await Pr(Q.hash.sha256,r,e.salt,i,t+n);r=s.subarray(0,t),g=s.subarray(t),g.fill(0,g.length-8),y=new DataView(g.buffer,g.byteOffset,g.byteLength)}else g=e.iv;const k=await a(e.cipherAlgorithm,r);return B(n,async(r,n)=>{if("array"!==L.isStream(r)){const t=new TransformStream({},{highWaterMark:L.getHardwareConcurrency()*2**(e.chunkSizeByte+6),size:e=>e.length});b(t.readable,n),n=t.writable}const s=F(r),a=M(n);try{for(;;){let e=await s.readBytes(l+o)||new Uint8Array;const r=e.subarray(e.length-o);let n,h,b;if(e=e.subarray(0,e.length-o),i)b=g;else{b=g.slice();for(let e=0;e<8;e++)b[g.length-8+e]^=p[e]}if(!m||e.length?(s.unshift(r),n=k[t](e,b,f),n.catch(()=>{}),v+=e.length-o+c):(d.setInt32(5+u+4,E),n=k[t](r,b,A),n.catch(()=>{}),v+=c,h=!0),E+=e.length-o,w=w.then(()=>n).then(async e=>{await a.ready,await a.write(e),v-=e.length}).catch(e=>a.abort(e)),(h||v>a.desiredSize)&&await w,h){await a.close();break}i?y.setInt32(g.length-4,++m):d.setInt32(9,++m)}}catch(e){await a.ready.catch(()=>{}),await a.abort(e)}})}const _s=L.constructAllowedPackets([ks,Ns,Ps,Ds]);class qs{static get tag(){return Q.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=Q.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await C(e,async e=>{const t=await e.readByte();if(1!==t)throw new at(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=wi(this.aeadAlgorithm,!0);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()})}write(){return L.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=N){this.packets=await Ts.fromBinary(await Js(this,"decrypt",t,S(this.encrypted)),_s,r,new Rs)}async encrypt(e,t,r=N){this.cipherAlgorithm=e;const{ivLength:n}=wi(this.aeadAlgorithm,!0);this.iv=ge(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await Js(this,"encrypt",t,i)}}class Zs{static get tag(){return Q.packet.publicKeyEncryptedSessionKey}constructor(){this.version=null,this.publicKeyID=new Is,this.publicKeyVersion=null,this.publicKeyFingerprint=null,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}static fromObject({version:e,encryptionKeyPacket:t,anonymousRecipient:r,sessionKey:n,sessionKeyAlgorithm:i}){const s=new Zs;if(3!==e&&6!==e)throw new Error("Unsupported PKESK version");return s.version=e,6===e&&(s.publicKeyVersion=r?null:t.version,s.publicKeyFingerprint=r?null:t.getFingerprintBytes()),s.publicKeyID=r?Is.wildcard():t.getKeyID(),s.publicKeyAlgorithm=t.algorithm,s.sessionKey=n,s.sessionKeyAlgorithm=i,s}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new at(`Version ${this.version} of the PKESK packet is unsupported.`);if(6===this.version){const r=e[t++];if(r){this.publicKeyVersion=e[t++];const n=r-1;this.publicKeyFingerprint=e.subarray(t,t+n),t+=n,this.publicKeyVersion>=5?this.publicKeyID.read(this.publicKeyFingerprint):this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8))}else this.publicKeyID=Is.wildcard()}else t+=this.publicKeyID.read(e.subarray(t,t+8));if(this.publicKeyAlgorithm=e[t++],this.encrypted=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:return{c:L.readMPI(t.subarray(r))};case Q.publicKey.elgamal:{const e=L.readMPI(t.subarray(r));return r+=e.length+2,{c1:e,c2:L.readMPI(t.subarray(r))}}case Q.publicKey.ecdh:{const e=L.readMPI(t.subarray(r));r+=e.length+2;const n=new Cn;return n.read(t.subarray(r)),{V:e,C:n}}case Q.publicKey.x25519:case Q.publicKey.x448:{const n=Fn(e),i=L.readExactSubarray(t,r,r+n);r+=i.length;const s=new Dn;return s.read(t.subarray(r)),{ephemeralPublicKey:i,C:s}}default:throw new at("Unknown public key encryption algorithm.")}}(this.publicKeyAlgorithm,e.subarray(t)),this.publicKeyAlgorithm===Q.publicKey.x25519||this.publicKeyAlgorithm===Q.publicKey.x448)if(3===this.version)this.sessionKeyAlgorithm=Q.write(Q.symmetric,this.encrypted.C.algorithm);else if(null!==this.encrypted.C.algorithm)throw new Error("Unexpected cleartext symmetric algorithm")}write(){const e=[new Uint8Array([this.version])];return 6===this.version?null!==this.publicKeyFingerprint?(e.push(new Uint8Array([this.publicKeyFingerprint.length+1,this.publicKeyVersion])),e.push(this.publicKeyFingerprint)):e.push(new Uint8Array([0])):e.push(this.publicKeyID.write()),e.push(new Uint8Array([this.publicKeyAlgorithm]),Pn(this.publicKeyAlgorithm,this.encrypted)),L.concatUint8Array(e)}async encrypt(e){const t=Q.write(Q.publicKey,this.publicKeyAlgorithm),r=3===this.version?this.sessionKeyAlgorithm:null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=Vs(this.version,t,r,this.sessionKey);this.encrypted=await async function(e,t,r,n,i){switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await Je(n,e,t)}}case Q.publicKey.elgamal:{const{p:e,g:t,y:i}=r;return async function(e,t,r,n){t=se(t),r=se(r),n=se(n);const i=se(Oe(e,Ae(t))),s=ye(Ve,t-Ve);return{c1:de(oe(r,s,t)),c2:de(ae(oe(n,s,t)*i,t))}}(n,e,t,i)}case Q.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:s}=r,{publicKey:a,wrappedKey:o}=await mn(e,s,n,t,i);return{V:a,C:new Cn(o)}}case Q.publicKey.x25519:case Q.publicKey.x448:{if(t&&!L.isAES(t))throw new Error("X25519 and X448 keys can only encrypt AES session keys");const{A:i}=r,{ephemeralPublicKey:s,wrappedKey:a}=await Mr(e,n,i);return{ephemeralPublicKey:s,C:Dn.fromObject({algorithm:t,wrappedKey:a})}}default:return[]}}(t,r,e.publicParams,i,n)}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Decryption error");const r=t?Vs(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=await xn(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,n,r),{sessionKey:s,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.elgamal:case Q.publicKey.ecdh:{const t=r.subarray(0,r.length-2),i=r.subarray(r.length-2),s=L.writeChecksum(t.subarray(t.length%8)),a=s[0]===i[0]&s[1]===i[1],o=6===e?{sessionKeyAlgorithm:null,sessionKey:t}:{sessionKeyAlgorithm:t[0],sessionKey:t.subarray(1)};if(n){const t=a&o.sessionKeyAlgorithm===n.sessionKeyAlgorithm&o.sessionKey.length===n.sessionKey.length;return{sessionKey:L.selectUint8Array(t,o.sessionKey,n.sessionKey),sessionKeyAlgorithm:6===e?null:L.selectUint8(t,o.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&(6===e||Q.read(Q.symmetric,o.sessionKeyAlgorithm)))return o;throw new Error("Decryption error")}case Q.publicKey.x25519:case Q.publicKey.x448:return{sessionKeyAlgorithm:null,sessionKey:r};default:throw new Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);if(3===this.version){const e=this.publicKeyAlgorithm!==Q.publicKey.x25519&&this.publicKeyAlgorithm!==Q.publicKey.x448;if(this.sessionKeyAlgorithm=e?a:this.sessionKeyAlgorithm,s.length!==Sr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}this.sessionKey=s}}function Vs(e,t,r,n){switch(t){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.elgamal:case Q.publicKey.ecdh:return L.concatUint8Array([new Uint8Array(6===e?[]:[r]),n,L.writeChecksum(n.subarray(n.length%8))]);case Q.publicKey.x25519:case Q.publicKey.x448:return n;default:throw new Error("Unsupported public key algorithm")}}class zs{static get tag(){return Q.packet.symEncryptedSessionKey}constructor(e=N){this.version=e.aeadProtect?6:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=null,this.aeadAlgorithm=Q.write(Q.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version&&6!==this.version)throw new at(`Version ${this.version} of the SKESK packet is unsupported.`);6===this.version&&t++;const r=e[t++];this.version>=5&&(this.aeadAlgorithm=e[t++],6===this.version&&t++);const n=e[t++];if(this.s2k=Si(n),t+=this.s2k.read(e.subarray(t,e.length)),this.version>=5){const r=wi(this.aeadAlgorithm,!0);this.iv=e.subarray(t,t+=r.ivLength)}this.version>=5||t=5){const e=wi(this.aeadAlgorithm,!0),r=new Uint8Array([192|zs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),s=6===this.version?await Pr(Q.hash.sha256,i,new Uint8Array,r,n):i,a=await e(t,s);this.sessionKey=await a.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await Gn(t,i,this.encrypted,new Uint8Array(r));if(this.sessionKeyAlgorithm=Q.write(Q.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length),this.sessionKey.length!==Sr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}else this.sessionKey=i}async encrypt(e,t=N){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Di(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=Sr(r),s=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=Un(this.sessionKeyAlgorithm)),this.version>=5){const e=wi(this.aeadAlgorithm);this.iv=ge(e.ivLength);const t=new Uint8Array([192|zs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Pr(Q.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.encrypted=await a.encrypt(this.sessionKey,this.iv,t)}else{const e=L.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Ln(r,s,e,new Uint8Array(n))}}}class Xs{static get tag(){return Q.packet.publicKey}constructor(e=new Date,t=N){this.version=t.v6Keys?6:4,this.created=L.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new Xs,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}async read(e,t=N){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new at("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=L.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);const{read:t,publicParams:n}=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const e=L.readMPI(t.subarray(r));r+=e.length+2;const n=L.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case Q.publicKey.dsa:{const e=L.readMPI(t.subarray(r));r+=e.length+2;const n=L.readMPI(t.subarray(r));r+=n.length+2;const i=L.readMPI(t.subarray(r));r+=i.length+2;const s=L.readMPI(t.subarray(r));return r+=s.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:s}}}case Q.publicKey.elgamal:{const e=L.readMPI(t.subarray(r));r+=e.length+2;const n=L.readMPI(t.subarray(r));r+=n.length+2;const i=L.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case Q.publicKey.ecdsa:{const e=new Xe;r+=e.read(t),Tn(e);const n=L.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case Q.publicKey.eddsaLegacy:{const e=new Xe;if(r+=e.read(t),Tn(e),e.getName()!==Q.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let n=L.readMPI(t.subarray(r));return r+=n.length+2,n=L.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case Q.publicKey.ecdh:{const e=new Xe;r+=e.read(t),Tn(e);const n=L.readMPI(t.subarray(r));r+=n.length+2;const i=new Sn;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:case Q.publicKey.x25519:case Q.publicKey.x448:{const n=L.readExactSubarray(t,r,r+Fn(e));return r+=n.length,{read:r,publicParams:{A:n}}}default:throw new at("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&n.oid&&(n.oid.getName()===Q.curve.curve25519Legacy||n.oid.getName()===Q.curve.ed25519Legacy))throw new Error("Legacy curve25519 cannot be used with v6 keys");return this.publicParams=n,r+=t,await this.computeFingerprintAndKeyID(),r}throw new at(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(L.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=Pn(this.algorithm,this.publicParams);return this.version>=5&&e.push(L.writeNumber(t.length,4)),e.push(t),L.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey(),r=149+e,n=e>=5?4:2;return L.concatUint8Array([new Uint8Array([r]),L.writeNumber(t.length,n),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Is,this.version>=5)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw new Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await Re(Q.hash.sha256,e);else{if(4!==this.version)throw new Error("Unsupported key version");this.fingerprint=await Re(Q.hash.sha1,e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return L.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&L.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=Q.read(Q.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=L.uint8ArrayBitLength(t):this.publicParams.oid&&(e.curve=this.publicParams.oid.getName()),e}}Xs.prototype.readPublicKey=Xs.prototype.read,Xs.prototype.writePublicKey=Xs.prototype.write;const $s=L.constructAllowedPackets([ks,Ns,Ps,Ds]);class ea{static get tag(){return Q.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=N){if(!r.allowUnauthenticatedMessages)throw new Error("Message is not authenticated.");const{blockSize:n}=Sr(e),i=await P(S(this.encrypted)),s=await Gn(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Ts.fromBinary(s,$s,r)}async encrypt(e,t,r=N){const n=this.packets.write(),{blockSize:i}=Sr(e),s=await On(e),a=await Ln(e,t,s,new Uint8Array(i)),o=await Ln(e,t,n,a.subarray(2));this.encrypted=L.concat([a,o])}}class ta{static get tag(){return Q.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class ra extends Xs{static get tag(){return Q.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new ra,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}}class na{static get tag(){return Q.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t=s)return!1;if(ae(s-Bn,a)!==In)return!1;if(oe(o,a,s)!==Bn)return!1;const l=BigInt(fe(a));if(l=i)return!1;const o=BigInt(fe(i));if(o{je.generateKeyPair("rsa",r,(r,n,i)=>{r?t(r):e(i)})});return Ze(n,t)}let r,n,i;do{n=we(e-(e>>1),t,40),r=we(e>>1,t,40),i=r*n}while(fe(i)!==e);const s=(r-We)*(n-We);return n({privateParams:{d:r,p:n,q:i,u:s},publicParams:{n:e,e:t}}));case Q.publicKey.ecdsa:return Vr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new Xe(e),Q:t}}));case Q.publicKey.eddsaLegacy:return Vr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new Xe(e),Q:t}}));case Q.publicKey.ecdh:return Vr(r).then(({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new Xe(e),Q:t,kdfParams:new Sn({hash:n,cipher:i})}}));case Q.publicKey.ed25519:case Q.publicKey.ed448:return ut(e).then(({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}}));case Q.publicKey.x25519:case Q.publicKey.x448:return Tr(e).then(({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}}));case Q.publicKey.dsa:case Q.publicKey.elgamal:throw new Error("Unsupported algorithm for key generation.");default:throw new Error("Unknown public key algorithm.")}}(this.algorithm,e,t);this.privateParams=r,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach(e=>{this.privateParams[e].fill(0),delete this.privateParams[e]}),this.privateParams=null,this.isEncrypted=!0)}}async function sa(e,t,r,n,i,s,a){if("argon2"===t.type&&!i)throw new Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw new Error("Using Simple S2K with version 6 keys is not allowed");const{keySize:o}=Sr(n),c=await t.produceKey(r,o);if(!i||5===e||a)return c;const l=L.concatUint8Array([s,new Uint8Array([e,n,i])]);return Pr(Q.hash.sha256,c,new Uint8Array,l,o)}class aa{static get tag(){return Q.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(L.isString(e)||e.name&&!L.isString(e.name)||e.email&&!L.isEmailAddress(e.email)||e.comment&&!L.isString(e.comment))throw new Error("Invalid user ID format");const t=new aa;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=N){const r=L.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw new Error("User ID string is too long");const n=e=>/^[^\s@]+@[^\s@]+$/.test(e),i=r.indexOf("<"),s=r.lastIndexOf(">");if(-1!==i&&-1!==s&&s>i){const e=r.substring(i+1,s);if(n(e)){this.email=e;const t=r.substring(0,i).trim(),n=t.indexOf("("),s=t.lastIndexOf(")");-1!==n&&-1!==s&&s>n?(this.comment=t.substring(n+1,s).trim(),this.name=t.substring(0,n).trim()):(this.name=t,this.comment="")}}else n(r.trim())&&(this.email=r.trim(),this.name="",this.comment="");this.userID=r}write(){return L.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class oa extends ia{static get tag(){return Q.packet.secretSubkey}constructor(e=new Date,t=N){super(e,t)}}class ca{static get tag(){return Q.packet.trust}read(){throw new at("Trust packets are not supported")}write(){throw new at("Trust packets are not supported")}}class la{static get tag(){return Q.packet.padding}constructor(){this.padding=null}read(e){}write(){return this.padding}async createPadding(e){this.padding=ge(e)}}const ua=L.constructAllowedPackets([Ds]);class ha{constructor(e){this.packets=e||new Ts}write(){return this.packets.write()}armor(e=N){const t=this.packets.some(e=>e.constructor.tag===Ds.tag&&6!==e.version);return re(Q.armor.signature,this.write(),void 0,void 0,void 0,t,e)}getSigningKeyIDs(){return this.packets.map(e=>e.issuerKeyID)}}async function fa({armoredSignature:e,binarySignature:t,config:r,...n}){r={...N,...r};let i=e||t;if(!i)throw new Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!L.isString(e))throw new Error("readSignature: options.armoredSignature must be a string");if(t&&!L.isUint8Array(t))throw new Error("readSignature: options.binarySignature must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);if(e){const{type:e,data:t}=await te(i);if(e!==Q.armor.signature)throw new Error("Armored text not of type signature");i=t}const a=await Ts.fromBinary(i,ua,r);return new ha(a)}async function Aa(e,t){const r=new oa(e.date,t);return r.packets=null,r.algorithm=Q.write(Q.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve),await r.computeFingerprintAndKeyID(),r}async function da(e,t){const r=new ia(e.date,t);return r.packets=null,r.algorithm=Q.write(Q.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.config),await r.computeFingerprintAndKeyID(),r}async function pa(e,t,r,n,i=new Date,s){let a,o;for(let c=e.length-1;c>=0;c--)try{(!a||e[c].created>=a.created)&&(await e[c].verify(t,r,n,i,void 0,s),a=e[c])}catch(e){o=e}if(!a)throw L.wrapError(`Could not find valid ${Q.read(Q.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,(e,t,r)=>t+" "+r.toLowerCase()),o);return a}function ga(e,t,r=new Date){const n=L.normalizeDate(r);if(null!==n){const r=Ea(e,t);return!(e.created<=n&&n0&&(s.keyExpirationTime=r.keyExpirationTime,s.keyNeverExpires=!1),await ma(i,[],t,s,r.date,void 0,void 0,void 0,n)}async function ma(e,t,r,n,i,s,a=[],o=!1,c){if(r.isDummy())throw new Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw new Error("Signing key is not decrypted.");const l=new Ds;return Object.assign(l,n),l.publicKeyAlgorithm=r.algorithm,l.hashAlgorithm=await async function(e,t,r=new Date,n=[],i){const s=Q.hash.sha256,a=i.preferredHashAlgorithm,o=await Promise.all(e.map(async(e,t)=>(await e.getPrimarySelfSignature(r,n[t],i)).preferredHashAlgorithms||[])),c=new Map;for(const e of o)for(const t of e)try{const e=Q.write(Q.hash,t);c.set(e,c.has(e)?c.get(e)+1:1)}catch{}const l=t=>0===e.length||c.get(t)===e.length||t===s,u=()=>{if(0===c.size)return s;const e=Array.from(c.keys()).filter(e=>l(e)).sort((e,t)=>Qe(e)-Qe(t))[0];return Qe(e)>=Qe(s)?e:s};if(new Set([Q.publicKey.ecdsa,Q.publicKey.eddsaLegacy,Q.publicKey.ed25519,Q.publicKey.ed448]).has(t.algorithm)){const e=function(e,t){switch(e){case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:return zr(t);case Q.publicKey.ed25519:case Q.publicKey.ed448:return pt(e);default:throw new Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=l(a),n=Qe(a)>=Qe(e);if(r&&n)return a;{const t=u();return Qe(t)>=Qe(e)?t:e}}return l(a)?a:u()}(t,r,i,s,c),l.rawNotations=[...a],await l.sign(r,e,i,o,c),l}async function wa(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map(async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some(function(t){return L.equalsUint8Array(t.writeParams(),e.writeParams())})||t[r].push(e)})):t[r]=e)}async function ba(e,t,r,n,i,s,a=new Date,o){s=s||e;const c=[];return await Promise.all(n.map(async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){const n=![Q.reasonForRevocation.keyRetired,Q.reasonForRevocation.keySuperseded,Q.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(s,t,r,n?null:a,!1,o),c.push(e.issuerKeyID)}}catch{}})),i?(i.revoked=!!c.some(e=>e.equals(i.issuerKeyID))||i.revoked||!1,i.revoked):c.length>0}function Ea(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function va(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=L.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.type){case"ecc":try{e.curve=Q.write(Q.curve,e.curve)}catch{throw new Error("Unknown curve")}e.curve!==Q.curve.ed25519Legacy&&e.curve!==Q.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?Q.curve.ed25519Legacy:Q.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===Q.curve.ed25519Legacy?Q.publicKey.eddsaLegacy:Q.publicKey.ecdsa:e.algorithm=Q.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?Q.publicKey.ed25519:Q.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?Q.publicKey.ed448:Q.publicKey.x448;break;case"rsa":e.algorithm=Q.publicKey.rsaEncryptSign;break;default:throw new Error(`Unsupported key type ${e.type}`)}return e}function ka(e,t,r){switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.dsa:case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:case Q.publicKey.ed25519:case Q.publicKey.ed448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&Q.keyFlags.signData);default:return!1}}function Ia(e,t,r){switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.x25519:case Q.publicKey.x448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&Q.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&Q.keyFlags.encryptStorage);default:return!1}}function Ba(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.x25519:case Q.publicKey.x448:return!(t.keyFlags&&0===(t.keyFlags[0]&Q.keyFlags.signData)||!r.allowInsecureDecryptionWithSigningKeys)||!t.keyFlags||0!==(t.keyFlags[0]&Q.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&Q.keyFlags.encryptStorage);default:return!1}}function Ca(e,t){const r=Q.write(Q.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw new Error(`${n.algorithm} keys are considered too weak.`);switch(r){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.rsaEncrypt:if(n.bitse.getKeys(o).length>0);return 0===c.length?null:(await Promise.all(c.map(async t=>{const s=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,s.keyPacket,r,n))throw new Error("User certificate is revoked");try{await e.verify(s.keyPacket,Q.signature.certGeneric,a,r,void 0,n)}catch(e){throw L.wrapError("User certificate is invalid",e)}})),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map(async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch(()=>!1)})))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw new Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let s;for(let a=this.selfCertifications.length-1;a>=0;a--)try{const s=this.selfCertifications[a];if(s.revoked||await r.isRevoked(s,void 0,e,t))throw new Error("Self-certification is revoked");try{await s.verify(n,Q.signature.certGeneric,i,e,void 0,t)}catch(e){throw L.wrapError("Self-certification is invalid",e)}return!0}catch(e){s=e}throw s}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await wa(e,this,"selfCertifications",t,async function(e){try{return await e.verify(n,Q.signature.certGeneric,i,t,!1,r),!0}catch{return!1}}),await wa(e,this,"otherCertifications",t),await wa(e,this,"revocationSignatures",t,function(e){return ba(n,Q.signature.certRevocation,i,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=Q.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=N){const s={userID:this.userID,userAttribute:this.userAttribute,key:e},a=new Sa(s.userID||s.userAttribute,this.mainKey);return a.revocationSignatures.push(await ma(s,[],e,{signatureType:Q.signature.certRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}}class Da{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Ts;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Da(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=N){const i=this.mainKey.keyPacket;return ba(i,Q.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=N){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await pa(this.bindingSignatures,r,Q.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw new Error("Subkey is revoked");if(ga(this.keyPacket,i,e))throw new Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=N){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await pa(this.bindingSignatures,r,Q.signature.subkeyBinding,n,e,t)}catch{return null}const s=Ea(this.keyPacket,i),a=i.getExpirationTime();return si.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,Q.signature.subkeyBinding,s,t,void 0,r),!0}catch{return!1}}),await wa(e,this,"revocationSignatures",t,function(e){return ba(n,Q.signature.subkeyRevocation,s,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=Q.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=N){const s={key:e,bind:this.keyPacket},a=new Da(this.keyPacket,this.mainKey);return a.revocationSignatures.push(await ma(s,[],e,{signatureType:Q.signature.subkeyRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach(e=>{Da.prototype[e]=function(){return this.keyPacket[e]()}});const xa=L.constructAllowedPackets([Ds]),Ka=new Set([Q.packet.publicKey,Q.packet.privateKey]),Pa=new Set([Q.packet.publicKey,Q.packet.privateKey,Q.packet.publicSubkey,Q.packet.privateSubkey]);class Ua{packetListToStructure(e,t=new Set){let r,n,i,s;for(const a of e){if(a instanceof lt){Pa.has(a.tag)&&!s&&(s=Ka.has(a.tag)?Ka:Pa);continue}const e=a.constructor.tag;if(s){if(!s.has(e))continue;s=null}if(t.has(e))throw new Error(`Unexpected packet type: ${e}`);switch(e){case Q.packet.publicKey:case Q.packet.secretKey:if(this.keyPacket)throw new Error("Key block contains multiple keys");if(this.keyPacket=a,n=this.getKeyID(),!n)throw new Error("Missing Key ID");break;case Q.packet.userID:case Q.packet.userAttribute:r=new Sa(a,this),this.users.push(r);break;case Q.packet.publicSubkey:case Q.packet.secretSubkey:r=null,i=new Da(a,this),this.subkeys.push(i);break;case Q.packet.signature:switch(a.signatureType){case Q.signature.certGeneric:case Q.signature.certPersona:case Q.signature.certCasual:case Q.signature.certPositive:if(!r){L.printDebug("Dropping certification signatures without preceding user packet");continue}a.issuerKeyID.equals(n)?r.selfCertifications.push(a):r.otherCertifications.push(a);break;case Q.signature.certRevocation:r?r.revocationSignatures.push(a):this.directSignatures.push(a);break;case Q.signature.key:this.directSignatures.push(a);break;case Q.signature.subkeyBinding:if(!i){L.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(a);break;case Q.signature.keyRevocation:this.revocationSignatures.push(a);break;case Q.signature.subkeyRevocation:if(!i){L.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(a)}}}}toPacketList(){const e=new Ts;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map(t=>e.push(...t.toPacketList())),this.subkeys.map(t=>e.push(...t.toPacketList())),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach(e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach(r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])}),e.keyPacket.privateParams=t}),t}getSubkeys(e=null){return this.subkeys.filter(t=>!e||t.getKeyID().equals(e,!0))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map(e=>e.getKeyID())}getUserIDs(){return this.users.map(e=>e.userID?e.userID.userID:null).filter(e=>null!==e)}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=N){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{Ca(i,n)}catch(e){throw L.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await pa(r.bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);if(!ka(r.keyPacket,s,n))continue;if(!s.embeddedSignature)throw new Error("Missing embedded signature");return await pa([s.embeddedSignature],r.keyPacket,Q.signature.keyBinding,e,t,n),Ca(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&ka(i,s,n))return Ca(i,n),this}catch(e){a=e}throw L.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),a)}async getEncryptionKey(e,t=new Date,r={},n=N){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{Ca(i,n)}catch(e){throw L.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await pa(r.bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);if(Ia(r.keyPacket,s,n))return Ca(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&Ia(i,s,n))return Ca(i,n),this}catch(e){a=e}throw L.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),a)}async isRevoked(e,t,r=new Date,n=N){return ba(this.keyPacket,Q.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=N){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw new Error("Primary key is revoked");if(ga(n,await this.getPrimarySelfSignature(e,t,r),e))throw new Error("Primary key is expired");if(6!==n.version){const t=await pa(this.directSignatures,n,Q.signature.key,{key:n},e,r).catch(()=>{});if(t&&ga(n,t,e))throw new Error("Primary key is expired")}}async getExpirationTime(e,t=N){let r;try{const n=await this.getPrimarySelfSignature(null,e,t),i=Ea(this.keyPacket,n),s=n.getExpirationTime(),a=6!==this.keyPacket.version&&await pa(this.directSignatures,this.keyPacket,Q.signature.key,{key:this.keyPacket},null,t).catch(()=>{});if(a){const e=Ea(this.keyPacket,a);r=Math.min(i,s,e)}else r=i{t.selfCertification.revoked||await t.user.isRevoked(t.selfCertification,null,e,r)}));const a=i.sort(function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created}).pop(),{user:o,selfCertification:c}=a;if(c.revoked||await o.isRevoked(c,null,e,r))throw new Error("Primary user is revoked");return a}async update(e,t=new Date,r=N){if(!this.hasSameFingerprintAs(e))throw new Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(this.subkeys.length!==e.subkeys.length||!this.subkeys.every(t=>e.subkeys.some(e=>t.hasSameFingerprintAs(e))))throw new Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await wa(e,n,"revocationSignatures",t,i=>ba(n.keyPacket,Q.signature.keyRevocation,n,[i],null,e.keyPacket,t,r)),await wa(e,n,"directSignatures",t),await Promise.all(e.users.map(async e=>{const i=n.users.filter(t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.users.push(t)}})),await Promise.all(e.subkeys.map(async e=>{const i=n.subkeys.filter(t=>t.hasSameFingerprintAs(e));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}})),n}async getRevocationCertificate(e=new Date,t=N){const r={key:this.keyPacket},n=await pa(this.revocationSignatures,this.keyPacket,Q.signature.keyRevocation,r,e,t),i=new Ts;i.push(n);const s=6!==this.keyPacket.version;return re(Q.armor.publicKey,i.write(),null,null,"This is a revocation certificate",s,t)}async applyRevocationCertificate(e,t=new Date,r=N){const n=await te(e),i=(await Ts.fromBinary(n.data,xa,r)).findPacket(Q.packet.signature);if(!i||i.signatureType!==Q.signature.keyRevocation)throw new Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw new Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,Q.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw L.wrapError("Could not verify revocation signature",e)}const s=this.clone();return s.revocationSignatures.push(i),s}async signPrimaryUser(e,t,r,n=N){const{index:i,user:s}=await this.getPrimaryUser(t,r,n),a=await s.certify(e,t,n),o=this.clone();return o.users[i]=a,o}async signAllUsers(e,t=new Date,r=N){const n=this.clone();return n.users=await Promise.all(this.users.map(function(n){return n.certify(e,t,r)})),n}async verifyPrimaryUser(e,t=new Date,r,n=N){const i=this.keyPacket,{user:s}=await this.getPrimaryUser(t,r,n);return e?await s.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await s.verify(t,n).catch(()=>!1)}]}async verifyAllUsers(e,t=new Date,r=N){const n=this.keyPacket,i=[];return await Promise.all(this.users.map(async s=>{const a=e?await s.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await s.verify(t,r).catch(()=>!1)}];i.push(...a.map(e=>({userID:s.userID?s.userID.userID:null,userAttribute:s.userAttribute,keyID:e.keyID,valid:e.valid})))})),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach(e=>{Ua.prototype[e]=Da.prototype[e]});class Ta extends Ua{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([Q.packet.secretKey,Q.packet.secretSubkey])),!this.keyPacket))throw new Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=N){const t=6!==this.keyPacket.version;return re(Q.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class Fa extends Ta{constructor(e){if(super(),this.packetListToStructure(e,new Set([Q.packet.publicKey,Q.packet.publicSubkey])),!this.keyPacket)throw new Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Ts,t=this.toPacketList();for(const r of t)switch(r.constructor.tag){case Q.packet.secretKey:{const t=Xs.fromSecretKeyPacket(r);e.push(t);break}case Q.packet.secretSubkey:{const t=ra.fromSecretSubkeyPacket(r);e.push(t);break}default:e.push(r)}return new Ta(e)}armor(e=N){const t=6!==this.keyPacket.version;return re(Q.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},n=N){const i=this.keyPacket,s=[];let a=null;for(let r=0;re.isDecrypted())}async validate(e=N){if(!this.isPrivate())throw new Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map(e=>e.keyPacket.isDummy()).every(Boolean))throw new Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map(e=>e.keyPacket.validate()))}}clearPrivateParams(){this.getKeys().forEach(({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()})}async revoke({flag:e=Q.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=N){if(!this.isPrivate())throw new Error("Need private key for revoking");const i={key:this.keyPacket},s=this.clone();return s.revocationSignatures.push(await ma(i,[],this.keyPacket,{signatureType:Q.signature.keyRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),s}async addSubkey(e={}){const t={...N,...e.config};if(e.passphrase)throw new Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBitse!==t)]}function a(){const e={};e.keyFlags=[Q.keyFlags.certifyKeys|Q.keyFlags.signData];const t=s([Q.symmetric.aes256,Q.symmetric.aes128],n.preferredSymmetricAlgorithm);if(e.preferredSymmetricAlgorithms=t,n.aeadProtect){const r=s([Q.aead.gcm,Q.aead.eax,Q.aead.ocb],n.preferredAEADAlgorithm);e.preferredCipherSuites=r.flatMap(e=>t.map(t=>[t,e]))}return e.preferredHashAlgorithms=s([Q.hash.sha512,Q.hash.sha256,Q.hash.sha3_512,Q.hash.sha3_256],n.preferredHashAlgorithm),e.preferredCompressionAlgorithms=s([Q.compression.uncompressed,Q.compression.zlib,Q.compression.zip],n.preferredCompressionAlgorithm),e.features=[0],e.features[0]|=Q.features.modificationDetection,n.aeadProtect&&(e.features[0]|=Q.features.seipdv2),r.keyExpirationTime>0&&(e.keyExpirationTime=r.keyExpirationTime,e.keyNeverExpires=!1),e}if(i.push(e),6===e.version){const t={key:e},s=a();s.signatureType=Q.signature.key;const o=await ma(t,[],e,s,r.date,void 0,void 0,void 0,n);i.push(o)}await Promise.all(r.userIDs.map(async function(t,i){const s=aa.fromObject(t),o={userID:s,key:e},c=6!==e.version?a():{};return c.signatureType=Q.signature.certPositive,0===i&&(c.isPrimaryUserID=!0),{userIDPacket:s,signaturePacket:await ma(o,[],e,c,r.date,void 0,void 0,void 0,n)}})).then(e=>{e.forEach(({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)})}),await Promise.all(t.map(async function(t,i){const s=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await ya(t,e,s,n)}})).then(e=>{e.forEach(({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)})});const o={key:e};return i.push(await ma(o,[],e,{signatureType:Q.signature.keyRevocation,reasonForRevocationFlag:Q.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),t.map(function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}),new Fa(i)}async function Na({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...N,...r},!e&&!t)throw new Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!L.isString(e))throw new Error("readKey: options.armoredKey must be a string");if(t&&!L.isUint8Array(t))throw new Error("readKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);let s;if(e){const{type:t,data:r}=await te(e);if(t!==Q.armor.publicKey&&t!==Q.armor.privateKey)throw new Error("Armored text not of type key");s=r}else s=t;const a=await Ts.fromBinary(s,Ma,r),o=a.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);if(0===o.length)throw new Error("No key packet found");return Ra(a.slice(o[0],o[1]))}async function Oa({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...N,...r},!e&&!t)throw new Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!L.isString(e))throw new Error("readPrivateKey: options.armoredKey must be a string");if(t&&!L.isUint8Array(t))throw new Error("readPrivateKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);let s;if(e){const{type:t,data:r}=await te(e);if(t!==Q.armor.privateKey)throw new Error("Armored text not of type private key");s=r}else s=t;const a=await Ts.fromBinary(s,Ma,r),o=a.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);for(let e=0;e0)throw new Error(`Unknown option: ${s.join(", ")}`);if(e){const{type:t,data:r}=await te(e);if(t!==Q.armor.publicKey&&t!==Q.armor.privateKey)throw new Error("Armored text not of type key");i=r}const a=[],o=await Ts.fromBinary(i,Ma,r),c=o.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);if(0===c.length)throw new Error("No key packet found");for(let e=0;e0?t.map(e=>e.issuerKeyID):e.packets.filterByTag(Q.packet.signature).map(e=>e.issuerKeyID)}async decrypt(e,t,r,n=new Date,i=N){const s=this.packets.filterByTag(Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData,Q.packet.aeadEncryptedData);if(0===s.length)throw new Error("No encrypted data found");const a=s[0],o=a.cipherAlgorithm,c=r||await this.decryptSessionKeys(e,t,o,n,i);let l=null;const u=Promise.all(c.map(async({algorithm:e,data:t})=>{if(!L.isUint8Array(t)||!a.cipherAlgorithm&&!L.isString(e))throw new Error("Invalid session key for decryption.");try{const r=a.cipherAlgorithm||Q.write(Q.symmetric,e);await a.decrypt(r,t,i)}catch(e){L.printDebugError(e),l=e}}));if(U(a.encrypted),a.encrypted=null,await u,!a.packets||!a.packets.length)throw l||new Error("Decryption failed.");const h=new Ya(a.packets);return a.packets=new Ts,h}async decryptSessionKeys(e,t,r,n=new Date,i=N){let s,a=[];if(t){const e=this.packets.filterByTag(Q.packet.symEncryptedSessionKey);if(0===e.length)throw new Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map(async function(t,r){let n;n=r?await Ts.fromBinary(e.write(),ja,i):e,await Promise.all(n.map(async function(e){try{await e.decrypt(t),a.push(e)}catch(e){L.printDebugError(e),e instanceof Ei&&(s=e)}}))}))}else{if(!e)throw new Error("No key or password specified.");{const t=this.packets.filterByTag(Q.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw new Error("No public key encrypted session key packet found.");await Promise.all(t.map(async function(t){await Promise.all(e.map(async function(e){let o;try{o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map(e=>e.keyPacket)}catch(e){return void(s=e)}let c=[Q.symmetric.aes256,Q.symmetric.aes128,Q.symmetric.tripledes,Q.symmetric.cast5];try{const t=await e.getPrimarySelfSignature(n,void 0,i);t.preferredSymmetricAlgorithms&&(c=c.concat(t.preferredSymmetricAlgorithms))}catch{}await Promise.all(o.map(async function(e){if(!e.isDecrypted())throw new Error("Decryption key is not decrypted.");if(!i.constantTimePKCS1Decryption||t.publicKeyAlgorithm!==Q.publicKey.rsaEncrypt&&t.publicKeyAlgorithm!==Q.publicKey.rsaEncryptSign&&t.publicKeyAlgorithm!==Q.publicKey.rsaSign&&t.publicKeyAlgorithm!==Q.publicKey.elgamal)try{await t.decrypt(e);const n=r||t.sessionKeyAlgorithm;if(n&&!c.includes(Q.write(Q.symmetric,n)))throw new Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){L.printDebugError(e),s=e}else{const n=t.write();await Promise.all((r?[r]:Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map(async t=>{const r=new Zs;r.read(n);const i={sessionKeyAlgorithm:t,sessionKey:Un(t)};try{await r.decrypt(e,i),a.push(r)}catch(e){L.printDebugError(e),s=e}}))}}))})),U(t.encrypted),t.encrypted=null}))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter(t=>{const r=t.sessionKeyAlgorithm+L.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)})}return a.map(e=>({data:e.sessionKey,algorithm:e.sessionKeyAlgorithm&&Q.read(Q.symmetric,e.sessionKeyAlgorithm)}))}throw s||new Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=N){const{symmetricAlgo:i,aeadAlgo:s}=await async function(e=[],t=new Date,r=[],n=N){const i=await Promise.all(e.map((e,i)=>e.getPrimarySelfSignature(t,r[i],n)));if(e.length?i.every(e=>e.features&&e.features[0]&Q.features.seipdv2):n.aeadProtect){const e={symmetricAlgo:Q.symmetric.aes128,aeadAlgo:Q.aead.ocb},t=[{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:n.preferredAEADAlgorithm},{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:Q.aead.ocb},{symmetricAlgo:Q.symmetric.aes128,aeadAlgo:n.preferredAEADAlgorithm}];for(const e of t)if(i.every(t=>t.preferredCipherSuites&&t.preferredCipherSuites.some(t=>t[0]===e.symmetricAlgo&&t[1]===e.aeadAlgo)))return e;return e}const s=Q.symmetric.aes128,a=n.preferredSymmetricAlgorithm;return{symmetricAlgo:i.every(e=>e.preferredSymmetricAlgorithms&&e.preferredSymmetricAlgorithms.includes(a))?a:s,aeadAlgo:void 0}}(e,t,r,n),a=Q.read(Q.symmetric,i),o=s?Q.read(Q.aead,s):void 0;return await Promise.all(e.map(e=>e.getEncryptionKey().catch(()=>null).then(e=>{if(e&&(e.keyPacket.algorithm===Q.publicKey.x25519||e.keyPacket.algorithm===Q.publicKey.x448)&&!o&&!L.isAES(i))throw new Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")}))),{data:Un(i),algorithm:a,aeadAlgorithm:o}}async encrypt(e,t,r,n=!1,i=[],s=new Date,a=[],o=N){if(r){if(!L.isUint8Array(r.data)||!L.isString(r.algorithm))throw new Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Ya.generateSessionKey(e,s,a,o);else{if(!t||!t.length)throw new Error("No keys, passwords, or session key provided.");r=await Ya.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:l,aeadAlgorithm:u}=r,h=await Ya.encryptSessionKey(c,l,u,e,t,n,i,s,a,o),f=Ys.fromObject({version:u?2:1,aeadAlgorithm:u?Q.write(Q.aead,u):null});f.packets=this.packets;const A=Q.write(Q.symmetric,l);return await f.encrypt(A,c,o),h.packets.push(f),f.packets=new Ts,h}static async encryptSessionKey(e,t,r,n,i,s=!1,a=[],o=new Date,c=[],l=N){const u=new Ts,h=Q.write(Q.symmetric,t),f=r&&Q.write(Q.aead,r);if(n){const t=await Promise.all(n.map(async function(t,r){const n=await t.getEncryptionKey(a[r],o,c,l),i=Zs.fromObject({version:f?6:3,encryptionKeyPacket:n.keyPacket,anonymousRecipient:s,sessionKey:e,sessionKeyAlgorithm:h});return await i.encrypt(n.keyPacket),delete i.sessionKey,i}));u.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t),1}catch{return 0}},r=(e,t)=>e+t,n=async function(e,s,a,o){const c=new zs(l);return c.sessionKey=e,c.sessionKeyAlgorithm=s,a&&(c.aeadAlgorithm=a),await c.encrypt(o,l),l.passwordCollisionCheck&&1!==(await Promise.all(i.map(e=>t(c,e)))).reduce(r)?n(e,s,o):(delete c.sessionKey,c)},s=await Promise.all(i.map(t=>n(e,h,f,t)));u.push(...s)}return new Ya(u)}async sign(e=[],t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=N){const l=new Ts,u=this.packets.findPacket(Q.packet.literalData);if(!u)throw new Error("No literal data packet to sign.");const h=await Ja(u,e,t,r,n,i,s,a,o,!1,c),f=h.map((e,t)=>Ps.fromSignaturePacket(e,0===t)).reverse();return l.push(...f),l.push(u),l.push(...h),new Ya(l)}compress(e,t=N){if(e===Q.compression.uncompressed)return this;const r=new Ns(t);r.algorithm=e,r.packets=this.packets;const n=new Ts;return n.push(r),new Ya(n)}async signDetached(e=[],t=[],r=null,n=[],i=[],s=new Date,a=[],o=[],c=N){const l=this.packets.findPacket(Q.packet.literalData);if(!l)throw new Error("No literal data packet to sign.");return new ha(await Ja(l,e,t,r,n,i,s,a,o,!0,c))}async verify(e,t=new Date,r=N){const n=this.unwrapCompressed(),i=n.packets.filterByTag(Q.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");let s=n.packets;l(s.stream)&&(s=s.concat(await P(s.stream,e=>e||[])));const a=s.filterByTag(Q.packet.onePassSignature).reverse(),o=s.filterByTag(Q.packet.signature);return a.length&&!o.length&&L.isStream(s.stream)&&!l(s.stream)?(await Promise.all(a.map(async e=>{e.correspondingSig=new Promise((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r}),e.signatureData=T(async()=>(await e.correspondingSig).signatureData),e.hashed=P(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch(()=>{})})),s.stream=B(s.stream,async(e,t)=>{const r=F(e),n=M(t);try{for(let e=0;e{t.correspondingSigReject(e)}),await n.abort(e)}}),_a(a,i,e,t,!1,r)):_a(o,i,e,t,!1,r)}async verifyDetached(e,t,r=new Date,n=N){const i=this.unwrapCompressed().packets.filterByTag(Q.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");return _a(e.packets.filterByTag(Q.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(Q.packet.compressedData);return e.length?new Ya(e[0].packets):this}async appendSignature(e,t=N){await this.packets.read(L.isUint8Array(e)?e:(await te(e)).data,Wa,t)}write(){return this.packets.write()}armor(e=N){const t=this.packets[this.packets.length-1],r=t.constructor.tag===Ys.tag?2!==t.version:this.packets.some(e=>e.constructor.tag===Ds.tag&&6!==e.version);return re(Q.armor.message,this.write(),null,null,null,r,e)}}async function Ja(e,t,r=[],n=null,i=[],s=new Date,a=[],o=[],c=[],l=!1,u=N){const h=new Ts,f=null===e.text?Q.signature.binary:Q.signature.text;if(await Promise.all(t.map(async(t,n)=>{const h=a[n];if(!t.isPrivate())throw new Error("Need private key for signing");const A=await t.getSigningKey(i[n],s,h,u);return ma(e,r.length?r:[t],A.keyPacket,{signatureType:f},s,o,c,l,u)})).then(e=>{h.push(...e)}),n){const e=n.packets.filterByTag(Q.packet.signature);h.push(...e)}return h}function _a(e,t,r,n=new Date,i=!1,s=N){return e.filter(e=>["text","binary"].includes(Q.read(Q.signature,e.signatureType))).map(e=>function(e,t,r,n=new Date,i=!1,s=N){let a,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){a=t,o=r[0];break}}const c=e instanceof Ps?e.correspondingSig:e,l={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw new Error(`Could not find signing key with key ID ${e.issuerKeyID.toHex()}`);await e.verify(o.keyPacket,e.signatureType,t[0],n,i,s);const r=await c;if(o.getCreationTime()>r.created)throw new Error("Key is newer than the signature");try{await a.getSigningKey(o.getKeyID(),r.created,void 0,s)}catch(e){if(!s.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await a.getSigningKey(o.getKeyID(),n,void 0,s)}return!0})(),signature:(async()=>{const e=await c,t=new Ts;return e&&t.push(e),new ha(t)})()};return l.signature.catch(()=>{}),l.verified.catch(()=>{}),l}(e,t,r,n,i,s))}async function qa({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...N,...r};let i=e||t;if(!i)throw new Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!L.isString(e)&&!L.isStream(e))throw new Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!L.isUint8Array(t)&&!L.isStream(t))throw new Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);const a=L.isStream(i);if(e){const{type:e,data:t}=await te(i);if(e!==Q.armor.message)throw new Error("Armored text not of type message");i=t}const o=await Ts.fromBinary(i,Ha,r,new Rs),c=new Ya(o);return c.fromStream=a,c}async function Za({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...s}){const a=void 0!==e?e:t;if(void 0===a)throw new Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!L.isString(e)&&!L.isStream(e))throw new Error("createMessage: options.text must be a string or stream");if(t&&!L.isUint8Array(t)&&!L.isStream(t))throw new Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(s);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);const c=L.isStream(a),l=new ks(n);void 0!==e?l.setText(a,Q.write(Q.literal,i)):l.setBytes(a,Q.write(Q.literal,i)),void 0!==r&&l.setFilename(r);const u=new Ts;u.push(l);const h=new Ya(u);return h.fromStream=c,h}const Va=L.constructAllowedPackets([Ds]);class za{constructor(e,t){if(this.text=L.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof ha))throw new Error("Invalid signature input");this.signature=t||new ha(new Ts)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach(function(t){e.push(t.issuerKeyID)}),e}async sign(e,t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=N){const l=new ks;l.setText(this.text);const u=new ha(await Ja(l,e,t,r,n,i,s,a,o,!0,c));return new za(this.text,u)}verify(e,t=new Date,r=N){const n=this.signature.packets.filterByTag(Q.packet.signature),i=new ks;return i.setText(this.text),_a(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=N){const t=this.signature.packets.some(e=>6!==e.version),r={hash:t?Array.from(new Set(this.signature.packets.map(e=>Q.read(Q.hash,e.hashAlgorithm).toUpperCase()))).join():null,text:this.text,data:this.signature.packets.write()};return re(Q.armor.signed,r,void 0,void 0,void 0,t,e)}}async function Xa({cleartextMessage:e,config:t,...r}){if(t={...N,...t},!e)throw new Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!L.isString(e))throw new Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw new Error(`Unknown option: ${n.join(", ")}`);const i=await te(e);if(i.type!==Q.armor.signed)throw new Error("No cleartext signed message.");const s=await Ts.fromBinary(i.data,Va,t);!function(e,t){const r=[];if(e.forEach(e=>{const t=e.match(/^Hash: (.+)$/);if(!t)throw new Error('Only "Hash" header allowed in cleartext signed message');{const e=t[1].replace(/\s/g,"").split(",").map(e=>{try{return Q.write(Q.hash,e.toLowerCase())}catch{throw new Error("Unknown hash algorithm in armor header: "+e.toLowerCase())}});r.push(...e)}}),r.length&&!function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n0)throw new Error(`Unknown option: ${r.join(", ")}`);return new za(e)}async function eo({userIDs:e=[],passphrase:t,type:r,curve:n,rsaBits:i=4096,keyExpirationTime:s=0,date:a=new Date,subkeys:o=[{}],format:c="armored",config:l,...u}){yo(l={...N,...l}),r||n?(r=r||"ecc",n=n||"curve25519Legacy"):(r=l.v6Keys?"curve25519":"ecc",n="curve25519Legacy"),e=mo(e);const h=Object.keys(u);if(h.length>0)throw new Error(`Unknown option: ${h.join(", ")}`);if(0===e.length&&!l.v6Keys)throw new Error("UserIDs are required for V4 keys");if("rsa"===r&&iva(e.subkeys[r],e));let r=[da(e,t)];r=r.concat(e.subkeys.map(e=>Aa(e,t)));const n=await Promise.all(r),i=await Qa(n[0],n.slice(1),e,t),s=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:s}}(f,l);return e.getKeys().forEach(({keyPacket:e})=>Ca(e,l)),{privateKey:Eo(e,c,l),publicKey:Eo(e.toPublic(),c,l),revocationCertificate:t}}catch(e){throw L.wrapError("Error generating keypair",e)}}async function to({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:n=0,date:i,format:s="armored",config:a,...o}){yo(a={...N,...a}),t=mo(t);const c=Object.keys(o);if(c.length>0)throw new Error(`Unknown option: ${c.join(", ")}`);if(0===t.length&&6!==e.keyPacket.version)throw new Error("UserIDs are required for V4 keys");const l={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:n,date:i};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw new Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw new Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every(({keyPacket:e})=>e.isDecrypted()))throw new Error("Key is not decrypted");const n=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map(async e=>{const r=e.keyPacket,i={key:n,bind:r},s=await pa(e.bindingSignatures,n,Q.signature.subkeyBinding,i,null,t).catch(()=>({}));return{sign:s.keyFlags&&s.keyFlags[0]&Q.keyFlags.signData}})));const i=r.subkeys.map(e=>e.keyPacket);if(e.subkeys.length!==i.length)throw new Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map(t=>o(t,e));const s=await Qa(n,i,e,t),a=await s.getRevocationCertificate(e.date,t);return s.revocationSignatures=[],{key:s,revocationCertificate:a};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=L.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(l,a);return{privateKey:Eo(e,s,a),publicKey:Eo(e.toPublic(),s,a),revocationCertificate:t}}catch(e){throw L.wrapError("Error reformatting keypair",e)}}async function ro({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:s,...a}){yo(s={...N,...s});const o=Object.keys(a);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);try{const a=t?await e.applyRevocationCertificate(t,n,s):await e.revoke(r,n,s);return a.isPrivate()?{privateKey:Eo(a,i,s),publicKey:Eo(a.toPublic(),i,s)}:{privateKey:null,publicKey:Eo(a,i,s)}}catch(e){throw L.wrapError("Error revoking key",e)}}async function no({privateKey:e,passphrase:t,config:r,...n}){yo(r={...N,...r});const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);if(!e.isPrivate())throw new Error("Cannot decrypt a public key");const s=e.clone(!0),a=L.isArray(t)?t:[t];try{return await Promise.all(s.getKeys().map(e=>L.anyPromise(a.map(t=>e.keyPacket.decrypt(t))))),await s.validate(r),s}catch(e){throw s.clearPrivateParams(),L.wrapError("Error decrypting private key",e)}}async function io({privateKey:e,passphrase:t,config:r,...n}){yo(r={...N,...r});const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);if(!e.isPrivate())throw new Error("Cannot encrypt a public key");const s=e.clone(!0),a=s.getKeys(),o=L.isArray(t)?t:new Array(a.length).fill(t);if(o.length!==a.length)throw new Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(a.map(async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()})),s}catch(e){throw s.clearPrivateParams(),L.wrapError("Error encrypting private key",e)}}async function so({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:s="armored",signature:a=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:l=[],date:u=new Date,signingUserIDs:h=[],encryptionUserIDs:f=[],signatureNotations:A=[],config:d,...p}){if(yo(d={...N,...d}),fo(e),po(s),t=mo(t),r=mo(r),n=mo(n),c=mo(c),l=mo(l),h=mo(h),f=mo(f),A=mo(A),p.detached)throw new Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(p.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(p.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==p.armor)throw new Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(p);if(g.length>0)throw new Error(`Unknown option: ${g.join(", ")}`);r||(r=[]);try{if((r.length||a)&&(e=await e.sign(r,t,a,c,u,h,l,A,d)),e=e.compress(await async function(e=[],t=new Date,r=[],n=N){const i=Q.compression.uncompressed,s=n.preferredCompressionAlgorithm,a=await Promise.all(e.map(async function(e,i){const a=(await e.getPrimarySelfSignature(t,r[i],n)).preferredCompressionAlgorithms;return!!a&&a.indexOf(s)>=0}));return a.every(Boolean)?s:i}(t,u,f,d),d),e=await e.encrypt(t,n,i,o,l,u,f,d),"object"===s)return e;const p="armored"===s?e.armor(d):e.write();return await wo(p)}catch(e){throw L.wrapError("Error encrypting message",e)}}async function ao({message:e,decryptionKeys:t,passwords:r,sessionKeys:n,verificationKeys:i,expectSigned:s=!1,format:a="utf8",signature:o=null,date:c=new Date,config:l,...u}){if(yo(l={...N,...l}),fo(e),i=mo(i),t=mo(t),r=mo(r),n=mo(n),u.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(u.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const h=Object.keys(u);if(h.length>0)throw new Error(`Unknown option: ${h.join(", ")}`);try{const u=await e.decrypt(t,r,n,c,l);i||(i=[]);const h={};if(h.signatures=o?await u.verifyDetached(o,i,c,l):await u.verify(i,c,l),h.data="binary"===a?u.getLiteralData():u.getText(),h.filename=u.getFilename(),bo(h,e,...new Set([u,u.unwrapCompressed()])),s){if(0===i.length)throw new Error("Verification keys are required to verify message signatures");if(0===h.signatures.length)throw new Error("Message is not signed");h.data=w([h.data,T(async()=>(await L.anyPromise(h.signatures.map(e=>e.verified)),"binary"===a?new Uint8Array:""))])}return h.data=await wo(h.data),h}catch(e){throw L.wrapError("Error decrypting message",e)}}async function oo({message:e,signingKeys:t,recipientKeys:r=[],format:n="armored",detached:i=!1,signingKeyIDs:s=[],date:a=new Date,signingUserIDs:o=[],recipientUserIDs:c=[],signatureNotations:l=[],config:u,...h}){if(yo(u={...N,...u}),Ao(e),po(n),t=mo(t),s=mo(s),o=mo(o),r=mo(r),c=mo(c),l=mo(l),h.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==h.armor)throw new Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(e instanceof za&&"binary"===n)throw new Error("Cannot return signed cleartext message in binary format");if(e instanceof za&&i)throw new Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw new Error("No signing keys provided");try{let h;return h=i?await e.signDetached(t,r,void 0,s,a,o,c,l,u):await e.sign(t,r,void 0,s,a,o,c,l,u),"object"===n?h:(h="armored"===n?h.armor(u):h.write(),i&&(h=B(e.packets.write(),async(e,t)=>{await Promise.all([b(h,t),P(e).catch(()=>{})])})),await wo(h))}catch(e){throw L.wrapError("Error signing message",e)}}async function co({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:s=new Date,config:a,...o}){if(yo(a={...N,...a}),Ao(e),t=mo(t),o.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw new Error(`Unknown option: ${c.join(", ")}`);if(e instanceof za&&"binary"===n)throw new Error("Can't return cleartext message data as binary");if(e instanceof za&&i)throw new Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=i?await e.verifyDetached(i,t,s,a):await e.verify(t,s,a),o.data="binary"===n?e.getLiteralData():e.getText(),e.fromStream&&!i&&bo(o,...new Set([e,e.unwrapCompressed()])),r){if(0===o.signatures.length)throw new Error("Message is not signed");o.data=w([o.data,T(async()=>(await L.anyPromise(o.signatures.map(e=>e.verified)),"binary"===n?new Uint8Array:""))])}return o.data=await wo(o.data),o}catch(e){throw L.wrapError("Error verifying signed message",e)}}async function lo({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(yo(n={...N,...n}),e=mo(e),r=mo(r),i.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const s=Object.keys(i);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);try{return await Ya.generateSessionKey(e,t,r,n)}catch(e){throw L.wrapError("Error generating session key",e)}}async function uo({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:n,passwords:i,format:s="armored",wildcard:a=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:l=[],config:u,...h}){if(yo(u={...N,...u}),function(e){if(!L.isUint8Array(e))throw new Error("Parameter [data] must be of type Uint8Array")}(e),function(e){if(!L.isString(e))throw new Error("Parameter [algorithm] must be of type String")}(t),po(s),n=mo(n),i=mo(i),o=mo(o),l=mo(l),h.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(!(n&&0!==n.length||i&&0!==i.length))throw new Error("No encryption keys or passwords provided.");try{return Eo(await Ya.encryptSessionKey(e,t,r,n,i,a,o,c,l,u),s,u)}catch(e){throw L.wrapError("Error encrypting session key",e)}}async function ho({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...s}){if(yo(i={...N,...i}),fo(e),t=mo(t),r=mo(r),s.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const a=Object.keys(s);if(a.length>0)throw new Error(`Unknown option: ${a.join(", ")}`);try{return await e.decryptSessionKeys(t,r,void 0,n,i)}catch(e){throw L.wrapError("Error decrypting session keys",e)}}function fo(e){if(!(e instanceof Ya))throw new Error("Parameter [message] needs to be of type Message")}function Ao(e){if(!(e instanceof za||e instanceof Ya))throw new Error("Parameter [message] needs to be of type Message or CleartextMessage")}function po(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw new Error(`Unsupported format ${e}`)}const go=Object.keys(N).length;function yo(e){const t=Object.keys(e);if(t.length!==go)for(const e of t)if(void 0===N[e])throw new Error(`Unknown config property: ${e}`)}function mo(e){return e&&!L.isArray(e)&&(e=[e]),e}async function wo(e){return"array"===L.isStream(e)?P(e):e}function bo(e,t,...r){e.data=B(t.packets.stream,async(t,n)=>{await b(e.data,n,{preventClose:!0});const i=M(n);try{await P(t,e=>e),await Promise.all(r.map(e=>P(e.packets.stream,e=>e))),await i.close()}catch(e){await i.abort(e)}})}function Eo(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw new Error(`Unsupported format ${t}`)}}const vo="object"==typeof n&&"crypto"in n?n.crypto:void 0;function ko(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Io(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Bo(e,...t){if(!ko(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Co(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");Io(e.outputLen),Io(e.blockLen)}function So(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 Do(e,t){Bo(e);const r=t.outputLen;if(e.length>>t}function Uo(e,t){return e<>>32-t>>>0}function To(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const Fo=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let t=0;t"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),Ro=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Qo(e){if(Bo(e),Mo)return e.toHex();let t="";for(let r=0;r=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function Oo(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(Mo)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,i=0;te().update(Lo(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Wo=jo;function Yo(e=32){if(vo&&"function"==typeof vo.getRandomValues)return vo.getRandomValues(new Uint8Array(e));if(vo&&"function"==typeof vo.randomBytes)return Uint8Array.from(vo.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Jo=BigInt(0),_o=BigInt(1);function qo(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e);return e}function Zo(e,t,r=""){const n=ko(e),i=e?.length,s=void 0!==t;if(!n||s&&i!==t)throw new Error((r&&`"${r}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(n?`length=${i}`:"type="+typeof e));return e}function Vo(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function zo(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?Jo:BigInt("0x"+e)}function Xo(e){return zo(Qo(e))}function $o(e){return Bo(e),zo(Qo(Uint8Array.from(e).reverse()))}function ec(e,t){return Oo(e.toString(16).padStart(2*t,"0"))}function tc(e,t){return ec(e,t).reverse()}function rc(e,t,r){let n;if("string"==typeof t)try{n=Oo(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!ko(t))throw new Error(e+" must be hex string or Uint8Array");n=Uint8Array.from(t)}const i=n.length;if("number"==typeof r&&i!==r)throw new Error(e+" of length "+r+" expected, got "+i);return n}function nc(e){return Uint8Array.from(e)}const ic=e=>"bigint"==typeof e&&Jo<=e;function sc(e,t,r,n){if(!function(e,t,r){return ic(e)&&ic(t)&&ic(r)&&t<=e&&eJo;e>>=_o,t+=1);return t}const oc=e=>(_o<n(e,t,!1)),Object.entries(r).forEach(([e,t])=>n(e,t,!0))}function lc(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const s=e(r,...n);return t.set(r,s),s}}const uc=BigInt(0),hc=BigInt(1),fc=BigInt(2),Ac=BigInt(3),dc=BigInt(4),pc=BigInt(5),gc=BigInt(7),yc=BigInt(8),mc=BigInt(9),wc=BigInt(16);function bc(e,t){const r=e%t;return r>=uc?r:t+r}function Ec(e,t,r){let n=e;for(;t-- >uc;)n*=n,n%=r;return n}function vc(e,t){if(e===uc)throw new Error("invert: expected non-zero number");if(t<=uc)throw new Error("invert: expected positive modulus, got "+t);let r=bc(e,t),n=t,i=uc,s=hc;for(;r!==uc;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==hc)throw new Error("invert: does not exist");return bc(i,t)}function kc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Ic(e,t){const r=(e.ORDER+hc)/dc,n=e.pow(t,r);return kc(e,n,t),n}function Bc(e,t){const r=(e.ORDER-pc)/yc,n=e.mul(t,fc),i=e.pow(n,r),s=e.mul(t,i),a=e.mul(e.mul(s,fc),i),o=e.mul(s,e.sub(a,e.ONE));return kc(e,o,t),o}function Cc(e){if(e1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return Ic;let s=i.pow(n,t);const a=(t+hc)/fc;return function(e,n){if(e.is0(n))return n;if(1!==xc(e,n))throw new Error("Cannot find square root");let i=r,o=e.mul(e.ONE,s),c=e.pow(n,t),l=e.pow(n,a);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,r=e.sqr(c);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw new Error("Cannot find square root");const n=hc<e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),s=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),s),n}function xc(e,t){const r=(e.ORDER-hc)/fc,n=e.pow(t,r),i=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),a=e.eql(n,e.neg(e.ONE));if(!i&&!s&&!a)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function Kc(e,t){void 0!==t&&Io(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function Pc(e,t,r=!1,n={}){if(e<=uc)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,s,a,o=!1;if("object"==typeof t&&null!=t){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");const e=t;e.BITS&&(i=e.BITS),e.sqrt&&(s=e.sqrt),"boolean"==typeof e.isLE&&(r=e.isLE),"boolean"==typeof e.modFromBytes&&(o=e.modFromBytes),a=e.allowedLengths}else"number"==typeof t&&(i=t),n.sqrt&&(s=n.sqrt);const{nBitLength:c,nByteLength:l}=Kc(e,i);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const h=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:oc(c),ZERO:uc,ONE:hc,allowedLengths:a,create:t=>bc(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return uc<=t&&te===uc,isValidNot0:e=>!h.is0(e)&&h.isValid(e),isOdd:e=>(e&hc)===hc,neg:t=>bc(-t,e),eql:(e,t)=>e===t,sqr:t=>bc(t*t,e),add:(t,r)=>bc(t+r,e),sub:(t,r)=>bc(t-r,e),mul:(t,r)=>bc(t*r,e),pow:(e,t)=>function(e,t,r){if(ruc;)r&hc&&(n=e.mul(n,i)),i=e.sqr(i),r>>=hc;return n}(h,e,t),div:(t,r)=>bc(t*vc(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>vc(t,e),sqrt:s||(t=>{return u||(u=(r=e)%dc===Ac?Ic:r%yc===pc?Bc:r%wc===mc?function(e){const t=Pc(e),r=Cc(e),n=r(t,t.neg(t.ONE)),i=r(t,n),s=r(t,t.neg(n)),a=(e+gc)/wc;return(e,t)=>{let r=e.pow(t,a),o=e.mul(r,n);const c=e.mul(r,i),l=e.mul(r,s),u=e.eql(e.sqr(o),t),h=e.eql(e.sqr(c),t);r=e.cmov(r,o,u),o=e.cmov(l,c,h);const f=e.eql(e.sqr(o),t),A=e.cmov(r,o,f);return kc(e,A,t),A}}(r):Cc(r)),u(h,t);var r}),toBytes:e=>r?tc(e,l):ec(e,l),fromBytes:(t,n=!0)=>{if(a){if(!a.includes(t.length)||t.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+t.length);const e=new Uint8Array(l);e.set(t,r?0:e.length-t.length),t=e}if(t.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+t.length);let i=r?$o(t):Xo(t);if(o&&(i=bc(i,e)),!n&&!h.isValid(i))throw new Error("invalid field element: outside of range 0..ORDER");return i},invertBatch:e=>Dc(h,e),cmov:(e,t,r)=>r?t:e});return Object.freeze(h)}function Uc(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Tc(e){const t=Uc(e);return t+Math.ceil(t/2)}function Fc(e,t,r){return e&t^~e&r}function Mc(e,t,r){return e&t^e&r^t&r}class Rc extends Ho{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Ko(this.buffer)}update(e){So(this),Bo(e=Lo(e));const{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let s=0;sn-s&&(this.process(r,0),s=0);for(let e=s;e>i&s),o=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+l,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const a=Ko(e),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>Hc&Gc)}:{h:0|Number(e>>Hc&Gc),l:0|Number(e&Gc)}}function Wc(e,t=!1){const r=e.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let s=0;se>>>r,Jc=(e,t,r)=>e<<32-r|t>>>r,_c=(e,t,r)=>e>>>r|t<<32-r,qc=(e,t,r)=>e<<32-r|t>>>r,Zc=(e,t,r)=>e<<64-r|t>>>r-32,Vc=(e,t,r)=>e>>>r-32|t<<64-r;function zc(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}}const Xc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),$c=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,el=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),tl=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,rl=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),nl=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0,il=Uint32Array.from([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]),sl=new Uint32Array(64);class al extends Rc{constructor(e=32){super(64,e,8,!1),this.A=0|Qc[0],this.B=0|Qc[1],this.C=0|Qc[2],this.D=0|Qc[3],this.E=0|Qc[4],this.F=0|Qc[5],this.G=0|Qc[6],this.H=0|Qc[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[e,t,r,n,i,s,a,o]}set(e,t,r,n,i,s,a,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)sl[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=sl[e-15],r=sl[e-2],n=Po(t,7)^Po(t,18)^t>>>3,i=Po(r,17)^Po(r,19)^r>>>10;sl[e]=i+sl[e-7]+n+sl[e-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+(Po(a,6)^Po(a,11)^Po(a,25))+Fc(a,o,c)+il[e]+sl[e]|0,u=(Po(r,2)^Po(r,13)^Po(r,22))+Mc(r,n,i)|0;l=c,c=o,o=a,a=s+t|0,s=i,i=n,n=r,r=t+u|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,i,s,a,o,c,l)}roundClean(){xo(sl)}destroy(){this.set(0,0,0,0,0,0,0,0),xo(this.buffer)}}class ol extends al{constructor(){super(28),this.A=0|Nc[0],this.B=0|Nc[1],this.C=0|Nc[2],this.D=0|Nc[3],this.E=0|Nc[4],this.F=0|Nc[5],this.G=0|Nc[6],this.H=0|Nc[7]}}const cl=(()=>Wc(["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))))(),ll=(()=>cl[0])(),ul=(()=>cl[1])(),hl=new Uint32Array(80),fl=new Uint32Array(80);class Al extends Rc{constructor(e=64){super(128,e,16,!1),this.Ah=0|Lc[0],this.Al=0|Lc[1],this.Bh=0|Lc[2],this.Bl=0|Lc[3],this.Ch=0|Lc[4],this.Cl=0|Lc[5],this.Dh=0|Lc[6],this.Dl=0|Lc[7],this.Eh=0|Lc[8],this.El=0|Lc[9],this.Fh=0|Lc[10],this.Fl=0|Lc[11],this.Gh=0|Lc[12],this.Gl=0|Lc[13],this.Hh=0|Lc[14],this.Hl=0|Lc[15]}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:c,El:l,Fh:u,Fl:h,Gh:f,Gl:A,Hh:d,Hl:p}=this;return[e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p]}set(e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|c,this.El=0|l,this.Fh=0|u,this.Fl=0|h,this.Gh=0|f,this.Gl=0|A,this.Hh=0|d,this.Hl=0|p}process(e,t){for(let r=0;r<16;r++,t+=4)hl[r]=e.getUint32(t),fl[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|hl[e-15],r=0|fl[e-15],n=_c(t,r,1)^_c(t,r,8)^Yc(t,0,7),i=qc(t,r,1)^qc(t,r,8)^Jc(t,r,7),s=0|hl[e-2],a=0|fl[e-2],o=_c(s,a,19)^Zc(s,a,61)^Yc(s,0,6),c=qc(s,a,19)^Vc(s,a,61)^Jc(s,a,6),l=el(i,c,fl[e-7],fl[e-16]),u=tl(l,n,o,hl[e-7],hl[e-16]);hl[e]=0|u,fl[e]=0|l}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:c,Dl:l,Eh:u,El:h,Fh:f,Fl:A,Gh:d,Gl:p,Hh:g,Hl:y}=this;for(let e=0;e<80;e++){const t=_c(u,h,14)^_c(u,h,18)^Zc(u,h,41),m=qc(u,h,14)^qc(u,h,18)^Vc(u,h,41),w=u&f^~u&d,b=rl(y,m,h&A^~h&p,ul[e],fl[e]),E=nl(b,g,t,w,ll[e],hl[e]),v=0|b,k=_c(r,n,28)^Zc(r,n,34)^Zc(r,n,39),I=qc(r,n,28)^Vc(r,n,34)^Vc(r,n,39),B=r&i^r&a^i&a,C=n&s^n&o^s&o;g=0|d,y=0|p,d=0|f,p=0|A,f=0|u,A=0|h,({h:u,l:h}=zc(0|c,0|l,0|E,0|v)),c=0|a,l=0|o,a=0|i,o=0|s,i=0|r,s=0|n;const S=Xc(v,I,C);r=$c(S,E,k,B),n=0|S}({h:r,l:n}=zc(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=zc(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=zc(0|this.Ch,0|this.Cl,0|a,0|o)),({h:c,l}=zc(0|this.Dh,0|this.Dl,0|c,0|l)),({h:u,l:h}=zc(0|this.Eh,0|this.El,0|u,0|h)),({h:f,l:A}=zc(0|this.Fh,0|this.Fl,0|f,0|A)),({h:d,l:p}=zc(0|this.Gh,0|this.Gl,0|d,0|p)),({h:g,l:y}=zc(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,n,i,s,a,o,c,l,u,h,f,A,d,p,g,y)}roundClean(){xo(hl,fl)}destroy(){xo(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class dl extends Al{constructor(){super(48),this.Ah=0|Oc[0],this.Al=0|Oc[1],this.Bh=0|Oc[2],this.Bl=0|Oc[3],this.Ch=0|Oc[4],this.Cl=0|Oc[5],this.Dh=0|Oc[6],this.Dl=0|Oc[7],this.Eh=0|Oc[8],this.El=0|Oc[9],this.Fh=0|Oc[10],this.Fl=0|Oc[11],this.Gh=0|Oc[12],this.Gl=0|Oc[13],this.Hh=0|Oc[14],this.Hl=0|Oc[15]}}const pl=jo(()=>new al),gl=jo(()=>new ol),yl=jo(()=>new Al),ml=jo(()=>new dl);class wl extends Ho{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Co(e);const r=Lo(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let e=0;enew wl(e,t).update(r).digest();bl.create=(e,t)=>new wl(e,t);const El=BigInt(0),vl=BigInt(1);function kl(e,t){const r=t.negate();return e?r:t}function Il(e,t){const r=Dc(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function Bl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Cl(e,t){Bl(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:oc(e),maxNumber:r,shiftBy:BigInt(e)}}function Sl(e,t,r){const{windowSize:n,mask:i,maxNumber:s,shiftBy:a}=r;let o=Number(e&i),c=e>>a;o>n&&(o-=s,c+=vl);const l=t*n;return{nextN:c,offset:l+Math.abs(o)-1,isZero:0===o,isNeg:o<0,isNegF:t%2!=0,offsetF:l}}const Dl=new WeakMap,xl=new WeakMap;function Kl(e){return xl.get(e)||1}function Pl(e){if(e!==El)throw new Error("invalid wNAF")}class Ul{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>El;)t&vl&&(r=r.add(n)),n=n.double(),t>>=vl;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=Cl(t,this.bits),i=[];let s=e,a=s;for(let e=0;e{if(!(e instanceof t))throw new Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)})}(n,t);const i=r.length,s=n.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=ac(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const l=oc(c),u=new Array(Number(l)+1).fill(a);let h=a;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){u.fill(a);for(let t=0;t>BigInt(e)&l);u[s]=u[s].add(r[t])}let t=a;for(let e=u.length-1,r=a;e>0;e--)r=r.add(u[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return Pc(e,{isLE:r})}function Ml(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>El))throw new Error(`CURVE.${e} must be positive bigint`)}const i=Fl(t.p,r.Fp,n),s=Fl(t.n,r.Fn,n),a=["Gx","Gy","a","weierstrass"===e?"b":"d"];for(const e of a)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:s}}const Rl=(e,t)=>(e+(e>=0?t:-t)/jl)/t;function Ql(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Nl(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return qo(r.lowS,"lowS"),qo(r.prehash,"prehash"),void 0!==r.format&&Ql(r.format),r}class Ol extends Error{constructor(e=""){super(e)}}const Ll={Err:Ol,_tlv:{encode:(e,t)=>{const{Err:r}=Ll;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=Vo(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const s=n>127?Vo(i.length/2|128):"";return Vo(e)+s+i+t},decode(e,t){const{Err:r}=Ll;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let s=0;if(128&i){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const a=t.subarray(n,n+e);if(a.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===a[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(n+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=i;const a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){const{Err:t}=Ll;if(ebl(t,e,Go(...r))),{Fp:s,Fn:a}=e,{ORDER:o,BITS:c}=a,{keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A}=function(e,t={}){const{Fn:r}=e,n=t.randomBytes||Yo,i=Object.assign(ql(e.Fp,r),{seed:Tc(r.ORDER)});function s(e){try{return!!Jl(r,e)}catch(e){return!1}}function a(e=n(i.seed)){return function(e,t,r=!1){const n=e.length,i=Uc(t),s=Tc(t);if(n<16||n1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);const a=bc(r?$o(e):Xo(e),t-hc)+hc;return r?tc(a,i):ec(a,i)}(Zo(e,i.seed,"seed"),r.ORDER)}function o(t,n=!0){return e.BASE.multiply(Jl(r,t)).toBytes(n)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:n,publicKey:s,publicKeyUncompressed:a}=i;if(r.allowedLengths||n===s)return;const o=rc("key",t).length;return o===s||o===a}const l={isValidSecretKey:s,isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:s}=i;try{const i=t.length;return!(!0===r&&i!==n||!1===r&&i!==s||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:e=>Jl(r,e),precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({getPublicKey:o,getSharedSecret:function(t,n,i=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(n))throw new Error("second arg must be public key");const s=Jl(r,t);return e.fromHex(n).multiply(s).toBytes(i)},keygen:function(e){const t=a(e);return{secretKey:t,publicKey:o(t)}},Point:e,utils:l,lengths:i})}(e,r),d={prehash:!1,lowS:"boolean"==typeof r.lowS&&r.lowS,format:void 0,extraEntropy:!1},p="compact";function g(e){return e>o>>Hl}function y(e,t){if(!a.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class m{constructor(e,t,r){this.r=y("r",e),this.s=y("s",t),null!=r&&(this.recovery=r),Object.freeze(this)}static fromBytes(e,t=p){let r;if(function(e,t){Ql(t);const r=A.signature;Zo(e,"compact"===t?r:"recovered"===t?r+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:r}=Ll.toSig(Zo(e));return new m(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=a.BYTES,i=e.subarray(0,n),s=e.subarray(n,2*n);return new m(a.fromBytes(i),a.fromBytes(s),r)}static fromHex(e,t){return this.fromBytes(Oo(e),t)}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(t){const r=s.ORDER,{r:n,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(o*jl1)throw new Error("recovery id is ambiguous for h>1 curve");const l=2===c||3===c?n+o:n;if(!s.isValid(l))throw new Error("recovery id 2 or 3 invalid");const u=s.toBytes(l),h=e.fromBytes(Go(_l(!(1&c)),u)),f=a.inv(l),A=b(rc("msgHash",t)),d=a.create(-A*f),p=a.create(i*f),g=e.BASE.multiplyUnsafe(d).add(h.multiplyUnsafe(p));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=p){if(Ql(e),"der"===e)return Oo(Ll.hexFromSig(this));const t=a.toBytes(this.r),r=a.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return Go(Uint8Array.of(this.recovery),t,r)}return Go(t,r)}toHex(e){return Qo(this.toBytes(e))}assertValidity(){}static fromCompact(e){return m.fromBytes(rc("sig",e),"compact")}static fromDER(e){return m.fromBytes(rc("sig",e),"der")}normalizeS(){return this.hasHighS()?new m(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Qo(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Qo(this.toBytes("compact"))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=Xo(e),r=8*e.length-c;return r>0?t>>BigInt(r):t},b=r.bits2int_modN||function(e){return a.create(w(e))},E=oc(c);function v(e){return sc("num < 2^"+c,e,Gl,E),a.toBytes(e)}function k(e,r){return Zo(e,void 0,"message"),r?Zo(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A,Point:e,sign:function(r,s,o={}){r=rc("message",r);const{seed:c,k2sig:l}=function(t,r,i){if(["recovered","canonical"].some(e=>e in i))throw new Error("sign() legacy options not supported");const{lowS:s,prehash:o,extraEntropy:c}=Nl(i,d);t=k(t,o);const l=b(t),u=Jl(a,r),h=[v(u),v(l)];if(null!=c&&!1!==c){const e=!0===c?n(A.secretKey):c;h.push(rc("extraEntropy",e))}const f=Go(...h),p=l;return{seed:f,k2sig:function(t){const r=w(t);if(!a.isValidNot0(r))return;const n=a.inv(r),i=e.BASE.multiply(r).toAffine(),o=a.create(i.x);if(o===Gl)return;const c=a.create(n*a.create(p+o*u));if(c===Gl)return;let l=(i.x===o?0:2)|Number(i.y&Hl),h=c;return s&&g(c)&&(h=a.neg(c),l^=1),new m(o,h,l)}}}(r,s,o),u=function(e,t,r){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=n(e),a=n(e),o=0;const c=()=>{s.fill(1),a.fill(0),o=0},l=(...e)=>r(a,s,...e),u=(e=n(0))=>{a=l(i(0),e),s=l(),0!==e.length&&(a=l(i(1),e),s=l())},h=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const r=[];for(;e{let r;for(c(),u(e);!(r=t(h()));)u();return c(),r}}(t.outputLen,a.BYTES,i);return u(c,l)},verify:function(t,r,n,i={}){const{lowS:s,prehash:o,format:c}=Nl(i,d);if(n=rc("publicKey",n),r=k(rc("message",r),o),"strict"in i)throw new Error("options.strict was renamed to lowS");const l=void 0===c?function(e){let t;const r="string"==typeof e||ko(e),n=!r&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!r&&!n)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(n)t=new m(e.r,e.s);else if(r){try{t=m.fromBytes(rc("sig",e),"der")}catch(e){if(!(e instanceof Ll.Err))throw e}if(!t)try{t=m.fromBytes(rc("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):m.fromBytes(rc("sig",t),c);if(!1===l)return!1;try{const t=e.fromBytes(n);if(s&&l.hasHighS())return!1;const{r:i,s:o}=l,c=b(r),u=a.inv(o),h=a.create(c*u),f=a.create(i*u),A=e.BASE.multiplyUnsafe(h).add(t.multiplyUnsafe(f));return!A.is0()&&a.create(A.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=Nl(r,d);return t=k(t,n),m.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:m,hash:t})}function Vl(e){const{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=function(e){const{CURVE:t,curveOpts:r}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp;let n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:r,Fn:Pc(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,Kc(r.Fn.ORDER,r.Fn.BITS))})}(e,Zl(function(e,t={}){const r=Ml("weierstrass",e,t),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a,n:o}=s;cc(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!n.is0(s.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=ql(n,i);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const h=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),a=n.toBytes(i);return qo(r,"isCompressed"),r?(u(),Go(_l(!n.isOdd(s)),a)):Go(Uint8Array.of(4),a,n.toBytes(s))},f=t.fromBytes||function(e){Zo(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=l,i=e.length,s=e[0],a=e.subarray(1);if(i!==t||2!==s&&3!==s){if(i===r&&4===s){const e=n.BYTES,t=n.fromBytes(a.subarray(0,e)),r=n.fromBytes(a.subarray(e,2*e));if(!d(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(a);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=A(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}return u(),!(1&~s)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function A(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,s.a)),s.b)}function d(e,t){const r=n.sqr(t),i=A(e);return n.eql(r,i)}if(!d(s.Gx,s.Gy))throw new Error("bad curve params: generator point");const p=n.mul(n.pow(s.a,Wl),Yl),g=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(p,g)))throw new Error("bad curve params: a or b");function y(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function m(e){if(!(e instanceof k))throw new Error("ProjectivePoint expected")}function w(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,r){const[[n,i],[s,a]]=t,o=Rl(a*e,r),c=Rl(-i*e,r);let l=e-o*n-c*s,u=-o*i-c*a;const h=l=A||u=A)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:h,k1:l,k2neg:f,k2:u}}(e,c.basises,i.ORDER)}const b=lc((e,t)=>{const{X:r,Y:i,Z:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const o=n.mul(r,t),c=n.mul(i,t),l=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw new Error("invZ was invalid");return{x:o,y:c}}),E=lc(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!d(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(e,t,r,i,s){return r=new k(n.mul(r.X,e),r.Y,r.Z),t=kl(i,t),r=kl(s,r),t.add(r)}class k{constructor(e,t,r){this.X=y("x",e),this.Y=y("y",t,!0),this.Z=y("z",r),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof k)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?k.ZERO:new k(t,r,n.ONE)}static fromBytes(e){const t=k.fromAffine(f(Zo(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return k.fromBytes(rc("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return B.createCache(this,e),t||this.multiply(Wl),this}assertValidity(){E(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){m(e);const{X:t,Y:r,Z:i}=this,{X:s,Y:a,Z:o}=e,c=n.eql(n.mul(t,o),n.mul(s,i)),l=n.eql(n.mul(r,o),n.mul(a,i));return c&&l}negate(){return new k(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=s,r=n.mul(t,Wl),{X:i,Y:a,Z:o}=this;let c=n.ZERO,l=n.ZERO,u=n.ZERO,h=n.mul(i,i),f=n.mul(a,a),A=n.mul(o,o),d=n.mul(i,a);return d=n.add(d,d),u=n.mul(i,o),u=n.add(u,u),c=n.mul(e,u),l=n.mul(r,A),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(d,c),u=n.mul(r,u),A=n.mul(e,A),d=n.sub(h,A),d=n.mul(e,d),d=n.add(d,u),u=n.add(h,h),h=n.add(u,h),h=n.add(h,A),h=n.mul(h,d),l=n.add(l,h),A=n.mul(a,o),A=n.add(A,A),h=n.mul(A,d),c=n.sub(c,h),u=n.mul(A,f),u=n.add(u,u),u=n.add(u,u),new k(c,l,u)}add(e){m(e);const{X:t,Y:r,Z:i}=this,{X:a,Y:o,Z:c}=e;let l=n.ZERO,u=n.ZERO,h=n.ZERO;const f=s.a,A=n.mul(s.b,Wl);let d=n.mul(t,a),p=n.mul(r,o),g=n.mul(i,c),y=n.add(t,r),w=n.add(a,o);y=n.mul(y,w),w=n.add(d,p),y=n.sub(y,w),w=n.add(t,i);let b=n.add(a,c);return w=n.mul(w,b),b=n.add(d,g),w=n.sub(w,b),b=n.add(r,i),l=n.add(o,c),b=n.mul(b,l),l=n.add(p,g),b=n.sub(b,l),h=n.mul(f,w),l=n.mul(A,g),h=n.add(l,h),l=n.sub(p,h),h=n.add(p,h),u=n.mul(l,h),p=n.add(d,d),p=n.add(p,d),g=n.mul(f,g),w=n.mul(A,w),p=n.add(p,g),g=n.sub(d,g),g=n.mul(f,g),w=n.add(w,g),d=n.mul(p,w),u=n.add(u,d),d=n.mul(b,w),l=n.mul(y,l),l=n.sub(l,d),d=n.mul(y,p),h=n.mul(b,h),h=n.add(h,d),new k(l,u,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(k.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,s;const a=e=>B.cached(this,e,e=>Il(k,e));if(r){const{k1neg:t,k1:i,k2neg:o,k2:c}=w(e),{p:l,f:u}=a(i),{p:h,f}=a(c);s=u.add(f),n=v(r.beta,l,h,t,o)}else{const{p:t,f:r}=a(e);n=t,s=r}return Il(k,[n,s])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===Gl||n.is0())return k.ZERO;if(e===Hl)return n;if(B.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:s,k2:a}=w(e),{p1:o,p2:c}=function(e,t,r,n){let i=t,s=e.ZERO,a=e.ZERO;for(;r>El||n>El;)r&vl&&(s=s.add(i)),n&vl&&(a=a.add(i)),i=i.double(),r>>=vl,n>>=vl;return{p1:s,p2:a}}(k,n,i,a);return v(r.beta,o,c,t,s)}return B.unsafe(n,e)}multiplyAndAddUnsafe(e,t,r){const n=this.multiplyUnsafe(t).add(e.multiplyUnsafe(r));return n.is0()?void 0:n}toAffine(e){return b(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return a===Hl||(e?e(k,this):B.unsafe(this,o).is0())}clearCofactor(){const{clearCofactor:e}=t;return a===Hl?this:e?e(k,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(e=!0){return qo(e,"isCompressed"),this.assertValidity(),h(k,this,e)}toHex(e=!0){return Qo(this.toBytes(e))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return Il(k,e)}static msm(e,t){return Tl(k,i,e,t)}static fromPrivateKey(e){return k.BASE.multiply(Jl(i,e))}}k.BASE=new k(s.Gx,s.Gy,n.ONE),k.ZERO=new k(n.ZERO,n.ONE,n.ZERO),k.Fp=n,k.Fn=i;const I=i.BITS,B=new Ul(k,t.endo?Math.ceil(I/2):I);return k.BASE.precompute(8),k}(t,r),n,i))}function zl(e,t){const r=t=>Vl({...e,hash:t});return{...r(t),create:r}}const Xl={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},$l={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},eu={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},tu=Pc(Xl.p),ru=Pc($l.p),nu=Pc(eu.p),iu=zl({...Xl,Fp:tu,lowS:!1},pl),su=zl({...$l,Fp:ru,lowS:!1},ml),au=zl({...eu,Fp:nu,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},yl),ou=BigInt(0),cu=BigInt(1),lu=BigInt(2),uu=BigInt(7),hu=BigInt(256),fu=BigInt(113),Au=[],du=[],pu=[];for(let e=0,t=cu,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Au.push(2*(5*n+r)),du.push((e+1)*(e+2)/2%64);let i=ou;for(let e=0;e<7;e++)t=(t<>uu)*fu)%hu,t&lu&&(i^=cu<<(cu<r>32?((e,t,r)=>t<>>64-r)(e,t,r):((e,t,r)=>e<>>32-r)(e,t,r),bu=(e,t,r)=>r>32?((e,t,r)=>e<>>64-r)(e,t,r):((e,t,r)=>t<>>32-r)(e,t,r);class Eu extends Ho{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,Io(r),!(0=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Io(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Do(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,xo(this.state)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return e||(e=new Eu(t,r,n,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=s,e.destroyed=this.destroyed,e}}const vu=(e,t,r)=>jo(()=>new Eu(t,e,r)),ku=(()=>vu(6,136,32))(),Iu=(()=>vu(6,72,64))(),Bu=(()=>{return e=31,t=136,r=32,function(e){const t=(t,r)=>e(r).update(Lo(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}((n={})=>new Eu(t,e,void 0===n.dkLen?r:n.dkLen,!0));var e,t,r})(),Cu=BigInt(0),Su=BigInt(1),Du=BigInt(2),xu=BigInt(8);function Ku(e,t={}){const r=Ml("edwards",e,t,t.FpFnLE),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a}=s;cc(t,{},{uvRatio:"function"});const o=Du<n.create(e),l=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(n.div(e,t))}}catch(e){return{isValid:!1,value:Cu}}});if(!function(e,t,r,n){const i=e.sqr(r),s=e.sqr(n),a=e.add(e.mul(t.a,i),s),o=e.add(e.ONE,e.mul(t.d,e.mul(i,s)));return e.eql(a,o)}(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function u(e,t,r=!1){return sc("coordinate "+e,t,r?Su:Cu,o),t}function h(e){if(!(e instanceof d))throw new Error("ExtendedPoint expected")}const f=lc((e,t)=>{const{X:r,Y:i,Z:s}=e,a=e.is0();null==t&&(t=a?xu:n.inv(s));const o=c(r*t),l=c(i*t),u=n.mul(s,t);if(a)return{x:Cu,y:Su};if(u!==Su)throw new Error("invZ was invalid");return{x:o,y:l}}),A=lc(e=>{const{a:t,d:r}=s;if(e.is0())throw new Error("bad point: ZERO");const{X:n,Y:i,Z:a,T:o}=e,l=c(n*n),u=c(i*i),h=c(a*a),f=c(h*h),A=c(l*t);if(c(h*c(A+u))!==c(f+c(r*c(l*u))))throw new Error("bad point: equation left != right (1)");if(c(n*i)!==c(a*o))throw new Error("bad point: equation left != right (2)");return!0});class d{constructor(e,t,r,n){this.X=u("x",e),this.Y=u("y",t),this.Z=u("z",r,!0),this.T=u("t",n),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){if(e instanceof d)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};return u("x",t),u("y",r),new d(t,r,Su,c(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:i,d:a}=s;e=nc(Zo(e,r,"point")),qo(t,"zip215");const u=nc(e),h=e[r-1];u[r-1]=-129&h;const f=$o(u),A=t?o:n.ORDER;sc("point.y",f,Cu,A);const p=c(f*f),g=c(p-Su),y=c(a*p-i);let{isValid:m,value:w}=l(g,y);if(!m)throw new Error("bad point: invalid y coordinate");const b=(w&Su)===Su,E=!!(128&h);if(!t&&w===Cu&&E)throw new Error("bad point: x=0 and x_0=1");return E!==b&&(w=c(-w)),d.fromAffine({x:w,y:f})}static fromHex(e,t=!1){return d.fromBytes(rc("point",e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return p.createCache(this,e),t||this.multiply(Du),this}assertValidity(){A(this)}equals(e){h(e);const{X:t,Y:r,Z:n}=this,{X:i,Y:s,Z:a}=e,o=c(t*a),l=c(i*n),u=c(r*a),f=c(s*n);return o===l&&u===f}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:e}=s,{X:t,Y:r,Z:n}=this,i=c(t*t),a=c(r*r),o=c(Du*c(n*n)),l=c(e*i),u=t+r,h=c(c(u*u)-i-a),f=l+a,A=f-o,p=l-a,g=c(h*A),y=c(f*p),m=c(h*p),w=c(A*f);return new d(g,y,w,m)}add(e){h(e);const{a:t,d:r}=s,{X:n,Y:i,Z:a,T:o}=this,{X:l,Y:u,Z:f,T:A}=e,p=c(n*l),g=c(i*u),y=c(o*r*A),m=c(a*f),w=c((n+i)*(l+u)-p-g),b=m-y,E=m+y,v=c(g-t*p),k=c(w*b),I=c(E*v),B=c(w*v),C=c(b*E);return new d(k,I,C,B)}subtract(e){return this.add(e.negate())}multiply(e){if(!i.isValidNot0(e))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:t,f:r}=p.cached(this,e,e=>Il(d,e));return Il(d,[t,r])[0]}multiplyUnsafe(e,t=d.ZERO){if(!i.isValid(e))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return e===Cu?d.ZERO:this.is0()||e===Su?this:p.unsafe(this,e,e=>Il(d,e),t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return p.unsafe(this,s.n).is0()}toAffine(e){return f(this,e)}clearCofactor(){return a===Su?this:this.multiplyUnsafe(a)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&Su?128:0,r}toHex(){return Qo(this.toBytes())}toString(){return``}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(e){return Il(d,e)}static msm(e,t){return Tl(d,i,e,t)}_setWindowSize(e){this.precompute(e)}toRawBytes(){return this.toBytes()}}d.BASE=new d(s.Gx,s.Gy,Su,c(s.Gx*s.Gy)),d.ZERO=new d(Cu,Su,Su,Cu),d.Fp=n,d.Fn=i;const p=new Ul(d,i.BITS);return d.BASE.precompute(8),d}const Pu=BigInt(0),Uu=BigInt(1),Tu=BigInt(2);const Fu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),h:BigInt(4),a:BigInt(1),d:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),Gx:BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),Gy:BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")},Mu=Object.assign({},Fu,{d:BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),Gx:BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),Gy:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")}),Ru=jo(()=>Bu.create({dkLen:114})),Qu=BigInt(1),Nu=BigInt(2),Ou=BigInt(3);BigInt(4);const Lu=BigInt(11),Gu=BigInt(22),Hu=BigInt(44),ju=BigInt(88),Wu=BigInt(223);function Yu(e){const t=Fu.p,r=e*e*e%t,n=r*r*e%t,i=Ec(n,Ou,t)*n%t,s=Ec(i,Ou,t)*n%t,a=Ec(s,Nu,t)*r%t,o=Ec(a,Lu,t)*a%t,c=Ec(o,Gu,t)*o%t,l=Ec(c,Hu,t)*c%t,u=Ec(l,ju,t)*l%t,h=Ec(u,Hu,t)*c%t,f=Ec(h,Nu,t)*r%t,A=Ec(f,Qu,t)*e%t;return Ec(A,Wu,t)*f%t}function Ju(e){return e[0]&=252,e[55]|=128,e[56]=0,e}function _u(e,t){const r=Fu.p,n=bc(e*e*t,r),i=bc(n*e,r),s=bc(i*n*t,r),a=bc(i*Yu(s),r),o=bc(a*a,r);return{isValid:bc(o*t,r)===e,value:a}}const qu=(()=>Pc(Fu.p,{BITS:456,isLE:!0}))(),Zu=(()=>Pc(Fu.n,{BITS:456,isLE:!0}))();function Vu(e,t,r){if(t.length>255)throw new Error("context must be smaller than 255, got: "+t.length);return Go((n="SigEd448",Uint8Array.from(n,(e,t)=>{const r=e.charCodeAt(0);if(1!==e.length||r>127)throw new Error(`string contains non-ASCII character "${n[t]}" with code ${r} at position ${t}`);return r})),new Uint8Array([r?1:0,t.length]),t,e);var n}const zu=function(e){const{CURVE:t,curveOpts:r,hash:n,eddsaOpts:i}=function(e){const t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r={Fp:e.Fp,Fn:Pc(t.n,e.nBitLength,!0),uvRatio:e.uvRatio},n={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:r,hash:e.hash,eddsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}(e,function(e,t,r={}){if("function"!=typeof t)throw new Error('"hash" function param is required');cc(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:n}=r,{BASE:i,Fp:s,Fn:a}=e,o=r.randomBytes||Yo,c=r.adjustScalarBytes||(e=>e),l=r.domain||((e,t,r)=>{if(qo(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function u(e){return a.create($o(e))}function h(e){const{head:r,prefix:n,scalar:s}=function(e){const r=g.secretKey;e=rc("private key",e,r);const n=rc("hashed private key",t(e),2*r),i=c(n.slice(0,r));return{head:i,prefix:n.slice(r,2*r),scalar:u(i)}}(e),a=i.multiply(s),o=a.toBytes();return{head:r,prefix:n,scalar:s,point:a,pointBytes:o}}function f(e){return h(e).pointBytes}function A(e=Uint8Array.of(),...r){const i=Go(...r);return u(t(l(i,rc("context",e),!!n)))}const d={zip215:!0},p=s.BYTES,g={secretKey:p,publicKey:p,signature:2*p,seed:p};function y(e=o(g.seed)){return Zo(e,g.seed,"seed")}const m={getExtendedPublicKey:h,randomSecretKey:y,isValidSecretKey:function(e){return ko(e)&&e.length===a.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){const{y:r}=e.fromBytes(t),n=g.publicKey,i=32===n;if(!i&&57!==n)throw new Error("only defined for 25519 and 448");const a=i?s.div(Su+r,Su-r):s.div(r-Su,r+Su);return s.toBytes(a)},toMontgomerySecret(e){const r=g.secretKey;Zo(e,r);const n=t(e.subarray(0,r));return c(n).subarray(0,r)},randomPrivateKey:y,precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({keygen:function(e){const t=m.randomSecretKey(e);return{secretKey:t,publicKey:f(t)}},getPublicKey:f,sign:function(e,t,r={}){e=rc("message",e),n&&(e=n(e));const{prefix:s,scalar:o,pointBytes:c}=h(t),l=A(r.context,s,e),u=i.multiply(l).toBytes(),f=A(r.context,u,c,e),d=a.create(l+f*o);if(!a.isValid(d))throw new Error("sign failed: invalid s");return Zo(Go(u,a.toBytes(d)),g.signature,"result")},verify:function(t,r,s,a=d){const{context:o,zip215:c}=a,l=g.signature;t=rc("signature",t,l),r=rc("message",r),s=rc("publicKey",s,g.publicKey),void 0!==c&&qo(c,"zip215"),n&&(r=n(r));const u=l/2,h=t.subarray(0,u),f=$o(t.subarray(u,l));let p,y,m;try{p=e.fromBytes(s,c),y=e.fromBytes(h,c),m=i.multiplyUnsafe(f)}catch(e){return!1}if(!c&&p.isSmallOrder())return!1;const w=A(o,y.toBytes(),p.toBytes(),r);return y.add(p.multiplyUnsafe(w)).subtract(m).clearCofactor().is0()},utils:m,Point:e,lengths:g})}(Ku(t,r),n,i))}((()=>({...Fu,Fp:qu,Fn:Zu,nBitLength:Zu.BITS,hash:Ru,adjustScalarBytes:Ju,domain:Vu,uvRatio:_u}))());Ku(Mu);const Xu=(()=>{const e=Fu.p;return function(e){const t=(cc(r=e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...r}));var r;const{P:n,type:i,adjustScalarBytes:s,powPminus2:a,randomBytes:o}=t,c="x25519"===i;if(!c&&"x448"!==i)throw new Error("invalid type");const l=o||Yo,u=c?255:448,h=c?32:56,f=c?BigInt(9):BigInt(5),A=c?BigInt(121665):BigInt(39081),d=c?Tu**BigInt(254):Tu**BigInt(447),p=c?BigInt(8)*Tu**BigInt(251)-Uu:BigInt(4)*Tu**BigInt(445)-Uu,g=d+p+Uu,y=e=>bc(e,n),m=w(f);function w(e){return tc(y(e),h)}function b(e,t){const r=function(e,t){sc("u",e,Pu,n),sc("scalar",t,d,g);const r=t,i=e;let s=Uu,o=Pu,c=e,l=Uu,h=Pu;for(let e=BigInt(u-1);e>=Pu;e--){const t=r>>e&Uu;h^=t,({x_2:s,x_3:c}=v(h,s,c)),({x_2:o,x_3:l}=v(h,o,l)),h=t;const n=s+o,a=y(n*n),u=s-o,f=y(u*u),d=a-f,p=c+l,g=y((c-l)*n),m=y(p*u),w=g+m,b=g-m;c=y(w*w),l=y(i*y(b*b)),s=y(a*f),o=y(d*(a+y(A*d)))}({x_2:s,x_3:c}=v(h,s,c)),({x_2:o,x_3:l}=v(h,o,l));const f=a(o);return y(s*f)}(function(e){const t=rc("u coordinate",e,h);return c&&(t[31]&=127),y($o(t))}(t),function(e){return $o(s(rc("scalar",e,h)))}(e));if(r===Pu)throw new Error("invalid private or public key received");return w(r)}function E(e){return b(e,m)}function v(e,t,r){const n=y(e*(t-r));return{x_2:t=y(t-n),x_3:r=y(r+n)}}const k={secretKey:h,publicKey:h,seed:h},I=(e=l(h))=>(Bo(e,k.seed),e);return{keygen:function(e){const t=I(e);return{secretKey:t,publicKey:E(t)}},getSharedSecret:(e,t)=>b(e,t),getPublicKey:e=>E(e),scalarMult:b,scalarMultBase:E,utils:{randomSecretKey:I,randomPrivateKey:I},GuBytes:m.slice(),lengths:k}}({P:e,type:"x448",powPminus2:t=>bc(Ec(Yu(t),Nu,e)*t,e),adjustScalarBytes:Ju})})(),$u={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},eh={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},th=BigInt(2),rh=Pc($u.p,{sqrt:function(e){const t=$u.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,h=Ec(u,r,t)*u%t,f=Ec(h,r,t)*u%t,A=Ec(f,th,t)*l%t,d=Ec(A,i,t)*A%t,p=Ec(d,s,t)*d%t,g=Ec(p,o,t)*p%t,y=Ec(g,c,t)*g%t,m=Ec(y,o,t)*p%t,w=Ec(m,r,t)*u%t,b=Ec(w,a,t)*d%t,E=Ec(b,n,t)*l%t,v=Ec(E,th,t);if(!rh.eql(rh.sqr(v),e))throw new Error("Cannot find square root");return v}}),nh=zl({...$u,Fp:rh,lowS:!0,endo:eh},pl),ih=pl,sh=gl,ah=Pc(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),oh=zl({a:ah.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:ah,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},ih),ch=yl,lh=ml,uh=Pc(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),hh=zl({a:uh.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:uh,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},lh),fh=Pc(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),Ah=zl({a:fh.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:fh,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},ch),dh=new Map(Object.entries({nistP256:iu,nistP384:su,nistP521:au,brainpoolP256r1:oh,brainpoolP384r1:hh,brainpoolP512r1:Ah,secp256k1:nh,x448:Xu,ed448:zu}));var ph=Object.freeze({__proto__:null,nobleCurves:dh});const gh=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),yh=new Uint32Array(80);class mh extends Rc{constructor(){super(64,20,8,!1),this.A=0|gh[0],this.B=0|gh[1],this.C=0|gh[2],this.D=0|gh[3],this.E=0|gh[4]}get(){const{A:e,B:t,C:r,D:n,E:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)yh[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)yh[e]=Uo(yh[e-3]^yh[e-8]^yh[e-14]^yh[e-16],1);let{A:r,B:n,C:i,D:s,E:a}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=Fc(n,i,s),o=1518500249):e<40?(t=n^i^s,o=1859775393):e<60?(t=Mc(n,i,s),o=2400959708):(t=n^i^s,o=3395469782);const c=Uo(r,5)+t+a+o+yh[e]|0;a=s,s=i,i=Uo(n,30),n=r,r=c}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,this.set(r,n,i,s,a)}roundClean(){xo(yh)}destroy(){this.set(0,0,0,0,0),xo(this.buffer)}}const wh=jo(()=>new mh),bh=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Eh=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),vh=(()=>Eh.map(e=>(9*e+5)%16))(),kh=(()=>{const e=[[Eh],[vh]];for(let t=0;t<4;t++)for(let r of e)r.push(r[t].map(e=>bh[e]));return e})(),Ih=(()=>kh[0])(),Bh=(()=>kh[1])(),Ch=[[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=>Uint8Array.from(e)),Sh=Ih.map((e,t)=>e.map(e=>Ch[t][e])),Dh=Bh.map((e,t)=>e.map(e=>Ch[t][e])),xh=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Kh=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Ph(e,t,r,n){return 0===e?t^r^n:1===e?t&r|~t&n:2===e?(t|~r)^n:3===e?t&n|r&~n:t^(r|~n)}const Uh=new Uint32Array(16);class Th extends Rc{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|n,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)Uh[r]=e.getUint32(t,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,c=0|this.h3,l=c,u=0|this.h4,h=u;for(let e=0;e<5;e++){const t=4-e,f=xh[e],A=Kh[e],d=Ih[e],p=Bh[e],g=Sh[e],y=Dh[e];for(let t=0;t<16;t++){const n=Uo(r+Ph(e,i,a,c)+Uh[d[t]]+f,g[t])+u|0;r=u,u=c,c=0|Uo(a,10),a=i,i=n}for(let e=0;e<16;e++){const r=Uo(n+Ph(t,s,o,l)+Uh[p[e]]+A,y[e])+h|0;n=h,h=l,l=0|Uo(o,10),o=s,s=r}}this.set(this.h1+a+l|0,this.h2+c+h|0,this.h3+u+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){xo(Uh)}destroy(){this.destroyed=!0,xo(this.buffer),this.set(0,0,0,0,0)}}const Fh=wh,Mh=jo(()=>new Th),Rh=Array.from({length:64},(e,t)=>Math.floor(2**32*Math.abs(Math.sin(t+1)))),Qh=(e,t,r)=>e&t^~e&r,Nh=new Uint32Array([1732584193,4023233417,2562383102,271733878]),Oh=new Uint32Array(16);class Lh extends Rc{constructor(){super(64,16,8,!0),this.A=0|Nh[0],this.B=0|Nh[1],this.C=0|Nh[2],this.D=0|Nh[3]}get(){const{A:e,B:t,C:r,D:n}=this;return[e,t,r,n]}set(e,t,r,n){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n}process(e,t){for(let r=0;r<16;r++,t+=4)Oh[r]=e.getUint32(t,!0);let{A:r,B:n,C:i,D:s}=this;for(let e=0;e<64;e++){let t,a,o;e<16?(t=Qh(n,i,s),a=e,o=[7,12,17,22]):e<32?(t=Qh(s,n,i),a=(5*e+1)%16,o=[5,9,14,20]):e<48?(t=n^i^s,a=(3*e+5)%16,o=[4,11,16,23]):(t=i^(n|~s),a=7*e%16,o=[6,10,15,21]),t=t+r+Rh[e]+Oh[a],r=s,s=i,i=n,n+=Uo(t,o[e%4])}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,this.set(r,n,i,s)}roundClean(){Oh.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}const Gh=Wo(()=>new Lh),Hh=new Map(Object.entries({md5:Gh,sha1:Fh,sha224:sh,sha256:ih,sha384:lh,sha512:ch,sha3_256:ku,sha3_512:Iu,ripemd160:Mh}));var jh=Object.freeze({__proto__:null,nobleHashes:Hh});const Wh="object"==typeof n&&"crypto"in n?n.crypto:void 0,Yh={};var Jh=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function sf(e,t,r,n){return function(e,t,r,n){var i,s=0;for(i=0;i<32;i++)s|=e[t+i]^r[n+i];return(1&s-1>>>8)-1}(e,t,r,n)}function af(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function of(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function cf(e,t,r){for(var n,i=~(r-1),s=0;s<16;s++)n=i&(e[s]^t[s]),e[s]^=n,t[s]^=n}function lf(e,t){var r,n,i,s=Jh(),a=Jh();for(r=0;r<16;r++)a[r]=t[r];for(of(a),of(a),of(a),n=0;n<2;n++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,cf(a,s,1-i)}for(r=0;r<16;r++)e[2*r]=255&a[r],e[2*r+1]=a[r]>>8}function uf(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return lf(r,e),lf(n,t),sf(r,0,n,0)}function hf(e){var t=new Uint8Array(32);return lf(t,e),1&t[0]}function ff(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function Af(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function df(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function pf(e,t,r){var n,i,s=0,a=0,o=0,c=0,l=0,u=0,h=0,f=0,A=0,d=0,p=0,g=0,y=0,m=0,w=0,b=0,E=0,v=0,k=0,I=0,B=0,C=0,S=0,D=0,x=0,K=0,P=0,U=0,T=0,F=0,M=0,R=r[0],Q=r[1],N=r[2],O=r[3],L=r[4],G=r[5],H=r[6],j=r[7],W=r[8],Y=r[9],J=r[10],_=r[11],q=r[12],Z=r[13],V=r[14],z=r[15];s+=(n=t[0])*R,a+=n*Q,o+=n*N,c+=n*O,l+=n*L,u+=n*G,h+=n*H,f+=n*j,A+=n*W,d+=n*Y,p+=n*J,g+=n*_,y+=n*q,m+=n*Z,w+=n*V,b+=n*z,a+=(n=t[1])*R,o+=n*Q,c+=n*N,l+=n*O,u+=n*L,h+=n*G,f+=n*H,A+=n*j,d+=n*W,p+=n*Y,g+=n*J,y+=n*_,m+=n*q,w+=n*Z,b+=n*V,E+=n*z,o+=(n=t[2])*R,c+=n*Q,l+=n*N,u+=n*O,h+=n*L,f+=n*G,A+=n*H,d+=n*j,p+=n*W,g+=n*Y,y+=n*J,m+=n*_,w+=n*q,b+=n*Z,E+=n*V,v+=n*z,c+=(n=t[3])*R,l+=n*Q,u+=n*N,h+=n*O,f+=n*L,A+=n*G,d+=n*H,p+=n*j,g+=n*W,y+=n*Y,m+=n*J,w+=n*_,b+=n*q,E+=n*Z,v+=n*V,k+=n*z,l+=(n=t[4])*R,u+=n*Q,h+=n*N,f+=n*O,A+=n*L,d+=n*G,p+=n*H,g+=n*j,y+=n*W,m+=n*Y,w+=n*J,b+=n*_,E+=n*q,v+=n*Z,k+=n*V,I+=n*z,u+=(n=t[5])*R,h+=n*Q,f+=n*N,A+=n*O,d+=n*L,p+=n*G,g+=n*H,y+=n*j,m+=n*W,w+=n*Y,b+=n*J,E+=n*_,v+=n*q,k+=n*Z,I+=n*V,B+=n*z,h+=(n=t[6])*R,f+=n*Q,A+=n*N,d+=n*O,p+=n*L,g+=n*G,y+=n*H,m+=n*j,w+=n*W,b+=n*Y,E+=n*J,v+=n*_,k+=n*q,I+=n*Z,B+=n*V,C+=n*z,f+=(n=t[7])*R,A+=n*Q,d+=n*N,p+=n*O,g+=n*L,y+=n*G,m+=n*H,w+=n*j,b+=n*W,E+=n*Y,v+=n*J,k+=n*_,I+=n*q,B+=n*Z,C+=n*V,S+=n*z,A+=(n=t[8])*R,d+=n*Q,p+=n*N,g+=n*O,y+=n*L,m+=n*G,w+=n*H,b+=n*j,E+=n*W,v+=n*Y,k+=n*J,I+=n*_,B+=n*q,C+=n*Z,S+=n*V,D+=n*z,d+=(n=t[9])*R,p+=n*Q,g+=n*N,y+=n*O,m+=n*L,w+=n*G,b+=n*H,E+=n*j,v+=n*W,k+=n*Y,I+=n*J,B+=n*_,C+=n*q,S+=n*Z,D+=n*V,x+=n*z,p+=(n=t[10])*R,g+=n*Q,y+=n*N,m+=n*O,w+=n*L,b+=n*G,E+=n*H,v+=n*j,k+=n*W,I+=n*Y,B+=n*J,C+=n*_,S+=n*q,D+=n*Z,x+=n*V,K+=n*z,g+=(n=t[11])*R,y+=n*Q,m+=n*N,w+=n*O,b+=n*L,E+=n*G,v+=n*H,k+=n*j,I+=n*W,B+=n*Y,C+=n*J,S+=n*_,D+=n*q,x+=n*Z,K+=n*V,P+=n*z,y+=(n=t[12])*R,m+=n*Q,w+=n*N,b+=n*O,E+=n*L,v+=n*G,k+=n*H,I+=n*j,B+=n*W,C+=n*Y,S+=n*J,D+=n*_,x+=n*q,K+=n*Z,P+=n*V,U+=n*z,m+=(n=t[13])*R,w+=n*Q,b+=n*N,E+=n*O,v+=n*L,k+=n*G,I+=n*H,B+=n*j,C+=n*W,S+=n*Y,D+=n*J,x+=n*_,K+=n*q,P+=n*Z,U+=n*V,T+=n*z,w+=(n=t[14])*R,b+=n*Q,E+=n*N,v+=n*O,k+=n*L,I+=n*G,B+=n*H,C+=n*j,S+=n*W,D+=n*Y,x+=n*J,K+=n*_,P+=n*q,U+=n*Z,T+=n*V,F+=n*z,b+=(n=t[15])*R,a+=38*(v+=n*N),o+=38*(k+=n*O),c+=38*(I+=n*L),l+=38*(B+=n*G),u+=38*(C+=n*H),h+=38*(S+=n*j),f+=38*(D+=n*W),A+=38*(x+=n*Y),d+=38*(K+=n*J),p+=38*(P+=n*_),g+=38*(U+=n*q),y+=38*(T+=n*Z),m+=38*(F+=n*V),w+=38*(M+=n*z),s=(n=(s+=38*(E+=n*Q))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=(s+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s+=i-1+37*(i-1),e[0]=s,e[1]=a,e[2]=o,e[3]=c,e[4]=l,e[5]=u,e[6]=h,e[7]=f,e[8]=A,e[9]=d,e[10]=p,e[11]=g,e[12]=y,e[13]=m,e[14]=w,e[15]=b}function gf(e,t){pf(e,t,t)}function yf(e,t){var r,n=Jh();for(r=0;r<16;r++)n[r]=t[r];for(r=253;r>=0;r--)gf(n,n),2!==r&&4!==r&&pf(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}function mf(e,t,r){var n,i,s=new Uint8Array(32),a=new Float64Array(80),o=Jh(),c=Jh(),l=Jh(),u=Jh(),h=Jh(),f=Jh();for(i=0;i<31;i++)s[i]=t[i];for(s[31]=127&t[31]|64,s[0]&=248,ff(a,r),i=0;i<16;i++)c[i]=a[i],u[i]=o[i]=l[i]=0;for(o[0]=u[0]=1,i=254;i>=0;--i)cf(o,c,n=s[i>>>3]>>>(7&i)&1),cf(l,u,n),Af(h,o,l),df(o,o,l),Af(l,c,u),df(c,c,u),gf(u,h),gf(f,o),pf(o,l,o),pf(l,c,h),Af(h,o,l),df(o,o,l),gf(c,o),df(l,u,f),pf(o,l,zh),Af(o,o,u),pf(l,l,o),pf(o,u,f),pf(u,c,a),gf(c,h),cf(o,c,n),cf(l,u,n);for(i=0;i<16;i++)a[i+16]=o[i],a[i+32]=l[i],a[i+48]=c[i],a[i+64]=u[i];var A=a.subarray(32),d=a.subarray(16);return yf(A,A),pf(d,d,A),lf(e,d),0}function wf(e,t){return mf(e,t,qh)}var bf=[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 Ef(e,t,r,n){for(var i,s,a,o,c,l,u,h,f,A,d,p,g,y,m,w,b,E,v,k,I,B,C,S,D,x,K=new Int32Array(16),P=new Int32Array(16),U=e[0],T=e[1],F=e[2],M=e[3],R=e[4],Q=e[5],N=e[6],O=e[7],L=t[0],G=t[1],H=t[2],j=t[3],W=t[4],Y=t[5],J=t[6],_=t[7],q=0;n>=128;){for(v=0;v<16;v++)k=8*v+q,K[v]=r[k+0]<<24|r[k+1]<<16|r[k+2]<<8|r[k+3],P[v]=r[k+4]<<24|r[k+5]<<16|r[k+6]<<8|r[k+7];for(v=0;v<80;v++)if(i=U,s=T,a=F,o=M,c=R,l=Q,u=N,f=L,A=G,d=H,p=j,g=W,y=Y,m=J,C=65535&(B=_),S=B>>>16,D=65535&(I=O),x=I>>>16,C+=65535&(B=(W>>>14|R<<18)^(W>>>18|R<<14)^(R>>>9|W<<23)),S+=B>>>16,D+=65535&(I=(R>>>14|W<<18)^(R>>>18|W<<14)^(W>>>9|R<<23)),x+=I>>>16,C+=65535&(B=W&Y^~W&J),S+=B>>>16,D+=65535&(I=R&Q^~R&N),x+=I>>>16,C+=65535&(B=bf[2*v+1]),S+=B>>>16,D+=65535&(I=bf[2*v]),x+=I>>>16,I=K[v%16],S+=(B=P[v%16])>>>16,D+=65535&I,x+=I>>>16,D+=(S+=(C+=65535&B)>>>16)>>>16,C=65535&(B=E=65535&C|S<<16),S=B>>>16,D=65535&(I=b=65535&D|(x+=D>>>16)<<16),x=I>>>16,C+=65535&(B=(L>>>28|U<<4)^(U>>>2|L<<30)^(U>>>7|L<<25)),S+=B>>>16,D+=65535&(I=(U>>>28|L<<4)^(L>>>2|U<<30)^(L>>>7|U<<25)),x+=I>>>16,S+=(B=L&G^L&H^G&H)>>>16,D+=65535&(I=U&T^U&F^T&F),x+=I>>>16,h=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,w=65535&C|S<<16,C=65535&(B=p),S=B>>>16,D=65535&(I=o),x=I>>>16,S+=(B=E)>>>16,D+=65535&(I=b),x+=I>>>16,T=i,F=s,M=a,R=o=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,Q=c,N=l,O=u,U=h,G=f,H=A,j=d,W=p=65535&C|S<<16,Y=g,J=y,_=m,L=w,v%16==15)for(k=0;k<16;k++)I=K[k],C=65535&(B=P[k]),S=B>>>16,D=65535&I,x=I>>>16,I=K[(k+9)%16],C+=65535&(B=P[(k+9)%16]),S+=B>>>16,D+=65535&I,x+=I>>>16,b=K[(k+1)%16],C+=65535&(B=((E=P[(k+1)%16])>>>1|b<<31)^(E>>>8|b<<24)^(E>>>7|b<<25)),S+=B>>>16,D+=65535&(I=(b>>>1|E<<31)^(b>>>8|E<<24)^b>>>7),x+=I>>>16,b=K[(k+14)%16],S+=(B=((E=P[(k+14)%16])>>>19|b<<13)^(b>>>29|E<<3)^(E>>>6|b<<26))>>>16,D+=65535&(I=(b>>>19|E<<13)^(E>>>29|b<<3)^b>>>6),x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,K[k]=65535&D|x<<16,P[k]=65535&C|S<<16;C=65535&(B=L),S=B>>>16,D=65535&(I=U),x=I>>>16,I=e[0],S+=(B=t[0])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[0]=U=65535&D|x<<16,t[0]=L=65535&C|S<<16,C=65535&(B=G),S=B>>>16,D=65535&(I=T),x=I>>>16,I=e[1],S+=(B=t[1])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[1]=T=65535&D|x<<16,t[1]=G=65535&C|S<<16,C=65535&(B=H),S=B>>>16,D=65535&(I=F),x=I>>>16,I=e[2],S+=(B=t[2])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[2]=F=65535&D|x<<16,t[2]=H=65535&C|S<<16,C=65535&(B=j),S=B>>>16,D=65535&(I=M),x=I>>>16,I=e[3],S+=(B=t[3])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[3]=M=65535&D|x<<16,t[3]=j=65535&C|S<<16,C=65535&(B=W),S=B>>>16,D=65535&(I=R),x=I>>>16,I=e[4],S+=(B=t[4])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[4]=R=65535&D|x<<16,t[4]=W=65535&C|S<<16,C=65535&(B=Y),S=B>>>16,D=65535&(I=Q),x=I>>>16,I=e[5],S+=(B=t[5])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[5]=Q=65535&D|x<<16,t[5]=Y=65535&C|S<<16,C=65535&(B=J),S=B>>>16,D=65535&(I=N),x=I>>>16,I=e[6],S+=(B=t[6])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[6]=N=65535&D|x<<16,t[6]=J=65535&C|S<<16,C=65535&(B=_),S=B>>>16,D=65535&(I=O),x=I>>>16,I=e[7],S+=(B=t[7])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[7]=O=65535&D|x<<16,t[7]=_=65535&C|S<<16,q+=128,n-=128}return n}function vf(e,t,r){var n,i=new Int32Array(8),s=new Int32Array(8),a=new Uint8Array(256),o=r;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[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,Ef(i,s,t,r),r%=128,n=0;n=0;--i)If(e,t,n=r[i/8|0]>>(7&i)&1),kf(t,e),kf(e,e),If(e,t,n)}function Sf(e,t){var r=[Jh(),Jh(),Jh(),Jh()];af(r[0],ef),af(r[1],tf),af(r[2],Vh),pf(r[3],ef,tf),Cf(e,r,t)}function Df(e,t,r){var n,i=new Uint8Array(64),s=[Jh(),Jh(),Jh(),Jh()];for(r||_h(t,32),vf(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,Sf(s,i),Bf(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}var xf=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 Kf(e,t){var r,n,i,s;for(n=63;n>=32;--n){for(r=0,i=n-32,s=n-12;i>4)*xf[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*xf[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function Pf(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;Kf(e,r)}var Uf=64;function Tf(){for(var e=0;e=0;r--)gf(n,n),1!==r&&pf(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}(r,r),pf(r,r,i),pf(r,r,s),pf(r,r,s),pf(e[0],r,s),gf(n,e[0]),pf(n,n,s),uf(n,i)&&pf(e[0],e[0],rf),gf(n,e[0]),pf(n,n,s),uf(n,i)?-1:(hf(e[0])===t[31]>>7&&df(e[0],Zh,e[0]),pf(e[3],e[0],e[1]),0)}(c,n))return-1;for(i=0;i=0},Yh.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return Df(e,t),{publicKey:e,secretKey:t}},Yh.sign.keyPair.fromSecretKey=function(e){if(Tf(e),64!==e.length)throw new Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r>>4^b),b^=g,w^=g<<4,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,w=w<<1|w>>>31,b=b<<1|b>>>31,p=0;p>>4|b<<28)^e[d+1],g=w,w=b,b=g^(o[y>>>24&63]|l[y>>>16&63]|h[y>>>8&63]|A[63&y]|a[m>>>24&63]|c[m>>>16&63]|u[m>>>8&63]|f[63&m]);g=w,w=b,b=g}w=w>>>1|w<<31,b=b>>>1|b<<31,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=252645135&(w>>>4^b),b^=g,w^=g<<4,S[D++]=w>>>24,S[D++]=w>>>16&255,S[D++]=w>>>8&255,S[D++]=255&w,S[D++]=b>>>24,S[D++]=b>>>16&255,S[D++]=b>>>8&255,S[D++]=255&b}return r||(S=function(e){let t,r=null;if(t=0,!r){for(r=1;0===e[e.length-r];)r++;r--}return e.subarray(0,e.length-r)}(S)),S}function Rf(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],f=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],A=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length>8?3:1,g=new Array(32*p),y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,b,E=0,v=0;for(let k=0;k>>4^k),k^=b,p^=b<<4,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=858993459&(p>>>2^k),k^=b,p^=b<<2,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=16711935&(k>>>8^p),p^=b,k^=b<<8,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=p<<8|k>>>20&240,p=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=b;for(let e=0;e>>26,k=k<<2|k>>>26):(p=p<<1|p>>>27,k=k<<1|k>>>27),p&=-15,k&=-15,m=t[p>>>28]|r[p>>>24&15]|n[p>>>20&15]|i[p>>>16&15]|s[p>>>12&15]|a[p>>>8&15]|o[p>>>4&15],w=c[k>>>28]|l[k>>>24&15]|u[k>>>20&15]|h[k>>>16&15]|f[k>>>12&15]|A[k>>>8&15]|d[k>>>4&15],b=65535&(w>>>16^m),g[v++]=m^b,g[v++]=w^b<<16}return g}function Qf(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Mf(Rf(this.key[2]),Mf(Rf(this.key[1]),Mf(Rf(this.key[0]),e,!0),!1),!0)}}function Nf(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=new Array(16),this.rotate=new Array(16),this.reset(),e.length!==this.KeySize)throw new Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>>16&255,t[s+6]=o>>>8&255,t[s+7]=255&o}return t},this.decrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>16&255,t[s+6]=o>>8&255,t[s+7]=255&o}return t};const e=new Array(4);e[0]=new Array(4),e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=new Array(4),e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=new Array(4),e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=new Array(4),e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=new Array(4);function r(e,t,r){const n=t+e,i=n<>>32-r;return(s[0][i>>>24]^s[1][i>>>16&255])-s[2][i>>>8&255]+s[3][255&i]}function n(e,t,r){const n=t^e,i=n<>>32-r;return s[0][i>>>24]-s[1][i>>>16&255]+s[2][i>>>8&255]^s[3][255&i]}function i(e,t,r){const n=t-e,i=n<>>32-r;return(s[0][i>>>24]+s[1][i>>>16&255]^s[2][i>>>8&255])-s[3][255&i]}t[0]=new Array(4),t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=new Array(4),t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=new Array(4),t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=new Array(4),t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=new Array(8),i=new Array(32);let a;for(let e=0;e<4;e++)a=4*e,n[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];const o=[6,7,4,5];let c,l=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){const t=e[r][a];c=n[t[1]],c^=s[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=s[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=s[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=s[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=s[o[a]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(a=0;a<4;a++){const e=t[r][a];c=s[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=s[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=s[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=s[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=s[4+a][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[l]=c,l++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const s=new Array(8);s[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],s[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],s[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],s[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],s[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],s[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],s[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],s[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Of(e){this.cast5=new Nf,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}Qf.keySize=Qf.prototype.keySize=24,Qf.blockSize=Qf.prototype.blockSize=8,Of.blockSize=Of.prototype.blockSize=8,Of.keySize=Of.prototype.keySize=16;const Lf=4294967295;function Gf(e,t){return(e<>>32-t)&Lf}function Hf(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function jf(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Wf(e,t){return e>>>8*t&255}function Yf(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function s(e){return i[0][Wf(e,0)]^i[1][Wf(e,1)]^i[2][Wf(e,2)]^i[3][Wf(e,3)]}function a(e){return i[0][Wf(e,3)]^i[1][Wf(e,0)]^i[2][Wf(e,1)]^i[3][Wf(e,2)]}function o(e,t){let r=s(t[0]),i=a(t[1]);t[2]=Gf(t[2]^r+i+n[4*e+8]&Lf,31),t[3]=Gf(t[3],1)^r+2*i+n[4*e+9]&Lf,r=s(t[2]),i=a(t[3]),t[0]=Gf(t[0]^r+i+n[4*e+10]&Lf,31),t[1]=Gf(t[1],1)^r+2*i+n[4*e+11]&Lf}function c(e,t){let r=s(t[0]),i=a(t[1]);t[2]=Gf(t[2],1)^r+i+n[4*e+10]&Lf,t[3]=Gf(t[3]^r+2*i+n[4*e+11]&Lf,31),r=s(t[2]),i=a(t[3]),t[0]=Gf(t[0],1)^r+i+n[4*e+8]&Lf,t[1]=Gf(t[1]^r+2*i+n[4*e+9]&Lf,31)}return{name:"twofish",blocksize:16,open:function(t){let r,s,a,o,c;e=t;const l=[],u=[],h=[];let f;const A=[];let d,p,g;const y=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],b=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],E=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],v=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],k=[[],[]],I=[[],[],[],[]];function B(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function S(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Lf|e>>>24,e=e<<8&Lf,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function D(e,t){const r=t>>4,n=15&t,i=y[e][r^n],s=m[e][E[n]^v[r]];return b[e][E[s]^v[i]]<<4|w[e][i^s]}function x(e,t){let r=Wf(e,0),n=Wf(e,1),i=Wf(e,2),s=Wf(e,3);switch(f){case 4:r=k[1][r]^Wf(t[3],0),n=k[0][n]^Wf(t[3],1),i=k[0][i]^Wf(t[3],2),s=k[1][s]^Wf(t[3],3);case 3:r=k[1][r]^Wf(t[2],0),n=k[1][n]^Wf(t[2],1),i=k[0][i]^Wf(t[2],2),s=k[0][s]^Wf(t[2],3);case 2:r=k[0][k[0][r]^Wf(t[1],0)]^Wf(t[0],0),n=k[0][k[1][n]^Wf(t[1],1)]^Wf(t[0],1),i=k[1][k[0][i]^Wf(t[1],2)]^Wf(t[0],2),s=k[1][k[1][s]^Wf(t[1],3)]^Wf(t[0],3)}return I[0][r]^I[1][n]^I[2][i]^I[3][s]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r>2]=Hf(e,r);for(r=0;r<256;r++)k[0][r]=D(0,r),k[1][r]=D(1,r);for(r=0;r<256;r++)d=k[1][r],p=B(d),g=C(d),I[0][r]=d+(p<<8)+(g<<16)+(g<<24),I[2][r]=p+(g<<8)+(d<<16)+(g<<24),d=k[0][r],p=B(d),g=C(d),I[1][r]=g+(g<<8)+(p<<16)+(d<<24),I[3][r]=p+(d<<8)+(g<<16)+(p<<24);for(f=h.length/2,r=0;r=0;e--)c(e,s);jf(t,r,s[2]^n[0]),jf(t,r+4,s[3]^n[1]),jf(t,r+8,s[0]^n[2]),jf(t,r+12,s[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Jf(){}function _f(e){this.bf=new Jf,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Yf.keySize=Yf.prototype.keySize=32,Yf.blockSize=Yf.prototype.blockSize=16,Jf.prototype.BLOCKSIZE=8,Jf.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Jf.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Jf.prototype.NN=16,Jf.prototype._clean=function(e){return e<0&&(e=2147483648+(2147483647&e)),e},Jf.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),s=255&(e>>>=8);return t=this.sboxes[0][s]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Jf.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Jf.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Jf.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t>>24^l<<8,e[n+1]=l>>>24^c<<8,Vf(e,r,e,n),Vf(e,r,t,o),c=e[s]^e[r],l=e[s+1]^e[r+1],e[s]=c>>>16^l<<16,e[s+1]=l>>>16^c<<16,Vf(e,i,e,s),c=e[n]^e[i],l=e[n+1]^e[i+1],e[n]=l>>>31^c<<1,e[n+1]=c>>>31^l<<1}const $f=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),eA=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(e=>2*e));function tA(e,t){const r=new Uint32Array(32),n=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=$f[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const i=t?4294967295:0;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){const t=e<<4;Xf(r,n,0,8,16,24,eA[t+0],eA[t+1]),Xf(r,n,2,10,18,26,eA[t+2],eA[t+3]),Xf(r,n,4,12,20,28,eA[t+4],eA[t+5]),Xf(r,n,6,14,22,30,eA[t+6],eA[t+7]),Xf(r,n,0,10,20,30,eA[t+8],eA[t+9]),Xf(r,n,2,12,22,24,eA[t+10],eA[t+11]),Xf(r,n,4,14,16,26,eA[t+12],eA[t+13]),Xf(r,n,6,8,18,28,eA[t+14],eA[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class rA{constructor(e,t,r,n){const i=new Uint8Array(64);this.S={b:new Uint8Array(sA),h:new Uint32Array(iA/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),n&&i.set(n,48);const s=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=$f[e]^s[e];if(t){const e=new Uint8Array(sA);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw new Error("Input must be Uint8Array or Buffer");let t=0;for(;t>2]>>8*(3&e);return this.S.h=null,t.buffer}}function nA(e,t,r,n){if(e>iA)throw new Error(`outlen must be at most ${iA} (given: ${e})`);return new rA(e,t,r,n)}const iA=64,sA=128,aA=1024,oA=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function cA(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function lA(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw new Error("LE64: large numbers unsupported");let n=t;for(let t=r;tfunction(e,{memory:t,instance:r}){if(!oA)throw new Error("BigEndian system not supported");const n=function({type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,parallelism:o,memorySize:c,passes:l}){const u=(e,t,r,n)=>{if(tn)throw new Error(`${e} size should be between ${r} and ${n} bytes`)};if(2!==e||19!==t)throw new Error("Unsupported type or version");return u("password",n,8,4294967295),u("salt",i,8,4294967295),u("tag",r,4,4294967295),u("memory",c,8*o,4294967295),s&&u("associated data",s,0,4294967295),a&&u("secret",a,0,32),{type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,lanes:o,memorySize:c,passes:l}}({type:2,version:19,...e}),{G:i,G2:s,xor:a,getLZ:o}=r.exports,c={},l={};l.G=i,l.G2=s,l.XOR=a;const u=4*n.lanes*Math.floor(n.memorySize/(4*n.lanes)),h=u*aA+10240;if(t.buffer.byteLength{r.set(e,n),n+=e.length}),r}(i));const s=t.digest();return new Uint8Array(s)}(n),w=u/n.lanes,b=new Array(n.lanes).fill(null).map(()=>new Array(w)),E=(e,t)=>(b[e][t]=g.subarray(e*w*1024+1024*t,e*w*1024+1024*t+aA),b[e][t]);for(let e=0;e0?b[i][c-1]:b[i][w-1],u=r?a.next().value:l;o(A.byteOffset,u.byteOffset,i,n.lanes,e,t,s,4,v);const h=A[0],f=A[1];0===e&&E(i,c),fA(d,l,b[h][f],e>0?p:b[i][c]),e>0&&hA(d,b[i][c],p,b[i][c])}}}const k=b[0][w-1];for(let e=1;egA(e=>yA(0,0,"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",e),e=>yA(0,0,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e))});function BA(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var CA=function(){if(kA)return vA;kA=1;const e=function(){if(wA)return mA;function e(e){this.name="Bzip2Error",this.message=e,this.stack=(new Error).stack}wA=1,e.prototype=new Error;var t=function(t){throw new e(t)},r={};return r.Bzip2Error=e,r.crcTable=[0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188],r.array=function(e){var t=0,r=0,n=[0,1,3,7,15,31,63,127,255];return function(i){for(var s=0;i>0;){var a=8-t;i>=a?(s<<=a,s|=n[a]&e[r++],t=0,i-=a):(s<<=i,s|=(e[r]&n[i]<<8-i-t)>>8-i-t,t+=i,i=0)}return s}},r.simple=function(e,t){var n=r.array(e),i=!1,s=1e5*r.header(n),a=new Int32Array(s);do{i=r.decompress(n,t,a,s)}while(!i)},r.header=function(e){this.byteCount=new Int32Array(256),this.symToByte=new Uint8Array(256),this.mtfSymbol=new Int32Array(256),this.selectors=new Uint8Array(32768),4348520!=e(24)&&t("No magic number found");var r=e(8)-48;return(r<1||r>9)&&t("Not a BZIP archive"),r},r.decompress=function(e,r,n,i,s){for(var a=-1,o="",c=0;c<6;c++)o+=e(8).toString(16);if("177245385090"==o)return(0|e(32))!==s&&t("Error in bzip2: crc32 do not match"),e(null),null;"314159265359"!=o&&t("Invalid bzip data");var l=0|e(32);e(1)&&t("unsupported obsolete version");var u=e(24);u>i&&t("Initial position larger than buffer size");var h=e(16),f=0;for(c=0;c<16;c++)if(h&1<<15-c){var A=e(16);for(g=0;g<16;g++)A&1<<15-g&&(this.symToByte[f++]=16*c+g)}var d=e(3);(d<2||d>6)&&t("Invalid bzip data");var p=e(15);for(0==p&&t("Invalid bzip data"),c=0;c=d&&t("Invalid bzip data");var y=this.mtfSymbol[g];for(A=g-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,this.selectors[c]=y}var m,w,b,E,v=f+2,k=[],I=new Uint8Array(258),B=new Uint16Array(21);for(g=0;g20)&&t("Invalid bzip data"),e(1);)e(1)?h--:h++;I[c]=h}var C,S;for(C=S=I[0],c=1;cS?S=I[c]:I[c]=p&&t("Invalid bzip data"),D=(m=k[this.selectors[E++]]).base,x=m.limit),g=e(c=m.minLen);c>m.maxLen&&t("Invalid bzip data"),!(g<=x[c]);)c++,g=g<<1|e(1);((g-=D[c])<0||g>=258)&&t("Invalid bzip data");var P=m.permute[g];if(0!=P&&1!=P){if(w)for(w=0,b+h>i&&t("Invalid bzip data"),y=this.symToByte[this.mtfSymbol[0]],this.byteCount[y]+=h;h--;)n[b++]=y;if(P>f)break;for(b>=i&&t("Invalid bzip data"),c=P-1,y=this.mtfSymbol[c],A=c-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,y=this.symToByte[y],this.byteCount[y]++,n[b++]=y}else w||(w=1,h=0),h+=0==P?w:2*w,w<<=1}for((u<0||u>=b)&&t("Invalid bzip data"),g=0,c=0;c<256;c++)A=g+this.byteCount[c],this.byteCount[c]=g,g=A;for(c=0;c>=8,Q=-1);b;){for(b--,T=R,R=255&(M=n[M]),M>>=8,3==Q++?(U=R,F=T,R=-1):(U=1,F=R);U--;)a=4294967295&(a<<8^this.crcTable[255&(a>>24^F)]),r(F);R!=T&&(Q=0)}return(0|(a=(-1^a)>>>0))!=(0|l)&&t("Error in bzip2: crc32 do not match"),4294967295&(a^(s<<1|s>>>31))},mA=r}(),t=function(){if(EA)return bA;EA=1;var e=[0,1,3,7,15,31,63,127,255];return bA=function(t){var r=0,n=0,i=t(),s=function(a){if(null===a&&0!=r)return r=0,void n++;for(var o=0;a>0;){n>=i.length&&(n=0,i=t());var c=8-r;0===r&&a>0&&s.bytesRead++,a>=c?(o<<=c,o|=e[c]&i[n++],r=0,a-=c):(o<<=a,o|=(i[n]&e[a]<<8-a-r)>>8-a-r,r+=a,a=0)}return o};return s.bytesRead=0,s}}();return vA=function(r){const n=[];let i,s=0,a=0,o=!1,c=!1,l=null,u=null,h=0;function f(t){if(!o)try{return function(){if(a){const n=1e5*a,i=new Int32Array(n),s=[],o=function(e){s.push(e)};return u=e.decompress(l,o,i,n,u),null===u?(a=0,!1):(r=new Uint8Array(s),t.enqueue(r),null!==r&&(h+=r.length),!0)}var r;return a=e.header(l),u=0,!1}()}catch(e){return t.error(e),o=!0,!0}}return new ReadableStream({start(){i=r.getReader()},async pull(e){try{for(;;){for(;!(c||l&&s-l.bytesRead+1>=25e3+1e5*(a||4));){const{value:e,done:r}=await i.read();r?c=!0:(n.push(e),s+=e.length,null===l&&(l=t(function(){return n.shift()})))}for(;c?l&&s>l.bytesRead:l&&s-l.bytesRead+1>=25e3+1e5*(a||4);)if(f(e))return;if(c&&!o&&(!l||s<=l.bytesRead))return void(null===u?e.close():e.error(new Error("input stream ended prematurely")))}}catch(t){e.error(t)}},async cancel(e){await i.abort(e)}},{highWaterMark:0})}}(),SA=BA(CA),DA=Object.freeze({__proto__:null,default:SA})},6171(e){"use strict";e.exports={rE:"2.2.0"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0});const t=r(9033),i=r(1592);r.g.handleRequestFromHost=async(e,r,n)=>{const s=new t.Endpoints;try{const t=s[e];return t?t(r,[n]).then(e=>e).catch(e=>(0,i.fmtErr)(e)):(0,i.fmtErr)(new Error(`Unknown endpoint: ${e}`))}catch(e){return(0,i.fmtErr)(e)}}})(),module.exports=n})();; +(()=>{var e={3207(e,t,r){"use strict";t.Att=void 0;const n=r(833),i=r(6471);class s{static attachmentsPattern=/^(((cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc))|(.+\.pgp)|(.+\.gpg)|(.+\.asc)|(noname)|(message)|(PGPMIME version identification)|())$/gm;length=NaN;type;name;url;id;msgId;inline;cid;contentDescription;bytes;treatAsValue;constructor({data:e,type:t,name:r,length:n,url:i,inline:s,id:a,msgId:o,treatAs:c,cid:l,contentDescription:u}){if(void 0===e&&void 0===i&&void 0===a)throw new Error("Att: one of data|url|id has to be set");if(a&&!o)throw new Error("Att: if id is set, msgId must be set too");e?(this.bytes=e,this.length=e.length):this.length=Number(n),this.name=r||"",this.type=t||"application/octet-stream",this.url=i||void 0,this.inline=!!s,this.id=a||void 0,this.msgId=o||void 0,this.treatAsValue=c||void 0,this.cid=l||void 0,this.contentDescription=u||void 0}static keyinfoAsPubkeyAtt=e=>new s({data:n.Buf.fromUtfStr(e.public),type:"application/pgp-keys",name:`0x${e.longid}.asc`});hasData=()=>this.bytes instanceof Uint8Array;setData=e=>{if(this.hasData())throw new Error("Att bytes already set");this.bytes=e};getData=()=>{if(this.bytes instanceof n.Buf)return this.bytes;if(this.bytes instanceof Uint8Array)return new n.Buf(this.bytes);throw new Error("Att has no data set")};treatAs=(e,t=!1)=>{if(this.treatAsValue)return this.treatAsValue;if(["PGPexch.htm.pgp","PGPMIME version identification","Version.txt","PGPMIME Versions Identification"].includes(this.name))return"hidden";if("signature.asc"===this.name||"application/pgp-signature"===this.type){if(e.length>1){const t=i.Str.getFilenameWithoutExtension(this.name);if(e.some(e=>e!==this&&(e.name===t||i.Str.getFilenameWithoutExtension(e.name)===t)))return"hidden"}return"signature"}return this.name||this.type.startsWith("image/")?"msg.asc"===this.name&&this.length<100&&"application/pgp-encrypted"===this.type?"hidden":["message","msg.asc","message.asc","encrypted.asc","encrypted.eml.pgp","Message.pgp"].includes(this.name)||"message"===this.name&&t?"encryptedMsg":this.name.match(/(\.pgp$)|(\.gpg$)|(\.[a-zA-Z0-9]{3,4}\.asc$)/g)?"encryptedFile":this.name.match(/(cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc)$/g)?"privateKey":this.name.match(/^(0|0x)?[A-F0-9]{8}([A-F0-9]{8})?.*\.asc$/g)||this.name.toLowerCase().includes("public")&&this.name.match(/[A-F0-9]{8}.*\.asc$/g)||this.name.match(/\.asc$/)&&this.hasData()&&n.Buf.with(this.getData().subarray(0,100)).toUtfStr().includes("-----BEGIN PGP PUBLIC KEY BLOCK-----")?"publicKey":this.name.match(/\.asc$/)&&this.length<1e5&&!this.inline?"encryptedMsg":"plainFile":this.length<100?"hidden":"encryptedMsg"}}t.Att=s},833(e,t,r){"use strict";t.Buf=void 0;const n=r(178);class i extends Uint8Array{static concat=e=>{const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let r=0;for(const n of e)t.set(n,r),r+=n.length;return i.fromUint8(t)};static with=e=>e instanceof i?e:e instanceof Uint8Array?i.fromUint8(e):i.fromUtfStr(e);static fromUint8=e=>new i(e);static fromRawBytesStr=e=>{const t=e.length,r=new i(t);for(let n=0;n{let t;const r=e.length;let n;const s=[];for(let i=0;i55295&&t<57344){if(!n){if(t>56319){s.push(239,191,189);continue}if(i+1===r){s.push(239,191,189);continue}n=t;continue}if(t<56320){s.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&s.push(239,191,189);if(n=void 0,t<128)s.push(t);else if(t<2048)s.push(t>>6|192,63&t|128);else if(t<65536)s.push(t>>12|224,t>>6&63|128,63&t|128);else{if(!(t<1114112))throw new Error("Invalid code point");s.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return new i(s)};static fromBase64Str=e=>i.fromRawBytesStr((0,n.base64decode)(e));static fromBase64UrlStr=e=>i.fromBase64Str(e.replace(/-/g,"+").replace(/_/g,"/"));toString=(e="inform")=>this.toUtfStr(e);toUtfStr=(e="inform")=>{const t=this.length;let r=0,n="";const i=new Array(t);for(let s=0;s{const e=this.length,t=[];for(let r=0;r(0,n.base64encode)(this.toRawBytesStr());toBase64UrlStr=()=>this.toBase64Str().replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}t.Buf=i},6471(e,t,r){"use strict";t.Value=t.Str=void 0;const n=r(178);class i{static extractErrorMessage=e=>{if("object"==typeof e&&void 0!==e.message)return"string"==typeof e.message?e.message:JSON.stringify(e)};static parseEmail=(e,t="VALIDATE")=>{let r,n;if(e.includes("<")&&e.includes(">")){const t=e.indexOf("<"),i=e.indexOf(">");r=e.substr(t+1,t-i-1).replace(/["']/g,"").trim().toLowerCase(),n=e.substr(0,e.indexOf("<")).replace(/["']/g,"").trim()}else r=e.replace(/["']/g,"").trim().toLowerCase();return"VALIDATE"!==t||i.isEmailValid(r)||(r=void 0),{email:r,name:n,full:e}};static prettyPrint=e=>"object"==typeof e?JSON.stringify(e,void 0,2).replace(/ /g," ").replace(/\n/g,"
"):String(e);static normalizeSpaces=e=>e.replace(RegExp(String.fromCharCode(160),"g"),String.fromCharCode(32));static normalizeDashes=e=>e.replace(/^—–|—–$/gm,"-----");static getFilenameWithoutExtension=e=>e.replace(/\.[^/.]+$/,"");static normalize=e=>i.normalizeSpaces(i.normalizeDashes(e));static isEmailValid=e=>-1===e.indexOf(" ")&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e);static monthName=e=>["January","February","March","April","May","June","July","August","September","October","November","December"][e];static sloppyRandom=(e=5)=>{let t="";for(let r=0;re.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");static asEscapedHtml=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/").replace(/\n/g,"
");static htmlAttrDecode=e=>{try{return JSON.parse(i.base64urlUtfDecode(e))}catch(e){return}};static capitalize=e=>e.trim().split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");static pluralize=(e,t,r="s")=>`${e} ${t}${e>1?r:""}`;static toUtcTimestamp=(e,t=!1)=>t?String(Date.parse(e)):Date.parse(e);static datetimeToDate=e=>e.substring(0,10).replace(/"/g,""").replace(/'/g,"'").replace(/e.toISOString().replace(/T/," ").replace(/:[^:]+$/,"");static base64urlUtfDecode=e=>void 0===e?e:decodeURIComponent(String(Array.prototype.map.call((0,n.base64decode)(e.replace(/-/g,"+").replace(/_/g,"/")),e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join("")))}t.Str=i;class s{static arr={unique:e=>{const t=[];for(const r of e)t.includes(r)||t.push(r);return t},contains:(e,t)=>Boolean(e&&"function"==typeof e.indexOf&&-1!==e.indexOf(t)),sum:e=>e.reduce((e,t)=>e+t,0),average:e=>s.arr.sum(e)/e.length};static obj={keyByValue:(e,t)=>{for(const r of Object.keys(e))if(e[r]===t)return r}}}t.Value=s},9815(e,t){"use strict";t.VERSION=void 0,t.VERSION=APP_VERSION},4010(e,t,r){"use strict";t.Mime=void 0;const n=r(6471),i=r(3955),s=r(3207),a=r(833),o=r(7659),c=r(2633),l=r(9545),u=r(1341),h=r(178),f=(0,i.requireMimeParser)(),A=(0,i.requireMimeBuilder)(),d=(0,i.requireIso88592)();class p{static processBody=e=>{const t=[];if(e.text){const r=l.MsgBlockParser.detectBlocks(n.Str.normalize(e.text),!0).blocks;r.find(e=>["pkcs7","encryptedMsg","signedMsg","publicKey","privateKey"].includes(e.type))?t.push(...r):e.html?t.push(c.MsgBlock.fromContent("plainHtml",e.html)):t.push(...r)}else e.html&&t.push(c.MsgBlock.fromContent("plainHtml",e.html));return t};static isBodyEmpty=({text:e,html:t})=>p.isBodyTextEmpty(e)&&p.isBodyTextEmpty(t);static isBodyTextEmpty=e=>!(e&&!/^(\r)?(\n)?$/.test(e));static processAttachments=(e,t)=>{const r=[],n=[];for(const e of t.atts){let i=e.treatAs(t.atts,p.isBodyEmpty(t));if(["needChunk","maybePgp"].includes(i)&&(i="encryptedMsg"),"encryptedMsg"===i){const t=u.PgpArmor.clip(e.getData().toUtfStr());t&&r.push(c.MsgBlock.fromContent("encryptedMsg",t))}else"signature"===i?n.push(e):"publicKey"===i||"privateKey"===i?r.push(...l.MsgBlockParser.detectBlocks(e.getData().toUtfStr(),!0).blocks):"encryptedFile"===i?r.push(c.MsgBlock.fromAtt("encryptedAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),treatAs:e.treatAs(t.atts)})):"plainFile"===i&&r.push(c.MsgBlock.fromAtt("plainAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),inline:e.inline,cid:e.cid}))}if(n.length){const t=n[0].getData().toUtfStr();[...e,...r].some(e=>["plainText","plainHtml","signedMsg"].includes(e.type))||r.push(new c.MsgBlock("signedMsg","",!0,t))}const i=[...e,...r];if(t.signature&&t.signature.includes(u.PgpArmor.ARMOR_HEADER_DICT.signature.begin)&&t.signature.includes(String(u.PgpArmor.ARMOR_HEADER_DICT.signature.end))){for(const e of i)"plainText"===e.type?(e.type="signedMsg",e.signature=t.signature):"plainHtml"===e.type&&(e.type="signedHtml",e.signature=t.signature);i.find(e=>"plainText"===e.type||"plainHtml"===e.type||"signedMsg"===e.type||"signedHtml"===e.type)||i.push(new c.MsgBlock("signedMsg","",!0,t.signature))}return{headers:t.headers,blocks:i,from:t.from,to:t.to,rawSignedContent:t.rawSignedContent}};static processDecoded=e=>{const t=p.processBody(e);return p.processAttachments(t,e)};static process=async e=>{const t=await p.decode(e);return p.processDecoded(t)};static isPlainImgAtt=e=>"plainAtt"===e.type&&e.attMeta&&e.attMeta.type&&["image/jpeg","image/jpg","image/bmp","image/png","image/svg+xml"].includes(e.attMeta.type);static replyHeaders=e=>{const t=String(e.headers["message-id"]||"");return{"in-reply-to":t,references:String(e.headers["in-reply-to"]||"")+" "+t}};static resemblesMsg=e=>{const t=new a.Buf(e.slice(0,1e3)).toUtfStr().toLowerCase(),r=t.match(/content-type: +[0-9a-z\-\/]+/);return!!r&&(!!(t.match(/content-transfer-encoding: +[0-9a-z\-\/]+/)||t.match(/content-disposition: +[0-9a-z\-\/]+/)||t.match(/; boundary=/)||t.match(/; charset=/))||Boolean(0===r.index&&t.match(/boundary=/)))};static decode=async e=>{const t={atts:[],headers:{},subject:void 0,text:void 0,html:void 0,signature:void 0,from:void 0,to:[],cc:[],bcc:[]},r=new f,n={};return r.onbody=e=>{const t=String(e.path.join("."));void 0===n[t]&&(n[t]=e)},await new Promise((i,s)=>{try{r.onend=()=>{try{for(const e of Object.keys(r.node.headers))t.headers[e]=r.node.headers[e][0].value;t.rawSignedContent=p.retrieveRawSignedContent([r.node]);for(const e of Object.values(n))"application/pgp-signature"===p.getNodeType(e)?t.signature=e.rawContent:"text/html"!==p.getNodeType(e)||p.getNodeFilename(e)?"text/plain"!==p.getNodeType(e)||p.getNodeFilename(e)&&!p.isNodeInline(e)?"text/rfc822-headers"===p.getNodeType(e)?e._parentNode&&e._parentNode.headers.subject&&(t.subject=e._parentNode.headers.subject[0].value):t.atts.push(p.getNodeAsAtt(e)):t.text=(t.text?`${t.text}\n\n`:"")+p.getNodeContentAsUtfStr(e):t.html=(t.html||"")+p.getNodeContentAsUtfStr(e);const e=p.headerGetAddress(t,["from","to","cc","bcc"]);t.subject=String(t.subject||t.headers.subject||""),Object.assign(t,e),i(t)}catch(e){s(e)}},r.write(e),r.end()}catch(e){o.Catch.reportErr(e),i(t)}})};static encode=async(e,t,r=[],n)=>{const i=new A("pgpMimeEncrypted"!==n?"multipart/mixed":'multipart/encrypted; protocol="application/pgp-encrypted";',{includeBccInHeader:!0});for(const e of Object.keys(t))i.addHeader(e,t[e]);if(Object.keys(e).length){let t;if(1===Object.keys(e).length)t=p.newContentNode(A,Object.keys(e)[0],e[Object.keys(e)[0]]||"");else{t=new A("multipart/alternative");for(const r of Object.keys(e))t.appendChild(p.newContentNode(A,r,e[r]??""))}i.appendChild(t)}for(const e of r)i.appendChild(p.createAttNode(e));return i.build()};static subjectWithoutPrefixes=e=>e.replace(/^((Re|Fwd): ?)+/g,"").trim();static encodePgpMimeSigned=async(e,t,r=[],i)=>{const o=`SIG_PLACEHOLDER_${n.Str.sloppyRandom(10)}`,c=new A('multipart/signed; protocol="application/pgp-signature";',{includeBccInHeader:!0});for(const e of Object.keys(t))c.addHeader(e,t[e]);const l=new A("multipart/alternative");for(const t of Object.keys(e))l.appendChild(p.newContentNode(A,t,e[t]??""));const u=new A("multipart/mixed");u.appendChild(l);for(const e of r)u.appendChild(p.createAttNode(e));const h=new s.Att({data:a.Buf.fromUtfStr(o),type:"application/pgp-signature",name:"signature.asc"}),f=p.createAttNode(h);c.appendChild(u),c.appendChild(f);const d=c.build(),{rawSignedContent:g}=await p.decode(a.Buf.fromUtfStr(d));if(!g)throw console.log(`mimeStrWithPlaceholderSig(placeholder:${o}):\n${d}`),new Error("Could not find raw signed content immediately after mime-encoding a signed message");const y=await i(g),m=d.replace(a.Buf.fromUtfStr(o).toBase64Str(),a.Buf.fromUtfStr(y).toBase64Str());if(m===d)throw console.log(`pgpMimeSigned(placeholder:${o}):\n${m}`),new Error("Replaced sigPlaceholder with realSignature but mime stayed the same");return m};static headerGetAddress=(e,t)=>{const r={to:[],cc:[],bcc:[]};let i;const s=e=>"string"==typeof e?[e].map(e=>n.Str.parseEmail(e).email).filter(e=>!!e):e.map(e=>e.address),a=e=>n.Str.parseEmail((Array.isArray(e)?(e[0]||{}).address:String(e||""))||"").email;for(const n of t){const t=e.headers[n];t&&("from"===n?i=a(t):r[n]=[...r[n],...s(t)])}return{...r,from:i}};static retrieveRawSignedContent=e=>{for(const t of e){if(!t._childNodes||!t._childNodes.length)continue;const e="signed"===t._isMultipart,r="mixed"===t._isMultipart&&2===t._childNodes.length&&"application/pgp-signature"===p.getNodeType(t._childNodes[1]);if(e||r){let e=t._childNodes[0].raw.replace(/\r?\n/g,"\r\n");return/--$/.test(e)&&(e+="\r\n"),e}return p.retrieveRawSignedContent(t._childNodes)}};static createAttNode=e=>{const t=`${e.type}; name="${e.name}"`,r=`f_${n.Str.sloppyRandom(30)}@flowcrypt`,i={};return e.contentDescription&&(i["Content-Description"]=e.contentDescription),i["Content-Disposition"]=e.inline?"inline":"attachment",i["X-Attachment-Id"]=r,i["Content-ID"]=`<${r}>`,i["Content-Transfer-Encoding"]="base64",new A(t,{filename:e.name}).setHeader(i).setContent(e.getData())};static getNodeType=(e,t="value")=>{if(e.headers["content-type"]&&e.headers["content-type"][0])return e.headers["content-type"][0][t]};static getNodeContentId=e=>{if(e.headers["content-id"]&&e.headers["content-id"][0])return e.headers["content-id"][0].value};static getNodeFilename=e=>{if(e.headers["content-disposition"]&&e.headers["content-disposition"][0]){const t=e.headers["content-disposition"][0];if(t.params&&t.params.filename)return String(t.params.filename)}if(e.headers["content-type"]&&e.headers["content-type"][0]){const t=e.headers["content-type"][0];if(t.params&&t.params.name)return String(t.params.name)}};static isNodeInline=e=>{const t=e.headers["content-disposition"];return t&&t[0]&&"inline"===t[0].value};static fromEqualSignNotationAsBuf=e=>a.Buf.fromRawBytesStr(e.replace(/(=[A-F0-9]{2})+/g,e=>{const t=e.replace(/^=/,"").split("=").map(e=>parseInt(e,16));return new a.Buf(t).toRawBytesStr()}));static getNodeAsAtt=e=>new s.Att({name:p.getNodeFilename(e),type:p.getNodeType(e),data:"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):e.content,cid:p.getNodeContentId(e)});static getNodeContentAsUtfStr=e=>{if(e.charset&&d.labels.includes(e.charset))return d.decode(e.rawContent??"");let t;return t="utf-8"===e.charset&&"base64"===e.contentTransferEncoding.value?a.Buf.fromUint8(e.content):"utf-8"===e.charset&&"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):a.Buf.fromRawBytesStr(e.rawContent??""),"ISO-2022-JP"===e.charset?.toUpperCase()||"utf-8"===e.charset&&p.getNodeType(e,"initial")?.includes("ISO-2022-JP")?(0,h.iso2022jpToUtf)(t):t.toUtfStr()};static newContentNode=(e,t,r)=>{const n=new e(t).setContent(r);return"text/plain"===t&&n.addHeader("Content-Transfer-Encoding","quoted-printable"),n}}t.Mime=p},102(e,t){"use strict";t.mnemonic=void 0;const r=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"];t.mnemonic=e=>{if(!e)return;const t=e.split("").map(e=>(e=>{let t=e+"";for(;t.length<4;)t="0"+t;return t})(parseInt(e,16).toString(2))).join("").match(new RegExp(".{1,11}","g"));return(t?.map(e=>parseInt(e,2))??[]).map(e=>r[e].toUpperCase()).join(" ")}},9545(e,t,r){"use strict";t.MsgBlockParser=void 0;const n=r(2633),i=r(6622),s=r(833),a=r(7659),o=r(4010),c=r(1341),l=r(2365),u=r(9379),h=r(6471);class f{static ARMOR_HEADER_MAX_LENGTH=50;static detectBlocks=(e,t)=>{const r=[],n=h.Str.normalize(e);let i=0;for(;;){const e=f.detectBlockNext(n,i,t);if(e.found&&r.push(...e.found),void 0===e.continueAt)return{blocks:r,normalized:n};if(e.continueAt<=i)return a.Catch.report(`PgpArmordetect_blocks likely infinite loop: r.continue_at(${e.continueAt}) <= start_at(${i})`),{blocks:r,normalized:n};i=e.continueAt}};static fmtDecryptedAsSanitizedHtmlBlocks=async(e,t)=>{const r=[];let a=!1;if(!o.Mime.resemblesMsg(e)){let i=s.Buf.fromUint8(e).toUtfStr();i=u.PgpMsg.extractFcAtts(i,r),i=u.PgpMsg.stripFcTeplyToken(i);const o=[];i=u.PgpMsg.stripPublicKeys(i,o);const c=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(i));return c.verifyRes=t,r.push(c),await f.pushArmoredPubkeysToBlocks(o,r),{blocks:r,subject:void 0,isRichText:a}}const c=await o.Mime.decode(e);if(void 0!==c.html){const e=n.MsgBlock.fromContent("decryptedHtml",i.Xss.htmlSanitizeKeepBasicTags(c.html));e.verifyRes=t,r.push(e),a=!0}else if(void 0!==c.text){const e=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(c.text));e.verifyRes=t,r.push(e)}else n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(s.Buf.with(e).toUtfStr())).verifyRes=t,r.push();for(const e of c.atts)if("publicKey"===e.treatAs(c.atts))await f.pushArmoredPubkeysToBlocks([e.getData().toUtfStr()],r);else{const i=n.MsgBlock.fromAtt("decryptedAtt","",{name:e.name,data:e.getData(),length:e.length,type:e.type});i.verifyRes=t,r.push(i)}return{blocks:r,subject:c.subject,isRichText:a}};static detectBlockNext=(e,t,r)=>{const i=Object.keys(c.PgpArmor.ARMOR_HEADER_DICT),s={found:[]},a=e.indexOf(c.PgpArmor.headers("null").begin,t);if(-1!==a){const o=e.substr(a,f.ARMOR_HEADER_MAX_LENGTH);for(const l of i){const i=c.PgpArmor.ARMOR_HEADER_DICT[l];if(i.replace&&0===o.indexOf(i.begin)){let o="";if(a>t&&(o=e.substring(t,a),!o.endsWith("\n")))continue;let c=-1,u=0;if("string"==typeof i.end)c=e.indexOf(i.end,a+i.begin.length),u=i.end.length;else{const t=e.substring(a).match(i.end);t&&(c=t.index?a+t.index:-1,u=t[0].length)}if(-1!==c||!r){o=o.trim(),o&&s.found.push(n.MsgBlock.fromContent("plainText",o)),-1!==c?(s.found.push(n.MsgBlock.fromContent(l,e.substring(a,c+u).trim())),s.continueAt=c+u):s.found.push(n.MsgBlock.fromContent(l,e.substr(a),!0));break}}}}if(e&&!s.found.length){const r=e.substr(t).trim();r&&s.found.push(n.MsgBlock.fromContent("plainText",r))}return s};static pushArmoredPubkeysToBlocks=async(e,t)=>{for(const r of e){const{keys:e}=await l.PgpKey.parse(r);for(const r of e)t.push(n.MsgBlock.fromKeyDetails("publicKey",r.public,r))}}}t.MsgBlockParser=f},2633(e,t){"use strict";t.MsgBlock=void 0;class r{type;content;complete;signature;keyDetails;attMeta;decryptErr;verifyRes;constructor(e,t,r,n,i,s,a,o){this.type=e,this.content=t,this.complete=r,this.signature=n,this.keyDetails=i,this.attMeta=s,this.decryptErr=a,this.verifyRes=o}static fromContent=(e,t,n=!1)=>new r(e,t,!n);static fromKeyDetails=(e,t,n)=>new r(e,t,!0,void 0,n);static fromAtt=(e,t,n)=>new r(e,t,!0,void 0,void 0,n)}t.MsgBlock=r},1341(e,t,r){"use strict";t.PgpArmor=void 0;const n=r(833),i=r(6471),s=r(6382);class a{static ARMOR_HEADER_DICT={null:{begin:"-----BEGIN",end:"-----END",replace:!1},publicKey:{begin:"-----BEGIN PGP PUBLIC KEY BLOCK-----",end:"-----END PGP PUBLIC KEY BLOCK-----",replace:!0},privateKey:{begin:"-----BEGIN PGP PRIVATE KEY BLOCK-----",end:"-----END PGP PRIVATE KEY BLOCK-----",replace:!0},signedMsg:{begin:"-----BEGIN PGP SIGNED MESSAGE-----",middle:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!0},signature:{begin:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!1},encryptedMsg:{begin:"-----BEGIN PGP MESSAGE-----",end:"-----END PGP MESSAGE-----",replace:!0},encryptedMsgLink:{begin:"This message is encrypted: Open Message",end:/https:(\/|/){2}(cryptup\.org|flowcrypt\.com)(\/|/)[a-zA-Z0-9]{10}(\n|$)/,replace:!0}};static clip=e=>{if(e?.includes(a.ARMOR_HEADER_DICT.null.begin)&&e.includes(String(a.ARMOR_HEADER_DICT.null.end))){const t=e.match(/(-----BEGIN PGP (MESSAGE|SIGNED MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----[^]+-----END PGP (MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----)/gm);return t&&t.length?t[0]:void 0}};static headers=(e,t="string")=>{const r=a.ARMOR_HEADER_DICT[e];return{begin:"string"==typeof r.begin&&"re"===t?r.begin.replace(/ /g,"\\s"):r.begin,end:"string"==typeof r.end&&"re"===t?r.end.replace(/ /g,"\\s"):r.end,replace:r.replace}};static normalize=(e,t)=>{if(e=i.Str.normalize(e).replace(/\n /g,"\n"),["encryptedMsg","publicKey","privateKey","key"].includes(t)){const t=(e=e.replace(/\r?\n/g,"\n").trim()).match(/\n\n/g),r=e.match(/\n\n\n/g),n=e.match(/\n\n\n\n/g),i=e.match(/\n\n\n\n\n\n/g);r&&i&&r.length>1&&1===i.length?e=e.replace(/\n\n\n/g,"\n"):t&&n&&t.length>1&&1===n.length&&(e=e.replace(/\n\n/g,"\n"))}const r=e.split("\n"),n=a.headers("key"===t?"null":t);if(r.length>5&&r[0].includes(n.begin)&&r[r.length-1].includes(String(n.end))&&!r.includes(""))for(let t=1;t<5;t++)if(!r[t].match(/^[a-zA-Z0-9\-_. ]+: .+$/)){if(r[t].match(/^[a-zA-Z0-9\/+]{32,77}$/)){e=`${r.slice(0,t).join("\n")}\n\n${r.slice(t).join("\n")}`;break}break}return e};static cryptoMsgPrepareForDecrypt=async e=>{if(!e.length)throw new Error("Encrypted message could not be parsed because no data was provided");const t=new n.Buf(e.slice(0,100)).toUtfStr("ignore"),r=t.includes(a.headers("encryptedMsg").begin),i=t.includes(a.headers("signedMsg").begin),o=r||i;if(i)return{isArmored:o,isCleartext:!0,message:await(0,s.readCleartextMessage)({cleartextMessage:new n.Buf(e).toUtfStr()})};if(r)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({armoredMessage:new n.Buf(e).toUtfStr()})};if(e instanceof Uint8Array)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({binaryMessage:e})};throw new Error("Message does not have armor headers")}}t.PgpArmor=a},2365(e,t,r){"use strict";t.PgpKey=void 0;const n=r(7659),i=r(1341),s=r(3313),a=r(102),o=r(178),c=r(6382),l=r(8659),u=r(3955),h=r(6471);class f{static create=async(e,t,r)=>{const n=await(0,c.generateKey)({userIDs:e,passphrase:r,format:"armored",curve:"curve25519"===t?"curve25519Legacy":void 0,rsaBits:"curve25519"===t?void 0:"rsa2048"===t?2048:4096});return{public:n.publicKey,private:n.privateKey,revCert:n.revocationCertificate}};static read=async e=>{const t=s.Store.armoredKeyCacheGet(e);if(t)return t;const r=await(0,c.readKey)({armoredKey:e});return r?.isPrivate()&&s.Store.armoredKeyCacheSet(e,r),r};static isPacketPrivate=e=>e instanceof c.SecretKeyPacket||e instanceof c.SecretSubkeyPacket;static validateAllDecryptedPackets=async e=>{for(const t of e.toPacketList().filter(f.isPacketPrivate))t.isDecrypted()&&await t.validate()};static decrypt=async(e,t,r,n)=>{if(!e.isPrivate())throw new Error("Nothing to decrypt in a public key");const i=e.getKeys(r).map(e=>e.keyPacket).filter(f.isPacketPrivate);if(!i.length)throw new Error(`No private key packets selected of${e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate).length} prv packets available`);for(const e of i){if(e.isDecrypted()){if("OK-IF-ALREADY-DECRYPTED"===n)continue;throw new Error("Decryption failed - key packet was already decrypted")}try{await e.decrypt(t),await e.validate()}catch(e){if(e instanceof Error&&e.message.toLowerCase().includes("passphrase"))return!1;throw e}}return!0};static encrypt=async(e,t)=>{if(!t||"undefined"===t||"null"===t)throw new Error(`Encryption passphrase should not be empty:${typeof t}:${t}`);const r=e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate),n=r.filter(e=>!e.isDecrypted()).length;if(!r.length)throw new Error("No private key packets in key to encrypt. Is this a private key?");if(n)throw new Error(`Cannot encrypt a key that has ${n} of ${r.length} private packets still encrypted`);await(0,c.encryptKey)({privateKey:e,passphrase:t})};static normalize=async e=>{try{let t=[];if(e=i.PgpArmor.normalize(e,"key"),RegExp(i.PgpArmor.headers("publicKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("privateKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("encryptedMsg","re").begin).test(e)){const r=await(0,c.readMessage)({armoredMessage:e});t=[new c.PublicKey(r.packets)]}for(const e of t)for(const t of e.users)await f.validateAllDecryptedPackets(e),t.otherCertifications=[];return{normalized:t.map(e=>e.armor()).join("\n"),keys:t}}catch(e){return n.Catch.reportErr(e),{normalized:"",keys:[],error:h.Str.extractErrorMessage(e)}}};static fingerprint=async e=>{if(e)if("string"==typeof e)try{return await f.fingerprint(await f.read(e))}catch(e){return e instanceof Error&&"openpgp is not defined"===e.message&&n.Catch.reportErr(e),void console.error(e)}else{if(!e.keyPacket.getFingerprintBytes())return;try{return e.keyPacket.getFingerprint().toUpperCase()}catch(e){return void console.error(e)}}};static longid=async e=>{if(e)return"string"==typeof e&&8===e.length?(0,o.strToHex)(e).toUpperCase():"string"==typeof e&&40===e.length?e.substr(-16):"string"==typeof e&&49===e.length?e.replace(/ /g,"").substr(-16):await f.longid(await f.fingerprint(e))};static longids=async e=>{const t=[];for(const r of e){const e=await f.longid(r.bytes);e&&t.push(e)}return t};static usable=async(e,t)=>{if(!await f.fingerprint(e))return!1;const r=await(0,c.readKey)({armoredKey:e});return!!r&&(!!await f.keyIsUsable(r,t)||await f.usableButExpired(r,t))};static expired=async e=>{if(!e)return!1;const t=await e.getExpirationTime();if(t===1/0||!t)return!1;if(t instanceof Date)return Date.now()>t.getTime();throw new Error(`Got unexpected value for expiration: ${t}`)};static usableButExpired=async(e,t)=>{if(!e)return!1;if(await f.keyIsUsable(e,t))return!1;const r=await f.dateBeforeExpiration(e);return void 0!==r&&f.keyIsUsable(e,t,r)};static dateBeforeExpiration=async e=>{const t="string"==typeof e?await f.read(e):e,r=await(0,o.getKeyExpirationTimeForCapabilities)(t,"encrypt");if(r instanceof Date&&r.getTime(){const{normalized:t,keys:r,error:n}=await f.normalize(e);return{original:e,normalized:t,keys:await Promise.all(r.map(f.details)),error:n}};static details=async e=>{const t=e.getKeys(),r=e.keyPacket.getAlgorithmInfo(),n={algorithm:r.algorithm,algorithmId:c.enums.publicKey[r.algorithm]};r.bits&&Object.assign(n,{bits:r.bits}),r.curve&&Object.assign(n,{curve:r.curve});const i=e.keyPacket.created.getTime()/1e3,s=await(0,o.getKeyExpirationTimeForCapabilities)(e,"encrypt"),u=s!==1/0&&s?s.getTime()/1e3:void 0,h=await f.lastSig(e)/1e3,A=[];for(const e of t){const t=e.getFingerprint().toUpperCase();if(t){const e=await f.longid(t);if(e){const r=e.substr(-8);A.push({fingerprint:t,longid:e,shortid:r,keywords:(0,a.mnemonic)(e)??""})}}}const d=e.toPublic().armor(),p={public:d,users:e.getUserIDs(),ids:A,algo:n,created:i,expiration:u,lastModified:h,revoked:e.revocationSignatures.length>0,usableForEncryption:await f.usable(d,"encrypt"),usableForSigning:await f.usable(d,"sign")};return e.isPrivate()&&Object.assign(p,{private:e.armor(),isFullyDecrypted:(0,l.isFullyDecrypted)(e),isFullyEncrypted:(0,l.isFullyEncrypted)(e)}),p};static lastSig=async e=>{const t=[];for(const r of e.users){const n={userID:r.userID,userAttribute:r.userAttribute,key:e};for(const i of r.selfCertifications)try{await i.verify(e.keyPacket,c.enums.signature.certGeneric,n),t.push(i)}catch(e){console.log(`PgpKey.lastSig: Skipping self-certification signature because it is invalid: ${String(e)}`)}}for(const r of e.subkeys)try{const e=await r.verify();t.push(e)}catch(e){console.log(`PgpKey.lastSig: Skipping subkey ${r.getKeyID().toHex()} because there is no valid binding signature: ${String(e)}`)}if(t.length>0)return Math.max(...t.map(e=>e.created?e.created.getTime():0));throw new Error("No valid signature found in key")};static revoke=async e=>{await e.isRevoked()||(e=(await(0,c.revokeKey)({key:e,format:"object"})).privateKey);const t=await e.getRevocationCertificate();if(t){if("string"==typeof t)return{key:e,revocationCertificate:t};{const r=await(0,u.requireStreamReadToEnd)();return{key:e,revocationCertificate:await r(t)}}}};static keyIsUsable=async(e,t,r)=>Boolean(await n.Catch.undefinedOnException("encrypt"===t?e.getEncryptionKey(void 0,r):e.getSigningKey(void 0,r)))}t.PgpKey=f},9379(e,t,r){"use strict";t.PgpMsg=t.DecryptErrTypes=void 0;const n=r(2365),i=r(2633),s=r(6471),a=r(833),o=r(7659),c=r(9545),l=r(1341),u=r(3313),h=r(6382),f=r(8659),A=r(3955);var d;!function(e){e.keyMismatch="key_mismatch",e.usePassword="use_password",e.wrongPwd="wrong_password",e.noMdc="no_mdc",e.badMdc="bad_mdc",e.needPassphrase="need_passphrase",e.format="format",e.other="other"}(d||(t.DecryptErrTypes=d={}));Error;class p{static type=async({data:e})=>{if(!e||!e.length)return;const t=e[0];if(!(128&~t)){let e=0;if(e=192&~t?(60&t)/4:63&t,Object.values(h.enums.packet).includes(e)){const t=h.enums.packet;return{armored:!1,type:[t.symEncryptedIntegrityProtectedData,t.modificationDetectionCode,t.aeadEncryptedData,t.symmetricallyEncryptedData,t.compressedData].includes(e)?"encryptedMsg":"publicKey"}}}const{blocks:r}=c.MsgBlockParser.detectBlocks(new a.Buf(e.slice(0,50)).toUtfStr().trim());return 1===r.length&&!1===r[0].complete&&["encryptedMsg","privateKey","publicKey","signedMsg"].includes(r[0].type)?{armored:!0,type:r[0].type}:void 0};static sign=async(e,t,r=!1)=>{const n=await(0,h.createCleartextMessage)({text:t});return await(0,h.sign)({message:n,signingKeys:e,detached:r,format:"armored"})};static verify=async(e,t)=>{const r={match:null};try{const i=Array.isArray(e)?e:await e.verify(t);for(const e of i)r.signer||(r.signer=await n.PgpKey.longid(e.keyID.bytes)),r.match=(!0===r.match||null===r.match)&&await e.verified}catch(e){r.match=null,e instanceof Error&&"Can only verify message with one literal data packet."===e.message?r.error="FlowCrypt is not equipped to verify this message (err 101)":(r.error=e.message,o.Catch.reportErr(e))}return r};static verifyDetached=async({plaintext:e,sigText:t,verificationPubkeys:r})=>{const n=await(0,h.createMessage)({text:a.Buf.fromUint8(e).toUtfStr()});await n.appendSignature(a.Buf.fromUint8(t).toUtfStr());const i=await p.getSortedKeys([],n);if(r)for(const e of r){const t=await(0,h.readKeys)({armoredKeys:e});i.forVerification.push(...t)}return await p.verify(n,i.forVerification)};static decrypt=async({kisWithPp:e,encryptedData:t,msgPwd:r,verificationPubkeys:n})=>{let i;const s={message:[],matching:[],chosen:[],needPassphrase:[]};try{i=await l.PgpArmor.cryptoMsgPrepareForDecrypt(t)}catch(e){return{success:!1,error:{type:d.format,message:String(e)},longids:s}}const o=await p.getSortedKeys(e,i.message,n);s.message=o.encryptedFor,s.matching=o.prvForDecrypt.map(e=>e.longid),s.chosen=o.prvForDecryptDecrypted.map(e=>e.longid),s.needPassphrase=o.prvForDecryptWithoutPassphrases.map(e=>e.longid);const c=!i.isCleartext;if(!c){const e=await p.verify(i.message,o.forVerification),t=await(0,A.requireStreamReadToEnd)(),r=await t(i.message.getText()??"");return{success:!0,content:a.Buf.fromUtfStr(r),isEncrypted:c,signature:e}}if(!o.prvMatching.length&&!r)return{success:!1,error:{type:d.keyMismatch,message:"Missing appropriate key"},message:i.message,longids:s,isEncrypted:c};if(!o.prvForDecryptDecrypted.length&&!r)return{success:!1,error:{type:d.needPassphrase,message:"Missing pass phrase"},message:i.message,longids:s,isEncrypted:c};try{const e=i.message.packets,t=e.filterByTag(h.enums.packet.symEncryptedSessionKey).length>0,l=e.filterByTag(h.enums.packet.publicKeyEncryptedSessionKey).length>0;if(t&&!l&&!r)return{success:!1,error:{type:d.usePassword,message:"Use message password"},longids:s,isEncrypted:c};const u=r?[r]:void 0,f=o.prvForDecryptDecrypted.map(e=>e.decrypted),g=await i.message.decrypt(f,u);await p.cryptoMsgGetSignedBy(g,o),await p.populateKeysForVerification(o,n);const y=o.signedBy.length?await g.verify(o.forVerification):void 0,m=await(0,A.requireStreamReadToEnd)(),w=new a.Buf(await m(g.getLiteralData())),b=y?await p.verify(y,[]):void 0;if(!i.isCleartext&&i.message.packets.filterByTag(h.enums.packet.symmetricallyEncryptedData).length){const e="Security threat!\n\nMessage is missing integrity checks (MDC). The sender should update their outdated software and resend.";return{success:!1,content:w,error:{type:d.noMdc,message:e},message:i.message,longids:s,isEncrypted:c}}return{success:!0,content:w,isEncrypted:c,filename:g.getFilename()||void 0,signature:b}}catch(e){return{success:!1,error:p.cryptoMsgDecryptCategorizeErr(e,r),message:i.message,longids:s,isEncrypted:c}}};static encrypt=async({pubkeys:e,signingPrv:t,pwd:r,data:n,filename:i,armor:s,date:a})=>{if(!e&&!r)throw new Error("no-pubkeys-no-challenge");const o=await(0,h.createMessage)({binary:n,filename:i,date:a}),c=[];for(const t of e){const e=await(0,h.readKeys)({armoredKeys:t});c.push(...e)}const l={message:o,date:a,encryptionKeys:c,passwords:r?[r]:void 0,signingKeys:t&&t.isPrivate()?t:void 0};return s||Object.assign(l,{format:"binary"}),await(0,h.encrypt)(l)};static extractFcAtts=(e,t)=>(e.includes('class="cryptup_file"')&&(e=e.replace(/[^<]+<\/a>\n?/gm,(e,r,n)=>{const a=s.Str.htmlAttrDecode(String(n));return p.isFcAttLinkData(a)&&t.push(i.MsgBlock.fromAtt("encryptedAttLink","",{type:a.type,name:a.name,length:a.size,url:String(r)})),""})),e);static stripFcTeplyToken=e=>e.replace(/]+class="cryptup_reply"[^>]+><\/div>/,"");static stripPublicKeys=(e,t)=>{let{blocks:r,normalized:n}=c.MsgBlockParser.detectBlocks(e);for(const e of r)if("publicKey"===e.type){const r=e.content.toString();t.push(r),n=n.replace(r,"")}return n};static isFcAttLinkData=e=>e&&"object"==typeof e&&void 0!==e.name&&void 0!==e.size&&void 0!==e.type;static cryptoMsgGetSignedBy=async(e,t)=>{t.signedBy=s.Value.arr.unique(await n.PgpKey.longids(e.getSigningKeyIDs?e.getSigningKeyIDs():[]))};static populateKeysForVerification=async(e,t)=>{if(void 0!==t){e.forVerification=[];for(const r of t){const t=await(0,h.readKeys)({armoredKeys:r});e.forVerification.push(...t)}}};static getSortedKeys=async(e,t,r)=>{const i={forVerification:[],encryptedFor:[],signedBy:[],prvMatching:[],prvForDecrypt:[],prvForDecryptDecrypted:[],prvForDecryptWithoutPassphrases:[]},s=t instanceof h.Message?t.getEncryptionKeyIDs():[];if(i.encryptedFor=await n.PgpKey.longids(s),await p.cryptoMsgGetSignedBy(t,i),await p.populateKeysForVerification(i,r),i.encryptedFor.length){for(const t of e){t.parsed=await n.PgpKey.read(t.private);for(const e of await Promise.all(t.parsed.getKeyIDs().map(({bytes:e})=>n.PgpKey.longid(e))))if(i.encryptedFor.includes(e)){i.prvMatching.push(t);break}}i.prvForDecrypt=i.prvMatching}else i.prvForDecrypt=[];for(const e of i.prvForDecrypt){if(!e.parsed||!e.passphrase)continue;const t=p.matchingKeyids(e.parsed,s),r=u.Store.decryptedKeyCacheGet(e.longid);r&&p.isKeyDecryptedFor(r,t)?(e.decrypted=r,i.prvForDecryptDecrypted.push(e)):p.isKeyDecryptedFor(e.parsed,t)||!0===await p.decryptKeyFor(e.parsed,e.passphrase,t)?(u.Store.decryptedKeyCacheSet(e.parsed),e.decrypted=e.parsed,i.prvForDecryptDecrypted.push(e)):i.prvForDecryptWithoutPassphrases.push(e)}return i};static matchingKeyids=(e,t)=>{const r=(t||[]).map(e=>e.bytes);return e.getKeyIDs().filter(e=>r.includes(e.bytes))};static decryptKeyFor=async(e,t,r)=>{if(!r.length)return await n.PgpKey.decrypt(e,t,void 0,"OK-IF-ALREADY-DECRYPTED");for(const i of r)if(!await n.PgpKey.decrypt(e,t,i,"OK-IF-ALREADY-DECRYPTED"))return!1;return!0};static isKeyDecryptedFor=(e,t)=>!!(0,f.isFullyDecrypted)(e)||!(0,f.isFullyEncrypted)(e)&&!!t.length&&t.filter(t=>(0,f.isPacketDecrypted)(e,t)).length===t.length;static cryptoMsgDecryptCategorizeErr=(e,t)=>{const r=String(e).replace("Error: ","").replace("Error decrypting message: ","");return["Cannot read property 'isDecrypted' of null","privateKeyPacket is null","TypeprivateKeyPacket is null","Session key decryption failed.","Invalid session key for decryption."].includes(r)&&!t?{type:d.keyMismatch,message:r}:t&&["Invalid enum value.","CFB decrypt: invalid key","Session key decryption failed."].includes(r)?{type:d.wrongPwd,message:r}:"Decryption failed due to missing MDC in combination with modern cipher."===r||"Decryption failed due to missing MDC."===r?{type:d.noMdc,message:r}:"Decryption error"===r?{type:d.format,message:r}:"Modification detected."===r?{type:d.badMdc,message:"Security threat - opening this message is dangerous because it was modified in transit."}:{type:d.other,message:r}}}t.PgpMsg=p},5261(e,t){"use strict";t.PgpPwd=void 0;class r{static CRACK_GUESSES_PER_SECOND=8e7;static CRACK_TIME_WORDS_PWD=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"perfect",bar:95,color:"green",pass:!0},{match:"year",word:"great",bar:80,color:"orange",pass:!0},{match:"month",word:"good",bar:70,color:"darkorange",pass:!0},{match:"week",word:"good",bar:30,color:"darkred",pass:!0},{match:"day",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"hour",word:"bare minimum",bar:20,color:"darkred",pass:!0},{match:"minute",word:"poor",bar:15,color:"red",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static CRACK_TIME_WORDS_PASS_PHRASE=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"great",bar:80,color:"green",pass:!0},{match:"year",word:"good",bar:60,color:"orange",pass:!0},{match:"month",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"week",word:"poor",bar:30,color:"darkred",pass:!1},{match:"day",word:"poor",bar:20,color:"darkred",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static estimateStrength=(e,t="passphrase")=>{const n=e/r.CRACK_GUESSES_PER_SECOND;for(const e of"pwd"===t?r.CRACK_TIME_WORDS_PWD:r.CRACK_TIME_WORDS_PASS_PHRASE){const t=r.readableCrackTime(n);if(t.includes(e.match))return{word:e,seconds:Math.round(n),time:t}}throw Error("(thrown) estimate_strength: got to end without any result")};static weakWords=()=>["crypt","up","cryptup","flow","flowcrypt","encryption","pgp","email","set","backup","passphrase","best","pass","phrases","are","long","and","have","several","words","in","them","Best pass phrases are long","have several words","in them","bestpassphrasesarelong","haveseveralwords","inthem","Loss of this pass phrase","cannot be recovered","Note it down","on a paper","lossofthispassphrase","cannotberecovered","noteitdown","onapaper","setpassword","set password","set pass word","setpassphrase","set pass phrase","set passphrase"];static readableCrackTime=e=>{const t=e=>e>1?"s":"";e=Math.round(e);const r=Math.round(e/31104e8);if(r)return 1===r?"a millennium":"millennia";const n=Math.round(e/31104e5);if(n)return 1===n?"a century":"centuries";const i=Math.round(e/31104e3);if(i)return i+" year"+t(i);const s=Math.round(e/2592e3);if(s)return s+" month"+t(s);const a=Math.round(e/604800);if(a)return a+" week"+t(a);const o=Math.round(e/86400);if(o)return o+" day"+t(o);const c=Math.round(e/3600);if(c)return c+" hour"+t(c);const l=Math.round(e/60);if(l)return l+" minute"+t(l);const u=e%60;return u?u+" second"+t(u):"less than a second"}}t.PgpPwd=r},8659(e,t,r){"use strict";t.isPacketDecrypted=t.isFullyEncrypted=t.isFullyDecrypted=void 0;const n=r(2365),i=r(9815),s=r(6382);s.config.versionString=`FlowCrypt ${i.VERSION} Gmail Encryption`,s.config.commentString="Seamlessly send and receive encrypted email",s.config.allowUnauthenticatedMessages=!0,s.config.allowUnauthenticatedStream=!0;const a=e=>{if(!e.isPrivate())throw new Error("Cannot check encryption status of secret keys in a Public Key");const t=e.getKeys().map(e=>e.keyPacket).filter(n.PgpKey.isPacketPrivate);if(!t.length)throw new Error("This key has no private packets. Is it a Private Key?");const r=t.filter(e=>!e.isDummy());if(!r.length)throw new Error("This key only has a gnu-dummy private packet, with no actual secret keys.");return r};t.isFullyDecrypted=e=>a(e).every(e=>!0===e.isDecrypted()),t.isFullyEncrypted=e=>a(e).every(e=>!1===e.isDecrypted()),t.isPacketDecrypted=(e,t)=>{if(!e.isPrivate())throw new Error("Cannot check packet encryption status of secret key in a Public Key");if(!t)throw new Error("No KeyID provided to isPacketDecrypted");const[r]=e.getKeys(t);if(!r)throw new Error("KeyID not found in Private Key");return!0===r.keyPacket.isDecrypted()}},9033(e,t,r){"use strict";t.G=t.Endpoints=void 0;const n=r(1592),i=r(9379),s=r(2365),a=r(4010),o=r(3207),c=r(833),l=r(9545),u=r(5261),h=r(3313),f=r(6471),A=r(9815),d=r(6364),p=r(6622),g=r(6382);t.Endpoints=class{version=async()=>(0,n.fmtRes)({app_version:A.VERSION});setClientConfiguration=async e=>{const{shouldHideArmorMeta:t}=d.ValidateInput.setClientConfiguration(e);return g.config.showVersion=!t,g.config.showComment=!t,(0,n.fmtRes)({})};generateKey=async e=>{h.Store.keyCacheWipe();const{passphrase:t,userIds:r,variant:i}=d.ValidateInput.generateKey(e);if(t.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const a=await s.PgpKey.create(r,i,t);return(0,n.fmtRes)({key:await s.PgpKey.details(await s.PgpKey.read(a.private))})};composeEmail=async e=>{const r=d.ValidateInput.composeEmail(e),s={to:r.to,from:r.from,subject:r.subject,cc:r.cc,bcc:r.bcc};if(r.replyToMsgId&&(s["in-reply-to"]=r.replyToMsgId,s.references=[r.inReplyTo,r.replyToMsgId].filter(e=>!!e).join(" ")),"plain"===r.format){const e=(r.atts||[]).map(({name:e,type:t,base64:r})=>new o.Att({name:e,type:t,data:c.Buf.fromBase64Str(r)})),t={"text/plain":r.text};return r.html&&(t["text/html"]=r.html),(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode(t,s,e)))}if("encryptInline"===r.format){const e=[];for(const t of r.atts||[])if("application/pgp-keys"===t.type)e.push(new o.Att({name:t.name,type:t.type,data:c.Buf.fromBase64Str(t.base64)}));else{const n=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.fromBase64Str(t.base64),filename:t.name,armor:!1});e.push(new o.Att({name:`${t.name}.pgp`,type:"application/pgp-encrypted",data:n}))}const l=await(0,t.G)(r),u=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,signingPrv:l,data:c.Buf.fromUtfStr(r.text),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode({"text/plain":u},s,e)))}throw new Error(`Unknown format: ${r.format}`)};encryptMsg=async(e,t)=>{const r=d.ValidateInput.encryptMsg(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,pwd:r.msgPwd,data:c.Buf.concat(t),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(s))};encryptFile=async(e,t)=>{const r=d.ValidateInput.encryptFile(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.concat(t),filename:r.name,armor:!1});return(0,n.fmtRes)({},s)};sanitizeHtml=async e=>{const{html:t}=d.ValidateInput.sanitizeHtml(e),r=p.Xss.htmlSanitizeKeepBasicTags(t);return(0,n.fmtRes)({sanitizedHtml:r})};parseDecryptMsg=async(e,t)=>{const{keys:r,msgPwd:o,isMime:u,verificationPubkeys:h}=d.ValidateInput.parseDecryptMsg(e),A=[];let g,y;if(u){const{blocks:e,rawSignedContent:r,headers:n}=await a.Mime.process(c.Buf.concat(t));y=String(n.subject),g=r,A.push(...e)}else{const{blocks:e}=l.MsgBlockParser.detectBlocks(c.Buf.concat(t).toString());A.push(...e)}const m=[];for(const e of A)if("signedMsg"!==e.type&&"signedHtml"!==e.type||!e.signature)if("encryptedMsg"===e.type||"signedMsg"===e.type){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.content),verificationPubkeys:h});if(t.success)if(t.isEncrypted){const e=await l.MsgBlockParser.fmtDecryptedAsSanitizedHtmlBlocks(t.content,t.signature);m.push(...e.blocks),y=e.subject||y}else m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(t.content.toUtfStr()),complete:!0,verifyRes:t.signature});else delete t.message,m.push({type:"decryptErr",content:t.error.type===i.DecryptErrTypes.noMdc?t.content?.toUtfStr()??"":e.content.toString(),decryptErr:t,complete:!0})}else if("encryptedAtt"===e.type&&e.attMeta&&/^(0x)?[A-Fa-f0-9]{16,40}\.asc\.pgp$/.test(e.attMeta.name||"")){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.attMeta.data||""),verificationPubkeys:h});t.content?m.push({type:"publicKey",content:t.content.toString(),complete:!0}):m.push(e)}else m.push(e);else{const t=await i.PgpMsg.verifyDetached({sigText:c.Buf.fromUtfStr(e.signature),plaintext:c.Buf.with(g||e.content),verificationPubkeys:h});"signedHtml"===e.type?m.push({type:"verifiedMsg",content:p.Xss.htmlSanitizeKeepBasicTags(e.content.toString()),verifyRes:t,complete:!0}):m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(e.content.toString()),verifyRes:t,complete:!0})}const w=[],b=[];let v="plain";for(const e of m)if(e.content instanceof c.Buf?e.content=(0,n.isContentBlock)(e.type)?e.content.toUtfStr():e.content.toRawBytesStr():e.attMeta&&e.attMeta.data instanceof Uint8Array&&(e.attMeta.data=c.Buf.fromUint8(e.attMeta.data).toBase64Str()),e.decryptErr?.content instanceof c.Buf&&(e.decryptErr.content=e.decryptErr.content.toUtfStr()),"decryptedHtml"!==e.type&&"decryptedText"!==e.type&&"decryptedAtt"!==e.type||(v="encrypted"),"publicKey"===e.type)if(e.keyDetails)b.push(e);else{const{keys:t}=await s.PgpKey.normalize(e.content);if(t.length)for(const e of t)b.push({type:"publicKey",content:e.armor(),complete:!0,keyDetails:await s.PgpKey.details(e)});else b.push({type:"decryptErr",content:e.content,complete:!0,decryptErr:{success:!1,error:{type:i.DecryptErrTypes.format,message:"Badly formatted public key"},longids:{message:[],matching:[],chosen:[],needPassphrase:[]}}})}else(0,n.isContentBlock)(e.type)||a.Mime.isPlainImgAtt(e)?w.push(e):b.push(e);const{contentBlock:E,text:k}=(0,n.fmtContentBlock)(w);b.unshift(E);const I=c.Buf.fromUtfStr(b.map(e=>JSON.stringify(e,(e,t)=>"content"===e&&t.length>1e5?"":t)).join("\n")),B={text:k,replyType:v};return y&&Object.assign(B,{subject:y}),(0,n.fmtRes)(B,I)};parseAttachmentType=async e=>{const{atts:t}=d.ValidateInput.parseAttachmentType(e),r=t.map(e=>{const t=new o.Att(e);return{id:t.id,treatAs:t.treatAs([t])}});return(0,n.fmtRes)({atts:r})};decryptFile=async(e,t,r)=>{const{keys:s,msgPwd:a}=d.ValidateInput.decryptFile(e),o=await i.PgpMsg.decrypt({kisWithPp:s,encryptedData:c.Buf.concat(t),msgPwd:a,verificationPubkeys:r});return o.success?(0,n.fmtRes)({decryptSuccess:{name:o.filename||""}},o.content):(delete o.message,delete o.content,(0,n.fmtRes)({decryptErr:o}))};zxcvbnStrengthBar=async e=>{const t=d.ValidateInput.zxcvbnStrengthBar(e);if("passphrase"===t.purpose){if("number"==typeof t.guesses)return(0,n.fmtRes)(u.PgpPwd.estimateStrength(t.guesses));if("string"==typeof t.value){if("function"!=typeof window.zxcvbn)throw new Error("window.zxcvbn missing in js");const e=window.zxcvbn(t.value,u.PgpPwd.weakWords()).guesses;return(0,n.fmtRes)(u.PgpPwd.estimateStrength(e))}throw new Error("Unexpected format: guesses is not a number, value is not a string")}throw new Error(`Unknown purpose: ${t.purpose}`)};parseKeys=async(e,t)=>{const r=[],a=c.Buf.concat(t),o=await i.PgpMsg.type({data:a});if(!o)return(0,n.fmtRes)({format:"unknown",keyDetails:r});if(o.armored){const{blocks:e}=l.MsgBlockParser.detectBlocks(a.toString());for(const t of e){const{keys:e}=await s.PgpKey.parse(t.content.toString());r.push(...e)}for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"armored",keyDetails:r})}const u=await(0,g.readKeys)({binaryKeys:a});for(const e of u)r.push(await s.PgpKey.details(e));for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"binary",keyDetails:r})};isEmailValid=async e=>{const{email:t}=d.ValidateInput.isEmailValid(e);return(0,n.fmtRes)({valid:f.Str.isEmailValid(t)})};decryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrases:r}=d.ValidateInput.decryptKey(e);if(1!==r.length)throw new Error(`decryptKey: Can only accept exactly 1 pass phrase for decrypt, received: ${r.length}`);const i=await(0,d.readArmoredKeyOrThrow)(t);return await s.PgpKey.decrypt(i,r[0])?(0,n.fmtRes)({decryptedKey:i.armor()}):(0,n.fmtRes)({decryptedKey:void 0})};encryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrase:r}=d.ValidateInput.encryptKey(e),i=await(0,d.readArmoredKeyOrThrow)(t);if(!r||r.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const s=await(0,g.encryptKey)({privateKey:i,passphrase:r});return(0,n.fmtRes)({encryptedKey:s.armor()})};verifyKey=async e=>{const{armored:t}=d.ValidateInput.verifyKey(e),r=await(0,g.readKey)({armoredKey:t});return await r.verifyPrimaryKey(),(0,n.fmtRes)({})};keyCacheWipe=async()=>(h.Store.keyCacheWipe(),(0,n.fmtRes)({}))},t.G=async e=>{if(!e.signingPrv)return;const t=await(0,d.readArmoredKeyOrThrow)(e.signingPrv.private);if(await s.PgpKey.decrypt(t,e.signingPrv.passphrase||""))return t;throw new Error("Fail to decrypt signing key")}},1592(e,t,r){"use strict";t.removeUndefinedValues=t.fmtErr=t.fmtRes=t.fmtContentBlock=t.l=t.isContentBlock=void 0;const n=r(2633),i=r(4010),s=r(6471),a=r(6622);t.isContentBlock=e=>"plainText"===e||"decryptedText"===e||"plainHtml"===e||"decryptedHtml"===e||"signedMsg"===e||"verifiedMsg"===e;const o=(e,t)=>{let r;return r="green"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #31A217;border-right: none;' +\n 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAh1BMVEXw8PD////w8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD7MuHIAAAALXRSTlMAAAECBAcICw4QEhUZIyYqMTtGTV5kdn2Ii5mfoKOqrbG0uL6/xcnM0NTX2t1l7cN4AAAB0UlEQVR4Ae3Y3Y4SQRCG4bdHweFHRBTBH1FRFLXv//qsA8kmvbMdXhh2Q0KfknpSCQc130c67s22+e9+v/+d84fxkSPH0m/+5P9vN7vRV0vPfx7or1NB23e99KAHuoXOOc6moQsBwNN1Q9g4Wdh1uq3MA7Qn0+2ylAt7WbWpyT+Wo8roKH6v2QhZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2gjZ2AUNOLmwgQdogEJ2dnF3UJdU3WjqO/u96aYtVd/7jqvIyu76G5se6GaY7tNNcy5d7se7eWVnDz87fMkuVuS8epF6f9NPObPY5re9y4N1/vya9Gr3se2bfvl9M0mkyZdv077p+a/3z4Meby5Br4NWiV51BaiUqfLro9I3WiR61RVcffwfXI7u5zZ20EOA82Uu8x3SlrSwXQuBSvSqK0AletUVoBK96gpIwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWckIletUVIJJxITN6wtZd2EI+0NquyIJOnUpFVvRpcwmV6FVXgEr0qitAJXrVFaASveoKUIledQWoRK+6AlSiV13BP+/VVbky7Xq1AAAAAElFTkSuQmCC);":"red"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #d14836;border-right: none;":"plain"===t?"border: none;":"border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;",`
${a.Xss.htmlSanitizeKeepBasicTags(e)}
\x3c!-- next MsgBlock --\x3e\n`};t.l=e=>(e=(e=(e=e.replace(/<\/?html[^>]*>/g,"")).replace(/]*>.*<\/head>/g,"")).replace(/<\/?body[^>]*>/g,"")).trim();const c=(e,t)=>e.replace(/src="cid:([^"]+)"/g,(e,r)=>{const n=t[r];if(n){const e=`src="data:${n.attMeta?.type};base64,${n.attMeta?.data}"`;return delete t[r],e}return e});t.fmtContentBlock=e=>{const r=[],l=[],u=e.filter(e=>!i.Mime.isPlainImgAtt(e)),h=[],f={};for(const t of e.filter(e=>i.Mime.isPlainImgAtt(e)))t.attMeta?.cid?f[t.attMeta.cid.replace(/>$/,"").replace(/^0&&p!==u.length&&(A.partial=!0));for(const e of h.concat(Object.values(f))){const t=`${e.attMeta?.name||"(unnamed image)"} - ${e.attMeta?.length??0}kb`,n=`${a.Xss.escape(t)} `;r.push(o(n,"plain")),l.push(`[image: ${t}]\n`)}const g=n.MsgBlock.fromContent("plainHtml",`\n \n \n \n \n \n ${r.join("")}\n `);return g.verifyRes=A,{contentBlock:g,text:l.join("").trim()}},t.fmtRes=(e,t)=>({json:e,data:t||new Uint8Array(0)}),t.fmtErr=e=>(0,t.fmtRes)({error:{message:String(e),stack:e&&"object"==typeof e&&e.stack||""}}),t.removeUndefinedValues=e=>{for(const t in e)void 0===e[t]&&delete e[t]}},6364(e,t,r){"use strict";t.readArmoredKeyOrThrow=t.ValidateInput=void 0;const n=r(6382);t.ValidateInput=class{static setClientConfiguration=e=>{if(i(e)&&s(e,"shouldHideArmorMeta","boolean?"))return e;throw new Error("Wrong request structure for NodeRequest.setClientConfiguration")};static generateKey=e=>{if(i(e)&&s(e,"userIds","Userid[]")&&e.userIds.length&&s(e,"passphrase","string")&&["rsa2048","rsa4096","curve25519"].includes(e.variant))return e;throw new Error("Wrong request structure for NodeRequest.generateKey")};static encryptMsg=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.encryptMsg")};static composeEmail=e=>{if(!(i(e)&&s(e,"text","string")&&s(e,"html","string?")&&s(e,"from","string")&&s(e,"subject","string")&&s(e,"to","string[]")&&s(e,"cc","string[]")&&s(e,"bcc","string[]")))throw new Error("Wrong request structure for NodeRequest.composeEmail, need: text,from,subject,to,cc,bcc,atts (can use empty arr for cc/bcc, and can skip atts)");if(!s(e,"atts","ComposeAttachment[]?"))throw new Error("Wrong atts structure for NodeRequest.composeEmail, need: {name, type, base64}");if(s(e,"pubKeys","string[]")&&s(e,"signingPrv","PrvKeyInfo?")&&e.pubKeys.length&&("encryptInline"===e.format||"encryptPgpmime"===e.format))return e;if(!e.pubKeys&&"plain"===e.format)return e;throw new Error("Wrong choice of pubKeys and format. Either pubKeys:[..]+format:encryptInline OR format:plain allowed")};static parseDecryptMsg=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?")&&s(e,"isMime","boolean?")&&s(e,"verificationPubkeys","string[]?"))return e;throw new Error("Wrong request structure for NodeRequest.parseDecryptMsg")};static sanitizeHtml=e=>{if(i(e)&&s(e,"html","string"))return e;throw new Error("Wrong request structure for NodeRequest.sanitizeHtml")};static encryptFile=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"name","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptFile")};static parseAttachmentType=e=>{if(i(e)&&s(e,"atts","Attachment[]"))return e;throw new Error("Wrong request structure for NodeRequest.parseAttachmentType")};static decryptFile=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.decryptFile")};static zxcvbnStrengthBar=e=>{if(i(e)&&s(e,"guesses","number")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;if(i(e)&&s(e,"value","string")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;throw new Error("Wrong request structure for NodeRequest.zxcvbnStrengthBar")};static isEmailValid=e=>{if(i(e)&&s(e,"email","string"))return e;throw new Error("Wrong request structure for NodeRequest.isEmailValid")};static decryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrases","string[]"))return e;throw new Error("Wrong request structure for NodeRequest.decryptKey")};static encryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrase","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptKey")};static verifyKey=e=>{if(i(e)&&s(e,"armored","string"))return e;throw new Error("Wrong request structure for NodeRequest.verifyKey")}};const i=e=>!!e&&"object"==typeof e,s=(e,t,r)=>{if(!i(e))return!1;const n=e[t];return"number"===r||"string"===r?typeof n===r:"boolean?"===r?"boolean"==typeof n||void 0===n:"string?"===r?null===n?(e[t]=void 0,!0):"string"==typeof n||void 0===n:"ComposeAttachment[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"type","string")&&s(e,"base64","string")).length===n.length:"Attachment[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"id","string")&&s(e,"msgId","string")&&s(e,"name","string")&&s(e,"type","string?")).length===n.length:"string[]"===r?Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"string[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"PrvKeyInfo?"===r?null===n?(e[t]=void 0,!0):void 0===n||s(n,"private","string")&&s(n,"longid","string")&&s(n,"passphrase","string?"):"PrvKeyInfo[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"private","string")&&s(e,"longid","string")&&s(e,"passphrase","string?")).length===n.length:"Userid[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"email","string")).length===n.length:"object"===r&&i(n)};t.readArmoredKeyOrThrow=async e=>{const t=await(0,n.readKey)({armoredKey:e});if(!t)throw new Error("No key found");return t}},7659(e,t){"use strict";t.Catch=void 0,t.Catch=class{static reportErr=e=>{console.error(e)};static report=(e,t)=>{console.error(e,t)};static undefinedOnException=async e=>{try{return await e}catch(e){return}}}},3955(e,t,r){"use strict";t.requireIso88592=t.requireMimeBuilder=t.requireMimeParser=t.requireStreamReadToEnd=void 0,t.requireStreamReadToEnd=async()=>"not node"===(globalThis.process?.release?.name||"not node")?(await Promise.resolve().then(()=>r(9275))).readToEnd:r(1558).readToEnd,t.requireMimeParser=()=>r.g["emailjs-mime-parser"],t.requireMimeBuilder=()=>r.g["emailjs-mime-builder"],t.requireIso88592=()=>r.g.iso88592},3313(e,t,r){"use strict";t.Store=void 0;const n=r(178);let i,s={};class a{static decryptedKeyCacheSet=e=>{a.keyCacheRenewExpiry(),s[(e=>(0,n.strToHex)(e.getKeyID().bytes).toUpperCase())(e)]=e};static decryptedKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static armoredKeyCacheSet=(e,t)=>{a.keyCacheRenewExpiry(),s[e]=t};static armoredKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static keyCacheWipe=()=>{s={}};static keyCacheRenewExpiry=()=>{i&&clearTimeout(i),i=setTimeout(a.keyCacheWipe,12e4)}}t.Store=a},178(e,t,r){"use strict";var n=r(8969);t.getKeyExpirationTimeForCapabilities=t.strToHex=t.iso2022jpToUtf=t.base64decode=t.base64encode=void 0;const i=r(8287);t.base64encode=e=>i.Buffer.from(e,"binary").toString("base64"),t.base64decode=e=>i.Buffer.from(e,"base64").toString("binary"),t.iso2022jpToUtf=e=>n.convert(e,{to:"UTF8",from:"JIS",type:"string"}),t.strToHex=e=>{if(null===e)return"";const t=[],r=e.length;let n,i=0;for(;i{let t=null;for(const r of e)(null===t||null!==r&&r>t)&&(t=r);return t},a=e=>{const t=s(e.bindingSignatures.map(e=>e.created));return e.bindingSignatures.filter(e=>e.created===t)[0].getExpirationTime()};t.getKeyExpirationTimeForCapabilities=async(e,t,r,n)=>{const i=await e.getPrimaryUser(void 0,n,void 0);if(!i)throw new Error("Could not find primary user");const o=await e.getExpirationTime(n);if(!o)return null;const c=s(i.user.selfCertifications.map(e=>e.created)),l=i.user.selfCertifications.filter(e=>e.created===c)[0].getExpirationTime();let u=o{})||await e.getEncryptionKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{})||await e.getSigningKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{const t=`IMG_ICON_${i.Str.sloppyRandom()}`;let r=!1,a=n(e,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,n)=>{const i=(n.src||"").substring(0,10);return i.startsWith("data:")?{tagName:"img",attribs:{src:n.src,alt:n.alt||""}}:i.startsWith("http://")||i.startsWith("https://")?(r=!0,{tagName:"a",attribs:{href:String(n.src),target:"_blank"},text:t}):{tagName:"img",attribs:{alt:n.alt,title:n.title},text:"[img]"}},"*":(e,t)=>(t.width&&"1"!==t.width&&"img"!==e&&delete t.width,t.height&&"1"!==t.height&&"img"!==e&&delete t.width,{tagName:e,attribs:t})},exclusiveFilter:({tag:e,attribs:t})=>"1"===t.width||"1"===t.height&&"hr"!==e});return r&&(a=`[remote content blocked for your privacy]

${a}`,a=n(a,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,allowedStyles:s.ALLOWED_STYLES})),a=a.replace(new RegExp(t,"g"),'[img]'),a};static htmlSanitizeAndStripAllTags=(e,t)=>{let r=s.htmlSanitizeKeepBasicTags(e);const a=i.Str.sloppyRandom(5),o=`CU_BR_${a}`,c=`CU_BS_${a}`,l=`CU_BE_${a}`;r=r.replace(/]*>/gi,o),r=r.replace(/\n/g,""),r=r.replace(/<\/(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,l),r=r.replace(/<(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,c),r=r.replace(RegExp(`(${c})+`,"g"),c).replace(RegExp(`(${l})+`,"g"),l),r=r.split(o+l+c).join(o).split(l+c).join(o).split(o+l).join(o);let u=r.split(o).join("\n").split(c).filter(e=>!!e).join("\n").split(l).filter(e=>!!e).join("\n");return u=u.replace(/\n{2,}/g,"\n\n"),u=n(u,{allowedTags:["img","span"],allowedAttributes:{img:["src"]},allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,t)=>({tagName:"span",attribs:{},text:`[image: ${t.alt||t.title||"no name"}]`})}}),u=n(u,{allowedTags:[]}),u=u.trim(),"\n"!==t&&(u=u.replace(/\n/g,t)),u};static escape=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/");static escapeTextAsRenderableHtml=e=>s.escape(e).replace(/\n/g,"
\n").replace(/^ +/gm,e=>e.replace(/ /g," ")).replace(/^\t+/gm,e=>e.replace(/\t/g," ")).replace(/\n/g,"");static htmlUnescape=e=>e.replace(///g,"/").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ").replace(/&/g,"&")}t.Xss=s},7526(e,t){"use strict";t.toByteArray=function(e){var t,r,s=function(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}(e),a=s[0],o=s[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),l=0,u=o>0?a-4:a;for(r=0;r>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===o&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===o&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],a=16383,o=0,l=n-i;ol?l:o+a));return 1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),s.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=s[a],n[s.charCodeAt(a)]=a;function o(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function c(e,t,r){for(var n,i=[],s=t;sa)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|p(e,t);let n=o(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(_(e,Uint8Array)){const t=new Uint8Array(e);return A(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(_(e,ArrayBuffer)||e&&_(e.buffer,ArrayBuffer))return A(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(_(e,SharedArrayBuffer)||e&&_(e.buffer,SharedArrayBuffer)))return A(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|d(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||V(e.length)?o(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),o(e<0?0:0|d(e))}function f(e){const t=e.length<0?0:0|d(e.length),r=o(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||_(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Z(e).length;default:if(i)return n?-1:J(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return K(this,t,r);case"utf8":case"utf-8":return C(this,t,r);case"ascii":return D(this,t,r);case"latin1":case"binary":return x(this,t,r);case"base64":return B(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:w(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):w(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function w(e,t,r,n,i){let s,a=1,o=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,c/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(s=r;so&&(r=o-c),s=r;s>=0;s--){let r=!0;for(let n=0;ni&&(n=i):n=i;const s=t.length;let a;for(n>s/2&&(n=s/2),a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function B(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function C(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,o,c;switch(a){case 1:t<128&&(s=t);break;case 2:r=e[i+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(s=c));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(s=c));break;case 4:r=e[i+1],n=e[i+2],o=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&o)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&o,c>65535&&c<1114112&&(s=c))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return function(e){const t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(_(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let s=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const o=Math.min(s,a),l=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":case"latin1":case"binary":return E(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function D(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,r,n,i,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function F(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function M(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r+7]=s,s>>=8,e[r+6]=s,s>>=8,e[r+5]=s,s>>=8,e[r+4]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function R(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Q(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function N(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e],i=1,s=0;for(;++s>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=X(function(e){W(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e],i=1,s=0;for(;++s=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);let n=t,i=1,s=this[e+--n];for(;n>0&&(i*=256);)s+=this[e+--n]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=X(function(e){W(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=X(function(e,t=0){return F(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=X(function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=0,s=1,a=0;for(this[t]=255&e;++i>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=r-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s|0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=X(function(e,t=0){return F(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=X(function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeFloatLE=function(e,t,r){return Q(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return Q(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return N(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return N(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function H(e,t,r,n,i,s){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(s+1)}${n}`:`>= -(2${n} ** ${8*(s+1)-1}${n}) and < 2 ** ${8*(s+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new O.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){W(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||Y(t,e.length-(r+1))}(n,i,s)}function W(e,t){if("number"!=typeof e)throw new O.ERR_INVALID_ARG_TYPE(t,"number",e)}function Y(e,t,r){if(Math.floor(e)!==e)throw W(e,r),new O.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new O.ERR_BUFFER_OUT_OF_BOUNDS;throw new O.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}L("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),L("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),L("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=G(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=G(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);const j=/[^+/0-9A-Za-z-_]/g;function J(e,t){let r;t=t||1/0;const n=e.length;let i=null;const s=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function Z(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function _(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}const z=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function X(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},4353(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",i="minute",s="hour",a="day",o="week",c="month",l="quarter",u="year",h="date",f="Invalid Date",A=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},y={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),i=r%60;return(t<=0?"+":"-")+g(n,2,"0")+":"+g(i,2,"0")},m:function e(t,r){if(t.date()1)return e(a[0])}else{var o=t.name;w[o]=t,i=o}return!n&&i&&(m=i),i||!n&&m},k=function(e,t){if(v(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new B(r)},I=y;I.l=E,I.i=v,I.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var B=function(){function p(e){this.$L=E(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[b]=!0}var g=p.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(I.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(A);if(n){var i=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return I},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(e,t){var r=k(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return k(e)");case o.Comment:return"\x3c!--".concat(e.data,"--\x3e");case o.CDATA:return function(e){return"")}(e);case o.Script:case o.Style:case o.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=l.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&p.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<".concat(e.name),s=function(e,t){var r;if(e){var n=!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)?h:t.xmlMode||"utf8"!==t.encodeEntities?c.encodeXML:c.escapeAttribute;return Object.keys(e).map(function(r){var i,s,a=null!==(i=e[r])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(r=null!==(s=l.attributeNames.get(r))&&void 0!==s?s:r),t.emptyAttrs||t.xmlMode||""!==a?"".concat(r,'="').concat(n(a),'"'):r}).join(" ")}}(e.attribs,t);return s&&(i+=" ".concat(s)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&f.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=A(e.children,t)),!t.xmlMode&&f.has(e.name)||(i+=""))),i}(e,t);case o.Text:return function(e,t){var r,n=e.data||"";return!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)||!t.xmlMode&&e.parent&&u.has(e.parent.name)||(n=t.xmlMode||"utf8"!==t.encodeEntities?(0,c.encodeXML)(n):(0,c.escapeText)(n)),n}(e,t)}}t.render=A,t.default=A;var p=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},6243(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTMLAttribute=t.decodeHTML=t.determineBranch=t.EntityDecoder=t.DecodingMode=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var o=a(r(2834));t.htmlDecodeTree=o.default;var c=a(r(1518));t.xmlDecodeTree=c.default;var l=s(r(8873));t.decodeCodePoint=l.default;var u,h,f,A,d=r(8873);function p(e){return e>=u.ZERO&&e<=u.NINE}function g(e){return e>=u.UPPER_A&&e<=u.UPPER_F||e>=u.LOWER_A&&e<=u.LOWER_F}function y(e){return e===u.EQUALS||function(e){return e>=u.UPPER_A&&e<=u.UPPER_Z||e>=u.LOWER_A&&e<=u.LOWER_Z||p(e)}(e)}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return d.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return d.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(u||(u={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(h=t.BinTrieFlags||(t.BinTrieFlags={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(f||(f={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(A=t.DecodingMode||(t.DecodingMode={}));var m=function(){function e(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=f.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=A.Strict}return e.prototype.startEntity=function(e){this.decodeMode=e,this.state=f.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},e.prototype.write=function(e,t){switch(this.state){case f.EntityStart:return e.charCodeAt(t)===u.NUM?(this.state=f.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=f.NamedEntity,this.stateNamedEntity(e,t));case f.NumericStart:return this.stateNumericStart(e,t);case f.NumericDecimal:return this.stateNumericDecimal(e,t);case f.NumericHex:return this.stateNumericHex(e,t);case f.NamedEntity:return this.stateNamedEntity(e,t)}},e.prototype.stateNumericStart=function(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===u.LOWER_X?(this.state=f.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=f.NumericDecimal,this.stateNumericDecimal(e,t))},e.prototype.addToNumericResult=function(e,t,r,n){if(t!==r){var i=r-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}},e.prototype.stateNumericHex=function(e,t){for(var r=t;t>14;t>14)){if(s===u.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==A.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},e.prototype.emitNotTerminatedNamedEntity=function(){var e,t=this.result,r=(this.decodeTree[t]&h.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed},e.prototype.emitNamedEntityData=function(e,t,r){var n=this.decodeTree;return this.emitCodePoint(1===t?n[e]&~h.VALUE_LENGTH:n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r},e.prototype.end=function(){var e;switch(this.state){case f.NamedEntity:return 0===this.result||this.decodeMode===A.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case f.NumericDecimal:return this.emitNumericEntity(0,2);case f.NumericHex:return this.emitNumericEntity(0,3);case f.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case f.EntityStart:return 0}},e}();function w(e){var t="",r=new m(e,function(e){return t+=(0,l.fromCodePoint)(e)});return function(e,n){for(var i=0,s=0;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);var a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}var o=t+e.slice(i);return t="",o}}function b(e,t,r,n){var i=(t&h.BRANCH_LENGTH)>>7,s=t&h.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){var a=n-s;return a<0||a>=i?-1:e[r+a]-1}for(var o=r,c=o+i-1;o<=c;){var l=o+c>>>1,u=e[l];if(un))return e[l+i];c=l-1}}return-1}t.EntityDecoder=m,t.determineBranch=b;var v=w(o.default),E=w(c.default);t.decodeHTML=function(e,t){return void 0===t&&(t=A.Legacy),v(e,t)},t.decodeHTMLAttribute=function(e){return v(e,A.Attribute)},t.decodeHTMLStrict=function(e){return v(e,A.Strict)},t.decodeXML=function(e){return E(e,A.Strict)}},8873(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}},6095(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var i=n(r(7195)),s=r(3590),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function o(e,t){for(var r,n="",a=0;null!==(r=e.exec(t));){var o=r.index;n+=t.substring(a,o);var c=t.charCodeAt(o),l=i.default.get(c);if("object"==typeof l){if(o+1$\x80-\uFFFF]/g;var r=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function n(e){for(var n,i="",s=0;null!==(n=t.xmlReplacer.exec(e));){var a=n.index,o=e.charCodeAt(a),c=r.get(o);void 0!==c?(i+=e.substring(s,a)+c,s=a+1):(i+="".concat(e.substring(s,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),s=t.xmlReplacer.lastIndex+=Number(55296==(64512&o)))}return i+e.substr(s)}function i(e,t){return function(r){for(var n,i=0,s="";n=e.exec(r);)i!==n.index&&(s+=r.substring(i,n.index)),s+=t.get(n[0].charCodeAt(0)),i=n.index+1;return s+r.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=n,t.escape=n,t.escapeUTF8=i(/[&<>'"]/g,r),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},2834(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(function(e){return e.charCodeAt(0)}))},1518(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function(e){return e.charCodeAt(0)}))},7195(e,t){"use strict";function r(e){for(var t=1;t0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(o);t.NodeWithChildren=f;var A=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(f);t.CDATA=A;var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(f);t.Document=d;var p=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var s=e.call(this,n)||this;return s.name=t,s.attribs=r,s.type=i,s}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map(function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}})},enumerable:!1,configurable:!0}),t}(f);function g(e){return(0,a.isTag)(e)}function y(e){return e.type===a.ElementType.CDATA}function m(e){return e.type===a.ElementType.Text}function w(e){return e.type===a.ElementType.Comment}function b(e){return e.type===a.ElementType.Directive}function v(e){return e.type===a.ElementType.Root}function E(e,t){var r;if(void 0===t&&(t=!1),m(e))r=new l(e.data);else if(w(e))r=new u(e.data);else if(g(e)){var n=t?k(e.children):[],i=new p(e.name,s({},e.attribs),n);n.forEach(function(e){return e.parent=i}),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=s({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=s({},e["x-attribsPrefix"])),r=i}else if(y(e)){n=t?k(e.children):[];var a=new A(n);n.forEach(function(e){return e.parent=a}),r=a}else if(v(e)){n=t?k(e.children):[];var o=new d(n);n.forEach(function(e){return e.parent=o}),e["x-mode"]&&(o["x-mode"]=e["x-mode"]),r=o}else{if(!b(e))throw new Error("Not implemented yet: ".concat(e.type));var c=new h(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function k(e){for(var t=e.map(function(e){return E(e,!0)}),r=1;r=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=s,t.uniqueSort=function(e){return(e=e.filter(function(e,t,r){return!r.includes(e,t+1)})).sort(function(e,t){var r=s(e,t);return r&n.PRECEDING?-1:r&n.FOLLOWING?1:0}),e};var n,i=r(1141);function s(e,t){var r=[],s=[];if(e===t)return 0;for(var a=(0,i.hasChildren)(e)?e:e.parent;a;)r.unshift(a),a=a.parent;for(a=(0,i.hasChildren)(t)?t:t.parent;a;)s.unshift(a),a=a.parent;for(var o=Math.min(r.length,s.length),c=0;cu.indexOf(f)?l===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:l===e?n.PRECEDING|n.CONTAINS:n.PRECEDING}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(n||(t.DocumentPosition=n={}))},8888(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(6037),t),i(r(8938),t),i(r(3403),t),i(r(718),t),i(r(3209),t),i(r(5397),t),i(r(4437),t);var s=r(1141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return s.hasChildren}})},3209(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var s=c(e);return s?(0,i.filter)(s,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_name(e),t,r,n)},t.getElementsByClassName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(a("class",e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_type(e),t,r,n)};var n=r(1141),i=r(718),s={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map(function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(s,t)?s[t](r):a(t,r)});return 0===t.length?null:t.reduce(o)}},3403(e,t){"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}Object.defineProperty(t,"__esModule",{value:!0}),t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var s=i.children;s[s.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var s=n.children;s.splice(s.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},718(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),i(e,Array.isArray(t)?t:[t],r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var s=Array.isArray(r)?r:[r],a=0;a0){var c=e(t,o.children,!0);if(c)return c}}return null},t.existsOne=function e(t,r){return(Array.isArray(r)?r:[r]).some(function(r){return(0,n.isTag)(r)&&t(r)||(0,n.hasChildren)(r)&&e(t,r.children)})},t.findAll=function(e,t){for(var r=[],i=[Array.isArray(t)?t:[t]],s=[0];;)if(s[0]>=i[0].length){if(1===i.length)return r;i.shift(),s.shift()}else{var a=i[0][s[0]++];(0,n.isTag)(a)&&e(a)&&r.push(a),(0,n.hasChildren)(a)&&a.children.length>0&&(s.unshift(0),i.unshift(a.children))}};var n=r(1141);function i(e,t,r,i){for(var s=[],a=[Array.isArray(t)?t:[t]],o=[0];;)if(o[0]>=a[0].length){if(1===o.length)return s;a.shift(),o.shift()}else{var c=a[0][o[0]++];if(e(c)&&(s.push(c),--i<=0))return s;r&&(0,n.hasChildren)(c)&&c.children.length>0&&(o.unshift(0),a.unshift(c.children))}}},6037(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getOuterHTML=o,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map(function(e){return o(e,t)}).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""};var i=r(1141),s=n(r(3806)),a=r(5413);function o(e,t){return(0,s.default)(e,t)}},8938(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getChildren=i,t.getParent=s,t.getSiblings=function(e){var t=s(e);if(null!=t)return i(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t};var n=r(1141);function i(e){return(0,n.hasChildren)(e)?e.children:[]}function s(e){return e.parent||null}},1371(e,t,r){var n=r(321),i=r(2801);t.FALLBACK_CHARACTER=63;var s=t.HAS_TYPED="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array,a=!1,o=!1;try{"a"===String.fromCharCode.apply(null,[97])&&(a=!0)}catch(e){}if(s)try{"a"===String.fromCharCode.apply(null,new Uint8Array([97]))&&(o=!0)}catch(e){}t.CAN_CHARCODE_APPLY=a,t.CAN_CHARCODE_APPLY_TYPED=o,t.APPLY_BUFFER_SIZE=65533,t.APPLY_BUFFER_SIZE_OK=null;var c=t.EncodingNames={UTF32:{order:0},UTF32BE:{alias:["UCS4"]},UTF32LE:null,UTF16:{order:1},UTF16BE:{alias:["UCS2"]},UTF16LE:null,BINARY:{order:2},ASCII:{order:3,alias:["ISO646","CP367"]},JIS:{order:4,alias:["ISO2022JP"]},UTF8:{order:5},EUCJP:{order:6},SJIS:{order:7,alias:["CP932","MSKANJI","WINDOWS31J"]},UNICODE:{order:8}},l={};t.EncodingAliases=l,t.EncodingOrders=function(){for(var e,t,r,i,s=l,a=n.objectKeys(c),o=[],u=0,h=a.length;u95&&(i.JIS_TO_UTF8_TABLE[t]=0|e);for(i.JISX0212_TO_UTF8_TABLE={},a=(r=n.objectKeys(i.UTF8_TO_JISX0212_TABLE)).length,s=0;s=161&&t<=223?(s=188|(i=t-64)>>6&3,o=128|63&i,u[u.length]=239,u[u.length]=255&s,u[u.length]=255&o):t>=128?(r=t<<1,(i=e[++h])<159?(r-=r<319?225:97,i-=i>126?32:31):(r-=r<319?224:96,i-=126),c=((r&=255)<<8)+i,void 0===(l=a.JIS_TO_UTF8_TABLE[c])?u[u.length]=n.FALLBACK_CHARACTER:l<65535?(u[u.length]=l>>8&255,u[u.length]=255&l):(u[u.length]=l>>16&255,u[u.length]=l>>8&255,u[u.length]=255&l)):u[u.length]=255&e[h];return u}function c(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c,l=[],u=0,h=e&&e.length;u>6&3,s=128|63&r,l[l.length]=239,l[l.length]=255&i,l[l.length]=255&s):143===t?(o=(e[++u]-128<<8)+(e[++u]-128),void 0===(c=a.JISX0212_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):t>=128?(o=(t-128<<8)+(e[++u]-128),void 0===(c=a.JIS_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):l[l.length]=255&e[u];return l}function l(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c=[],l=0,u=0,h=e&&e.length;u>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):2===l?(r=188|(t=e[u]+64)>>6&3,i=128|63&t,c[c.length]=239,c[c.length]=255&r,c[c.length]=255&i):3===l?(s=(e[u]<<8)+e[++u],void 0===(o=a.JISX0212_TO_UTF8_TABLE[s])?c[c.length]=n.FALLBACK_CHARACTER:o<65535?(c[c.length]=o>>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):c[c.length]=255&e[u]}return c}function u(e,t){for(var r,i,s,o,c,l,u=[],h=0,f=e&&e.length,A=t&&t.fallback;h=128?(r<=223?(o=[r,e[h+1]],c=(r<<8)+e[++h]):r<=239?(o=[r,e[h+1],e[h+2]],c=(r<<16)+(e[++h]<<8)+(255&e[++h])):(o=[r,e[h+1],e[h+2],e[h+3]],c=(r<<24)+(e[++h]<<16)+(e[++h]<<8)+(255&e[++h])),null==(l=a.UTF8_TO_JIS_TABLE[c])?A?D(u,o,A):u[u.length]=n.FALLBACK_CHARACTER:l<255?u[u.length]=l+128:(l>65536&&(l-=65536),s=255&l,1&(i=l>>8)?((i>>=1)<47?i+=113:i-=79,s+=s>95?32:31):((i>>=1)<=47?i+=112:i-=80,s+=126),u[u.length]=255&i,u[u.length]=255&s)):u[u.length]=255&e[h];return u}function h(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=t&&t.fallback;l=128?(r<=223?(i=[r,e[l+1]],s=(r<<8)+e[++l]):r<=239?(i=[r,e[l+1],e[l+2]],s=(r<<16)+(e[++l]<<8)+(255&e[++l])):(i=[r,e[l+1],e[l+2],e[l+3]],s=(r<<24)+(e[++l]<<16)+(e[++l]<<8)+(255&e[++l])),null==(o=a.UTF8_TO_JIS_TABLE[s])?null==(o=a.UTF8_TO_JISX0212_TABLE[s])?h?D(c,i,h):c[c.length]=n.FALLBACK_CHARACTER:(c[c.length]=143,c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255):(o>65536&&(o-=65536),o<255?(c[c.length]=142,c[c.length]=o-128&255):(c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255))):c[c.length]=255&e[l];return c}function f(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=0,f=t&&t.fallback,A=[27,40,66,27,36,66,27,40,73,27,36,40,68];h>8&255,c[c.length]=255&o):(o>65536&&(o-=65536),o<255?(2!==l&&(l=2,c[c.length]=A[6],c[c.length]=A[7],c[c.length]=A[8]),c[c.length]=255&o):(1!==l&&(l=1,c[c.length]=A[3],c[c.length]=A[4],c[c.length]=A[5]),c[c.length]=o>>8&255,c[c.length]=255&o)));return 0!==l&&(c[c.length]=A[0],c[c.length]=A[1],c[c.length]=A[2]),c}function A(e){for(var t,r,n=[],i=0,s=e&&e.length;i=55296&&t<=56319&&i+1=56320&&r<=57343&&(t=1024*(t-55296)+r-56320+65536,i++),t<128?n[n.length]=t:t<2048?(n[n.length]=192|t>>6&31,n[n.length]=128|63&t):t<65536?(n[n.length]=224|t>>12&15,n[n.length]=128|t>>6&63,n[n.length]=128|63&t):t<2097152&&(n[n.length]=240|t>>18&15,n[n.length]=128|t>>12&63,n[n.length]=128|t>>6&63,n[n.length]=128|63&t);return n}function d(e,t){for(var r,n,i,s=[],a=0,o=e&&e.length,c=t&&t.ignoreSurrogatePair;a>4)>=0&&r<=7?i=n:12===r||13===r?i=(31&n)<<6|63&e[a++]:14===r?i=(15&n)<<12|(63&e[a++])<<6|63&e[a++]:15===r&&(i=(7&n)<<18|(63&e[a++])<<12|(63&e[a++])<<6|63&e[a++]),i<=65535||c?s[s.length]=i:(i-=65536,s[s.length]=55296+(i>>10),s[s.length]=i%1024+56320);return s}function p(e,t){var r;if(t&&t.bom){var n,s,a=t.bom;i.isString(a)||(a="BE"),"B"===a.charAt(0).toUpperCase()?(n=[254,255],s=g(e)):(n=[255,254],s=y(e)),(r=[])[0]=n[0],r[1]=n[1];for(var o=0,c=s.length;o>8&255,r[r.length]=255&t);return r}function y(e){for(var t,r=[],n=0,i=e&&e.length;n>8&255);return r}function m(e){var t,r,n=[],i=0,s=e&&e.length;for(s>=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i>=1)<47?t+=113:t-=79,r+=r>95?32:31):((t>>=1)<=47?t+=112:t-=80,r+=126),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=2===s?e[a]+128&255:3===s?n.FALLBACK_CHARACTER:255&e[a]}return i},t.JISToEUCJP=function(e){for(var t=[],r=0,n=e&&e.length,i=0;i=161&&t<=223?(2!==i&&(i=2,n[n.length]=o[6],n[n.length]=o[7],n[n.length]=o[8]),n[n.length]=t-128&255):t>=128?(1!==i&&(i=1,n[n.length]=o[3],n[n.length]=o[4],n[n.length]=o[5]),t<<=1,(r=e[++a])<159?(t-=t<319?225:97,r-=r>126?32:31):(t-=t<319?224:96,r-=126),n[n.length]=255&t,n[n.length]=255&r):(0!==i&&(i=0,n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n[n.length]=255&t);return 0!==i&&(n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n},t.SJISToEUCJP=function(e){for(var t,r,n=[],i=e&&e.length,s=0;s=161&&t<=223?(n[n.length]=142,n[n.length]=t):t>=129?(t<<=1,(r=e[++s])<159?(t-=t<319?97:225,r+=r>126?96:97):(t-=t<319?96:224,r+=2),n[n.length]=255&t,n[n.length]=255&r):n[n.length]=255&t;return n},t.EUCJPToJIS=function(e){for(var t,r=[],n=0,i=e&&e.length,s=0,a=[27,40,66,27,36,66,27,40,73,27,36,40,68];s142?(1!==n&&(n=1,r[r.length]=a[3],r[r.length]=a[4],r[r.length]=a[5]),r[r.length]=t-128&255,r[r.length]=e[++s]-128&255):(0!==n&&(n=0,r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r[r.length]=255&t);return 0!==n&&(r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r},t.EUCJPToSJIS=function(e){for(var t,r,i=[],s=e&&e.length,a=0;a142?(r=e[++a],1&t?(t>>=1,t+=t<111?49:113,r-=r>223?96:97):(t>>=1,t+=t<=111?48:112,r-=2),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=142===t?255&e[++a]:255&t;return i},t.SJISToUTF8=o,t.EUCJPToUTF8=c,t.JISToUTF8=l,t.UTF8ToSJIS=u,t.UTF8ToEUCJP=h,t.UTF8ToJIS=f,t.UNICODEToUTF8=A,t.UTF8ToUNICODE=d,t.UNICODEToUTF16=p,t.UNICODEToUTF16BE=g,t.UNICODEToUTF16LE=y,t.UTF16BEToUNICODE=m,t.UTF16LEToUNICODE=w,t.UTF16ToUNICODE=b,t.UTF16ToUTF16BE=function(e){for(var t,r,n=[],i=0,a=e&&e.length,o=!1,c=!0;i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u255)return!1;if(t>=0&&t<=7||255===t)return!0}return!1},t.isASCII=function(e){for(var t,r=0,n=e&&e.length;r255||t>=128&&t<=255||27===t)return!1;return!0},t.isJIS=function(e){for(var t,r,n,i=0,s=e&&e.length;i255||t>=128&&t<=255)return!1;if(27===t){if(i+2>=s)return!1;if(r=e[i+1],n=e[i+2],36===r){if(40===n||64===n||66===n)return!0}else{if(38===r&&64===n)return!0;if(40===r&&(66===n||73===n||74===n))return!0}}}return!1},t.isEUCJP=function(e){for(var t,r=0,n=e&&e.length;r255||t<142)return!1;if(142===t){if(r+1>=n)return!1;if((t=e[++r])<161||223=n)return!1;if((t=e[++r])<162||237=n)return!1;if((t=e[++r])<161||254128;)if(e[r++]>255)return!1;for(;r239||r+1>=n)return!1;if((t=e[++r])<64||127===t||t>252)return!1}return!0},t.isUTF8=function(e){for(var t,r=0,n=e&&e.length;r255)return!1;if(!(9===t||10===t||13===t||t>=32&&t<=126))if(t>=194&&t<=223){if(r+1>=n||e[r+1]<128||e[r+1]>191)return!1;r++}else if(224===t){if(r+2>=n||e[r+1]<160||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(t>=225&&t<=236||238===t||239===t){if(r+2>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(237===t){if(r+2>=n||e[r+1]<128||e[r+1]>159||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(240===t){if(r+3>=n||e[r+1]<144||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else if(t>=241&&t<=243){if(r+3>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else{if(244!==t)return!1;if(r+3>=n||e[r+1]<128||e[r+1]>143||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}}return!0},t.isUTF16=function(e){var t,r,n,i,s=0,a=e&&e.length,o=null;if(a<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;if(254===t&&255===r)return!0;for(;s255)return!1}if(null===o)return!1;if(void 0!==(n=e[o+1])&&n>0&&n<128)return!0;if(void 0!==(i=e[o-1])&&i>0&&i<128)return!0}return!1},t.isUTF16BE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],254===t&&255===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2==0)return!0}return!1},t.isUTF16LE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2!=0)return!0}return!1},t.isUTF32=function(e){var t,r,n,i,s,a,o=0,c=e&&e.length,l=null;if(c<4){for(;o255)return!1}else{if(t=e[0],r=e[1],n=e[2],i=e[3],0===t&&0===r&&254===n&&255===i)return!0;if(255===t&&254===r&&0===n&&0===i)return!0;for(;o255)return!1}if(null===l)return!1;if(void 0!==(s=e[l+3])&&s>0&&s<=127)return 0===e[l+2]&&0===e[l+1];if(void 0!==(a=e[l-1])&&a>0&&a<=127)return 0===e[l+1]&&0===e[l+2]}return!1},t.isUNICODE=function(e){for(var t,r=0,n=e&&e.length;r1114111)return!1;return!0}},2801(e,t,r){t.UTF8_TO_JIS_TABLE=r(4992),t.UTF8_TO_JISX0212_TABLE=r(909),t.JIS_TO_UTF8_TABLE=r(5748),t.JISX0212_TO_UTF8_TABLE=r(7921)},8969(e,t,r){var n=r(1371),i=r(321),s=r(1742),a=r(5210),o=r(3880),c=r(6171).rE,l=Object.prototype.hasOwnProperty,u={version:c,orders:n.EncodingOrders,detect:function(e,t){if(null==e||0===e.length)return!1;i.isObject(t)&&!i.isArray(t)&&(t=t.encoding),i.isString(e)&&(e=i.stringToBuffer(e)),null==t?t=u.orders:i.isString(t)&&(t="AUTO"===(t=t.toUpperCase())?u.orders:~t.indexOf(",")?t.split(/\s*,\s*/):[t]);for(var r,n,a,o=t.length,c=0;c255)return encodeURIComponent(i.codeToString_fast(e));t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||33===t||t>=39&&t<=42||45===t||46===t||95===t||126===t?n[n.length]=t:(n[n.length]=37,t<16?(n[n.length]=48,n[n.length]=r[t]):(n[n.length]=r[t>>4&15],n[n.length]=r[15&t]))}return i.codeToString_fast(n)},urlDecode:function(e){for(var t,r=[],n=0,i=e&&e.length;n=65281&&r<=65374&&(r-=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toZenkakuCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=33&&r<=126&&(r+=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toHiraganaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12449&&r<=12534?r-=96:12535===r?(n[n.length]=12431,r=12443):12538===r&&(n[n.length]=12434,r=12443),n[n.length]=r;return t?i.codeToString_fast(n):n},toKatakanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12353&&r<=12438&&((12431===r||12434===r)&&a=12289&&r<=12540&&void 0!==(s=o.HANKANA_TABLE[r])?a[a.length]=s:12532===r||12535===r||12538===r?(a[a.length]=o.HANKANA_SONANTS[r],a[a.length]=65438):r>=12459&&r<=12489?(a[a.length]=o.HANKANA_TABLE[r-1],a[a.length]=65438):r>=12495&&r<=12509?(n=r%3,a[a.length]=o.HANKANA_TABLE[r-n],a[a.length]=o.HANKANA_MARKS[n-1]):a[a.length]=r;return t?i.codeToString_fast(a):a},toZenkanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));var r,n,s,a=[],c=e&&e.length,l=0;for(l=0;l65376&&r<65440&&(n=o.ZENKANA_TABLE[r-65377],l+165397&&r<65413||r>65417&&r<65423)?(n++,l++):65439===s&&r>65417&&r<65423&&(n+=2,l++)),r=n),a[a.length]=r;return t?i.codeToString_fast(a):a},toHankakuSpace:function(e){if(i.isString(e))return e.replace(/\u3000/g," ");for(var t,r=[],n=e&&e.length,s=0;sn.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0),r}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}}return d(e)}function d(e){for(var t,r="",s=e&&e.length,a=0;an.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0);continue}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}return p(e)}r+=i.apply(null,t)}return r}function p(e){for(var t="",r=e&&e.length,n=0;n>2],t[t.length]=g[(3&i)<<4],t[t.length]=m,t[t.length]=m;break}if(s=e[r++],r==n){t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2],t[t.length]=m;break}a=e[r++],t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2|(192&a)>>6],t[t.length]=g[63&a]}return A(t)},t.base64decode=function(e){var t,r,n,i,s,a,o;for(a=e&&e.length,s=0,o=[];s>4;do{if(61==(n=255&e.charCodeAt(s++)))return o;n=y[n]}while(s>2;do{if(61==(i=255&e.charCodeAt(s++)))return o;i=y[i]}while(s>1,u=-7,h=r?i-1:0,f=r?-1:1,A=e[t+h];for(h+=f,s=A&(1<<-u)-1,A>>=-u,u+=o;u>0;s=256*s+e[t+h],h+=f,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=f,u-=8);if(0===s)s=1-l;else{if(s===c)return a?NaN:1/0*(A?-1:1);a+=Math.pow(2,n),s-=l}return(A?-1:1)*a*Math.pow(2,s-n)},t.write=function(e,t,r,n,i,s){var a,o,c,l=8*s-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,d=n?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(a++,c/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*c-1)*Math.pow(2,i),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+A]=255&o,A+=d,o/=256,i-=8);for(a=a<0;e[r+A]=255&a,A+=d,a/=256,l-=8);e[r+A-d]|=128*p}},8682(e,t){"use strict";function r(e){return"[object Object]"===Object.prototype.toString.call(e)}t.isPlainObject=function(e){var t,n;return!1!==r(e)&&(void 0===(t=e.constructor)||!1!==r(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}},3624(e,t,r){const n=r(4353);function i(e){for(e=e.replace(/[\x00-\x20]+/g,"");;){const t=e.indexOf("\x3c!--");if(-1===t)break;const r=e.indexOf("--\x3e",t+4);if(-1===r)break;e=e.substring(0,t)+e.substring(r+3)}return e}function s(e,t){const r=(t=t||{}).allowedSchemes||["http","https","ftp","mailto","tel","sms"],n=!1!==t.allowProtocolRelative;if("string"!=typeof e)return!1;const s=(e=i(e)).match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!s)return!!e.match(/^[/\\]{2}/)&&!n;const a=s[1].toLowerCase();return-1===r.indexOf(a)}e.exports=function(e){const t={};return t.options=e||{},t.filterTag=t.options.filterTag||function(e){return(e=e.trim()).toLowerCase()},t.string=function(e,t){return"string"!=typeof e&&("number"==typeof e||"boolean"==typeof e?e+="":e=""),e=e.trim(),void 0!==t&&""===e&&(e=t),e},t.strings=function(e){return Array.isArray(e)?e.map(function(e){return t.string(e)}):[]},t.integer=function(e,t,r,n){if(void 0===t&&(t=0),"number"==typeof e)e=Math.floor(e);else try{e=parseInt(e,10),isNaN(e)&&(e=t)}catch(r){e=t}return"number"==typeof r&&en&&(e=n),e},t.padInteger=function(e,t){let r=e+"";for(;r.lengthn&&(e=n),e},t.naughtyHref=s,t.url=function(e,r,n){return(e=t.string(e,r))===r?e:s(e=i(e))||null===(e=(a=e).match(/^(((https?|ftp):\/\/)|((mailto|tel|sms):)|#|([^/.]+)?\/|[^/.]+$)/)?a:a.match(/^[^/.]+\.[^/.]+/)?(n?"https://":"http://")+a:null)?r:e;var a},t.select=function(e,r,n){if(e=t.string(e),!r||!r.length)return n;let i;return"object"==typeof r[0]?(i=r.find(function(t){return null!==t.value&&void 0!==t.value&&t.value.toString()===e}),null!=i?i.value:n):(i=r.find(function(t){return null!=t&&t.toString()===e}),void 0!==i?i:n)},t.boolean=function(e,r){return!0===e||!1!==e&&((e=t.string(e,r))===r?void 0!==e&&e:""!==(e=e.toLowerCase().charAt(0))&&"n"!==e&&"0"!==e&&"f"!==e&&("t"===e||"y"===e||"1"===e))},t.addBooleanFilterToCriteria=function(e,r,n,i){void 0===i&&(i=null);let s="object"==typeof e&&null!==e?e[r]:e;s=void 0===s?i:s,s=t.booleanOrNull(s),null===s||(n[r]=!!s||{$ne:!0})},t.booleanOrNull=function(e,r){return!0===e||!1===e||null===e?e:(e=t.string(e,r))===r?void 0===r?null:e:"null"===e?null:""!==(e=e.toLowerCase().charAt(0))&&"n"!==e&&"0"!==e&&"f"!==e&&("t"===e||"y"===e||"1"===e||("a"===e?null:r))},t.date=function(e,r,i){let s;function a(){return void 0===r&&(r=n().format("YYYY-MM-DD")),r}if("string"==typeof e){if(e.match(/\//)){if(s=e.split("/"),2===s.length)return(i||new Date).getFullYear()+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2);if(3===s.length){if(s[2]<100){const e=i||new Date,t=e.getFullYear()%100,r=e.getFullYear()-t;let n=parseInt(s[2])+r;n-e.getFullYear()>50&&(n-=100),s[2]=n}return t.padInteger(s[2],4)+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2)}return a()}if(e.match(/-/))return s=e.split("-"),2===s.length?(i||new Date).getFullYear()+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2):3===s.length?t.padInteger(s[0],4)+"-"+t.padInteger(s[1],2)+"-"+t.padInteger(s[2],2):a()}try{return null===e?a():(e=i||new Date(e),isNaN(e.getTime())?a():e.getFullYear()+"-"+t.padInteger(e.getMonth()+1,2)+"-"+t.padInteger(e.getDate(),2))}catch(e){return a()}},t.formatDate=function(e){return n(e).format("YYYY-MM-DD")},t.time=function(e,r){const i=(e=(e=t.string(e).toLowerCase()).trim()).match(/^(\d+)([:|.](\d+))?([:|.](\d+))?\s*(am|pm|AM|PM|a|p|A|M)?$/);if(i){let e=parseInt(i[1],10);const r=void 0!==i[3]?parseInt(i[3],10):0,n=void 0!==i[5]?parseInt(i[5],10):0;let s=i[6]?i[6].toLowerCase():i[6];return s=s&&s.charAt(0),12===e&&"a"===s?e-=12:12===e&&"p"===s||"p"===s&&(e+=12),24!==e&&"24"!==e||(e=0),t.padInteger(e,2)+":"+t.padInteger(r,2)+":"+t.padInteger(n,2)}return void 0!==r?r:n().format("HH:mm")},t.formatTime=function(e){return n(e).format("HH:mm:ss")},t.tags=function(e,r){return"string"==typeof e&&(e=e.split(/,\s*/)),Array.isArray(e)?e.map(e=>t.string(e)).map(r||t.filterTag).filter(e=>e.length>0):[]},t.idRegExp=t.options.idRegExp||/^[A-Za-z0-9_]+$/,t.id=function(e,r){const n=t.string(e,r);return n===r||n.match(t.idRegExp)?n:r},t.ids=function(e){return Array.isArray(e)?e.filter(function(e){return void 0!==t.id(e)}):[]},t},e.exports.naughtyHref=s},9466(e,t){var r,n;void 0===(n="function"==typeof(r=function(){return function(e){function t(e){return" "===e||"\t"===e||"\n"===e||"\f"===e||"\r"===e}function r(t){var r,n=t.exec(e.substring(p));if(n)return r=n[0],p+=r.length,r}for(var n,i,s,a,o,c=e.length,l=/^[ \t\n\r\u000c]+/,u=/^[, \t\n\r\u000c]+/,h=/^[^ \t\n\r\u000c]+/,f=/[,]+$/,A=/^\d+$/,d=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,p=0,g=[];;){if(r(u),p>=c)return g;n=r(h),i=[],","===n.slice(-1)?(n=n.replace(f,""),m()):y()}function y(){for(r(l),s="",a="in descriptor";;){if(o=e.charAt(p),"in descriptor"===a)if(t(o))s&&(i.push(s),s="",a="after descriptor");else{if(","===o)return p+=1,s&&i.push(s),void m();if("("===o)s+=o,a="in parens";else{if(""===o)return s&&i.push(s),void m();s+=o}}else if("in parens"===a)if(")"===o)s+=o,a="in descriptor";else{if(""===o)return i.push(s),void m();s+=o}else if("after descriptor"===a)if(t(o));else{if(""===o)return void m();a="in descriptor",p-=1}p+=1}}function m(){var t,r,s,a,o,c,l,u,h,f=!1,p={};for(a=0;a(e.nodes&&(e.nodes=f(e.nodes)),delete e.source,e))}function A(e){if(e[u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)A(t)}class d extends l{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,r,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...r)=>e[t](...r.map(e=>"function"==typeof e?(t,r)=>e(t.toProxy(),r):e)):"every"===t||"some"===t?r=>e[t]((e,...t)=>r(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let r,n=this.index(e),i=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let e of i)this.proxyOf.nodes.splice(n+1,0,e);for(let e in this.indexes)r=this.indexes[e],n(e[h]||d.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[u]&&A(e),e.raws||(e.raws={}),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,r)=>{let n;try{n=e(t,r)}catch(e){throw t.addToError(e)}return!1!==n&&t.walk&&(n=t.walk(e)),n})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("atrule"===r.type&&e.test(r.name))return t(r,n)}):this.walk((r,n)=>{if("atrule"===r.type&&r.name===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("atrule"===e.type)return t(e,r)}))}walkComments(e){return this.walk((t,r)=>{if("comment"===t.type)return e(t,r)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("decl"===r.type&&e.test(r.prop))return t(r,n)}):this.walk((r,n)=>{if("decl"===r.type&&r.prop===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("decl"===e.type)return t(e,r)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("rule"===r.type&&e.test(r.selector))return t(r,n)}):this.walk((r,n)=>{if("rule"===r.type&&r.selector===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("rule"===e.type)return t(e,r)}))}}d.registerParse=e=>{i=e},d.registerRule=e=>{a=e},d.registerAtRule=e=>{n=e},d.registerRoot=e=>{s=e},e.exports=d,d.default=d,d.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,a.prototype):"decl"===e.type?Object.setPrototypeOf(e,c.prototype):"comment"===e.type?Object.setPrototypeOf(e,o.prototype):"root"===e.type&&Object.setPrototypeOf(e,s.prototype),e[h]=!0,e.nodes&&e.nodes.forEach(e=>{d.rebuild(e)})}},3614(e,t,r){"use strict";let n=r(8633),i=r(9746);class s extends Error{constructor(e,t,r,n,i,a){super(e),this.name="CssSyntaxError",this.reason=e,i&&(this.file=i),n&&(this.source=n),a&&(this.plugin=a),void 0!==t&&void 0!==r&&("number"==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=n.isColorSupported);let r=e=>e,s=e=>e,a=e=>e;if(e){let{bold:e,gray:t,red:o}=n.createColors(!0);s=t=>e(o(t)),r=e=>t(e),i&&(a=e=>i(e))}let o=t.split(/\r?\n/),c=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),u=String(l).length;return o.slice(c,l).map((e,t)=>{let n=c+1+t,i=" "+(" "+n).slice(-u)+" | ";if(n===this.line){if(e.length>160){let t=20,n=Math.max(0,this.column-t),o=Math.max(this.column+t,this.endColumn+t),c=e.slice(n,o),l=r(i.replace(/\d/g," "))+e.slice(0,Math.min(this.column-1,t-1)).replace(/[^\t]/g," ");return s(">")+r(i)+a(c)+"\n "+l+s("^")}let t=r(i.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(i)+a(e)+"\n "+t+s("^")}return" "+r(i)+a(e)}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}e.exports=s,s.default=s},5238(e,t,r){"use strict";let n=r(3152);class i extends n{get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}}e.exports=i,i.default=i},145(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a},3438(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(1106),o=r(3878),c=r(5644),l=r(1534);function u(e,t){if(Array.isArray(e))return e.map(e=>u(e));let{inputs:r,...h}=e;if(r){t=[];for(let e of r){let r={...e,__proto__:a.prototype};r.map&&(r.map={...r.map,__proto__:o.prototype}),t.push(r)}}if(h.nodes&&(h.nodes=e.nodes.map(e=>u(e,t))),h.source){let{inputId:e,...r}=h.source;h.source=r,null!=e&&(h.source.input=t[e])}if("root"===h.type)return new c(h);if("decl"===h.type)return new s(h);if("rule"===h.type)return new l(h);if("comment"===h.type)return new i(h);if("atrule"===h.type)return new n(h);throw new Error("Unknown node type: "+e.type)}e.exports=u,u.default=u},1106(e,t,r){"use strict";let{nanoid:n}=r(5042),{isAbsolute:i,resolve:s}=r(197),{SourceMapConsumer:a,SourceMapGenerator:o}=r(1866),{fileURLToPath:c,pathToFileURL:l}=r(2739),u=r(3614),h=r(3878),f=r(9746),A=Symbol("lineToIndexCache"),d=Boolean(a&&o),p=Boolean(s&&i);function g(e){if(e[A])return e[A];let t=e.css.split("\n"),r=new Array(t.length),n=0;for(let e=0,i=t.length;e"),this.map&&(this.map.file=this.from)}error(e,t,r,n={}){let i,s,a,o,c;if(t&&"object"==typeof t){let e=t,n=r;if("number"==typeof e.offset){o=e.offset;let n=this.fromOffset(o);t=n.line,r=n.col}else t=e.line,r=e.column,o=this.fromLineAndColumn(t,r);if("number"==typeof n.offset){a=n.offset;let e=this.fromOffset(a);s=e.line,i=e.col}else s=n.line,i=n.column,a=this.fromLineAndColumn(n.line,n.column)}else if(r)o=this.fromLineAndColumn(t,r);else{o=t;let e=this.fromOffset(o);t=e.line,r=e.col}let h=this.origin(t,r,s,i);return c=h?new u(e,void 0===h.endLine?h.line:{column:h.column,line:h.line},void 0===h.endLine?h.column:{column:h.endColumn,line:h.endLine},h.source,h.file,n.plugin):new u(e,void 0===s?t:{column:r,line:t},void 0===s?r:{column:i,line:s},this.css,this.file,n.plugin),c.input={column:r,endColumn:i,endLine:s,endOffset:a,line:t,offset:o,source:this.css},this.file&&(l&&(c.input.url=l(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,t){return g(this)[e-1]+t-1}fromOffset(e){let t=g(this),r=0;if(e>=t[t.length-1])r=t.length-1;else{let n,i=t.length-2;for(;r>1),e=t[n+1])){r=n;break}r=n+1}}return{col:e-t[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:s(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,r,n){if(!this.map)return!1;let s,a,o=this.map.consumer(),u=o.originalPositionFor({column:t,line:e});if(!u.source)return!1;"number"==typeof r&&(s=o.originalPositionFor({column:n,line:r})),a=i(u.source)?l(u.source):new URL(u.source,this.map.consumer().sourceRoot||l(this.map.mapFile));let h={column:u.column,endColumn:s&&s.column,endLine:s&&s.line,line:u.line,url:a.toString()};if("file:"===a.protocol){if(!c)throw new Error("file: protocol is not available in this PostCSS build");h.file=c(a)}let f=o.sourceContentFor(u.source);return f&&(h.source=f),h}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}e.exports=y,y.default=y,f&&f.registerInput&&f.registerInput(y)},6966(e,t,r){"use strict";let n=r(7793),i=r(145),s=r(3604),a=r(9577),o=r(3717),c=r(5644),l=r(3303),{isClean:u,my:h}=r(4151);r(6156);const f={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},A={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},d={Once:!0,postcssPlugin:!0,prepare:!0};function p(e){return"object"==typeof e&&"function"==typeof e.then}function g(e){let t=!1,r=f[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,0,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,0,r+"Exit"]:[r,r+"Exit"]}function y(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:g(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function m(e){return e[u]=!1,e.nodes&&e.nodes.forEach(e=>m(e)),e}let w={};class b{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,t,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof t||null===t||"root"!==t.type&&"document"!==t.type)if(t instanceof b||t instanceof o)i=m(t.root),t.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let e=a;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(t,r)}catch(e){this.processed=!0,this.error=e}i&&!i[h]&&n.rebuild(i)}else i=m(t);this.result=new o(e,i,r),this.helpers={...w,postcss:w,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?r.postcssVersion:(e.plugin=r.postcssPlugin,e.setMessage())}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,r)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,r])};for(let t of this.plugins)if("object"==typeof t)for(let r in t){if(!A[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!d[r])if("object"==typeof t[r])for(let n in t[r])e(t,"*"===n?r:r+"-"+n.toLowerCase(),t[r][n]);else"function"==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(p(e))try{await e}catch(e){let r=t[t.length-1].node;throw this.handleError(e,r)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>r(e,this.helpers));await Promise.all(t)}else await r(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return p(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=l;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=this.result.root.source;if(void 0===e.map&&!(r&&r.input&&r.input.map)){let e="";return t(this.result.root,t=>{e+=t}),this.result.css=e,this.result}let n=new s(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(p(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[u];)e[u]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[r,n]of e){let e;this.result.lastPlugin=r;try{e=n(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(p(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:r,visitors:n}=t;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void e.pop();if(n.length>0&&t.visitorIndex{e[u]||this.walkSync(e)});else{let t=this.listeners[r];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}}b.registerPostcss=e=>{w=e},e.exports=b,b.default=b,c.registerLazyResult(b),i.registerLazyResult(b)},1752(e){"use strict";let t={comma:e=>t.split(e,[","],!0),space:e=>t.split(e,[" ","\n","\t"]),split(e,t,r){let n=[],i="",s=!1,a=0,o=!1,c="",l=!1;for(let r of e)l?l=!1:"\\"===r?l=!0:o?r===c&&(o=!1):'"'===r||"'"===r?(o=!0,c=r):"("===r?a+=1:")"===r?a>0&&(a-=1):0===a&&t.includes(r)&&(s=!0),s?(""!==i&&n.push(i.trim()),i="",s=!1):i+=r;return(r||""!==i)&&n.push(i.trim()),n}};e.exports=t,t.default=t},3604(e,t,r){"use strict";let{dirname:n,relative:i,resolve:s,sep:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866),{pathToFileURL:l}=r(2739),u=r(1106),h=Boolean(o&&c),f=Boolean(n&&s&&i&&a);e.exports=class{constructor(e,t,r,n){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=n,this.originalCSS=n,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,r=this.toUrl(this.path(e.file)),i=e.root||n(e.file);!1===this.mapOpts.sourcesContent?(t=new o(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,r,this.toUrl(this.path(i)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(t)}else if(this.css){let e;for(;-1!==(e=this.css.lastIndexOf("/*#"));){let t=this.css.indexOf("*/",e+3);if(-1===t)break;for(;e>0&&"\n"===this.css[e-1];)e--;this.css=this.css.slice(0,e)+this.css.slice(t+2)}}}generate(){if(this.clearAnnotation(),f&&h&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=c.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):""});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,r=1,n=1,i="",s={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(a,o,c)=>{if(this.css+=a,o&&"end"!==c&&(s.generated.line=r,s.generated.column=n-1,o.source&&o.source.start?(s.source=this.sourcePath(o),s.original.line=o.source.start.line,s.original.column=o.source.start.column-1,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,this.map.addMapping(s))),t=a.match(/\n/g),t?(r+=t.length,e=a.lastIndexOf("\n"),n=a.length-e):n+=a.length,o&&"start"!==c){let e=o.parent||{raws:{}};("decl"===o.type||"atrule"===o.type&&!o.nodes)&&o===e.last&&!e.raws.semicolon||(o.source&&o.source.end?(s.source=this.sourcePath(o),s.original.line=o.source.end.line,s.original.column=o.source.end.column-1,s.generated.line=r,s.generated.column=n-2,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,s.generated.line=r,s.generated.column=n-1,this.map.addMapping(s)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let r=this.opts.to?n(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(r=n(s(r,this.mapOpts.annotation)));let a=i(r,e);return this.memoizedPaths.set(e,a),a}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new u(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;if(r&&!e[r]){e[r]=!0;let n=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(n,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(l){let t=l(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===a&&(e=e.replace(/\\/g,"/"));let r=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,r),r}}},4211(e,t,r){"use strict";let n=r(3604),i=r(9577),s=r(3717),a=r(3303);r(6156);class o{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=i;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let i=a;this.result=new s(this._processor,void 0,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,"root",{get:()=>o.root});let c=new n(i,void 0,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else c.clearAnnotation(),this.result.css=c.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}}e.exports=o,o.default=o},3152(e,t,r){"use strict";let n=r(3614),i=r(7668),s=r(3303),{isClean:a,my:o}=r(4151);function c(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if("proxyCache"===n)continue;let i=e[n],s=typeof i;"parent"===n&&"object"===s?t&&(r[n]=t):"source"===n?r[n]=i:Array.isArray(i)?r[n]=i.map(e=>c(e,r)):("object"===s&&null!==i&&(i=c(i)),r[n]=i)}return r}function l(e,t){if(t&&void 0!==t.offset)return t.offset;let r=1,n=1,i=0;for(let s=0;s"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markClean(){this[a]=!0}markDirty(){if(this[a]){this[a]=!1;let e=this;for(;e=e.parent;)e[a]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,n=r.slice(l(r,this.source.start),l(r,this.source.end)).indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t}positionInside(e){let t=this.source.start.column,r=this.source.start.line,n="document"in this.source.input?this.source.input.document:this.source.input.css,i=l(n,this.source.start),s=i+e;for(let e=i;e"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof n&&n.toJSON)r[e]=n.toJSON(null,t);else if("source"===e){if(null==n)continue;let s=t.get(n.input);null==s&&(s=i,t.set(n.input,i),i++),r[e]={end:n.end,inputId:s,start:n.start}}else r[e]=n}return n&&(r.inputs=[...t.keys()].map(e=>e.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=s){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,r={}){let n={node:this};for(let e in r)n[e]=r[e];return e.warn(t,n)}}e.exports=u,u.default=u},9577(e,t,r){"use strict";let n=r(7793),i=r(1106),s=r(8339);function a(e,t){let r=new i(e,t),n=new s(r);try{n.parse()}catch(e){throw e}return n.root}e.exports=a,a.default=a,n.registerParse(a)},8339(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(5644),o=r(1534),c=r(5781);const l={empty:!0,space:!0};function u(e,t,r){let n="";for(let i=t;i0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){s.source.end=this.getPosition(e[2]),s.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(c.length>0){for(i=c.length-1,r=c[i];r&&"space"===r[0];)r=c[--i];r&&(s.source.end=this.getPosition(r[3]||r[2]),s.source.end.offset++)}this.end(e);break}c.push(e)}else c.push(e);if(this.tokenizer.endOfFile()){a=!0;break}}s.raws.between=this.spacesAndCommentsFromEnd(c),c.length?(s.raws.afterName=this.spacesAndCommentsFromStart(c),this.raw(s,"params",c),a&&(e=c[c.length-1],s.source.end=this.getPosition(e[3]||e[2]),s.source.end.offset++,this.spaces=s.raws.between,s.raws.between="")):(s.raws.afterName="",s.params=""),o&&(s.nodes=[],this.current=s)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let r,n=0;for(let i=t-1;i>=0&&(r=e[i],"space"===r[0]||(n+=1,2!==n));i--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}colon(e){let t,r,n,i=0;for(let[s,a]of e.entries()){if(r=a,n=r[0],"("===n&&(i+=1),")"===n&&(i-=1),0===i&&":"===n){if(t){if("word"===t[0]&&"progid"===t[1])continue;return s}this.doubleColon(r)}t=r}return!1}comment(e){let t=new i;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let r=e[1].slice(2,-2);if(r.trim()){let e=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}else t.text="",t.raws.left=r,t.raws.right=""}createTokenizer(){this.tokenizer=c(this.input)}decl(e,t){let r=new s;this.init(r,e[0][2]);let n=e[e.length-1];";"===n[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(n[3]||n[2]||function(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}(e)),r.source.end.offset++;let i=0;for(;"word"!==e[i][0];)i===e.length-1&&this.unknownWord([e[i]]),i++;r.raws.before+=u(e,0,i),r.source.start=this.getPosition(e[i][2]);let a=i;for(;i=0;t--){if(o=e[t],"!important"===o[1].toLowerCase()){r.important=!0;let n=this.stringFrom(e,t);n=this.spacesFromEnd(e)+n," !important"!==n&&(r.raws.important=n);break}if("important"===o[1].toLowerCase()){let n=e.slice(0),i="";for(let e=t;e>0;e--){let t=n[e][0];if(i.trim().startsWith("!")&&"space"!==t)break;i=n.pop()[1]+i}i.trim().startsWith("!")&&(r.important=!0,r.raws.important=i,e=n)}if("space"!==o[0]&&"comment"!==o[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(r.raws.between+=h.map(e=>e[1]).join(""),h=[]),this.raw(r,"value",h.concat(e),t),r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new o;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="",t.source.end=this.getPosition(e[2]),t.source.end.offset+=t.raws.ownSemicolon.length)}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,r=null,n=!1,i=null,s=[],a=e[1].startsWith("--"),o=[],c=e;for(;c;){if(r=c[0],o.push(c),"("===r||"["===r)i||(i=c),s.push("("===r?")":"]");else if(a&&n&&"{"===r)i||(i=c),s.push("}");else if(0===s.length){if(";"===r){if(n)return void this.decl(o,a);break}if("{"===r)return void this.rule(o);if("}"===r){this.tokenizer.back(o.pop()),t=!0;break}":"===r&&(n=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(i=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(i),t&&n){if(!a)for(;o.length&&(c=o[o.length-1][0],"space"===c||"comment"===c);)this.tokenizer.back(o.pop());this.decl(o,a)}else this.unknownWord(o)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,r,n){let i,s,a,o,c=r.length,u="",h=!0;for(let e=0;ee+t[1],"");e.raws[t]={raw:n,value:u}}e[t]=u}rule(e){e.pop();let t=new o;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let n=t;n(r||(r=i()),r)}),i.process=function(e,t,r){return v([i(r)]).process(e,t)},i},v.stringify=w,v.parse=d,v.fromJSON=l,v.list=f,v.comment=e=>new i(e),v.atRule=e=>new n(e),v.decl=e=>new o(e),v.rule=e=>new m(e),v.root=e=>new y(e),v.document=e=>new c(e),v.CssSyntaxError=a,v.Declaration=o,v.Container=s,v.Processor=p,v.Document=c,v.Comment=i,v.Warning=b,v.AtRule=n,v.Result=g,v.Input=u,v.Rule=m,v.Root=y,v.Node=A,h.registerPostcss(v),e.exports=v,v.default=v},3878(e,t,r){"use strict";let{existsSync:n,readFileSync:i}=r(9977),{dirname:s,join:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866);class l{constructor(e,t){if(!1===t.map)return;t.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=s(this.mapFile)),n&&(this.text=n)}consumer(){return this.consumerCache||(this.consumerCache=new o(this.json||this.text)),this.consumerCache}decodeInline(e){let t=e.match(/^data:application\/json;charset=utf-?8,/)||e.match(/^data:application\/json,/);if(t)return decodeURIComponent(e.substr(t[0].length));let r=e.match(/^data:application\/json;charset=utf-?8;base64,/)||e.match(/^data:application\/json;base64,/);if(r)return n=e.substr(r[0].length),Buffer?Buffer.from(n,"base64").toString():window.atob(n);var n;let i=e.slice(22);throw i=i.slice(0,i.indexOf(",")),new Error("Unsupported source map encoding "+i)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/g);if(!t)return;let r=e.lastIndexOf(t.pop()),n=e.indexOf("*/",r);r>-1&&n>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,n)))}loadFile(e,t,r){if(r||this.unsafeMap||/\.map$/i.test(e))return this.root=s(e),n(e)?(this.mapFile=e,i(e,"utf-8").toString().trim()):void 0}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof o)return c.fromSourceMap(t).toString();if(t instanceof c)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let r=t(e);if(r){let t=this.loadFile(r,e,!0);if(!t)throw new Error("Unable to load previous source map: "+r.toString());return t}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;e&&(t=a(s(e),t));let r=this.loadFile(t,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\)]}'[^\n]*\n/,""))}catch{return}return r}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}e.exports=l,l.default=l},6846(e,t,r){"use strict";let n=r(145),i=r(6966),s=r(4211),a=r(5644);class o{constructor(e=[]){this.version="8.5.15",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)t.push(r);else if("function"==typeof r)t.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new i(this,e,t):new s(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}}e.exports=o,o.default=o,a.registerProcessor(o),n.registerProcessor(o)},3717(e,t,r){"use strict";let n=r(38);class i{get content(){return this.css}constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new n(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>"warning"===e.type)}}e.exports=i,i.default=i},5644(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,r){let n=super.normalize(e);if(t)if("prepend"===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of n)e.raws.before=t.raws.before;return n}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a,s.registerRoot(a)},1534(e,t,r){"use strict";let n=r(7793),i=r(1752);class s extends n{get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}}e.exports=s,s.default=s,n.registerRule(s)},7668(e){"use strict";const t=/(<)(\/?style\b)/gi,r=/(<)(!--)/g;function n(e){return"string"!=typeof e?e:e.includes("<")?e.replace(t,"\\3c $2").replace(r,"\\3c $2"):e}const i={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};class s{constructor(e){this.builder=e}atrule(e,t){let r=e.raws,i="@"+e.name,s=e.params?this.rawValue(e,"params"):"";if(void 0!==r.afterName?i+=r.afterName:s&&(i+=" "),e.nodes)this.block(e,i+s);else{let a=(r.between||"")+(t?";":"");this.builder(n(i+s+a),e)}}beforeAfter(e,t){let r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,i=0;for(;n&&"root"!==n.type;)i+=1,n=n.parent;if(r.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===t[r].type;)r-=1;let i=this.raw(e,"semicolon"),s="document"===e.type;for(let e=0;e{if(n=e.raws[t],void 0!==n)return!1})}var c;return void 0===n&&(n=i[r]),o[r]=n,n}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let r;return e.walkComments(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return t=r.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==r.raws.before){let e=r.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let r=e[t],n=e.raws[t];return n&&n.value===r?n.raw:r}root(e){if(this.body(e),e.raws.after){let t=e.raws.after,r=e.parent&&"document"===e.parent.type;this.builder(r?t:n(t))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(n(e.raws.ownSemicolon),e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}}e.exports=s,s.default=s},3303(e,t,r){"use strict";let n=r(7668);function i(e,t){new n(t).stringify(e)}e.exports=i,i.default=i},4151(e){"use strict";e.exports.isClean=Symbol("isClean"),e.exports.my=Symbol("my")},5781(e){"use strict";const t="'".charCodeAt(0),r='"'.charCodeAt(0),n="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),a=" ".charCodeAt(0),o="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),u="[".charCodeAt(0),h="]".charCodeAt(0),f="(".charCodeAt(0),A=")".charCodeAt(0),d="{".charCodeAt(0),p="}".charCodeAt(0),g=";".charCodeAt(0),y="*".charCodeAt(0),m=":".charCodeAt(0),w="@".charCodeAt(0),b=/[\t\n\f\r "#'()/;[\\\]{}]/g,v=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,E=/.[\r\n"'(/\\]/,k=/[\da-f]/i;e.exports=function(e,I={}){let B,C,S,D,x,K,U,P,T,F,M=e.css.valueOf(),R=I.ignoreErrors,Q=M.length,N=0,O=[],L=[],G=-1;function H(t){throw e.error("Unclosed "+t,N)}return{back:function(e){L.push(e)},endOfFile:function(){return 0===L.length&&N>=Q},nextToken:function(e){if(L.length)return L.pop();if(N>=Q)return;let I=!!e&&e.ignoreUnclosed;switch(B=M.charCodeAt(N),B){case s:case a:case c:case l:case o:D=N;do{D+=1,B=M.charCodeAt(D)}while(B===a||B===s||B===c||B===l||B===o);K=["space",M.slice(N,D)],N=D-1;break;case u:case h:case d:case p:case m:case g:case A:{let e=String.fromCharCode(B);K=[e,e,N];break}case f:if(F=O.length?O.pop()[1]:"",T=M.charCodeAt(N+1),"url"===F&&T!==t&&T!==r&&T!==a&&T!==s&&T!==c&&T!==o&&T!==l){D=N;do{if(U=!1,D=M.indexOf(")",D+1),-1===D){if(R||I){D=N;break}H("bracket")}for(P=D;M.charCodeAt(P-1)===n;)P-=1,U=!U}while(U);K=["brackets",M.slice(N,D+1),N,D],N=D}else N<=G?K=["(","(",N]:(D=M.indexOf(")",N+1),C=M.slice(N,D+1),-1===D||E.test(C)?(G=-1===D?Q:D,K=["(","(",N]):(K=["brackets",C,N,D],N=D));break;case t:case r:x=B===t?"'":'"',D=N;do{if(U=!1,D=M.indexOf(x,D+1),-1===D){if(R||I){D=N+1;break}H("string")}for(P=D;M.charCodeAt(P-1)===n;)P-=1,U=!U}while(U);K=["string",M.slice(N,D+1),N,D],N=D;break;case w:b.lastIndex=N+1,b.test(M),D=0===b.lastIndex?M.length-1:b.lastIndex-2,K=["at-word",M.slice(N,D+1),N,D],N=D;break;case n:for(D=N,S=!0;M.charCodeAt(D+1)===n;)D+=1,S=!S;if(B=M.charCodeAt(D+1),S&&B!==i&&B!==a&&B!==s&&B!==c&&B!==l&&B!==o&&(D+=1,k.test(M.charAt(D)))){for(;k.test(M.charAt(D+1));)D+=1;M.charCodeAt(D+1)===a&&(D+=1)}K=["word",M.slice(N,D+1),N,D],N=D;break;default:B===i&&M.charCodeAt(N+1)===y?(D=M.indexOf("*/",N+2)+1,0===D&&(R||I?D=M.length:H("comment")),K=["comment",M.slice(N,D+1),N,D],N=D):(v.lastIndex=N+1,v.test(M),D=0===v.lastIndex?M.length-1:v.lastIndex-2,K=["word",M.slice(N,D+1),N,D],O.push(K),N=D)}return N++,K},position:function(){return N}}}},6156(e){"use strict";let t={};e.exports=function(e){t[e]||(t[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))}},38(e){"use strict";class t{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}e.exports=t,t.default=t},4728(e,t,r){const n=r(378),i=r(7151),{isPlainObject:s}=r(8682),a=r(4744),o=r(9466),{parse:c}=r(2895),{naughtyHref:l}=r(3624),u=["img","audio","video","picture","svg","object","map","iframe","embed"],h=["script","style"];function f(e,t){e&&Object.keys(e).forEach(function(r){t(e[r],r)})}function A(e,t){return{}.hasOwnProperty.call(e,t)}function d(e,t){const r=[];return f(e,function(e){t(e)&&r.push(e)}),r}e.exports=g;const p=/^[^\0\t\n\f\r /<=>]+$/;function g(e,t,r){if(null==e)return"";"number"==typeof e&&(e=e.toString());let m="",w="";function b(e,t){const r=this;this.tag=e,this.attribs=t||{},this.tagPosition=m.length,this.text="",this.openingTagLength=0,this.mediaChildren=[],this.updateParentNodeText=function(){U.length&&(U[U.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){U.length&&u.includes(this.tag)&&U[U.length-1].mediaChildren.push(this.tag)}}(t=Object.assign({},g.defaults,t)).parser=Object.assign({},y,t.parser);const v=function(e){return!1===t.allowedTags||(t.allowedTags||[]).indexOf(e)>-1};h.forEach(function(e){v(e)&&!t.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${e}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)});const E=t.nonTextTags||["script","style","textarea","option","xmp"];let k,I;t.allowedAttributes&&(k={},I={},f(t.allowedAttributes,function(e,t){k[t]=[];const r=[];e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):k[t].push(e)}),r.length&&(I[t]=new RegExp("^("+r.join("|")+")$"))}));const B={},C={},S={};f(t.allowedClasses,function(e,t){if(k&&(A(k,t)||(k[t]=[]),k[t].push("class")),B[t]=e,Array.isArray(e)){const r=[];B[t]=[],S[t]=[],e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):e instanceof RegExp?S[t].push(e):B[t].push(e)}),r.length&&(C[t]=new RegExp("^("+r.join("|")+")$"))}});const D={};let x,K,U,P,T,F,M;f(t.transformTags,function(e,t){let r;"function"==typeof e?r=e:"string"==typeof e&&(r=g.simpleTransform(e)),"*"===t?x=r:D[t]=r});let R=!1;N();const Q=new n.Parser({onopentag:function(e,r){if(t.onOpenTag&&t.onOpenTag(e,r),t.enforceHtmlBoundary&&"html"===e&&N(),F)return void M++;const n=new b(e,r);U.push(n);let i=!1;const l=!!n.text;let u;if(A(D,e)&&(u=D[e](e,r),n.attribs=r=u.attribs,void 0!==u.text&&(n.innerText=u.text),e!==u.tagName&&(n.name=e=u.tagName,T[K]=u.tagName)),x&&(u=x(e,r),n.attribs=r=u.attribs,e!==u.tagName&&(n.name=e=u.tagName,T[K]=u.tagName)),(!v(e)||"recursiveEscape"===t.disallowedTagsMode&&!function(e){for(const t in e)if(A(e,t))return!1;return!0}(P)||null!=t.nestingLimit&&K>=t.nestingLimit)&&(i=!0,P[K]=!0,"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||-1!==E.indexOf(e)&&(F=!0,M=1)),K++,i){if("discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode){if(n.innerText&&!l){const r=O(n.innerText);t.textFilter?m+=t.textFilter(r,e):m+=r,R=!0}return}w=m,m=""}m+="<"+e,"script"===e&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(n.innerText=""),i&&("escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode)&&t.preserveEscapedAttributes?f(r,function(e,t){m+=" "+t+'="'+O(e||"",!0)+'"'}):(!k||A(k,e)||k["*"])&&f(r,function(r,i){if(!p.test(i))return void delete n.attribs[i];if(""===r&&!t.allowedEmptyAttributes.includes(i)&&(t.nonBooleanAttributes.includes(i)||t.nonBooleanAttributes.includes("*")))return void delete n.attribs[i];let l=!1;if(!k||A(k,e)&&-1!==k[e].indexOf(i)||k["*"]&&-1!==k["*"].indexOf(i)||A(I,e)&&I[e].test(i)||I["*"]&&I["*"].test(i))l=!0;else if(k&&k[e])for(const t of k[e])if(s(t)&&t.name&&t.name===i){l=!0;let e="";if(!0===t.multiple){const n=r.split(" ");for(const r of n)-1!==t.values.indexOf(r)&&(""===e?e=r:e+=" "+r)}else t.values.indexOf(r)>=0&&(e=r);r=e}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(i)&&L(e,r))return void delete n.attribs[i];if("script"===e&&"src"===i){let e=!0;try{const n=G(r);if(t.allowedScriptHostnames||t.allowedScriptDomains){const r=(t.allowedScriptHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedScriptDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("iframe"===e&&"src"===i){let e=!0;try{const n=G(r);if(n.isRelativeUrl)e=A(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const r=(t.allowedIframeHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedIframeDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("srcset"===i||"imagesrcset"===i)try{let e=o(r);if(e.forEach(function(e){L(i,e.url)&&(e.evil=!0)}),e=d(e,function(e){return!e.evil}),!e.length)return void delete n.attribs[i];r=d(e,function(e){return!e.evil}).map(function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")}).join(", "),n.attribs[i]=r}catch(e){return void delete n.attribs[i]}if("class"===i){const t=B[e],s=B["*"],o=C[e],c=S[e],l=S["*"],A=[o,C["*"]].concat(c,l).filter(function(e){return e});if(!(u=r,h=t&&s?a(t,s):t||s,f=A,r=h?(u=u.split(/\s+/)).filter(function(e){return-1!==h.indexOf(e)||f.some(function(t){return t.test(e)})}).join(" "):u).length)return void delete n.attribs[i]}if("style"===i)if(t.parseStyleAttributes)try{if(r=function(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e},[]).join(";")}(function(e,t){if(!t)return e;const r=e.nodes[0];let n;return n=t[r.selector]&&t["*"]?a(t[r.selector],t["*"]):t[r.selector]||t["*"],n&&(e.nodes[0].nodes=r.nodes.reduce(function(e){return function(t,r){return A(e,r.prop)&&e[r.prop].some(function(e){return e.test(r.value)})&&t.push(r),t}}(n),[])),e}(c(e+" {"+r+"}",{map:!1}),t.allowedStyles)),0===r.length)return void delete n.attribs[i]}catch(t){return"undefined"!=typeof window&&console.warn('Failed to parse "'+e+" {"+r+"}\", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547"),void delete n.attribs[i]}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.");m+=" "+i,r&&r.length?m+='="'+O(r,!0)+'"':t.allowedEmptyAttributes.includes(i)&&(m+='=""')}else delete n.attribs[i];var u,h,f}),-1!==t.selfClosing.indexOf(e)?m+=" />":(m+=">",!n.innerText||l||t.textFilter||(m+=O(n.innerText),R=!0)),i&&(m=w+O(m),w=""),n.openingTagLength=m.length-n.tagPosition},ontext:function(e){if(F)return;const r=U[U.length-1];let n;if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"completelyDiscard"!==t.disallowedTagsMode||v(n))if(!n||!v(n)||"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"script"!==n&&"style"!==n)if(!n||!v(n)||"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"textarea"!==n&&"xmp"!==n){if(!R){const r=O(e,!1);t.textFilter?m+=t.textFilter(r,n):m+=r}}else m+=e;else m+=e;else e="";U.length&&(U[U.length-1].text+=e)},onclosetag:function(e,r){if(t.onCloseTag&&t.onCloseTag(e,r),F){if(M--,M)return;F=!1}const n=U.pop();if(!n)return;if(n.tag!==e)return void U.push(n);F=!!t.enforceHtmlBoundary&&"html"===e,K--;const i=P[K];if(i){if(delete P[K],"discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode)return void n.updateParentNodeText();w=m,m=""}if(T[K]&&(e=T[K],delete T[K]),t.exclusiveFilter){const e=t.exclusiveFilter(n);if("excludeTag"===e)return i&&(m=w,w=""),void(m=m.substring(0,n.tagPosition)+m.substring(n.tagPosition+n.openingTagLength));if(e)return void(m=m.substring(0,n.tagPosition))}n.updateParentNodeMediaChildren(),n.updateParentNodeText(),-1!==t.selfClosing.indexOf(e)||r&&!v(e)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0?i&&(m=w,w=""):(m+="",i&&(m=w+O(m),w=""),R=!1)}},t.parser);if(Q.write(e),Q.end(),"escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode){const t=Q.endIndex;if(null!=t&&t>=0&&t0&&""===m&&(m=O(e))}return m;function N(){m="",K=0,U=[],P={},T={},F=!1,M=0}function O(e,r){return"string"!=typeof e&&(e+=""),t.parser.decodeEntities&&(e=e.replace(/&/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,"""))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,""")),e}function L(e,r){const n=A(t.allowedSchemesByTag,e)?t.allowedSchemesByTag[e]:t.allowedSchemes||[];return l(r,{allowedSchemes:n,allowProtocolRelative:t.allowProtocolRelative})}function G(e){if((e=e.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let t="relative://relative-site";for(let e=0;e<100;e++)t+=`/${e}`;const r=new URL(e,t);return{isRelativeUrl:r&&"relative-site"===r.hostname&&"relative:"===r.protocol,url:r}}}const y={decodeEntities:!0};g.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite","action","formaction","data","xlink:href","poster","background","ping","longdesc","usemap","codebase","classid","archive","profile","manifest","itemid","dynsrc","lowsrc"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1},g.simpleTransform=function(e,t,r){return r=void 0===r||r,t=t||{},function(n,i){let s;if(r)for(s in t)i[s]=t[s];else i=t;return{tagName:e,attribs:i}}}},7151(e){"use strict";e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},1558(e){"use strict";e.exports=require("../../bundles/raw/web-stream-tools")},9746(){},9977(){},197(){},1866(){},2739(){},5979(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.fromCodePoint=void 0,t.replaceCodePoint=i,t.decodeCodePoint=function(e){return(0,t.fromCodePoint)(i(e))};const n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:e=>{let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t}},9299(e,t,r){"use strict";t.xmlDecodeTree=t.htmlDecodeTree=t.fromCodePoint=t.EntityDecoder=t.DecodingMode=void 0;const n=r(5979),i=r(642),s=r(1838),a=r(4865);var o,c,l;function u(e){return e>=o.ZERO&&e<=o.NINE}function h(e){return e>=o.UPPER_A&&e<=o.UPPER_F||e>=o.LOWER_A&&e<=o.LOWER_F}function f(e){return e===o.EQUALS||function(e){return e>=o.UPPER_A&&e<=o.UPPER_Z||e>=o.LOWER_A&&e<=o.LOWER_Z||u(e)}(e)}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(o||(o={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(c||(c={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(l||(t.DecodingMode=l={}));class A{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=c.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=l.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=c.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case c.EntityStart:return e.charCodeAt(t)===o.NUM?(this.state=c.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=c.NamedEntity,this.stateNamedEntity(e,t));case c.NumericStart:return this.stateNumericStart(e,t);case c.NumericDecimal:return this.stateNumericDecimal(e,t);case c.NumericHex:return this.stateNumericHex(e,t);case c.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===o.LOWER_X?(this.state=c.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=c.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t>14;for(;t>7;if(0===this.runConsumed){const r=n&a.BinTrieFlags.JUMP_TABLE;if(e.charCodeAt(t)!==r)return 0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed=e.length)return-1;const n=this.runConsumed-1,i=r[this.treeIndex+1+(n>>1)],s=n%2==0?255&i:i>>8&255;if(e.charCodeAt(t)!==s)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(s>>1),n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14}if(t>=e.length)break;const s=e.charCodeAt(t);if(s===o.SEMI&&0!==i&&0!==(n&a.BinTrieFlags.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=p(r,n,this.treeIndex+Math.max(1,i),s),this.treeIndex<0)return 0===this.result||this.decodeMode===l.Attribute&&(0===i||f(s))?0:this.emitNotTerminatedNamedEntity();if(n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14,0!==i){if(s===o.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==l.Strict&&0===(n&a.BinTrieFlags.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;const{result:t,decodeTree:r}=this,n=(r[t]&a.BinTrieFlags.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,n,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){const{decodeTree:n}=this;return this.emitCodePoint(1===t?n[e]&~(a.BinTrieFlags.VALUE_LENGTH|a.BinTrieFlags.FLAG13):n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r}end(){var e;switch(this.state){case c.NamedEntity:return 0===this.result||this.decodeMode===l.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case c.NumericDecimal:return this.emitNumericEntity(0,2);case c.NumericHex:return this.emitNumericEntity(0,3);case c.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c.EntityStart:return 0}}}function d(e){let t="";const r=new A(e,e=>t+=(0,n.fromCodePoint)(e));return function(e,n){let i=0,s=0;for(;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);const a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}const a=t+e.slice(i);return t="",a}}function p(e,t,r,n){const i=(t&a.BinTrieFlags.BRANCH_LENGTH)>>7,s=t&a.BinTrieFlags.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){const t=n-s;return t<0||t>=i?-1:e[r+t]-1}const o=i+1>>1;let c=0,l=i-1;for(;c<=l;){const t=c+l>>>1,i=e[r+(t>>1)]>>8*(1&t)&255;if(in))return e[r+o+t];l=t-1}}return-1}t.EntityDecoder=A;i.htmlDecodeTree,s.xmlDecodeTree;var g=r(5979);Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return g.fromCodePoint}});var y=r(642);Object.defineProperty(t,"htmlDecodeTree",{enumerable:!0,get:function(){return y.htmlDecodeTree}});var m=r(1838);Object.defineProperty(t,"xmlDecodeTree",{enumerable:!0,get:function(){return m.xmlDecodeTree}})},642(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.htmlDecodeTree=void 0;const n=r(275);t.htmlDecodeTree=(0,n.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg")},1838(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xmlDecodeTree=void 0;const n=r(275);t.xmlDecodeTree=(0,n.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg")},4865(e,t){"use strict";var r;t.BinTrieFlags=void 0,function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(r||(t.BinTrieFlags=r={}))},275(e,t){"use strict";t.decodeBase64=function(e){const t="function"==typeof atob?atob(e):"function"==typeof Buffer.from?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),r=-2&t.length,n=new Uint16Array(r/2);for(let e=0,i=0;e0&&s.has(this.stack[0]);){const e=this.stack.shift();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,e,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(g.has(e)?this.foreignContext.unshift(!0):y.has(e)&&this.foreignContext.unshift(!1))),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var r,n,i,s,a,o,c,l;this.endIndex=t;let u=this.getSlice(e,t);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),this.htmlMode&&(g.has(u)||y.has(u))&&this.foreignContext.shift(),this.isVoidElement(u))this.htmlMode&&"br"===u&&(null===(s=(i=this.cbs).onopentagname)||void 0===s||s.call(i,"br"),null===(o=(a=this.cbs).onopentag)||void 0===o||o.call(a,"br",{},!0),null===(l=(c=this.cbs).onclosetag)||void 0===l||l.call(c,"br",!1));else{const e=this.stack.indexOf(u);if(-1!==e)for(let t=0;t<=e;t++){const i=this.stack.shift();null===(n=(r=this.cbs).onclosetag)||void 0===n||n.call(r,i,t!==e)}else this.htmlMode&&"p"===u&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,r;const n=this.tagname;this.endOpenTag(e),this.stack[0]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.shift())}onattribname(e,t){this.startIndex=e;const r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=(0,c.fromCodePoint)(e)}onattribend(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===o.QuoteType.Double?'"':e===o.QuoteType.Single?"'":e===o.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(m);let r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r}ondeclaration(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`!${e}`,`!${r}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`?${e}`,`?${r}`)}this.startIndex=t+1}oncomment(e,t,r){var n,i,s,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,r){var n,i,s,a,o,c,l,u,h,f;this.endIndex=t;const A=this.getSlice(e,t-r);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,A),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(u=(l=this.cbs).oncomment)||void 0===u||u.call(l,`[CDATA[${A}]]`),null===(f=(h=this.cbs).oncommentend)||void 0===f||f.call(h)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e=this.buffers[0].length;)this.shiftBuffer();let r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndexthis.emitCodePoint(e,t))}reset(){this.state=s.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=s.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=s.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=s.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===i.Gt||o(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=i.LowerA&&e<=i.LowerZ||e>=i.UpperA&&e<=i.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=s.SpecialStartSequence}stateBeforeTagName(e){if(e===i.ExclamationMark)this.state=s.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===i.Questionmark)this.state=s.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=s.InTagName:t===l.ScriptEnd[2]?this.state=s.BeforeSpecialS:t===l.TitleEnd[2]||t===l.XmpEnd[2]?this.state=s.BeforeSpecialT:this.state=s.InTagName}else e===i.Slash?this.state=s.BeforeClosingTagName:(this.state=s.Text,this.stateText(e))}stateInTagName(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){o(e)||(e===i.Gt?this.state=s.Text:(this.state=this.isTagStartChar(e)?s.InClosingTagName:s.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===i.Gt||o(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===i.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=s.InSpecialTag,this.sequenceIndex=0):this.state=s.Text,this.sectionStart=this.index+1):e===i.Slash?this.state=s.InSelfClosingTag:o(e)||(this.state=s.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===i.Gt?(this.cbs.onselfclosingtag(this.index),this.state=s.Text,this.sectionStart=this.index+1,this.isSpecial=!1):o(e)||(this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===i.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=s.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===i.Eq?this.state=s.BeforeAttributeValue:e===i.Slash||e===i.Gt?(this.cbs.onattribend(a.NoValue,this.sectionStart),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):o(e)||(this.cbs.onattribend(a.NoValue,this.sectionStart),this.state=s.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===i.DoubleQuote?(this.state=s.InAttributeValueDq,this.sectionStart=this.index+1):e===i.SingleQuote?(this.state=s.InAttributeValueSq,this.sectionStart=this.index+1):o(e)||(this.sectionStart=this.index,this.state=s.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===i.DoubleQuote?a.Double:a.Single,this.index+1),this.state=s.BeforeAttributeName):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,i.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,i.SingleQuote)}stateInAttributeValueNoQuotes(e){o(e)||e===i.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a.Unquoted,this.index),this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===i.OpeningSquareBracket?(this.state=s.CDATASequence,this.sequenceIndex=0):this.state=e===i.Dash?s.BeforeComment:s.InDeclaration}stateInDeclaration(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===i.Dash?(this.state=s.InCommentLike,this.currentSequence=l.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=s.InDeclaration}stateInSpecialComment(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===l.ScriptEnd[3]?this.startSpecial(l.ScriptEnd,4):t===l.StyleEnd[3]?this.startSpecial(l.StyleEnd,4):(this.state=s.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){switch(32|e){case l.TitleEnd[3]:this.startSpecial(l.TitleEnd,4);break;case l.TextareaEnd[3]:this.startSpecial(l.TextareaEnd,4);break;case l.XmpEnd[3]:this.startSpecial(l.XmpEnd,4);break;default:this.state=s.InTagName,this.stateInTagName(e)}}startEntity(){this.baseState=this.state,this.state=s.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?n.DecodingMode.Strict:this.baseState===s.Text||this.baseState===s.InSpecialTag?n.DecodingMode.Legacy:n.DecodingMode.Attribute)}stateInEntity(){const e=this.index-this.offset,t=this.entityDecoder.write(this.buffer,e);if(t>=0)this.state=this.baseState,0===t&&(this.index-=1);else{if(e=e||(this.state===s.InCommentLike?this.currentSequence===l.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===s.InTagName||this.state===s.BeforeAttributeName||this.state===s.BeforeAttributeValue||this.state===s.AfterAttributeName||this.state===s.InAttributeName||this.state===s.InAttributeValueSq||this.state===s.InAttributeValueDq||this.state===s.InAttributeValueNq||this.state===s.InClosingTagName||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){this.baseState!==s.Text&&this.baseState!==s.InSpecialTag?(this.sectionStarte(t,n.root),t,r);return new c.Parser(n,t)},t.createDomStream=function(e,t,r){const n=new u.DomHandler(e,t,r);return new c.Parser(n,t)},t.parseFeed=function(e,t=y){return(0,p.getFeed)(A(e,t))};const c=r(2067);var l=r(2067);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return l.Parser}});const u=r(1141);var h=r(1141);function f(e,t){const r=new u.DomHandler(void 0,t);return new c.Parser(r,t).end(e),r.root}function A(e,t){return f(e,t).children}Object.defineProperty(t,"DomHandler",{enumerable:!0,get:function(){return h.DomHandler}}),Object.defineProperty(t,"DefaultHandler",{enumerable:!0,get:function(){return h.DomHandler}});var d=r(8391);Object.defineProperty(t,"Tokenizer",{enumerable:!0,get:function(){return o(d).default}}),Object.defineProperty(t,"QuoteType",{enumerable:!0,get:function(){return d.QuoteType}}),t.ElementType=a(r(5413));const p=r(8888);var g=r(8888);Object.defineProperty(t,"getFeed",{enumerable:!0,get:function(){return g.getFeed}});const y={xmlMode:!0};t.DomUtils=a(r(8888))},5042(e){e.exports={nanoid:(e=21)=>{let t="",r=0|e;for(;r--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(r=t)=>{let n="",i=0|r;for(;i--;)n+=e[Math.random()*e.length|0];return n}}},9275(e,t,r){"use strict";r.r(t),r.d(t,{ArrayStream:()=>n.ArrayStream,cancel:()=>n.cancel,clone:()=>n.clone,concat:()=>n.concat,concatStream:()=>n.concatStream,concatUint8Array:()=>i.Cs,fromAsync:()=>n.fromAsync,getReader:()=>n.getReader,getWriter:()=>n.getWriter,isArrayStream:()=>i.AS,isStream:()=>i.rL,isUint8Array:()=>i.mg,parse:()=>n.parse,passiveClone:()=>n.passiveClone,pipe:()=>n.pipe,readToEnd:()=>n.readToEnd,slice:()=>n.slice,toArrayStream:()=>n.toArrayStream,toStream:()=>n.toStream,transform:()=>n.transform,transformAsync:()=>n.transformAsync,transformPair:()=>n.transformPair,transformRaw:()=>n.transformRaw});var n=r(8877),i=r(7971)},8877(e,t,r){"use strict";r.d(t,{ArrayStream:()=>o.S5,cancel:()=>B,clone:()=>b,concat:()=>u,concatStream:()=>h,fromAsync:()=>C,getReader:()=>S,getWriter:()=>D,parse:()=>w,passiveClone:()=>v,pipe:()=>f,readToEnd:()=>I,slice:()=>k,toArrayStream:()=>l,toStream:()=>c,transform:()=>p,transformAsync:()=>g,transformPair:()=>m,transformRaw:()=>A});var n=r(7971);const i=new WeakSet,s=Symbol("externalBuffer");function a(e){if(this.stream=e,e[s]&&(this[s]=e[s].slice()),(0,n.AS)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if((0,n.rL)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||i.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{i.add(e)}catch{}}}a.prototype.read=async function(){return this[s]&&this[s].length?{done:!1,value:this[s].shift()}:this._read()},a.prototype.releaseLock=function(){this[s]&&(this.stream[s]=this[s]),this._releaseLock()},a.prototype.cancel=function(e){return this._cancel(e)},a.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?u(t):void 0;const i=n.indexOf("\n")+1;i&&(e=u(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},a.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(k(t,1)),r},a.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?u(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=u(t);return this.unshift(k(r,e)),k(r,0,e)}}},a.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},a.prototype.unshift=function(...e){this[s]||(this[s]=[]),1===e.length&&(0,n.mg)(e[0])&&this[s].length&&e[0].length&&this[s][0].byteOffset>=e[0].length?this[s][0]=new Uint8Array(this[s][0].buffer,this[s][0].byteOffset-e[0].length,this[s][0].byteLength+e[0].length):this[s].unshift(...e.filter(e=>e&&e.length))},a.prototype.readToEnd=async function(e=u){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};var o=r(9844);function c(e){return(0,n.rL)(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function l(e){const t=(0,n.rL)(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new o.S5;return(async()=>{const t=D(r);await t.write(e),await t.close()})(),r}function u(e){return e.some(e=>(0,n.rL)(e)&&!(0,n.AS)(e))?h(e):e.some(e=>(0,n.AS)(e))?function(e){const t=new o.S5;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>f(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):(0,n.Cs)(e)}function h(e){const t=e.map(c),r=d(async function(e){await Promise.all(i.map(t=>B(t,e)))});let n=Promise.resolve();const i=t.map((e,i)=>m(e,(e,s)=>(n=n.then(()=>f(e,r.writable,{preventClose:i!==t.length-1})),n)));return r.readable}async function f(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:a=!1}={}){if((0,n.rL)(e)&&!(0,n.AS)(e)&&!(0,n.AS)(t)){e=c(e);try{if(e[s]){const r=D(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function p(e,t=()=>{},r=()=>{},i={highWaterMark:0}){if((0,n.rL)(e))return y(e,t,r,i);const s=t(e),a=r();return void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a}async function g(e,t=async()=>{},r=async()=>{},i={highWaterMark:1}){if((0,n.rL)(e))return y(e,t,r,i);const s=await t(e),a=await r();return void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a}function y(e,t,r,i){if((0,n.AS)(e)){const n=new o.S5;return(async()=>{const i=D(n);try{const n=await I(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if((0,n.rL)(e)){let n,s=!1;return new ReadableStream({start(){n=e.getReader()},async pull(i){if(s)return i.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await n.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void i.enqueue(c);if(o)return i.close(),void e.releaseLock()}}catch(e){i.error(e)}},async cancel(e){await n.cancel(e)}},i)}throw new Error("Unreachable")}function m(e,t){if((0,n.rL)(e)&&!(0,n.AS)(e)){let r;const n=new TransformStream({start(e){r=e}}),i=f(e,n.writable),s=d(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=l(e);const r=new o.S5;return t(e,r),r}function w(e,t){let r;const n=m(e,(e,i)=>{const s=S(e);s.remainder=()=>(s.releaseLock(),f(e,i),n),r=t(s)});return r}function b(e){if((0,n.AS)(e))return e.clone();if((0,n.rL)(e)){const t=function(e){if((0,n.AS)(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if((0,n.rL)(e)){const t=c(e).tee();return t[0][s]=t[1][s]=e[s],t}return[k(e),k(e)]}(e);return E(e,t[0]),t[1]}return k(e)}function v(e){return(0,n.AS)(e)?b(e):(0,n.rL)(e)?new ReadableStream({start(t){const r=m(e,async(e,r)=>{const n=S(e),i=D(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch{}return void await i.close()}try{t.enqueue(r)}catch{}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});E(e,r)}}):k(e)}function E(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function k(e,t=0,r=1/0){if((0,n.AS)(e))throw new Error("Not implemented");if((0,n.rL)(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=k(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return p(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>k(u(n),t,r))}if(0===t&&r<0){let n;return p(e,e=>{const i=n?u([n,e]):e;if(i.length>=-r)return n=k(i,r),k(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),C(async()=>k(await I(e),t,r))}return e[s]&&(e=u(e[s].concat([e]))),(0,n.mg)(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function I(e,t=u){return(0,n.AS)(e)?e.readToEnd(t):(0,n.rL)(e)?S(e).readToEnd(t):e}async function B(e,t){if((0,n.rL)(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function C(e){const t=new o.S5;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function S(e){return new a(e)}function D(e){return new o.AU(e)}},7971(e,t,r){"use strict";r.d(t,{AS:()=>n.AS,Cs:()=>a,mg:()=>s,rL:()=>i});var n=r(9844);function i(e){if((0,n.AS)(e))return"array";if(globalThis.ReadableStream&&globalThis.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function s(e){return Uint8Array.prototype.isPrototypeOf(e)}function a(e){if(1===e.length)return e[0];let t=0;for(let r=0;rc,AU:()=>l,S5:()=>o});const n=Symbol("doneWritingPromise"),i=Symbol("doneWritingResolve"),s=Symbol("doneWritingReject"),a=Symbol("readingIndex");class o extends Array{constructor(){super(),Object.setPrototypeOf(this,o.prototype),this[n]=new Promise((e,t)=>{this[i]=e,this[s]=t}),this[n].catch(()=>{})}}function c(e){return e&&e.getReader&&Array.isArray(e)}function l(e){if(!c(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}o.prototype.getReader=function(){return void 0===this[a]&&(this[a]=0),{read:async()=>(await this[n],this[a]===this.length?{value:void 0,done:!0}:{value:this[this[a]++],done:!1})}},o.prototype.readToEnd=async function(e){await this[n];const t=e(this.slice(this[a]));return this.length=0,t},o.prototype.clone=function(){const e=new o;return e[n]=this[n].then(()=>{e.push(...this)}),e},l.prototype.write=async function(e){this.stream.push(e)},l.prototype.close=async function(){this.stream[i]()},l.prototype.abort=async function(e){return this.stream[s](e),e},l.prototype.releaseLock=function(){}},6382(e,t,r){"use strict";r.d(t,{Message:()=>Qa,PublicKey:()=>Da,SecretKeyPacket:()=>na,SecretSubkeyPacket:()=>aa,config:()=>O,createCleartextMessage:()=>ja,createMessage:()=>Ga,encrypt:()=>_a,encryptKey:()=>qa,enums:()=>N,generateKey:()=>Ja,readCleartextMessage:()=>Ya,readKey:()=>Pa,readKeys:()=>Ta,readMessage:()=>La,revokeKey:()=>Za,sign:()=>Va});const n="undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{};function i(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(e)}const s=Symbol("doneWritingPromise"),a=Symbol("doneWritingResolve"),o=Symbol("doneWritingReject"),c=Symbol("readingIndex");class l extends Array{constructor(){super(),Object.setPrototypeOf(this,l.prototype),this[s]=new Promise((e,t)=>{this[a]=e,this[o]=t}),this[s].catch(()=>{})}}function u(e){return e&&e.getReader&&Array.isArray(e)}function h(e){if(!u(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}function f(e){if(u(e))return"array";if(n.ReadableStream&&n.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(n.ReadableStream&&e instanceof n.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function A(e){return Uint8Array.prototype.isPrototypeOf(e)}function d(e){if(1===e.length)return e[0];let t=0;for(let r=0;r(await this[s],this[c]===this.length?{value:void 0,done:!0}:{value:this[this[c]++],done:!1})}},l.prototype.readToEnd=async function(e){await this[s];const t=e(this.slice(this[c]));return this.length=0,t},l.prototype.clone=function(){const e=new l;return e[s]=this[s].then(()=>{e.push(...this)}),e},h.prototype.write=async function(e){this.stream.push(e)},h.prototype.close=async function(){this.stream[a]()},h.prototype.abort=async function(e){return this.stream[o](e),e},h.prototype.releaseLock=function(){},"object"==typeof n.process&&n.process.versions;const p=new WeakSet,g=Symbol("externalBuffer");function y(e){if(this.stream=e,e[g]&&(this[g]=e[g].slice()),u(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(f(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||p.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{p.add(e)}catch{}}}function m(e){return f(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function w(e){const t=f(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new l;return(async()=>{const t=R(r);await t.write(e),await t.close()})(),r}function b(e){return e.some(e=>f(e)&&!u(e))?function(e){const t=e.map(m),r=E(async function(e){await Promise.all(i.map(t=>T(t,e)))});let n=Promise.resolve();const i=t.map((e,i)=>C(e,(e,s)=>(n=n.then(()=>v(e,r.writable,{preventClose:i!==t.length-1})),n)));return r.readable}(e):e.some(e=>u(e))?function(e){const t=new l;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>v(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):d(e)}async function v(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(f(e)&&!u(e)&&!u(t)){e=m(e);try{if(e[g]){const r=R(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function k(e,t=()=>{},r=()=>{},n={highWaterMark:0}){if(f(e))return B(e,t,r,n);const i=t(e),s=r();return void 0!==i&&void 0!==s?b([i,s]):void 0!==i?i:s}async function I(e,t=async()=>{},r=async()=>{},n={highWaterMark:1}){if(f(e))return B(e,t,r,n);const i=await t(e),s=await r();return void 0!==i&&void 0!==s?b([i,s]):void 0!==i?i:s}function B(e,t,r,n){if(u(e)){const n=new l;return(async()=>{const i=R(n);try{const n=await P(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?b([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(f(e)){let i,s=!1;return new ReadableStream({start(){i=e.getReader()},async pull(n){if(s)return n.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await i.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void n.enqueue(c);if(o)return n.close(),void e.releaseLock()}}catch(e){n.error(e)}},async cancel(e){await i.cancel(e)}},n)}throw new Error("Unreachable")}function C(e,t){if(f(e)&&!u(e)){let r;const n=new TransformStream({start(e){r=e}}),i=v(e,n.writable),s=E(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=w(e);const r=new l;return t(e,r),r}function S(e,t){let r;const n=C(e,(e,i)=>{const s=M(e);s.remainder=()=>(s.releaseLock(),v(e,i),n),r=t(s)});return r}function D(e){if(u(e))return e.clone();if(f(e)){const t=function(e){if(u(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if(f(e)){const t=m(e).tee();return t[0][g]=t[1][g]=e[g],t}return[U(e),U(e)]}(e);return K(e,t[0]),t[1]}return U(e)}function x(e){return u(e)?D(e):f(e)?new ReadableStream({start(t){const r=C(e,async(e,r)=>{const n=M(e),i=R(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch{}return void await i.close()}try{t.enqueue(r)}catch{}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});K(e,r)}}):U(e)}function K(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function U(e,t=0,r=1/0){if(u(e))throw new Error("Not implemented");if(f(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=U(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return k(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>U(b(n),t,r))}if(0===t&&r<0){let n;return k(e,e=>{const i=n?b([n,e]):e;if(i.length>=-r)return n=U(i,r),U(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),F(async()=>U(await P(e),t,r))}return e[g]&&(e=b(e[g].concat([e]))),A(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function P(e,t=b){return u(e)?e.readToEnd(t):f(e)?M(e).readToEnd(t):e}async function T(e,t){if(f(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function F(e){const t=new l;return(async()=>{const r=R(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function M(e){return new y(e)}function R(e){return new h(e)}y.prototype.read=async function(){return this[g]&&this[g].length?{done:!1,value:this[g].shift()}:this._read()},y.prototype.releaseLock=function(){this[g]&&(this.stream[g]=this[g]),this._releaseLock()},y.prototype.cancel=function(e){return this._cancel(e)},y.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?b(t):void 0;const i=n.indexOf("\n")+1;i&&(e=b(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},y.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(U(t,1)),r},y.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?b(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=b(t);return this.unshift(U(r,e)),U(r,0,e)}}},y.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},y.prototype.unshift=function(...e){this[g]||(this[g]=[]),1===e.length&&A(e[0])&&this[g].length&&e[0].length&&this[g][0].byteOffset>=e[0].length?this[g][0]=new Uint8Array(this[g][0].buffer,this[g][0].byteOffset-e[0].length,this[g][0].byteLength+e[0].length):this[g].unshift(...e.filter(e=>e&&e.length))},y.prototype.readToEnd=async function(e=b){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};const Q=Symbol("byValue");var N={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28},symmetric:{idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20,padding:21},literal:{binary:"b".charCodeAt(),text:"t".charCodeAt(),utf8:"u".charCodeAt(),mime:"m".charCodeAt()},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuerKeyID:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw new Error("Invalid enum value.")},read:function(e,t){if(e[Q]||(e[Q]=[],Object.entries(e).forEach(([t,r])=>{e[Q][r]=t})),void 0!==e[Q][t])return e[Q][t];throw new Error("Invalid enum value.")}};const O={preferredHashAlgorithm:N.hash.sha512,preferredSymmetricAlgorithm:N.symmetric.aes256,preferredCompressionAlgorithm:N.compression.uncompressed,aeadProtect:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:N.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:N.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},maxArgon2MemoryExponent:30,allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([N.symmetric.aes128,N.symmetric.aes192,N.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.3.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,maxDecompressedMessageSize:1/0,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([N.hash.md5,N.hash.ripemd]),rejectMessageHashAlgorithms:new Set([N.hash.md5,N.hash.ripemd,N.hash.sha1]),rejectPublicKeyAlgorithms:new Set([N.publicKey.elgamal,N.publicKey.dsa]),rejectCurves:new Set([N.curve.secp256k1])},L=(()=>{try{return!1}catch{}return!1})(),G={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:A,isStream:f,getNobleCurve:async(e,t)=>{if(!O.useEllipticFallback)throw new Error("This curve is only supported in the full build of OpenPGP.js");const{nobleCurves:r}=await Promise.resolve().then(function(){return zu});switch(e){case N.publicKey.ecdh:case N.publicKey.ecdsa:{const e=r.get(t);if(!e)throw new Error("Unsupported curve");return e}case N.publicKey.x448:return r.get("x448");case N.publicKey.ed448:return r.get("ed448");default:throw new Error("Unsupported curve")}},readNumber:function(e){let t=0;for(let r=0;r>8*(t-n-1)&255;return r},readDate:function(e){const t=G.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return G.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=7+(e[0]<<8|e[1])>>>3;return G.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.lengtht)throw new Error("Input array too long");const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=G.uint8ArrayBitLength(e);if(0===t)throw new Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return G.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t>1);for(let r=0;r>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t="0123456789abcdef";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),r},stringToUint8Array:function(e){return k(e,e=>{if(!G.isString(e))throw new Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;rr("",!0))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return k(e,r,()=>r(new Uint8Array,!0))},concat:b,concatUint8Array:d,equalsUint8Array:function(e,t){if(!G.isUint8Array(e)||!G.isUint8Array(t))throw new Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r=0;r--)if(t(e[r],r,e))return r;return-1},writeChecksum:function(e){let t=0;for(let r=0;r>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){const e=void 0!==n&&n.crypto&&n.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!e)throw new Error("The WebCrypto API is not available");return e},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){return"undefined"!=typeof navigator?navigator.hardwareConcurrency||1:this.nodeRequire("os").cpus().length},isEmailAddress:function(e){return!!G.isString(e)&&/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return k(e,e=>{let r;t&&(e=G.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let s=0;for(let t=0;tt?new Uint8Array([13]):void 0)},nativeEOL:function(e){let t=!1;return k(e,e=>{let r;13===(e=t&&10!==e[0]?G.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)},()=>t?new Uint8Array([13]):void 0)},removeTrailingSpaces:function(e){return e.split("\n").map(e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)}).join("\n")},wrapError:function(e,t){if(!t)return e instanceof Error?e:new Error(e);if(e instanceof Error){try{e.message+=": "+t.message,e.cause=t}catch{}return e}return new Error(e+": "+t.message,{cause:t})},constructAllowedPackets:function(e){const t={};return e.forEach(e=>{if(!e.tag)throw new Error("Invalid input: expected a packet class");t[e.tag]=e}),t},anyPromise:function(e){return new Promise((t,r)=>{let n;Promise.all(e.map(async e=>{try{t(await e)}catch(e){n=e}})).then(()=>{r(n)})})},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let s=0;for(let n=0;n{t=G.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,s=W(t.subarray(0,i));for(let e=0;et.length?W(t)+"\n":"")}function J(e){let t="";return k(e,e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const s=Y(t.substr(0,i));return t=t.substr(i),s},()=>Y(t))}function Z(e){return J(e.replace(/-/g,"+").replace(/_/g,"/"))}function q(e,t){let r=j(e).replace(/[\r\n]/g,"");return r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,""),r}function _(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw new Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?N.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?N.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?N.armor.signed:/MESSAGE/.test(t[1])?N.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?N.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?N.armor.privateKey:/SIGNATURE/.test(t[1])?N.armor.signature:void 0}function V(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function z(e){const t=function(e){let t=13501623;return k(e,e=>{const r=$?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e>24&255]^X[1][t>>16&255]^X[2][t>>8&255]^X[3][255&t];for(let n=4*r;n>8^X[0][255&t^e[n]]},()=>new Uint8Array([t,t>>8,t>>16]))}(e);return j(t)}H?(W=e=>H.from(e).toString("base64"),Y=e=>{const t=H.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(W=e=>btoa(G.uint8ArrayToString(e)),Y=e=>G.stringToUint8Array(atob(e)));const X=[new Array(255),new Array(255),new Array(255),new Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(8388608&t?8801531:0);X[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)X[1][e]=X[0][e]>>8^X[0][255&X[0][e]];for(let e=0;e<=255;e++)X[2][e]=X[1][e]>>8^X[0][255&X[1][e]];for(let e=0;e<=255;e++)X[3][e]=X[2][e]>>8^X[0][255&X[2][e]];const $=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function ee(e){for(let t=0;t=0&&r!==e.length-1&&(t=e.slice(0,r)),t}function re(e){return new Promise((t,r)=>{try{const n=/^-----[^-]+-----$/m,i=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const a=[];let o,c,l=a,u=[];const h=J(C(e,async(e,f)=>{const A=M(e);try{for(;;){let e=await A.readLine();if(void 0===e)throw new Error("Misformed armored text");if(e=G.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(o)c||s!==N.armor.signed||(n.test(e)?(u=u.join("\r\n"),c=!0,ee(l),l=[],o=!1):u.push(e.replace(/^- /,"")));else if(n.test(e)&&r(new Error("Mandatory blank line missing between armor headers and armor data")),i.test(e)){if(ee(l),o=!0,c||s!==N.armor.signed){t({text:u,data:h,headers:a,type:s});break}}else l.push(e);else n.test(e)&&(s=_(e))}}catch(e){return void r(e)}const d=R(f);try{for(;;){await d.ready;const{done:e,value:t}=await A.read();if(e)throw new Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await A.readToEnd();e.length||(e=""),e=r+e,e=G.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw new Error("Misformed armored text");const i=te(t[0].slice(0,-1));await d.write(i);break}await d.write(r)}await d.ready,await d.close()}catch(e){await d.abort(e)}}))}catch(e){r(e)}}).then(async e=>(u(e.data)&&(e.data=await P(e.data)),e))}function ne(e,t,r,n,i,s=!1,a=O){let o,c;e===N.armor.signed&&(o=t.text,c=t.hash,t=t.data);const l=s&&x(t),u=[];switch(e){case N.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case N.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case N.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push(c?`Hash: ${c}\n\n`:"\n"),u.push(o.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP SIGNATURE-----\n");break;case N.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE-----\n");break;case N.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case N.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case N.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP SIGNATURE-----\n")}return G.concat(u)}const ie=BigInt(0),se=BigInt(1);function ae(e){const t="0123456789ABCDEF";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),BigInt("0x0"+r)}function oe(e,t){const r=e%t;return rie;){const e=n&se;n>>=se,s=ce(e,s*i%r,s),i=i*i%r}return s}function ue(e){return e>=ie?e:-e}function he(e,t){const{gcd:r,x:n}=function(e,t){let r=BigInt(0),n=BigInt(1),i=BigInt(1),s=BigInt(0),a=ue(e),o=ue(t);const c=eNumber.MAX_SAFE_INTEGER)throw new Error("Number can only safely store up to 53 bits");return t}function Ae(e,t){return(e>>BigInt(t)&se)===ie?0:1}function de(e){const t=e>=se)!==t;)r++;return r}function pe(e){const t=e>=r)!==t;)n++;return n}function ge(e,t="be",r){let n=e.toString(16);n.length%2==1&&(n="0"+n);const i=n.length/2,s=new Uint8Array(r||i),a=r?r-i:0;let o=0;for(;oe&&(a=oe(a,i<oe(e,r)!==t)}(e)||!function(e,t=BigInt(2)){return le(t,e-be,e)===be}(e)||!function(e,t){const r=de(e);t||(t=Math.max(1,r/48|0));const n=e-be;let i=0;for(;!Ae(n,i);)i++;const s=e>>BigInt(i);for(;t>0;t--){let t,r=le(we(BigInt(2),n),s,e);if(r!==be&&r!==n){for(t=1;tBigInt(e)),Ie=G.getWebCrypto(),Be=G.getNodeCrypto(),Ce=Be&&Be.getHashes();function Se(e){if(Be&&Ce.includes(e))return async function(t){const r=Be.createHash(e);return k(t,e=>{r.update(e)},()=>new Uint8Array(r.digest()))}}function De(e,t){const r=async()=>{const{nobleHashes:t}=await Promise.resolve().then(function(){return Bh}),r=t.get(e);if(!r)throw new Error("Unsupported hash");return r};return async function(e){if(u(e)&&(e=await P(e)),G.isStream(e)){const t=(await r()).create();return k(e,e=>{t.update(e)},()=>t.digest())}return Ie&&t?new Uint8Array(await Ie.digest(t,e)):(await r())(e)}}const xe=Se("md5")||De("md5"),Ke=Se("sha1")||De("sha1","SHA-1"),Ue=Se("sha224")||De("sha224"),Pe=Se("sha256")||De("sha256","SHA-256"),Te=Se("sha384")||De("sha384","SHA-384"),Fe=Se("sha512")||De("sha512","SHA-512"),Me=Se("ripemd160")||De("ripemd160"),Re=Se("sha3-256")||De("sha3_256"),Qe=Se("sha3-512")||De("sha3_512");function Ne(e,t){switch(e){case N.hash.md5:return xe(t);case N.hash.sha1:return Ke(t);case N.hash.ripemd:return Me(t);case N.hash.sha256:return Pe(t);case N.hash.sha384:return Te(t);case N.hash.sha512:return Fe(t);case N.hash.sha224:return Ue(t);case N.hash.sha3_256:return Re(t);case N.hash.sha3_512:return Qe(t);default:throw new Error("Unsupported hash function")}}function Oe(e){switch(e){case N.hash.md5:return 16;case N.hash.sha1:case N.hash.ripemd:return 20;case N.hash.sha256:return 32;case N.hash.sha384:return 48;case N.hash.sha512:return 64;case N.hash.sha224:return 28;case N.hash.sha3_256:return 32;case N.hash.sha3_512:return 64;default:throw new Error("Invalid hash algorithm.")}}const Le=[];function Ge(e,t){const r=e.length;if(r>t-11)throw new Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r=8&!n;if(t)return G.selectUint8Array(a,s,t);if(a)return s;throw new Error("Decryption error")}function We(e,t,r){let n;if(t.length!==Oe(e))throw new Error("Invalid hash length");const i=new Uint8Array(Le[e].length);for(n=0;n=r.length)throw new Error("Digest size cannot exceed key modulus size");if(t&&!G.isStream(t))if(G.getWebCrypto())try{return await async function(e,t,r,n,i,s,a,o){const c=_e(r,n,i,s,a,o),l={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},u=await Ye.importKey("jwk",c,l,!1,["sign"]);return new Uint8Array(await Ye.sign("RSASSA-PKCS1-v1_5",u,t))}(N.read(N.webHash,e),t,r,n,i,s,a,o)}catch(e){G.printDebugError(e)}else if(G.getNodeCrypto())return function(e,t,r,n,i,s,a,o){const c=je.createSign(N.read(N.hash,e));c.write(t),c.end();const l=_e(r,n,i,s,a,o);return new Uint8Array(c.sign({key:l,format:"jwk",type:"pkcs1"}))}(e,t,r,n,i,s,a,o);return function(e,t,r,n){t=ae(t);return ge(le(ae(We(e,n,pe(t))),r=ae(r),t),"be",pe(t))}(e,r,i,c)}async function qe(e,t,r){return G.getNodeCrypto()?function(e,t,r){const n={key:Ve(t,r),format:"jwk",type:"pkcs1",padding:je.constants.RSA_PKCS1_PADDING};return new Uint8Array(je.publicEncrypt(n,e))}(e,t,r):function(e,t,r){if(t=ae(t),e=ae(Ge(e,pe(t))),r=ae(r),e>=t)throw new Error("Message size cannot exceed modulus size");return ge(le(e,r,t),"be",pe(t))}(e,t,r)}function _e(e,t,r,n,i,s){const a=ae(n),o=ae(i),c=ae(r);let l=oe(c,o-Je),u=oe(c,a-Je);return u=ge(u),l=ge(l),{kty:"RSA",n:q(e),e:q(t),d:q(r),p:q(i),q:q(n),dp:q(l),dq:q(u),qi:q(s),ext:!0}}function Ve(e,t){return{kty:"RSA",n:q(e),e:q(t),ext:!0}}function ze(e,t){return{n:Z(e.n),e:ge(t),d:Z(e.d),p:Z(e.q),q:Z(e.p),u:Z(e.qi)}}const Xe=BigInt(1),$e={"2a8648ce3d030107":N.curve.nistP256,"2b81040022":N.curve.nistP384,"2b81040023":N.curve.nistP521,"2b8104000a":N.curve.secp256k1,"2b06010401da470f01":N.curve.ed25519Legacy,"2b060104019755010501":N.curve.curve25519Legacy,"2b2403030208010107":N.curve.brainpoolP256r1,"2b240303020801010b":N.curve.brainpoolP384r1,"2b240303020801010d":N.curve.brainpoolP512r1};class et{constructor(e){if(e instanceof et)this.oid=e.oid;else if(G.isArray(e)||G.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw new Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw new Error("Invalid oid")}write(){return G.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return G.uint8ArrayToHex(this.oid)}getName(){const e=$e[this.toHex()];if(!e)throw new Error("Unknown curve object identifier.");return e}}function tt(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=G.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function rt(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):G.concatUint8Array([new Uint8Array([255]),G.writeNumber(e,4)])}function nt(e){if(e<0||e>30)throw new Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function it(e){return new Uint8Array([192|e])}function st(e,t){return G.concatUint8Array([it(e),rt(t)])}function at(e){return[N.packet.literalData,N.packet.compressedData,N.packet.symmetricallyEncryptedData,N.packet.symEncryptedIntegrityProtectedData,N.packet.aeadEncryptedData].includes(e)}async function ot(e,t,r){let n,i;try{const s=await e.peekBytes(2);if(!s||s.length<2||!(128&s[0]))throw new Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const a=await e.readByte();let o,c,u=-1,h=-1;h=0,64&a&&(h=1),h?u=63&a:(u=(63&a)>>2,c=3&a);const f=at(u);let A,d=null;if(t&&f){if("array"===t){const e=new l;n=R(e),d=e}else{const e=new TransformStream;n=R(e.writable),d=e.readable}i=r({tag:u,packet:d})}else d=[];do{if(h){const t=await e.readByte();if(A=!1,t<192)o=t;else if(t>=192&&t<224)o=(t-192<<8)+await e.readByte()+192;else if(t>223&&t<255){if(o=1<<(31&t),A=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte()}else switch(c){case 0:o=await e.readByte();break;case 1:o=await e.readByte()<<8|await e.readByte();break;case 2:o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte();break;default:o=1/0}if(o>0){let t=0;for(;;){n&&await n.ready;const{done:r,value:i}=await e.read();if(r){if(o===1/0)break;throw new Error("Unexpected end of packet")}const s=o===1/0?i:i.subarray(0,o-t);if(n?await n.write(s):d.push(s),t+=i.length,t>=o){e.unshift(i.subarray(o-t+i.length));break}}}}while(A);n?(await n.ready,await n.close()):(d=G.concatUint8Array(d),await r({tag:u,packet:d}))}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i}}class ct extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="UnsupportedError"}}class lt extends ct{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="UnknownPacketError"}}class ut extends ct{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="MalformedPacketError"}}class ht{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}async function ft(e){switch(e){case N.publicKey.ed25519:try{const e=G.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(Z(n.x)),seed:Z(r.d)}}catch(t){if("NotSupportedError"!==t.name)throw t;const{default:r}=await Promise.resolve().then(function(){return gf}),n=me(gt(e)),{publicKey:i}=r.sign.keyPair.fromSeed(n);return{A:i,seed:n}}case N.publicKey.ed448:{const e=await G.getNobleCurve(N.publicKey.ed448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,seed:t}}default:throw new Error("Unsupported EdDSA algorithm")}}async function At(e,t,r,n,i,s){if(Oe(t){if(e===N.publicKey.ed25519)return{kty:"OKP",crv:"Ed25519",x:q(t),ext:!0};throw new Error("Unsupported EdDSA algorithm")},wt=(e,t,r)=>{if(e===N.publicKey.ed25519){const n=mt(e,t);return n.d=q(r),n}throw new Error("Unsupported EdDSA algorithm")};var bt=Object.freeze({__proto__:null,generate:ft,getPayloadSize:gt,getPreferredHashAlgo:yt,sign:At,validateParams:pt,verify:dt});function vt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Et(e,...t){if(!vt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function kt(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 It(e,t){Et(e);const r=t.outputLen;if(e.length68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function Kt(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!vt(e))throw new Error("Uint8Array expected, got "+typeof e);e=Nt(e)}return e}function Ut(e,t){return e.buffer===t.buffer&&e.byteOffset{function r(r,...n){if(Et(r),!xt)throw new Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){const t=n[0];if(!t)throw new Error("nonce / iv required");e.varSizeNonce?Et(t):Et(t,e.nonceLength)}const i=e.tagLength;i&&void 0!==n[1]&&Et(n[1]);const s=t(r,...n),a=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error("cipher output not supported");Et(t)}};let o=!1;return{encrypt(e,t){if(o)throw new Error("cannot encrypt() twice with same key + nonce");return o=!0,Et(e),a(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(Et(e),i&&e.length>i&s),o=Number(r&s);e.setUint32(t+0,a,n),e.setUint32(t+4,o,n)}function Qt(e){return e.byteOffset%4==0}function Nt(e){return Uint8Array.from(e)}const Ot=16,Lt=new Uint8Array(16),Gt=Ct(Lt),Ht=(e,t,r,n)=>({s3:r<<31|n>>>1,s2:t<<31|r>>>1,s1:e<<31|t>>>1,s0:e>>>1^225<<24&-(1&n)}),Wt=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class Yt{constructor(e,t){this.blockLen=Ot,this.outputLen=Ot,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,Et(e=Kt(e),16);const r=Dt(e);let n=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),a=r.getUint32(12,!1);const o=[];for(let e=0;e<128;e++)o.push({s0:Wt(n),s1:Wt(i),s2:Wt(s),s3:Wt(a)}),({s0:n,s1:i,s2:s,s3:a}=Ht(n,i,s,a));const c=(l=t||1024)>65536?8:l>1024?4:2;var l;if(![1,2,4,8].includes(c))throw new Error("ghash: invalid window size, expected 2, 4 or 8");this.W=c;const u=128/c,h=this.windowSize=2**c,f=[];for(let e=0;e>>c-a-1&1))continue;const{s0:l,s1:u,s2:h,s3:f}=o[c*e+a];r^=l,n^=u,i^=h,s^=f}f.push({s0:r,s1:n,s2:i,s3:s})}this.t=f}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:i,t:s,windowSize:a}=this;let o=0,c=0,l=0,u=0;const h=(1<>>8*e&255;for(let e=8/i-1;e>=0;e--){const r=t>>>i*e&h,{s0:n,s1:A,s2:d,s3:p}=s[f*a+r];o^=n,c^=A,l^=d,u^=p,f+=1}}this.s0=o,this.s1=c,this.s2=l,this.s3=u}update(e){kt(this),Et(e=Kt(e));const t=Ct(e),r=Math.floor(e.length/Ot),n=e.length%Ot;for(let e=0;e>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(Nt(e));super(r,t),St(r)}update(e){e=Kt(e),kt(this);const t=Ct(e),r=e.length%Ot,n=Math.floor(e.length/Ot);for(let e=0;ee(r,t.length).update(Kt(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const Zt=Jt((e,t)=>new Yt(e,t));Jt((e,t)=>new jt(e,t));const qt=16,_t=new Uint8Array(qt);function Vt(e){return e<<1^283&-(e>>7)}function zt(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=Vt(e);return r}const Xt=(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=Vt(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return St(e),t})(),$t=Xt.map((e,t)=>Xt.indexOf(t)),er=e=>e<<24|e>>>8,tr=e=>e<<8|e>>>24,rr=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function nr(e,t){if(256!==e.length)throw new Error("Wrong sbox length");const r=new Uint32Array(256).map((r,n)=>t(e[n])),n=r.map(tr),i=n.map(tr),s=i.map(tr),a=new Uint32Array(65536),o=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const u=256*t+l;a[u]=r[t]^n[l],o[u]=i[t]^s[l],c[u]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:i,T3:s,T01:a,T23:o}}const ir=nr(Xt,e=>zt(e,3)<<24|e<<16|e<<8|zt(e,2)),sr=nr($t,e=>zt(e,11)<<24|zt(e,13)<<16|zt(e,9)<<8|zt(e,14)),ar=(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=Vt(r))e[t]=r;return e})();function or(e){Et(e);const t=e.length;if(![16,24,32].includes(t))throw new Error("aes: invalid key size, should be 16, 24 or 32, got "+t);const{sbox2:r}=ir,n=[];Qt(e)||n.push(e=Nt(e));const i=Ct(e),s=i.length,a=e=>ur(r,e,e,e,e),o=new Uint32Array(t+28);o.set(i);for(let e=s;e6&&e%s===4&&(t=a(t)),o[e]=o[e-s]^t}return St(...n),o}function cr(e){const t=or(e),r=t.slice(),n=t.length,{sbox2:i}=ir,{T0:s,T1:a,T2:o,T3:c}=sr;for(let e=0;e>>8&255]^o[n>>>16&255]^c[n>>>24]}return r}function lr(e,t,r,n,i,s){return e[r<<8&65280|n>>>8&255]^t[i>>>8&65280|s>>>24&255]}function ur(e,t,r,n,i){return e[255&t|65280&r]|e[n>>>16&255|i>>>16&65280]<<16}function hr(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=ir;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const l=e.length/4-2;for(let s=0;s=0;e--)r=r+(255&s[e])|0,s[e]=255&r,r>>>=8;({s0:o,s1:c,s2:l,s3:u}=hr(e,a[0],a[1],a[2],a[3]))}const A=qt*Math.floor(h.length/4);if(A>>0,o.setUint32(u,f,t),({s0:A,s1:d,s2:p,s3:g}=hr(e,a[0],a[1],a[2],a[3]));const y=qt*Math.floor(c.length/4);if(yr(e,t),decrypt:(e,t)=>r(e,t)}}),gr=Ft({blockSize:16,nonceLength:16},function(e,t,r={}){const n=!r.disablePadding;return{encrypt(r,i){const s=or(e),{b:a,o,out:c}=function(e,t,r){Et(e);let n=e.length;const i=n%qt;if(!t&&0!==i)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");Qt(e)||(e=Nt(e));const s=Ct(e);if(t){let e=qt-i;e||(e=qt),n+=e}return Pt(e,r=Mt(n,r)),{b:s,o:Ct(r),out:r}}(r,n,i);let l=t;const u=[s];Qt(l)||u.push(l=Nt(l));const h=Ct(l);let f=h[0],A=h[1],d=h[2],p=h[3],g=0;for(;g+4<=a.length;)f^=a[g+0],A^=a[g+1],d^=a[g+2],p^=a[g+3],({s0:f,s1:A,s2:d,s3:p}=hr(s,f,A,d,p)),o[g++]=f,o[g++]=A,o[g++]=d,o[g++]=p;if(n){const e=function(e){const t=new Uint8Array(16),r=Ct(t);t.set(e);const n=qt-e.length;for(let e=qt-n;e16)throw new Error("aes/pcks5: wrong padding");const i=e.subarray(0,-n);for(let t=0;tr(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}});const mr=Ft({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){if(t.length<8)throw new Error("aes/gcm: invalid nonce length");function n(e,t,n){const i=function(e,t,r,n,i){const s=i?i.length:0,a=e.create(r,n.length+s);i&&a.update(i);const o=function(e,t,r){const n=new Uint8Array(16),i=Dt(n);return Rt(i,0,BigInt(t),r),Rt(i,8,BigInt(e),r),n}(8*n.length,8*s,t);a.update(n),a.update(o);const c=a.digest();return St(o),c}(Zt,!1,e,n,r);for(let e=0;e=2**32)throw new Error("plaintext should be less than 4gb");const r=or(e);if(16===t.length)br(r,t);else{const e=Ct(t);let n=e[0],i=e[1];for(let t=0,s=1;t<6;t++)for(let t=2;t=2**32)throw new Error("ciphertext should be less than 4gb");const r=cr(e),n=t.length/8-1;if(1===n)vr(r,t);else{const e=Ct(t);let i=e[0],s=e[1];for(let t=0,a=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,a--){s^=rr(a);const{s0:n,s1:o,s2:c,s3:l}=fr(r,i,s,e[t],e[t+1]);i=n,s=o,e[t]=c,e[t+1]=l}e[0]=i,e[1]=s}r.fill(0)}},kr=new Uint8Array(8).fill(166),Ir=Ft({blockSize:8},e=>({encrypt(t){if(!t.length||t.length%8!=0)throw new Error("invalid plaintext length");if(8===t.length)throw new Error("8-byte keys not allowed in AESKW, use AESKWP instead");const r=function(...e){let t=0;for(let r=0;r{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);if(r.x!==n.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(Z(n.x)),k:Z(r.d)}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then(function(){return gf}),{secretKey:r,publicKey:n}=t.box.keyPair();return{A:n,k:r}}case N.publicKey.x448:{const e=await G.getNobleCurve(N.publicKey.x448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,k:t}}default:throw new Error("Unsupported ECDH algorithm")}}async function Rr(e,t,r){switch(e){case N.publicKey.x25519:try{const{ephemeralPublicKey:n,sharedSecret:i}=await Lr(e,t),s=await Gr(e,n,t,r);return G.equalsUint8Array(i,s)}catch{return!1}case N.publicKey.x448:{const e=(await G.getNobleCurve(N.publicKey.x448)).getPublicKey(r);return G.equalsUint8Array(t,e)}default:return!1}}async function Qr(e,t,r){const{ephemeralPublicKey:n,sharedSecret:i}=await Lr(e,r),s=G.concatUint8Array([n,r,i]);switch(e){case N.publicKey.x25519:{const e=N.symmetric.aes128,{keySize:r}=xr(e),i=await Tr(N.hash.sha256,s,new Uint8Array,Fr.x25519,r);return{ephemeralPublicKey:n,wrappedKey:await Ur(e,i,t)}}case N.publicKey.x448:{const e=N.symmetric.aes256,{keySize:r}=xr(N.symmetric.aes256),i=await Tr(N.hash.sha512,s,new Uint8Array,Fr.x448,r);return{ephemeralPublicKey:n,wrappedKey:await Ur(e,i,t)}}default:throw new Error("Unsupported ECDH algorithm")}}async function Nr(e,t,r,n,i){const s=await Gr(e,t,n,i),a=G.concatUint8Array([t,n,s]);switch(e){case N.publicKey.x25519:{const e=N.symmetric.aes128,{keySize:t}=xr(e);return Pr(e,await Tr(N.hash.sha256,a,new Uint8Array,Fr.x25519,t),r)}case N.publicKey.x448:{const e=N.symmetric.aes256,{keySize:t}=xr(N.symmetric.aes256);return Pr(e,await Tr(N.hash.sha512,a,new Uint8Array,Fr.x448,t),r)}default:throw new Error("Unsupported ECDH algorithm")}}function Or(e){switch(e){case N.publicKey.x25519:return 32;case N.publicKey.x448:return 56;default:throw new Error("Unsupported ECDH algorithm")}}async function Lr(e,t){switch(e){case N.publicKey.x25519:try{const r=G.getWebCrypto(),n=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),i=await r.exportKey("jwk",n.publicKey);if((await r.exportKey("jwk",n.privateKey)).x!==i.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}const s=Wr(e,t),a=await r.importKey("jwk",s,"X25519",!1,[]),o=await r.deriveBits({name:"X25519",public:a},n.privateKey,8*Or(e));return{sharedSecret:new Uint8Array(o),ephemeralPublicKey:new Uint8Array(Z(i.x))}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return gf}),{secretKey:n,publicKey:i}=r.box.keyPair(),s=r.scalarMult(n,t);return Hr(s),{ephemeralPublicKey:i,sharedSecret:s}}case N.publicKey.x448:{const e=await G.getNobleCurve(N.publicKey.x448),{secretKey:r,publicKey:n}=e.keygen(),i=e.getSharedSecret(r,t);return Hr(i),{ephemeralPublicKey:n,sharedSecret:i}}default:throw new Error("Unsupported ECDH algorithm")}}async function Gr(e,t,r,n){switch(e){case N.publicKey.x25519:try{const i=G.getWebCrypto(),s=function(e,t,r){if(e===N.publicKey.x25519){const n=Wr(e,t);return n.d=q(r),n}throw new Error("Unsupported ECDH algorithm")}(e,r,n),a=Wr(e,t),o=await i.importKey("jwk",s,"X25519",!1,["deriveKey","deriveBits"]),c=await i.importKey("jwk",a,"X25519",!1,[]),l=await i.deriveBits({name:"X25519",public:c},o,8*Or(e));return new Uint8Array(l)}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return gf}),i=r.scalarMult(n,t);return Hr(i),i}case N.publicKey.x448:{const e=(await G.getNobleCurve(N.publicKey.x448)).getSharedSecret(n,t);return Hr(e),e}default:throw new Error("Unsupported ECDH algorithm")}}function Hr(e){let t=0;for(let r=0;r0===s[0]&&hn(a,r,s.subarray(1),i);if(n&&!G.isStream(n))switch(a.type){case"web":try{const e=await async function(e,t,{r,s:n},i,s){const a=sn(e.payloadSize,Zr[e.name],s),o=await on.importKey("jwk",a,{name:"ECDSA",namedCurve:Zr[e.name],hash:{name:N.read(N.webHash,e.hash)}},!1,["verify"]),c=G.concatUint8Array([r,n]).buffer;return on.verify({name:"ECDSA",namedCurve:Zr[e.name],hash:{name:N.read(N.webHash,t)}},o,c,i)}(a,t,r,n,i);return e||o()}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;G.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":{const e=function(e,t,{r,s:n},i,s){const a=G.nodeRequire("eckey-utils"),o=G.getNodeBuffer(),{publicKey:c}=a.generateDer({curveName:_r[e.name],publicKey:o.from(s)}),l=cn.createVerify(N.read(N.hash,t));l.write(i),l.end();const u=G.concatUint8Array([r,n]);try{return l.verify({key:c,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},u)}catch{return!1}}(a,t,r,n,i);return e||o()}}return await hn(a,r,s,i)||o()}async function hn(e,t,r,n){return(await G.getNobleCurve(N.publicKey.ecdsa,e.name)).verify(G.concatUint8Array([t.r,t.s]),r,n,{lowS:!1})}var fn=Object.freeze({__proto__:null,sign:ln,validateParams:async function(e,t,r){const n=new zr(e);if(n.keyType!==N.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=me(8),i=N.hash.sha256,s=await Ne(i,n);try{const a=await ln(e,i,n,t,r,s);return await un(e,i,a,n,t,s)}catch{return!1}}default:return en(N.publicKey.ecdsa,e,t,r)}},verify:un});async function An(e,t,r,n,i,s){if(tn(new zr(e),n),Oe(t)0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(G.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw new Error("Invalid padding")}function mn(e,t,r,n){return G.concatUint8Array([t.write(),new Uint8Array([e]),r.write(),G.stringToUint8Array("Anonymous Sender "),n])}async function wn(e,t,r,n,i=!1,s=!1){let a;if(i){for(a=0;a=0&&0===t[a];a--);t=t.subarray(0,a+1)}return(await Ne(e,G.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function bn(e,t,r,n,i){const s=function(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}(r),a=new zr(e);tn(a,n);const{publicKey:o,sharedKey:c}=await async function(e,t){switch(e.type){case"curve25519Legacy":{const{sharedSecret:r,ephemeralPublicKey:n}=await Lr(N.publicKey.x25519,t.subarray(1));return{publicKey:G.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),n]),sharedKey:r}}case"web":if(e.web&&G.getWebCrypto())try{return await async function(e,t){const r=G.getWebCrypto(),n=sn(e.payloadSize,e.web,t);let i=r.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),s=r.importKey("jwk",n,{name:"ECDH",namedCurve:e.web},!1,[]);[i,s]=await Promise.all([i,s]);let a=r.deriveBits({name:"ECDH",namedCurve:e.web,public:s},i.privateKey,e.sharedSize),o=r.exportKey("jwk",i.publicKey);[a,o]=await Promise.all([a,o]);const c=new Uint8Array(a);return{publicKey:new Uint8Array(nn(o,e.wireFormatLeadingByte)),sharedKey:c}}(e,t)}catch(r){return G.printDebugError(r),kn(e,t)}break;case"node":return function(e,t){const r=G.getNodeCrypto().createECDH(e.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t));return{publicKey:new Uint8Array(r.getPublicKey()),sharedKey:n}}(e,t);default:return kn(e,t)}}(a,n),l=mn(N.publicKey.ecdh,e,t,i),{keySize:u}=xr(t.cipher),h=await wn(t.hash,c,u,l);return{publicKey:o,wrappedKey:await Ur(t.cipher,h,s)}}async function vn(e,t,r,n,i,s,a){const o=new zr(e);tn(o,i),tn(o,r);const{sharedKey:c}=await async function(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519Legacy":{const e=n.slice().reverse();return{secretKey:e,sharedKey:await Gr(N.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&G.getWebCrypto())try{return await async function(e,t,r,n){const i=G.getWebCrypto(),s=an(e.payloadSize,e.web,r,n);let a=i.importKey("jwk",s,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]);const o=sn(e.payloadSize,e.web,t);let c=i.importKey("jwk",o,{name:"ECDH",namedCurve:e.web},!0,[]);[a,c]=await Promise.all([a,c]);let l=i.deriveBits({name:"ECDH",namedCurve:e.web,public:c},a,e.sharedSize),u=i.exportKey("jwk",a);[l,u]=await Promise.all([l,u]);const h=new Uint8Array(l);return{secretKey:Z(u.d),sharedKey:h}}(e,t,r,n)}catch(r){return G.printDebugError(r),En(e,t,n)}break;case"node":return function(e,t,r){const n=G.getNodeCrypto().createECDH(e.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n);default:return En(e,t,n)}}(o,r,i,s),l=mn(N.publicKey.ecdh,e,t,a),{keySize:u}=xr(t.cipher);let h;for(let e=0;e<3;e++)try{const r=await wn(t.hash,c,u,l,1===e,2===e);return yn(await Pr(t.cipher,r,n))}catch(e){h=e}throw h}async function En(e,t,r){return{secretKey:r,sharedKey:(await G.getNobleCurve(N.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function kn(e,t){const r=await G.getNobleCurve(N.publicKey.ecdh,e.name),{publicKey:n,privateKey:i}=await e.genKeyPair();return{publicKey:n,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var In=Object.freeze({__proto__:null,decrypt:vn,encrypt:bn,validateParams:async function(e,t,r){return en(N.publicKey.ecdh,e,t,r)}}),Bn=Object.freeze({__proto__:null,CurveWithOID:zr,ecdh:In,ecdhX:Yr,ecdsa:fn,eddsa:bt,eddsaLegacy:gn,generate:Xr,getPreferredHashAlgo:$r});const Cn=BigInt(0),Sn=BigInt(1);class Dn{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw new Error("Invalid symmetric key")}write(){return G.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class xn{constructor(e){if(e){const{hash:t,cipher:r}=e;this.hash=t,this.cipher=r}else this.hash=null,this.cipher=null}read(e){if(e.length<4||3!==e[0]||1!==e[1])throw new ct("Cannot read KDFParams");return this.hash=e[2],this.cipher=e[3],4}write(){return new Uint8Array([3,1,this.hash,this.cipher])}}class Kn{static fromObject({wrappedKey:e,algorithm:t}){const r=new Kn;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=G.readExactSubarray(e,t,t+r),t+=r}write(){return G.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Un(e,t,r,n,i,s){switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:a}=t,{d:o,p:c,q:l,u}=r;return async function(e,t,r,n,i,s,a,o){if(G.getNodeCrypto()&&!o)try{return function(e,t,r,n,i,s,a){const o={key:_e(t,r,n,i,s,a),format:"jwk",type:"pkcs1",padding:je.constants.RSA_PKCS1_PADDING};try{return new Uint8Array(je.privateDecrypt(o,e))}catch{throw new Error("Decryption error")}}(e,t,r,n,i,s,a)}catch(e){G.printDebugError(e)}return function(e,t,r,n,i,s,a,o){if(e=ae(e),t=ae(t),r=ae(r),n=ae(n),i=ae(i),s=ae(s),a=ae(a),e>=t)throw new Error("Data too large.");const c=oe(n,s-Je),l=oe(n,i-Je),u=we(BigInt(2),t),h=le(he(u,t),r,t),f=le(e=oe(e*h,t),l,i);let A=oe(a*(le(e,c,s)-f),s)*i+f;return A=oe(A*u,t),He(ge(A,"be",pe(t)),o)}(e,t,r,n,i,s,a,o)}(e,i,a,o,c,l,u,s)}case N.publicKey.elgamal:{const{c1:e,c2:i}=n;return async function(e,t,r,n,i){return e=ae(e),t=ae(t),r=ae(r),He(ge(oe(he(le(e,n=ae(n),r),r)*t,r),"be",pe(r)),i)}(e,i,t.p,r.x,s)}case N.publicKey.ecdh:{const{oid:e,Q:s,kdfParams:a}=t,{d:o}=r,{V:c,C:l}=n;return vn(e,a,c,l.data,s,o,i)}case N.publicKey.x25519:case N.publicKey.x448:{const{A:i}=t,{k:s}=r,{ephemeralPublicKey:a,C:o}=n;if(null!==o.algorithm&&!G.isAES(o.algorithm))throw new Error("AES session key expected");return Nr(e,a,o.wrappedKey,i,s)}default:throw new Error("Unknown public key encryption algorithm.")}}function Pn(e,t,r){let n=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(n));n+=e.length+2;const r=G.readMPI(t.subarray(n));n+=r.length+2;const i=G.readMPI(t.subarray(n));n+=i.length+2;const s=G.readMPI(t.subarray(n));return n+=s.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:s}}}case N.publicKey.dsa:case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case N.publicKey.ecdsa:case N.publicKey.ecdh:{const i=Rn(e,r.oid);let s=G.readMPI(t.subarray(n));return n+=s.length+2,s=G.leftPad(s,i),{read:n,privateParams:{d:s}}}case N.publicKey.eddsaLegacy:{const i=Rn(e,r.oid);if(r.oid.getName()!==N.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let s=G.readMPI(t.subarray(n));return n+=s.length+2,s=G.leftPad(s,i),{read:n,privateParams:{seed:s}}}case N.publicKey.ed25519:case N.publicKey.ed448:{const r=Rn(e),i=G.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{seed:i}}}case N.publicKey.x25519:case N.publicKey.x448:{const r=Rn(e),i=G.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{k:i}}}default:throw new ct("Unknown public key encryption algorithm.")}}function Tn(e,t){const r=new Set([N.publicKey.ed25519,N.publicKey.x25519,N.publicKey.ed448,N.publicKey.x448]),n=Object.keys(t).map(n=>{const i=t[n];return G.isUint8Array(i)?r.has(e)?i:G.uint8ArrayToMPI(i):i.write()});return G.concatUint8Array(n)}function Fn(e){const{keySize:t}=xr(e);return me(t)}function Mn(e){try{e.getName()}catch{throw new ct("Unknown curve OID")}}function Rn(e,t){switch(e){case N.publicKey.ecdsa:case N.publicKey.ecdh:case N.publicKey.eddsaLegacy:return new zr(t).payloadSize;case N.publicKey.ed25519:case N.publicKey.ed448:return gt(e);case N.publicKey.x25519:case N.publicKey.x448:return Or(e);default:throw new Error("Unknown elliptic algo")}}const Qn=G.getWebCrypto(),Nn=G.getNodeCrypto(),On=Nn?Nn.getCiphers():[],Ln={idea:On.includes("idea-cfb")?"idea-cfb":void 0,tripledes:On.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:On.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:On.includes("bf-cfb")?"bf-cfb":void 0,aes128:On.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:On.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:On.includes("aes-256-cfb")?"aes-256-cfb":void 0};function Gn(e){const{blockSize:t}=xr(e),r=me(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return G.concat([r,n])}async function Hn(e,t,r,n,i){const s=N.read(N.symmetric,e);if(G.getNodeCrypto()&&Ln[s])return function(e,t,r,n){const i=N.read(N.symmetric,e),s=new Nn.createCipheriv(Ln[i],t,n);return k(r,e=>new Uint8Array(s.update(e)))}(e,t,r,n);if(G.isAES(e))return async function(e,t,r,n){if(Qn&&await Yn.isSupported(e)){const i=new Yn(e,t,n);return G.isStream(r)?I(r,e=>i.encryptChunk(e),()=>i.finish()):i.encrypt(r)}if(G.isStream(r)){const i=new jn(!0,e,t,n);return I(r,e=>i.processChunk(e),()=>i.finish())}return yr(t,n).encrypt(r)}(e,t,r,n);const a=new(await Cr(e))(t),o=a.blockSize,c=n.slice();let l=new Uint8Array;const u=e=>{e&&(l=G.concatUint8Array([l,e]));const t=new Uint8Array(l.length);let r,n=0;for(;e?l.length>=o:l.length;){const e=a.encrypt(c);for(r=0;rnew Uint8Array(s.update(e)))}(e,t,r,n);if(G.isAES(e))return function(e,t,r,n){if(G.isStream(r)){const i=new jn(!1,e,t,n);return I(r,e=>i.processChunk(e),()=>i.finish())}return yr(t,n).decrypt(r)}(e,t,r,n);const s=new(await Cr(e))(t),a=s.blockSize;let o=n,c=new Uint8Array;const l=e=>{e&&(c=G.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=a:c.length;){const e=s.encrypt(o);for(o=c.subarray(0,a),r=0;r!0,()=>!1)}async _runCBC(e,t){const r="AES-CBC";this.keyRef=this.keyRef||await Qn.importKey("raw",this.key,r,!1,["encrypt"]);const n=await Qn.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e);return new Uint8Array(n).subarray(0,e.length)}async encryptChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=G.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=G.concatUint8Array([this.prevBlock,n.subarray(0,n.length-this.blockSize)]),s=await this._runCBC(i);return Jn(s,n),this.prevBlock=s.slice(-this.blockSize),r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,s}let n;if(this.i+=r.length,this.i===this.nextBlock.length){const t=this.nextBlock;n=await this._runCBC(this.prevBlock),Jn(n,t),this.prevBlock=n.slice(),this.i=0;const i=e.subarray(r.length);this.nextBlock.set(i,this.i),this.i+=i.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);const t=this.nextBlock,r=await this._runCBC(this.prevBlock);Jn(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){const t=(await this._runCBC(G.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return Jn(t,e),this.clearSensitiveData(),t}}class jn{constructor(e,t,r,n){this.forEncryption=e;const{blockSize:i}=xr(t);this.key=Br.expandKeyLE(r),n.byteOffset%4!=0&&(n=n.slice()),this.prevBlock=Zn(n),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){const t=Zn(e),r=new Uint8Array(e.length),n=Zn(r);for(let e=0;e+4<=n.length;e+=4){const{s0:r,s1:i,s2:s,s3:a}=Br.encrypt(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);n[e+0]=t[e+0]^r,n[e+1]=t[e+1]^i,n[e+2]=t[e+2]^s,n[e+3]=t[e+3]^a,this.prevBlock=(this.forEncryption?n:t).slice(e,e+4)}return r}async processChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=G.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=this._runCFB(n);return r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,i}let n;if(this.i+=r.length,this.i===this.nextBlock.length){n=this._runCFB(this.nextBlock),this.i=0;const t=e.subarray(r.length);this.nextBlock.set(t,this.i),this.i+=t.length}else n=new Uint8Array;return n}async finish(){let e;return e=0===this.i?new Uint8Array:this._runCFB(this.nextBlock).subarray(0,this.i),this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function Jn(e,t){const r=Math.min(e.length,t.length);for(let n=0;nnew Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),qn=G.getWebCrypto(),_n=G.getNodeCrypto(),Vn=16;function zn(e,t){const r=e.length-Vn;for(let n=0;ngr(t,Ai,{disablePadding:!0}).encrypt(e),s=e=>gr(t,Ai,{disablePadding:!0}).decrypt(e);let a;function o(e,t,r,s){const o=t.length/li|0;!function(e,t){const r=G.nbits(Math.max(e.length,t.length)/li|0)-1;for(let e=n+1;e<=r;e++)a[e]=G.double(a[e-1]);n=r}(t,s);const c=G.concatUint8Array([Ai.subarray(0,15-r.length),di,r]),l=63&c[15];c[15]&=192;const u=i(c),h=G.concatUint8Array([u,fi(u.subarray(0,8),u.subarray(1,9))]),f=G.shiftRight(h.subarray(0+(l>>3),17+(l>>3)),8-(7&l)).subarray(1),A=new Uint8Array(li),d=new Uint8Array(t.length+16);let p,g=0;for(p=0;p=r)throw new Error("Signature size cannot exceed modulus size");const s=ge(le(t,n,r),"be",pe(r)),a=We(e,i,pe(r));return G.equalsUint8Array(s,a)}(e,r,n,i,s)}(t,i,G.leftPad(r.s,e.length),e,a,s)}case N.publicKey.dsa:{const{g:e,p:t,q:i,y:a}=n,{r:o,s:c}=r;return async function(e,t,r,n,i,s,a,o){if(t=ae(t),r=ae(r),s=ae(s),a=ae(a),i=ae(i),o=ae(o),t<=Cn||t>=a||r<=Cn||r>=a)return G.printDebug("invalid DSA Signature"),!1;const c=oe(ae(n.subarray(0,pe(a))),a),l=he(r,a);if(l===Cn)return G.printDebug("invalid DSA Signature"),!1;i=oe(i,s),o=oe(o,s);const u=oe(c*l,a),h=oe(t*l,a);return oe(oe(le(i,u,s)*le(o,h,s),s),a)===t}(0,o,c,s,e,t,i,a)}case N.publicKey.ecdsa:{const{oid:e,Q:a}=n,o=new zr(e).payloadSize;return un(e,t,{r:G.leftPad(r.r,o),s:G.leftPad(r.s,o)},i,a,s)}case N.publicKey.eddsaLegacy:{const{oid:e,Q:i}=n,a=new zr(e).payloadSize;return dn(e,t,{r:G.leftPad(r.r,a),s:G.leftPad(r.s,a)},0,i,s)}case N.publicKey.ed25519:case N.publicKey.ed448:{const{A:i}=n;return dt(e,t,r,0,i,s)}default:throw new Error("Unknown signature algorithm.")}}bi.getNonce=function(e,t){const r=e.slice();for(let e=0;e30)throw new ki("'config.maxArgon2MemoryExponent' exceeds the max allowed value of 30");if(this.encodedM>r.maxArgon2MemoryExponent)throw new ki("Argon2 required memory exceeds `config.maxArgon2MemoryExponent`");const n=1<1048576&&(Bi=Ii(),Bi.catch(()=>{})),r}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new ki("Could not allocate required memory for Argon2"):e}}}class Si{constructor(e,t=O){this.algorithm=N.hash.sha256,this.type=N.read(N.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=me(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==G.uint8ArrayToString(e.subarray(t,t+3)))throw new ct("Unknown s2k type.");if(t+=3,1001!==1e3+e[t++])throw new ct("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new ct("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...G.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([N.write(N.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw new Error("GNU s2k type not supported.");default:throw new Error("Unknown s2k type.")}return G.concatUint8Array(e)}async produceKey(e,t,r){e=G.encodeUTF8(e);const n=[];let i=0,s=0;for(;i>1|(21845&ji)<<1;Ji=(61680&(Ji=(52428&Ji)>>2|(13107&Ji)<<2))>>4|(3855&Ji)<<4,Yi[ji]=((65280&Ji)>>8|(255&Ji)<<8)>>1}var Zi=function(e,t,r){for(var n=e.length,i=0,s=new Pi(t);i>c]=l}else for(a=new Pi(n),i=0;i>15-e[i]);return a},qi=new Ui(288);for(ji=0;ji<144;++ji)qi[ji]=8;for(ji=144;ji<256;++ji)qi[ji]=9;for(ji=256;ji<280;++ji)qi[ji]=7;for(ji=280;ji<288;++ji)qi[ji]=8;var _i=new Ui(32);for(ji=0;ji<32;++ji)_i[ji]=5;var Vi=Zi(qi,9,0),zi=Zi(qi,9,1),Xi=Zi(_i,5,0),$i=Zi(_i,5,1),es=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},ts=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},rs=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ns=function(e){return(e+7)/8|0},is=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new Ui(e.subarray(t,r))},ss=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],as=function(e,t,r){var n=new Error(t||ss[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,as),!r)throw n;return n},os=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8},cs=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8,e[n+2]|=r>>16},ls=function(e,t){for(var r=[],n=0;nf&&(f=s[n].s);var A=new Pi(f+1),d=us(r[u-1],A,0);if(d>t){n=0;var p=0,g=d-t,y=1<t))break;p+=y-(1<>=g;p>0;){var w=s[n].s;A[w]=0&&p;--n){var b=s[n].s;A[b]==t&&(--A[b],++p)}d=t}return{t:new Ui(A),l:d}},us=function(e,t,r){return-1==e.s?Math.max(us(e.l,t,r+1),us(e.r,t,r+1)):t[e.s]=r},hs=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new Pi(++t),n=0,i=e[0],s=1,a=function(e){r[n++]=e},o=1;o<=t;++o)if(e[o]==i&&o!=t)++s;else{if(!i&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(i),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(i);s=1,i=e[o]}return{c:r.subarray(0,n),n:t}},fs=function(e,t){for(var r=0,n=0;n>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var s=0;s4&&!C[Ri[D-1]];--D);var x,K,U,P,T=l+5<<3,F=fs(i,qi)+fs(s,_i)+a,M=fs(i,f)+fs(s,p)+a+14+3*D+fs(k,C)+2*k[16]+3*k[17]+7*k[18];if(c>=0&&T<=F&&T<=M)return As(t,u,e.subarray(c,c+l));if(os(t,u,1+(M15&&(os(t,u,O[I]>>5&127),u+=O[I]>>12)}}}else x=Vi,K=qi,U=Xi,P=_i;for(I=0;I255){cs(t,u,x[257+(L=G>>18&31)]),u+=K[L+257],L>7&&(os(t,u,G>>23&31),u+=Fi[L]);var H=31&G;cs(t,u,U[H]),u+=P[H],H>3&&(cs(t,u,G>>5&8191),u+=Mi[H])}else cs(t,u,x[G]),u+=K[G]}return cs(t,u,x[256]),u+K[256]},ps=new Ti([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),gs=new Ui(0),ys=function(){var e=1,t=0;return{p:function(r){for(var n=e,i=t,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}e=n,t=i},d:function(){return(255&(e%=65521))<<24|(65280&e)<<8|(255&(t%=65521))<<8|t>>8}}},ms=function(e,t,r,n,i){if(!i&&(i={l:1},t.dictionary)){var s=t.dictionary.subarray(-32768),a=new Ui(s.length+e.length);a.set(s),a.set(e,s.length),e=a,i.w=s.length}return function(e,t,r,n,i,s){var a=s.z||e.length,o=new Ui(n+a+5*(1+Math.ceil(a/7e3))+i),c=o.subarray(n,o.length-i),l=s.l,u=7&(s.r||0);if(t){u&&(c[0]=s.r>>3);for(var h=ps[t-1],f=h>>13,A=8191&h,d=(1<7e3||C>24576)&&(P>423||!l)){u=ds(e,c,0,b,v,E,I,C,D,B-D,u),C=k=I=0,D=B;for(var T=0;T<286;++T)v[T]=0;for(T=0;T<30;++T)E[T]=0}var F=2,M=0,R=A,Q=K-U&32767;if(P>2&&x==w(B-Q))for(var N=Math.min(f,P)-1,O=Math.min(32767,B),L=Math.min(258,P);Q<=O&&--R&&K!=U;){if(e[B+F]==e[B+F-Q]){for(var G=0;GF){if(F=G,M=Q,G>N)break;var H=Math.min(Q,G-2),W=0;for(T=0;TW&&(W=j,U=Y)}}}Q+=(K=U)-(U=p[K])&32767}if(M){b[C++]=268435456|Li[F]<<18|Wi[M];var J=31&Li[F],Z=31&Wi[M];I+=Fi[J]+Mi[Z],++v[257+J],++E[Z],S=B+F,++k}else b[C++]=e[B],++v[e[B]]}}for(B=Math.max(B,S);B=a&&(c[u/8|0]=l,q=a),u=As(c,u+1,e.subarray(B,q))}s.i=a}return is(o,0,n+ns(u)+i)}(e,null==t.level?6:t.level,null==t.mem?i.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,r,n,i)},ws=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},bs=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new Ui(98304),this.o.dictionary){var r=this.o.dictionary.subarray(-32768);this.b.set(r,32768-r.length),this.s.i=32768-r.length}}return e.prototype.p=function(e,t){this.ondata(ms(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||as(5),this.s.l&&as(4);var r=e.length+this.s.z;if(r>this.b.length){if(r>2*this.b.length-32768){var n=new Ui(-32768&r);n.set(this.b.subarray(0,this.s.z)),this.b=n}var i=this.b.length-this.s.z;this.b.set(e.subarray(0,i),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(i),32768),this.s.z=e.length-i+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2),t&&(this.s=this.o={},this.b=gs)},e.prototype.flush=function(e){if(this.ondata||as(5),this.s.l&&as(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2,e){var t=new Ui(6);t[0]=this.s.r>>3;var r=As(t,this.s.r,gs);this.s.r=0,this.ondata(t.subarray(0,r>>3),!1)}},e}(),vs=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var r=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:r?r.length:0},this.o=new Ui(32768),this.p=new Ui(0),r&&this.o.set(r)}return e.prototype.e=function(e){if(this.ondata||as(5),this.d&&as(4),this.p.length){if(e.length){var t=new Ui(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,r=function(e,t,r){var n=e.length;if(!n||t.f&&!t.l)return r||new Ui(0);var i=!r,s=i||2!=t.i,a=t.i;i&&(r=new Ui(3*n));var o=function(e){var t=r.length;if(e>t){var n=new Ui(Math.max(2*t,e));n.set(r),r=n}},c=t.f||0,l=t.p||0,u=t.b||0,h=t.l,f=t.d,A=t.m,d=t.n,p=8*n;do{if(!h){c=ts(e,l,1);var g=ts(e,l+1,3);if(l+=3,!g){var y=e[(D=ns(l)+4)-4]|e[D-3]<<8,m=D+y;if(m>n){a&&as(0);break}s&&o(u+y),r.set(e.subarray(D,m),u),t.b=u+=y,t.p=l=8*m,t.f=c;continue}if(1==g)h=zi,f=$i,A=9,d=5;else if(2==g){var w=ts(e,l,31)+257,b=ts(e,l+10,15)+4,v=w+ts(e,l+5,31)+1;l+=14;for(var E=new Ui(v),k=new Ui(19),I=0;I>4)<16)E[I++]=D;else{var K=0,U=0;for(16==D?(U=3+ts(e,l,3),l+=2,K=E[I-1]):17==D?(U=3+ts(e,l,7),l+=3):18==D&&(U=11+ts(e,l,127),l+=7);U--;)E[I++]=K}}var P=E.subarray(0,w),T=E.subarray(w);A=es(P),d=es(T),h=Zi(P,A,1),f=Zi(T,d,1)}else as(1);if(l>p){a&&as(0);break}}s&&o(u+131072);for(var F=(1<>4;if((l+=15&K)>p){a&&as(0);break}if(K||as(2),Q<256)r[u++]=Q;else{if(256==Q){R=l,h=null;break}var N=Q-254;if(Q>264){var O=Fi[I=Q-257];N=ts(e,l,(1<>4;if(L||as(3),l+=15&L,T=Hi[G],G>3&&(O=Mi[G],T+=rs(e,l)&(1<p){a&&as(0);break}s&&o(u+131072);var H=u+N;if(u>4>7||(r[0]<<8|r[1])%31)&&as(6,"invalid zlib data"),(r[1]>>5&1)==+!n&&as(6,"invalid zlib data: "+(32&r[1]?"need":"unexpected")+" dictionary"),2+(r[1]>>3&4))),this.v=0}var r,n;t&&(this.p.length<4&&as(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),vs.prototype.c.call(this,t)},e}(),Is="undefined"!=typeof TextDecoder&&new TextDecoder;try{Is.decode(gs,{stream:!0})}catch(e){}class Bs{static get tag(){return N.packet.literalData}constructor(e=new Date){this.format=N.literal.utf8,this.date=G.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=N.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||G.isStream(this.text))&&(this.text=G.decodeUTF8(G.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=G.canonicalizeEOL(G.encodeUTF8(this.text))),e?x(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await S(e,async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=G.decodeUTF8(await e.readBytes(r)),this.date=G.readDate(await e.readBytes(4));let n=e.remainder();u(n)&&(n=await P(n)),this.setBytes(n,t)})}writeHeader(){const e=G.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=G.writeDate(this.date);return G.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return G.concat([e,t])}}class Cs{constructor(){this.bytes=""}read(e){return this.bytes=G.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return G.stringToUint8Array(this.bytes)}toHex(){return G.uint8ArrayToHex(G.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new Cs;return t.read(G.hexToUint8Array(e)),t}static wildcard(){const e=new Cs;return e.read(new Uint8Array(8)),e}}const Ss=Symbol("verified"),Ds="salt@notations.openpgpjs.org",xs=new Set([N.signatureSubpacket.issuerKeyID,N.signatureSubpacket.issuerFingerprint,N.signatureSubpacket.embeddedSignature]);class Ks{static get tag(){return N.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Cs,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.preferredCipherSuites=null,this.revoked=null,this[Ss]=null}read(e,t=O){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new ct("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw new Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){const t=e[r++];this.salt=e.subarray(r,r+t),r+=t}const n=e.subarray(r,e.length),{read:i,signatureParams:s}=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(r));return r+=e.length+2,{read:r,signatureParams:{s:e}}}case N.publicKey.dsa:case N.publicKey.ecdsa:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case N.publicKey.eddsaLegacy:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case N.publicKey.ed25519:case N.publicKey.ed448:{const n=2*gt(e),i=G.readExactSubarray(t,r,r+n);return r+=i.length,{read:r,signatureParams:{RS:i}}}default:throw new ct("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,n);if(iTn(this.publicKeyAlgorithm,await this.params)):Tn(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),G.concat(e)}async sign(e,t,r=new Date,n=!1,i){this.version=e.version,this.created=G.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();const s=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){const e=Ps(this.hashAlgorithm);if(null===this.salt)this.salt=me(e);else if(e!==this.salt.length)throw new Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter(({name:e})=>e===Ds).length)throw new Error("Unexpected existing salt notation");{const e=me(Ps(this.hashAlgorithm));this.rawNotations.push({name:Ds,value:e,humanReadable:!1,critical:!1})}}s.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=G.concat(s);const a=this.toHash(this.signatureType,t,n),o=await this.hash(this.signatureType,t,a,n);this.signedHashValue=U(D(o),0,2);const c=async()=>async function(e,t,r,n,i,s){if(!r||!n)throw new Error("Missing key parameters");switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.rsaSign:{const{n:e,e:a}=r,{d:o,p:c,q:l,u}=n;return{s:await Ze(t,i,e,a,o,c,l,u,s)}}case N.publicKey.dsa:{const{g:e,p:t,q:i}=r,{x:a}=n;return async function(e,t,r,n,i,s){const a=BigInt(0);let o,c,l,u;n=ae(n),i=ae(i),r=ae(r),s=ae(s),r=oe(r,n),s=oe(s,i);const h=oe(ae(t.subarray(0,pe(i))),i);for(;;){if(o=we(Sn,i),c=oe(le(r,o,n),i),c===a)continue;const e=oe(s*c,i);if(u=oe(h+e,i),l=oe(he(o,i)*u,i),l!==a)break}return{r:ge(c,"be",pe(n)),s:ge(l,"be",pe(n))}}(0,s,e,t,i,a)}case N.publicKey.elgamal:throw new Error("Signing with Elgamal is not defined in the OpenPGP standard.");case N.publicKey.ecdsa:{const{oid:e,Q:a}=r,{d:o}=n;return ln(e,t,i,a,o,s)}case N.publicKey.eddsaLegacy:{const{oid:e,Q:i}=r,{seed:a}=n;return An(e,t,0,i,a,s)}case N.publicKey.ed25519:case N.publicKey.ed448:{const{A:i}=r,{seed:a}=n;return At(e,t,0,i,a,s)}default:throw new Error("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await P(o));G.isStream(o)?this.params=c():(this.params=await c(),this[Ss]=!0)}writeHashedSubPackets(){const e=N.signatureSubpacket,t=[];let r;if(null===this.created)throw new Error("Missing signature creation time");t.push(Us(e.signatureCreationTime,!0,G.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Us(e.signatureExpirationTime,!0,G.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Us(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Us(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Us(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Us(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Us(e.keyExpirationTime,!0,G.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Us(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=G.concat([r,this.revocationKeyFingerprint]),t.push(Us(e.revocationKey,!1,r))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&t.push(Us(e.issuerKeyID,!1,this.issuerKeyID.write())),this.rawNotations.forEach(({name:n,value:i,humanReadable:s,critical:a})=>{r=[new Uint8Array([s?128:0,0,0,0])];const o=G.encodeUTF8(n);r.push(G.writeNumber(o.length,2)),r.push(G.writeNumber(i.length,2)),r.push(o),r.push(i),r=G.concat(r),t.push(Us(e.notationData,a,r))}),null!==this.preferredHashAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Us(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Us(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.keyServerPreferences)),t.push(Us(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Us(e.preferredKeyServer,!1,G.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Us(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Us(e.policyURI,!1,G.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.keyFlags)),t.push(Us(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Us(e.signersUserID,!1,G.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=G.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Us(e.reasonForRevocation,!0,r))),null!==this.features&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.features)),t.push(Us(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(G.stringToUint8Array(this.signatureTargetHash)),r=G.concat(r),t.push(Us(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Us(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=G.concat(r),t.push(Us(e.issuerFingerprint,this.version>=5,r))),null!==this.preferredAEADAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Us(e.preferredAEADAlgorithms,!1,r))),null!==this.preferredCipherSuites&&(r=new Uint8Array([].concat(...this.preferredCipherSuites)),t.push(Us(e.preferredCipherSuites,!1,r)));const n=G.concat(t),i=G.writeNumber(n.length,6===this.version?4:2);return G.concat([i,n])}writeUnhashedSubPackets(){const e=this.unhashedSubpackets.map(({type:e,critical:t,body:r})=>Us(e,t,r)),t=G.concat(e),r=G.writeNumber(t.length,6===this.version?4:2);return G.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)}),xs.has(i)))switch(i){case N.signatureSubpacket.signatureCreationTime:this.created=G.readDate(e.subarray(r,e.length));break;case N.signatureSubpacket.signatureExpirationTime:{const t=G.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case N.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case N.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case N.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case N.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case N.signatureSubpacket.keyExpirationTime:{const t=G.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case N.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case N.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw new Error("Unexpected Issuer Key ID subpacket");break;case N.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=G.readNumber(e.subarray(r,r+2));r+=2;const s=G.readNumber(e.subarray(r,r+2));r+=2;const a=G.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+s);this.rawNotations.push({name:a,humanReadable:t,value:o,critical:n}),t&&(this.notations[a]=G.decodeUTF8(o));break}case N.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case N.signatureSubpacket.policyURI:this.policyURI=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.signersUserID:this.signersUserID=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Oe(this.signatureTargetHashAlgorithm);this.signatureTargetHash=G.uint8ArrayToString(e.subarray(r,r+t));break}case N.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Ks,this.embeddedSignature.read(e.subarray(r,e.length));break;case N.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case N.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t{r+=e.length},()=>{const n=[];return 5!==this.version||this.signatureType!==N.signature.binary&&this.signatureType!==N.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(G.writeNumber(r,4)),G.concat(n)})}toHash(e,t,r=!1){const n=this.toSign(e,t);return G.concat([this.salt||new Uint8Array,n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){if(6===this.version&&this.salt.length!==Ps(this.hashAlgorithm))throw new Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,n)),Ne(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,s=O){if(!this.issuerKeyID.equals(e.getKeyID()))throw new Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const a=t===N.signature.binary||t===N.signature.text;if(!this[Ss]||a){let n,s;if(this.hashed?s=await this.hashed:(n=this.toHash(t,r,i),s=await this.hash(t,r,n)),s=await P(s),this.signedHashValue[0]!==s[0]||this.signedHashValue[1]!==s[1])throw new Error("Signed digest did not match");if(this.params=await this.params,this[Ss]=await Ei(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,n,s),!this[Ss])throw new Error("Signature verification failed")}const o=G.normalizeDate(n);if(o&&this.created>o)throw new Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw new Error("Signature is expired");if(s.rejectHashAlgorithms.has(this.hashAlgorithm))throw new Error("Insecure hash algorithm: "+N.read(N.hash,this.hashAlgorithm).toUpperCase());if(s.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[N.signature.binary,N.signature.text].includes(this.signatureType))throw new Error("Insecure message hash algorithm: "+N.read(N.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach(({type:e,critical:t})=>{if(t)throw new Error(`Unknown critical signature subpacket type ${e}`)}),this.rawNotations.forEach(({name:e,critical:t})=>{if(t&&s.knownNotations.indexOf(e)<0)throw new Error(`Unknown critical notation: ${e}`)}),null!==this.revocationKeyClass)throw new Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=G.normalizeDate(e);return null!==t&&!(this.created<=t&&tKs.prototype.calculateTrailer.apply(await this.correspondingSig,e))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==N.packet.signature)throw new Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!G.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!G.equalsUint8Array(e.salt,this.salt))throw new Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Fs(e,t){if(!t[e]){let t;try{t=N.read(N.packet,e)}catch{throw new lt(`Unknown packet type with tag: ${e}`)}throw new Error(`Packet not allowed in this context: ${t}`)}return new t[e]}Ts.prototype.hash=Ks.prototype.hash,Ts.prototype.toHash=Ks.prototype.toHash,Ts.prototype.toSign=Ks.prototype.toSign;class Ms extends Array{static async fromBinary(e,t,r=O,n=null,i=!1){const s=new Ms;return await s.read(e,t,r,n,i),s}async read(e,t,r=O,n=null,i=!1){let s;r.additionalAllowedPackets.length&&(s=G.constructAllowedPackets(r.additionalAllowedPackets),t={...t,...s}),this.stream=C(e,async(e,a)=>{const o=M(e),c=R(a);try{let a=G.isStream(e);for(;;){let e,l;if(await c.ready,await ot(o,a,async a=>{try{if(a.tag===N.packet.marker||a.tag===N.packet.trust||a.tag===N.packet.padding)return;const e=Fs(a.tag,t);try{n?.recordPacket(a.tag,s)}catch(e){if(r.enforceGrammar)throw e;G.printDebugError(e)}e.packets=new Ms,e.fromStream=G.isStream(a.packet),l=e.fromStream;try{await e.read(a.packet,r)}catch(t){if(!(t instanceof ct))throw G.wrapError(new ut(`Parsing ${e.constructor.name} failed`),t);throw t}await c.write(e)}catch(t){const n=t instanceof lt&&a.tag<=39,s=t instanceof ct&&!(t instanceof lt)&&!r.ignoreUnsupportedPackets,o=t instanceof ut&&!r.ignoreMalformedPackets,l=at(a.tag);if(n||s||o||l||!(t instanceof lt||t instanceof ct||t instanceof ut))i?e=t:await c.abort(t);else{const e=new ht(a.tag,a.packet);await c.write(e)}G.printDebugError(t)}}),l&&(a=null),e)throw await o.readToEnd(),e;const u=await o.peekBytes(2);if(!u||!u.length){try{n?.recordEnd()}catch(e){if(r.enforceGrammar)throw e;G.printDebugError(e)}return await c.ready,void await c.close()}}}catch(e){await c.abort(e)}});const a=M(this.stream);for(;;){const{done:e,value:t}=await a.read();if(e?this.stream=null:this.push(t),e||at(t.constructor.tag))break}a.releaseLock()}write(){const e=[];for(let t=0;t{if(t.push(e),i+=e.length,i>=s){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=G.concat([nt(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}},()=>G.concat([rt(i)].concat(t))))}else{if(G.isStream(n)){let t=0;e.push(k(D(n),e=>{t+=e.length},()=>st(r,t)))}else e.push(st(r,n.length));e.push(n)}}return G.concat(e)}filterByTag(...e){const t=new Ms,r=e=>t=>e===t;for(let n=0;nt.constructor.tag===e)}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i0)throw new Rs("Missing trailing signature packets")}}}const Os=G.constructAllowedPackets([Bs,Ts,Ks]);class Ls{static get tag(){return N.packet.compressedData}constructor(e=O){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=O){await S(e,async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)})}write(){return null===this.compressed&&this.compress(),G.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=O){const t=N.read(N.compression,this.algorithm),r=js[t];if(!r)throw new Error(`${t} decompression not supported`);let n=await r(this.compressed);if(e.maxDecompressedMessageSize!==1/0){let t=0;n=k(n,r=>{if(t+=r.length,t>e.maxDecompressedMessageSize)throw new Error("Maximum decompressed message size exceeded");return r})}f(this.compressed)&&!u(this.compressed)||(n=await P(n)),this.packets=await Ms.fromBinary(n,Os,e,new Ns)}compress(){const e=N.read(N.compression,this.algorithm),t=Ys[e];if(!t)throw new Error(`${e} compression not supported`);const r=this.packets.write();let n=t(r);f(r)&&!u(r)||(n=F(()=>P(n))),this.compressed=n}}function Gs(e,t){return r=>{let n;if(n=u(r)?new ReadableStream({async start(e){try{e.enqueue(await P(r)),e.close()}catch(t){e.error(t)}}}):f(r)?r:m(r),n=function(e){const t=M(e);return new ReadableStream({async pull(e){try{const{value:r,done:n}=await t.read();if(n)return void e.close();for(let t=0;t<=r.length;t+=65536)(!t||t{e.enqueue(t),a=!0,r&&(e.close(),o=!0)}},async pull(){for(a=!1;!a&&!o;){const{done:e,value:t}=await i.read();if(e)return void s.push(new Uint8Array,!0);t.length&&s.push(t)}}},{highWaterMark:0})}}function Hs(){return async function(e){const{default:t}=await Promise.resolve().then(function(){return lA});return t(m(e))}}const Ws=e=>({compressor:"undefined"!=typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"undefined"!=typeof DecompressionStream&&(()=>new DecompressionStream(e))}),Ys={zip:Gs(Ws("deflate-raw").compressor,bs),zlib:Gs(Ws("deflate").compressor,Es)},js={uncompressed:e=>e,zip:Gs(Ws("deflate-raw").decompressor,vs),zlib:Gs(Ws("deflate").decompressor,ks),bzip2:Hs()},Js=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class Zs{static get tag(){return N.packet.symEncryptedIntegrityProtectedData}static fromObject({version:e,aeadAlgorithm:t}){if(1!==e&&2!==e)throw new Error("Unsupported SEIPD version");const r=new Zs;return r.version=e,2===e&&(r.aeadAlgorithm=t),r}constructor(){this.version=null,this.cipherAlgorithm=null,this.aeadAlgorithm=null,this.chunkSizeByte=null,this.salt=null,this.encrypted=null,this.packets=null}async read(e){await S(e,async e=>{if(this.version=await e.readByte(),1!==this.version&&2!==this.version)throw new ct(`Version ${this.version} of the SEIP packet is unsupported.`);2===this.version&&(this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte(),this.salt=await e.readBytes(32)),this.encrypted=e.remainder()})}write(){return 2===this.version?G.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.salt,this.encrypted]):G.concat([new Uint8Array([this.version]),this.encrypted])}async encrypt(e,t,r=O){const{blockSize:n,keySize:i}=xr(e);if(t.length!==i)throw new Error("Unexpected session key size");let s=this.packets.write();if(u(s)&&(s=await P(s)),2===this.version)this.cipherAlgorithm=e,this.salt=me(32),this.chunkSizeByte=r.aeadChunkSizeByte,this.encrypted=await qs(this,"encrypt",t,s);else{const r=await Gn(e),i=new Uint8Array([211,20]),a=G.concat([r,s,i]),o=await Ne(N.hash.sha1,x(a)),c=G.concat([a,o]);this.encrypted=await Hn(e,t,c,new Uint8Array(n))}return!0}async decrypt(e,t,r=O){if(t.length!==xr(e).keySize)throw new Error("Unexpected session key size");let n,i=D(this.encrypted);u(i)&&(i=await P(i));let s=!1;if(2===this.version){if(this.cipherAlgorithm!==e)throw new Error("Unexpected session key algorithm");n=await qs(this,"decrypt",t,i)}else{const{blockSize:a}=xr(e),o=await Wn(e,t,i,new Uint8Array(a)),c=U(x(o),-20),l=U(o,0,-20),u=Promise.all([P(await Ne(N.hash.sha1,x(l))),P(c)]).then(([e,t])=>{if(!G.equalsUint8Array(e,t))throw new Error("Modification detected.");return new Uint8Array}),h=U(l,a+2);n=U(h,0,-2),n=b([n,F(()=>u)]),G.isStream(i)&&r.allowUnauthenticatedStream?s=!0:n=await P(n)}return this.packets=await Ms.fromBinary(n,Js,r,new Ns,s),!0}}async function qs(e,t,r,n){const i=e instanceof Zs&&2===e.version,s=!i&&e.constructor.tag===N.packet.aeadEncryptedData;if(!i&&!s)throw new Error("Unexpected packet type");const a=vi(e.aeadAlgorithm,s),o="decrypt"===t?a.tagLength:0,c="encrypt"===t?a.tagLength:0,l=2**(e.chunkSizeByte+6)+o,u=s?8:0,h=new ArrayBuffer(13+u),f=new Uint8Array(h,0,5+u),A=new Uint8Array(h),d=new DataView(h),p=new Uint8Array(h,5,8);f.set([192|e.constructor.tag,e.version,e.cipherAlgorithm,e.aeadAlgorithm,e.chunkSizeByte],0);let g,y,m=0,w=Promise.resolve(),b=0,E=0;if(i){const{keySize:t}=xr(e.cipherAlgorithm),{ivLength:n}=a,i=new Uint8Array(h,0,5),s=await Tr(N.hash.sha256,r,e.salt,i,t+n);r=s.subarray(0,t),g=s.subarray(t),g.fill(0,g.length-8),y=new DataView(g.buffer,g.byteOffset,g.byteLength)}else g=e.iv;const k=await a(e.cipherAlgorithm,r);return C(n,async(r,n)=>{if("array"!==G.isStream(r)){const t=new TransformStream({},{highWaterMark:G.getHardwareConcurrency()*2**(e.chunkSizeByte+6),size:e=>e.length});v(t.readable,n),n=t.writable}const s=M(r),a=R(n);try{for(;;){let e=await s.readBytes(l+o)||new Uint8Array;const r=e.subarray(e.length-o);let n,h,v;if(e=e.subarray(0,e.length-o),i)v=g;else{v=g.slice();for(let e=0;e<8;e++)v[g.length-8+e]^=p[e]}if(!m||e.length?(s.unshift(r),n=k[t](e,v,f),n.catch(()=>{}),E+=e.length-o+c):(d.setInt32(5+u+4,b),n=k[t](r,v,A),n.catch(()=>{}),E+=c,h=!0),b+=e.length-o,w=w.then(()=>n).then(async e=>{await a.ready,await a.write(e),E-=e.length}).catch(e=>a.abort(e)),(h||E>a.desiredSize)&&await w,h){await a.close();break}i?y.setInt32(g.length-4,++m):d.setInt32(9,++m)}}catch(e){await a.ready.catch(()=>{}),await a.abort(e)}})}const _s=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class Vs{static get tag(){return N.packet.publicKeyEncryptedSessionKey}constructor(){this.version=null,this.publicKeyID=new Cs,this.publicKeyVersion=null,this.publicKeyFingerprint=null,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}static fromObject({version:e,encryptionKeyPacket:t,anonymousRecipient:r,sessionKey:n,sessionKeyAlgorithm:i}){const s=new Vs;if(3!==e&&6!==e)throw new Error("Unsupported PKESK version");return s.version=e,6===e&&(s.publicKeyVersion=r?null:t.version,s.publicKeyFingerprint=r?null:t.getFingerprintBytes()),s.publicKeyID=r?Cs.wildcard():t.getKeyID(),s.publicKeyAlgorithm=t.algorithm,s.sessionKey=n,s.sessionKeyAlgorithm=i,s}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the PKESK packet is unsupported.`);if(6===this.version){const r=e[t++];if(r){this.publicKeyVersion=e[t++];const n=r-1;this.publicKeyFingerprint=e.subarray(t,t+n),t+=n,this.publicKeyVersion>=5?this.publicKeyID.read(this.publicKeyFingerprint):this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8))}else this.publicKeyID=Cs.wildcard()}else t+=this.publicKeyID.read(e.subarray(t,t+8));if(this.publicKeyAlgorithm=e[t++],this.encrypted=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:return{c:G.readMPI(t.subarray(r))};case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(r));return r+=e.length+2,{c1:e,c2:G.readMPI(t.subarray(r))}}case N.publicKey.ecdh:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=new Dn;return n.read(t.subarray(r)),{V:e,C:n}}case N.publicKey.x25519:case N.publicKey.x448:{const n=Rn(e),i=G.readExactSubarray(t,r,r+n);r+=i.length;const s=new Kn;return s.read(t.subarray(r)),{ephemeralPublicKey:i,C:s}}default:throw new ct("Unknown public key encryption algorithm.")}}(this.publicKeyAlgorithm,e.subarray(t)),this.publicKeyAlgorithm===N.publicKey.x25519||this.publicKeyAlgorithm===N.publicKey.x448)if(3===this.version)this.sessionKeyAlgorithm=N.write(N.symmetric,this.encrypted.C.algorithm);else if(null!==this.encrypted.C.algorithm)throw new Error("Unexpected cleartext symmetric algorithm")}write(){const e=[new Uint8Array([this.version])];return 6===this.version?null!==this.publicKeyFingerprint?(e.push(new Uint8Array([this.publicKeyFingerprint.length+1,this.publicKeyVersion])),e.push(this.publicKeyFingerprint)):e.push(new Uint8Array([0])):e.push(this.publicKeyID.write()),e.push(new Uint8Array([this.publicKeyAlgorithm]),Tn(this.publicKeyAlgorithm,this.encrypted)),G.concatUint8Array(e)}async encrypt(e){const t=N.write(N.publicKey,this.publicKeyAlgorithm),r=3===this.version?this.sessionKeyAlgorithm:null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=zs(this.version,t,r,this.sessionKey);this.encrypted=await async function(e,t,r,n,i){switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await qe(n,e,t)}}case N.publicKey.elgamal:{const{p:e,g:t,y:i}=r;return async function(e,t,r,n){t=ae(t),r=ae(r),n=ae(n);const i=ae(Ge(e,pe(t))),s=we(Xe,t-Xe);return{c1:ge(le(r,s,t)),c2:ge(oe(le(n,s,t)*i,t))}}(n,e,t,i)}case N.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:s}=r,{publicKey:a,wrappedKey:o}=await bn(e,s,n,t,i);return{V:a,C:new Dn(o)}}case N.publicKey.x25519:case N.publicKey.x448:{if(t&&!G.isAES(t))throw new Error("X25519 and X448 keys can only encrypt AES session keys");const{A:i}=r,{ephemeralPublicKey:s,wrappedKey:a}=await Qr(e,n,i);return{ephemeralPublicKey:s,C:Kn.fromObject({algorithm:t,wrappedKey:a})}}default:return[]}}(t,r,e.publicParams,i,n)}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Decryption error");const r=t?zs(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=await Un(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,n,r),{sessionKey:s,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.elgamal:case N.publicKey.ecdh:{const t=r.subarray(0,r.length-2),i=r.subarray(r.length-2),s=G.writeChecksum(t.subarray(t.length%8)),a=s[0]===i[0]&s[1]===i[1],o=6===e?{sessionKeyAlgorithm:null,sessionKey:t}:{sessionKeyAlgorithm:t[0],sessionKey:t.subarray(1)};if(n){const t=a&o.sessionKeyAlgorithm===n.sessionKeyAlgorithm&o.sessionKey.length===n.sessionKey.length;return{sessionKey:G.selectUint8Array(t,o.sessionKey,n.sessionKey),sessionKeyAlgorithm:6===e?null:G.selectUint8(t,o.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&(6===e||N.read(N.symmetric,o.sessionKeyAlgorithm)))return o;throw new Error("Decryption error")}case N.publicKey.x25519:case N.publicKey.x448:return{sessionKeyAlgorithm:null,sessionKey:r};default:throw new Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);if(3===this.version){const e=this.publicKeyAlgorithm!==N.publicKey.x25519&&this.publicKeyAlgorithm!==N.publicKey.x448;if(this.sessionKeyAlgorithm=e?a:this.sessionKeyAlgorithm,s.length!==xr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}this.sessionKey=s}}function zs(e,t,r,n){switch(t){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.elgamal:case N.publicKey.ecdh:return G.concatUint8Array([new Uint8Array(6===e?[]:[r]),n,G.writeChecksum(n.subarray(n.length%8))]);case N.publicKey.x25519:case N.publicKey.x448:return n;default:throw new Error("Unsupported public key algorithm")}}class Xs{static get tag(){return N.packet.symEncryptedSessionKey}constructor(e=O){this.version=e.aeadProtect?6:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=null,this.aeadAlgorithm=N.write(N.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the SKESK packet is unsupported.`);6===this.version&&t++;const r=e[t++];this.version>=5&&(this.aeadAlgorithm=e[t++],6===this.version&&t++);const n=e[t++];if(this.s2k=xi(n),t+=this.s2k.read(e.subarray(t,e.length)),this.version>=5){const r=vi(this.aeadAlgorithm,!0);this.iv=e.subarray(t,t+=r.ivLength)}this.version>=5||t=5){const e=vi(this.aeadAlgorithm,!0),t=new Uint8Array([192|Xs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Tr(N.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.sessionKey=await a.decrypt(this.encrypted,this.iv,t)}else if(null!==this.encrypted){const e=await Wn(r,s,this.encrypted,new Uint8Array(n));if(this.sessionKeyAlgorithm=N.write(N.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length),this.sessionKey.length!==xr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}else this.sessionKey=s}async encrypt(e,t=O){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Ki(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=xr(r),s=await this.s2k.produceKey(e,i,t);if(null===this.sessionKey&&(this.sessionKey=Fn(this.sessionKeyAlgorithm)),this.version>=5){const e=vi(this.aeadAlgorithm);this.iv=me(e.ivLength);const t=new Uint8Array([192|Xs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Tr(N.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.encrypted=await a.encrypt(this.sessionKey,this.iv,t)}else{const e=G.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Hn(r,s,e,new Uint8Array(n))}}}class $s{static get tag(){return N.packet.publicKey}constructor(e=new Date,t=O){this.version=t.v6Keys?6:4,this.created=G.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new $s,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}async read(e,t=O){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new ct("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=G.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);const{read:t,publicParams:n}=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case N.publicKey.dsa:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=G.readMPI(t.subarray(r));r+=i.length+2;const s=G.readMPI(t.subarray(r));return r+=s.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:s}}}case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=G.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case N.publicKey.ecdsa:{const e=new et;r+=e.read(t),Mn(e);const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case N.publicKey.eddsaLegacy:{const e=new et;if(r+=e.read(t),Mn(e),e.getName()!==N.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let n=G.readMPI(t.subarray(r));return r+=n.length+2,n=G.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case N.publicKey.ecdh:{const e=new et;r+=e.read(t),Mn(e);const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=new xn;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case N.publicKey.ed25519:case N.publicKey.ed448:case N.publicKey.x25519:case N.publicKey.x448:{const n=G.readExactSubarray(t,r,r+Rn(e));return r+=n.length,{read:r,publicParams:{A:n}}}default:throw new ct("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&n.oid&&(n.oid.getName()===N.curve.curve25519Legacy||n.oid.getName()===N.curve.ed25519Legacy))throw new Error("Legacy curve25519 cannot be used with v6 keys");return this.publicParams=n,r+=t,await this.computeFingerprintAndKeyID(),r}throw new ct(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(G.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=Tn(this.algorithm,this.publicParams);return this.version>=5&&e.push(G.writeNumber(t.length,4)),e.push(t),G.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey(),r=149+e,n=e>=5?4:2;return G.concatUint8Array([new Uint8Array([r]),G.writeNumber(t.length,n),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Cs,this.version>=5)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw new Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await Ne(N.hash.sha256,e);else{if(4!==this.version)throw new Error("Unsupported key version");this.fingerprint=await Ne(N.hash.sha1,e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return G.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&G.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=N.read(N.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=G.uint8ArrayBitLength(t):this.publicParams.oid&&(e.curve=this.publicParams.oid.getName()),e}}$s.prototype.readPublicKey=$s.prototype.read,$s.prototype.writePublicKey=$s.prototype.write;const ea=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class ta extends $s{static get tag(){return N.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new ta,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}}class ra{static get tag(){return N.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t=s)return!1;if(oe(s-Sn,a)!==Cn)return!1;if(le(o,a,s)!==Sn)return!1;const l=BigInt(de(a));if(l=i)return!1;const o=BigInt(de(i));if(o{je.generateKeyPair("rsa",r,(r,n,i)=>{r?t(r):e(i)})});return ze(n,t)}let r,n,i;do{n=ve(e-(e>>1),t,40),r=ve(e>>1,t,40),i=r*n}while(de(i)!==e);const s=(r-Je)*(n-Je);return n({privateParams:{d:r,p:n,q:i,u:s},publicParams:{n:e,e:t}}));case N.publicKey.ecdsa:return Xr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new et(e),Q:t}}));case N.publicKey.eddsaLegacy:return Xr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new et(e),Q:t}}));case N.publicKey.ecdh:return Xr(r).then(({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new et(e),Q:t,kdfParams:new xn({hash:n,cipher:i})}}));case N.publicKey.ed25519:case N.publicKey.ed448:return ft(e).then(({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}}));case N.publicKey.x25519:case N.publicKey.x448:return Mr(e).then(({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}}));case N.publicKey.dsa:case N.publicKey.elgamal:throw new Error("Unsupported algorithm for key generation.");default:throw new Error("Unknown public key algorithm.")}}(this.algorithm,e,t);this.privateParams=r,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach(e=>{this.privateParams[e].fill(0),delete this.privateParams[e]}),this.privateParams=null,this.isEncrypted=!0)}}async function ia(e,t,r,n,i,s,a,o){if("argon2"===t.type&&!i)throw new Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw new Error("Using Simple S2K with version 6 keys is not allowed");const{keySize:c}=xr(n),l=await t.produceKey(r,c,o);if(!i||5===e||a)return l;const u=G.concatUint8Array([s,new Uint8Array([e,n,i])]);return Tr(N.hash.sha256,l,new Uint8Array,u,c)}class sa{static get tag(){return N.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(G.isString(e)||e.name&&!G.isString(e.name)||e.email&&!G.isEmailAddress(e.email)||e.comment&&!G.isString(e.comment))throw new Error("Invalid user ID format");const t=new sa;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=O){const r=G.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw new Error("User ID string is too long");const n=e=>/^[^\s@]+@[^\s@]+$/.test(e),i=r.indexOf("<"),s=r.lastIndexOf(">");if(-1!==i&&-1!==s&&s>i){const e=r.substring(i+1,s);if(n(e)){this.email=e;const t=r.substring(0,i).trim(),n=t.indexOf("("),s=t.lastIndexOf(")");-1!==n&&-1!==s&&s>n?(this.comment=t.substring(n+1,s).trim(),this.name=t.substring(0,n).trim()):(this.name=t,this.comment="")}}else n(r.trim())&&(this.email=r.trim(),this.name="",this.comment="");this.userID=r}write(){return G.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class aa extends na{static get tag(){return N.packet.secretSubkey}constructor(e=new Date,t=O){super(e,t)}}class oa{constructor(e){this.packets=e||new Ms}write(){return this.packets.write()}armor(e=O){const t=this.packets.some(e=>e.constructor.tag===Ks.tag&&6!==e.version);return ne(N.armor.signature,this.write(),void 0,void 0,void 0,t,e)}getSigningKeyIDs(){return this.packets.map(e=>e.issuerKeyID)}}async function ca(e,t){const r=new aa(e.date,t);return r.packets=null,r.algorithm=N.write(N.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve),await r.computeFingerprintAndKeyID(),r}async function la(e,t){const r=new na(e.date,t);return r.packets=null,r.algorithm=N.write(N.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.config),await r.computeFingerprintAndKeyID(),r}async function ua(e,t,r,n,i=new Date,s){let a,o;for(let c=e.length-1;c>=0;c--)try{(!a||e[c].created>=a.created)&&(await e[c].verify(t,r,n,i,void 0,s),a=e[c])}catch(e){o=e}if(!a)throw G.wrapError(`Could not find valid ${N.read(N.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,(e,t,r)=>t+" "+r.toLowerCase()),o);return a}function ha(e,t,r=new Date){const n=G.normalizeDate(r);if(null!==n){const r=ga(e,t);return!(e.created<=n&&n0&&(s.keyExpirationTime=r.keyExpirationTime,s.keyNeverExpires=!1),await Aa(i,[],t,s,r.date,void 0,void 0,void 0,n)}async function Aa(e,t,r,n,i,s,a=[],o=!1,c){if(r.isDummy())throw new Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw new Error("Signing key is not decrypted.");const l=new Ks;return Object.assign(l,n),l.publicKeyAlgorithm=r.algorithm,l.hashAlgorithm=await async function(e,t,r=new Date,n=[],i){const s=N.hash.sha256,a=i.preferredHashAlgorithm,o=await Promise.all(e.map(async(e,t)=>(await e.getPrimarySelfSignature(r,n[t],i)).preferredHashAlgorithms||[])),c=new Map;for(const e of o)for(const t of e)try{const e=N.write(N.hash,t);c.set(e,c.has(e)?c.get(e)+1:1)}catch{}const l=t=>0===e.length||c.get(t)===e.length||t===s,u=()=>{if(0===c.size)return s;const e=Array.from(c.keys()).filter(e=>l(e)).sort((e,t)=>Oe(e)-Oe(t))[0];return Oe(e)>=Oe(s)?e:s};if(new Set([N.publicKey.ecdsa,N.publicKey.eddsaLegacy,N.publicKey.ed25519,N.publicKey.ed448]).has(t.algorithm)){const e=function(e,t){switch(e){case N.publicKey.ecdsa:case N.publicKey.eddsaLegacy:return $r(t);case N.publicKey.ed25519:case N.publicKey.ed448:return yt(e);default:throw new Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=l(a),n=Oe(a)>=Oe(e);if(r&&n)return a;{const t=u();return Oe(t)>=Oe(e)?t:e}}return l(a)?a:u()}(t,r,i,s,c),l.rawNotations=[...a],await l.sign(r,e,i,o,c),l}async function da(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map(async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some(function(t){return G.equalsUint8Array(t.writeParams(),e.writeParams())})||t[r].push(e)})):t[r]=e)}async function pa(e,t,r,n,i,s,a=new Date,o){s=s||e;const c=[];return await Promise.all(n.map(async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){const n=![N.reasonForRevocation.keyRetired,N.reasonForRevocation.keySuperseded,N.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(s,t,r,n?null:a,!1,o),c.push(e.issuerKeyID)}}catch{}})),i?(i.revoked=!!c.some(e=>e.equals(i.issuerKeyID))||i.revoked||!1,i.revoked):c.length>0}function ga(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function ya(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=G.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.type){case"ecc":try{e.curve=N.write(N.curve,e.curve)}catch{throw new Error("Unknown curve")}e.curve!==N.curve.ed25519Legacy&&e.curve!==N.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?N.curve.ed25519Legacy:N.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===N.curve.ed25519Legacy?N.publicKey.eddsaLegacy:N.publicKey.ecdsa:e.algorithm=N.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?N.publicKey.ed25519:N.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?N.publicKey.ed448:N.publicKey.x448;break;case"rsa":e.algorithm=N.publicKey.rsaEncryptSign;break;default:throw new Error(`Unsupported key type ${e.type}`)}return e}function ma(e,t,r){switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:case N.publicKey.dsa:case N.publicKey.ecdsa:case N.publicKey.eddsaLegacy:case N.publicKey.ed25519:case N.publicKey.ed448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.signData);default:return!1}}function wa(e,t,r){switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.elgamal:case N.publicKey.ecdh:case N.publicKey.x25519:case N.publicKey.x448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&N.keyFlags.encryptStorage);default:return!1}}function ba(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.elgamal:case N.publicKey.ecdh:case N.publicKey.x25519:case N.publicKey.x448:return!(t.keyFlags&&0===(t.keyFlags[0]&N.keyFlags.signData)||!r.allowInsecureDecryptionWithSigningKeys)||!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&N.keyFlags.encryptStorage);default:return!1}}function va(e,t){const r=N.write(N.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw new Error(`${n.algorithm} keys are considered too weak.`);switch(r){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:case N.publicKey.rsaEncrypt:if(n.bitse.getKeys(o).length>0);return 0===c.length?null:(await Promise.all(c.map(async t=>{const s=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,s.keyPacket,r,n))throw new Error("User certificate is revoked");try{await e.verify(s.keyPacket,N.signature.certGeneric,a,r,void 0,n)}catch(e){throw G.wrapError("User certificate is invalid",e)}})),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map(async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch(()=>!1)})))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw new Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let s;for(let a=this.selfCertifications.length-1;a>=0;a--)try{const s=this.selfCertifications[a];if(s.revoked||await r.isRevoked(s,void 0,e,t))throw new Error("Self-certification is revoked");try{await s.verify(n,N.signature.certGeneric,i,e,void 0,t)}catch(e){throw G.wrapError("Self-certification is invalid",e)}return!0}catch(e){s=e}throw s}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await da(e,this,"selfCertifications",t,async function(e){try{return await e.verify(n,N.signature.certGeneric,i,t,!1,r),!0}catch{return!1}}),await da(e,this,"otherCertifications",t),await da(e,this,"revocationSignatures",t,function(e){return pa(n,N.signature.certRevocation,i,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=N.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=O){const s={userID:this.userID,userAttribute:this.userAttribute,key:e},a=new Ea(s.userID||s.userAttribute,this.mainKey);return a.revocationSignatures.push(await Aa(s,[],e,{signatureType:N.signature.certRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}}class ka{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Ms;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new ka(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=O){const i=this.mainKey.keyPacket;return pa(i,N.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=O){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await ua(this.bindingSignatures,r,N.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw new Error("Subkey is revoked");if(ha(this.keyPacket,i,e))throw new Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=O){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await ua(this.bindingSignatures,r,N.signature.subkeyBinding,n,e,t)}catch{return null}const s=ga(this.keyPacket,i),a=i.getExpirationTime();return si.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,N.signature.subkeyBinding,s,t,void 0,r),!0}catch{return!1}}),await da(e,this,"revocationSignatures",t,function(e){return pa(n,N.signature.subkeyRevocation,s,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=N.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=O){const s={key:e,bind:this.keyPacket},a=new ka(this.keyPacket,this.mainKey);return a.revocationSignatures.push(await Aa(s,[],e,{signatureType:N.signature.subkeyRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach(e=>{ka.prototype[e]=function(){return this.keyPacket[e]()}});const Ia=G.constructAllowedPackets([Ks]),Ba=new Set([N.packet.publicKey,N.packet.privateKey]),Ca=new Set([N.packet.publicKey,N.packet.privateKey,N.packet.publicSubkey,N.packet.privateSubkey]);class Sa{packetListToStructure(e,t=new Set){let r,n,i,s;for(const a of e){if(a instanceof ht){Ca.has(a.tag)&&!s&&(s=Ba.has(a.tag)?Ba:Ca);continue}const e=a.constructor.tag;if(s){if(!s.has(e))continue;s=null}if(t.has(e))throw new Error(`Unexpected packet type: ${e}`);switch(e){case N.packet.publicKey:case N.packet.secretKey:if(this.keyPacket)throw new Error("Key block contains multiple keys");if(this.keyPacket=a,n=this.getKeyID(),!n)throw new Error("Missing Key ID");break;case N.packet.userID:case N.packet.userAttribute:r=new Ea(a,this),this.users.push(r);break;case N.packet.publicSubkey:case N.packet.secretSubkey:r=null,i=new ka(a,this),this.subkeys.push(i);break;case N.packet.signature:switch(a.signatureType){case N.signature.certGeneric:case N.signature.certPersona:case N.signature.certCasual:case N.signature.certPositive:if(!r){G.printDebug("Dropping certification signatures without preceding user packet");continue}a.issuerKeyID.equals(n)?r.selfCertifications.push(a):r.otherCertifications.push(a);break;case N.signature.certRevocation:r?r.revocationSignatures.push(a):this.directSignatures.push(a);break;case N.signature.key:this.directSignatures.push(a);break;case N.signature.subkeyBinding:if(!i){G.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(a);break;case N.signature.keyRevocation:this.revocationSignatures.push(a);break;case N.signature.subkeyRevocation:if(!i){G.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(a)}}}}toPacketList(){const e=new Ms;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map(t=>e.push(...t.toPacketList())),this.subkeys.map(t=>e.push(...t.toPacketList())),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach(e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach(r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])}),e.keyPacket.privateParams=t}),t}getSubkeys(e=null){return this.subkeys.filter(t=>!e||t.getKeyID().equals(e,!0))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map(e=>e.getKeyID())}getUserIDs(){return this.users.map(e=>e.userID?e.userID.userID:null).filter(e=>null!==e)}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=O){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{va(i,n)}catch(e){throw G.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ua(r.bindingSignatures,i,N.signature.subkeyBinding,e,t,n);if(!ma(r.keyPacket,s,n))continue;if(!s.embeddedSignature)throw new Error("Missing embedded signature");return await ua([s.embeddedSignature],r.keyPacket,N.signature.keyBinding,e,t,n),va(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&ma(i,s,n))return va(i,n),this}catch(e){a=e}throw G.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),a)}async getEncryptionKey(e,t=new Date,r={},n=O){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{va(i,n)}catch(e){throw G.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ua(r.bindingSignatures,i,N.signature.subkeyBinding,e,t,n);if(wa(r.keyPacket,s,n))return va(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&wa(i,s,n))return va(i,n),this}catch(e){a=e}throw G.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),a)}async isRevoked(e,t,r=new Date,n=O){return pa(this.keyPacket,N.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=O){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw new Error("Primary key is revoked");if(ha(n,await this.getPrimarySelfSignature(e,t,r),e))throw new Error("Primary key is expired");if(6!==n.version){const t=await ua(this.directSignatures,n,N.signature.key,{key:n},e,r).catch(()=>{});if(t&&ha(n,t,e))throw new Error("Primary key is expired")}}async getExpirationTime(e,t=O){let r;try{const n=await this.getPrimarySelfSignature(null,e,t),i=ga(this.keyPacket,n),s=n.getExpirationTime(),a=6!==this.keyPacket.version&&await ua(this.directSignatures,this.keyPacket,N.signature.key,{key:this.keyPacket},null,t).catch(()=>{});if(a){const e=ga(this.keyPacket,a);r=Math.min(i,s,e)}else r=i{t.selfCertification.revoked||await t.user.isRevoked(t.selfCertification,null,e,r)}));const a=i.sort(function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created}).pop(),{user:o,selfCertification:c}=a;if(c.revoked||await o.isRevoked(c,null,e,r))throw new Error("Primary user is revoked");return a}async update(e,t=new Date,r=O){if(!this.hasSameFingerprintAs(e))throw new Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(this.subkeys.length!==e.subkeys.length||!this.subkeys.every(t=>e.subkeys.some(e=>t.hasSameFingerprintAs(e))))throw new Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await da(e,n,"revocationSignatures",t,i=>pa(n.keyPacket,N.signature.keyRevocation,n,[i],null,e.keyPacket,t,r)),await da(e,n,"directSignatures",t),await Promise.all(e.users.map(async e=>{const i=n.users.filter(t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.users.push(t)}})),await Promise.all(e.subkeys.map(async e=>{const i=n.subkeys.filter(t=>t.hasSameFingerprintAs(e));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}})),n}async getRevocationCertificate(e=new Date,t=O){const r={key:this.keyPacket},n=await ua(this.revocationSignatures,this.keyPacket,N.signature.keyRevocation,r,e,t),i=new Ms;i.push(n);const s=6!==this.keyPacket.version;return ne(N.armor.publicKey,i.write(),null,null,"This is a revocation certificate",s,t)}async applyRevocationCertificate(e,t=new Date,r=O){const n=await re(e),i=(await Ms.fromBinary(n.data,Ia,r)).findPacket(N.packet.signature);if(!i||i.signatureType!==N.signature.keyRevocation)throw new Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw new Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,N.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw G.wrapError("Could not verify revocation signature",e)}const s=this.clone();return s.revocationSignatures.push(i),s}async signPrimaryUser(e,t,r,n=O){const{index:i,user:s}=await this.getPrimaryUser(t,r,n),a=await s.certify(e,t,n),o=this.clone();return o.users[i]=a,o}async signAllUsers(e,t=new Date,r=O){const n=this.clone();return n.users=await Promise.all(this.users.map(function(n){return n.certify(e,t,r)})),n}async verifyPrimaryUser(e,t=new Date,r,n=O){const i=this.keyPacket,{user:s}=await this.getPrimaryUser(t,r,n);return e?await s.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await s.verify(t,n).catch(()=>!1)}]}async verifyAllUsers(e,t=new Date,r=O){const n=this.keyPacket,i=[];return await Promise.all(this.users.map(async s=>{const a=e?await s.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await s.verify(t,r).catch(()=>!1)}];i.push(...a.map(e=>({userID:s.userID?s.userID.userID:null,userAttribute:s.userAttribute,keyID:e.keyID,valid:e.valid})))})),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach(e=>{Sa.prototype[e]=ka.prototype[e]});class Da extends Sa{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([N.packet.secretKey,N.packet.secretSubkey])),!this.keyPacket))throw new Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=O){const t=6!==this.keyPacket.version;return ne(N.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class xa extends Da{constructor(e){if(super(),this.packetListToStructure(e,new Set([N.packet.publicKey,N.packet.publicSubkey])),!this.keyPacket)throw new Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Ms,t=this.toPacketList();for(const r of t)switch(r.constructor.tag){case N.packet.secretKey:{const t=$s.fromSecretKeyPacket(r);e.push(t);break}case N.packet.secretSubkey:{const t=ta.fromSecretSubkeyPacket(r);e.push(t);break}default:e.push(r)}return new Da(e)}armor(e=O){const t=6!==this.keyPacket.version;return ne(N.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},n=O){const i=this.keyPacket,s=[];let a=null;for(let r=0;re.isDecrypted())}async validate(e=O){if(!this.isPrivate())throw new Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map(e=>e.keyPacket.isDummy()).every(Boolean))throw new Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map(e=>e.keyPacket.validate()))}}clearPrivateParams(){this.getKeys().forEach(({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()})}async revoke({flag:e=N.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=O){if(!this.isPrivate())throw new Error("Need private key for revoking");const i={key:this.keyPacket},s=this.clone();return s.revocationSignatures.push(await Aa(i,[],this.keyPacket,{signatureType:N.signature.keyRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),s}async addSubkey(e={}){const t={...O,...e.config};if(e.passphrase)throw new Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits0)throw new Error(`Unknown option: ${i.join(", ")}`);let s;if(e){const{type:t,data:r}=await re(e);if(t!==N.armor.publicKey&&t!==N.armor.privateKey)throw new Error("Armored text not of type key");s=r}else s=t;const a=await Ms.fromBinary(s,Ka,r),o=a.indexOfTag(N.packet.publicKey,N.packet.secretKey);if(0===o.length)throw new Error("No key packet found");return Ua(a.slice(o[0],o[1]))}async function Ta({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...O,...r};let i=e||t;if(!i)throw new Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!G.isString(e))throw new Error("readKeys: options.armoredKeys must be a string");if(t&&!G.isUint8Array(t))throw new Error("readKeys: options.binaryKeys must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);if(e){const{type:t,data:r}=await re(e);if(t!==N.armor.publicKey&&t!==N.armor.privateKey)throw new Error("Armored text not of type key");i=r}const a=[],o=await Ms.fromBinary(i,Ka,r),c=o.indexOfTag(N.packet.publicKey,N.packet.secretKey);if(0===c.length)throw new Error("No key packet found");for(let e=0;e{const t=await e.readByte();if(1!==t)throw new ct(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=vi(this.aeadAlgorithm,!0);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()})}write(){return G.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=O){this.packets=await Ms.fromBinary(await qs(this,"decrypt",t,D(this.encrypted)),_s,r,new Ns)}async encrypt(e,t,r=O){this.cipherAlgorithm=e;const{ivLength:n}=vi(this.aeadAlgorithm,!0);this.iv=me(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await qs(this,"encrypt",t,i)}},Zs,class{static get tag(){return N.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=O){if(!r.allowUnauthenticatedMessages)throw new Error("Message is not authenticated.");const{blockSize:n}=xr(e),i=await P(D(this.encrypted)),s=await Wn(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Ms.fromBinary(s,ea,r)}async encrypt(e,t,r=O){const n=this.packets.write(),{blockSize:i}=xr(e),s=await Gn(e),a=await Hn(e,t,s,new Uint8Array(i)),o=await Hn(e,t,n,a.subarray(2));this.encrypted=G.concat([a,o])}},Vs,Xs,Ts,Ks]),Ma=G.constructAllowedPackets([Xs]),Ra=G.constructAllowedPackets([Ks]);class Qa{constructor(e){this.packets=e||new Ms}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(N.packet.publicKeyEncryptedSessionKey).forEach(function(t){e.push(t.publicKeyID)}),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(N.packet.onePassSignature);return t.length>0?t.map(e=>e.issuerKeyID):e.packets.filterByTag(N.packet.signature).map(e=>e.issuerKeyID)}async decrypt(e,t,r,n=new Date,i=O){const s=this.packets.filterByTag(N.packet.symmetricallyEncryptedData,N.packet.symEncryptedIntegrityProtectedData,N.packet.aeadEncryptedData);if(0===s.length)throw new Error("No encrypted data found");const a=s[0],o=a.cipherAlgorithm,c=r||await this.decryptSessionKeys(e,t,o,n,i);let l=null;const u=Promise.all(c.map(async({algorithm:e,data:t})=>{if(!G.isUint8Array(t)||!a.cipherAlgorithm&&!G.isString(e))throw new Error("Invalid session key for decryption.");try{const r=a.cipherAlgorithm||N.write(N.symmetric,e);await a.decrypt(r,t,i)}catch(e){G.printDebugError(e),l=e}}));if(T(a.encrypted),a.encrypted=null,await u,!a.packets||!a.packets.length)throw l||new Error("Decryption failed.");const h=new Qa(a.packets);return a.packets=new Ms,h}async decryptSessionKeys(e,t,r,n=new Date,i=O){let s,a=[];if(t){const e=this.packets.filterByTag(N.packet.symEncryptedSessionKey);if(0===e.length)throw new Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map(async function(t,r){let n;n=r?await Ms.fromBinary(e.write(),Ma,i):e,await Promise.all(n.map(async function(e){try{await e.decrypt(t,i),a.push(e)}catch(e){G.printDebugError(e),e instanceof ki&&(s=e)}}))}))}else{if(!e)throw new Error("No key or password specified.");{const t=this.packets.filterByTag(N.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw new Error("No public key encrypted session key packet found.");await Promise.all(t.map(async function(t){await Promise.all(e.map(async function(e){let o;try{o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map(e=>e.keyPacket)}catch(e){return void(s=e)}let c=[N.symmetric.aes256,N.symmetric.aes128,N.symmetric.tripledes,N.symmetric.cast5];try{const t=await e.getPrimarySelfSignature(n,void 0,i);t.preferredSymmetricAlgorithms&&(c=c.concat(t.preferredSymmetricAlgorithms))}catch{}await Promise.all(o.map(async function(e){if(!e.isDecrypted())throw new Error("Decryption key is not decrypted.");if(!i.constantTimePKCS1Decryption||t.publicKeyAlgorithm!==N.publicKey.rsaEncrypt&&t.publicKeyAlgorithm!==N.publicKey.rsaEncryptSign&&t.publicKeyAlgorithm!==N.publicKey.rsaSign&&t.publicKeyAlgorithm!==N.publicKey.elgamal)try{await t.decrypt(e);const n=r||t.sessionKeyAlgorithm;if(n&&!c.includes(N.write(N.symmetric,n)))throw new Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){G.printDebugError(e),s=e}else{const n=t.write();await Promise.all((r?[r]:Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map(async t=>{const r=new Vs;r.read(n);const i={sessionKeyAlgorithm:t,sessionKey:Fn(t)};try{await r.decrypt(e,i),a.push(r)}catch(e){G.printDebugError(e),s=e}}))}}))})),T(t.encrypted),t.encrypted=null}))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter(t=>{const r=t.sessionKeyAlgorithm+G.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)})}return a.map(e=>({data:e.sessionKey,algorithm:e.sessionKeyAlgorithm&&N.read(N.symmetric,e.sessionKeyAlgorithm)}))}throw s||new Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=O){const{symmetricAlgo:i,aeadAlgo:s}=await async function(e=[],t=new Date,r=[],n=O){const i=await Promise.all(e.map((e,i)=>e.getPrimarySelfSignature(t,r[i],n)));if(e.length?i.every(e=>e.features&&e.features[0]&N.features.seipdv2):n.aeadProtect){const e={symmetricAlgo:N.symmetric.aes128,aeadAlgo:N.aead.ocb},t=[{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:n.preferredAEADAlgorithm},{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:N.aead.ocb},{symmetricAlgo:N.symmetric.aes128,aeadAlgo:n.preferredAEADAlgorithm}];for(const e of t)if(i.every(t=>t.preferredCipherSuites&&t.preferredCipherSuites.some(t=>t[0]===e.symmetricAlgo&&t[1]===e.aeadAlgo)))return e;return e}const s=N.symmetric.aes128,a=n.preferredSymmetricAlgorithm;return{symmetricAlgo:i.every(e=>e.preferredSymmetricAlgorithms&&e.preferredSymmetricAlgorithms.includes(a))?a:s,aeadAlgo:void 0}}(e,t,r,n),a=N.read(N.symmetric,i),o=s?N.read(N.aead,s):void 0;return await Promise.all(e.map(e=>e.getEncryptionKey().catch(()=>null).then(e=>{if(e&&(e.keyPacket.algorithm===N.publicKey.x25519||e.keyPacket.algorithm===N.publicKey.x448)&&!o&&!G.isAES(i))throw new Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")}))),{data:Fn(i),algorithm:a,aeadAlgorithm:o}}async encrypt(e,t,r,n=!1,i=[],s=new Date,a=[],o=O){if(r){if(!G.isUint8Array(r.data)||!G.isString(r.algorithm))throw new Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Qa.generateSessionKey(e,s,a,o);else{if(!t||!t.length)throw new Error("No keys, passwords, or session key provided.");r=await Qa.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:l,aeadAlgorithm:u}=r,h=await Qa.encryptSessionKey(c,l,u,e,t,n,i,s,a,o),f=Zs.fromObject({version:u?2:1,aeadAlgorithm:u?N.write(N.aead,u):null});f.packets=this.packets;const A=N.write(N.symmetric,l);return await f.encrypt(A,c,o),h.packets.push(f),f.packets=new Ms,h}static async encryptSessionKey(e,t,r,n,i,s=!1,a=[],o=new Date,c=[],l=O){const u=new Ms,h=N.write(N.symmetric,t),f=r&&N.write(N.aead,r);if(n){const t=await Promise.all(n.map(async function(t,r){const n=await t.getEncryptionKey(a[r],o,c,l),i=Vs.fromObject({version:f?6:3,encryptionKeyPacket:n.keyPacket,anonymousRecipient:s,sessionKey:e,sessionKeyAlgorithm:h});return await i.encrypt(n.keyPacket),delete i.sessionKey,i}));u.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t,l),1}catch{return 0}},r=(e,t)=>e+t,n=async function(e,s,a,o){const c=new Xs(l);return c.sessionKey=e,c.sessionKeyAlgorithm=s,a&&(c.aeadAlgorithm=a),await c.encrypt(o,l),l.passwordCollisionCheck&&1!==(await Promise.all(i.map(e=>t(c,e)))).reduce(r)?n(e,s,o):(delete c.sessionKey,c)},s=await Promise.all(i.map(t=>n(e,h,f,t)));u.push(...s)}return new Qa(u)}async sign(e=[],t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=O){const l=new Ms,u=this.packets.findPacket(N.packet.literalData);if(!u)throw new Error("No literal data packet to sign.");const h=await Na(u,e,t,r,n,i,s,a,o,!1,c),f=h.map((e,t)=>Ts.fromSignaturePacket(e,0===t)).reverse();return l.push(...f),l.push(u),l.push(...h),new Qa(l)}compress(e,t=O){if(e===N.compression.uncompressed)return this;const r=new Ls(t);r.algorithm=e,r.packets=this.packets;const n=new Ms;return n.push(r),new Qa(n)}async signDetached(e=[],t=[],r=null,n=[],i=[],s=new Date,a=[],o=[],c=O){const l=this.packets.findPacket(N.packet.literalData);if(!l)throw new Error("No literal data packet to sign.");return new oa(await Na(l,e,t,r,n,i,s,a,o,!0,c))}async verify(e,t=new Date,r=O){const n=this.unwrapCompressed(),i=n.packets.filterByTag(N.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");let s=n.packets;u(s.stream)&&(s=s.concat(await P(s.stream,e=>e||[])));const a=s.filterByTag(N.packet.onePassSignature).reverse(),o=s.filterByTag(N.packet.signature);return a.length&&!o.length&&G.isStream(s.stream)&&!u(s.stream)?(await Promise.all(a.map(async e=>{e.correspondingSig=new Promise((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r}),e.signatureData=F(async()=>(await e.correspondingSig).signatureData),e.hashed=P(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch(()=>{})})),s.stream=C(s.stream,async(e,t)=>{const r=M(e),n=R(t);try{for(let e=0;e{t.correspondingSigReject(e)}),await n.abort(e)}}),Oa(a,i,e,t,!1,r)):Oa(o,i,e,t,!1,r)}async verifyDetached(e,t,r=new Date,n=O){const i=this.unwrapCompressed().packets.filterByTag(N.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");return Oa(e.packets.filterByTag(N.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(N.packet.compressedData);return e.length?new Qa(e[0].packets):this}async appendSignature(e,t=O){await this.packets.read(G.isUint8Array(e)?e:(await re(e)).data,Ra,t)}write(){return this.packets.write()}armor(e=O){const t=this.packets[this.packets.length-1],r=t.constructor.tag===Zs.tag?2!==t.version:this.packets.some(e=>e.constructor.tag===Ks.tag&&6!==e.version);return ne(N.armor.message,this.write(),null,null,null,r,e)}}async function Na(e,t,r=[],n=null,i=[],s=new Date,a=[],o=[],c=[],l=!1,u=O){const h=new Ms,f=null===e.text?N.signature.binary:N.signature.text;if(await Promise.all(t.map(async(t,n)=>{const h=a[n];if(!t.isPrivate())throw new Error("Need private key for signing");const A=await t.getSigningKey(i[n],s,h,u);return Aa(e,r.length?r:[t],A.keyPacket,{signatureType:f},s,o,c,l,u)})).then(e=>{h.push(...e)}),n){const e=n.packets.filterByTag(N.packet.signature);h.push(...e)}return h}function Oa(e,t,r,n=new Date,i=!1,s=O){return e.filter(e=>["text","binary"].includes(N.read(N.signature,e.signatureType))).map(e=>function(e,t,r,n=new Date,i=!1,s=O){let a,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){a=t,o=r[0];break}}const c=e instanceof Ts?e.correspondingSig:e,l={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw new Error(`Could not find signing key with key ID ${e.issuerKeyID.toHex()}`);await e.verify(o.keyPacket,e.signatureType,t[0],n,i,s);const r=await c;if(o.getCreationTime()>r.created)throw new Error("Key is newer than the signature");try{await a.getSigningKey(o.getKeyID(),r.created,void 0,s)}catch(e){if(!s.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await a.getSigningKey(o.getKeyID(),n,void 0,s)}return!0})(),signature:(async()=>{const e=await c,t=new Ms;return e&&t.push(e),new oa(t)})()};return l.signature.catch(()=>{}),l.verified.catch(()=>{}),l}(e,t,r,n,i,s))}async function La({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...O,...r};let i=e||t;if(!i)throw new Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!G.isString(e)&&!G.isStream(e))throw new Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!G.isUint8Array(t)&&!G.isStream(t))throw new Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);const a=G.isStream(i);if(e){const{type:e,data:t}=await re(i);if(e!==N.armor.message)throw new Error("Armored text not of type message");i=t}const o=await Ms.fromBinary(i,Fa,r,new Ns),c=new Qa(o);return c.fromStream=a,c}async function Ga({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...s}){const a=void 0!==e?e:t;if(void 0===a)throw new Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!G.isString(e)&&!G.isStream(e))throw new Error("createMessage: options.text must be a string or stream");if(t&&!G.isUint8Array(t)&&!G.isStream(t))throw new Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(s);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);const c=G.isStream(a),l=new Bs(n);void 0!==e?l.setText(a,N.write(N.literal,i)):l.setBytes(a,N.write(N.literal,i)),void 0!==r&&l.setFilename(r);const u=new Ms;u.push(l);const h=new Qa(u);return h.fromStream=c,h}const Ha=G.constructAllowedPackets([Ks]);class Wa{constructor(e,t){if(this.text=G.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof oa))throw new Error("Invalid signature input");this.signature=t||new oa(new Ms)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach(function(t){e.push(t.issuerKeyID)}),e}async sign(e,t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=O){const l=new Bs;l.setText(this.text);const u=new oa(await Na(l,e,t,r,n,i,s,a,o,!0,c));return new Wa(this.text,u)}verify(e,t=new Date,r=O){const n=this.signature.packets.filterByTag(N.packet.signature),i=new Bs;return i.setText(this.text),Oa(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=O){const t=this.signature.packets.some(e=>6!==e.version),r={hash:t?Array.from(new Set(this.signature.packets.map(e=>N.read(N.hash,e.hashAlgorithm).toUpperCase()))).join():null,text:this.text,data:this.signature.packets.write()};return ne(N.armor.signed,r,void 0,void 0,void 0,t,e)}}async function Ya({cleartextMessage:e,config:t,...r}){if(t={...O,...t},!e)throw new Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!G.isString(e))throw new Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw new Error(`Unknown option: ${n.join(", ")}`);const i=await re(e);if(i.type!==N.armor.signed)throw new Error("No cleartext signed message.");const s=await Ms.fromBinary(i.data,Ha,t);!function(e,t){const r=[];if(e.forEach(e=>{const t=e.match(/^Hash: (.+)$/);if(!t)throw new Error('Only "Hash" header allowed in cleartext signed message');{const e=t[1].replace(/\s/g,"").split(",").map(e=>{try{return N.write(N.hash,e.toLowerCase())}catch{throw new Error("Unknown hash algorithm in armor header: "+e.toLowerCase())}});r.push(...e)}}),r.length&&!function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n0)throw new Error(`Unknown option: ${r.join(", ")}`);return new Wa(e)}async function Ja({userIDs:e=[],passphrase:t,type:r,curve:n,rsaBits:i=4096,keyExpirationTime:s=0,date:a=new Date,subkeys:o=[{}],format:c="armored",signatureNotations:l=[],config:u,...h}){$a(u={...O,...u}),r||n?(r=r||"ecc",n=n||"curve25519Legacy"):(r=u.v6Keys?"curve25519":"ecc",n="curve25519Legacy"),e=eo(e),l=eo(l);const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(0===e.length&&!u.v6Keys)throw new Error("UserIDs are required for V4 keys");if("rsa"===r&&iya(e.subkeys[r],e));let r=[la(e,t)];r=r.concat(e.subkeys.map(e=>ca(e,t)));const n=await Promise.all(r),i=await async function(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map(async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)}));const i=new Ms;function s(e,t){return[t,...e.filter(e=>e!==t)]}function a(){const e={};e.keyFlags=[N.keyFlags.certifyKeys|N.keyFlags.signData];const t=s([N.symmetric.aes256,N.symmetric.aes128],n.preferredSymmetricAlgorithm);if(e.preferredSymmetricAlgorithms=t,n.aeadProtect){const r=s([N.aead.gcm,N.aead.eax,N.aead.ocb],n.preferredAEADAlgorithm);e.preferredCipherSuites=r.flatMap(e=>t.map(t=>[t,e]))}return e.preferredHashAlgorithms=s([N.hash.sha512,N.hash.sha256,N.hash.sha3_512,N.hash.sha3_256],n.preferredHashAlgorithm),e.preferredCompressionAlgorithms=s([N.compression.uncompressed,N.compression.zlib,N.compression.zip],n.preferredCompressionAlgorithm),e.features=[0],e.features[0]|=N.features.modificationDetection,n.aeadProtect&&(e.features[0]|=N.features.seipdv2),r.keyExpirationTime>0&&(e.keyExpirationTime=r.keyExpirationTime,e.keyNeverExpires=!1),e}if(i.push(e),6===e.version){const t={key:e},s=a();s.signatureType=N.signature.key;const o=await Aa(t,[],e,s,r.date,void 0,r.signatureNotations,void 0,n);i.push(o)}await Promise.all(r.userIDs.map(async function(t,i){const s=sa.fromObject(t),o={userID:s,key:e},c=6!==e.version?a():{};return c.signatureType=N.signature.certPositive,0===i&&(c.isPrimaryUserID=!0),{userIDPacket:s,signaturePacket:await Aa(o,[],e,c,r.date,void 0,r.signatureNotations,void 0,n)}})).then(e=>{e.forEach(({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)})}),await Promise.all(t.map(async function(t,i){const s=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await fa(t,e,s,n)}})).then(e=>{e.forEach(({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)})});const o={key:e};return i.push(await Aa(o,[],e,{signatureType:N.signature.keyRevocation,reasonForRevocationFlag:N.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),t.map(function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}),new xa(i)}(n[0],n.slice(1),e,t),s=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:s}}(A,u);return e.getKeys().forEach(({keyPacket:e})=>va(e,u)),{privateKey:ro(e,c,u),publicKey:ro(e.toPublic(),c,u),revocationCertificate:t}}catch(e){throw G.wrapError("Error generating keypair",e)}}async function Za({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:s,...a}){$a(s={...O,...s});const o=Object.keys(a);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);try{const a=t?await e.applyRevocationCertificate(t,n,s):await e.revoke(r,n,s);return a.isPrivate()?{privateKey:ro(a,i,s),publicKey:ro(a.toPublic(),i,s)}:{privateKey:null,publicKey:ro(a,i,s)}}catch(e){throw G.wrapError("Error revoking key",e)}}async function qa({privateKey:e,passphrase:t,config:r,...n}){$a(r={...O,...r});const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);if(!e.isPrivate())throw new Error("Cannot encrypt a public key");const s=e.clone(!0),a=s.getKeys(),o=G.isArray(t)?t:new Array(a.length).fill(t);if(o.length!==a.length)throw new Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(a.map(async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()})),s}catch(e){throw s.clearPrivateParams(),G.wrapError("Error encrypting private key",e)}}async function _a({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:s="armored",signature:a=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:l=[],date:u=new Date,signingUserIDs:h=[],encryptionUserIDs:f=[],signatureNotations:A=[],config:d,...p}){if($a(d={...O,...d}),function(e){if(!(e instanceof Qa))throw new Error("Parameter [message] needs to be of type Message")}(e),za(s),t=eo(t),r=eo(r),n=eo(n),c=eo(c),l=eo(l),h=eo(h),f=eo(f),A=eo(A),p.detached)throw new Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(p.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(p.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==p.armor)throw new Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(p);if(g.length>0)throw new Error(`Unknown option: ${g.join(", ")}`);r||(r=[]);try{if((r.length||a)&&(e=await e.sign(r,t,a,c,u,h,l,A,d)),e=e.compress(await async function(e=[],t=new Date,r=[],n=O){const i=N.compression.uncompressed,s=n.preferredCompressionAlgorithm,a=await Promise.all(e.map(async function(e,i){const a=(await e.getPrimarySelfSignature(t,r[i],n)).preferredCompressionAlgorithms;return!!a&&a.indexOf(s)>=0}));return a.every(Boolean)?s:i}(t,u,f,d),d),e=await e.encrypt(t,n,i,o,l,u,f,d),"object"===s)return e;const p="armored"===s?e.armor(d):e.write();return await to(p)}catch(e){throw G.wrapError("Error encrypting message",e)}}async function Va({message:e,signingKeys:t,recipientKeys:r=[],format:n="armored",detached:i=!1,signingKeyIDs:s=[],date:a=new Date,signingUserIDs:o=[],recipientUserIDs:c=[],signatureNotations:l=[],config:u,...h}){if($a(u={...O,...u}),function(e){if(!(e instanceof Wa||e instanceof Qa))throw new Error("Parameter [message] needs to be of type Message or CleartextMessage")}(e),za(n),t=eo(t),s=eo(s),o=eo(o),r=eo(r),c=eo(c),l=eo(l),h.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==h.armor)throw new Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(e instanceof Wa&&"binary"===n)throw new Error("Cannot return signed cleartext message in binary format");if(e instanceof Wa&&i)throw new Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw new Error("No signing keys provided");try{let h;return h=i?await e.signDetached(t,r,void 0,s,a,o,c,l,u):await e.sign(t,r,void 0,s,a,o,c,l,u),"object"===n?h:(h="armored"===n?h.armor(u):h.write(),i&&(h=C(e.packets.write(),async(e,t)=>{await Promise.all([v(h,t),P(e).catch(()=>{})])})),await to(h))}catch(e){throw G.wrapError("Error signing message",e)}}function za(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw new Error(`Unsupported format ${e}`)}const Xa=Object.keys(O).length;function $a(e){const t=Object.keys(e);if(t.length!==Xa)for(const e of t)if(void 0===O[e])throw new Error(`Unknown config property: ${e}`)}function eo(e){return e&&!G.isArray(e)&&(e=[e]),e}async function to(e){return"array"===G.isStream(e)?P(e):e}function ro(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw new Error(`Unsupported format ${t}`)}}const no="object"==typeof n&&"crypto"in n?n.crypto:void 0;function io(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function so(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ao(e,...t){if(!io(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function oo(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");so(e.outputLen),so(e.blockLen)}function co(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 lo(e,t){ao(e);const r=t.outputLen;if(e.length>>t}function Ao(e,t){return e<>>32-t>>>0}function po(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const go=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let t=0;t"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),mo=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function wo(e){if(ao(e),yo)return e.toHex();let t="";for(let r=0;r=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function vo(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(yo)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,i=0;te().update(Eo(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Co=Bo;function So(e=32){if(no&&"function"==typeof no.getRandomValues)return no.getRandomValues(new Uint8Array(e));if(no&&"function"==typeof no.randomBytes)return Uint8Array.from(no.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Do=BigInt(0),xo=BigInt(1);function Ko(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e);return e}function Uo(e,t,r=""){const n=io(e),i=e?.length,s=void 0!==t;if(!n||s&&i!==t)throw new Error((r&&`"${r}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(n?`length=${i}`:"type="+typeof e));return e}function Po(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function To(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?Do:BigInt("0x"+e)}function Fo(e){return To(wo(e))}function Mo(e){return ao(e),To(wo(Uint8Array.from(e).reverse()))}function Ro(e,t){return vo(e.toString(16).padStart(2*t,"0"))}function Qo(e,t){return Ro(e,t).reverse()}function No(e,t,r){let n;if("string"==typeof t)try{n=vo(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!io(t))throw new Error(e+" must be hex string or Uint8Array");n=Uint8Array.from(t)}const i=n.length;if("number"==typeof r&&i!==r)throw new Error(e+" of length "+r+" expected, got "+i);return n}function Oo(e){return Uint8Array.from(e)}const Lo=e=>"bigint"==typeof e&&Do<=e;function Go(e,t,r,n){if(!function(e,t,r){return Lo(e)&&Lo(t)&&Lo(r)&&t<=e&&eDo;e>>=xo,t+=1);return t}const Wo=e=>(xo<n(e,t,!1)),Object.entries(r).forEach(([e,t])=>n(e,t,!0))}function jo(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const s=e(r,...n);return t.set(r,s),s}}const Jo=BigInt(0),Zo=BigInt(1),qo=BigInt(2),_o=BigInt(3),Vo=BigInt(4),zo=BigInt(5),Xo=BigInt(7),$o=BigInt(8),ec=BigInt(9),tc=BigInt(16);function rc(e,t){const r=e%t;return r>=Jo?r:t+r}function nc(e,t,r){let n=e;for(;t-- >Jo;)n*=n,n%=r;return n}function ic(e,t){if(e===Jo)throw new Error("invert: expected non-zero number");if(t<=Jo)throw new Error("invert: expected positive modulus, got "+t);let r=rc(e,t),n=t,i=Jo,s=Zo;for(;r!==Jo;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==Zo)throw new Error("invert: does not exist");return rc(i,t)}function sc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function ac(e,t){const r=(e.ORDER+Zo)/Vo,n=e.pow(t,r);return sc(e,n,t),n}function oc(e,t){const r=(e.ORDER-zo)/$o,n=e.mul(t,qo),i=e.pow(n,r),s=e.mul(t,i),a=e.mul(e.mul(s,qo),i),o=e.mul(s,e.sub(a,e.ONE));return sc(e,o,t),o}function cc(e){if(e<_o)throw new Error("sqrt is not defined for small field");let t=e-Zo,r=0;for(;t%qo===Jo;)t/=qo,r++;let n=qo;const i=Ac(e);for(;1===hc(i,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return ac;let s=i.pow(n,t);const a=(t+Zo)/qo;return function(e,n){if(e.is0(n))return n;if(1!==hc(e,n))throw new Error("Cannot find square root");let i=r,o=e.mul(e.ONE,s),c=e.pow(n,t),l=e.pow(n,a);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,r=e.sqr(c);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw new Error("Cannot find square root");const n=Zo<e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),s=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),s),n}function hc(e,t){const r=(e.ORDER-Zo)/qo,n=e.pow(t,r),i=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),a=e.eql(n,e.neg(e.ONE));if(!i&&!s&&!a)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function fc(e,t){void 0!==t&&so(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function Ac(e,t,r=!1,n={}){if(e<=Jo)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,s,a,o=!1;if("object"==typeof t&&null!=t){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");const e=t;e.BITS&&(i=e.BITS),e.sqrt&&(s=e.sqrt),"boolean"==typeof e.isLE&&(r=e.isLE),"boolean"==typeof e.modFromBytes&&(o=e.modFromBytes),a=e.allowedLengths}else"number"==typeof t&&(i=t),n.sqrt&&(s=n.sqrt);const{nBitLength:c,nByteLength:l}=fc(e,i);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const h=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Wo(c),ZERO:Jo,ONE:Zo,allowedLengths:a,create:t=>rc(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Jo<=t&&te===Jo,isValidNot0:e=>!h.is0(e)&&h.isValid(e),isOdd:e=>(e&Zo)===Zo,neg:t=>rc(-t,e),eql:(e,t)=>e===t,sqr:t=>rc(t*t,e),add:(t,r)=>rc(t+r,e),sub:(t,r)=>rc(t-r,e),mul:(t,r)=>rc(t*r,e),pow:(e,t)=>function(e,t,r){if(rJo;)r&Zo&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Zo;return n}(h,e,t),div:(t,r)=>rc(t*ic(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ic(t,e),sqrt:s||(t=>{return u||(u=(r=e)%Vo===_o?ac:r%$o===zo?oc:r%tc===ec?function(e){const t=Ac(e),r=cc(e),n=r(t,t.neg(t.ONE)),i=r(t,n),s=r(t,t.neg(n)),a=(e+Xo)/tc;return(e,t)=>{let r=e.pow(t,a),o=e.mul(r,n);const c=e.mul(r,i),l=e.mul(r,s),u=e.eql(e.sqr(o),t),h=e.eql(e.sqr(c),t);r=e.cmov(r,o,u),o=e.cmov(l,c,h);const f=e.eql(e.sqr(o),t),A=e.cmov(r,o,f);return sc(e,A,t),A}}(r):cc(r)),u(h,t);var r}),toBytes:e=>r?Qo(e,l):Ro(e,l),fromBytes:(t,n=!0)=>{if(a){if(!a.includes(t.length)||t.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+t.length);const e=new Uint8Array(l);e.set(t,r?0:e.length-t.length),t=e}if(t.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+t.length);let i=r?Mo(t):Fo(t);if(o&&(i=rc(i,e)),!n&&!h.isValid(i))throw new Error("invalid field element: outside of range 0..ORDER");return i},invertBatch:e=>uc(h,e),cmov:(e,t,r)=>r?t:e});return Object.freeze(h)}function dc(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function pc(e){const t=dc(e);return t+Math.ceil(t/2)}function gc(e,t,r){return e&t^~e&r}function yc(e,t,r){return e&t^e&r^t&r}class mc extends Io{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=ho(this.buffer)}update(e){co(this),ao(e=Eo(e));const{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let s=0;sn-s&&(this.process(r,0),s=0);for(let e=s;e>i&s),o=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+l,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const a=ho(e),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>Ic&kc)}:{h:0|Number(e>>Ic&kc),l:0|Number(e&kc)}}function Cc(e,t=!1){const r=e.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let s=0;se>>>r,Dc=(e,t,r)=>e<<32-r|t>>>r,xc=(e,t,r)=>e>>>r|t<<32-r,Kc=(e,t,r)=>e<<32-r|t>>>r,Uc=(e,t,r)=>e<<64-r|t>>>r-32,Pc=(e,t,r)=>e>>>r-32|t<<64-r;function Tc(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}}const Fc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Mc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Rc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Qc=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Nc=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Oc=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0,Lc=Uint32Array.from([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]),Gc=new Uint32Array(64);class Hc extends mc{constructor(e=32){super(64,e,8,!1),this.A=0|wc[0],this.B=0|wc[1],this.C=0|wc[2],this.D=0|wc[3],this.E=0|wc[4],this.F=0|wc[5],this.G=0|wc[6],this.H=0|wc[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[e,t,r,n,i,s,a,o]}set(e,t,r,n,i,s,a,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)Gc[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=Gc[e-15],r=Gc[e-2],n=fo(t,7)^fo(t,18)^t>>>3,i=fo(r,17)^fo(r,19)^r>>>10;Gc[e]=i+Gc[e-7]+n+Gc[e-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+(fo(a,6)^fo(a,11)^fo(a,25))+gc(a,o,c)+Lc[e]+Gc[e]|0,u=(fo(r,2)^fo(r,13)^fo(r,22))+yc(r,n,i)|0;l=c,c=o,o=a,a=s+t|0,s=i,i=n,n=r,r=t+u|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,i,s,a,o,c,l)}roundClean(){uo(Gc)}destroy(){this.set(0,0,0,0,0,0,0,0),uo(this.buffer)}}class Wc extends Hc{constructor(){super(28),this.A=0|bc[0],this.B=0|bc[1],this.C=0|bc[2],this.D=0|bc[3],this.E=0|bc[4],this.F=0|bc[5],this.G=0|bc[6],this.H=0|bc[7]}}const Yc=(()=>Cc(["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))))(),jc=(()=>Yc[0])(),Jc=(()=>Yc[1])(),Zc=new Uint32Array(80),qc=new Uint32Array(80);class _c extends mc{constructor(e=64){super(128,e,16,!1),this.Ah=0|Ec[0],this.Al=0|Ec[1],this.Bh=0|Ec[2],this.Bl=0|Ec[3],this.Ch=0|Ec[4],this.Cl=0|Ec[5],this.Dh=0|Ec[6],this.Dl=0|Ec[7],this.Eh=0|Ec[8],this.El=0|Ec[9],this.Fh=0|Ec[10],this.Fl=0|Ec[11],this.Gh=0|Ec[12],this.Gl=0|Ec[13],this.Hh=0|Ec[14],this.Hl=0|Ec[15]}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:c,El:l,Fh:u,Fl:h,Gh:f,Gl:A,Hh:d,Hl:p}=this;return[e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p]}set(e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|c,this.El=0|l,this.Fh=0|u,this.Fl=0|h,this.Gh=0|f,this.Gl=0|A,this.Hh=0|d,this.Hl=0|p}process(e,t){for(let r=0;r<16;r++,t+=4)Zc[r]=e.getUint32(t),qc[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|Zc[e-15],r=0|qc[e-15],n=xc(t,r,1)^xc(t,r,8)^Sc(t,0,7),i=Kc(t,r,1)^Kc(t,r,8)^Dc(t,r,7),s=0|Zc[e-2],a=0|qc[e-2],o=xc(s,a,19)^Uc(s,a,61)^Sc(s,0,6),c=Kc(s,a,19)^Pc(s,a,61)^Dc(s,a,6),l=Rc(i,c,qc[e-7],qc[e-16]),u=Qc(l,n,o,Zc[e-7],Zc[e-16]);Zc[e]=0|u,qc[e]=0|l}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:c,Dl:l,Eh:u,El:h,Fh:f,Fl:A,Gh:d,Gl:p,Hh:g,Hl:y}=this;for(let e=0;e<80;e++){const t=xc(u,h,14)^xc(u,h,18)^Uc(u,h,41),m=Kc(u,h,14)^Kc(u,h,18)^Pc(u,h,41),w=u&f^~u&d,b=Nc(y,m,h&A^~h&p,Jc[e],qc[e]),v=Oc(b,g,t,w,jc[e],Zc[e]),E=0|b,k=xc(r,n,28)^Uc(r,n,34)^Uc(r,n,39),I=Kc(r,n,28)^Pc(r,n,34)^Pc(r,n,39),B=r&i^r&a^i&a,C=n&s^n&o^s&o;g=0|d,y=0|p,d=0|f,p=0|A,f=0|u,A=0|h,({h:u,l:h}=Tc(0|c,0|l,0|v,0|E)),c=0|a,l=0|o,a=0|i,o=0|s,i=0|r,s=0|n;const S=Fc(E,I,C);r=Mc(S,v,k,B),n=0|S}({h:r,l:n}=Tc(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=Tc(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=Tc(0|this.Ch,0|this.Cl,0|a,0|o)),({h:c,l}=Tc(0|this.Dh,0|this.Dl,0|c,0|l)),({h:u,l:h}=Tc(0|this.Eh,0|this.El,0|u,0|h)),({h:f,l:A}=Tc(0|this.Fh,0|this.Fl,0|f,0|A)),({h:d,l:p}=Tc(0|this.Gh,0|this.Gl,0|d,0|p)),({h:g,l:y}=Tc(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,n,i,s,a,o,c,l,u,h,f,A,d,p,g,y)}roundClean(){uo(Zc,qc)}destroy(){uo(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Vc extends _c{constructor(){super(48),this.Ah=0|vc[0],this.Al=0|vc[1],this.Bh=0|vc[2],this.Bl=0|vc[3],this.Ch=0|vc[4],this.Cl=0|vc[5],this.Dh=0|vc[6],this.Dl=0|vc[7],this.Eh=0|vc[8],this.El=0|vc[9],this.Fh=0|vc[10],this.Fl=0|vc[11],this.Gh=0|vc[12],this.Gl=0|vc[13],this.Hh=0|vc[14],this.Hl=0|vc[15]}}const zc=Bo(()=>new Hc),Xc=Bo(()=>new Wc),$c=Bo(()=>new _c),el=Bo(()=>new Vc);class tl extends Io{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,oo(e);const r=Eo(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let e=0;enew tl(e,t).update(r).digest();rl.create=(e,t)=>new tl(e,t);const nl=BigInt(0),il=BigInt(1);function sl(e,t){const r=t.negate();return e?r:t}function al(e,t){const r=uc(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function ol(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function cl(e,t){ol(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Wo(e),maxNumber:r,shiftBy:BigInt(e)}}function ll(e,t,r){const{windowSize:n,mask:i,maxNumber:s,shiftBy:a}=r;let o=Number(e&i),c=e>>a;o>n&&(o-=s,c+=il);const l=t*n;return{nextN:c,offset:l+Math.abs(o)-1,isZero:0===o,isNeg:o<0,isNegF:t%2!=0,offsetF:l}}const ul=new WeakMap,hl=new WeakMap;function fl(e){return hl.get(e)||1}function Al(e){if(e!==nl)throw new Error("invalid wNAF")}class dl{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>nl;)t&il&&(r=r.add(n)),n=n.double(),t>>=il;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=cl(t,this.bits),i=[];let s=e,a=s;for(let e=0;e{if(!(e instanceof t))throw new Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)})}(n,t);const i=r.length,s=n.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Ho(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const l=Wo(c),u=new Array(Number(l)+1).fill(a);let h=a;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){u.fill(a);for(let t=0;t>BigInt(e)&l);u[s]=u[s].add(r[t])}let t=a;for(let e=u.length-1,r=a;e>0;e--)r=r.add(u[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return Ac(e,{isLE:r})}function yl(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>nl))throw new Error(`CURVE.${e} must be positive bigint`)}const i=gl(t.p,r.Fp,n),s=gl(t.n,r.Fn,n),a=["Gx","Gy","a","weierstrass"===e?"b":"d"];for(const e of a)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:s}}const ml=(e,t)=>(e+(e>=0?t:-t)/Bl)/t;function wl(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function bl(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return Ko(r.lowS,"lowS"),Ko(r.prehash,"prehash"),void 0!==r.format&&wl(r.format),r}class vl extends Error{constructor(e=""){super(e)}}const El={Err:vl,_tlv:{encode:(e,t)=>{const{Err:r}=El;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=Po(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const s=n>127?Po(i.length/2|128):"";return Po(e)+s+i+t},decode(e,t){const{Err:r}=El;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let s=0;if(128&i){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const a=t.subarray(n,n+e);if(a.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===a[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(n+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=i;const a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){const{Err:t}=El;if(erl(t,e,ko(...r))),{Fp:s,Fn:a}=e,{ORDER:o,BITS:c}=a,{keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A}=function(e,t={}){const{Fn:r}=e,n=t.randomBytes||So,i=Object.assign(Kl(e.Fp,r),{seed:pc(r.ORDER)});function s(e){try{return!!Dl(r,e)}catch(e){return!1}}function a(e=n(i.seed)){return function(e,t,r=!1){const n=e.length,i=dc(t),s=pc(t);if(n<16||n1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);const a=rc(r?Mo(e):Fo(e),t-Zo)+Zo;return r?Qo(a,i):Ro(a,i)}(Uo(e,i.seed,"seed"),r.ORDER)}function o(t,n=!0){return e.BASE.multiply(Dl(r,t)).toBytes(n)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:n,publicKey:s,publicKeyUncompressed:a}=i;if(r.allowedLengths||n===s)return;const o=No("key",t).length;return o===s||o===a}const l={isValidSecretKey:s,isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:s}=i;try{const i=t.length;return!(!0===r&&i!==n||!1===r&&i!==s||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:e=>Dl(r,e),precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({getPublicKey:o,getSharedSecret:function(t,n,i=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(n))throw new Error("second arg must be public key");const s=Dl(r,t);return e.fromHex(n).multiply(s).toBytes(i)},keygen:function(e){const t=a(e);return{secretKey:t,publicKey:o(t)}},Point:e,utils:l,lengths:i})}(e,r),d={prehash:!1,lowS:"boolean"==typeof r.lowS&&r.lowS,format:void 0,extraEntropy:!1},p="compact";function g(e){return e>o>>Il}function y(e,t){if(!a.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class m{constructor(e,t,r){this.r=y("r",e),this.s=y("s",t),null!=r&&(this.recovery=r),Object.freeze(this)}static fromBytes(e,t=p){let r;if(function(e,t){wl(t);const r=A.signature;Uo(e,"compact"===t?r:"recovered"===t?r+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:r}=El.toSig(Uo(e));return new m(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=a.BYTES,i=e.subarray(0,n),s=e.subarray(n,2*n);return new m(a.fromBytes(i),a.fromBytes(s),r)}static fromHex(e,t){return this.fromBytes(vo(e),t)}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(t){const r=s.ORDER,{r:n,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(o*Bl1)throw new Error("recovery id is ambiguous for h>1 curve");const l=2===c||3===c?n+o:n;if(!s.isValid(l))throw new Error("recovery id 2 or 3 invalid");const u=s.toBytes(l),h=e.fromBytes(ko(xl(!(1&c)),u)),f=a.inv(l),A=b(No("msgHash",t)),d=a.create(-A*f),p=a.create(i*f),g=e.BASE.multiplyUnsafe(d).add(h.multiplyUnsafe(p));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=p){if(wl(e),"der"===e)return vo(El.hexFromSig(this));const t=a.toBytes(this.r),r=a.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return ko(Uint8Array.of(this.recovery),t,r)}return ko(t,r)}toHex(e){return wo(this.toBytes(e))}assertValidity(){}static fromCompact(e){return m.fromBytes(No("sig",e),"compact")}static fromDER(e){return m.fromBytes(No("sig",e),"der")}normalizeS(){return this.hasHighS()?new m(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return wo(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return wo(this.toBytes("compact"))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=Fo(e),r=8*e.length-c;return r>0?t>>BigInt(r):t},b=r.bits2int_modN||function(e){return a.create(w(e))},v=Wo(c);function E(e){return Go("num < 2^"+c,e,kl,v),a.toBytes(e)}function k(e,r){return Uo(e,void 0,"message"),r?Uo(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A,Point:e,sign:function(r,s,o={}){r=No("message",r);const{seed:c,k2sig:l}=function(t,r,i){if(["recovered","canonical"].some(e=>e in i))throw new Error("sign() legacy options not supported");const{lowS:s,prehash:o,extraEntropy:c}=bl(i,d);t=k(t,o);const l=b(t),u=Dl(a,r),h=[E(u),E(l)];if(null!=c&&!1!==c){const e=!0===c?n(A.secretKey):c;h.push(No("extraEntropy",e))}const f=ko(...h),p=l;return{seed:f,k2sig:function(t){const r=w(t);if(!a.isValidNot0(r))return;const n=a.inv(r),i=e.BASE.multiply(r).toAffine(),o=a.create(i.x);if(o===kl)return;const c=a.create(n*a.create(p+o*u));if(c===kl)return;let l=(i.x===o?0:2)|Number(i.y&Il),h=c;return s&&g(c)&&(h=a.neg(c),l^=1),new m(o,h,l)}}}(r,s,o),u=function(e,t,r){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=n(e),a=n(e),o=0;const c=()=>{s.fill(1),a.fill(0),o=0},l=(...e)=>r(a,s,...e),u=(e=n(0))=>{a=l(i(0),e),s=l(),0!==e.length&&(a=l(i(1),e),s=l())},h=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const r=[];for(;e{let r;for(c(),u(e);!(r=t(h()));)u();return c(),r}}(t.outputLen,a.BYTES,i);return u(c,l)},verify:function(t,r,n,i={}){const{lowS:s,prehash:o,format:c}=bl(i,d);if(n=No("publicKey",n),r=k(No("message",r),o),"strict"in i)throw new Error("options.strict was renamed to lowS");const l=void 0===c?function(e){let t;const r="string"==typeof e||io(e),n=!r&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!r&&!n)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(n)t=new m(e.r,e.s);else if(r){try{t=m.fromBytes(No("sig",e),"der")}catch(e){if(!(e instanceof El.Err))throw e}if(!t)try{t=m.fromBytes(No("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):m.fromBytes(No("sig",t),c);if(!1===l)return!1;try{const t=e.fromBytes(n);if(s&&l.hasHighS())return!1;const{r:i,s:o}=l,c=b(r),u=a.inv(o),h=a.create(c*u),f=a.create(i*u),A=e.BASE.multiplyUnsafe(h).add(t.multiplyUnsafe(f));return!A.is0()&&a.create(A.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=bl(r,d);return t=k(t,n),m.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:m,hash:t})}function Pl(e){const{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=function(e){const{CURVE:t,curveOpts:r}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp;let n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:r,Fn:Ac(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,fc(r.Fn.ORDER,r.Fn.BITS))})}(e,Ul(function(e,t={}){const r=yl("weierstrass",e,t),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a,n:o}=s;Yo(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!n.is0(s.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=Kl(n,i);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const h=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),a=n.toBytes(i);return Ko(r,"isCompressed"),r?(u(),ko(xl(!n.isOdd(s)),a)):ko(Uint8Array.of(4),a,n.toBytes(s))},f=t.fromBytes||function(e){Uo(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=l,i=e.length,s=e[0],a=e.subarray(1);if(i!==t||2!==s&&3!==s){if(i===r&&4===s){const e=n.BYTES,t=n.fromBytes(a.subarray(0,e)),r=n.fromBytes(a.subarray(e,2*e));if(!d(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(a);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=A(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}return u(),!(1&~s)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function A(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,s.a)),s.b)}function d(e,t){const r=n.sqr(t),i=A(e);return n.eql(r,i)}if(!d(s.Gx,s.Gy))throw new Error("bad curve params: generator point");const p=n.mul(n.pow(s.a,Cl),Sl),g=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(p,g)))throw new Error("bad curve params: a or b");function y(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function m(e){if(!(e instanceof k))throw new Error("ProjectivePoint expected")}function w(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,r){const[[n,i],[s,a]]=t,o=ml(a*e,r),c=ml(-i*e,r);let l=e-o*n-c*s,u=-o*i-c*a;const h=l=A||u=A)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:h,k1:l,k2neg:f,k2:u}}(e,c.basises,i.ORDER)}const b=jo((e,t)=>{const{X:r,Y:i,Z:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const o=n.mul(r,t),c=n.mul(i,t),l=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw new Error("invZ was invalid");return{x:o,y:c}}),v=jo(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!d(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,r,i,s){return r=new k(n.mul(r.X,e),r.Y,r.Z),t=sl(i,t),r=sl(s,r),t.add(r)}class k{constructor(e,t,r){this.X=y("x",e),this.Y=y("y",t,!0),this.Z=y("z",r),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof k)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?k.ZERO:new k(t,r,n.ONE)}static fromBytes(e){const t=k.fromAffine(f(Uo(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return k.fromBytes(No("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return B.createCache(this,e),t||this.multiply(Cl),this}assertValidity(){v(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){m(e);const{X:t,Y:r,Z:i}=this,{X:s,Y:a,Z:o}=e,c=n.eql(n.mul(t,o),n.mul(s,i)),l=n.eql(n.mul(r,o),n.mul(a,i));return c&&l}negate(){return new k(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=s,r=n.mul(t,Cl),{X:i,Y:a,Z:o}=this;let c=n.ZERO,l=n.ZERO,u=n.ZERO,h=n.mul(i,i),f=n.mul(a,a),A=n.mul(o,o),d=n.mul(i,a);return d=n.add(d,d),u=n.mul(i,o),u=n.add(u,u),c=n.mul(e,u),l=n.mul(r,A),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(d,c),u=n.mul(r,u),A=n.mul(e,A),d=n.sub(h,A),d=n.mul(e,d),d=n.add(d,u),u=n.add(h,h),h=n.add(u,h),h=n.add(h,A),h=n.mul(h,d),l=n.add(l,h),A=n.mul(a,o),A=n.add(A,A),h=n.mul(A,d),c=n.sub(c,h),u=n.mul(A,f),u=n.add(u,u),u=n.add(u,u),new k(c,l,u)}add(e){m(e);const{X:t,Y:r,Z:i}=this,{X:a,Y:o,Z:c}=e;let l=n.ZERO,u=n.ZERO,h=n.ZERO;const f=s.a,A=n.mul(s.b,Cl);let d=n.mul(t,a),p=n.mul(r,o),g=n.mul(i,c),y=n.add(t,r),w=n.add(a,o);y=n.mul(y,w),w=n.add(d,p),y=n.sub(y,w),w=n.add(t,i);let b=n.add(a,c);return w=n.mul(w,b),b=n.add(d,g),w=n.sub(w,b),b=n.add(r,i),l=n.add(o,c),b=n.mul(b,l),l=n.add(p,g),b=n.sub(b,l),h=n.mul(f,w),l=n.mul(A,g),h=n.add(l,h),l=n.sub(p,h),h=n.add(p,h),u=n.mul(l,h),p=n.add(d,d),p=n.add(p,d),g=n.mul(f,g),w=n.mul(A,w),p=n.add(p,g),g=n.sub(d,g),g=n.mul(f,g),w=n.add(w,g),d=n.mul(p,w),u=n.add(u,d),d=n.mul(b,w),l=n.mul(y,l),l=n.sub(l,d),d=n.mul(y,p),h=n.mul(b,h),h=n.add(h,d),new k(l,u,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(k.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,s;const a=e=>B.cached(this,e,e=>al(k,e));if(r){const{k1neg:t,k1:i,k2neg:o,k2:c}=w(e),{p:l,f:u}=a(i),{p:h,f}=a(c);s=u.add(f),n=E(r.beta,l,h,t,o)}else{const{p:t,f:r}=a(e);n=t,s=r}return al(k,[n,s])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===kl||n.is0())return k.ZERO;if(e===Il)return n;if(B.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:s,k2:a}=w(e),{p1:o,p2:c}=function(e,t,r,n){let i=t,s=e.ZERO,a=e.ZERO;for(;r>nl||n>nl;)r&il&&(s=s.add(i)),n&il&&(a=a.add(i)),i=i.double(),r>>=il,n>>=il;return{p1:s,p2:a}}(k,n,i,a);return E(r.beta,o,c,t,s)}return B.unsafe(n,e)}multiplyAndAddUnsafe(e,t,r){const n=this.multiplyUnsafe(t).add(e.multiplyUnsafe(r));return n.is0()?void 0:n}toAffine(e){return b(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return a===Il||(e?e(k,this):B.unsafe(this,o).is0())}clearCofactor(){const{clearCofactor:e}=t;return a===Il?this:e?e(k,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(e=!0){return Ko(e,"isCompressed"),this.assertValidity(),h(k,this,e)}toHex(e=!0){return wo(this.toBytes(e))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return al(k,e)}static msm(e,t){return pl(k,i,e,t)}static fromPrivateKey(e){return k.BASE.multiply(Dl(i,e))}}k.BASE=new k(s.Gx,s.Gy,n.ONE),k.ZERO=new k(n.ZERO,n.ONE,n.ZERO),k.Fp=n,k.Fn=i;const I=i.BITS,B=new dl(k,t.endo?Math.ceil(I/2):I);return k.BASE.precompute(8),k}(t,r),n,i))}function Tl(e,t){const r=t=>Pl({...e,hash:t});return{...r(t),create:r}}const Fl={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},Ml={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},Rl={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},Ql=Ac(Fl.p),Nl=Ac(Ml.p),Ol=Ac(Rl.p),Ll=Tl({...Fl,Fp:Ql,lowS:!1},zc),Gl=Tl({...Ml,Fp:Nl,lowS:!1},el),Hl=Tl({...Rl,Fp:Ol,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},$c),Wl=BigInt(0),Yl=BigInt(1),jl=BigInt(2),Jl=BigInt(7),Zl=BigInt(256),ql=BigInt(113),_l=[],Vl=[],zl=[];for(let e=0,t=Yl,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],_l.push(2*(5*n+r)),Vl.push((e+1)*(e+2)/2%64);let i=Wl;for(let e=0;e<7;e++)t=(t<>Jl)*ql)%Zl,t&jl&&(i^=Yl<<(Yl<r>32?((e,t,r)=>t<>>64-r)(e,t,r):((e,t,r)=>e<>>32-r)(e,t,r),ru=(e,t,r)=>r>32?((e,t,r)=>e<>>64-r)(e,t,r):((e,t,r)=>t<>>32-r)(e,t,r);class nu extends Io{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,so(r),!(0=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return so(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(lo(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,uo(this.state)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return e||(e=new nu(t,r,n,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=s,e.destroyed=this.destroyed,e}}const iu=(e,t,r)=>Bo(()=>new nu(t,e,r)),su=(()=>iu(6,136,32))(),au=(()=>iu(6,72,64))(),ou=(()=>{return e=31,t=136,r=32,function(e){const t=(t,r)=>e(r).update(Eo(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}((n={})=>new nu(t,e,void 0===n.dkLen?r:n.dkLen,!0));var e,t,r})(),cu=BigInt(0),lu=BigInt(1),uu=BigInt(2),hu=BigInt(8);function fu(e,t={}){const r=yl("edwards",e,t,t.FpFnLE),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a}=s;Yo(t,{},{uvRatio:"function"});const o=uu<n.create(e),l=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(n.div(e,t))}}catch(e){return{isValid:!1,value:cu}}});if(!function(e,t,r,n){const i=e.sqr(r),s=e.sqr(n),a=e.add(e.mul(t.a,i),s),o=e.add(e.ONE,e.mul(t.d,e.mul(i,s)));return e.eql(a,o)}(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function u(e,t,r=!1){return Go("coordinate "+e,t,r?lu:cu,o),t}function h(e){if(!(e instanceof d))throw new Error("ExtendedPoint expected")}const f=jo((e,t)=>{const{X:r,Y:i,Z:s}=e,a=e.is0();null==t&&(t=a?hu:n.inv(s));const o=c(r*t),l=c(i*t),u=n.mul(s,t);if(a)return{x:cu,y:lu};if(u!==lu)throw new Error("invZ was invalid");return{x:o,y:l}}),A=jo(e=>{const{a:t,d:r}=s;if(e.is0())throw new Error("bad point: ZERO");const{X:n,Y:i,Z:a,T:o}=e,l=c(n*n),u=c(i*i),h=c(a*a),f=c(h*h),A=c(l*t);if(c(h*c(A+u))!==c(f+c(r*c(l*u))))throw new Error("bad point: equation left != right (1)");if(c(n*i)!==c(a*o))throw new Error("bad point: equation left != right (2)");return!0});class d{constructor(e,t,r,n){this.X=u("x",e),this.Y=u("y",t),this.Z=u("z",r,!0),this.T=u("t",n),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){if(e instanceof d)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};return u("x",t),u("y",r),new d(t,r,lu,c(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:i,d:a}=s;e=Oo(Uo(e,r,"point")),Ko(t,"zip215");const u=Oo(e),h=e[r-1];u[r-1]=-129&h;const f=Mo(u),A=t?o:n.ORDER;Go("point.y",f,cu,A);const p=c(f*f),g=c(p-lu),y=c(a*p-i);let{isValid:m,value:w}=l(g,y);if(!m)throw new Error("bad point: invalid y coordinate");const b=(w&lu)===lu,v=!!(128&h);if(!t&&w===cu&&v)throw new Error("bad point: x=0 and x_0=1");return v!==b&&(w=c(-w)),d.fromAffine({x:w,y:f})}static fromHex(e,t=!1){return d.fromBytes(No("point",e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return p.createCache(this,e),t||this.multiply(uu),this}assertValidity(){A(this)}equals(e){h(e);const{X:t,Y:r,Z:n}=this,{X:i,Y:s,Z:a}=e,o=c(t*a),l=c(i*n),u=c(r*a),f=c(s*n);return o===l&&u===f}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:e}=s,{X:t,Y:r,Z:n}=this,i=c(t*t),a=c(r*r),o=c(uu*c(n*n)),l=c(e*i),u=t+r,h=c(c(u*u)-i-a),f=l+a,A=f-o,p=l-a,g=c(h*A),y=c(f*p),m=c(h*p),w=c(A*f);return new d(g,y,w,m)}add(e){h(e);const{a:t,d:r}=s,{X:n,Y:i,Z:a,T:o}=this,{X:l,Y:u,Z:f,T:A}=e,p=c(n*l),g=c(i*u),y=c(o*r*A),m=c(a*f),w=c((n+i)*(l+u)-p-g),b=m-y,v=m+y,E=c(g-t*p),k=c(w*b),I=c(v*E),B=c(w*E),C=c(b*v);return new d(k,I,C,B)}subtract(e){return this.add(e.negate())}multiply(e){if(!i.isValidNot0(e))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:t,f:r}=p.cached(this,e,e=>al(d,e));return al(d,[t,r])[0]}multiplyUnsafe(e,t=d.ZERO){if(!i.isValid(e))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return e===cu?d.ZERO:this.is0()||e===lu?this:p.unsafe(this,e,e=>al(d,e),t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return p.unsafe(this,s.n).is0()}toAffine(e){return f(this,e)}clearCofactor(){return a===lu?this:this.multiplyUnsafe(a)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&lu?128:0,r}toHex(){return wo(this.toBytes())}toString(){return``}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(e){return al(d,e)}static msm(e,t){return pl(d,i,e,t)}_setWindowSize(e){this.precompute(e)}toRawBytes(){return this.toBytes()}}d.BASE=new d(s.Gx,s.Gy,lu,c(s.Gx*s.Gy)),d.ZERO=new d(cu,lu,lu,cu),d.Fp=n,d.Fn=i;const p=new dl(d,i.BITS);return d.BASE.precompute(8),d}const Au=BigInt(0),du=BigInt(1),pu=BigInt(2);const gu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),h:BigInt(4),a:BigInt(1),d:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),Gx:BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),Gy:BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")},yu=Object.assign({},gu,{d:BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),Gx:BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),Gy:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")}),mu=Bo(()=>ou.create({dkLen:114})),wu=BigInt(1),bu=BigInt(2),vu=BigInt(3);BigInt(4);const Eu=BigInt(11),ku=BigInt(22),Iu=BigInt(44),Bu=BigInt(88),Cu=BigInt(223);function Su(e){const t=gu.p,r=e*e*e%t,n=r*r*e%t,i=nc(n,vu,t)*n%t,s=nc(i,vu,t)*n%t,a=nc(s,bu,t)*r%t,o=nc(a,Eu,t)*a%t,c=nc(o,ku,t)*o%t,l=nc(c,Iu,t)*c%t,u=nc(l,Bu,t)*l%t,h=nc(u,Iu,t)*c%t,f=nc(h,bu,t)*r%t,A=nc(f,wu,t)*e%t;return nc(A,Cu,t)*f%t}function Du(e){return e[0]&=252,e[55]|=128,e[56]=0,e}function xu(e,t){const r=gu.p,n=rc(e*e*t,r),i=rc(n*e,r),s=rc(i*n*t,r),a=rc(i*Su(s),r),o=rc(a*a,r);return{isValid:rc(o*t,r)===e,value:a}}const Ku=(()=>Ac(gu.p,{BITS:456,isLE:!0}))(),Uu=(()=>Ac(gu.n,{BITS:456,isLE:!0}))();function Pu(e,t,r){if(t.length>255)throw new Error("context must be smaller than 255, got: "+t.length);return ko((n="SigEd448",Uint8Array.from(n,(e,t)=>{const r=e.charCodeAt(0);if(1!==e.length||r>127)throw new Error(`string contains non-ASCII character "${n[t]}" with code ${r} at position ${t}`);return r})),new Uint8Array([r?1:0,t.length]),t,e);var n}const Tu=function(e){const{CURVE:t,curveOpts:r,hash:n,eddsaOpts:i}=function(e){const t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r={Fp:e.Fp,Fn:Ac(t.n,e.nBitLength,!0),uvRatio:e.uvRatio},n={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:r,hash:e.hash,eddsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}(e,function(e,t,r={}){if("function"!=typeof t)throw new Error('"hash" function param is required');Yo(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:n}=r,{BASE:i,Fp:s,Fn:a}=e,o=r.randomBytes||So,c=r.adjustScalarBytes||(e=>e),l=r.domain||((e,t,r)=>{if(Ko(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function u(e){return a.create(Mo(e))}function h(e){const{head:r,prefix:n,scalar:s}=function(e){const r=g.secretKey;e=No("private key",e,r);const n=No("hashed private key",t(e),2*r),i=c(n.slice(0,r));return{head:i,prefix:n.slice(r,2*r),scalar:u(i)}}(e),a=i.multiply(s),o=a.toBytes();return{head:r,prefix:n,scalar:s,point:a,pointBytes:o}}function f(e){return h(e).pointBytes}function A(e=Uint8Array.of(),...r){const i=ko(...r);return u(t(l(i,No("context",e),!!n)))}const d={zip215:!0},p=s.BYTES,g={secretKey:p,publicKey:p,signature:2*p,seed:p};function y(e=o(g.seed)){return Uo(e,g.seed,"seed")}const m={getExtendedPublicKey:h,randomSecretKey:y,isValidSecretKey:function(e){return io(e)&&e.length===a.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){const{y:r}=e.fromBytes(t),n=g.publicKey,i=32===n;if(!i&&57!==n)throw new Error("only defined for 25519 and 448");const a=i?s.div(lu+r,lu-r):s.div(r-lu,r+lu);return s.toBytes(a)},toMontgomerySecret(e){const r=g.secretKey;Uo(e,r);const n=t(e.subarray(0,r));return c(n).subarray(0,r)},randomPrivateKey:y,precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({keygen:function(e){const t=m.randomSecretKey(e);return{secretKey:t,publicKey:f(t)}},getPublicKey:f,sign:function(e,t,r={}){e=No("message",e),n&&(e=n(e));const{prefix:s,scalar:o,pointBytes:c}=h(t),l=A(r.context,s,e),u=i.multiply(l).toBytes(),f=A(r.context,u,c,e),d=a.create(l+f*o);if(!a.isValid(d))throw new Error("sign failed: invalid s");return Uo(ko(u,a.toBytes(d)),g.signature,"result")},verify:function(t,r,s,a=d){const{context:o,zip215:c}=a,l=g.signature;t=No("signature",t,l),r=No("message",r),s=No("publicKey",s,g.publicKey),void 0!==c&&Ko(c,"zip215"),n&&(r=n(r));const u=l/2,h=t.subarray(0,u),f=Mo(t.subarray(u,l));let p,y,m;try{p=e.fromBytes(s,c),y=e.fromBytes(h,c),m=i.multiplyUnsafe(f)}catch(e){return!1}if(!c&&p.isSmallOrder())return!1;const w=A(o,y.toBytes(),p.toBytes(),r);return y.add(p.multiplyUnsafe(w)).subtract(m).clearCofactor().is0()},utils:m,Point:e,lengths:g})}(fu(t,r),n,i))}((()=>({...gu,Fp:Ku,Fn:Uu,nBitLength:Uu.BITS,hash:mu,adjustScalarBytes:Du,domain:Pu,uvRatio:xu}))());fu(yu);const Fu=(()=>{const e=gu.p;return function(e){const t=(Yo(r=e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...r}));var r;const{P:n,type:i,adjustScalarBytes:s,powPminus2:a,randomBytes:o}=t,c="x25519"===i;if(!c&&"x448"!==i)throw new Error("invalid type");const l=o||So,u=c?255:448,h=c?32:56,f=c?BigInt(9):BigInt(5),A=c?BigInt(121665):BigInt(39081),d=c?pu**BigInt(254):pu**BigInt(447),p=c?BigInt(8)*pu**BigInt(251)-du:BigInt(4)*pu**BigInt(445)-du,g=d+p+du,y=e=>rc(e,n),m=w(f);function w(e){return Qo(y(e),h)}function b(e,t){const r=function(e,t){Go("u",e,Au,n),Go("scalar",t,d,g);const r=t,i=e;let s=du,o=Au,c=e,l=du,h=Au;for(let e=BigInt(u-1);e>=Au;e--){const t=r>>e&du;h^=t,({x_2:s,x_3:c}=E(h,s,c)),({x_2:o,x_3:l}=E(h,o,l)),h=t;const n=s+o,a=y(n*n),u=s-o,f=y(u*u),d=a-f,p=c+l,g=y((c-l)*n),m=y(p*u),w=g+m,b=g-m;c=y(w*w),l=y(i*y(b*b)),s=y(a*f),o=y(d*(a+y(A*d)))}({x_2:s,x_3:c}=E(h,s,c)),({x_2:o,x_3:l}=E(h,o,l));const f=a(o);return y(s*f)}(function(e){const t=No("u coordinate",e,h);return c&&(t[31]&=127),y(Mo(t))}(t),function(e){return Mo(s(No("scalar",e,h)))}(e));if(r===Au)throw new Error("invalid private or public key received");return w(r)}function v(e){return b(e,m)}function E(e,t,r){const n=y(e*(t-r));return{x_2:t=y(t-n),x_3:r=y(r+n)}}const k={secretKey:h,publicKey:h,seed:h},I=(e=l(h))=>(ao(e,k.seed),e);return{keygen:function(e){const t=I(e);return{secretKey:t,publicKey:v(t)}},getSharedSecret:(e,t)=>b(e,t),getPublicKey:e=>v(e),scalarMult:b,scalarMultBase:v,utils:{randomSecretKey:I,randomPrivateKey:I},GuBytes:m.slice(),lengths:k}}({P:e,type:"x448",powPminus2:t=>rc(nc(Su(t),bu,e)*t,e),adjustScalarBytes:Du})})(),Mu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ru={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Qu=BigInt(2),Nu=Ac(Mu.p,{sqrt:function(e){const t=Mu.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,h=nc(u,r,t)*u%t,f=nc(h,r,t)*u%t,A=nc(f,Qu,t)*l%t,d=nc(A,i,t)*A%t,p=nc(d,s,t)*d%t,g=nc(p,o,t)*p%t,y=nc(g,c,t)*g%t,m=nc(y,o,t)*p%t,w=nc(m,r,t)*u%t,b=nc(w,a,t)*d%t,v=nc(b,n,t)*l%t,E=nc(v,Qu,t);if(!Nu.eql(Nu.sqr(E),e))throw new Error("Cannot find square root");return E}}),Ou=Tl({...Mu,Fp:Nu,lowS:!0,endo:Ru},zc),Lu=zc,Gu=Xc,Hu=Ac(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),Wu=Tl({a:Hu.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:Hu,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},Lu),Yu=$c,ju=el,Ju=Ac(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),Zu=Tl({a:Ju.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:Ju,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},ju),qu=Ac(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),_u=Tl({a:qu.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:qu,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},Yu),Vu=new Map(Object.entries({nistP256:Ll,nistP384:Gl,nistP521:Hl,brainpoolP256r1:Wu,brainpoolP384r1:Zu,brainpoolP512r1:_u,secp256k1:Ou,x448:Fu,ed448:Tu}));var zu=Object.freeze({__proto__:null,nobleCurves:Vu});const Xu=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),$u=new Uint32Array(80);class eh extends mc{constructor(){super(64,20,8,!1),this.A=0|Xu[0],this.B=0|Xu[1],this.C=0|Xu[2],this.D=0|Xu[3],this.E=0|Xu[4]}get(){const{A:e,B:t,C:r,D:n,E:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)$u[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)$u[e]=Ao($u[e-3]^$u[e-8]^$u[e-14]^$u[e-16],1);let{A:r,B:n,C:i,D:s,E:a}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=gc(n,i,s),o=1518500249):e<40?(t=n^i^s,o=1859775393):e<60?(t=yc(n,i,s),o=2400959708):(t=n^i^s,o=3395469782);const c=Ao(r,5)+t+a+o+$u[e]|0;a=s,s=i,i=Ao(n,30),n=r,r=c}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,this.set(r,n,i,s,a)}roundClean(){uo($u)}destroy(){this.set(0,0,0,0,0),uo(this.buffer)}}const th=Bo(()=>new eh),rh=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),nh=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),ih=(()=>nh.map(e=>(9*e+5)%16))(),sh=(()=>{const e=[[nh],[ih]];for(let t=0;t<4;t++)for(let r of e)r.push(r[t].map(e=>rh[e]));return e})(),ah=(()=>sh[0])(),oh=(()=>sh[1])(),ch=[[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=>Uint8Array.from(e)),lh=ah.map((e,t)=>e.map(e=>ch[t][e])),uh=oh.map((e,t)=>e.map(e=>ch[t][e])),hh=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),fh=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Ah(e,t,r,n){return 0===e?t^r^n:1===e?t&r|~t&n:2===e?(t|~r)^n:3===e?t&n|r&~n:t^(r|~n)}const dh=new Uint32Array(16);class ph extends mc{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|n,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)dh[r]=e.getUint32(t,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,c=0|this.h3,l=c,u=0|this.h4,h=u;for(let e=0;e<5;e++){const t=4-e,f=hh[e],A=fh[e],d=ah[e],p=oh[e],g=lh[e],y=uh[e];for(let t=0;t<16;t++){const n=Ao(r+Ah(e,i,a,c)+dh[d[t]]+f,g[t])+u|0;r=u,u=c,c=0|Ao(a,10),a=i,i=n}for(let e=0;e<16;e++){const r=Ao(n+Ah(t,s,o,l)+dh[p[e]]+A,y[e])+h|0;n=h,h=l,l=0|Ao(o,10),o=s,s=r}}this.set(this.h1+a+l|0,this.h2+c+h|0,this.h3+u+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){uo(dh)}destroy(){this.destroyed=!0,uo(this.buffer),this.set(0,0,0,0,0)}}const gh=th,yh=Bo(()=>new ph),mh=Array.from({length:64},(e,t)=>Math.floor(2**32*Math.abs(Math.sin(t+1)))),wh=(e,t,r)=>e&t^~e&r,bh=new Uint32Array([1732584193,4023233417,2562383102,271733878]),vh=new Uint32Array(16);class Eh extends mc{constructor(){super(64,16,8,!0),this.A=0|bh[0],this.B=0|bh[1],this.C=0|bh[2],this.D=0|bh[3]}get(){const{A:e,B:t,C:r,D:n}=this;return[e,t,r,n]}set(e,t,r,n){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n}process(e,t){for(let r=0;r<16;r++,t+=4)vh[r]=e.getUint32(t,!0);let{A:r,B:n,C:i,D:s}=this;for(let e=0;e<64;e++){let t,a,o;e<16?(t=wh(n,i,s),a=e,o=[7,12,17,22]):e<32?(t=wh(s,n,i),a=(5*e+1)%16,o=[5,9,14,20]):e<48?(t=n^i^s,a=(3*e+5)%16,o=[4,11,16,23]):(t=i^(n|~s),a=7*e%16,o=[6,10,15,21]),t=t+r+mh[e]+vh[a],r=s,s=i,i=n,n+=Ao(t,o[e%4])}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,this.set(r,n,i,s)}roundClean(){vh.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}const kh=Co(()=>new Eh),Ih=new Map(Object.entries({md5:kh,sha1:gh,sha224:Gu,sha256:Lu,sha384:ju,sha512:Yu,sha3_256:su,sha3_512:au,ripemd160:yh}));var Bh=Object.freeze({__proto__:null,nobleHashes:Ih});const Ch="object"==typeof n&&"crypto"in n?n.crypto:void 0,Sh={};var Dh=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function Lh(e,t,r,n){return function(e,t,r,n){var i,s=0;for(i=0;i<32;i++)s|=e[t+i]^r[n+i];return(1&s-1>>>8)-1}(e,t,r,n)}function Gh(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function Hh(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function Wh(e,t,r){for(var n,i=~(r-1),s=0;s<16;s++)n=i&(e[s]^t[s]),e[s]^=n,t[s]^=n}function Yh(e,t){var r,n,i,s=Dh(),a=Dh();for(r=0;r<16;r++)a[r]=t[r];for(Hh(a),Hh(a),Hh(a),n=0;n<2;n++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,Wh(a,s,1-i)}for(r=0;r<16;r++)e[2*r]=255&a[r],e[2*r+1]=a[r]>>8}function jh(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return Yh(r,e),Yh(n,t),Lh(r,0,n,0)}function Jh(e){var t=new Uint8Array(32);return Yh(t,e),1&t[0]}function Zh(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function qh(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function _h(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function Vh(e,t,r){var n,i,s=0,a=0,o=0,c=0,l=0,u=0,h=0,f=0,A=0,d=0,p=0,g=0,y=0,m=0,w=0,b=0,v=0,E=0,k=0,I=0,B=0,C=0,S=0,D=0,x=0,K=0,U=0,P=0,T=0,F=0,M=0,R=r[0],Q=r[1],N=r[2],O=r[3],L=r[4],G=r[5],H=r[6],W=r[7],Y=r[8],j=r[9],J=r[10],Z=r[11],q=r[12],_=r[13],V=r[14],z=r[15];s+=(n=t[0])*R,a+=n*Q,o+=n*N,c+=n*O,l+=n*L,u+=n*G,h+=n*H,f+=n*W,A+=n*Y,d+=n*j,p+=n*J,g+=n*Z,y+=n*q,m+=n*_,w+=n*V,b+=n*z,a+=(n=t[1])*R,o+=n*Q,c+=n*N,l+=n*O,u+=n*L,h+=n*G,f+=n*H,A+=n*W,d+=n*Y,p+=n*j,g+=n*J,y+=n*Z,m+=n*q,w+=n*_,b+=n*V,v+=n*z,o+=(n=t[2])*R,c+=n*Q,l+=n*N,u+=n*O,h+=n*L,f+=n*G,A+=n*H,d+=n*W,p+=n*Y,g+=n*j,y+=n*J,m+=n*Z,w+=n*q,b+=n*_,v+=n*V,E+=n*z,c+=(n=t[3])*R,l+=n*Q,u+=n*N,h+=n*O,f+=n*L,A+=n*G,d+=n*H,p+=n*W,g+=n*Y,y+=n*j,m+=n*J,w+=n*Z,b+=n*q,v+=n*_,E+=n*V,k+=n*z,l+=(n=t[4])*R,u+=n*Q,h+=n*N,f+=n*O,A+=n*L,d+=n*G,p+=n*H,g+=n*W,y+=n*Y,m+=n*j,w+=n*J,b+=n*Z,v+=n*q,E+=n*_,k+=n*V,I+=n*z,u+=(n=t[5])*R,h+=n*Q,f+=n*N,A+=n*O,d+=n*L,p+=n*G,g+=n*H,y+=n*W,m+=n*Y,w+=n*j,b+=n*J,v+=n*Z,E+=n*q,k+=n*_,I+=n*V,B+=n*z,h+=(n=t[6])*R,f+=n*Q,A+=n*N,d+=n*O,p+=n*L,g+=n*G,y+=n*H,m+=n*W,w+=n*Y,b+=n*j,v+=n*J,E+=n*Z,k+=n*q,I+=n*_,B+=n*V,C+=n*z,f+=(n=t[7])*R,A+=n*Q,d+=n*N,p+=n*O,g+=n*L,y+=n*G,m+=n*H,w+=n*W,b+=n*Y,v+=n*j,E+=n*J,k+=n*Z,I+=n*q,B+=n*_,C+=n*V,S+=n*z,A+=(n=t[8])*R,d+=n*Q,p+=n*N,g+=n*O,y+=n*L,m+=n*G,w+=n*H,b+=n*W,v+=n*Y,E+=n*j,k+=n*J,I+=n*Z,B+=n*q,C+=n*_,S+=n*V,D+=n*z,d+=(n=t[9])*R,p+=n*Q,g+=n*N,y+=n*O,m+=n*L,w+=n*G,b+=n*H,v+=n*W,E+=n*Y,k+=n*j,I+=n*J,B+=n*Z,C+=n*q,S+=n*_,D+=n*V,x+=n*z,p+=(n=t[10])*R,g+=n*Q,y+=n*N,m+=n*O,w+=n*L,b+=n*G,v+=n*H,E+=n*W,k+=n*Y,I+=n*j,B+=n*J,C+=n*Z,S+=n*q,D+=n*_,x+=n*V,K+=n*z,g+=(n=t[11])*R,y+=n*Q,m+=n*N,w+=n*O,b+=n*L,v+=n*G,E+=n*H,k+=n*W,I+=n*Y,B+=n*j,C+=n*J,S+=n*Z,D+=n*q,x+=n*_,K+=n*V,U+=n*z,y+=(n=t[12])*R,m+=n*Q,w+=n*N,b+=n*O,v+=n*L,E+=n*G,k+=n*H,I+=n*W,B+=n*Y,C+=n*j,S+=n*J,D+=n*Z,x+=n*q,K+=n*_,U+=n*V,P+=n*z,m+=(n=t[13])*R,w+=n*Q,b+=n*N,v+=n*O,E+=n*L,k+=n*G,I+=n*H,B+=n*W,C+=n*Y,S+=n*j,D+=n*J,x+=n*Z,K+=n*q,U+=n*_,P+=n*V,T+=n*z,w+=(n=t[14])*R,b+=n*Q,v+=n*N,E+=n*O,k+=n*L,I+=n*G,B+=n*H,C+=n*W,S+=n*Y,D+=n*j,x+=n*J,K+=n*Z,U+=n*q,P+=n*_,T+=n*V,F+=n*z,b+=(n=t[15])*R,a+=38*(E+=n*N),o+=38*(k+=n*O),c+=38*(I+=n*L),l+=38*(B+=n*G),u+=38*(C+=n*H),h+=38*(S+=n*W),f+=38*(D+=n*Y),A+=38*(x+=n*j),d+=38*(K+=n*J),p+=38*(U+=n*Z),g+=38*(P+=n*q),y+=38*(T+=n*_),m+=38*(F+=n*V),w+=38*(M+=n*z),s=(n=(s+=38*(v+=n*Q))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=(s+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s+=i-1+37*(i-1),e[0]=s,e[1]=a,e[2]=o,e[3]=c,e[4]=l,e[5]=u,e[6]=h,e[7]=f,e[8]=A,e[9]=d,e[10]=p,e[11]=g,e[12]=y,e[13]=m,e[14]=w,e[15]=b}function zh(e,t){Vh(e,t,t)}function Xh(e,t){var r,n=Dh();for(r=0;r<16;r++)n[r]=t[r];for(r=253;r>=0;r--)zh(n,n),2!==r&&4!==r&&Vh(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}function $h(e,t,r){var n,i,s=new Uint8Array(32),a=new Float64Array(80),o=Dh(),c=Dh(),l=Dh(),u=Dh(),h=Dh(),f=Dh();for(i=0;i<31;i++)s[i]=t[i];for(s[31]=127&t[31]|64,s[0]&=248,Zh(a,r),i=0;i<16;i++)c[i]=a[i],u[i]=o[i]=l[i]=0;for(o[0]=u[0]=1,i=254;i>=0;--i)Wh(o,c,n=s[i>>>3]>>>(7&i)&1),Wh(l,u,n),qh(h,o,l),_h(o,o,l),qh(l,c,u),_h(c,c,u),zh(u,h),zh(f,o),Vh(o,l,o),Vh(l,c,h),qh(h,o,l),_h(o,o,l),zh(c,o),_h(l,u,f),Vh(o,l,Th),qh(o,o,u),Vh(l,l,o),Vh(o,u,f),Vh(u,c,a),zh(c,h),Wh(o,c,n),Wh(l,u,n);for(i=0;i<16;i++)a[i+16]=o[i],a[i+32]=l[i],a[i+48]=c[i],a[i+64]=u[i];var A=a.subarray(32),d=a.subarray(16);return Xh(A,A),Vh(d,d,A),Yh(e,d),0}function ef(e,t){return $h(e,t,Kh)}var tf=[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 rf(e,t,r,n){for(var i,s,a,o,c,l,u,h,f,A,d,p,g,y,m,w,b,v,E,k,I,B,C,S,D,x,K=new Int32Array(16),U=new Int32Array(16),P=e[0],T=e[1],F=e[2],M=e[3],R=e[4],Q=e[5],N=e[6],O=e[7],L=t[0],G=t[1],H=t[2],W=t[3],Y=t[4],j=t[5],J=t[6],Z=t[7],q=0;n>=128;){for(E=0;E<16;E++)k=8*E+q,K[E]=r[k+0]<<24|r[k+1]<<16|r[k+2]<<8|r[k+3],U[E]=r[k+4]<<24|r[k+5]<<16|r[k+6]<<8|r[k+7];for(E=0;E<80;E++)if(i=P,s=T,a=F,o=M,c=R,l=Q,u=N,f=L,A=G,d=H,p=W,g=Y,y=j,m=J,C=65535&(B=Z),S=B>>>16,D=65535&(I=O),x=I>>>16,C+=65535&(B=(Y>>>14|R<<18)^(Y>>>18|R<<14)^(R>>>9|Y<<23)),S+=B>>>16,D+=65535&(I=(R>>>14|Y<<18)^(R>>>18|Y<<14)^(Y>>>9|R<<23)),x+=I>>>16,C+=65535&(B=Y&j^~Y&J),S+=B>>>16,D+=65535&(I=R&Q^~R&N),x+=I>>>16,C+=65535&(B=tf[2*E+1]),S+=B>>>16,D+=65535&(I=tf[2*E]),x+=I>>>16,I=K[E%16],S+=(B=U[E%16])>>>16,D+=65535&I,x+=I>>>16,D+=(S+=(C+=65535&B)>>>16)>>>16,C=65535&(B=v=65535&C|S<<16),S=B>>>16,D=65535&(I=b=65535&D|(x+=D>>>16)<<16),x=I>>>16,C+=65535&(B=(L>>>28|P<<4)^(P>>>2|L<<30)^(P>>>7|L<<25)),S+=B>>>16,D+=65535&(I=(P>>>28|L<<4)^(L>>>2|P<<30)^(L>>>7|P<<25)),x+=I>>>16,S+=(B=L&G^L&H^G&H)>>>16,D+=65535&(I=P&T^P&F^T&F),x+=I>>>16,h=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,w=65535&C|S<<16,C=65535&(B=p),S=B>>>16,D=65535&(I=o),x=I>>>16,S+=(B=v)>>>16,D+=65535&(I=b),x+=I>>>16,T=i,F=s,M=a,R=o=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,Q=c,N=l,O=u,P=h,G=f,H=A,W=d,Y=p=65535&C|S<<16,j=g,J=y,Z=m,L=w,E%16==15)for(k=0;k<16;k++)I=K[k],C=65535&(B=U[k]),S=B>>>16,D=65535&I,x=I>>>16,I=K[(k+9)%16],C+=65535&(B=U[(k+9)%16]),S+=B>>>16,D+=65535&I,x+=I>>>16,b=K[(k+1)%16],C+=65535&(B=((v=U[(k+1)%16])>>>1|b<<31)^(v>>>8|b<<24)^(v>>>7|b<<25)),S+=B>>>16,D+=65535&(I=(b>>>1|v<<31)^(b>>>8|v<<24)^b>>>7),x+=I>>>16,b=K[(k+14)%16],S+=(B=((v=U[(k+14)%16])>>>19|b<<13)^(b>>>29|v<<3)^(v>>>6|b<<26))>>>16,D+=65535&(I=(b>>>19|v<<13)^(v>>>29|b<<3)^b>>>6),x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,K[k]=65535&D|x<<16,U[k]=65535&C|S<<16;C=65535&(B=L),S=B>>>16,D=65535&(I=P),x=I>>>16,I=e[0],S+=(B=t[0])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[0]=P=65535&D|x<<16,t[0]=L=65535&C|S<<16,C=65535&(B=G),S=B>>>16,D=65535&(I=T),x=I>>>16,I=e[1],S+=(B=t[1])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[1]=T=65535&D|x<<16,t[1]=G=65535&C|S<<16,C=65535&(B=H),S=B>>>16,D=65535&(I=F),x=I>>>16,I=e[2],S+=(B=t[2])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[2]=F=65535&D|x<<16,t[2]=H=65535&C|S<<16,C=65535&(B=W),S=B>>>16,D=65535&(I=M),x=I>>>16,I=e[3],S+=(B=t[3])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[3]=M=65535&D|x<<16,t[3]=W=65535&C|S<<16,C=65535&(B=Y),S=B>>>16,D=65535&(I=R),x=I>>>16,I=e[4],S+=(B=t[4])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[4]=R=65535&D|x<<16,t[4]=Y=65535&C|S<<16,C=65535&(B=j),S=B>>>16,D=65535&(I=Q),x=I>>>16,I=e[5],S+=(B=t[5])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[5]=Q=65535&D|x<<16,t[5]=j=65535&C|S<<16,C=65535&(B=J),S=B>>>16,D=65535&(I=N),x=I>>>16,I=e[6],S+=(B=t[6])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[6]=N=65535&D|x<<16,t[6]=J=65535&C|S<<16,C=65535&(B=Z),S=B>>>16,D=65535&(I=O),x=I>>>16,I=e[7],S+=(B=t[7])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[7]=O=65535&D|x<<16,t[7]=Z=65535&C|S<<16,q+=128,n-=128}return n}function nf(e,t,r){var n,i=new Int32Array(8),s=new Int32Array(8),a=new Uint8Array(256),o=r;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[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,rf(i,s,t,r),r%=128,n=0;n=0;--i)af(e,t,n=r[i/8|0]>>(7&i)&1),sf(t,e),sf(e,e),af(e,t,n)}function lf(e,t){var r=[Dh(),Dh(),Dh(),Dh()];Gh(r[0],Rh),Gh(r[1],Qh),Gh(r[2],Ph),Vh(r[3],Rh,Qh),cf(e,r,t)}function uf(e,t,r){var n,i=new Uint8Array(64),s=[Dh(),Dh(),Dh(),Dh()];for(r||xh(t,32),nf(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,lf(s,i),of(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}var hf=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 ff(e,t){var r,n,i,s;for(n=63;n>=32;--n){for(r=0,i=n-32,s=n-12;i>4)*hf[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*hf[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function Af(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;ff(e,r)}var df=64;function pf(){for(var e=0;e=0;r--)zh(n,n),1!==r&&Vh(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}(r,r),Vh(r,r,i),Vh(r,r,s),Vh(r,r,s),Vh(e[0],r,s),zh(n,e[0]),Vh(n,n,s),jh(n,i)&&Vh(e[0],e[0],Nh),zh(n,e[0]),Vh(n,n,s),jh(n,i)?-1:(Jh(e[0])===t[31]>>7&&_h(e[0],Uh,e[0]),Vh(e[3],e[0],e[1]),0)}(c,n))return-1;for(i=0;i=0},Sh.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return uf(e,t),{publicKey:e,secretKey:t}},Sh.sign.keyPair.fromSecretKey=function(e){if(pf(e),64!==e.length)throw new Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r>>4^b),b^=g,w^=g<<4,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,w=w<<1|w>>>31,b=b<<1|b>>>31,p=0;p>>4|b<<28)^e[d+1],g=w,w=b,b=g^(o[y>>>24&63]|l[y>>>16&63]|h[y>>>8&63]|A[63&y]|a[m>>>24&63]|c[m>>>16&63]|u[m>>>8&63]|f[63&m]);g=w,w=b,b=g}w=w>>>1|w<<31,b=b>>>1|b<<31,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=252645135&(w>>>4^b),b^=g,w^=g<<4,S[D++]=w>>>24,S[D++]=w>>>16&255,S[D++]=w>>>8&255,S[D++]=255&w,S[D++]=b>>>24,S[D++]=b>>>16&255,S[D++]=b>>>8&255,S[D++]=255&b}return r||(S=function(e){let t,r=null;if(t=0,!r){for(r=1;0===e[e.length-r];)r++;r--}return e.subarray(0,e.length-r)}(S)),S}function mf(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],f=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],A=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length>8?3:1,g=new Array(32*p),y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,b,v=0,E=0;for(let k=0;k>>4^k),k^=b,p^=b<<4,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=858993459&(p>>>2^k),k^=b,p^=b<<2,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=16711935&(k>>>8^p),p^=b,k^=b<<8,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=p<<8|k>>>20&240,p=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=b;for(let e=0;e>>26,k=k<<2|k>>>26):(p=p<<1|p>>>27,k=k<<1|k>>>27),p&=-15,k&=-15,m=t[p>>>28]|r[p>>>24&15]|n[p>>>20&15]|i[p>>>16&15]|s[p>>>12&15]|a[p>>>8&15]|o[p>>>4&15],w=c[k>>>28]|l[k>>>24&15]|u[k>>>20&15]|h[k>>>16&15]|f[k>>>12&15]|A[k>>>8&15]|d[k>>>4&15],b=65535&(w>>>16^m),g[E++]=m^b,g[E++]=w^b<<16}return g}function wf(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return yf(mf(this.key[2]),yf(mf(this.key[1]),yf(mf(this.key[0]),e,!0),!1),!0)}}function bf(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=new Array(16),this.rotate=new Array(16),this.reset(),e.length!==this.KeySize)throw new Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>>16&255,t[s+6]=o>>>8&255,t[s+7]=255&o}return t},this.decrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>16&255,t[s+6]=o>>8&255,t[s+7]=255&o}return t};const e=new Array(4);e[0]=new Array(4),e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=new Array(4),e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=new Array(4),e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=new Array(4),e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=new Array(4);function r(e,t,r){const n=t+e,i=n<>>32-r;return(s[0][i>>>24]^s[1][i>>>16&255])-s[2][i>>>8&255]+s[3][255&i]}function n(e,t,r){const n=t^e,i=n<>>32-r;return s[0][i>>>24]-s[1][i>>>16&255]+s[2][i>>>8&255]^s[3][255&i]}function i(e,t,r){const n=t-e,i=n<>>32-r;return(s[0][i>>>24]+s[1][i>>>16&255]^s[2][i>>>8&255])-s[3][255&i]}t[0]=new Array(4),t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=new Array(4),t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=new Array(4),t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=new Array(4),t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=new Array(8),i=new Array(32);let a;for(let e=0;e<4;e++)a=4*e,n[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];const o=[6,7,4,5];let c,l=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){const t=e[r][a];c=n[t[1]],c^=s[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=s[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=s[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=s[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=s[o[a]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(a=0;a<4;a++){const e=t[r][a];c=s[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=s[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=s[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=s[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=s[4+a][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[l]=c,l++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const s=new Array(8);s[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],s[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],s[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],s[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],s[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],s[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],s[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],s[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function vf(e){this.cast5=new bf,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}wf.keySize=wf.prototype.keySize=24,wf.blockSize=wf.prototype.blockSize=8,vf.blockSize=vf.prototype.blockSize=8,vf.keySize=vf.prototype.keySize=16;const Ef=4294967295;function kf(e,t){return(e<>>32-t)&Ef}function If(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Bf(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Cf(e,t){return e>>>8*t&255}function Sf(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function s(e){return i[0][Cf(e,0)]^i[1][Cf(e,1)]^i[2][Cf(e,2)]^i[3][Cf(e,3)]}function a(e){return i[0][Cf(e,3)]^i[1][Cf(e,0)]^i[2][Cf(e,1)]^i[3][Cf(e,2)]}function o(e,t){let r=s(t[0]),i=a(t[1]);t[2]=kf(t[2]^r+i+n[4*e+8]&Ef,31),t[3]=kf(t[3],1)^r+2*i+n[4*e+9]&Ef,r=s(t[2]),i=a(t[3]),t[0]=kf(t[0]^r+i+n[4*e+10]&Ef,31),t[1]=kf(t[1],1)^r+2*i+n[4*e+11]&Ef}function c(e,t){let r=s(t[0]),i=a(t[1]);t[2]=kf(t[2],1)^r+i+n[4*e+10]&Ef,t[3]=kf(t[3]^r+2*i+n[4*e+11]&Ef,31),r=s(t[2]),i=a(t[3]),t[0]=kf(t[0],1)^r+i+n[4*e+8]&Ef,t[1]=kf(t[1]^r+2*i+n[4*e+9]&Ef,31)}return{name:"twofish",blocksize:16,open:function(t){let r,s,a,o,c;e=t;const l=[],u=[],h=[];let f;const A=[];let d,p,g;const y=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],b=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],E=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],k=[[],[]],I=[[],[],[],[]];function B(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function S(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Ef|e>>>24,e=e<<8&Ef,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function D(e,t){const r=t>>4,n=15&t,i=y[e][r^n],s=m[e][v[n]^E[r]];return b[e][v[s]^E[i]]<<4|w[e][i^s]}function x(e,t){let r=Cf(e,0),n=Cf(e,1),i=Cf(e,2),s=Cf(e,3);switch(f){case 4:r=k[1][r]^Cf(t[3],0),n=k[0][n]^Cf(t[3],1),i=k[0][i]^Cf(t[3],2),s=k[1][s]^Cf(t[3],3);case 3:r=k[1][r]^Cf(t[2],0),n=k[1][n]^Cf(t[2],1),i=k[0][i]^Cf(t[2],2),s=k[0][s]^Cf(t[2],3);case 2:r=k[0][k[0][r]^Cf(t[1],0)]^Cf(t[0],0),n=k[0][k[1][n]^Cf(t[1],1)]^Cf(t[0],1),i=k[1][k[0][i]^Cf(t[1],2)]^Cf(t[0],2),s=k[1][k[1][s]^Cf(t[1],3)]^Cf(t[0],3)}return I[0][r]^I[1][n]^I[2][i]^I[3][s]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r>2]=If(e,r);for(r=0;r<256;r++)k[0][r]=D(0,r),k[1][r]=D(1,r);for(r=0;r<256;r++)d=k[1][r],p=B(d),g=C(d),I[0][r]=d+(p<<8)+(g<<16)+(g<<24),I[2][r]=p+(g<<8)+(d<<16)+(g<<24),d=k[0][r],p=B(d),g=C(d),I[1][r]=g+(g<<8)+(p<<16)+(d<<24),I[3][r]=p+(d<<8)+(g<<16)+(p<<24);for(f=h.length/2,r=0;r=0;e--)c(e,s);Bf(t,r,s[2]^n[0]),Bf(t,r+4,s[3]^n[1]),Bf(t,r+8,s[0]^n[2]),Bf(t,r+12,s[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Df(){}function xf(e){this.bf=new Df,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Sf.keySize=Sf.prototype.keySize=32,Sf.blockSize=Sf.prototype.blockSize=16,Df.prototype.BLOCKSIZE=8,Df.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Df.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Df.prototype.NN=16,Df.prototype._clean=function(e){return e<0&&(e=2147483648+(2147483647&e)),e},Df.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),s=255&(e>>>=8);return t=this.sboxes[0][s]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Df.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Df.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Df.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t>>24^l<<8,e[n+1]=l>>>24^c<<8,Pf(e,r,e,n),Pf(e,r,t,o),c=e[s]^e[r],l=e[s+1]^e[r+1],e[s]=c>>>16^l<<16,e[s+1]=l>>>16^c<<16,Pf(e,i,e,s),c=e[n]^e[i],l=e[n+1]^e[i+1],e[n]=l>>>31^c<<1,e[n+1]=c>>>31^l<<1}const Mf=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Rf=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(e=>2*e));function Qf(e,t){const r=new Uint32Array(32),n=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=Mf[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const i=t?4294967295:0;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){const t=e<<4;Ff(r,n,0,8,16,24,Rf[t+0],Rf[t+1]),Ff(r,n,2,10,18,26,Rf[t+2],Rf[t+3]),Ff(r,n,4,12,20,28,Rf[t+4],Rf[t+5]),Ff(r,n,6,14,22,30,Rf[t+6],Rf[t+7]),Ff(r,n,0,10,20,30,Rf[t+8],Rf[t+9]),Ff(r,n,2,12,22,24,Rf[t+10],Rf[t+11]),Ff(r,n,4,14,16,26,Rf[t+12],Rf[t+13]),Ff(r,n,6,8,18,28,Rf[t+14],Rf[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class Nf{constructor(e,t,r,n){const i=new Uint8Array(64);this.S={b:new Uint8Array(Gf),h:new Uint32Array(Lf/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),n&&i.set(n,48);const s=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=Mf[e]^s[e];if(t){const e=new Uint8Array(Gf);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw new Error("Input must be Uint8Array or Buffer");let t=0;for(;t>2]>>8*(3&e);return this.S.h=null,t.buffer}}function Of(e,t,r,n){if(e>Lf)throw new Error(`outlen must be at most ${Lf} (given: ${e})`);return new Nf(e,t,r,n)}const Lf=64,Gf=128,Hf=1024,Wf=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function Yf(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function jf(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw new Error("LE64: large numbers unsupported");let n=t;for(let t=r;tfunction(e,{memory:t,instance:r}){if(!Wf)throw new Error("BigEndian system not supported");const n=function({type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,parallelism:o,memorySize:c,passes:l}){const u=(e,t,r,n)=>{if(tn)throw new Error(`${e} size should be between ${r} and ${n} bytes`)};if(2!==e||19!==t)throw new Error("Unsupported type or version");return u("password",n,8,4294967295),u("salt",i,8,4294967295),u("tag",r,4,4294967295),u("memory",c,8*o,4294967295),s&&u("associated data",s,0,4294967295),a&&u("secret",a,0,32),{type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,lanes:o,memorySize:c,passes:l}}({type:2,version:19,...e}),{G:i,G2:s,xor:a,getLZ:o}=r.exports,c={},l={};l.G=i,l.G2=s,l.XOR=a;const u=4*n.lanes*Math.floor(n.memorySize/(4*n.lanes)),h=u*Hf+10240;if(t.buffer.byteLength{r.set(e,n),n+=e.length}),r}(i));const s=t.digest();return new Uint8Array(s)}(n),w=u/n.lanes,b=new Array(n.lanes).fill(null).map(()=>new Array(w)),v=(e,t)=>(b[e][t]=g.subarray(e*w*1024+1024*t,e*w*1024+1024*t+Hf),b[e][t]);for(let e=0;e0?b[i][c-1]:b[i][w-1],u=r?a.next().value:l;o(A.byteOffset,u.byteOffset,i,n.lanes,e,t,s,4,E);const h=A[0],f=A[1];0===e&&v(i,c),qf(d,l,b[h][f],e>0?p:b[i][c]),e>0&&Zf(d,b[i][c],p,b[i][c])}}}const k=b[0][w-1];for(let e=1;eXf(e=>$f(0,0,"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",e),e=>$f(0,0,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e))});function oA(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cA=function(){if(sA)return iA;sA=1;const e=function(){if(tA)return eA;function e(e){this.name="Bzip2Error",this.message=e,this.stack=(new Error).stack}tA=1,e.prototype=new Error;var t=function(t){throw new e(t)},r={};return r.Bzip2Error=e,r.crcTable=[0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188],r.array=function(e){var t=0,r=0,n=[0,1,3,7,15,31,63,127,255];return function(i){for(var s=0;i>0;){var a=8-t;i>=a?(s<<=a,s|=n[a]&e[r++],t=0,i-=a):(s<<=i,s|=(e[r]&n[i]<<8-i-t)>>8-i-t,t+=i,i=0)}return s}},r.simple=function(e,t){var n=r.array(e),i=!1,s=1e5*r.header(n),a=new Int32Array(s);do{i=r.decompress(n,t,a,s)}while(!i)},r.header=function(e){this.byteCount=new Int32Array(256),this.symToByte=new Uint8Array(256),this.mtfSymbol=new Int32Array(256),this.selectors=new Uint8Array(32768),4348520!=e(24)&&t("No magic number found");var r=e(8)-48;return(r<1||r>9)&&t("Not a BZIP archive"),r},r.decompress=function(e,r,n,i,s){for(var a=-1,o="",c=0;c<6;c++)o+=e(8).toString(16);if("177245385090"==o)return(0|e(32))!==s&&t("Error in bzip2: crc32 do not match"),e(null),null;"314159265359"!=o&&t("Invalid bzip data");var l=0|e(32);e(1)&&t("unsupported obsolete version");var u=e(24);u>i&&t("Initial position larger than buffer size");var h=e(16),f=0;for(c=0;c<16;c++)if(h&1<<15-c){var A=e(16);for(g=0;g<16;g++)A&1<<15-g&&(this.symToByte[f++]=16*c+g)}var d=e(3);(d<2||d>6)&&t("Invalid bzip data");var p=e(15);for(0==p&&t("Invalid bzip data"),c=0;c=d&&t("Invalid bzip data");var y=this.mtfSymbol[g];for(A=g-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,this.selectors[c]=y}var m,w,b,v,E=f+2,k=[],I=new Uint8Array(258),B=new Uint16Array(21);for(g=0;g20)&&t("Invalid bzip data"),e(1);)e(1)?h--:h++;I[c]=h}var C,S;for(C=S=I[0],c=1;cS?S=I[c]:I[c]=p&&t("Invalid bzip data"),D=(m=k[this.selectors[v++]]).base,x=m.limit),g=e(c=m.minLen);c>m.maxLen&&t("Invalid bzip data"),!(g<=x[c]);)c++,g=g<<1|e(1);((g-=D[c])<0||g>=258)&&t("Invalid bzip data");var U=m.permute[g];if(0!=U&&1!=U){if(w)for(w=0,b+h>i&&t("Invalid bzip data"),y=this.symToByte[this.mtfSymbol[0]],this.byteCount[y]+=h;h--;)n[b++]=y;if(U>f)break;for(b>=i&&t("Invalid bzip data"),c=U-1,y=this.mtfSymbol[c],A=c-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,y=this.symToByte[y],this.byteCount[y]++,n[b++]=y}else w||(w=1,h=0),h+=0==U?w:2*w,w<<=1}for((u<0||u>=b)&&t("Invalid bzip data"),g=0,c=0;c<256;c++)A=g+this.byteCount[c],this.byteCount[c]=g,g=A;for(c=0;c>=8,Q=-1);b;){for(b--,T=R,R=255&(M=n[M]),M>>=8,3==Q++?(P=R,F=T,R=-1):(P=1,F=R);P--;)a=4294967295&(a<<8^this.crcTable[255&(a>>24^F)]),r(F);R!=T&&(Q=0)}return(0|(a=(-1^a)>>>0))!=(0|l)&&t("Error in bzip2: crc32 do not match"),4294967295&(a^(s<<1|s>>>31))},eA=r}(),t=function(){if(nA)return rA;nA=1;var e=[0,1,3,7,15,31,63,127,255];return rA=function(t){var r=0,n=0,i=t(),s=function(a){if(null===a&&0!=r)return r=0,void n++;for(var o=0;a>0;){n>=i.length&&(n=0,i=t());var c=8-r;0===r&&a>0&&s.bytesRead++,a>=c?(o<<=c,o|=e[c]&i[n++],r=0,a-=c):(o<<=a,o|=(i[n]&e[a]<<8-a-r)>>8-a-r,r+=a,a=0)}return o};return s.bytesRead=0,s}}();return iA=function(r){const n=[];let i,s=0,a=0,o=!1,c=!1,l=null,u=null,h=0;function f(t){if(!o)try{return function(){if(a){const n=1e5*a,i=new Int32Array(n),s=[],o=function(e){s.push(e)};return u=e.decompress(l,o,i,n,u),null===u?(a=0,!1):(r=new Uint8Array(s),t.enqueue(r),null!==r&&(h+=r.length),!0)}var r;return a=e.header(l),u=0,!1}()}catch(e){return t.error(e),o=!0,!0}}return new ReadableStream({start(){i=r.getReader()},async pull(e){try{for(;;){for(;!(c||l&&s-l.bytesRead+1>=25e3+1e5*(a||4));){const{value:e,done:r}=await i.read();r?c=!0:(n.push(e),s+=e.length,null===l&&(l=t(function(){return n.shift()})))}for(;c?l&&s>l.bytesRead:l&&s-l.bytesRead+1>=25e3+1e5*(a||4);)if(f(e))return;if(c&&!o&&(!l||s<=l.bytesRead))return void(null===u?e.close():e.error(new Error("input stream ended prematurely")))}}catch(t){e.error(t)}},async cancel(e){await i.abort(e)}},{highWaterMark:0})}}(),lA=i({__proto__:null,default:oA(cA)},[cA])},6171(e){"use strict";e.exports={rE:"2.2.0"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0});const t=r(9033),i=r(1592);r.g.handleRequestFromHost=async(e,r,n)=>{const s=new t.Endpoints;try{const t=s[e];return t?t(r,[n]).then(e=>e).catch(e=>(0,i.fmtErr)(e)):(0,i.fmtErr)(new Error(`Unknown endpoint: ${e}`))}catch(e){return(0,i.fmtErr)(e)}}})(),module.exports=n})();; /* entrypoint-bare ends here */ } catch(e) { From c788e66ebd83e7c2ff8b5de7e8bf8421283da93e Mon Sep 17 00:00:00 2001 From: Roma Sosnovsky Date: Wed, 17 Jun 2026 16:01:42 +0300 Subject: [PATCH 3/4] update webpack --- Core/package-lock.json | 103 +++++++---------------------------------- Core/package.json | 2 +- 2 files changed, 19 insertions(+), 86 deletions(-) diff --git a/Core/package-lock.json b/Core/package-lock.json index 9185a88cb..d84801f59 100644 --- a/Core/package-lock.json +++ b/Core/package-lock.json @@ -26,14 +26,14 @@ "eslint-plugin-local-rules": "^3.0.2", "typescript": "5.7.3", "webpack": "^5.105.0", - "webpack-cli": "6.0.1", + "webpack-cli": "7.0.3", "webpack-node-externals": "3.0.0" } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-1.1.0.tgz", + "integrity": "sha512-Xc3VhU02wqZ1HvHRJUwL09HkZSTvidqY5Ya0NXBSYOxAp+Ln9dcJr9fySI+CkONzP3PekQo9WdzCv0PGER/mOA==", "dev": true, "license": "MIT", "engines": { @@ -358,53 +358,6 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -1146,13 +1099,6 @@ "dev": true, "license": "MIT" }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -1622,16 +1568,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/fastq": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", @@ -3425,21 +3361,16 @@ } }, "node_modules/webpack-cli": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", - "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.0.3.tgz", + "integrity": "sha512-2E2C6A1e2El7791zQgTH7LPIuwLjRliow9OHS/qlJc9pwhZlCoL/uiwqd/1WSlXT83wJfmfDbkcqHXuXoPJZ3g==", "dev": true, "license": "MIT", "dependencies": { - "@discoveryjs/json-ext": "^0.6.1", - "@webpack-cli/configtest": "^3.0.1", - "@webpack-cli/info": "^3.0.1", - "@webpack-cli/serve": "^3.0.1", - "colorette": "^2.0.14", - "commander": "^12.1.0", - "cross-spawn": "^7.0.3", + "@discoveryjs/json-ext": "^1.1.0", + "commander": "^14.0.3", + "cross-spawn": "^7.0.6", "envinfo": "^7.14.0", - "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^3.1.1", "rechoir": "^0.8.0", @@ -3449,14 +3380,16 @@ "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=18.12.0" + "node": ">=20.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.82.0" + "webpack": "^5.101.0", + "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", + "webpack-dev-server": "^5.0.0" }, "peerDependenciesMeta": { "webpack-bundle-analyzer": { @@ -3468,13 +3401,13 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/webpack-merge": { diff --git a/Core/package.json b/Core/package.json index 8f81d2272..494cedc72 100644 --- a/Core/package.json +++ b/Core/package.json @@ -20,7 +20,7 @@ "eslint-plugin-local-rules": "^3.0.2", "typescript": "5.7.3", "webpack": "^5.105.0", - "webpack-cli": "6.0.1", + "webpack-cli": "7.0.3", "webpack-node-externals": "3.0.0" }, "scripts": { From cb6e17456aac6d20c7d86d3352299873450564f2 Mon Sep 17 00:00:00 2001 From: Roma Sosnovsky Date: Wed, 17 Jun 2026 16:12:15 +0300 Subject: [PATCH 4/4] update typescript --- Core/package-lock.json | 8 ++++---- Core/package.json | 2 +- Core/source/core/pgp-msg.ts | 2 +- Core/source/platform/require.ts | 2 +- Core/tsconfig.json | 8 +++++--- FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt | 2 +- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Core/package-lock.json b/Core/package-lock.json index d84801f59..f6dcdc96b 100644 --- a/Core/package-lock.json +++ b/Core/package-lock.json @@ -24,7 +24,7 @@ "buffer": "^6.0.3", "chai": "4.5.0", "eslint-plugin-local-rules": "^3.0.2", - "typescript": "5.7.3", + "typescript": "6.0.3", "webpack": "^5.105.0", "webpack-cli": "7.0.3", "webpack-node-externals": "3.0.0" @@ -3249,9 +3249,9 @@ } }, "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "devOptional": true, "license": "Apache-2.0", "bin": { diff --git a/Core/package.json b/Core/package.json index 494cedc72..95ed4bd7d 100644 --- a/Core/package.json +++ b/Core/package.json @@ -18,7 +18,7 @@ "buffer": "^6.0.3", "chai": "4.5.0", "eslint-plugin-local-rules": "^3.0.2", - "typescript": "5.7.3", + "typescript": "6.0.3", "webpack": "^5.105.0", "webpack-cli": "7.0.3", "webpack-node-externals": "3.0.0" diff --git a/Core/source/core/pgp-msg.ts b/Core/source/core/pgp-msg.ts index 07190a508..4e0b09393 100644 --- a/Core/source/core/pgp-msg.ts +++ b/Core/source/core/pgp-msg.ts @@ -205,7 +205,7 @@ export class PgpMsg { if (verifyErr instanceof Error && verifyErr.message === 'Can only verify message with one literal data packet.') { sig.error = 'FlowCrypt is not equipped to verify this message (err 101)'; } else { - sig.error = verifyErr.message; + sig.error = verifyErr instanceof Error ? verifyErr.message : String(verifyErr); Catch.reportErr(verifyErr as Error); } } diff --git a/Core/source/platform/require.ts b/Core/source/platform/require.ts index 4afa8e812..70dce39f9 100644 --- a/Core/source/platform/require.ts +++ b/Core/source/platform/require.ts @@ -36,7 +36,7 @@ type ReadToEndFn = (input: MaybeStream, concat export const requireStreamReadToEnd = async (): Promise => { const runtime = globalThis.process?.release?.name || 'not node'; return runtime === 'not node' - ? (await import('@openpgp/web-stream-tools')).readToEnd + ? ((await import('@openpgp/web-stream-tools')).readToEnd as ReadToEndFn) : require('../../bundles/raw/web-stream-tools').readToEnd; }; diff --git a/Core/tsconfig.json b/Core/tsconfig.json index 23fc872d5..1e53b3e89 100644 --- a/Core/tsconfig.json +++ b/Core/tsconfig.json @@ -15,13 +15,15 @@ "strictFunctionTypes": false, "sourceMap": false, "checkJs": false, + "rootDir": "./source", "outDir": "./build/ts", - "baseUrl": "./", "paths": { - "@openpgp/web-stream-tools": ["node_modules/@openpgp/web-stream-tools/lib/types/v4.7-v5.4/index.d.ts"] + "@openpgp/web-stream-tools": ["./node_modules/@openpgp/web-stream-tools/lib/types/index.d.ts"], + "source/*": ["./source/*"] }, "traceResolution": false, - "typeRoots": ["./source/core/types/", "./node_modules/@types/"] + "typeRoots": ["./source/core/types/", "./node_modules/@types/"], + "types": ["node"] }, "include": ["./source/**/*.ts"], "exclude": ["**/build/**", "**/node_modules/**"] diff --git a/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt b/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt index abdc42a89..0530cf861 100644 --- a/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt +++ b/FlowCrypt/Resources/generated/flowcrypt-ios-prod.js.txt @@ -20649,7 +20649,7 @@ var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o /* entrypoint-bare starts here */ /*! For license information please see entrypoint-bare.js.LICENSE.txt */ -(()=>{var e={3207(e,t,r){"use strict";t.Att=void 0;const n=r(833),i=r(6471);class s{static attachmentsPattern=/^(((cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc))|(.+\.pgp)|(.+\.gpg)|(.+\.asc)|(noname)|(message)|(PGPMIME version identification)|())$/gm;length=NaN;type;name;url;id;msgId;inline;cid;contentDescription;bytes;treatAsValue;constructor({data:e,type:t,name:r,length:n,url:i,inline:s,id:a,msgId:o,treatAs:c,cid:l,contentDescription:u}){if(void 0===e&&void 0===i&&void 0===a)throw new Error("Att: one of data|url|id has to be set");if(a&&!o)throw new Error("Att: if id is set, msgId must be set too");e?(this.bytes=e,this.length=e.length):this.length=Number(n),this.name=r||"",this.type=t||"application/octet-stream",this.url=i||void 0,this.inline=!!s,this.id=a||void 0,this.msgId=o||void 0,this.treatAsValue=c||void 0,this.cid=l||void 0,this.contentDescription=u||void 0}static keyinfoAsPubkeyAtt=e=>new s({data:n.Buf.fromUtfStr(e.public),type:"application/pgp-keys",name:`0x${e.longid}.asc`});hasData=()=>this.bytes instanceof Uint8Array;setData=e=>{if(this.hasData())throw new Error("Att bytes already set");this.bytes=e};getData=()=>{if(this.bytes instanceof n.Buf)return this.bytes;if(this.bytes instanceof Uint8Array)return new n.Buf(this.bytes);throw new Error("Att has no data set")};treatAs=(e,t=!1)=>{if(this.treatAsValue)return this.treatAsValue;if(["PGPexch.htm.pgp","PGPMIME version identification","Version.txt","PGPMIME Versions Identification"].includes(this.name))return"hidden";if("signature.asc"===this.name||"application/pgp-signature"===this.type){if(e.length>1){const t=i.Str.getFilenameWithoutExtension(this.name);if(e.some(e=>e!==this&&(e.name===t||i.Str.getFilenameWithoutExtension(e.name)===t)))return"hidden"}return"signature"}return this.name||this.type.startsWith("image/")?"msg.asc"===this.name&&this.length<100&&"application/pgp-encrypted"===this.type?"hidden":["message","msg.asc","message.asc","encrypted.asc","encrypted.eml.pgp","Message.pgp"].includes(this.name)||"message"===this.name&&t?"encryptedMsg":this.name.match(/(\.pgp$)|(\.gpg$)|(\.[a-zA-Z0-9]{3,4}\.asc$)/g)?"encryptedFile":this.name.match(/(cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc)$/g)?"privateKey":this.name.match(/^(0|0x)?[A-F0-9]{8}([A-F0-9]{8})?.*\.asc$/g)||this.name.toLowerCase().includes("public")&&this.name.match(/[A-F0-9]{8}.*\.asc$/g)||this.name.match(/\.asc$/)&&this.hasData()&&n.Buf.with(this.getData().subarray(0,100)).toUtfStr().includes("-----BEGIN PGP PUBLIC KEY BLOCK-----")?"publicKey":this.name.match(/\.asc$/)&&this.length<1e5&&!this.inline?"encryptedMsg":"plainFile":this.length<100?"hidden":"encryptedMsg"}}t.Att=s},833(e,t,r){"use strict";t.Buf=void 0;const n=r(178);class i extends Uint8Array{static concat=e=>{const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let r=0;for(const n of e)t.set(n,r),r+=n.length;return i.fromUint8(t)};static with=e=>e instanceof i?e:e instanceof Uint8Array?i.fromUint8(e):i.fromUtfStr(e);static fromUint8=e=>new i(e);static fromRawBytesStr=e=>{const t=e.length,r=new i(t);for(let n=0;n{let t;const r=e.length;let n;const s=[];for(let i=0;i55295&&t<57344){if(!n){if(t>56319){s.push(239,191,189);continue}if(i+1===r){s.push(239,191,189);continue}n=t;continue}if(t<56320){s.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&s.push(239,191,189);if(n=void 0,t<128)s.push(t);else if(t<2048)s.push(t>>6|192,63&t|128);else if(t<65536)s.push(t>>12|224,t>>6&63|128,63&t|128);else{if(!(t<1114112))throw new Error("Invalid code point");s.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return new i(s)};static fromBase64Str=e=>i.fromRawBytesStr((0,n.base64decode)(e));static fromBase64UrlStr=e=>i.fromBase64Str(e.replace(/-/g,"+").replace(/_/g,"/"));toString=(e="inform")=>this.toUtfStr(e);toUtfStr=(e="inform")=>{const t=this.length;let r=0,n="";const i=new Array(t);for(let s=0;s{const e=this.length,t=[];for(let r=0;r(0,n.base64encode)(this.toRawBytesStr());toBase64UrlStr=()=>this.toBase64Str().replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}t.Buf=i},6471(e,t,r){"use strict";t.Value=t.Str=void 0;const n=r(178);class i{static extractErrorMessage=e=>{if("object"==typeof e&&void 0!==e.message)return"string"==typeof e.message?e.message:JSON.stringify(e)};static parseEmail=(e,t="VALIDATE")=>{let r,n;if(e.includes("<")&&e.includes(">")){const t=e.indexOf("<"),i=e.indexOf(">");r=e.substr(t+1,t-i-1).replace(/["']/g,"").trim().toLowerCase(),n=e.substr(0,e.indexOf("<")).replace(/["']/g,"").trim()}else r=e.replace(/["']/g,"").trim().toLowerCase();return"VALIDATE"!==t||i.isEmailValid(r)||(r=void 0),{email:r,name:n,full:e}};static prettyPrint=e=>"object"==typeof e?JSON.stringify(e,void 0,2).replace(/ /g," ").replace(/\n/g,"
"):String(e);static normalizeSpaces=e=>e.replace(RegExp(String.fromCharCode(160),"g"),String.fromCharCode(32));static normalizeDashes=e=>e.replace(/^—–|—–$/gm,"-----");static getFilenameWithoutExtension=e=>e.replace(/\.[^/.]+$/,"");static normalize=e=>i.normalizeSpaces(i.normalizeDashes(e));static isEmailValid=e=>-1===e.indexOf(" ")&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e);static monthName=e=>["January","February","March","April","May","June","July","August","September","October","November","December"][e];static sloppyRandom=(e=5)=>{let t="";for(let r=0;re.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");static asEscapedHtml=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/").replace(/\n/g,"
");static htmlAttrDecode=e=>{try{return JSON.parse(i.base64urlUtfDecode(e))}catch(e){return}};static capitalize=e=>e.trim().split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");static pluralize=(e,t,r="s")=>`${e} ${t}${e>1?r:""}`;static toUtcTimestamp=(e,t=!1)=>t?String(Date.parse(e)):Date.parse(e);static datetimeToDate=e=>e.substring(0,10).replace(/"/g,""").replace(/'/g,"'").replace(/e.toISOString().replace(/T/," ").replace(/:[^:]+$/,"");static base64urlUtfDecode=e=>void 0===e?e:decodeURIComponent(String(Array.prototype.map.call((0,n.base64decode)(e.replace(/-/g,"+").replace(/_/g,"/")),e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join("")))}t.Str=i;class s{static arr={unique:e=>{const t=[];for(const r of e)t.includes(r)||t.push(r);return t},contains:(e,t)=>Boolean(e&&"function"==typeof e.indexOf&&-1!==e.indexOf(t)),sum:e=>e.reduce((e,t)=>e+t,0),average:e=>s.arr.sum(e)/e.length};static obj={keyByValue:(e,t)=>{for(const r of Object.keys(e))if(e[r]===t)return r}}}t.Value=s},9815(e,t){"use strict";t.VERSION=void 0,t.VERSION=APP_VERSION},4010(e,t,r){"use strict";t.Mime=void 0;const n=r(6471),i=r(3955),s=r(3207),a=r(833),o=r(7659),c=r(2633),l=r(9545),u=r(1341),h=r(178),f=(0,i.requireMimeParser)(),A=(0,i.requireMimeBuilder)(),d=(0,i.requireIso88592)();class p{static processBody=e=>{const t=[];if(e.text){const r=l.MsgBlockParser.detectBlocks(n.Str.normalize(e.text),!0).blocks;r.find(e=>["pkcs7","encryptedMsg","signedMsg","publicKey","privateKey"].includes(e.type))?t.push(...r):e.html?t.push(c.MsgBlock.fromContent("plainHtml",e.html)):t.push(...r)}else e.html&&t.push(c.MsgBlock.fromContent("plainHtml",e.html));return t};static isBodyEmpty=({text:e,html:t})=>p.isBodyTextEmpty(e)&&p.isBodyTextEmpty(t);static isBodyTextEmpty=e=>!(e&&!/^(\r)?(\n)?$/.test(e));static processAttachments=(e,t)=>{const r=[],n=[];for(const e of t.atts){let i=e.treatAs(t.atts,p.isBodyEmpty(t));if(["needChunk","maybePgp"].includes(i)&&(i="encryptedMsg"),"encryptedMsg"===i){const t=u.PgpArmor.clip(e.getData().toUtfStr());t&&r.push(c.MsgBlock.fromContent("encryptedMsg",t))}else"signature"===i?n.push(e):"publicKey"===i||"privateKey"===i?r.push(...l.MsgBlockParser.detectBlocks(e.getData().toUtfStr(),!0).blocks):"encryptedFile"===i?r.push(c.MsgBlock.fromAtt("encryptedAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),treatAs:e.treatAs(t.atts)})):"plainFile"===i&&r.push(c.MsgBlock.fromAtt("plainAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),inline:e.inline,cid:e.cid}))}if(n.length){const t=n[0].getData().toUtfStr();[...e,...r].some(e=>["plainText","plainHtml","signedMsg"].includes(e.type))||r.push(new c.MsgBlock("signedMsg","",!0,t))}const i=[...e,...r];if(t.signature&&t.signature.includes(u.PgpArmor.ARMOR_HEADER_DICT.signature.begin)&&t.signature.includes(String(u.PgpArmor.ARMOR_HEADER_DICT.signature.end))){for(const e of i)"plainText"===e.type?(e.type="signedMsg",e.signature=t.signature):"plainHtml"===e.type&&(e.type="signedHtml",e.signature=t.signature);i.find(e=>"plainText"===e.type||"plainHtml"===e.type||"signedMsg"===e.type||"signedHtml"===e.type)||i.push(new c.MsgBlock("signedMsg","",!0,t.signature))}return{headers:t.headers,blocks:i,from:t.from,to:t.to,rawSignedContent:t.rawSignedContent}};static processDecoded=e=>{const t=p.processBody(e);return p.processAttachments(t,e)};static process=async e=>{const t=await p.decode(e);return p.processDecoded(t)};static isPlainImgAtt=e=>"plainAtt"===e.type&&e.attMeta&&e.attMeta.type&&["image/jpeg","image/jpg","image/bmp","image/png","image/svg+xml"].includes(e.attMeta.type);static replyHeaders=e=>{const t=String(e.headers["message-id"]||"");return{"in-reply-to":t,references:String(e.headers["in-reply-to"]||"")+" "+t}};static resemblesMsg=e=>{const t=new a.Buf(e.slice(0,1e3)).toUtfStr().toLowerCase(),r=t.match(/content-type: +[0-9a-z\-\/]+/);return!!r&&(!!(t.match(/content-transfer-encoding: +[0-9a-z\-\/]+/)||t.match(/content-disposition: +[0-9a-z\-\/]+/)||t.match(/; boundary=/)||t.match(/; charset=/))||Boolean(0===r.index&&t.match(/boundary=/)))};static decode=async e=>{const t={atts:[],headers:{},subject:void 0,text:void 0,html:void 0,signature:void 0,from:void 0,to:[],cc:[],bcc:[]},r=new f,n={};return r.onbody=e=>{const t=String(e.path.join("."));void 0===n[t]&&(n[t]=e)},await new Promise((i,s)=>{try{r.onend=()=>{try{for(const e of Object.keys(r.node.headers))t.headers[e]=r.node.headers[e][0].value;t.rawSignedContent=p.retrieveRawSignedContent([r.node]);for(const e of Object.values(n))"application/pgp-signature"===p.getNodeType(e)?t.signature=e.rawContent:"text/html"!==p.getNodeType(e)||p.getNodeFilename(e)?"text/plain"!==p.getNodeType(e)||p.getNodeFilename(e)&&!p.isNodeInline(e)?"text/rfc822-headers"===p.getNodeType(e)?e._parentNode&&e._parentNode.headers.subject&&(t.subject=e._parentNode.headers.subject[0].value):t.atts.push(p.getNodeAsAtt(e)):t.text=(t.text?`${t.text}\n\n`:"")+p.getNodeContentAsUtfStr(e):t.html=(t.html||"")+p.getNodeContentAsUtfStr(e);const e=p.headerGetAddress(t,["from","to","cc","bcc"]);t.subject=String(t.subject||t.headers.subject||""),Object.assign(t,e),i(t)}catch(e){s(e)}},r.write(e),r.end()}catch(e){o.Catch.reportErr(e),i(t)}})};static encode=async(e,t,r=[],n)=>{const i=new A("pgpMimeEncrypted"!==n?"multipart/mixed":'multipart/encrypted; protocol="application/pgp-encrypted";',{includeBccInHeader:!0});for(const e of Object.keys(t))i.addHeader(e,t[e]);if(Object.keys(e).length){let t;if(1===Object.keys(e).length)t=p.newContentNode(A,Object.keys(e)[0],e[Object.keys(e)[0]]||"");else{t=new A("multipart/alternative");for(const r of Object.keys(e))t.appendChild(p.newContentNode(A,r,e[r]??""))}i.appendChild(t)}for(const e of r)i.appendChild(p.createAttNode(e));return i.build()};static subjectWithoutPrefixes=e=>e.replace(/^((Re|Fwd): ?)+/g,"").trim();static encodePgpMimeSigned=async(e,t,r=[],i)=>{const o=`SIG_PLACEHOLDER_${n.Str.sloppyRandom(10)}`,c=new A('multipart/signed; protocol="application/pgp-signature";',{includeBccInHeader:!0});for(const e of Object.keys(t))c.addHeader(e,t[e]);const l=new A("multipart/alternative");for(const t of Object.keys(e))l.appendChild(p.newContentNode(A,t,e[t]??""));const u=new A("multipart/mixed");u.appendChild(l);for(const e of r)u.appendChild(p.createAttNode(e));const h=new s.Att({data:a.Buf.fromUtfStr(o),type:"application/pgp-signature",name:"signature.asc"}),f=p.createAttNode(h);c.appendChild(u),c.appendChild(f);const d=c.build(),{rawSignedContent:g}=await p.decode(a.Buf.fromUtfStr(d));if(!g)throw console.log(`mimeStrWithPlaceholderSig(placeholder:${o}):\n${d}`),new Error("Could not find raw signed content immediately after mime-encoding a signed message");const y=await i(g),m=d.replace(a.Buf.fromUtfStr(o).toBase64Str(),a.Buf.fromUtfStr(y).toBase64Str());if(m===d)throw console.log(`pgpMimeSigned(placeholder:${o}):\n${m}`),new Error("Replaced sigPlaceholder with realSignature but mime stayed the same");return m};static headerGetAddress=(e,t)=>{const r={to:[],cc:[],bcc:[]};let i;const s=e=>"string"==typeof e?[e].map(e=>n.Str.parseEmail(e).email).filter(e=>!!e):e.map(e=>e.address),a=e=>n.Str.parseEmail((Array.isArray(e)?(e[0]||{}).address:String(e||""))||"").email;for(const n of t){const t=e.headers[n];t&&("from"===n?i=a(t):r[n]=[...r[n],...s(t)])}return{...r,from:i}};static retrieveRawSignedContent=e=>{for(const t of e){if(!t._childNodes||!t._childNodes.length)continue;const e="signed"===t._isMultipart,r="mixed"===t._isMultipart&&2===t._childNodes.length&&"application/pgp-signature"===p.getNodeType(t._childNodes[1]);if(e||r){let e=t._childNodes[0].raw.replace(/\r?\n/g,"\r\n");return/--$/.test(e)&&(e+="\r\n"),e}return p.retrieveRawSignedContent(t._childNodes)}};static createAttNode=e=>{const t=`${e.type}; name="${e.name}"`,r=`f_${n.Str.sloppyRandom(30)}@flowcrypt`,i={};return e.contentDescription&&(i["Content-Description"]=e.contentDescription),i["Content-Disposition"]=e.inline?"inline":"attachment",i["X-Attachment-Id"]=r,i["Content-ID"]=`<${r}>`,i["Content-Transfer-Encoding"]="base64",new A(t,{filename:e.name}).setHeader(i).setContent(e.getData())};static getNodeType=(e,t="value")=>{if(e.headers["content-type"]&&e.headers["content-type"][0])return e.headers["content-type"][0][t]};static getNodeContentId=e=>{if(e.headers["content-id"]&&e.headers["content-id"][0])return e.headers["content-id"][0].value};static getNodeFilename=e=>{if(e.headers["content-disposition"]&&e.headers["content-disposition"][0]){const t=e.headers["content-disposition"][0];if(t.params&&t.params.filename)return String(t.params.filename)}if(e.headers["content-type"]&&e.headers["content-type"][0]){const t=e.headers["content-type"][0];if(t.params&&t.params.name)return String(t.params.name)}};static isNodeInline=e=>{const t=e.headers["content-disposition"];return t&&t[0]&&"inline"===t[0].value};static fromEqualSignNotationAsBuf=e=>a.Buf.fromRawBytesStr(e.replace(/(=[A-F0-9]{2})+/g,e=>{const t=e.replace(/^=/,"").split("=").map(e=>parseInt(e,16));return new a.Buf(t).toRawBytesStr()}));static getNodeAsAtt=e=>new s.Att({name:p.getNodeFilename(e),type:p.getNodeType(e),data:"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):e.content,cid:p.getNodeContentId(e)});static getNodeContentAsUtfStr=e=>{if(e.charset&&d.labels.includes(e.charset))return d.decode(e.rawContent??"");let t;return t="utf-8"===e.charset&&"base64"===e.contentTransferEncoding.value?a.Buf.fromUint8(e.content):"utf-8"===e.charset&&"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):a.Buf.fromRawBytesStr(e.rawContent??""),"ISO-2022-JP"===e.charset?.toUpperCase()||"utf-8"===e.charset&&p.getNodeType(e,"initial")?.includes("ISO-2022-JP")?(0,h.iso2022jpToUtf)(t):t.toUtfStr()};static newContentNode=(e,t,r)=>{const n=new e(t).setContent(r);return"text/plain"===t&&n.addHeader("Content-Transfer-Encoding","quoted-printable"),n}}t.Mime=p},102(e,t){"use strict";t.mnemonic=void 0;const r=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"];t.mnemonic=e=>{if(!e)return;const t=e.split("").map(e=>(e=>{let t=e+"";for(;t.length<4;)t="0"+t;return t})(parseInt(e,16).toString(2))).join("").match(new RegExp(".{1,11}","g"));return(t?.map(e=>parseInt(e,2))??[]).map(e=>r[e].toUpperCase()).join(" ")}},9545(e,t,r){"use strict";t.MsgBlockParser=void 0;const n=r(2633),i=r(6622),s=r(833),a=r(7659),o=r(4010),c=r(1341),l=r(2365),u=r(9379),h=r(6471);class f{static ARMOR_HEADER_MAX_LENGTH=50;static detectBlocks=(e,t)=>{const r=[],n=h.Str.normalize(e);let i=0;for(;;){const e=f.detectBlockNext(n,i,t);if(e.found&&r.push(...e.found),void 0===e.continueAt)return{blocks:r,normalized:n};if(e.continueAt<=i)return a.Catch.report(`PgpArmordetect_blocks likely infinite loop: r.continue_at(${e.continueAt}) <= start_at(${i})`),{blocks:r,normalized:n};i=e.continueAt}};static fmtDecryptedAsSanitizedHtmlBlocks=async(e,t)=>{const r=[];let a=!1;if(!o.Mime.resemblesMsg(e)){let i=s.Buf.fromUint8(e).toUtfStr();i=u.PgpMsg.extractFcAtts(i,r),i=u.PgpMsg.stripFcTeplyToken(i);const o=[];i=u.PgpMsg.stripPublicKeys(i,o);const c=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(i));return c.verifyRes=t,r.push(c),await f.pushArmoredPubkeysToBlocks(o,r),{blocks:r,subject:void 0,isRichText:a}}const c=await o.Mime.decode(e);if(void 0!==c.html){const e=n.MsgBlock.fromContent("decryptedHtml",i.Xss.htmlSanitizeKeepBasicTags(c.html));e.verifyRes=t,r.push(e),a=!0}else if(void 0!==c.text){const e=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(c.text));e.verifyRes=t,r.push(e)}else n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(s.Buf.with(e).toUtfStr())).verifyRes=t,r.push();for(const e of c.atts)if("publicKey"===e.treatAs(c.atts))await f.pushArmoredPubkeysToBlocks([e.getData().toUtfStr()],r);else{const i=n.MsgBlock.fromAtt("decryptedAtt","",{name:e.name,data:e.getData(),length:e.length,type:e.type});i.verifyRes=t,r.push(i)}return{blocks:r,subject:c.subject,isRichText:a}};static detectBlockNext=(e,t,r)=>{const i=Object.keys(c.PgpArmor.ARMOR_HEADER_DICT),s={found:[]},a=e.indexOf(c.PgpArmor.headers("null").begin,t);if(-1!==a){const o=e.substr(a,f.ARMOR_HEADER_MAX_LENGTH);for(const l of i){const i=c.PgpArmor.ARMOR_HEADER_DICT[l];if(i.replace&&0===o.indexOf(i.begin)){let o="";if(a>t&&(o=e.substring(t,a),!o.endsWith("\n")))continue;let c=-1,u=0;if("string"==typeof i.end)c=e.indexOf(i.end,a+i.begin.length),u=i.end.length;else{const t=e.substring(a).match(i.end);t&&(c=t.index?a+t.index:-1,u=t[0].length)}if(-1!==c||!r){o=o.trim(),o&&s.found.push(n.MsgBlock.fromContent("plainText",o)),-1!==c?(s.found.push(n.MsgBlock.fromContent(l,e.substring(a,c+u).trim())),s.continueAt=c+u):s.found.push(n.MsgBlock.fromContent(l,e.substr(a),!0));break}}}}if(e&&!s.found.length){const r=e.substr(t).trim();r&&s.found.push(n.MsgBlock.fromContent("plainText",r))}return s};static pushArmoredPubkeysToBlocks=async(e,t)=>{for(const r of e){const{keys:e}=await l.PgpKey.parse(r);for(const r of e)t.push(n.MsgBlock.fromKeyDetails("publicKey",r.public,r))}}}t.MsgBlockParser=f},2633(e,t){"use strict";t.MsgBlock=void 0;class r{type;content;complete;signature;keyDetails;attMeta;decryptErr;verifyRes;constructor(e,t,r,n,i,s,a,o){this.type=e,this.content=t,this.complete=r,this.signature=n,this.keyDetails=i,this.attMeta=s,this.decryptErr=a,this.verifyRes=o}static fromContent=(e,t,n=!1)=>new r(e,t,!n);static fromKeyDetails=(e,t,n)=>new r(e,t,!0,void 0,n);static fromAtt=(e,t,n)=>new r(e,t,!0,void 0,void 0,n)}t.MsgBlock=r},1341(e,t,r){"use strict";t.PgpArmor=void 0;const n=r(833),i=r(6471),s=r(6382);class a{static ARMOR_HEADER_DICT={null:{begin:"-----BEGIN",end:"-----END",replace:!1},publicKey:{begin:"-----BEGIN PGP PUBLIC KEY BLOCK-----",end:"-----END PGP PUBLIC KEY BLOCK-----",replace:!0},privateKey:{begin:"-----BEGIN PGP PRIVATE KEY BLOCK-----",end:"-----END PGP PRIVATE KEY BLOCK-----",replace:!0},signedMsg:{begin:"-----BEGIN PGP SIGNED MESSAGE-----",middle:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!0},signature:{begin:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!1},encryptedMsg:{begin:"-----BEGIN PGP MESSAGE-----",end:"-----END PGP MESSAGE-----",replace:!0},encryptedMsgLink:{begin:"This message is encrypted: Open Message",end:/https:(\/|/){2}(cryptup\.org|flowcrypt\.com)(\/|/)[a-zA-Z0-9]{10}(\n|$)/,replace:!0}};static clip=e=>{if(e?.includes(a.ARMOR_HEADER_DICT.null.begin)&&e.includes(String(a.ARMOR_HEADER_DICT.null.end))){const t=e.match(/(-----BEGIN PGP (MESSAGE|SIGNED MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----[^]+-----END PGP (MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----)/gm);return t&&t.length?t[0]:void 0}};static headers=(e,t="string")=>{const r=a.ARMOR_HEADER_DICT[e];return{begin:"string"==typeof r.begin&&"re"===t?r.begin.replace(/ /g,"\\s"):r.begin,end:"string"==typeof r.end&&"re"===t?r.end.replace(/ /g,"\\s"):r.end,replace:r.replace}};static normalize=(e,t)=>{if(e=i.Str.normalize(e).replace(/\n /g,"\n"),["encryptedMsg","publicKey","privateKey","key"].includes(t)){const t=(e=e.replace(/\r?\n/g,"\n").trim()).match(/\n\n/g),r=e.match(/\n\n\n/g),n=e.match(/\n\n\n\n/g),i=e.match(/\n\n\n\n\n\n/g);r&&i&&r.length>1&&1===i.length?e=e.replace(/\n\n\n/g,"\n"):t&&n&&t.length>1&&1===n.length&&(e=e.replace(/\n\n/g,"\n"))}const r=e.split("\n"),n=a.headers("key"===t?"null":t);if(r.length>5&&r[0].includes(n.begin)&&r[r.length-1].includes(String(n.end))&&!r.includes(""))for(let t=1;t<5;t++)if(!r[t].match(/^[a-zA-Z0-9\-_. ]+: .+$/)){if(r[t].match(/^[a-zA-Z0-9\/+]{32,77}$/)){e=`${r.slice(0,t).join("\n")}\n\n${r.slice(t).join("\n")}`;break}break}return e};static cryptoMsgPrepareForDecrypt=async e=>{if(!e.length)throw new Error("Encrypted message could not be parsed because no data was provided");const t=new n.Buf(e.slice(0,100)).toUtfStr("ignore"),r=t.includes(a.headers("encryptedMsg").begin),i=t.includes(a.headers("signedMsg").begin),o=r||i;if(i)return{isArmored:o,isCleartext:!0,message:await(0,s.readCleartextMessage)({cleartextMessage:new n.Buf(e).toUtfStr()})};if(r)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({armoredMessage:new n.Buf(e).toUtfStr()})};if(e instanceof Uint8Array)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({binaryMessage:e})};throw new Error("Message does not have armor headers")}}t.PgpArmor=a},2365(e,t,r){"use strict";t.PgpKey=void 0;const n=r(7659),i=r(1341),s=r(3313),a=r(102),o=r(178),c=r(6382),l=r(8659),u=r(3955),h=r(6471);class f{static create=async(e,t,r)=>{const n=await(0,c.generateKey)({userIDs:e,passphrase:r,format:"armored",curve:"curve25519"===t?"curve25519Legacy":void 0,rsaBits:"curve25519"===t?void 0:"rsa2048"===t?2048:4096});return{public:n.publicKey,private:n.privateKey,revCert:n.revocationCertificate}};static read=async e=>{const t=s.Store.armoredKeyCacheGet(e);if(t)return t;const r=await(0,c.readKey)({armoredKey:e});return r?.isPrivate()&&s.Store.armoredKeyCacheSet(e,r),r};static isPacketPrivate=e=>e instanceof c.SecretKeyPacket||e instanceof c.SecretSubkeyPacket;static validateAllDecryptedPackets=async e=>{for(const t of e.toPacketList().filter(f.isPacketPrivate))t.isDecrypted()&&await t.validate()};static decrypt=async(e,t,r,n)=>{if(!e.isPrivate())throw new Error("Nothing to decrypt in a public key");const i=e.getKeys(r).map(e=>e.keyPacket).filter(f.isPacketPrivate);if(!i.length)throw new Error(`No private key packets selected of${e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate).length} prv packets available`);for(const e of i){if(e.isDecrypted()){if("OK-IF-ALREADY-DECRYPTED"===n)continue;throw new Error("Decryption failed - key packet was already decrypted")}try{await e.decrypt(t),await e.validate()}catch(e){if(e instanceof Error&&e.message.toLowerCase().includes("passphrase"))return!1;throw e}}return!0};static encrypt=async(e,t)=>{if(!t||"undefined"===t||"null"===t)throw new Error(`Encryption passphrase should not be empty:${typeof t}:${t}`);const r=e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate),n=r.filter(e=>!e.isDecrypted()).length;if(!r.length)throw new Error("No private key packets in key to encrypt. Is this a private key?");if(n)throw new Error(`Cannot encrypt a key that has ${n} of ${r.length} private packets still encrypted`);await(0,c.encryptKey)({privateKey:e,passphrase:t})};static normalize=async e=>{try{let t=[];if(e=i.PgpArmor.normalize(e,"key"),RegExp(i.PgpArmor.headers("publicKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("privateKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("encryptedMsg","re").begin).test(e)){const r=await(0,c.readMessage)({armoredMessage:e});t=[new c.PublicKey(r.packets)]}for(const e of t)for(const t of e.users)await f.validateAllDecryptedPackets(e),t.otherCertifications=[];return{normalized:t.map(e=>e.armor()).join("\n"),keys:t}}catch(e){return n.Catch.reportErr(e),{normalized:"",keys:[],error:h.Str.extractErrorMessage(e)}}};static fingerprint=async e=>{if(e)if("string"==typeof e)try{return await f.fingerprint(await f.read(e))}catch(e){return e instanceof Error&&"openpgp is not defined"===e.message&&n.Catch.reportErr(e),void console.error(e)}else{if(!e.keyPacket.getFingerprintBytes())return;try{return e.keyPacket.getFingerprint().toUpperCase()}catch(e){return void console.error(e)}}};static longid=async e=>{if(e)return"string"==typeof e&&8===e.length?(0,o.strToHex)(e).toUpperCase():"string"==typeof e&&40===e.length?e.substr(-16):"string"==typeof e&&49===e.length?e.replace(/ /g,"").substr(-16):await f.longid(await f.fingerprint(e))};static longids=async e=>{const t=[];for(const r of e){const e=await f.longid(r.bytes);e&&t.push(e)}return t};static usable=async(e,t)=>{if(!await f.fingerprint(e))return!1;const r=await(0,c.readKey)({armoredKey:e});return!!r&&(!!await f.keyIsUsable(r,t)||await f.usableButExpired(r,t))};static expired=async e=>{if(!e)return!1;const t=await e.getExpirationTime();if(t===1/0||!t)return!1;if(t instanceof Date)return Date.now()>t.getTime();throw new Error(`Got unexpected value for expiration: ${t}`)};static usableButExpired=async(e,t)=>{if(!e)return!1;if(await f.keyIsUsable(e,t))return!1;const r=await f.dateBeforeExpiration(e);return void 0!==r&&f.keyIsUsable(e,t,r)};static dateBeforeExpiration=async e=>{const t="string"==typeof e?await f.read(e):e,r=await(0,o.getKeyExpirationTimeForCapabilities)(t,"encrypt");if(r instanceof Date&&r.getTime(){const{normalized:t,keys:r,error:n}=await f.normalize(e);return{original:e,normalized:t,keys:await Promise.all(r.map(f.details)),error:n}};static details=async e=>{const t=e.getKeys(),r=e.keyPacket.getAlgorithmInfo(),n={algorithm:r.algorithm,algorithmId:c.enums.publicKey[r.algorithm]};r.bits&&Object.assign(n,{bits:r.bits}),r.curve&&Object.assign(n,{curve:r.curve});const i=e.keyPacket.created.getTime()/1e3,s=await(0,o.getKeyExpirationTimeForCapabilities)(e,"encrypt"),u=s!==1/0&&s?s.getTime()/1e3:void 0,h=await f.lastSig(e)/1e3,A=[];for(const e of t){const t=e.getFingerprint().toUpperCase();if(t){const e=await f.longid(t);if(e){const r=e.substr(-8);A.push({fingerprint:t,longid:e,shortid:r,keywords:(0,a.mnemonic)(e)??""})}}}const d=e.toPublic().armor(),p={public:d,users:e.getUserIDs(),ids:A,algo:n,created:i,expiration:u,lastModified:h,revoked:e.revocationSignatures.length>0,usableForEncryption:await f.usable(d,"encrypt"),usableForSigning:await f.usable(d,"sign")};return e.isPrivate()&&Object.assign(p,{private:e.armor(),isFullyDecrypted:(0,l.isFullyDecrypted)(e),isFullyEncrypted:(0,l.isFullyEncrypted)(e)}),p};static lastSig=async e=>{const t=[];for(const r of e.users){const n={userID:r.userID,userAttribute:r.userAttribute,key:e};for(const i of r.selfCertifications)try{await i.verify(e.keyPacket,c.enums.signature.certGeneric,n),t.push(i)}catch(e){console.log(`PgpKey.lastSig: Skipping self-certification signature because it is invalid: ${String(e)}`)}}for(const r of e.subkeys)try{const e=await r.verify();t.push(e)}catch(e){console.log(`PgpKey.lastSig: Skipping subkey ${r.getKeyID().toHex()} because there is no valid binding signature: ${String(e)}`)}if(t.length>0)return Math.max(...t.map(e=>e.created?e.created.getTime():0));throw new Error("No valid signature found in key")};static revoke=async e=>{await e.isRevoked()||(e=(await(0,c.revokeKey)({key:e,format:"object"})).privateKey);const t=await e.getRevocationCertificate();if(t){if("string"==typeof t)return{key:e,revocationCertificate:t};{const r=await(0,u.requireStreamReadToEnd)();return{key:e,revocationCertificate:await r(t)}}}};static keyIsUsable=async(e,t,r)=>Boolean(await n.Catch.undefinedOnException("encrypt"===t?e.getEncryptionKey(void 0,r):e.getSigningKey(void 0,r)))}t.PgpKey=f},9379(e,t,r){"use strict";t.PgpMsg=t.DecryptErrTypes=void 0;const n=r(2365),i=r(2633),s=r(6471),a=r(833),o=r(7659),c=r(9545),l=r(1341),u=r(3313),h=r(6382),f=r(8659),A=r(3955);var d;!function(e){e.keyMismatch="key_mismatch",e.usePassword="use_password",e.wrongPwd="wrong_password",e.noMdc="no_mdc",e.badMdc="bad_mdc",e.needPassphrase="need_passphrase",e.format="format",e.other="other"}(d||(t.DecryptErrTypes=d={}));Error;class p{static type=async({data:e})=>{if(!e||!e.length)return;const t=e[0];if(!(128&~t)){let e=0;if(e=192&~t?(60&t)/4:63&t,Object.values(h.enums.packet).includes(e)){const t=h.enums.packet;return{armored:!1,type:[t.symEncryptedIntegrityProtectedData,t.modificationDetectionCode,t.aeadEncryptedData,t.symmetricallyEncryptedData,t.compressedData].includes(e)?"encryptedMsg":"publicKey"}}}const{blocks:r}=c.MsgBlockParser.detectBlocks(new a.Buf(e.slice(0,50)).toUtfStr().trim());return 1===r.length&&!1===r[0].complete&&["encryptedMsg","privateKey","publicKey","signedMsg"].includes(r[0].type)?{armored:!0,type:r[0].type}:void 0};static sign=async(e,t,r=!1)=>{const n=await(0,h.createCleartextMessage)({text:t});return await(0,h.sign)({message:n,signingKeys:e,detached:r,format:"armored"})};static verify=async(e,t)=>{const r={match:null};try{const i=Array.isArray(e)?e:await e.verify(t);for(const e of i)r.signer||(r.signer=await n.PgpKey.longid(e.keyID.bytes)),r.match=(!0===r.match||null===r.match)&&await e.verified}catch(e){r.match=null,e instanceof Error&&"Can only verify message with one literal data packet."===e.message?r.error="FlowCrypt is not equipped to verify this message (err 101)":(r.error=e.message,o.Catch.reportErr(e))}return r};static verifyDetached=async({plaintext:e,sigText:t,verificationPubkeys:r})=>{const n=await(0,h.createMessage)({text:a.Buf.fromUint8(e).toUtfStr()});await n.appendSignature(a.Buf.fromUint8(t).toUtfStr());const i=await p.getSortedKeys([],n);if(r)for(const e of r){const t=await(0,h.readKeys)({armoredKeys:e});i.forVerification.push(...t)}return await p.verify(n,i.forVerification)};static decrypt=async({kisWithPp:e,encryptedData:t,msgPwd:r,verificationPubkeys:n})=>{let i;const s={message:[],matching:[],chosen:[],needPassphrase:[]};try{i=await l.PgpArmor.cryptoMsgPrepareForDecrypt(t)}catch(e){return{success:!1,error:{type:d.format,message:String(e)},longids:s}}const o=await p.getSortedKeys(e,i.message,n);s.message=o.encryptedFor,s.matching=o.prvForDecrypt.map(e=>e.longid),s.chosen=o.prvForDecryptDecrypted.map(e=>e.longid),s.needPassphrase=o.prvForDecryptWithoutPassphrases.map(e=>e.longid);const c=!i.isCleartext;if(!c){const e=await p.verify(i.message,o.forVerification),t=await(0,A.requireStreamReadToEnd)(),r=await t(i.message.getText()??"");return{success:!0,content:a.Buf.fromUtfStr(r),isEncrypted:c,signature:e}}if(!o.prvMatching.length&&!r)return{success:!1,error:{type:d.keyMismatch,message:"Missing appropriate key"},message:i.message,longids:s,isEncrypted:c};if(!o.prvForDecryptDecrypted.length&&!r)return{success:!1,error:{type:d.needPassphrase,message:"Missing pass phrase"},message:i.message,longids:s,isEncrypted:c};try{const e=i.message.packets,t=e.filterByTag(h.enums.packet.symEncryptedSessionKey).length>0,l=e.filterByTag(h.enums.packet.publicKeyEncryptedSessionKey).length>0;if(t&&!l&&!r)return{success:!1,error:{type:d.usePassword,message:"Use message password"},longids:s,isEncrypted:c};const u=r?[r]:void 0,f=o.prvForDecryptDecrypted.map(e=>e.decrypted),g=await i.message.decrypt(f,u);await p.cryptoMsgGetSignedBy(g,o),await p.populateKeysForVerification(o,n);const y=o.signedBy.length?await g.verify(o.forVerification):void 0,m=await(0,A.requireStreamReadToEnd)(),w=new a.Buf(await m(g.getLiteralData())),b=y?await p.verify(y,[]):void 0;if(!i.isCleartext&&i.message.packets.filterByTag(h.enums.packet.symmetricallyEncryptedData).length){const e="Security threat!\n\nMessage is missing integrity checks (MDC). The sender should update their outdated software and resend.";return{success:!1,content:w,error:{type:d.noMdc,message:e},message:i.message,longids:s,isEncrypted:c}}return{success:!0,content:w,isEncrypted:c,filename:g.getFilename()||void 0,signature:b}}catch(e){return{success:!1,error:p.cryptoMsgDecryptCategorizeErr(e,r),message:i.message,longids:s,isEncrypted:c}}};static encrypt=async({pubkeys:e,signingPrv:t,pwd:r,data:n,filename:i,armor:s,date:a})=>{if(!e&&!r)throw new Error("no-pubkeys-no-challenge");const o=await(0,h.createMessage)({binary:n,filename:i,date:a}),c=[];for(const t of e){const e=await(0,h.readKeys)({armoredKeys:t});c.push(...e)}const l={message:o,date:a,encryptionKeys:c,passwords:r?[r]:void 0,signingKeys:t&&t.isPrivate()?t:void 0};return s||Object.assign(l,{format:"binary"}),await(0,h.encrypt)(l)};static extractFcAtts=(e,t)=>(e.includes('class="cryptup_file"')&&(e=e.replace(/[^<]+<\/a>\n?/gm,(e,r,n)=>{const a=s.Str.htmlAttrDecode(String(n));return p.isFcAttLinkData(a)&&t.push(i.MsgBlock.fromAtt("encryptedAttLink","",{type:a.type,name:a.name,length:a.size,url:String(r)})),""})),e);static stripFcTeplyToken=e=>e.replace(/]+class="cryptup_reply"[^>]+><\/div>/,"");static stripPublicKeys=(e,t)=>{let{blocks:r,normalized:n}=c.MsgBlockParser.detectBlocks(e);for(const e of r)if("publicKey"===e.type){const r=e.content.toString();t.push(r),n=n.replace(r,"")}return n};static isFcAttLinkData=e=>e&&"object"==typeof e&&void 0!==e.name&&void 0!==e.size&&void 0!==e.type;static cryptoMsgGetSignedBy=async(e,t)=>{t.signedBy=s.Value.arr.unique(await n.PgpKey.longids(e.getSigningKeyIDs?e.getSigningKeyIDs():[]))};static populateKeysForVerification=async(e,t)=>{if(void 0!==t){e.forVerification=[];for(const r of t){const t=await(0,h.readKeys)({armoredKeys:r});e.forVerification.push(...t)}}};static getSortedKeys=async(e,t,r)=>{const i={forVerification:[],encryptedFor:[],signedBy:[],prvMatching:[],prvForDecrypt:[],prvForDecryptDecrypted:[],prvForDecryptWithoutPassphrases:[]},s=t instanceof h.Message?t.getEncryptionKeyIDs():[];if(i.encryptedFor=await n.PgpKey.longids(s),await p.cryptoMsgGetSignedBy(t,i),await p.populateKeysForVerification(i,r),i.encryptedFor.length){for(const t of e){t.parsed=await n.PgpKey.read(t.private);for(const e of await Promise.all(t.parsed.getKeyIDs().map(({bytes:e})=>n.PgpKey.longid(e))))if(i.encryptedFor.includes(e)){i.prvMatching.push(t);break}}i.prvForDecrypt=i.prvMatching}else i.prvForDecrypt=[];for(const e of i.prvForDecrypt){if(!e.parsed||!e.passphrase)continue;const t=p.matchingKeyids(e.parsed,s),r=u.Store.decryptedKeyCacheGet(e.longid);r&&p.isKeyDecryptedFor(r,t)?(e.decrypted=r,i.prvForDecryptDecrypted.push(e)):p.isKeyDecryptedFor(e.parsed,t)||!0===await p.decryptKeyFor(e.parsed,e.passphrase,t)?(u.Store.decryptedKeyCacheSet(e.parsed),e.decrypted=e.parsed,i.prvForDecryptDecrypted.push(e)):i.prvForDecryptWithoutPassphrases.push(e)}return i};static matchingKeyids=(e,t)=>{const r=(t||[]).map(e=>e.bytes);return e.getKeyIDs().filter(e=>r.includes(e.bytes))};static decryptKeyFor=async(e,t,r)=>{if(!r.length)return await n.PgpKey.decrypt(e,t,void 0,"OK-IF-ALREADY-DECRYPTED");for(const i of r)if(!await n.PgpKey.decrypt(e,t,i,"OK-IF-ALREADY-DECRYPTED"))return!1;return!0};static isKeyDecryptedFor=(e,t)=>!!(0,f.isFullyDecrypted)(e)||!(0,f.isFullyEncrypted)(e)&&!!t.length&&t.filter(t=>(0,f.isPacketDecrypted)(e,t)).length===t.length;static cryptoMsgDecryptCategorizeErr=(e,t)=>{const r=String(e).replace("Error: ","").replace("Error decrypting message: ","");return["Cannot read property 'isDecrypted' of null","privateKeyPacket is null","TypeprivateKeyPacket is null","Session key decryption failed.","Invalid session key for decryption."].includes(r)&&!t?{type:d.keyMismatch,message:r}:t&&["Invalid enum value.","CFB decrypt: invalid key","Session key decryption failed."].includes(r)?{type:d.wrongPwd,message:r}:"Decryption failed due to missing MDC in combination with modern cipher."===r||"Decryption failed due to missing MDC."===r?{type:d.noMdc,message:r}:"Decryption error"===r?{type:d.format,message:r}:"Modification detected."===r?{type:d.badMdc,message:"Security threat - opening this message is dangerous because it was modified in transit."}:{type:d.other,message:r}}}t.PgpMsg=p},5261(e,t){"use strict";t.PgpPwd=void 0;class r{static CRACK_GUESSES_PER_SECOND=8e7;static CRACK_TIME_WORDS_PWD=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"perfect",bar:95,color:"green",pass:!0},{match:"year",word:"great",bar:80,color:"orange",pass:!0},{match:"month",word:"good",bar:70,color:"darkorange",pass:!0},{match:"week",word:"good",bar:30,color:"darkred",pass:!0},{match:"day",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"hour",word:"bare minimum",bar:20,color:"darkred",pass:!0},{match:"minute",word:"poor",bar:15,color:"red",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static CRACK_TIME_WORDS_PASS_PHRASE=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"great",bar:80,color:"green",pass:!0},{match:"year",word:"good",bar:60,color:"orange",pass:!0},{match:"month",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"week",word:"poor",bar:30,color:"darkred",pass:!1},{match:"day",word:"poor",bar:20,color:"darkred",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static estimateStrength=(e,t="passphrase")=>{const n=e/r.CRACK_GUESSES_PER_SECOND;for(const e of"pwd"===t?r.CRACK_TIME_WORDS_PWD:r.CRACK_TIME_WORDS_PASS_PHRASE){const t=r.readableCrackTime(n);if(t.includes(e.match))return{word:e,seconds:Math.round(n),time:t}}throw Error("(thrown) estimate_strength: got to end without any result")};static weakWords=()=>["crypt","up","cryptup","flow","flowcrypt","encryption","pgp","email","set","backup","passphrase","best","pass","phrases","are","long","and","have","several","words","in","them","Best pass phrases are long","have several words","in them","bestpassphrasesarelong","haveseveralwords","inthem","Loss of this pass phrase","cannot be recovered","Note it down","on a paper","lossofthispassphrase","cannotberecovered","noteitdown","onapaper","setpassword","set password","set pass word","setpassphrase","set pass phrase","set passphrase"];static readableCrackTime=e=>{const t=e=>e>1?"s":"";e=Math.round(e);const r=Math.round(e/31104e8);if(r)return 1===r?"a millennium":"millennia";const n=Math.round(e/31104e5);if(n)return 1===n?"a century":"centuries";const i=Math.round(e/31104e3);if(i)return i+" year"+t(i);const s=Math.round(e/2592e3);if(s)return s+" month"+t(s);const a=Math.round(e/604800);if(a)return a+" week"+t(a);const o=Math.round(e/86400);if(o)return o+" day"+t(o);const c=Math.round(e/3600);if(c)return c+" hour"+t(c);const l=Math.round(e/60);if(l)return l+" minute"+t(l);const u=e%60;return u?u+" second"+t(u):"less than a second"}}t.PgpPwd=r},8659(e,t,r){"use strict";t.isPacketDecrypted=t.isFullyEncrypted=t.isFullyDecrypted=void 0;const n=r(2365),i=r(9815),s=r(6382);s.config.versionString=`FlowCrypt ${i.VERSION} Gmail Encryption`,s.config.commentString="Seamlessly send and receive encrypted email",s.config.allowUnauthenticatedMessages=!0,s.config.allowUnauthenticatedStream=!0;const a=e=>{if(!e.isPrivate())throw new Error("Cannot check encryption status of secret keys in a Public Key");const t=e.getKeys().map(e=>e.keyPacket).filter(n.PgpKey.isPacketPrivate);if(!t.length)throw new Error("This key has no private packets. Is it a Private Key?");const r=t.filter(e=>!e.isDummy());if(!r.length)throw new Error("This key only has a gnu-dummy private packet, with no actual secret keys.");return r};t.isFullyDecrypted=e=>a(e).every(e=>!0===e.isDecrypted()),t.isFullyEncrypted=e=>a(e).every(e=>!1===e.isDecrypted()),t.isPacketDecrypted=(e,t)=>{if(!e.isPrivate())throw new Error("Cannot check packet encryption status of secret key in a Public Key");if(!t)throw new Error("No KeyID provided to isPacketDecrypted");const[r]=e.getKeys(t);if(!r)throw new Error("KeyID not found in Private Key");return!0===r.keyPacket.isDecrypted()}},9033(e,t,r){"use strict";t.G=t.Endpoints=void 0;const n=r(1592),i=r(9379),s=r(2365),a=r(4010),o=r(3207),c=r(833),l=r(9545),u=r(5261),h=r(3313),f=r(6471),A=r(9815),d=r(6364),p=r(6622),g=r(6382);t.Endpoints=class{version=async()=>(0,n.fmtRes)({app_version:A.VERSION});setClientConfiguration=async e=>{const{shouldHideArmorMeta:t}=d.ValidateInput.setClientConfiguration(e);return g.config.showVersion=!t,g.config.showComment=!t,(0,n.fmtRes)({})};generateKey=async e=>{h.Store.keyCacheWipe();const{passphrase:t,userIds:r,variant:i}=d.ValidateInput.generateKey(e);if(t.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const a=await s.PgpKey.create(r,i,t);return(0,n.fmtRes)({key:await s.PgpKey.details(await s.PgpKey.read(a.private))})};composeEmail=async e=>{const r=d.ValidateInput.composeEmail(e),s={to:r.to,from:r.from,subject:r.subject,cc:r.cc,bcc:r.bcc};if(r.replyToMsgId&&(s["in-reply-to"]=r.replyToMsgId,s.references=[r.inReplyTo,r.replyToMsgId].filter(e=>!!e).join(" ")),"plain"===r.format){const e=(r.atts||[]).map(({name:e,type:t,base64:r})=>new o.Att({name:e,type:t,data:c.Buf.fromBase64Str(r)})),t={"text/plain":r.text};return r.html&&(t["text/html"]=r.html),(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode(t,s,e)))}if("encryptInline"===r.format){const e=[];for(const t of r.atts||[])if("application/pgp-keys"===t.type)e.push(new o.Att({name:t.name,type:t.type,data:c.Buf.fromBase64Str(t.base64)}));else{const n=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.fromBase64Str(t.base64),filename:t.name,armor:!1});e.push(new o.Att({name:`${t.name}.pgp`,type:"application/pgp-encrypted",data:n}))}const l=await(0,t.G)(r),u=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,signingPrv:l,data:c.Buf.fromUtfStr(r.text),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode({"text/plain":u},s,e)))}throw new Error(`Unknown format: ${r.format}`)};encryptMsg=async(e,t)=>{const r=d.ValidateInput.encryptMsg(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,pwd:r.msgPwd,data:c.Buf.concat(t),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(s))};encryptFile=async(e,t)=>{const r=d.ValidateInput.encryptFile(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.concat(t),filename:r.name,armor:!1});return(0,n.fmtRes)({},s)};sanitizeHtml=async e=>{const{html:t}=d.ValidateInput.sanitizeHtml(e),r=p.Xss.htmlSanitizeKeepBasicTags(t);return(0,n.fmtRes)({sanitizedHtml:r})};parseDecryptMsg=async(e,t)=>{const{keys:r,msgPwd:o,isMime:u,verificationPubkeys:h}=d.ValidateInput.parseDecryptMsg(e),A=[];let g,y;if(u){const{blocks:e,rawSignedContent:r,headers:n}=await a.Mime.process(c.Buf.concat(t));y=String(n.subject),g=r,A.push(...e)}else{const{blocks:e}=l.MsgBlockParser.detectBlocks(c.Buf.concat(t).toString());A.push(...e)}const m=[];for(const e of A)if("signedMsg"!==e.type&&"signedHtml"!==e.type||!e.signature)if("encryptedMsg"===e.type||"signedMsg"===e.type){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.content),verificationPubkeys:h});if(t.success)if(t.isEncrypted){const e=await l.MsgBlockParser.fmtDecryptedAsSanitizedHtmlBlocks(t.content,t.signature);m.push(...e.blocks),y=e.subject||y}else m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(t.content.toUtfStr()),complete:!0,verifyRes:t.signature});else delete t.message,m.push({type:"decryptErr",content:t.error.type===i.DecryptErrTypes.noMdc?t.content?.toUtfStr()??"":e.content.toString(),decryptErr:t,complete:!0})}else if("encryptedAtt"===e.type&&e.attMeta&&/^(0x)?[A-Fa-f0-9]{16,40}\.asc\.pgp$/.test(e.attMeta.name||"")){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.attMeta.data||""),verificationPubkeys:h});t.content?m.push({type:"publicKey",content:t.content.toString(),complete:!0}):m.push(e)}else m.push(e);else{const t=await i.PgpMsg.verifyDetached({sigText:c.Buf.fromUtfStr(e.signature),plaintext:c.Buf.with(g||e.content),verificationPubkeys:h});"signedHtml"===e.type?m.push({type:"verifiedMsg",content:p.Xss.htmlSanitizeKeepBasicTags(e.content.toString()),verifyRes:t,complete:!0}):m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(e.content.toString()),verifyRes:t,complete:!0})}const w=[],b=[];let v="plain";for(const e of m)if(e.content instanceof c.Buf?e.content=(0,n.isContentBlock)(e.type)?e.content.toUtfStr():e.content.toRawBytesStr():e.attMeta&&e.attMeta.data instanceof Uint8Array&&(e.attMeta.data=c.Buf.fromUint8(e.attMeta.data).toBase64Str()),e.decryptErr?.content instanceof c.Buf&&(e.decryptErr.content=e.decryptErr.content.toUtfStr()),"decryptedHtml"!==e.type&&"decryptedText"!==e.type&&"decryptedAtt"!==e.type||(v="encrypted"),"publicKey"===e.type)if(e.keyDetails)b.push(e);else{const{keys:t}=await s.PgpKey.normalize(e.content);if(t.length)for(const e of t)b.push({type:"publicKey",content:e.armor(),complete:!0,keyDetails:await s.PgpKey.details(e)});else b.push({type:"decryptErr",content:e.content,complete:!0,decryptErr:{success:!1,error:{type:i.DecryptErrTypes.format,message:"Badly formatted public key"},longids:{message:[],matching:[],chosen:[],needPassphrase:[]}}})}else(0,n.isContentBlock)(e.type)||a.Mime.isPlainImgAtt(e)?w.push(e):b.push(e);const{contentBlock:E,text:k}=(0,n.fmtContentBlock)(w);b.unshift(E);const I=c.Buf.fromUtfStr(b.map(e=>JSON.stringify(e,(e,t)=>"content"===e&&t.length>1e5?"":t)).join("\n")),B={text:k,replyType:v};return y&&Object.assign(B,{subject:y}),(0,n.fmtRes)(B,I)};parseAttachmentType=async e=>{const{atts:t}=d.ValidateInput.parseAttachmentType(e),r=t.map(e=>{const t=new o.Att(e);return{id:t.id,treatAs:t.treatAs([t])}});return(0,n.fmtRes)({atts:r})};decryptFile=async(e,t,r)=>{const{keys:s,msgPwd:a}=d.ValidateInput.decryptFile(e),o=await i.PgpMsg.decrypt({kisWithPp:s,encryptedData:c.Buf.concat(t),msgPwd:a,verificationPubkeys:r});return o.success?(0,n.fmtRes)({decryptSuccess:{name:o.filename||""}},o.content):(delete o.message,delete o.content,(0,n.fmtRes)({decryptErr:o}))};zxcvbnStrengthBar=async e=>{const t=d.ValidateInput.zxcvbnStrengthBar(e);if("passphrase"===t.purpose){if("number"==typeof t.guesses)return(0,n.fmtRes)(u.PgpPwd.estimateStrength(t.guesses));if("string"==typeof t.value){if("function"!=typeof window.zxcvbn)throw new Error("window.zxcvbn missing in js");const e=window.zxcvbn(t.value,u.PgpPwd.weakWords()).guesses;return(0,n.fmtRes)(u.PgpPwd.estimateStrength(e))}throw new Error("Unexpected format: guesses is not a number, value is not a string")}throw new Error(`Unknown purpose: ${t.purpose}`)};parseKeys=async(e,t)=>{const r=[],a=c.Buf.concat(t),o=await i.PgpMsg.type({data:a});if(!o)return(0,n.fmtRes)({format:"unknown",keyDetails:r});if(o.armored){const{blocks:e}=l.MsgBlockParser.detectBlocks(a.toString());for(const t of e){const{keys:e}=await s.PgpKey.parse(t.content.toString());r.push(...e)}for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"armored",keyDetails:r})}const u=await(0,g.readKeys)({binaryKeys:a});for(const e of u)r.push(await s.PgpKey.details(e));for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"binary",keyDetails:r})};isEmailValid=async e=>{const{email:t}=d.ValidateInput.isEmailValid(e);return(0,n.fmtRes)({valid:f.Str.isEmailValid(t)})};decryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrases:r}=d.ValidateInput.decryptKey(e);if(1!==r.length)throw new Error(`decryptKey: Can only accept exactly 1 pass phrase for decrypt, received: ${r.length}`);const i=await(0,d.readArmoredKeyOrThrow)(t);return await s.PgpKey.decrypt(i,r[0])?(0,n.fmtRes)({decryptedKey:i.armor()}):(0,n.fmtRes)({decryptedKey:void 0})};encryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrase:r}=d.ValidateInput.encryptKey(e),i=await(0,d.readArmoredKeyOrThrow)(t);if(!r||r.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const s=await(0,g.encryptKey)({privateKey:i,passphrase:r});return(0,n.fmtRes)({encryptedKey:s.armor()})};verifyKey=async e=>{const{armored:t}=d.ValidateInput.verifyKey(e),r=await(0,g.readKey)({armoredKey:t});return await r.verifyPrimaryKey(),(0,n.fmtRes)({})};keyCacheWipe=async()=>(h.Store.keyCacheWipe(),(0,n.fmtRes)({}))},t.G=async e=>{if(!e.signingPrv)return;const t=await(0,d.readArmoredKeyOrThrow)(e.signingPrv.private);if(await s.PgpKey.decrypt(t,e.signingPrv.passphrase||""))return t;throw new Error("Fail to decrypt signing key")}},1592(e,t,r){"use strict";t.removeUndefinedValues=t.fmtErr=t.fmtRes=t.fmtContentBlock=t.l=t.isContentBlock=void 0;const n=r(2633),i=r(4010),s=r(6471),a=r(6622);t.isContentBlock=e=>"plainText"===e||"decryptedText"===e||"plainHtml"===e||"decryptedHtml"===e||"signedMsg"===e||"verifiedMsg"===e;const o=(e,t)=>{let r;return r="green"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #31A217;border-right: none;' +\n 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAh1BMVEXw8PD////w8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD7MuHIAAAALXRSTlMAAAECBAcICw4QEhUZIyYqMTtGTV5kdn2Ii5mfoKOqrbG0uL6/xcnM0NTX2t1l7cN4AAAB0UlEQVR4Ae3Y3Y4SQRCG4bdHweFHRBTBH1FRFLXv//qsA8kmvbMdXhh2Q0KfknpSCQc130c67s22+e9+v/+d84fxkSPH0m/+5P9vN7vRV0vPfx7or1NB23e99KAHuoXOOc6moQsBwNN1Q9g4Wdh1uq3MA7Qn0+2ylAt7WbWpyT+Wo8roKH6v2QhZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2gjZ2AUNOLmwgQdogEJ2dnF3UJdU3WjqO/u96aYtVd/7jqvIyu76G5se6GaY7tNNcy5d7se7eWVnDz87fMkuVuS8epF6f9NPObPY5re9y4N1/vya9Gr3se2bfvl9M0mkyZdv077p+a/3z4Meby5Br4NWiV51BaiUqfLro9I3WiR61RVcffwfXI7u5zZ20EOA82Uu8x3SlrSwXQuBSvSqK0AletUVoBK96gpIwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWckIletUVIJJxITN6wtZd2EI+0NquyIJOnUpFVvRpcwmV6FVXgEr0qitAJXrVFaASveoKUIledQWoRK+6AlSiV13BP+/VVbky7Xq1AAAAAElFTkSuQmCC);":"red"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #d14836;border-right: none;":"plain"===t?"border: none;":"border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;",`
${a.Xss.htmlSanitizeKeepBasicTags(e)}
\x3c!-- next MsgBlock --\x3e\n`};t.l=e=>(e=(e=(e=e.replace(/<\/?html[^>]*>/g,"")).replace(/]*>.*<\/head>/g,"")).replace(/<\/?body[^>]*>/g,"")).trim();const c=(e,t)=>e.replace(/src="cid:([^"]+)"/g,(e,r)=>{const n=t[r];if(n){const e=`src="data:${n.attMeta?.type};base64,${n.attMeta?.data}"`;return delete t[r],e}return e});t.fmtContentBlock=e=>{const r=[],l=[],u=e.filter(e=>!i.Mime.isPlainImgAtt(e)),h=[],f={};for(const t of e.filter(e=>i.Mime.isPlainImgAtt(e)))t.attMeta?.cid?f[t.attMeta.cid.replace(/>$/,"").replace(/^0&&p!==u.length&&(A.partial=!0));for(const e of h.concat(Object.values(f))){const t=`${e.attMeta?.name||"(unnamed image)"} - ${e.attMeta?.length??0}kb`,n=`${a.Xss.escape(t)} `;r.push(o(n,"plain")),l.push(`[image: ${t}]\n`)}const g=n.MsgBlock.fromContent("plainHtml",`\n \n \n \n \n \n ${r.join("")}\n `);return g.verifyRes=A,{contentBlock:g,text:l.join("").trim()}},t.fmtRes=(e,t)=>({json:e,data:t||new Uint8Array(0)}),t.fmtErr=e=>(0,t.fmtRes)({error:{message:String(e),stack:e&&"object"==typeof e&&e.stack||""}}),t.removeUndefinedValues=e=>{for(const t in e)void 0===e[t]&&delete e[t]}},6364(e,t,r){"use strict";t.readArmoredKeyOrThrow=t.ValidateInput=void 0;const n=r(6382);t.ValidateInput=class{static setClientConfiguration=e=>{if(i(e)&&s(e,"shouldHideArmorMeta","boolean?"))return e;throw new Error("Wrong request structure for NodeRequest.setClientConfiguration")};static generateKey=e=>{if(i(e)&&s(e,"userIds","Userid[]")&&e.userIds.length&&s(e,"passphrase","string")&&["rsa2048","rsa4096","curve25519"].includes(e.variant))return e;throw new Error("Wrong request structure for NodeRequest.generateKey")};static encryptMsg=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.encryptMsg")};static composeEmail=e=>{if(!(i(e)&&s(e,"text","string")&&s(e,"html","string?")&&s(e,"from","string")&&s(e,"subject","string")&&s(e,"to","string[]")&&s(e,"cc","string[]")&&s(e,"bcc","string[]")))throw new Error("Wrong request structure for NodeRequest.composeEmail, need: text,from,subject,to,cc,bcc,atts (can use empty arr for cc/bcc, and can skip atts)");if(!s(e,"atts","ComposeAttachment[]?"))throw new Error("Wrong atts structure for NodeRequest.composeEmail, need: {name, type, base64}");if(s(e,"pubKeys","string[]")&&s(e,"signingPrv","PrvKeyInfo?")&&e.pubKeys.length&&("encryptInline"===e.format||"encryptPgpmime"===e.format))return e;if(!e.pubKeys&&"plain"===e.format)return e;throw new Error("Wrong choice of pubKeys and format. Either pubKeys:[..]+format:encryptInline OR format:plain allowed")};static parseDecryptMsg=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?")&&s(e,"isMime","boolean?")&&s(e,"verificationPubkeys","string[]?"))return e;throw new Error("Wrong request structure for NodeRequest.parseDecryptMsg")};static sanitizeHtml=e=>{if(i(e)&&s(e,"html","string"))return e;throw new Error("Wrong request structure for NodeRequest.sanitizeHtml")};static encryptFile=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"name","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptFile")};static parseAttachmentType=e=>{if(i(e)&&s(e,"atts","Attachment[]"))return e;throw new Error("Wrong request structure for NodeRequest.parseAttachmentType")};static decryptFile=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.decryptFile")};static zxcvbnStrengthBar=e=>{if(i(e)&&s(e,"guesses","number")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;if(i(e)&&s(e,"value","string")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;throw new Error("Wrong request structure for NodeRequest.zxcvbnStrengthBar")};static isEmailValid=e=>{if(i(e)&&s(e,"email","string"))return e;throw new Error("Wrong request structure for NodeRequest.isEmailValid")};static decryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrases","string[]"))return e;throw new Error("Wrong request structure for NodeRequest.decryptKey")};static encryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrase","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptKey")};static verifyKey=e=>{if(i(e)&&s(e,"armored","string"))return e;throw new Error("Wrong request structure for NodeRequest.verifyKey")}};const i=e=>!!e&&"object"==typeof e,s=(e,t,r)=>{if(!i(e))return!1;const n=e[t];return"number"===r||"string"===r?typeof n===r:"boolean?"===r?"boolean"==typeof n||void 0===n:"string?"===r?null===n?(e[t]=void 0,!0):"string"==typeof n||void 0===n:"ComposeAttachment[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"type","string")&&s(e,"base64","string")).length===n.length:"Attachment[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"id","string")&&s(e,"msgId","string")&&s(e,"name","string")&&s(e,"type","string?")).length===n.length:"string[]"===r?Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"string[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"PrvKeyInfo?"===r?null===n?(e[t]=void 0,!0):void 0===n||s(n,"private","string")&&s(n,"longid","string")&&s(n,"passphrase","string?"):"PrvKeyInfo[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"private","string")&&s(e,"longid","string")&&s(e,"passphrase","string?")).length===n.length:"Userid[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"email","string")).length===n.length:"object"===r&&i(n)};t.readArmoredKeyOrThrow=async e=>{const t=await(0,n.readKey)({armoredKey:e});if(!t)throw new Error("No key found");return t}},7659(e,t){"use strict";t.Catch=void 0,t.Catch=class{static reportErr=e=>{console.error(e)};static report=(e,t)=>{console.error(e,t)};static undefinedOnException=async e=>{try{return await e}catch(e){return}}}},3955(e,t,r){"use strict";t.requireIso88592=t.requireMimeBuilder=t.requireMimeParser=t.requireStreamReadToEnd=void 0,t.requireStreamReadToEnd=async()=>"not node"===(globalThis.process?.release?.name||"not node")?(await Promise.resolve().then(()=>r(9275))).readToEnd:r(1558).readToEnd,t.requireMimeParser=()=>r.g["emailjs-mime-parser"],t.requireMimeBuilder=()=>r.g["emailjs-mime-builder"],t.requireIso88592=()=>r.g.iso88592},3313(e,t,r){"use strict";t.Store=void 0;const n=r(178);let i,s={};class a{static decryptedKeyCacheSet=e=>{a.keyCacheRenewExpiry(),s[(e=>(0,n.strToHex)(e.getKeyID().bytes).toUpperCase())(e)]=e};static decryptedKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static armoredKeyCacheSet=(e,t)=>{a.keyCacheRenewExpiry(),s[e]=t};static armoredKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static keyCacheWipe=()=>{s={}};static keyCacheRenewExpiry=()=>{i&&clearTimeout(i),i=setTimeout(a.keyCacheWipe,12e4)}}t.Store=a},178(e,t,r){"use strict";var n=r(8969);t.getKeyExpirationTimeForCapabilities=t.strToHex=t.iso2022jpToUtf=t.base64decode=t.base64encode=void 0;const i=r(8287);t.base64encode=e=>i.Buffer.from(e,"binary").toString("base64"),t.base64decode=e=>i.Buffer.from(e,"base64").toString("binary"),t.iso2022jpToUtf=e=>n.convert(e,{to:"UTF8",from:"JIS",type:"string"}),t.strToHex=e=>{if(null===e)return"";const t=[],r=e.length;let n,i=0;for(;i{let t=null;for(const r of e)(null===t||null!==r&&r>t)&&(t=r);return t},a=e=>{const t=s(e.bindingSignatures.map(e=>e.created));return e.bindingSignatures.filter(e=>e.created===t)[0].getExpirationTime()};t.getKeyExpirationTimeForCapabilities=async(e,t,r,n)=>{const i=await e.getPrimaryUser(void 0,n,void 0);if(!i)throw new Error("Could not find primary user");const o=await e.getExpirationTime(n);if(!o)return null;const c=s(i.user.selfCertifications.map(e=>e.created)),l=i.user.selfCertifications.filter(e=>e.created===c)[0].getExpirationTime();let u=o{})||await e.getEncryptionKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{})||await e.getSigningKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{const t=`IMG_ICON_${i.Str.sloppyRandom()}`;let r=!1,a=n(e,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,n)=>{const i=(n.src||"").substring(0,10);return i.startsWith("data:")?{tagName:"img",attribs:{src:n.src,alt:n.alt||""}}:i.startsWith("http://")||i.startsWith("https://")?(r=!0,{tagName:"a",attribs:{href:String(n.src),target:"_blank"},text:t}):{tagName:"img",attribs:{alt:n.alt,title:n.title},text:"[img]"}},"*":(e,t)=>(t.width&&"1"!==t.width&&"img"!==e&&delete t.width,t.height&&"1"!==t.height&&"img"!==e&&delete t.width,{tagName:e,attribs:t})},exclusiveFilter:({tag:e,attribs:t})=>"1"===t.width||"1"===t.height&&"hr"!==e});return r&&(a=`[remote content blocked for your privacy]

${a}`,a=n(a,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,allowedStyles:s.ALLOWED_STYLES})),a=a.replace(new RegExp(t,"g"),'[img]'),a};static htmlSanitizeAndStripAllTags=(e,t)=>{let r=s.htmlSanitizeKeepBasicTags(e);const a=i.Str.sloppyRandom(5),o=`CU_BR_${a}`,c=`CU_BS_${a}`,l=`CU_BE_${a}`;r=r.replace(/]*>/gi,o),r=r.replace(/\n/g,""),r=r.replace(/<\/(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,l),r=r.replace(/<(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,c),r=r.replace(RegExp(`(${c})+`,"g"),c).replace(RegExp(`(${l})+`,"g"),l),r=r.split(o+l+c).join(o).split(l+c).join(o).split(o+l).join(o);let u=r.split(o).join("\n").split(c).filter(e=>!!e).join("\n").split(l).filter(e=>!!e).join("\n");return u=u.replace(/\n{2,}/g,"\n\n"),u=n(u,{allowedTags:["img","span"],allowedAttributes:{img:["src"]},allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,t)=>({tagName:"span",attribs:{},text:`[image: ${t.alt||t.title||"no name"}]`})}}),u=n(u,{allowedTags:[]}),u=u.trim(),"\n"!==t&&(u=u.replace(/\n/g,t)),u};static escape=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/");static escapeTextAsRenderableHtml=e=>s.escape(e).replace(/\n/g,"
\n").replace(/^ +/gm,e=>e.replace(/ /g," ")).replace(/^\t+/gm,e=>e.replace(/\t/g," ")).replace(/\n/g,"");static htmlUnescape=e=>e.replace(///g,"/").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ").replace(/&/g,"&")}t.Xss=s},7526(e,t){"use strict";t.toByteArray=function(e){var t,r,s=function(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}(e),a=s[0],o=s[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),l=0,u=o>0?a-4:a;for(r=0;r>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===o&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===o&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],a=16383,o=0,l=n-i;ol?l:o+a));return 1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),s.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=s[a],n[s.charCodeAt(a)]=a;function o(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function c(e,t,r){for(var n,i=[],s=t;sa)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|p(e,t);let n=o(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(_(e,Uint8Array)){const t=new Uint8Array(e);return A(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(_(e,ArrayBuffer)||e&&_(e.buffer,ArrayBuffer))return A(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(_(e,SharedArrayBuffer)||e&&_(e.buffer,SharedArrayBuffer)))return A(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|d(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||V(e.length)?o(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),o(e<0?0:0|d(e))}function f(e){const t=e.length<0?0:0|d(e.length),r=o(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||_(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Z(e).length;default:if(i)return n?-1:J(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return K(this,t,r);case"utf8":case"utf-8":return C(this,t,r);case"ascii":return D(this,t,r);case"latin1":case"binary":return x(this,t,r);case"base64":return B(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:w(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):w(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function w(e,t,r,n,i){let s,a=1,o=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,c/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(s=r;so&&(r=o-c),s=r;s>=0;s--){let r=!0;for(let n=0;ni&&(n=i):n=i;const s=t.length;let a;for(n>s/2&&(n=s/2),a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function B(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function C(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,o,c;switch(a){case 1:t<128&&(s=t);break;case 2:r=e[i+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(s=c));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(s=c));break;case 4:r=e[i+1],n=e[i+2],o=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&o)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&o,c>65535&&c<1114112&&(s=c))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return function(e){const t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(_(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let s=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const o=Math.min(s,a),l=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":case"latin1":case"binary":return E(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function D(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,r,n,i,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function F(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function M(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r+7]=s,s>>=8,e[r+6]=s,s>>=8,e[r+5]=s,s>>=8,e[r+4]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function R(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Q(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function N(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e],i=1,s=0;for(;++s>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=X(function(e){W(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e],i=1,s=0;for(;++s=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);let n=t,i=1,s=this[e+--n];for(;n>0&&(i*=256);)s+=this[e+--n]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=X(function(e){W(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||Y(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=X(function(e,t=0){return F(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=X(function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=0,s=1,a=0;for(this[t]=255&e;++i>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=r-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s|0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=X(function(e,t=0){return F(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=X(function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeFloatLE=function(e,t,r){return Q(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return Q(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return N(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return N(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function H(e,t,r,n,i,s){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(s+1)}${n}`:`>= -(2${n} ** ${8*(s+1)-1}${n}) and < 2 ** ${8*(s+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new O.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){W(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||Y(t,e.length-(r+1))}(n,i,s)}function W(e,t){if("number"!=typeof e)throw new O.ERR_INVALID_ARG_TYPE(t,"number",e)}function Y(e,t,r){if(Math.floor(e)!==e)throw W(e,r),new O.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new O.ERR_BUFFER_OUT_OF_BOUNDS;throw new O.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}L("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),L("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),L("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=G(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=G(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);const j=/[^+/0-9A-Za-z-_]/g;function J(e,t){let r;t=t||1/0;const n=e.length;let i=null;const s=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function Z(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function _(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}const z=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function X(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},4353(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",i="minute",s="hour",a="day",o="week",c="month",l="quarter",u="year",h="date",f="Invalid Date",A=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},y={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),i=r%60;return(t<=0?"+":"-")+g(n,2,"0")+":"+g(i,2,"0")},m:function e(t,r){if(t.date()1)return e(a[0])}else{var o=t.name;w[o]=t,i=o}return!n&&i&&(m=i),i||!n&&m},k=function(e,t){if(v(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new B(r)},I=y;I.l=E,I.i=v,I.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var B=function(){function p(e){this.$L=E(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[b]=!0}var g=p.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(I.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(A);if(n){var i=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return I},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(e,t){var r=k(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return k(e)");case o.Comment:return"\x3c!--".concat(e.data,"--\x3e");case o.CDATA:return function(e){return"")}(e);case o.Script:case o.Style:case o.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=l.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&p.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<".concat(e.name),s=function(e,t){var r;if(e){var n=!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)?h:t.xmlMode||"utf8"!==t.encodeEntities?c.encodeXML:c.escapeAttribute;return Object.keys(e).map(function(r){var i,s,a=null!==(i=e[r])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(r=null!==(s=l.attributeNames.get(r))&&void 0!==s?s:r),t.emptyAttrs||t.xmlMode||""!==a?"".concat(r,'="').concat(n(a),'"'):r}).join(" ")}}(e.attribs,t);return s&&(i+=" ".concat(s)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&f.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=A(e.children,t)),!t.xmlMode&&f.has(e.name)||(i+=""))),i}(e,t);case o.Text:return function(e,t){var r,n=e.data||"";return!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)||!t.xmlMode&&e.parent&&u.has(e.parent.name)||(n=t.xmlMode||"utf8"!==t.encodeEntities?(0,c.encodeXML)(n):(0,c.escapeText)(n)),n}(e,t)}}t.render=A,t.default=A;var p=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},6243(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTMLAttribute=t.decodeHTML=t.determineBranch=t.EntityDecoder=t.DecodingMode=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var o=a(r(2834));t.htmlDecodeTree=o.default;var c=a(r(1518));t.xmlDecodeTree=c.default;var l=s(r(8873));t.decodeCodePoint=l.default;var u,h,f,A,d=r(8873);function p(e){return e>=u.ZERO&&e<=u.NINE}function g(e){return e>=u.UPPER_A&&e<=u.UPPER_F||e>=u.LOWER_A&&e<=u.LOWER_F}function y(e){return e===u.EQUALS||function(e){return e>=u.UPPER_A&&e<=u.UPPER_Z||e>=u.LOWER_A&&e<=u.LOWER_Z||p(e)}(e)}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return d.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return d.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(u||(u={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(h=t.BinTrieFlags||(t.BinTrieFlags={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(f||(f={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(A=t.DecodingMode||(t.DecodingMode={}));var m=function(){function e(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=f.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=A.Strict}return e.prototype.startEntity=function(e){this.decodeMode=e,this.state=f.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},e.prototype.write=function(e,t){switch(this.state){case f.EntityStart:return e.charCodeAt(t)===u.NUM?(this.state=f.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=f.NamedEntity,this.stateNamedEntity(e,t));case f.NumericStart:return this.stateNumericStart(e,t);case f.NumericDecimal:return this.stateNumericDecimal(e,t);case f.NumericHex:return this.stateNumericHex(e,t);case f.NamedEntity:return this.stateNamedEntity(e,t)}},e.prototype.stateNumericStart=function(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===u.LOWER_X?(this.state=f.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=f.NumericDecimal,this.stateNumericDecimal(e,t))},e.prototype.addToNumericResult=function(e,t,r,n){if(t!==r){var i=r-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}},e.prototype.stateNumericHex=function(e,t){for(var r=t;t>14;t>14)){if(s===u.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==A.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},e.prototype.emitNotTerminatedNamedEntity=function(){var e,t=this.result,r=(this.decodeTree[t]&h.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed},e.prototype.emitNamedEntityData=function(e,t,r){var n=this.decodeTree;return this.emitCodePoint(1===t?n[e]&~h.VALUE_LENGTH:n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r},e.prototype.end=function(){var e;switch(this.state){case f.NamedEntity:return 0===this.result||this.decodeMode===A.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case f.NumericDecimal:return this.emitNumericEntity(0,2);case f.NumericHex:return this.emitNumericEntity(0,3);case f.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case f.EntityStart:return 0}},e}();function w(e){var t="",r=new m(e,function(e){return t+=(0,l.fromCodePoint)(e)});return function(e,n){for(var i=0,s=0;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);var a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}var o=t+e.slice(i);return t="",o}}function b(e,t,r,n){var i=(t&h.BRANCH_LENGTH)>>7,s=t&h.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){var a=n-s;return a<0||a>=i?-1:e[r+a]-1}for(var o=r,c=o+i-1;o<=c;){var l=o+c>>>1,u=e[l];if(un))return e[l+i];c=l-1}}return-1}t.EntityDecoder=m,t.determineBranch=b;var v=w(o.default),E=w(c.default);t.decodeHTML=function(e,t){return void 0===t&&(t=A.Legacy),v(e,t)},t.decodeHTMLAttribute=function(e){return v(e,A.Attribute)},t.decodeHTMLStrict=function(e){return v(e,A.Strict)},t.decodeXML=function(e){return E(e,A.Strict)}},8873(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}},6095(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var i=n(r(7195)),s=r(3590),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function o(e,t){for(var r,n="",a=0;null!==(r=e.exec(t));){var o=r.index;n+=t.substring(a,o);var c=t.charCodeAt(o),l=i.default.get(c);if("object"==typeof l){if(o+1$\x80-\uFFFF]/g;var r=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function n(e){for(var n,i="",s=0;null!==(n=t.xmlReplacer.exec(e));){var a=n.index,o=e.charCodeAt(a),c=r.get(o);void 0!==c?(i+=e.substring(s,a)+c,s=a+1):(i+="".concat(e.substring(s,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),s=t.xmlReplacer.lastIndex+=Number(55296==(64512&o)))}return i+e.substr(s)}function i(e,t){return function(r){for(var n,i=0,s="";n=e.exec(r);)i!==n.index&&(s+=r.substring(i,n.index)),s+=t.get(n[0].charCodeAt(0)),i=n.index+1;return s+r.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=n,t.escape=n,t.escapeUTF8=i(/[&<>'"]/g,r),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},2834(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(function(e){return e.charCodeAt(0)}))},1518(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function(e){return e.charCodeAt(0)}))},7195(e,t){"use strict";function r(e){for(var t=1;t0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(o);t.NodeWithChildren=f;var A=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(f);t.CDATA=A;var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(f);t.Document=d;var p=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var s=e.call(this,n)||this;return s.name=t,s.attribs=r,s.type=i,s}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map(function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}})},enumerable:!1,configurable:!0}),t}(f);function g(e){return(0,a.isTag)(e)}function y(e){return e.type===a.ElementType.CDATA}function m(e){return e.type===a.ElementType.Text}function w(e){return e.type===a.ElementType.Comment}function b(e){return e.type===a.ElementType.Directive}function v(e){return e.type===a.ElementType.Root}function E(e,t){var r;if(void 0===t&&(t=!1),m(e))r=new l(e.data);else if(w(e))r=new u(e.data);else if(g(e)){var n=t?k(e.children):[],i=new p(e.name,s({},e.attribs),n);n.forEach(function(e){return e.parent=i}),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=s({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=s({},e["x-attribsPrefix"])),r=i}else if(y(e)){n=t?k(e.children):[];var a=new A(n);n.forEach(function(e){return e.parent=a}),r=a}else if(v(e)){n=t?k(e.children):[];var o=new d(n);n.forEach(function(e){return e.parent=o}),e["x-mode"]&&(o["x-mode"]=e["x-mode"]),r=o}else{if(!b(e))throw new Error("Not implemented yet: ".concat(e.type));var c=new h(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function k(e){for(var t=e.map(function(e){return E(e,!0)}),r=1;r=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=s,t.uniqueSort=function(e){return(e=e.filter(function(e,t,r){return!r.includes(e,t+1)})).sort(function(e,t){var r=s(e,t);return r&n.PRECEDING?-1:r&n.FOLLOWING?1:0}),e};var n,i=r(1141);function s(e,t){var r=[],s=[];if(e===t)return 0;for(var a=(0,i.hasChildren)(e)?e:e.parent;a;)r.unshift(a),a=a.parent;for(a=(0,i.hasChildren)(t)?t:t.parent;a;)s.unshift(a),a=a.parent;for(var o=Math.min(r.length,s.length),c=0;cu.indexOf(f)?l===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:l===e?n.PRECEDING|n.CONTAINS:n.PRECEDING}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(n||(t.DocumentPosition=n={}))},8888(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(6037),t),i(r(8938),t),i(r(3403),t),i(r(718),t),i(r(3209),t),i(r(5397),t),i(r(4437),t);var s=r(1141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return s.hasChildren}})},3209(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var s=c(e);return s?(0,i.filter)(s,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_name(e),t,r,n)},t.getElementsByClassName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(a("class",e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_type(e),t,r,n)};var n=r(1141),i=r(718),s={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map(function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(s,t)?s[t](r):a(t,r)});return 0===t.length?null:t.reduce(o)}},3403(e,t){"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}Object.defineProperty(t,"__esModule",{value:!0}),t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var s=i.children;s[s.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var s=n.children;s.splice(s.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},718(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),i(e,Array.isArray(t)?t:[t],r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var s=Array.isArray(r)?r:[r],a=0;a0){var c=e(t,o.children,!0);if(c)return c}}return null},t.existsOne=function e(t,r){return(Array.isArray(r)?r:[r]).some(function(r){return(0,n.isTag)(r)&&t(r)||(0,n.hasChildren)(r)&&e(t,r.children)})},t.findAll=function(e,t){for(var r=[],i=[Array.isArray(t)?t:[t]],s=[0];;)if(s[0]>=i[0].length){if(1===i.length)return r;i.shift(),s.shift()}else{var a=i[0][s[0]++];(0,n.isTag)(a)&&e(a)&&r.push(a),(0,n.hasChildren)(a)&&a.children.length>0&&(s.unshift(0),i.unshift(a.children))}};var n=r(1141);function i(e,t,r,i){for(var s=[],a=[Array.isArray(t)?t:[t]],o=[0];;)if(o[0]>=a[0].length){if(1===o.length)return s;a.shift(),o.shift()}else{var c=a[0][o[0]++];if(e(c)&&(s.push(c),--i<=0))return s;r&&(0,n.hasChildren)(c)&&c.children.length>0&&(o.unshift(0),a.unshift(c.children))}}},6037(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getOuterHTML=o,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map(function(e){return o(e,t)}).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""};var i=r(1141),s=n(r(3806)),a=r(5413);function o(e,t){return(0,s.default)(e,t)}},8938(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getChildren=i,t.getParent=s,t.getSiblings=function(e){var t=s(e);if(null!=t)return i(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t};var n=r(1141);function i(e){return(0,n.hasChildren)(e)?e.children:[]}function s(e){return e.parent||null}},1371(e,t,r){var n=r(321),i=r(2801);t.FALLBACK_CHARACTER=63;var s=t.HAS_TYPED="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array,a=!1,o=!1;try{"a"===String.fromCharCode.apply(null,[97])&&(a=!0)}catch(e){}if(s)try{"a"===String.fromCharCode.apply(null,new Uint8Array([97]))&&(o=!0)}catch(e){}t.CAN_CHARCODE_APPLY=a,t.CAN_CHARCODE_APPLY_TYPED=o,t.APPLY_BUFFER_SIZE=65533,t.APPLY_BUFFER_SIZE_OK=null;var c=t.EncodingNames={UTF32:{order:0},UTF32BE:{alias:["UCS4"]},UTF32LE:null,UTF16:{order:1},UTF16BE:{alias:["UCS2"]},UTF16LE:null,BINARY:{order:2},ASCII:{order:3,alias:["ISO646","CP367"]},JIS:{order:4,alias:["ISO2022JP"]},UTF8:{order:5},EUCJP:{order:6},SJIS:{order:7,alias:["CP932","MSKANJI","WINDOWS31J"]},UNICODE:{order:8}},l={};t.EncodingAliases=l,t.EncodingOrders=function(){for(var e,t,r,i,s=l,a=n.objectKeys(c),o=[],u=0,h=a.length;u95&&(i.JIS_TO_UTF8_TABLE[t]=0|e);for(i.JISX0212_TO_UTF8_TABLE={},a=(r=n.objectKeys(i.UTF8_TO_JISX0212_TABLE)).length,s=0;s=161&&t<=223?(s=188|(i=t-64)>>6&3,o=128|63&i,u[u.length]=239,u[u.length]=255&s,u[u.length]=255&o):t>=128?(r=t<<1,(i=e[++h])<159?(r-=r<319?225:97,i-=i>126?32:31):(r-=r<319?224:96,i-=126),c=((r&=255)<<8)+i,void 0===(l=a.JIS_TO_UTF8_TABLE[c])?u[u.length]=n.FALLBACK_CHARACTER:l<65535?(u[u.length]=l>>8&255,u[u.length]=255&l):(u[u.length]=l>>16&255,u[u.length]=l>>8&255,u[u.length]=255&l)):u[u.length]=255&e[h];return u}function c(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c,l=[],u=0,h=e&&e.length;u>6&3,s=128|63&r,l[l.length]=239,l[l.length]=255&i,l[l.length]=255&s):143===t?(o=(e[++u]-128<<8)+(e[++u]-128),void 0===(c=a.JISX0212_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):t>=128?(o=(t-128<<8)+(e[++u]-128),void 0===(c=a.JIS_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):l[l.length]=255&e[u];return l}function l(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c=[],l=0,u=0,h=e&&e.length;u>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):2===l?(r=188|(t=e[u]+64)>>6&3,i=128|63&t,c[c.length]=239,c[c.length]=255&r,c[c.length]=255&i):3===l?(s=(e[u]<<8)+e[++u],void 0===(o=a.JISX0212_TO_UTF8_TABLE[s])?c[c.length]=n.FALLBACK_CHARACTER:o<65535?(c[c.length]=o>>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):c[c.length]=255&e[u]}return c}function u(e,t){for(var r,i,s,o,c,l,u=[],h=0,f=e&&e.length,A=t&&t.fallback;h=128?(r<=223?(o=[r,e[h+1]],c=(r<<8)+e[++h]):r<=239?(o=[r,e[h+1],e[h+2]],c=(r<<16)+(e[++h]<<8)+(255&e[++h])):(o=[r,e[h+1],e[h+2],e[h+3]],c=(r<<24)+(e[++h]<<16)+(e[++h]<<8)+(255&e[++h])),null==(l=a.UTF8_TO_JIS_TABLE[c])?A?D(u,o,A):u[u.length]=n.FALLBACK_CHARACTER:l<255?u[u.length]=l+128:(l>65536&&(l-=65536),s=255&l,1&(i=l>>8)?((i>>=1)<47?i+=113:i-=79,s+=s>95?32:31):((i>>=1)<=47?i+=112:i-=80,s+=126),u[u.length]=255&i,u[u.length]=255&s)):u[u.length]=255&e[h];return u}function h(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=t&&t.fallback;l=128?(r<=223?(i=[r,e[l+1]],s=(r<<8)+e[++l]):r<=239?(i=[r,e[l+1],e[l+2]],s=(r<<16)+(e[++l]<<8)+(255&e[++l])):(i=[r,e[l+1],e[l+2],e[l+3]],s=(r<<24)+(e[++l]<<16)+(e[++l]<<8)+(255&e[++l])),null==(o=a.UTF8_TO_JIS_TABLE[s])?null==(o=a.UTF8_TO_JISX0212_TABLE[s])?h?D(c,i,h):c[c.length]=n.FALLBACK_CHARACTER:(c[c.length]=143,c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255):(o>65536&&(o-=65536),o<255?(c[c.length]=142,c[c.length]=o-128&255):(c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255))):c[c.length]=255&e[l];return c}function f(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=0,f=t&&t.fallback,A=[27,40,66,27,36,66,27,40,73,27,36,40,68];h>8&255,c[c.length]=255&o):(o>65536&&(o-=65536),o<255?(2!==l&&(l=2,c[c.length]=A[6],c[c.length]=A[7],c[c.length]=A[8]),c[c.length]=255&o):(1!==l&&(l=1,c[c.length]=A[3],c[c.length]=A[4],c[c.length]=A[5]),c[c.length]=o>>8&255,c[c.length]=255&o)));return 0!==l&&(c[c.length]=A[0],c[c.length]=A[1],c[c.length]=A[2]),c}function A(e){for(var t,r,n=[],i=0,s=e&&e.length;i=55296&&t<=56319&&i+1=56320&&r<=57343&&(t=1024*(t-55296)+r-56320+65536,i++),t<128?n[n.length]=t:t<2048?(n[n.length]=192|t>>6&31,n[n.length]=128|63&t):t<65536?(n[n.length]=224|t>>12&15,n[n.length]=128|t>>6&63,n[n.length]=128|63&t):t<2097152&&(n[n.length]=240|t>>18&15,n[n.length]=128|t>>12&63,n[n.length]=128|t>>6&63,n[n.length]=128|63&t);return n}function d(e,t){for(var r,n,i,s=[],a=0,o=e&&e.length,c=t&&t.ignoreSurrogatePair;a>4)>=0&&r<=7?i=n:12===r||13===r?i=(31&n)<<6|63&e[a++]:14===r?i=(15&n)<<12|(63&e[a++])<<6|63&e[a++]:15===r&&(i=(7&n)<<18|(63&e[a++])<<12|(63&e[a++])<<6|63&e[a++]),i<=65535||c?s[s.length]=i:(i-=65536,s[s.length]=55296+(i>>10),s[s.length]=i%1024+56320);return s}function p(e,t){var r;if(t&&t.bom){var n,s,a=t.bom;i.isString(a)||(a="BE"),"B"===a.charAt(0).toUpperCase()?(n=[254,255],s=g(e)):(n=[255,254],s=y(e)),(r=[])[0]=n[0],r[1]=n[1];for(var o=0,c=s.length;o>8&255,r[r.length]=255&t);return r}function y(e){for(var t,r=[],n=0,i=e&&e.length;n>8&255);return r}function m(e){var t,r,n=[],i=0,s=e&&e.length;for(s>=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i>=1)<47?t+=113:t-=79,r+=r>95?32:31):((t>>=1)<=47?t+=112:t-=80,r+=126),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=2===s?e[a]+128&255:3===s?n.FALLBACK_CHARACTER:255&e[a]}return i},t.JISToEUCJP=function(e){for(var t=[],r=0,n=e&&e.length,i=0;i=161&&t<=223?(2!==i&&(i=2,n[n.length]=o[6],n[n.length]=o[7],n[n.length]=o[8]),n[n.length]=t-128&255):t>=128?(1!==i&&(i=1,n[n.length]=o[3],n[n.length]=o[4],n[n.length]=o[5]),t<<=1,(r=e[++a])<159?(t-=t<319?225:97,r-=r>126?32:31):(t-=t<319?224:96,r-=126),n[n.length]=255&t,n[n.length]=255&r):(0!==i&&(i=0,n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n[n.length]=255&t);return 0!==i&&(n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n},t.SJISToEUCJP=function(e){for(var t,r,n=[],i=e&&e.length,s=0;s=161&&t<=223?(n[n.length]=142,n[n.length]=t):t>=129?(t<<=1,(r=e[++s])<159?(t-=t<319?97:225,r+=r>126?96:97):(t-=t<319?96:224,r+=2),n[n.length]=255&t,n[n.length]=255&r):n[n.length]=255&t;return n},t.EUCJPToJIS=function(e){for(var t,r=[],n=0,i=e&&e.length,s=0,a=[27,40,66,27,36,66,27,40,73,27,36,40,68];s142?(1!==n&&(n=1,r[r.length]=a[3],r[r.length]=a[4],r[r.length]=a[5]),r[r.length]=t-128&255,r[r.length]=e[++s]-128&255):(0!==n&&(n=0,r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r[r.length]=255&t);return 0!==n&&(r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r},t.EUCJPToSJIS=function(e){for(var t,r,i=[],s=e&&e.length,a=0;a142?(r=e[++a],1&t?(t>>=1,t+=t<111?49:113,r-=r>223?96:97):(t>>=1,t+=t<=111?48:112,r-=2),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=142===t?255&e[++a]:255&t;return i},t.SJISToUTF8=o,t.EUCJPToUTF8=c,t.JISToUTF8=l,t.UTF8ToSJIS=u,t.UTF8ToEUCJP=h,t.UTF8ToJIS=f,t.UNICODEToUTF8=A,t.UTF8ToUNICODE=d,t.UNICODEToUTF16=p,t.UNICODEToUTF16BE=g,t.UNICODEToUTF16LE=y,t.UTF16BEToUNICODE=m,t.UTF16LEToUNICODE=w,t.UTF16ToUNICODE=b,t.UTF16ToUTF16BE=function(e){for(var t,r,n=[],i=0,a=e&&e.length,o=!1,c=!0;i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u255)return!1;if(t>=0&&t<=7||255===t)return!0}return!1},t.isASCII=function(e){for(var t,r=0,n=e&&e.length;r255||t>=128&&t<=255||27===t)return!1;return!0},t.isJIS=function(e){for(var t,r,n,i=0,s=e&&e.length;i255||t>=128&&t<=255)return!1;if(27===t){if(i+2>=s)return!1;if(r=e[i+1],n=e[i+2],36===r){if(40===n||64===n||66===n)return!0}else{if(38===r&&64===n)return!0;if(40===r&&(66===n||73===n||74===n))return!0}}}return!1},t.isEUCJP=function(e){for(var t,r=0,n=e&&e.length;r255||t<142)return!1;if(142===t){if(r+1>=n)return!1;if((t=e[++r])<161||223=n)return!1;if((t=e[++r])<162||237=n)return!1;if((t=e[++r])<161||254128;)if(e[r++]>255)return!1;for(;r239||r+1>=n)return!1;if((t=e[++r])<64||127===t||t>252)return!1}return!0},t.isUTF8=function(e){for(var t,r=0,n=e&&e.length;r255)return!1;if(!(9===t||10===t||13===t||t>=32&&t<=126))if(t>=194&&t<=223){if(r+1>=n||e[r+1]<128||e[r+1]>191)return!1;r++}else if(224===t){if(r+2>=n||e[r+1]<160||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(t>=225&&t<=236||238===t||239===t){if(r+2>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(237===t){if(r+2>=n||e[r+1]<128||e[r+1]>159||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(240===t){if(r+3>=n||e[r+1]<144||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else if(t>=241&&t<=243){if(r+3>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else{if(244!==t)return!1;if(r+3>=n||e[r+1]<128||e[r+1]>143||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}}return!0},t.isUTF16=function(e){var t,r,n,i,s=0,a=e&&e.length,o=null;if(a<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;if(254===t&&255===r)return!0;for(;s255)return!1}if(null===o)return!1;if(void 0!==(n=e[o+1])&&n>0&&n<128)return!0;if(void 0!==(i=e[o-1])&&i>0&&i<128)return!0}return!1},t.isUTF16BE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],254===t&&255===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2==0)return!0}return!1},t.isUTF16LE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2!=0)return!0}return!1},t.isUTF32=function(e){var t,r,n,i,s,a,o=0,c=e&&e.length,l=null;if(c<4){for(;o255)return!1}else{if(t=e[0],r=e[1],n=e[2],i=e[3],0===t&&0===r&&254===n&&255===i)return!0;if(255===t&&254===r&&0===n&&0===i)return!0;for(;o255)return!1}if(null===l)return!1;if(void 0!==(s=e[l+3])&&s>0&&s<=127)return 0===e[l+2]&&0===e[l+1];if(void 0!==(a=e[l-1])&&a>0&&a<=127)return 0===e[l+1]&&0===e[l+2]}return!1},t.isUNICODE=function(e){for(var t,r=0,n=e&&e.length;r1114111)return!1;return!0}},2801(e,t,r){t.UTF8_TO_JIS_TABLE=r(4992),t.UTF8_TO_JISX0212_TABLE=r(909),t.JIS_TO_UTF8_TABLE=r(5748),t.JISX0212_TO_UTF8_TABLE=r(7921)},8969(e,t,r){var n=r(1371),i=r(321),s=r(1742),a=r(5210),o=r(3880),c=r(6171).rE,l=Object.prototype.hasOwnProperty,u={version:c,orders:n.EncodingOrders,detect:function(e,t){if(null==e||0===e.length)return!1;i.isObject(t)&&!i.isArray(t)&&(t=t.encoding),i.isString(e)&&(e=i.stringToBuffer(e)),null==t?t=u.orders:i.isString(t)&&(t="AUTO"===(t=t.toUpperCase())?u.orders:~t.indexOf(",")?t.split(/\s*,\s*/):[t]);for(var r,n,a,o=t.length,c=0;c255)return encodeURIComponent(i.codeToString_fast(e));t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||33===t||t>=39&&t<=42||45===t||46===t||95===t||126===t?n[n.length]=t:(n[n.length]=37,t<16?(n[n.length]=48,n[n.length]=r[t]):(n[n.length]=r[t>>4&15],n[n.length]=r[15&t]))}return i.codeToString_fast(n)},urlDecode:function(e){for(var t,r=[],n=0,i=e&&e.length;n=65281&&r<=65374&&(r-=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toZenkakuCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=33&&r<=126&&(r+=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toHiraganaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12449&&r<=12534?r-=96:12535===r?(n[n.length]=12431,r=12443):12538===r&&(n[n.length]=12434,r=12443),n[n.length]=r;return t?i.codeToString_fast(n):n},toKatakanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12353&&r<=12438&&((12431===r||12434===r)&&a=12289&&r<=12540&&void 0!==(s=o.HANKANA_TABLE[r])?a[a.length]=s:12532===r||12535===r||12538===r?(a[a.length]=o.HANKANA_SONANTS[r],a[a.length]=65438):r>=12459&&r<=12489?(a[a.length]=o.HANKANA_TABLE[r-1],a[a.length]=65438):r>=12495&&r<=12509?(n=r%3,a[a.length]=o.HANKANA_TABLE[r-n],a[a.length]=o.HANKANA_MARKS[n-1]):a[a.length]=r;return t?i.codeToString_fast(a):a},toZenkanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));var r,n,s,a=[],c=e&&e.length,l=0;for(l=0;l65376&&r<65440&&(n=o.ZENKANA_TABLE[r-65377],l+165397&&r<65413||r>65417&&r<65423)?(n++,l++):65439===s&&r>65417&&r<65423&&(n+=2,l++)),r=n),a[a.length]=r;return t?i.codeToString_fast(a):a},toHankakuSpace:function(e){if(i.isString(e))return e.replace(/\u3000/g," ");for(var t,r=[],n=e&&e.length,s=0;sn.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0),r}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}}return d(e)}function d(e){for(var t,r="",s=e&&e.length,a=0;an.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0);continue}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}return p(e)}r+=i.apply(null,t)}return r}function p(e){for(var t="",r=e&&e.length,n=0;n>2],t[t.length]=g[(3&i)<<4],t[t.length]=m,t[t.length]=m;break}if(s=e[r++],r==n){t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2],t[t.length]=m;break}a=e[r++],t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2|(192&a)>>6],t[t.length]=g[63&a]}return A(t)},t.base64decode=function(e){var t,r,n,i,s,a,o;for(a=e&&e.length,s=0,o=[];s>4;do{if(61==(n=255&e.charCodeAt(s++)))return o;n=y[n]}while(s>2;do{if(61==(i=255&e.charCodeAt(s++)))return o;i=y[i]}while(s>1,u=-7,h=r?i-1:0,f=r?-1:1,A=e[t+h];for(h+=f,s=A&(1<<-u)-1,A>>=-u,u+=o;u>0;s=256*s+e[t+h],h+=f,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=f,u-=8);if(0===s)s=1-l;else{if(s===c)return a?NaN:1/0*(A?-1:1);a+=Math.pow(2,n),s-=l}return(A?-1:1)*a*Math.pow(2,s-n)},t.write=function(e,t,r,n,i,s){var a,o,c,l=8*s-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,d=n?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(a++,c/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*c-1)*Math.pow(2,i),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+A]=255&o,A+=d,o/=256,i-=8);for(a=a<0;e[r+A]=255&a,A+=d,a/=256,l-=8);e[r+A-d]|=128*p}},8682(e,t){"use strict";function r(e){return"[object Object]"===Object.prototype.toString.call(e)}t.isPlainObject=function(e){var t,n;return!1!==r(e)&&(void 0===(t=e.constructor)||!1!==r(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}},3624(e,t,r){const n=r(4353);function i(e){for(e=e.replace(/[\x00-\x20]+/g,"");;){const t=e.indexOf("\x3c!--");if(-1===t)break;const r=e.indexOf("--\x3e",t+4);if(-1===r)break;e=e.substring(0,t)+e.substring(r+3)}return e}function s(e,t){const r=(t=t||{}).allowedSchemes||["http","https","ftp","mailto","tel","sms"],n=!1!==t.allowProtocolRelative;if("string"!=typeof e)return!1;const s=(e=i(e)).match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!s)return!!e.match(/^[/\\]{2}/)&&!n;const a=s[1].toLowerCase();return-1===r.indexOf(a)}e.exports=function(e){const t={};return t.options=e||{},t.filterTag=t.options.filterTag||function(e){return(e=e.trim()).toLowerCase()},t.string=function(e,t){return"string"!=typeof e&&("number"==typeof e||"boolean"==typeof e?e+="":e=""),e=e.trim(),void 0!==t&&""===e&&(e=t),e},t.strings=function(e){return Array.isArray(e)?e.map(function(e){return t.string(e)}):[]},t.integer=function(e,t,r,n){if(void 0===t&&(t=0),"number"==typeof e)e=Math.floor(e);else try{e=parseInt(e,10),isNaN(e)&&(e=t)}catch(r){e=t}return"number"==typeof r&&en&&(e=n),e},t.padInteger=function(e,t){let r=e+"";for(;r.lengthn&&(e=n),e},t.naughtyHref=s,t.url=function(e,r,n){return(e=t.string(e,r))===r?e:s(e=i(e))||null===(e=(a=e).match(/^(((https?|ftp):\/\/)|((mailto|tel|sms):)|#|([^/.]+)?\/|[^/.]+$)/)?a:a.match(/^[^/.]+\.[^/.]+/)?(n?"https://":"http://")+a:null)?r:e;var a},t.select=function(e,r,n){if(e=t.string(e),!r||!r.length)return n;let i;return"object"==typeof r[0]?(i=r.find(function(t){return null!==t.value&&void 0!==t.value&&t.value.toString()===e}),null!=i?i.value:n):(i=r.find(function(t){return null!=t&&t.toString()===e}),void 0!==i?i:n)},t.boolean=function(e,r){return!0===e||!1!==e&&((e=t.string(e,r))===r?void 0!==e&&e:""!==(e=e.toLowerCase().charAt(0))&&"n"!==e&&"0"!==e&&"f"!==e&&("t"===e||"y"===e||"1"===e))},t.addBooleanFilterToCriteria=function(e,r,n,i){void 0===i&&(i=null);let s="object"==typeof e&&null!==e?e[r]:e;s=void 0===s?i:s,s=t.booleanOrNull(s),null===s||(n[r]=!!s||{$ne:!0})},t.booleanOrNull=function(e,r){return!0===e||!1===e||null===e?e:(e=t.string(e,r))===r?void 0===r?null:e:"null"===e?null:""!==(e=e.toLowerCase().charAt(0))&&"n"!==e&&"0"!==e&&"f"!==e&&("t"===e||"y"===e||"1"===e||("a"===e?null:r))},t.date=function(e,r,i){let s;function a(){return void 0===r&&(r=n().format("YYYY-MM-DD")),r}if("string"==typeof e){if(e.match(/\//)){if(s=e.split("/"),2===s.length)return(i||new Date).getFullYear()+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2);if(3===s.length){if(s[2]<100){const e=i||new Date,t=e.getFullYear()%100,r=e.getFullYear()-t;let n=parseInt(s[2])+r;n-e.getFullYear()>50&&(n-=100),s[2]=n}return t.padInteger(s[2],4)+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2)}return a()}if(e.match(/-/))return s=e.split("-"),2===s.length?(i||new Date).getFullYear()+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2):3===s.length?t.padInteger(s[0],4)+"-"+t.padInteger(s[1],2)+"-"+t.padInteger(s[2],2):a()}try{return null===e?a():(e=i||new Date(e),isNaN(e.getTime())?a():e.getFullYear()+"-"+t.padInteger(e.getMonth()+1,2)+"-"+t.padInteger(e.getDate(),2))}catch(e){return a()}},t.formatDate=function(e){return n(e).format("YYYY-MM-DD")},t.time=function(e,r){const i=(e=(e=t.string(e).toLowerCase()).trim()).match(/^(\d+)([:|.](\d+))?([:|.](\d+))?\s*(am|pm|AM|PM|a|p|A|M)?$/);if(i){let e=parseInt(i[1],10);const r=void 0!==i[3]?parseInt(i[3],10):0,n=void 0!==i[5]?parseInt(i[5],10):0;let s=i[6]?i[6].toLowerCase():i[6];return s=s&&s.charAt(0),12===e&&"a"===s?e-=12:12===e&&"p"===s||"p"===s&&(e+=12),24!==e&&"24"!==e||(e=0),t.padInteger(e,2)+":"+t.padInteger(r,2)+":"+t.padInteger(n,2)}return void 0!==r?r:n().format("HH:mm")},t.formatTime=function(e){return n(e).format("HH:mm:ss")},t.tags=function(e,r){return"string"==typeof e&&(e=e.split(/,\s*/)),Array.isArray(e)?e.map(e=>t.string(e)).map(r||t.filterTag).filter(e=>e.length>0):[]},t.idRegExp=t.options.idRegExp||/^[A-Za-z0-9_]+$/,t.id=function(e,r){const n=t.string(e,r);return n===r||n.match(t.idRegExp)?n:r},t.ids=function(e){return Array.isArray(e)?e.filter(function(e){return void 0!==t.id(e)}):[]},t},e.exports.naughtyHref=s},9466(e,t){var r,n;void 0===(n="function"==typeof(r=function(){return function(e){function t(e){return" "===e||"\t"===e||"\n"===e||"\f"===e||"\r"===e}function r(t){var r,n=t.exec(e.substring(p));if(n)return r=n[0],p+=r.length,r}for(var n,i,s,a,o,c=e.length,l=/^[ \t\n\r\u000c]+/,u=/^[, \t\n\r\u000c]+/,h=/^[^ \t\n\r\u000c]+/,f=/[,]+$/,A=/^\d+$/,d=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,p=0,g=[];;){if(r(u),p>=c)return g;n=r(h),i=[],","===n.slice(-1)?(n=n.replace(f,""),m()):y()}function y(){for(r(l),s="",a="in descriptor";;){if(o=e.charAt(p),"in descriptor"===a)if(t(o))s&&(i.push(s),s="",a="after descriptor");else{if(","===o)return p+=1,s&&i.push(s),void m();if("("===o)s+=o,a="in parens";else{if(""===o)return s&&i.push(s),void m();s+=o}}else if("in parens"===a)if(")"===o)s+=o,a="in descriptor";else{if(""===o)return i.push(s),void m();s+=o}else if("after descriptor"===a)if(t(o));else{if(""===o)return void m();a="in descriptor",p-=1}p+=1}}function m(){var t,r,s,a,o,c,l,u,h,f=!1,p={};for(a=0;a(e.nodes&&(e.nodes=f(e.nodes)),delete e.source,e))}function A(e){if(e[u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)A(t)}class d extends l{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,r,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...r)=>e[t](...r.map(e=>"function"==typeof e?(t,r)=>e(t.toProxy(),r):e)):"every"===t||"some"===t?r=>e[t]((e,...t)=>r(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let r,n=this.index(e),i=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let e of i)this.proxyOf.nodes.splice(n+1,0,e);for(let e in this.indexes)r=this.indexes[e],n(e[h]||d.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[u]&&A(e),e.raws||(e.raws={}),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,r)=>{let n;try{n=e(t,r)}catch(e){throw t.addToError(e)}return!1!==n&&t.walk&&(n=t.walk(e)),n})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("atrule"===r.type&&e.test(r.name))return t(r,n)}):this.walk((r,n)=>{if("atrule"===r.type&&r.name===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("atrule"===e.type)return t(e,r)}))}walkComments(e){return this.walk((t,r)=>{if("comment"===t.type)return e(t,r)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("decl"===r.type&&e.test(r.prop))return t(r,n)}):this.walk((r,n)=>{if("decl"===r.type&&r.prop===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("decl"===e.type)return t(e,r)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("rule"===r.type&&e.test(r.selector))return t(r,n)}):this.walk((r,n)=>{if("rule"===r.type&&r.selector===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("rule"===e.type)return t(e,r)}))}}d.registerParse=e=>{i=e},d.registerRule=e=>{a=e},d.registerAtRule=e=>{n=e},d.registerRoot=e=>{s=e},e.exports=d,d.default=d,d.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,a.prototype):"decl"===e.type?Object.setPrototypeOf(e,c.prototype):"comment"===e.type?Object.setPrototypeOf(e,o.prototype):"root"===e.type&&Object.setPrototypeOf(e,s.prototype),e[h]=!0,e.nodes&&e.nodes.forEach(e=>{d.rebuild(e)})}},3614(e,t,r){"use strict";let n=r(8633),i=r(9746);class s extends Error{constructor(e,t,r,n,i,a){super(e),this.name="CssSyntaxError",this.reason=e,i&&(this.file=i),n&&(this.source=n),a&&(this.plugin=a),void 0!==t&&void 0!==r&&("number"==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=n.isColorSupported);let r=e=>e,s=e=>e,a=e=>e;if(e){let{bold:e,gray:t,red:o}=n.createColors(!0);s=t=>e(o(t)),r=e=>t(e),i&&(a=e=>i(e))}let o=t.split(/\r?\n/),c=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),u=String(l).length;return o.slice(c,l).map((e,t)=>{let n=c+1+t,i=" "+(" "+n).slice(-u)+" | ";if(n===this.line){if(e.length>160){let t=20,n=Math.max(0,this.column-t),o=Math.max(this.column+t,this.endColumn+t),c=e.slice(n,o),l=r(i.replace(/\d/g," "))+e.slice(0,Math.min(this.column-1,t-1)).replace(/[^\t]/g," ");return s(">")+r(i)+a(c)+"\n "+l+s("^")}let t=r(i.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(i)+a(e)+"\n "+t+s("^")}return" "+r(i)+a(e)}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}e.exports=s,s.default=s},5238(e,t,r){"use strict";let n=r(3152);class i extends n{get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}}e.exports=i,i.default=i},145(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a},3438(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(1106),o=r(3878),c=r(5644),l=r(1534);function u(e,t){if(Array.isArray(e))return e.map(e=>u(e));let{inputs:r,...h}=e;if(r){t=[];for(let e of r){let r={...e,__proto__:a.prototype};r.map&&(r.map={...r.map,__proto__:o.prototype}),t.push(r)}}if(h.nodes&&(h.nodes=e.nodes.map(e=>u(e,t))),h.source){let{inputId:e,...r}=h.source;h.source=r,null!=e&&(h.source.input=t[e])}if("root"===h.type)return new c(h);if("decl"===h.type)return new s(h);if("rule"===h.type)return new l(h);if("comment"===h.type)return new i(h);if("atrule"===h.type)return new n(h);throw new Error("Unknown node type: "+e.type)}e.exports=u,u.default=u},1106(e,t,r){"use strict";let{nanoid:n}=r(5042),{isAbsolute:i,resolve:s}=r(197),{SourceMapConsumer:a,SourceMapGenerator:o}=r(1866),{fileURLToPath:c,pathToFileURL:l}=r(2739),u=r(3614),h=r(3878),f=r(9746),A=Symbol("lineToIndexCache"),d=Boolean(a&&o),p=Boolean(s&&i);function g(e){if(e[A])return e[A];let t=e.css.split("\n"),r=new Array(t.length),n=0;for(let e=0,i=t.length;e"),this.map&&(this.map.file=this.from)}error(e,t,r,n={}){let i,s,a,o,c;if(t&&"object"==typeof t){let e=t,n=r;if("number"==typeof e.offset){o=e.offset;let n=this.fromOffset(o);t=n.line,r=n.col}else t=e.line,r=e.column,o=this.fromLineAndColumn(t,r);if("number"==typeof n.offset){a=n.offset;let e=this.fromOffset(a);s=e.line,i=e.col}else s=n.line,i=n.column,a=this.fromLineAndColumn(n.line,n.column)}else if(r)o=this.fromLineAndColumn(t,r);else{o=t;let e=this.fromOffset(o);t=e.line,r=e.col}let h=this.origin(t,r,s,i);return c=h?new u(e,void 0===h.endLine?h.line:{column:h.column,line:h.line},void 0===h.endLine?h.column:{column:h.endColumn,line:h.endLine},h.source,h.file,n.plugin):new u(e,void 0===s?t:{column:r,line:t},void 0===s?r:{column:i,line:s},this.css,this.file,n.plugin),c.input={column:r,endColumn:i,endLine:s,endOffset:a,line:t,offset:o,source:this.css},this.file&&(l&&(c.input.url=l(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,t){return g(this)[e-1]+t-1}fromOffset(e){let t=g(this),r=0;if(e>=t[t.length-1])r=t.length-1;else{let n,i=t.length-2;for(;r>1),e=t[n+1])){r=n;break}r=n+1}}return{col:e-t[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:s(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,r,n){if(!this.map)return!1;let s,a,o=this.map.consumer(),u=o.originalPositionFor({column:t,line:e});if(!u.source)return!1;"number"==typeof r&&(s=o.originalPositionFor({column:n,line:r})),a=i(u.source)?l(u.source):new URL(u.source,this.map.consumer().sourceRoot||l(this.map.mapFile));let h={column:u.column,endColumn:s&&s.column,endLine:s&&s.line,line:u.line,url:a.toString()};if("file:"===a.protocol){if(!c)throw new Error("file: protocol is not available in this PostCSS build");h.file=c(a)}let f=o.sourceContentFor(u.source);return f&&(h.source=f),h}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}e.exports=y,y.default=y,f&&f.registerInput&&f.registerInput(y)},6966(e,t,r){"use strict";let n=r(7793),i=r(145),s=r(3604),a=r(9577),o=r(3717),c=r(5644),l=r(3303),{isClean:u,my:h}=r(4151);r(6156);const f={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},A={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},d={Once:!0,postcssPlugin:!0,prepare:!0};function p(e){return"object"==typeof e&&"function"==typeof e.then}function g(e){let t=!1,r=f[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,0,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,0,r+"Exit"]:[r,r+"Exit"]}function y(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:g(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function m(e){return e[u]=!1,e.nodes&&e.nodes.forEach(e=>m(e)),e}let w={};class b{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,t,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof t||null===t||"root"!==t.type&&"document"!==t.type)if(t instanceof b||t instanceof o)i=m(t.root),t.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let e=a;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(t,r)}catch(e){this.processed=!0,this.error=e}i&&!i[h]&&n.rebuild(i)}else i=m(t);this.result=new o(e,i,r),this.helpers={...w,postcss:w,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?r.postcssVersion:(e.plugin=r.postcssPlugin,e.setMessage())}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,r)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,r])};for(let t of this.plugins)if("object"==typeof t)for(let r in t){if(!A[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!d[r])if("object"==typeof t[r])for(let n in t[r])e(t,"*"===n?r:r+"-"+n.toLowerCase(),t[r][n]);else"function"==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(p(e))try{await e}catch(e){let r=t[t.length-1].node;throw this.handleError(e,r)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>r(e,this.helpers));await Promise.all(t)}else await r(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return p(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=l;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=this.result.root.source;if(void 0===e.map&&!(r&&r.input&&r.input.map)){let e="";return t(this.result.root,t=>{e+=t}),this.result.css=e,this.result}let n=new s(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(p(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[u];)e[u]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[r,n]of e){let e;this.result.lastPlugin=r;try{e=n(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(p(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:r,visitors:n}=t;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void e.pop();if(n.length>0&&t.visitorIndex{e[u]||this.walkSync(e)});else{let t=this.listeners[r];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}}b.registerPostcss=e=>{w=e},e.exports=b,b.default=b,c.registerLazyResult(b),i.registerLazyResult(b)},1752(e){"use strict";let t={comma:e=>t.split(e,[","],!0),space:e=>t.split(e,[" ","\n","\t"]),split(e,t,r){let n=[],i="",s=!1,a=0,o=!1,c="",l=!1;for(let r of e)l?l=!1:"\\"===r?l=!0:o?r===c&&(o=!1):'"'===r||"'"===r?(o=!0,c=r):"("===r?a+=1:")"===r?a>0&&(a-=1):0===a&&t.includes(r)&&(s=!0),s?(""!==i&&n.push(i.trim()),i="",s=!1):i+=r;return(r||""!==i)&&n.push(i.trim()),n}};e.exports=t,t.default=t},3604(e,t,r){"use strict";let{dirname:n,relative:i,resolve:s,sep:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866),{pathToFileURL:l}=r(2739),u=r(1106),h=Boolean(o&&c),f=Boolean(n&&s&&i&&a);e.exports=class{constructor(e,t,r,n){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=n,this.originalCSS=n,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,r=this.toUrl(this.path(e.file)),i=e.root||n(e.file);!1===this.mapOpts.sourcesContent?(t=new o(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,r,this.toUrl(this.path(i)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(t)}else if(this.css){let e;for(;-1!==(e=this.css.lastIndexOf("/*#"));){let t=this.css.indexOf("*/",e+3);if(-1===t)break;for(;e>0&&"\n"===this.css[e-1];)e--;this.css=this.css.slice(0,e)+this.css.slice(t+2)}}}generate(){if(this.clearAnnotation(),f&&h&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=c.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):""});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,r=1,n=1,i="",s={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(a,o,c)=>{if(this.css+=a,o&&"end"!==c&&(s.generated.line=r,s.generated.column=n-1,o.source&&o.source.start?(s.source=this.sourcePath(o),s.original.line=o.source.start.line,s.original.column=o.source.start.column-1,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,this.map.addMapping(s))),t=a.match(/\n/g),t?(r+=t.length,e=a.lastIndexOf("\n"),n=a.length-e):n+=a.length,o&&"start"!==c){let e=o.parent||{raws:{}};("decl"===o.type||"atrule"===o.type&&!o.nodes)&&o===e.last&&!e.raws.semicolon||(o.source&&o.source.end?(s.source=this.sourcePath(o),s.original.line=o.source.end.line,s.original.column=o.source.end.column-1,s.generated.line=r,s.generated.column=n-2,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,s.generated.line=r,s.generated.column=n-1,this.map.addMapping(s)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let r=this.opts.to?n(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(r=n(s(r,this.mapOpts.annotation)));let a=i(r,e);return this.memoizedPaths.set(e,a),a}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new u(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;if(r&&!e[r]){e[r]=!0;let n=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(n,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(l){let t=l(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===a&&(e=e.replace(/\\/g,"/"));let r=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,r),r}}},4211(e,t,r){"use strict";let n=r(3604),i=r(9577),s=r(3717),a=r(3303);r(6156);class o{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=i;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let i=a;this.result=new s(this._processor,void 0,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,"root",{get:()=>o.root});let c=new n(i,void 0,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else c.clearAnnotation(),this.result.css=c.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}}e.exports=o,o.default=o},3152(e,t,r){"use strict";let n=r(3614),i=r(7668),s=r(3303),{isClean:a,my:o}=r(4151);function c(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if("proxyCache"===n)continue;let i=e[n],s=typeof i;"parent"===n&&"object"===s?t&&(r[n]=t):"source"===n?r[n]=i:Array.isArray(i)?r[n]=i.map(e=>c(e,r)):("object"===s&&null!==i&&(i=c(i)),r[n]=i)}return r}function l(e,t){if(t&&void 0!==t.offset)return t.offset;let r=1,n=1,i=0;for(let s=0;s"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markClean(){this[a]=!0}markDirty(){if(this[a]){this[a]=!1;let e=this;for(;e=e.parent;)e[a]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,n=r.slice(l(r,this.source.start),l(r,this.source.end)).indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t}positionInside(e){let t=this.source.start.column,r=this.source.start.line,n="document"in this.source.input?this.source.input.document:this.source.input.css,i=l(n,this.source.start),s=i+e;for(let e=i;e"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof n&&n.toJSON)r[e]=n.toJSON(null,t);else if("source"===e){if(null==n)continue;let s=t.get(n.input);null==s&&(s=i,t.set(n.input,i),i++),r[e]={end:n.end,inputId:s,start:n.start}}else r[e]=n}return n&&(r.inputs=[...t.keys()].map(e=>e.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=s){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,r={}){let n={node:this};for(let e in r)n[e]=r[e];return e.warn(t,n)}}e.exports=u,u.default=u},9577(e,t,r){"use strict";let n=r(7793),i=r(1106),s=r(8339);function a(e,t){let r=new i(e,t),n=new s(r);try{n.parse()}catch(e){throw e}return n.root}e.exports=a,a.default=a,n.registerParse(a)},8339(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(5644),o=r(1534),c=r(5781);const l={empty:!0,space:!0};function u(e,t,r){let n="";for(let i=t;i0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){s.source.end=this.getPosition(e[2]),s.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(c.length>0){for(i=c.length-1,r=c[i];r&&"space"===r[0];)r=c[--i];r&&(s.source.end=this.getPosition(r[3]||r[2]),s.source.end.offset++)}this.end(e);break}c.push(e)}else c.push(e);if(this.tokenizer.endOfFile()){a=!0;break}}s.raws.between=this.spacesAndCommentsFromEnd(c),c.length?(s.raws.afterName=this.spacesAndCommentsFromStart(c),this.raw(s,"params",c),a&&(e=c[c.length-1],s.source.end=this.getPosition(e[3]||e[2]),s.source.end.offset++,this.spaces=s.raws.between,s.raws.between="")):(s.raws.afterName="",s.params=""),o&&(s.nodes=[],this.current=s)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let r,n=0;for(let i=t-1;i>=0&&(r=e[i],"space"===r[0]||(n+=1,2!==n));i--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}colon(e){let t,r,n,i=0;for(let[s,a]of e.entries()){if(r=a,n=r[0],"("===n&&(i+=1),")"===n&&(i-=1),0===i&&":"===n){if(t){if("word"===t[0]&&"progid"===t[1])continue;return s}this.doubleColon(r)}t=r}return!1}comment(e){let t=new i;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let r=e[1].slice(2,-2);if(r.trim()){let e=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}else t.text="",t.raws.left=r,t.raws.right=""}createTokenizer(){this.tokenizer=c(this.input)}decl(e,t){let r=new s;this.init(r,e[0][2]);let n=e[e.length-1];";"===n[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(n[3]||n[2]||function(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}(e)),r.source.end.offset++;let i=0;for(;"word"!==e[i][0];)i===e.length-1&&this.unknownWord([e[i]]),i++;r.raws.before+=u(e,0,i),r.source.start=this.getPosition(e[i][2]);let a=i;for(;i=0;t--){if(o=e[t],"!important"===o[1].toLowerCase()){r.important=!0;let n=this.stringFrom(e,t);n=this.spacesFromEnd(e)+n," !important"!==n&&(r.raws.important=n);break}if("important"===o[1].toLowerCase()){let n=e.slice(0),i="";for(let e=t;e>0;e--){let t=n[e][0];if(i.trim().startsWith("!")&&"space"!==t)break;i=n.pop()[1]+i}i.trim().startsWith("!")&&(r.important=!0,r.raws.important=i,e=n)}if("space"!==o[0]&&"comment"!==o[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(r.raws.between+=h.map(e=>e[1]).join(""),h=[]),this.raw(r,"value",h.concat(e),t),r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new o;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="",t.source.end=this.getPosition(e[2]),t.source.end.offset+=t.raws.ownSemicolon.length)}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,r=null,n=!1,i=null,s=[],a=e[1].startsWith("--"),o=[],c=e;for(;c;){if(r=c[0],o.push(c),"("===r||"["===r)i||(i=c),s.push("("===r?")":"]");else if(a&&n&&"{"===r)i||(i=c),s.push("}");else if(0===s.length){if(";"===r){if(n)return void this.decl(o,a);break}if("{"===r)return void this.rule(o);if("}"===r){this.tokenizer.back(o.pop()),t=!0;break}":"===r&&(n=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(i=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(i),t&&n){if(!a)for(;o.length&&(c=o[o.length-1][0],"space"===c||"comment"===c);)this.tokenizer.back(o.pop());this.decl(o,a)}else this.unknownWord(o)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,r,n){let i,s,a,o,c=r.length,u="",h=!0;for(let e=0;ee+t[1],"");e.raws[t]={raw:n,value:u}}e[t]=u}rule(e){e.pop();let t=new o;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let n=t;n(r||(r=i()),r)}),i.process=function(e,t,r){return v([i(r)]).process(e,t)},i},v.stringify=w,v.parse=d,v.fromJSON=l,v.list=f,v.comment=e=>new i(e),v.atRule=e=>new n(e),v.decl=e=>new o(e),v.rule=e=>new m(e),v.root=e=>new y(e),v.document=e=>new c(e),v.CssSyntaxError=a,v.Declaration=o,v.Container=s,v.Processor=p,v.Document=c,v.Comment=i,v.Warning=b,v.AtRule=n,v.Result=g,v.Input=u,v.Rule=m,v.Root=y,v.Node=A,h.registerPostcss(v),e.exports=v,v.default=v},3878(e,t,r){"use strict";let{existsSync:n,readFileSync:i}=r(9977),{dirname:s,join:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866);class l{constructor(e,t){if(!1===t.map)return;t.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=s(this.mapFile)),n&&(this.text=n)}consumer(){return this.consumerCache||(this.consumerCache=new o(this.json||this.text)),this.consumerCache}decodeInline(e){let t=e.match(/^data:application\/json;charset=utf-?8,/)||e.match(/^data:application\/json,/);if(t)return decodeURIComponent(e.substr(t[0].length));let r=e.match(/^data:application\/json;charset=utf-?8;base64,/)||e.match(/^data:application\/json;base64,/);if(r)return n=e.substr(r[0].length),Buffer?Buffer.from(n,"base64").toString():window.atob(n);var n;let i=e.slice(22);throw i=i.slice(0,i.indexOf(",")),new Error("Unsupported source map encoding "+i)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/g);if(!t)return;let r=e.lastIndexOf(t.pop()),n=e.indexOf("*/",r);r>-1&&n>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,n)))}loadFile(e,t,r){if(r||this.unsafeMap||/\.map$/i.test(e))return this.root=s(e),n(e)?(this.mapFile=e,i(e,"utf-8").toString().trim()):void 0}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof o)return c.fromSourceMap(t).toString();if(t instanceof c)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let r=t(e);if(r){let t=this.loadFile(r,e,!0);if(!t)throw new Error("Unable to load previous source map: "+r.toString());return t}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;e&&(t=a(s(e),t));let r=this.loadFile(t,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\)]}'[^\n]*\n/,""))}catch{return}return r}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}e.exports=l,l.default=l},6846(e,t,r){"use strict";let n=r(145),i=r(6966),s=r(4211),a=r(5644);class o{constructor(e=[]){this.version="8.5.15",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)t.push(r);else if("function"==typeof r)t.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new i(this,e,t):new s(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}}e.exports=o,o.default=o,a.registerProcessor(o),n.registerProcessor(o)},3717(e,t,r){"use strict";let n=r(38);class i{get content(){return this.css}constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new n(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>"warning"===e.type)}}e.exports=i,i.default=i},5644(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,r){let n=super.normalize(e);if(t)if("prepend"===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of n)e.raws.before=t.raws.before;return n}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a,s.registerRoot(a)},1534(e,t,r){"use strict";let n=r(7793),i=r(1752);class s extends n{get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}}e.exports=s,s.default=s,n.registerRule(s)},7668(e){"use strict";const t=/(<)(\/?style\b)/gi,r=/(<)(!--)/g;function n(e){return"string"!=typeof e?e:e.includes("<")?e.replace(t,"\\3c $2").replace(r,"\\3c $2"):e}const i={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};class s{constructor(e){this.builder=e}atrule(e,t){let r=e.raws,i="@"+e.name,s=e.params?this.rawValue(e,"params"):"";if(void 0!==r.afterName?i+=r.afterName:s&&(i+=" "),e.nodes)this.block(e,i+s);else{let a=(r.between||"")+(t?";":"");this.builder(n(i+s+a),e)}}beforeAfter(e,t){let r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,i=0;for(;n&&"root"!==n.type;)i+=1,n=n.parent;if(r.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===t[r].type;)r-=1;let i=this.raw(e,"semicolon"),s="document"===e.type;for(let e=0;e{if(n=e.raws[t],void 0!==n)return!1})}var c;return void 0===n&&(n=i[r]),o[r]=n,n}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let r;return e.walkComments(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return t=r.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==r.raws.before){let e=r.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let r=e[t],n=e.raws[t];return n&&n.value===r?n.raw:r}root(e){if(this.body(e),e.raws.after){let t=e.raws.after,r=e.parent&&"document"===e.parent.type;this.builder(r?t:n(t))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(n(e.raws.ownSemicolon),e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}}e.exports=s,s.default=s},3303(e,t,r){"use strict";let n=r(7668);function i(e,t){new n(t).stringify(e)}e.exports=i,i.default=i},4151(e){"use strict";e.exports.isClean=Symbol("isClean"),e.exports.my=Symbol("my")},5781(e){"use strict";const t="'".charCodeAt(0),r='"'.charCodeAt(0),n="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),a=" ".charCodeAt(0),o="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),u="[".charCodeAt(0),h="]".charCodeAt(0),f="(".charCodeAt(0),A=")".charCodeAt(0),d="{".charCodeAt(0),p="}".charCodeAt(0),g=";".charCodeAt(0),y="*".charCodeAt(0),m=":".charCodeAt(0),w="@".charCodeAt(0),b=/[\t\n\f\r "#'()/;[\\\]{}]/g,v=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,E=/.[\r\n"'(/\\]/,k=/[\da-f]/i;e.exports=function(e,I={}){let B,C,S,D,x,K,U,P,T,F,M=e.css.valueOf(),R=I.ignoreErrors,Q=M.length,N=0,O=[],L=[],G=-1;function H(t){throw e.error("Unclosed "+t,N)}return{back:function(e){L.push(e)},endOfFile:function(){return 0===L.length&&N>=Q},nextToken:function(e){if(L.length)return L.pop();if(N>=Q)return;let I=!!e&&e.ignoreUnclosed;switch(B=M.charCodeAt(N),B){case s:case a:case c:case l:case o:D=N;do{D+=1,B=M.charCodeAt(D)}while(B===a||B===s||B===c||B===l||B===o);K=["space",M.slice(N,D)],N=D-1;break;case u:case h:case d:case p:case m:case g:case A:{let e=String.fromCharCode(B);K=[e,e,N];break}case f:if(F=O.length?O.pop()[1]:"",T=M.charCodeAt(N+1),"url"===F&&T!==t&&T!==r&&T!==a&&T!==s&&T!==c&&T!==o&&T!==l){D=N;do{if(U=!1,D=M.indexOf(")",D+1),-1===D){if(R||I){D=N;break}H("bracket")}for(P=D;M.charCodeAt(P-1)===n;)P-=1,U=!U}while(U);K=["brackets",M.slice(N,D+1),N,D],N=D}else N<=G?K=["(","(",N]:(D=M.indexOf(")",N+1),C=M.slice(N,D+1),-1===D||E.test(C)?(G=-1===D?Q:D,K=["(","(",N]):(K=["brackets",C,N,D],N=D));break;case t:case r:x=B===t?"'":'"',D=N;do{if(U=!1,D=M.indexOf(x,D+1),-1===D){if(R||I){D=N+1;break}H("string")}for(P=D;M.charCodeAt(P-1)===n;)P-=1,U=!U}while(U);K=["string",M.slice(N,D+1),N,D],N=D;break;case w:b.lastIndex=N+1,b.test(M),D=0===b.lastIndex?M.length-1:b.lastIndex-2,K=["at-word",M.slice(N,D+1),N,D],N=D;break;case n:for(D=N,S=!0;M.charCodeAt(D+1)===n;)D+=1,S=!S;if(B=M.charCodeAt(D+1),S&&B!==i&&B!==a&&B!==s&&B!==c&&B!==l&&B!==o&&(D+=1,k.test(M.charAt(D)))){for(;k.test(M.charAt(D+1));)D+=1;M.charCodeAt(D+1)===a&&(D+=1)}K=["word",M.slice(N,D+1),N,D],N=D;break;default:B===i&&M.charCodeAt(N+1)===y?(D=M.indexOf("*/",N+2)+1,0===D&&(R||I?D=M.length:H("comment")),K=["comment",M.slice(N,D+1),N,D],N=D):(v.lastIndex=N+1,v.test(M),D=0===v.lastIndex?M.length-1:v.lastIndex-2,K=["word",M.slice(N,D+1),N,D],O.push(K),N=D)}return N++,K},position:function(){return N}}}},6156(e){"use strict";let t={};e.exports=function(e){t[e]||(t[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))}},38(e){"use strict";class t{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}e.exports=t,t.default=t},4728(e,t,r){const n=r(378),i=r(7151),{isPlainObject:s}=r(8682),a=r(4744),o=r(9466),{parse:c}=r(2895),{naughtyHref:l}=r(3624),u=["img","audio","video","picture","svg","object","map","iframe","embed"],h=["script","style"];function f(e,t){e&&Object.keys(e).forEach(function(r){t(e[r],r)})}function A(e,t){return{}.hasOwnProperty.call(e,t)}function d(e,t){const r=[];return f(e,function(e){t(e)&&r.push(e)}),r}e.exports=g;const p=/^[^\0\t\n\f\r /<=>]+$/;function g(e,t,r){if(null==e)return"";"number"==typeof e&&(e=e.toString());let m="",w="";function b(e,t){const r=this;this.tag=e,this.attribs=t||{},this.tagPosition=m.length,this.text="",this.openingTagLength=0,this.mediaChildren=[],this.updateParentNodeText=function(){U.length&&(U[U.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){U.length&&u.includes(this.tag)&&U[U.length-1].mediaChildren.push(this.tag)}}(t=Object.assign({},g.defaults,t)).parser=Object.assign({},y,t.parser);const v=function(e){return!1===t.allowedTags||(t.allowedTags||[]).indexOf(e)>-1};h.forEach(function(e){v(e)&&!t.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${e}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)});const E=t.nonTextTags||["script","style","textarea","option","xmp"];let k,I;t.allowedAttributes&&(k={},I={},f(t.allowedAttributes,function(e,t){k[t]=[];const r=[];e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):k[t].push(e)}),r.length&&(I[t]=new RegExp("^("+r.join("|")+")$"))}));const B={},C={},S={};f(t.allowedClasses,function(e,t){if(k&&(A(k,t)||(k[t]=[]),k[t].push("class")),B[t]=e,Array.isArray(e)){const r=[];B[t]=[],S[t]=[],e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):e instanceof RegExp?S[t].push(e):B[t].push(e)}),r.length&&(C[t]=new RegExp("^("+r.join("|")+")$"))}});const D={};let x,K,U,P,T,F,M;f(t.transformTags,function(e,t){let r;"function"==typeof e?r=e:"string"==typeof e&&(r=g.simpleTransform(e)),"*"===t?x=r:D[t]=r});let R=!1;N();const Q=new n.Parser({onopentag:function(e,r){if(t.onOpenTag&&t.onOpenTag(e,r),t.enforceHtmlBoundary&&"html"===e&&N(),F)return void M++;const n=new b(e,r);U.push(n);let i=!1;const l=!!n.text;let u;if(A(D,e)&&(u=D[e](e,r),n.attribs=r=u.attribs,void 0!==u.text&&(n.innerText=u.text),e!==u.tagName&&(n.name=e=u.tagName,T[K]=u.tagName)),x&&(u=x(e,r),n.attribs=r=u.attribs,e!==u.tagName&&(n.name=e=u.tagName,T[K]=u.tagName)),(!v(e)||"recursiveEscape"===t.disallowedTagsMode&&!function(e){for(const t in e)if(A(e,t))return!1;return!0}(P)||null!=t.nestingLimit&&K>=t.nestingLimit)&&(i=!0,P[K]=!0,"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||-1!==E.indexOf(e)&&(F=!0,M=1)),K++,i){if("discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode){if(n.innerText&&!l){const r=O(n.innerText);t.textFilter?m+=t.textFilter(r,e):m+=r,R=!0}return}w=m,m=""}m+="<"+e,"script"===e&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(n.innerText=""),i&&("escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode)&&t.preserveEscapedAttributes?f(r,function(e,t){m+=" "+t+'="'+O(e||"",!0)+'"'}):(!k||A(k,e)||k["*"])&&f(r,function(r,i){if(!p.test(i))return void delete n.attribs[i];if(""===r&&!t.allowedEmptyAttributes.includes(i)&&(t.nonBooleanAttributes.includes(i)||t.nonBooleanAttributes.includes("*")))return void delete n.attribs[i];let l=!1;if(!k||A(k,e)&&-1!==k[e].indexOf(i)||k["*"]&&-1!==k["*"].indexOf(i)||A(I,e)&&I[e].test(i)||I["*"]&&I["*"].test(i))l=!0;else if(k&&k[e])for(const t of k[e])if(s(t)&&t.name&&t.name===i){l=!0;let e="";if(!0===t.multiple){const n=r.split(" ");for(const r of n)-1!==t.values.indexOf(r)&&(""===e?e=r:e+=" "+r)}else t.values.indexOf(r)>=0&&(e=r);r=e}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(i)&&L(e,r))return void delete n.attribs[i];if("script"===e&&"src"===i){let e=!0;try{const n=G(r);if(t.allowedScriptHostnames||t.allowedScriptDomains){const r=(t.allowedScriptHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedScriptDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("iframe"===e&&"src"===i){let e=!0;try{const n=G(r);if(n.isRelativeUrl)e=A(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const r=(t.allowedIframeHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedIframeDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("srcset"===i||"imagesrcset"===i)try{let e=o(r);if(e.forEach(function(e){L(i,e.url)&&(e.evil=!0)}),e=d(e,function(e){return!e.evil}),!e.length)return void delete n.attribs[i];r=d(e,function(e){return!e.evil}).map(function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")}).join(", "),n.attribs[i]=r}catch(e){return void delete n.attribs[i]}if("class"===i){const t=B[e],s=B["*"],o=C[e],c=S[e],l=S["*"],A=[o,C["*"]].concat(c,l).filter(function(e){return e});if(!(u=r,h=t&&s?a(t,s):t||s,f=A,r=h?(u=u.split(/\s+/)).filter(function(e){return-1!==h.indexOf(e)||f.some(function(t){return t.test(e)})}).join(" "):u).length)return void delete n.attribs[i]}if("style"===i)if(t.parseStyleAttributes)try{if(r=function(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e},[]).join(";")}(function(e,t){if(!t)return e;const r=e.nodes[0];let n;return n=t[r.selector]&&t["*"]?a(t[r.selector],t["*"]):t[r.selector]||t["*"],n&&(e.nodes[0].nodes=r.nodes.reduce(function(e){return function(t,r){return A(e,r.prop)&&e[r.prop].some(function(e){return e.test(r.value)})&&t.push(r),t}}(n),[])),e}(c(e+" {"+r+"}",{map:!1}),t.allowedStyles)),0===r.length)return void delete n.attribs[i]}catch(t){return"undefined"!=typeof window&&console.warn('Failed to parse "'+e+" {"+r+"}\", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547"),void delete n.attribs[i]}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.");m+=" "+i,r&&r.length?m+='="'+O(r,!0)+'"':t.allowedEmptyAttributes.includes(i)&&(m+='=""')}else delete n.attribs[i];var u,h,f}),-1!==t.selfClosing.indexOf(e)?m+=" />":(m+=">",!n.innerText||l||t.textFilter||(m+=O(n.innerText),R=!0)),i&&(m=w+O(m),w=""),n.openingTagLength=m.length-n.tagPosition},ontext:function(e){if(F)return;const r=U[U.length-1];let n;if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"completelyDiscard"!==t.disallowedTagsMode||v(n))if(!n||!v(n)||"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"script"!==n&&"style"!==n)if(!n||!v(n)||"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"textarea"!==n&&"xmp"!==n){if(!R){const r=O(e,!1);t.textFilter?m+=t.textFilter(r,n):m+=r}}else m+=e;else m+=e;else e="";U.length&&(U[U.length-1].text+=e)},onclosetag:function(e,r){if(t.onCloseTag&&t.onCloseTag(e,r),F){if(M--,M)return;F=!1}const n=U.pop();if(!n)return;if(n.tag!==e)return void U.push(n);F=!!t.enforceHtmlBoundary&&"html"===e,K--;const i=P[K];if(i){if(delete P[K],"discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode)return void n.updateParentNodeText();w=m,m=""}if(T[K]&&(e=T[K],delete T[K]),t.exclusiveFilter){const e=t.exclusiveFilter(n);if("excludeTag"===e)return i&&(m=w,w=""),void(m=m.substring(0,n.tagPosition)+m.substring(n.tagPosition+n.openingTagLength));if(e)return void(m=m.substring(0,n.tagPosition))}n.updateParentNodeMediaChildren(),n.updateParentNodeText(),-1!==t.selfClosing.indexOf(e)||r&&!v(e)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0?i&&(m=w,w=""):(m+="",i&&(m=w+O(m),w=""),R=!1)}},t.parser);if(Q.write(e),Q.end(),"escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode){const t=Q.endIndex;if(null!=t&&t>=0&&t0&&""===m&&(m=O(e))}return m;function N(){m="",K=0,U=[],P={},T={},F=!1,M=0}function O(e,r){return"string"!=typeof e&&(e+=""),t.parser.decodeEntities&&(e=e.replace(/&/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,"""))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,""")),e}function L(e,r){const n=A(t.allowedSchemesByTag,e)?t.allowedSchemesByTag[e]:t.allowedSchemes||[];return l(r,{allowedSchemes:n,allowProtocolRelative:t.allowProtocolRelative})}function G(e){if((e=e.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let t="relative://relative-site";for(let e=0;e<100;e++)t+=`/${e}`;const r=new URL(e,t);return{isRelativeUrl:r&&"relative-site"===r.hostname&&"relative:"===r.protocol,url:r}}}const y={decodeEntities:!0};g.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite","action","formaction","data","xlink:href","poster","background","ping","longdesc","usemap","codebase","classid","archive","profile","manifest","itemid","dynsrc","lowsrc"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1},g.simpleTransform=function(e,t,r){return r=void 0===r||r,t=t||{},function(n,i){let s;if(r)for(s in t)i[s]=t[s];else i=t;return{tagName:e,attribs:i}}}},7151(e){"use strict";e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},1558(e){"use strict";e.exports=require("../../bundles/raw/web-stream-tools")},9746(){},9977(){},197(){},1866(){},2739(){},5979(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.fromCodePoint=void 0,t.replaceCodePoint=i,t.decodeCodePoint=function(e){return(0,t.fromCodePoint)(i(e))};const n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:e=>{let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t}},9299(e,t,r){"use strict";t.xmlDecodeTree=t.htmlDecodeTree=t.fromCodePoint=t.EntityDecoder=t.DecodingMode=void 0;const n=r(5979),i=r(642),s=r(1838),a=r(4865);var o,c,l;function u(e){return e>=o.ZERO&&e<=o.NINE}function h(e){return e>=o.UPPER_A&&e<=o.UPPER_F||e>=o.LOWER_A&&e<=o.LOWER_F}function f(e){return e===o.EQUALS||function(e){return e>=o.UPPER_A&&e<=o.UPPER_Z||e>=o.LOWER_A&&e<=o.LOWER_Z||u(e)}(e)}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(o||(o={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(c||(c={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(l||(t.DecodingMode=l={}));class A{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=c.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=l.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=c.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case c.EntityStart:return e.charCodeAt(t)===o.NUM?(this.state=c.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=c.NamedEntity,this.stateNamedEntity(e,t));case c.NumericStart:return this.stateNumericStart(e,t);case c.NumericDecimal:return this.stateNumericDecimal(e,t);case c.NumericHex:return this.stateNumericHex(e,t);case c.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===o.LOWER_X?(this.state=c.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=c.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t>14;for(;t>7;if(0===this.runConsumed){const r=n&a.BinTrieFlags.JUMP_TABLE;if(e.charCodeAt(t)!==r)return 0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed=e.length)return-1;const n=this.runConsumed-1,i=r[this.treeIndex+1+(n>>1)],s=n%2==0?255&i:i>>8&255;if(e.charCodeAt(t)!==s)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(s>>1),n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14}if(t>=e.length)break;const s=e.charCodeAt(t);if(s===o.SEMI&&0!==i&&0!==(n&a.BinTrieFlags.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=p(r,n,this.treeIndex+Math.max(1,i),s),this.treeIndex<0)return 0===this.result||this.decodeMode===l.Attribute&&(0===i||f(s))?0:this.emitNotTerminatedNamedEntity();if(n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14,0!==i){if(s===o.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==l.Strict&&0===(n&a.BinTrieFlags.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;const{result:t,decodeTree:r}=this,n=(r[t]&a.BinTrieFlags.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,n,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){const{decodeTree:n}=this;return this.emitCodePoint(1===t?n[e]&~(a.BinTrieFlags.VALUE_LENGTH|a.BinTrieFlags.FLAG13):n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r}end(){var e;switch(this.state){case c.NamedEntity:return 0===this.result||this.decodeMode===l.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case c.NumericDecimal:return this.emitNumericEntity(0,2);case c.NumericHex:return this.emitNumericEntity(0,3);case c.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c.EntityStart:return 0}}}function d(e){let t="";const r=new A(e,e=>t+=(0,n.fromCodePoint)(e));return function(e,n){let i=0,s=0;for(;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);const a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}const a=t+e.slice(i);return t="",a}}function p(e,t,r,n){const i=(t&a.BinTrieFlags.BRANCH_LENGTH)>>7,s=t&a.BinTrieFlags.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){const t=n-s;return t<0||t>=i?-1:e[r+t]-1}const o=i+1>>1;let c=0,l=i-1;for(;c<=l;){const t=c+l>>>1,i=e[r+(t>>1)]>>8*(1&t)&255;if(in))return e[r+o+t];l=t-1}}return-1}t.EntityDecoder=A;i.htmlDecodeTree,s.xmlDecodeTree;var g=r(5979);Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return g.fromCodePoint}});var y=r(642);Object.defineProperty(t,"htmlDecodeTree",{enumerable:!0,get:function(){return y.htmlDecodeTree}});var m=r(1838);Object.defineProperty(t,"xmlDecodeTree",{enumerable:!0,get:function(){return m.xmlDecodeTree}})},642(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.htmlDecodeTree=void 0;const n=r(275);t.htmlDecodeTree=(0,n.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg")},1838(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xmlDecodeTree=void 0;const n=r(275);t.xmlDecodeTree=(0,n.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg")},4865(e,t){"use strict";var r;t.BinTrieFlags=void 0,function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(r||(t.BinTrieFlags=r={}))},275(e,t){"use strict";t.decodeBase64=function(e){const t="function"==typeof atob?atob(e):"function"==typeof Buffer.from?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),r=-2&t.length,n=new Uint16Array(r/2);for(let e=0,i=0;e0&&s.has(this.stack[0]);){const e=this.stack.shift();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,e,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(g.has(e)?this.foreignContext.unshift(!0):y.has(e)&&this.foreignContext.unshift(!1))),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var r,n,i,s,a,o,c,l;this.endIndex=t;let u=this.getSlice(e,t);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),this.htmlMode&&(g.has(u)||y.has(u))&&this.foreignContext.shift(),this.isVoidElement(u))this.htmlMode&&"br"===u&&(null===(s=(i=this.cbs).onopentagname)||void 0===s||s.call(i,"br"),null===(o=(a=this.cbs).onopentag)||void 0===o||o.call(a,"br",{},!0),null===(l=(c=this.cbs).onclosetag)||void 0===l||l.call(c,"br",!1));else{const e=this.stack.indexOf(u);if(-1!==e)for(let t=0;t<=e;t++){const i=this.stack.shift();null===(n=(r=this.cbs).onclosetag)||void 0===n||n.call(r,i,t!==e)}else this.htmlMode&&"p"===u&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,r;const n=this.tagname;this.endOpenTag(e),this.stack[0]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.shift())}onattribname(e,t){this.startIndex=e;const r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=(0,c.fromCodePoint)(e)}onattribend(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===o.QuoteType.Double?'"':e===o.QuoteType.Single?"'":e===o.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(m);let r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r}ondeclaration(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`!${e}`,`!${r}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`?${e}`,`?${r}`)}this.startIndex=t+1}oncomment(e,t,r){var n,i,s,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,r){var n,i,s,a,o,c,l,u,h,f;this.endIndex=t;const A=this.getSlice(e,t-r);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,A),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(u=(l=this.cbs).oncomment)||void 0===u||u.call(l,`[CDATA[${A}]]`),null===(f=(h=this.cbs).oncommentend)||void 0===f||f.call(h)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e=this.buffers[0].length;)this.shiftBuffer();let r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndexthis.emitCodePoint(e,t))}reset(){this.state=s.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=s.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=s.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=s.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===i.Gt||o(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=i.LowerA&&e<=i.LowerZ||e>=i.UpperA&&e<=i.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=s.SpecialStartSequence}stateBeforeTagName(e){if(e===i.ExclamationMark)this.state=s.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===i.Questionmark)this.state=s.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=s.InTagName:t===l.ScriptEnd[2]?this.state=s.BeforeSpecialS:t===l.TitleEnd[2]||t===l.XmpEnd[2]?this.state=s.BeforeSpecialT:this.state=s.InTagName}else e===i.Slash?this.state=s.BeforeClosingTagName:(this.state=s.Text,this.stateText(e))}stateInTagName(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){o(e)||(e===i.Gt?this.state=s.Text:(this.state=this.isTagStartChar(e)?s.InClosingTagName:s.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===i.Gt||o(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===i.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=s.InSpecialTag,this.sequenceIndex=0):this.state=s.Text,this.sectionStart=this.index+1):e===i.Slash?this.state=s.InSelfClosingTag:o(e)||(this.state=s.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===i.Gt?(this.cbs.onselfclosingtag(this.index),this.state=s.Text,this.sectionStart=this.index+1,this.isSpecial=!1):o(e)||(this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===i.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=s.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===i.Eq?this.state=s.BeforeAttributeValue:e===i.Slash||e===i.Gt?(this.cbs.onattribend(a.NoValue,this.sectionStart),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):o(e)||(this.cbs.onattribend(a.NoValue,this.sectionStart),this.state=s.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===i.DoubleQuote?(this.state=s.InAttributeValueDq,this.sectionStart=this.index+1):e===i.SingleQuote?(this.state=s.InAttributeValueSq,this.sectionStart=this.index+1):o(e)||(this.sectionStart=this.index,this.state=s.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===i.DoubleQuote?a.Double:a.Single,this.index+1),this.state=s.BeforeAttributeName):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,i.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,i.SingleQuote)}stateInAttributeValueNoQuotes(e){o(e)||e===i.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a.Unquoted,this.index),this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===i.OpeningSquareBracket?(this.state=s.CDATASequence,this.sequenceIndex=0):this.state=e===i.Dash?s.BeforeComment:s.InDeclaration}stateInDeclaration(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===i.Dash?(this.state=s.InCommentLike,this.currentSequence=l.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=s.InDeclaration}stateInSpecialComment(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===l.ScriptEnd[3]?this.startSpecial(l.ScriptEnd,4):t===l.StyleEnd[3]?this.startSpecial(l.StyleEnd,4):(this.state=s.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){switch(32|e){case l.TitleEnd[3]:this.startSpecial(l.TitleEnd,4);break;case l.TextareaEnd[3]:this.startSpecial(l.TextareaEnd,4);break;case l.XmpEnd[3]:this.startSpecial(l.XmpEnd,4);break;default:this.state=s.InTagName,this.stateInTagName(e)}}startEntity(){this.baseState=this.state,this.state=s.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?n.DecodingMode.Strict:this.baseState===s.Text||this.baseState===s.InSpecialTag?n.DecodingMode.Legacy:n.DecodingMode.Attribute)}stateInEntity(){const e=this.index-this.offset,t=this.entityDecoder.write(this.buffer,e);if(t>=0)this.state=this.baseState,0===t&&(this.index-=1);else{if(e=e||(this.state===s.InCommentLike?this.currentSequence===l.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===s.InTagName||this.state===s.BeforeAttributeName||this.state===s.BeforeAttributeValue||this.state===s.AfterAttributeName||this.state===s.InAttributeName||this.state===s.InAttributeValueSq||this.state===s.InAttributeValueDq||this.state===s.InAttributeValueNq||this.state===s.InClosingTagName||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){this.baseState!==s.Text&&this.baseState!==s.InSpecialTag?(this.sectionStarte(t,n.root),t,r);return new c.Parser(n,t)},t.createDomStream=function(e,t,r){const n=new u.DomHandler(e,t,r);return new c.Parser(n,t)},t.parseFeed=function(e,t=y){return(0,p.getFeed)(A(e,t))};const c=r(2067);var l=r(2067);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return l.Parser}});const u=r(1141);var h=r(1141);function f(e,t){const r=new u.DomHandler(void 0,t);return new c.Parser(r,t).end(e),r.root}function A(e,t){return f(e,t).children}Object.defineProperty(t,"DomHandler",{enumerable:!0,get:function(){return h.DomHandler}}),Object.defineProperty(t,"DefaultHandler",{enumerable:!0,get:function(){return h.DomHandler}});var d=r(8391);Object.defineProperty(t,"Tokenizer",{enumerable:!0,get:function(){return o(d).default}}),Object.defineProperty(t,"QuoteType",{enumerable:!0,get:function(){return d.QuoteType}}),t.ElementType=a(r(5413));const p=r(8888);var g=r(8888);Object.defineProperty(t,"getFeed",{enumerable:!0,get:function(){return g.getFeed}});const y={xmlMode:!0};t.DomUtils=a(r(8888))},5042(e){e.exports={nanoid:(e=21)=>{let t="",r=0|e;for(;r--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(r=t)=>{let n="",i=0|r;for(;i--;)n+=e[Math.random()*e.length|0];return n}}},9275(e,t,r){"use strict";r.r(t),r.d(t,{ArrayStream:()=>n.ArrayStream,cancel:()=>n.cancel,clone:()=>n.clone,concat:()=>n.concat,concatStream:()=>n.concatStream,concatUint8Array:()=>i.Cs,fromAsync:()=>n.fromAsync,getReader:()=>n.getReader,getWriter:()=>n.getWriter,isArrayStream:()=>i.AS,isStream:()=>i.rL,isUint8Array:()=>i.mg,parse:()=>n.parse,passiveClone:()=>n.passiveClone,pipe:()=>n.pipe,readToEnd:()=>n.readToEnd,slice:()=>n.slice,toArrayStream:()=>n.toArrayStream,toStream:()=>n.toStream,transform:()=>n.transform,transformAsync:()=>n.transformAsync,transformPair:()=>n.transformPair,transformRaw:()=>n.transformRaw});var n=r(8877),i=r(7971)},8877(e,t,r){"use strict";r.d(t,{ArrayStream:()=>o.S5,cancel:()=>B,clone:()=>b,concat:()=>u,concatStream:()=>h,fromAsync:()=>C,getReader:()=>S,getWriter:()=>D,parse:()=>w,passiveClone:()=>v,pipe:()=>f,readToEnd:()=>I,slice:()=>k,toArrayStream:()=>l,toStream:()=>c,transform:()=>p,transformAsync:()=>g,transformPair:()=>m,transformRaw:()=>A});var n=r(7971);const i=new WeakSet,s=Symbol("externalBuffer");function a(e){if(this.stream=e,e[s]&&(this[s]=e[s].slice()),(0,n.AS)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if((0,n.rL)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||i.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{i.add(e)}catch{}}}a.prototype.read=async function(){return this[s]&&this[s].length?{done:!1,value:this[s].shift()}:this._read()},a.prototype.releaseLock=function(){this[s]&&(this.stream[s]=this[s]),this._releaseLock()},a.prototype.cancel=function(e){return this._cancel(e)},a.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?u(t):void 0;const i=n.indexOf("\n")+1;i&&(e=u(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},a.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(k(t,1)),r},a.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?u(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=u(t);return this.unshift(k(r,e)),k(r,0,e)}}},a.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},a.prototype.unshift=function(...e){this[s]||(this[s]=[]),1===e.length&&(0,n.mg)(e[0])&&this[s].length&&e[0].length&&this[s][0].byteOffset>=e[0].length?this[s][0]=new Uint8Array(this[s][0].buffer,this[s][0].byteOffset-e[0].length,this[s][0].byteLength+e[0].length):this[s].unshift(...e.filter(e=>e&&e.length))},a.prototype.readToEnd=async function(e=u){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};var o=r(9844);function c(e){return(0,n.rL)(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function l(e){const t=(0,n.rL)(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new o.S5;return(async()=>{const t=D(r);await t.write(e),await t.close()})(),r}function u(e){return e.some(e=>(0,n.rL)(e)&&!(0,n.AS)(e))?h(e):e.some(e=>(0,n.AS)(e))?function(e){const t=new o.S5;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>f(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):(0,n.Cs)(e)}function h(e){const t=e.map(c),r=d(async function(e){await Promise.all(i.map(t=>B(t,e)))});let n=Promise.resolve();const i=t.map((e,i)=>m(e,(e,s)=>(n=n.then(()=>f(e,r.writable,{preventClose:i!==t.length-1})),n)));return r.readable}async function f(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:a=!1}={}){if((0,n.rL)(e)&&!(0,n.AS)(e)&&!(0,n.AS)(t)){e=c(e);try{if(e[s]){const r=D(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function p(e,t=()=>{},r=()=>{},i={highWaterMark:0}){if((0,n.rL)(e))return y(e,t,r,i);const s=t(e),a=r();return void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a}async function g(e,t=async()=>{},r=async()=>{},i={highWaterMark:1}){if((0,n.rL)(e))return y(e,t,r,i);const s=await t(e),a=await r();return void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a}function y(e,t,r,i){if((0,n.AS)(e)){const n=new o.S5;return(async()=>{const i=D(n);try{const n=await I(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if((0,n.rL)(e)){let n,s=!1;return new ReadableStream({start(){n=e.getReader()},async pull(i){if(s)return i.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await n.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void i.enqueue(c);if(o)return i.close(),void e.releaseLock()}}catch(e){i.error(e)}},async cancel(e){await n.cancel(e)}},i)}throw new Error("Unreachable")}function m(e,t){if((0,n.rL)(e)&&!(0,n.AS)(e)){let r;const n=new TransformStream({start(e){r=e}}),i=f(e,n.writable),s=d(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=l(e);const r=new o.S5;return t(e,r),r}function w(e,t){let r;const n=m(e,(e,i)=>{const s=S(e);s.remainder=()=>(s.releaseLock(),f(e,i),n),r=t(s)});return r}function b(e){if((0,n.AS)(e))return e.clone();if((0,n.rL)(e)){const t=function(e){if((0,n.AS)(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if((0,n.rL)(e)){const t=c(e).tee();return t[0][s]=t[1][s]=e[s],t}return[k(e),k(e)]}(e);return E(e,t[0]),t[1]}return k(e)}function v(e){return(0,n.AS)(e)?b(e):(0,n.rL)(e)?new ReadableStream({start(t){const r=m(e,async(e,r)=>{const n=S(e),i=D(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch{}return void await i.close()}try{t.enqueue(r)}catch{}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});E(e,r)}}):k(e)}function E(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function k(e,t=0,r=1/0){if((0,n.AS)(e))throw new Error("Not implemented");if((0,n.rL)(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=k(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return p(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>k(u(n),t,r))}if(0===t&&r<0){let n;return p(e,e=>{const i=n?u([n,e]):e;if(i.length>=-r)return n=k(i,r),k(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),C(async()=>k(await I(e),t,r))}return e[s]&&(e=u(e[s].concat([e]))),(0,n.mg)(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function I(e,t=u){return(0,n.AS)(e)?e.readToEnd(t):(0,n.rL)(e)?S(e).readToEnd(t):e}async function B(e,t){if((0,n.rL)(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function C(e){const t=new o.S5;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function S(e){return new a(e)}function D(e){return new o.AU(e)}},7971(e,t,r){"use strict";r.d(t,{AS:()=>n.AS,Cs:()=>a,mg:()=>s,rL:()=>i});var n=r(9844);function i(e){if((0,n.AS)(e))return"array";if(globalThis.ReadableStream&&globalThis.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function s(e){return Uint8Array.prototype.isPrototypeOf(e)}function a(e){if(1===e.length)return e[0];let t=0;for(let r=0;rc,AU:()=>l,S5:()=>o});const n=Symbol("doneWritingPromise"),i=Symbol("doneWritingResolve"),s=Symbol("doneWritingReject"),a=Symbol("readingIndex");class o extends Array{constructor(){super(),Object.setPrototypeOf(this,o.prototype),this[n]=new Promise((e,t)=>{this[i]=e,this[s]=t}),this[n].catch(()=>{})}}function c(e){return e&&e.getReader&&Array.isArray(e)}function l(e){if(!c(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}o.prototype.getReader=function(){return void 0===this[a]&&(this[a]=0),{read:async()=>(await this[n],this[a]===this.length?{value:void 0,done:!0}:{value:this[this[a]++],done:!1})}},o.prototype.readToEnd=async function(e){await this[n];const t=e(this.slice(this[a]));return this.length=0,t},o.prototype.clone=function(){const e=new o;return e[n]=this[n].then(()=>{e.push(...this)}),e},l.prototype.write=async function(e){this.stream.push(e)},l.prototype.close=async function(){this.stream[i]()},l.prototype.abort=async function(e){return this.stream[s](e),e},l.prototype.releaseLock=function(){}},6382(e,t,r){"use strict";r.d(t,{Message:()=>Qa,PublicKey:()=>Da,SecretKeyPacket:()=>na,SecretSubkeyPacket:()=>aa,config:()=>O,createCleartextMessage:()=>ja,createMessage:()=>Ga,encrypt:()=>_a,encryptKey:()=>qa,enums:()=>N,generateKey:()=>Ja,readCleartextMessage:()=>Ya,readKey:()=>Pa,readKeys:()=>Ta,readMessage:()=>La,revokeKey:()=>Za,sign:()=>Va});const n="undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{};function i(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(e)}const s=Symbol("doneWritingPromise"),a=Symbol("doneWritingResolve"),o=Symbol("doneWritingReject"),c=Symbol("readingIndex");class l extends Array{constructor(){super(),Object.setPrototypeOf(this,l.prototype),this[s]=new Promise((e,t)=>{this[a]=e,this[o]=t}),this[s].catch(()=>{})}}function u(e){return e&&e.getReader&&Array.isArray(e)}function h(e){if(!u(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}function f(e){if(u(e))return"array";if(n.ReadableStream&&n.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(n.ReadableStream&&e instanceof n.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function A(e){return Uint8Array.prototype.isPrototypeOf(e)}function d(e){if(1===e.length)return e[0];let t=0;for(let r=0;r(await this[s],this[c]===this.length?{value:void 0,done:!0}:{value:this[this[c]++],done:!1})}},l.prototype.readToEnd=async function(e){await this[s];const t=e(this.slice(this[c]));return this.length=0,t},l.prototype.clone=function(){const e=new l;return e[s]=this[s].then(()=>{e.push(...this)}),e},h.prototype.write=async function(e){this.stream.push(e)},h.prototype.close=async function(){this.stream[a]()},h.prototype.abort=async function(e){return this.stream[o](e),e},h.prototype.releaseLock=function(){},"object"==typeof n.process&&n.process.versions;const p=new WeakSet,g=Symbol("externalBuffer");function y(e){if(this.stream=e,e[g]&&(this[g]=e[g].slice()),u(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(f(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||p.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{p.add(e)}catch{}}}function m(e){return f(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function w(e){const t=f(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new l;return(async()=>{const t=R(r);await t.write(e),await t.close()})(),r}function b(e){return e.some(e=>f(e)&&!u(e))?function(e){const t=e.map(m),r=E(async function(e){await Promise.all(i.map(t=>T(t,e)))});let n=Promise.resolve();const i=t.map((e,i)=>C(e,(e,s)=>(n=n.then(()=>v(e,r.writable,{preventClose:i!==t.length-1})),n)));return r.readable}(e):e.some(e=>u(e))?function(e){const t=new l;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>v(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):d(e)}async function v(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(f(e)&&!u(e)&&!u(t)){e=m(e);try{if(e[g]){const r=R(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function k(e,t=()=>{},r=()=>{},n={highWaterMark:0}){if(f(e))return B(e,t,r,n);const i=t(e),s=r();return void 0!==i&&void 0!==s?b([i,s]):void 0!==i?i:s}async function I(e,t=async()=>{},r=async()=>{},n={highWaterMark:1}){if(f(e))return B(e,t,r,n);const i=await t(e),s=await r();return void 0!==i&&void 0!==s?b([i,s]):void 0!==i?i:s}function B(e,t,r,n){if(u(e)){const n=new l;return(async()=>{const i=R(n);try{const n=await P(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?b([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(f(e)){let i,s=!1;return new ReadableStream({start(){i=e.getReader()},async pull(n){if(s)return n.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await i.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void n.enqueue(c);if(o)return n.close(),void e.releaseLock()}}catch(e){n.error(e)}},async cancel(e){await i.cancel(e)}},n)}throw new Error("Unreachable")}function C(e,t){if(f(e)&&!u(e)){let r;const n=new TransformStream({start(e){r=e}}),i=v(e,n.writable),s=E(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=w(e);const r=new l;return t(e,r),r}function S(e,t){let r;const n=C(e,(e,i)=>{const s=M(e);s.remainder=()=>(s.releaseLock(),v(e,i),n),r=t(s)});return r}function D(e){if(u(e))return e.clone();if(f(e)){const t=function(e){if(u(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if(f(e)){const t=m(e).tee();return t[0][g]=t[1][g]=e[g],t}return[U(e),U(e)]}(e);return K(e,t[0]),t[1]}return U(e)}function x(e){return u(e)?D(e):f(e)?new ReadableStream({start(t){const r=C(e,async(e,r)=>{const n=M(e),i=R(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch{}return void await i.close()}try{t.enqueue(r)}catch{}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});K(e,r)}}):U(e)}function K(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function U(e,t=0,r=1/0){if(u(e))throw new Error("Not implemented");if(f(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=U(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return k(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>U(b(n),t,r))}if(0===t&&r<0){let n;return k(e,e=>{const i=n?b([n,e]):e;if(i.length>=-r)return n=U(i,r),U(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),F(async()=>U(await P(e),t,r))}return e[g]&&(e=b(e[g].concat([e]))),A(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function P(e,t=b){return u(e)?e.readToEnd(t):f(e)?M(e).readToEnd(t):e}async function T(e,t){if(f(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function F(e){const t=new l;return(async()=>{const r=R(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function M(e){return new y(e)}function R(e){return new h(e)}y.prototype.read=async function(){return this[g]&&this[g].length?{done:!1,value:this[g].shift()}:this._read()},y.prototype.releaseLock=function(){this[g]&&(this.stream[g]=this[g]),this._releaseLock()},y.prototype.cancel=function(e){return this._cancel(e)},y.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?b(t):void 0;const i=n.indexOf("\n")+1;i&&(e=b(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},y.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(U(t,1)),r},y.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?b(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=b(t);return this.unshift(U(r,e)),U(r,0,e)}}},y.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},y.prototype.unshift=function(...e){this[g]||(this[g]=[]),1===e.length&&A(e[0])&&this[g].length&&e[0].length&&this[g][0].byteOffset>=e[0].length?this[g][0]=new Uint8Array(this[g][0].buffer,this[g][0].byteOffset-e[0].length,this[g][0].byteLength+e[0].length):this[g].unshift(...e.filter(e=>e&&e.length))},y.prototype.readToEnd=async function(e=b){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};const Q=Symbol("byValue");var N={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28},symmetric:{idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20,padding:21},literal:{binary:"b".charCodeAt(),text:"t".charCodeAt(),utf8:"u".charCodeAt(),mime:"m".charCodeAt()},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuerKeyID:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw new Error("Invalid enum value.")},read:function(e,t){if(e[Q]||(e[Q]=[],Object.entries(e).forEach(([t,r])=>{e[Q][r]=t})),void 0!==e[Q][t])return e[Q][t];throw new Error("Invalid enum value.")}};const O={preferredHashAlgorithm:N.hash.sha512,preferredSymmetricAlgorithm:N.symmetric.aes256,preferredCompressionAlgorithm:N.compression.uncompressed,aeadProtect:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:N.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:N.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},maxArgon2MemoryExponent:30,allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([N.symmetric.aes128,N.symmetric.aes192,N.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.3.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,maxDecompressedMessageSize:1/0,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([N.hash.md5,N.hash.ripemd]),rejectMessageHashAlgorithms:new Set([N.hash.md5,N.hash.ripemd,N.hash.sha1]),rejectPublicKeyAlgorithms:new Set([N.publicKey.elgamal,N.publicKey.dsa]),rejectCurves:new Set([N.curve.secp256k1])},L=(()=>{try{return!1}catch{}return!1})(),G={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:A,isStream:f,getNobleCurve:async(e,t)=>{if(!O.useEllipticFallback)throw new Error("This curve is only supported in the full build of OpenPGP.js");const{nobleCurves:r}=await Promise.resolve().then(function(){return zu});switch(e){case N.publicKey.ecdh:case N.publicKey.ecdsa:{const e=r.get(t);if(!e)throw new Error("Unsupported curve");return e}case N.publicKey.x448:return r.get("x448");case N.publicKey.ed448:return r.get("ed448");default:throw new Error("Unsupported curve")}},readNumber:function(e){let t=0;for(let r=0;r>8*(t-n-1)&255;return r},readDate:function(e){const t=G.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return G.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=7+(e[0]<<8|e[1])>>>3;return G.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.lengtht)throw new Error("Input array too long");const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=G.uint8ArrayBitLength(e);if(0===t)throw new Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return G.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t>1);for(let r=0;r>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t="0123456789abcdef";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),r},stringToUint8Array:function(e){return k(e,e=>{if(!G.isString(e))throw new Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;rr("",!0))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return k(e,r,()=>r(new Uint8Array,!0))},concat:b,concatUint8Array:d,equalsUint8Array:function(e,t){if(!G.isUint8Array(e)||!G.isUint8Array(t))throw new Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r=0;r--)if(t(e[r],r,e))return r;return-1},writeChecksum:function(e){let t=0;for(let r=0;r>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){const e=void 0!==n&&n.crypto&&n.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!e)throw new Error("The WebCrypto API is not available");return e},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){return"undefined"!=typeof navigator?navigator.hardwareConcurrency||1:this.nodeRequire("os").cpus().length},isEmailAddress:function(e){return!!G.isString(e)&&/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return k(e,e=>{let r;t&&(e=G.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let s=0;for(let t=0;tt?new Uint8Array([13]):void 0)},nativeEOL:function(e){let t=!1;return k(e,e=>{let r;13===(e=t&&10!==e[0]?G.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)},()=>t?new Uint8Array([13]):void 0)},removeTrailingSpaces:function(e){return e.split("\n").map(e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)}).join("\n")},wrapError:function(e,t){if(!t)return e instanceof Error?e:new Error(e);if(e instanceof Error){try{e.message+=": "+t.message,e.cause=t}catch{}return e}return new Error(e+": "+t.message,{cause:t})},constructAllowedPackets:function(e){const t={};return e.forEach(e=>{if(!e.tag)throw new Error("Invalid input: expected a packet class");t[e.tag]=e}),t},anyPromise:function(e){return new Promise((t,r)=>{let n;Promise.all(e.map(async e=>{try{t(await e)}catch(e){n=e}})).then(()=>{r(n)})})},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let s=0;for(let n=0;n{t=G.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,s=W(t.subarray(0,i));for(let e=0;et.length?W(t)+"\n":"")}function J(e){let t="";return k(e,e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const s=Y(t.substr(0,i));return t=t.substr(i),s},()=>Y(t))}function Z(e){return J(e.replace(/-/g,"+").replace(/_/g,"/"))}function q(e,t){let r=j(e).replace(/[\r\n]/g,"");return r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,""),r}function _(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw new Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?N.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?N.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?N.armor.signed:/MESSAGE/.test(t[1])?N.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?N.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?N.armor.privateKey:/SIGNATURE/.test(t[1])?N.armor.signature:void 0}function V(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function z(e){const t=function(e){let t=13501623;return k(e,e=>{const r=$?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e>24&255]^X[1][t>>16&255]^X[2][t>>8&255]^X[3][255&t];for(let n=4*r;n>8^X[0][255&t^e[n]]},()=>new Uint8Array([t,t>>8,t>>16]))}(e);return j(t)}H?(W=e=>H.from(e).toString("base64"),Y=e=>{const t=H.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(W=e=>btoa(G.uint8ArrayToString(e)),Y=e=>G.stringToUint8Array(atob(e)));const X=[new Array(255),new Array(255),new Array(255),new Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(8388608&t?8801531:0);X[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)X[1][e]=X[0][e]>>8^X[0][255&X[0][e]];for(let e=0;e<=255;e++)X[2][e]=X[1][e]>>8^X[0][255&X[1][e]];for(let e=0;e<=255;e++)X[3][e]=X[2][e]>>8^X[0][255&X[2][e]];const $=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function ee(e){for(let t=0;t=0&&r!==e.length-1&&(t=e.slice(0,r)),t}function re(e){return new Promise((t,r)=>{try{const n=/^-----[^-]+-----$/m,i=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const a=[];let o,c,l=a,u=[];const h=J(C(e,async(e,f)=>{const A=M(e);try{for(;;){let e=await A.readLine();if(void 0===e)throw new Error("Misformed armored text");if(e=G.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(o)c||s!==N.armor.signed||(n.test(e)?(u=u.join("\r\n"),c=!0,ee(l),l=[],o=!1):u.push(e.replace(/^- /,"")));else if(n.test(e)&&r(new Error("Mandatory blank line missing between armor headers and armor data")),i.test(e)){if(ee(l),o=!0,c||s!==N.armor.signed){t({text:u,data:h,headers:a,type:s});break}}else l.push(e);else n.test(e)&&(s=_(e))}}catch(e){return void r(e)}const d=R(f);try{for(;;){await d.ready;const{done:e,value:t}=await A.read();if(e)throw new Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await A.readToEnd();e.length||(e=""),e=r+e,e=G.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw new Error("Misformed armored text");const i=te(t[0].slice(0,-1));await d.write(i);break}await d.write(r)}await d.ready,await d.close()}catch(e){await d.abort(e)}}))}catch(e){r(e)}}).then(async e=>(u(e.data)&&(e.data=await P(e.data)),e))}function ne(e,t,r,n,i,s=!1,a=O){let o,c;e===N.armor.signed&&(o=t.text,c=t.hash,t=t.data);const l=s&&x(t),u=[];switch(e){case N.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case N.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case N.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push(c?`Hash: ${c}\n\n`:"\n"),u.push(o.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP SIGNATURE-----\n");break;case N.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE-----\n");break;case N.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case N.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case N.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(V(i,a)),u.push(j(t)),l&&u.push("=",z(l)),u.push("-----END PGP SIGNATURE-----\n")}return G.concat(u)}const ie=BigInt(0),se=BigInt(1);function ae(e){const t="0123456789ABCDEF";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),BigInt("0x0"+r)}function oe(e,t){const r=e%t;return rie;){const e=n&se;n>>=se,s=ce(e,s*i%r,s),i=i*i%r}return s}function ue(e){return e>=ie?e:-e}function he(e,t){const{gcd:r,x:n}=function(e,t){let r=BigInt(0),n=BigInt(1),i=BigInt(1),s=BigInt(0),a=ue(e),o=ue(t);const c=eNumber.MAX_SAFE_INTEGER)throw new Error("Number can only safely store up to 53 bits");return t}function Ae(e,t){return(e>>BigInt(t)&se)===ie?0:1}function de(e){const t=e>=se)!==t;)r++;return r}function pe(e){const t=e>=r)!==t;)n++;return n}function ge(e,t="be",r){let n=e.toString(16);n.length%2==1&&(n="0"+n);const i=n.length/2,s=new Uint8Array(r||i),a=r?r-i:0;let o=0;for(;oe&&(a=oe(a,i<oe(e,r)!==t)}(e)||!function(e,t=BigInt(2)){return le(t,e-be,e)===be}(e)||!function(e,t){const r=de(e);t||(t=Math.max(1,r/48|0));const n=e-be;let i=0;for(;!Ae(n,i);)i++;const s=e>>BigInt(i);for(;t>0;t--){let t,r=le(we(BigInt(2),n),s,e);if(r!==be&&r!==n){for(t=1;tBigInt(e)),Ie=G.getWebCrypto(),Be=G.getNodeCrypto(),Ce=Be&&Be.getHashes();function Se(e){if(Be&&Ce.includes(e))return async function(t){const r=Be.createHash(e);return k(t,e=>{r.update(e)},()=>new Uint8Array(r.digest()))}}function De(e,t){const r=async()=>{const{nobleHashes:t}=await Promise.resolve().then(function(){return Bh}),r=t.get(e);if(!r)throw new Error("Unsupported hash");return r};return async function(e){if(u(e)&&(e=await P(e)),G.isStream(e)){const t=(await r()).create();return k(e,e=>{t.update(e)},()=>t.digest())}return Ie&&t?new Uint8Array(await Ie.digest(t,e)):(await r())(e)}}const xe=Se("md5")||De("md5"),Ke=Se("sha1")||De("sha1","SHA-1"),Ue=Se("sha224")||De("sha224"),Pe=Se("sha256")||De("sha256","SHA-256"),Te=Se("sha384")||De("sha384","SHA-384"),Fe=Se("sha512")||De("sha512","SHA-512"),Me=Se("ripemd160")||De("ripemd160"),Re=Se("sha3-256")||De("sha3_256"),Qe=Se("sha3-512")||De("sha3_512");function Ne(e,t){switch(e){case N.hash.md5:return xe(t);case N.hash.sha1:return Ke(t);case N.hash.ripemd:return Me(t);case N.hash.sha256:return Pe(t);case N.hash.sha384:return Te(t);case N.hash.sha512:return Fe(t);case N.hash.sha224:return Ue(t);case N.hash.sha3_256:return Re(t);case N.hash.sha3_512:return Qe(t);default:throw new Error("Unsupported hash function")}}function Oe(e){switch(e){case N.hash.md5:return 16;case N.hash.sha1:case N.hash.ripemd:return 20;case N.hash.sha256:return 32;case N.hash.sha384:return 48;case N.hash.sha512:return 64;case N.hash.sha224:return 28;case N.hash.sha3_256:return 32;case N.hash.sha3_512:return 64;default:throw new Error("Invalid hash algorithm.")}}const Le=[];function Ge(e,t){const r=e.length;if(r>t-11)throw new Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r=8&!n;if(t)return G.selectUint8Array(a,s,t);if(a)return s;throw new Error("Decryption error")}function We(e,t,r){let n;if(t.length!==Oe(e))throw new Error("Invalid hash length");const i=new Uint8Array(Le[e].length);for(n=0;n=r.length)throw new Error("Digest size cannot exceed key modulus size");if(t&&!G.isStream(t))if(G.getWebCrypto())try{return await async function(e,t,r,n,i,s,a,o){const c=_e(r,n,i,s,a,o),l={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},u=await Ye.importKey("jwk",c,l,!1,["sign"]);return new Uint8Array(await Ye.sign("RSASSA-PKCS1-v1_5",u,t))}(N.read(N.webHash,e),t,r,n,i,s,a,o)}catch(e){G.printDebugError(e)}else if(G.getNodeCrypto())return function(e,t,r,n,i,s,a,o){const c=je.createSign(N.read(N.hash,e));c.write(t),c.end();const l=_e(r,n,i,s,a,o);return new Uint8Array(c.sign({key:l,format:"jwk",type:"pkcs1"}))}(e,t,r,n,i,s,a,o);return function(e,t,r,n){t=ae(t);return ge(le(ae(We(e,n,pe(t))),r=ae(r),t),"be",pe(t))}(e,r,i,c)}async function qe(e,t,r){return G.getNodeCrypto()?function(e,t,r){const n={key:Ve(t,r),format:"jwk",type:"pkcs1",padding:je.constants.RSA_PKCS1_PADDING};return new Uint8Array(je.publicEncrypt(n,e))}(e,t,r):function(e,t,r){if(t=ae(t),e=ae(Ge(e,pe(t))),r=ae(r),e>=t)throw new Error("Message size cannot exceed modulus size");return ge(le(e,r,t),"be",pe(t))}(e,t,r)}function _e(e,t,r,n,i,s){const a=ae(n),o=ae(i),c=ae(r);let l=oe(c,o-Je),u=oe(c,a-Je);return u=ge(u),l=ge(l),{kty:"RSA",n:q(e),e:q(t),d:q(r),p:q(i),q:q(n),dp:q(l),dq:q(u),qi:q(s),ext:!0}}function Ve(e,t){return{kty:"RSA",n:q(e),e:q(t),ext:!0}}function ze(e,t){return{n:Z(e.n),e:ge(t),d:Z(e.d),p:Z(e.q),q:Z(e.p),u:Z(e.qi)}}const Xe=BigInt(1),$e={"2a8648ce3d030107":N.curve.nistP256,"2b81040022":N.curve.nistP384,"2b81040023":N.curve.nistP521,"2b8104000a":N.curve.secp256k1,"2b06010401da470f01":N.curve.ed25519Legacy,"2b060104019755010501":N.curve.curve25519Legacy,"2b2403030208010107":N.curve.brainpoolP256r1,"2b240303020801010b":N.curve.brainpoolP384r1,"2b240303020801010d":N.curve.brainpoolP512r1};class et{constructor(e){if(e instanceof et)this.oid=e.oid;else if(G.isArray(e)||G.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw new Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw new Error("Invalid oid")}write(){return G.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return G.uint8ArrayToHex(this.oid)}getName(){const e=$e[this.toHex()];if(!e)throw new Error("Unknown curve object identifier.");return e}}function tt(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=G.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function rt(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):G.concatUint8Array([new Uint8Array([255]),G.writeNumber(e,4)])}function nt(e){if(e<0||e>30)throw new Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function it(e){return new Uint8Array([192|e])}function st(e,t){return G.concatUint8Array([it(e),rt(t)])}function at(e){return[N.packet.literalData,N.packet.compressedData,N.packet.symmetricallyEncryptedData,N.packet.symEncryptedIntegrityProtectedData,N.packet.aeadEncryptedData].includes(e)}async function ot(e,t,r){let n,i;try{const s=await e.peekBytes(2);if(!s||s.length<2||!(128&s[0]))throw new Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const a=await e.readByte();let o,c,u=-1,h=-1;h=0,64&a&&(h=1),h?u=63&a:(u=(63&a)>>2,c=3&a);const f=at(u);let A,d=null;if(t&&f){if("array"===t){const e=new l;n=R(e),d=e}else{const e=new TransformStream;n=R(e.writable),d=e.readable}i=r({tag:u,packet:d})}else d=[];do{if(h){const t=await e.readByte();if(A=!1,t<192)o=t;else if(t>=192&&t<224)o=(t-192<<8)+await e.readByte()+192;else if(t>223&&t<255){if(o=1<<(31&t),A=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte()}else switch(c){case 0:o=await e.readByte();break;case 1:o=await e.readByte()<<8|await e.readByte();break;case 2:o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte();break;default:o=1/0}if(o>0){let t=0;for(;;){n&&await n.ready;const{done:r,value:i}=await e.read();if(r){if(o===1/0)break;throw new Error("Unexpected end of packet")}const s=o===1/0?i:i.subarray(0,o-t);if(n?await n.write(s):d.push(s),t+=i.length,t>=o){e.unshift(i.subarray(o-t+i.length));break}}}}while(A);n?(await n.ready,await n.close()):(d=G.concatUint8Array(d),await r({tag:u,packet:d}))}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i}}class ct extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="UnsupportedError"}}class lt extends ct{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="UnknownPacketError"}}class ut extends ct{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="MalformedPacketError"}}class ht{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}async function ft(e){switch(e){case N.publicKey.ed25519:try{const e=G.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(Z(n.x)),seed:Z(r.d)}}catch(t){if("NotSupportedError"!==t.name)throw t;const{default:r}=await Promise.resolve().then(function(){return gf}),n=me(gt(e)),{publicKey:i}=r.sign.keyPair.fromSeed(n);return{A:i,seed:n}}case N.publicKey.ed448:{const e=await G.getNobleCurve(N.publicKey.ed448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,seed:t}}default:throw new Error("Unsupported EdDSA algorithm")}}async function At(e,t,r,n,i,s){if(Oe(t){if(e===N.publicKey.ed25519)return{kty:"OKP",crv:"Ed25519",x:q(t),ext:!0};throw new Error("Unsupported EdDSA algorithm")},wt=(e,t,r)=>{if(e===N.publicKey.ed25519){const n=mt(e,t);return n.d=q(r),n}throw new Error("Unsupported EdDSA algorithm")};var bt=Object.freeze({__proto__:null,generate:ft,getPayloadSize:gt,getPreferredHashAlgo:yt,sign:At,validateParams:pt,verify:dt});function vt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Et(e,...t){if(!vt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function kt(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 It(e,t){Et(e);const r=t.outputLen;if(e.length68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function Kt(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!vt(e))throw new Error("Uint8Array expected, got "+typeof e);e=Nt(e)}return e}function Ut(e,t){return e.buffer===t.buffer&&e.byteOffset{function r(r,...n){if(Et(r),!xt)throw new Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){const t=n[0];if(!t)throw new Error("nonce / iv required");e.varSizeNonce?Et(t):Et(t,e.nonceLength)}const i=e.tagLength;i&&void 0!==n[1]&&Et(n[1]);const s=t(r,...n),a=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error("cipher output not supported");Et(t)}};let o=!1;return{encrypt(e,t){if(o)throw new Error("cannot encrypt() twice with same key + nonce");return o=!0,Et(e),a(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(Et(e),i&&e.length>i&s),o=Number(r&s);e.setUint32(t+0,a,n),e.setUint32(t+4,o,n)}function Qt(e){return e.byteOffset%4==0}function Nt(e){return Uint8Array.from(e)}const Ot=16,Lt=new Uint8Array(16),Gt=Ct(Lt),Ht=(e,t,r,n)=>({s3:r<<31|n>>>1,s2:t<<31|r>>>1,s1:e<<31|t>>>1,s0:e>>>1^225<<24&-(1&n)}),Wt=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class Yt{constructor(e,t){this.blockLen=Ot,this.outputLen=Ot,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,Et(e=Kt(e),16);const r=Dt(e);let n=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),a=r.getUint32(12,!1);const o=[];for(let e=0;e<128;e++)o.push({s0:Wt(n),s1:Wt(i),s2:Wt(s),s3:Wt(a)}),({s0:n,s1:i,s2:s,s3:a}=Ht(n,i,s,a));const c=(l=t||1024)>65536?8:l>1024?4:2;var l;if(![1,2,4,8].includes(c))throw new Error("ghash: invalid window size, expected 2, 4 or 8");this.W=c;const u=128/c,h=this.windowSize=2**c,f=[];for(let e=0;e>>c-a-1&1))continue;const{s0:l,s1:u,s2:h,s3:f}=o[c*e+a];r^=l,n^=u,i^=h,s^=f}f.push({s0:r,s1:n,s2:i,s3:s})}this.t=f}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:i,t:s,windowSize:a}=this;let o=0,c=0,l=0,u=0;const h=(1<>>8*e&255;for(let e=8/i-1;e>=0;e--){const r=t>>>i*e&h,{s0:n,s1:A,s2:d,s3:p}=s[f*a+r];o^=n,c^=A,l^=d,u^=p,f+=1}}this.s0=o,this.s1=c,this.s2=l,this.s3=u}update(e){kt(this),Et(e=Kt(e));const t=Ct(e),r=Math.floor(e.length/Ot),n=e.length%Ot;for(let e=0;e>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(Nt(e));super(r,t),St(r)}update(e){e=Kt(e),kt(this);const t=Ct(e),r=e.length%Ot,n=Math.floor(e.length/Ot);for(let e=0;ee(r,t.length).update(Kt(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const Zt=Jt((e,t)=>new Yt(e,t));Jt((e,t)=>new jt(e,t));const qt=16,_t=new Uint8Array(qt);function Vt(e){return e<<1^283&-(e>>7)}function zt(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=Vt(e);return r}const Xt=(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=Vt(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return St(e),t})(),$t=Xt.map((e,t)=>Xt.indexOf(t)),er=e=>e<<24|e>>>8,tr=e=>e<<8|e>>>24,rr=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function nr(e,t){if(256!==e.length)throw new Error("Wrong sbox length");const r=new Uint32Array(256).map((r,n)=>t(e[n])),n=r.map(tr),i=n.map(tr),s=i.map(tr),a=new Uint32Array(65536),o=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const u=256*t+l;a[u]=r[t]^n[l],o[u]=i[t]^s[l],c[u]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:i,T3:s,T01:a,T23:o}}const ir=nr(Xt,e=>zt(e,3)<<24|e<<16|e<<8|zt(e,2)),sr=nr($t,e=>zt(e,11)<<24|zt(e,13)<<16|zt(e,9)<<8|zt(e,14)),ar=(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=Vt(r))e[t]=r;return e})();function or(e){Et(e);const t=e.length;if(![16,24,32].includes(t))throw new Error("aes: invalid key size, should be 16, 24 or 32, got "+t);const{sbox2:r}=ir,n=[];Qt(e)||n.push(e=Nt(e));const i=Ct(e),s=i.length,a=e=>ur(r,e,e,e,e),o=new Uint32Array(t+28);o.set(i);for(let e=s;e6&&e%s===4&&(t=a(t)),o[e]=o[e-s]^t}return St(...n),o}function cr(e){const t=or(e),r=t.slice(),n=t.length,{sbox2:i}=ir,{T0:s,T1:a,T2:o,T3:c}=sr;for(let e=0;e>>8&255]^o[n>>>16&255]^c[n>>>24]}return r}function lr(e,t,r,n,i,s){return e[r<<8&65280|n>>>8&255]^t[i>>>8&65280|s>>>24&255]}function ur(e,t,r,n,i){return e[255&t|65280&r]|e[n>>>16&255|i>>>16&65280]<<16}function hr(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=ir;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const l=e.length/4-2;for(let s=0;s=0;e--)r=r+(255&s[e])|0,s[e]=255&r,r>>>=8;({s0:o,s1:c,s2:l,s3:u}=hr(e,a[0],a[1],a[2],a[3]))}const A=qt*Math.floor(h.length/4);if(A>>0,o.setUint32(u,f,t),({s0:A,s1:d,s2:p,s3:g}=hr(e,a[0],a[1],a[2],a[3]));const y=qt*Math.floor(c.length/4);if(yr(e,t),decrypt:(e,t)=>r(e,t)}}),gr=Ft({blockSize:16,nonceLength:16},function(e,t,r={}){const n=!r.disablePadding;return{encrypt(r,i){const s=or(e),{b:a,o,out:c}=function(e,t,r){Et(e);let n=e.length;const i=n%qt;if(!t&&0!==i)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");Qt(e)||(e=Nt(e));const s=Ct(e);if(t){let e=qt-i;e||(e=qt),n+=e}return Pt(e,r=Mt(n,r)),{b:s,o:Ct(r),out:r}}(r,n,i);let l=t;const u=[s];Qt(l)||u.push(l=Nt(l));const h=Ct(l);let f=h[0],A=h[1],d=h[2],p=h[3],g=0;for(;g+4<=a.length;)f^=a[g+0],A^=a[g+1],d^=a[g+2],p^=a[g+3],({s0:f,s1:A,s2:d,s3:p}=hr(s,f,A,d,p)),o[g++]=f,o[g++]=A,o[g++]=d,o[g++]=p;if(n){const e=function(e){const t=new Uint8Array(16),r=Ct(t);t.set(e);const n=qt-e.length;for(let e=qt-n;e16)throw new Error("aes/pcks5: wrong padding");const i=e.subarray(0,-n);for(let t=0;tr(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}});const mr=Ft({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){if(t.length<8)throw new Error("aes/gcm: invalid nonce length");function n(e,t,n){const i=function(e,t,r,n,i){const s=i?i.length:0,a=e.create(r,n.length+s);i&&a.update(i);const o=function(e,t,r){const n=new Uint8Array(16),i=Dt(n);return Rt(i,0,BigInt(t),r),Rt(i,8,BigInt(e),r),n}(8*n.length,8*s,t);a.update(n),a.update(o);const c=a.digest();return St(o),c}(Zt,!1,e,n,r);for(let e=0;e=2**32)throw new Error("plaintext should be less than 4gb");const r=or(e);if(16===t.length)br(r,t);else{const e=Ct(t);let n=e[0],i=e[1];for(let t=0,s=1;t<6;t++)for(let t=2;t=2**32)throw new Error("ciphertext should be less than 4gb");const r=cr(e),n=t.length/8-1;if(1===n)vr(r,t);else{const e=Ct(t);let i=e[0],s=e[1];for(let t=0,a=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,a--){s^=rr(a);const{s0:n,s1:o,s2:c,s3:l}=fr(r,i,s,e[t],e[t+1]);i=n,s=o,e[t]=c,e[t+1]=l}e[0]=i,e[1]=s}r.fill(0)}},kr=new Uint8Array(8).fill(166),Ir=Ft({blockSize:8},e=>({encrypt(t){if(!t.length||t.length%8!=0)throw new Error("invalid plaintext length");if(8===t.length)throw new Error("8-byte keys not allowed in AESKW, use AESKWP instead");const r=function(...e){let t=0;for(let r=0;r{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);if(r.x!==n.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(Z(n.x)),k:Z(r.d)}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then(function(){return gf}),{secretKey:r,publicKey:n}=t.box.keyPair();return{A:n,k:r}}case N.publicKey.x448:{const e=await G.getNobleCurve(N.publicKey.x448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,k:t}}default:throw new Error("Unsupported ECDH algorithm")}}async function Rr(e,t,r){switch(e){case N.publicKey.x25519:try{const{ephemeralPublicKey:n,sharedSecret:i}=await Lr(e,t),s=await Gr(e,n,t,r);return G.equalsUint8Array(i,s)}catch{return!1}case N.publicKey.x448:{const e=(await G.getNobleCurve(N.publicKey.x448)).getPublicKey(r);return G.equalsUint8Array(t,e)}default:return!1}}async function Qr(e,t,r){const{ephemeralPublicKey:n,sharedSecret:i}=await Lr(e,r),s=G.concatUint8Array([n,r,i]);switch(e){case N.publicKey.x25519:{const e=N.symmetric.aes128,{keySize:r}=xr(e),i=await Tr(N.hash.sha256,s,new Uint8Array,Fr.x25519,r);return{ephemeralPublicKey:n,wrappedKey:await Ur(e,i,t)}}case N.publicKey.x448:{const e=N.symmetric.aes256,{keySize:r}=xr(N.symmetric.aes256),i=await Tr(N.hash.sha512,s,new Uint8Array,Fr.x448,r);return{ephemeralPublicKey:n,wrappedKey:await Ur(e,i,t)}}default:throw new Error("Unsupported ECDH algorithm")}}async function Nr(e,t,r,n,i){const s=await Gr(e,t,n,i),a=G.concatUint8Array([t,n,s]);switch(e){case N.publicKey.x25519:{const e=N.symmetric.aes128,{keySize:t}=xr(e);return Pr(e,await Tr(N.hash.sha256,a,new Uint8Array,Fr.x25519,t),r)}case N.publicKey.x448:{const e=N.symmetric.aes256,{keySize:t}=xr(N.symmetric.aes256);return Pr(e,await Tr(N.hash.sha512,a,new Uint8Array,Fr.x448,t),r)}default:throw new Error("Unsupported ECDH algorithm")}}function Or(e){switch(e){case N.publicKey.x25519:return 32;case N.publicKey.x448:return 56;default:throw new Error("Unsupported ECDH algorithm")}}async function Lr(e,t){switch(e){case N.publicKey.x25519:try{const r=G.getWebCrypto(),n=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),i=await r.exportKey("jwk",n.publicKey);if((await r.exportKey("jwk",n.privateKey)).x!==i.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}const s=Wr(e,t),a=await r.importKey("jwk",s,"X25519",!1,[]),o=await r.deriveBits({name:"X25519",public:a},n.privateKey,8*Or(e));return{sharedSecret:new Uint8Array(o),ephemeralPublicKey:new Uint8Array(Z(i.x))}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return gf}),{secretKey:n,publicKey:i}=r.box.keyPair(),s=r.scalarMult(n,t);return Hr(s),{ephemeralPublicKey:i,sharedSecret:s}}case N.publicKey.x448:{const e=await G.getNobleCurve(N.publicKey.x448),{secretKey:r,publicKey:n}=e.keygen(),i=e.getSharedSecret(r,t);return Hr(i),{ephemeralPublicKey:n,sharedSecret:i}}default:throw new Error("Unsupported ECDH algorithm")}}async function Gr(e,t,r,n){switch(e){case N.publicKey.x25519:try{const i=G.getWebCrypto(),s=function(e,t,r){if(e===N.publicKey.x25519){const n=Wr(e,t);return n.d=q(r),n}throw new Error("Unsupported ECDH algorithm")}(e,r,n),a=Wr(e,t),o=await i.importKey("jwk",s,"X25519",!1,["deriveKey","deriveBits"]),c=await i.importKey("jwk",a,"X25519",!1,[]),l=await i.deriveBits({name:"X25519",public:c},o,8*Or(e));return new Uint8Array(l)}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return gf}),i=r.scalarMult(n,t);return Hr(i),i}case N.publicKey.x448:{const e=(await G.getNobleCurve(N.publicKey.x448)).getSharedSecret(n,t);return Hr(e),e}default:throw new Error("Unsupported ECDH algorithm")}}function Hr(e){let t=0;for(let r=0;r0===s[0]&&hn(a,r,s.subarray(1),i);if(n&&!G.isStream(n))switch(a.type){case"web":try{const e=await async function(e,t,{r,s:n},i,s){const a=sn(e.payloadSize,Zr[e.name],s),o=await on.importKey("jwk",a,{name:"ECDSA",namedCurve:Zr[e.name],hash:{name:N.read(N.webHash,e.hash)}},!1,["verify"]),c=G.concatUint8Array([r,n]).buffer;return on.verify({name:"ECDSA",namedCurve:Zr[e.name],hash:{name:N.read(N.webHash,t)}},o,c,i)}(a,t,r,n,i);return e||o()}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;G.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":{const e=function(e,t,{r,s:n},i,s){const a=G.nodeRequire("eckey-utils"),o=G.getNodeBuffer(),{publicKey:c}=a.generateDer({curveName:_r[e.name],publicKey:o.from(s)}),l=cn.createVerify(N.read(N.hash,t));l.write(i),l.end();const u=G.concatUint8Array([r,n]);try{return l.verify({key:c,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},u)}catch{return!1}}(a,t,r,n,i);return e||o()}}return await hn(a,r,s,i)||o()}async function hn(e,t,r,n){return(await G.getNobleCurve(N.publicKey.ecdsa,e.name)).verify(G.concatUint8Array([t.r,t.s]),r,n,{lowS:!1})}var fn=Object.freeze({__proto__:null,sign:ln,validateParams:async function(e,t,r){const n=new zr(e);if(n.keyType!==N.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=me(8),i=N.hash.sha256,s=await Ne(i,n);try{const a=await ln(e,i,n,t,r,s);return await un(e,i,a,n,t,s)}catch{return!1}}default:return en(N.publicKey.ecdsa,e,t,r)}},verify:un});async function An(e,t,r,n,i,s){if(tn(new zr(e),n),Oe(t)0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(G.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw new Error("Invalid padding")}function mn(e,t,r,n){return G.concatUint8Array([t.write(),new Uint8Array([e]),r.write(),G.stringToUint8Array("Anonymous Sender "),n])}async function wn(e,t,r,n,i=!1,s=!1){let a;if(i){for(a=0;a=0&&0===t[a];a--);t=t.subarray(0,a+1)}return(await Ne(e,G.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function bn(e,t,r,n,i){const s=function(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}(r),a=new zr(e);tn(a,n);const{publicKey:o,sharedKey:c}=await async function(e,t){switch(e.type){case"curve25519Legacy":{const{sharedSecret:r,ephemeralPublicKey:n}=await Lr(N.publicKey.x25519,t.subarray(1));return{publicKey:G.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),n]),sharedKey:r}}case"web":if(e.web&&G.getWebCrypto())try{return await async function(e,t){const r=G.getWebCrypto(),n=sn(e.payloadSize,e.web,t);let i=r.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),s=r.importKey("jwk",n,{name:"ECDH",namedCurve:e.web},!1,[]);[i,s]=await Promise.all([i,s]);let a=r.deriveBits({name:"ECDH",namedCurve:e.web,public:s},i.privateKey,e.sharedSize),o=r.exportKey("jwk",i.publicKey);[a,o]=await Promise.all([a,o]);const c=new Uint8Array(a);return{publicKey:new Uint8Array(nn(o,e.wireFormatLeadingByte)),sharedKey:c}}(e,t)}catch(r){return G.printDebugError(r),kn(e,t)}break;case"node":return function(e,t){const r=G.getNodeCrypto().createECDH(e.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t));return{publicKey:new Uint8Array(r.getPublicKey()),sharedKey:n}}(e,t);default:return kn(e,t)}}(a,n),l=mn(N.publicKey.ecdh,e,t,i),{keySize:u}=xr(t.cipher),h=await wn(t.hash,c,u,l);return{publicKey:o,wrappedKey:await Ur(t.cipher,h,s)}}async function vn(e,t,r,n,i,s,a){const o=new zr(e);tn(o,i),tn(o,r);const{sharedKey:c}=await async function(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519Legacy":{const e=n.slice().reverse();return{secretKey:e,sharedKey:await Gr(N.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&G.getWebCrypto())try{return await async function(e,t,r,n){const i=G.getWebCrypto(),s=an(e.payloadSize,e.web,r,n);let a=i.importKey("jwk",s,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]);const o=sn(e.payloadSize,e.web,t);let c=i.importKey("jwk",o,{name:"ECDH",namedCurve:e.web},!0,[]);[a,c]=await Promise.all([a,c]);let l=i.deriveBits({name:"ECDH",namedCurve:e.web,public:c},a,e.sharedSize),u=i.exportKey("jwk",a);[l,u]=await Promise.all([l,u]);const h=new Uint8Array(l);return{secretKey:Z(u.d),sharedKey:h}}(e,t,r,n)}catch(r){return G.printDebugError(r),En(e,t,n)}break;case"node":return function(e,t,r){const n=G.getNodeCrypto().createECDH(e.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n);default:return En(e,t,n)}}(o,r,i,s),l=mn(N.publicKey.ecdh,e,t,a),{keySize:u}=xr(t.cipher);let h;for(let e=0;e<3;e++)try{const r=await wn(t.hash,c,u,l,1===e,2===e);return yn(await Pr(t.cipher,r,n))}catch(e){h=e}throw h}async function En(e,t,r){return{secretKey:r,sharedKey:(await G.getNobleCurve(N.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function kn(e,t){const r=await G.getNobleCurve(N.publicKey.ecdh,e.name),{publicKey:n,privateKey:i}=await e.genKeyPair();return{publicKey:n,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var In=Object.freeze({__proto__:null,decrypt:vn,encrypt:bn,validateParams:async function(e,t,r){return en(N.publicKey.ecdh,e,t,r)}}),Bn=Object.freeze({__proto__:null,CurveWithOID:zr,ecdh:In,ecdhX:Yr,ecdsa:fn,eddsa:bt,eddsaLegacy:gn,generate:Xr,getPreferredHashAlgo:$r});const Cn=BigInt(0),Sn=BigInt(1);class Dn{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw new Error("Invalid symmetric key")}write(){return G.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class xn{constructor(e){if(e){const{hash:t,cipher:r}=e;this.hash=t,this.cipher=r}else this.hash=null,this.cipher=null}read(e){if(e.length<4||3!==e[0]||1!==e[1])throw new ct("Cannot read KDFParams");return this.hash=e[2],this.cipher=e[3],4}write(){return new Uint8Array([3,1,this.hash,this.cipher])}}class Kn{static fromObject({wrappedKey:e,algorithm:t}){const r=new Kn;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=G.readExactSubarray(e,t,t+r),t+=r}write(){return G.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Un(e,t,r,n,i,s){switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:a}=t,{d:o,p:c,q:l,u}=r;return async function(e,t,r,n,i,s,a,o){if(G.getNodeCrypto()&&!o)try{return function(e,t,r,n,i,s,a){const o={key:_e(t,r,n,i,s,a),format:"jwk",type:"pkcs1",padding:je.constants.RSA_PKCS1_PADDING};try{return new Uint8Array(je.privateDecrypt(o,e))}catch{throw new Error("Decryption error")}}(e,t,r,n,i,s,a)}catch(e){G.printDebugError(e)}return function(e,t,r,n,i,s,a,o){if(e=ae(e),t=ae(t),r=ae(r),n=ae(n),i=ae(i),s=ae(s),a=ae(a),e>=t)throw new Error("Data too large.");const c=oe(n,s-Je),l=oe(n,i-Je),u=we(BigInt(2),t),h=le(he(u,t),r,t),f=le(e=oe(e*h,t),l,i);let A=oe(a*(le(e,c,s)-f),s)*i+f;return A=oe(A*u,t),He(ge(A,"be",pe(t)),o)}(e,t,r,n,i,s,a,o)}(e,i,a,o,c,l,u,s)}case N.publicKey.elgamal:{const{c1:e,c2:i}=n;return async function(e,t,r,n,i){return e=ae(e),t=ae(t),r=ae(r),He(ge(oe(he(le(e,n=ae(n),r),r)*t,r),"be",pe(r)),i)}(e,i,t.p,r.x,s)}case N.publicKey.ecdh:{const{oid:e,Q:s,kdfParams:a}=t,{d:o}=r,{V:c,C:l}=n;return vn(e,a,c,l.data,s,o,i)}case N.publicKey.x25519:case N.publicKey.x448:{const{A:i}=t,{k:s}=r,{ephemeralPublicKey:a,C:o}=n;if(null!==o.algorithm&&!G.isAES(o.algorithm))throw new Error("AES session key expected");return Nr(e,a,o.wrappedKey,i,s)}default:throw new Error("Unknown public key encryption algorithm.")}}function Pn(e,t,r){let n=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(n));n+=e.length+2;const r=G.readMPI(t.subarray(n));n+=r.length+2;const i=G.readMPI(t.subarray(n));n+=i.length+2;const s=G.readMPI(t.subarray(n));return n+=s.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:s}}}case N.publicKey.dsa:case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case N.publicKey.ecdsa:case N.publicKey.ecdh:{const i=Rn(e,r.oid);let s=G.readMPI(t.subarray(n));return n+=s.length+2,s=G.leftPad(s,i),{read:n,privateParams:{d:s}}}case N.publicKey.eddsaLegacy:{const i=Rn(e,r.oid);if(r.oid.getName()!==N.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let s=G.readMPI(t.subarray(n));return n+=s.length+2,s=G.leftPad(s,i),{read:n,privateParams:{seed:s}}}case N.publicKey.ed25519:case N.publicKey.ed448:{const r=Rn(e),i=G.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{seed:i}}}case N.publicKey.x25519:case N.publicKey.x448:{const r=Rn(e),i=G.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{k:i}}}default:throw new ct("Unknown public key encryption algorithm.")}}function Tn(e,t){const r=new Set([N.publicKey.ed25519,N.publicKey.x25519,N.publicKey.ed448,N.publicKey.x448]),n=Object.keys(t).map(n=>{const i=t[n];return G.isUint8Array(i)?r.has(e)?i:G.uint8ArrayToMPI(i):i.write()});return G.concatUint8Array(n)}function Fn(e){const{keySize:t}=xr(e);return me(t)}function Mn(e){try{e.getName()}catch{throw new ct("Unknown curve OID")}}function Rn(e,t){switch(e){case N.publicKey.ecdsa:case N.publicKey.ecdh:case N.publicKey.eddsaLegacy:return new zr(t).payloadSize;case N.publicKey.ed25519:case N.publicKey.ed448:return gt(e);case N.publicKey.x25519:case N.publicKey.x448:return Or(e);default:throw new Error("Unknown elliptic algo")}}const Qn=G.getWebCrypto(),Nn=G.getNodeCrypto(),On=Nn?Nn.getCiphers():[],Ln={idea:On.includes("idea-cfb")?"idea-cfb":void 0,tripledes:On.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:On.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:On.includes("bf-cfb")?"bf-cfb":void 0,aes128:On.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:On.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:On.includes("aes-256-cfb")?"aes-256-cfb":void 0};function Gn(e){const{blockSize:t}=xr(e),r=me(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return G.concat([r,n])}async function Hn(e,t,r,n,i){const s=N.read(N.symmetric,e);if(G.getNodeCrypto()&&Ln[s])return function(e,t,r,n){const i=N.read(N.symmetric,e),s=new Nn.createCipheriv(Ln[i],t,n);return k(r,e=>new Uint8Array(s.update(e)))}(e,t,r,n);if(G.isAES(e))return async function(e,t,r,n){if(Qn&&await Yn.isSupported(e)){const i=new Yn(e,t,n);return G.isStream(r)?I(r,e=>i.encryptChunk(e),()=>i.finish()):i.encrypt(r)}if(G.isStream(r)){const i=new jn(!0,e,t,n);return I(r,e=>i.processChunk(e),()=>i.finish())}return yr(t,n).encrypt(r)}(e,t,r,n);const a=new(await Cr(e))(t),o=a.blockSize,c=n.slice();let l=new Uint8Array;const u=e=>{e&&(l=G.concatUint8Array([l,e]));const t=new Uint8Array(l.length);let r,n=0;for(;e?l.length>=o:l.length;){const e=a.encrypt(c);for(r=0;rnew Uint8Array(s.update(e)))}(e,t,r,n);if(G.isAES(e))return function(e,t,r,n){if(G.isStream(r)){const i=new jn(!1,e,t,n);return I(r,e=>i.processChunk(e),()=>i.finish())}return yr(t,n).decrypt(r)}(e,t,r,n);const s=new(await Cr(e))(t),a=s.blockSize;let o=n,c=new Uint8Array;const l=e=>{e&&(c=G.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=a:c.length;){const e=s.encrypt(o);for(o=c.subarray(0,a),r=0;r!0,()=>!1)}async _runCBC(e,t){const r="AES-CBC";this.keyRef=this.keyRef||await Qn.importKey("raw",this.key,r,!1,["encrypt"]);const n=await Qn.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e);return new Uint8Array(n).subarray(0,e.length)}async encryptChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=G.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=G.concatUint8Array([this.prevBlock,n.subarray(0,n.length-this.blockSize)]),s=await this._runCBC(i);return Jn(s,n),this.prevBlock=s.slice(-this.blockSize),r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,s}let n;if(this.i+=r.length,this.i===this.nextBlock.length){const t=this.nextBlock;n=await this._runCBC(this.prevBlock),Jn(n,t),this.prevBlock=n.slice(),this.i=0;const i=e.subarray(r.length);this.nextBlock.set(i,this.i),this.i+=i.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);const t=this.nextBlock,r=await this._runCBC(this.prevBlock);Jn(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){const t=(await this._runCBC(G.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return Jn(t,e),this.clearSensitiveData(),t}}class jn{constructor(e,t,r,n){this.forEncryption=e;const{blockSize:i}=xr(t);this.key=Br.expandKeyLE(r),n.byteOffset%4!=0&&(n=n.slice()),this.prevBlock=Zn(n),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){const t=Zn(e),r=new Uint8Array(e.length),n=Zn(r);for(let e=0;e+4<=n.length;e+=4){const{s0:r,s1:i,s2:s,s3:a}=Br.encrypt(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);n[e+0]=t[e+0]^r,n[e+1]=t[e+1]^i,n[e+2]=t[e+2]^s,n[e+3]=t[e+3]^a,this.prevBlock=(this.forEncryption?n:t).slice(e,e+4)}return r}async processChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=G.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=this._runCFB(n);return r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,i}let n;if(this.i+=r.length,this.i===this.nextBlock.length){n=this._runCFB(this.nextBlock),this.i=0;const t=e.subarray(r.length);this.nextBlock.set(t,this.i),this.i+=t.length}else n=new Uint8Array;return n}async finish(){let e;return e=0===this.i?new Uint8Array:this._runCFB(this.nextBlock).subarray(0,this.i),this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function Jn(e,t){const r=Math.min(e.length,t.length);for(let n=0;nnew Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),qn=G.getWebCrypto(),_n=G.getNodeCrypto(),Vn=16;function zn(e,t){const r=e.length-Vn;for(let n=0;ngr(t,Ai,{disablePadding:!0}).encrypt(e),s=e=>gr(t,Ai,{disablePadding:!0}).decrypt(e);let a;function o(e,t,r,s){const o=t.length/li|0;!function(e,t){const r=G.nbits(Math.max(e.length,t.length)/li|0)-1;for(let e=n+1;e<=r;e++)a[e]=G.double(a[e-1]);n=r}(t,s);const c=G.concatUint8Array([Ai.subarray(0,15-r.length),di,r]),l=63&c[15];c[15]&=192;const u=i(c),h=G.concatUint8Array([u,fi(u.subarray(0,8),u.subarray(1,9))]),f=G.shiftRight(h.subarray(0+(l>>3),17+(l>>3)),8-(7&l)).subarray(1),A=new Uint8Array(li),d=new Uint8Array(t.length+16);let p,g=0;for(p=0;p=r)throw new Error("Signature size cannot exceed modulus size");const s=ge(le(t,n,r),"be",pe(r)),a=We(e,i,pe(r));return G.equalsUint8Array(s,a)}(e,r,n,i,s)}(t,i,G.leftPad(r.s,e.length),e,a,s)}case N.publicKey.dsa:{const{g:e,p:t,q:i,y:a}=n,{r:o,s:c}=r;return async function(e,t,r,n,i,s,a,o){if(t=ae(t),r=ae(r),s=ae(s),a=ae(a),i=ae(i),o=ae(o),t<=Cn||t>=a||r<=Cn||r>=a)return G.printDebug("invalid DSA Signature"),!1;const c=oe(ae(n.subarray(0,pe(a))),a),l=he(r,a);if(l===Cn)return G.printDebug("invalid DSA Signature"),!1;i=oe(i,s),o=oe(o,s);const u=oe(c*l,a),h=oe(t*l,a);return oe(oe(le(i,u,s)*le(o,h,s),s),a)===t}(0,o,c,s,e,t,i,a)}case N.publicKey.ecdsa:{const{oid:e,Q:a}=n,o=new zr(e).payloadSize;return un(e,t,{r:G.leftPad(r.r,o),s:G.leftPad(r.s,o)},i,a,s)}case N.publicKey.eddsaLegacy:{const{oid:e,Q:i}=n,a=new zr(e).payloadSize;return dn(e,t,{r:G.leftPad(r.r,a),s:G.leftPad(r.s,a)},0,i,s)}case N.publicKey.ed25519:case N.publicKey.ed448:{const{A:i}=n;return dt(e,t,r,0,i,s)}default:throw new Error("Unknown signature algorithm.")}}bi.getNonce=function(e,t){const r=e.slice();for(let e=0;e30)throw new ki("'config.maxArgon2MemoryExponent' exceeds the max allowed value of 30");if(this.encodedM>r.maxArgon2MemoryExponent)throw new ki("Argon2 required memory exceeds `config.maxArgon2MemoryExponent`");const n=1<1048576&&(Bi=Ii(),Bi.catch(()=>{})),r}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new ki("Could not allocate required memory for Argon2"):e}}}class Si{constructor(e,t=O){this.algorithm=N.hash.sha256,this.type=N.read(N.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=me(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==G.uint8ArrayToString(e.subarray(t,t+3)))throw new ct("Unknown s2k type.");if(t+=3,1001!==1e3+e[t++])throw new ct("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new ct("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...G.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([N.write(N.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw new Error("GNU s2k type not supported.");default:throw new Error("Unknown s2k type.")}return G.concatUint8Array(e)}async produceKey(e,t,r){e=G.encodeUTF8(e);const n=[];let i=0,s=0;for(;i>1|(21845&ji)<<1;Ji=(61680&(Ji=(52428&Ji)>>2|(13107&Ji)<<2))>>4|(3855&Ji)<<4,Yi[ji]=((65280&Ji)>>8|(255&Ji)<<8)>>1}var Zi=function(e,t,r){for(var n=e.length,i=0,s=new Pi(t);i>c]=l}else for(a=new Pi(n),i=0;i>15-e[i]);return a},qi=new Ui(288);for(ji=0;ji<144;++ji)qi[ji]=8;for(ji=144;ji<256;++ji)qi[ji]=9;for(ji=256;ji<280;++ji)qi[ji]=7;for(ji=280;ji<288;++ji)qi[ji]=8;var _i=new Ui(32);for(ji=0;ji<32;++ji)_i[ji]=5;var Vi=Zi(qi,9,0),zi=Zi(qi,9,1),Xi=Zi(_i,5,0),$i=Zi(_i,5,1),es=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},ts=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},rs=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ns=function(e){return(e+7)/8|0},is=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new Ui(e.subarray(t,r))},ss=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],as=function(e,t,r){var n=new Error(t||ss[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,as),!r)throw n;return n},os=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8},cs=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8,e[n+2]|=r>>16},ls=function(e,t){for(var r=[],n=0;nf&&(f=s[n].s);var A=new Pi(f+1),d=us(r[u-1],A,0);if(d>t){n=0;var p=0,g=d-t,y=1<t))break;p+=y-(1<>=g;p>0;){var w=s[n].s;A[w]=0&&p;--n){var b=s[n].s;A[b]==t&&(--A[b],++p)}d=t}return{t:new Ui(A),l:d}},us=function(e,t,r){return-1==e.s?Math.max(us(e.l,t,r+1),us(e.r,t,r+1)):t[e.s]=r},hs=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new Pi(++t),n=0,i=e[0],s=1,a=function(e){r[n++]=e},o=1;o<=t;++o)if(e[o]==i&&o!=t)++s;else{if(!i&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(i),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(i);s=1,i=e[o]}return{c:r.subarray(0,n),n:t}},fs=function(e,t){for(var r=0,n=0;n>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var s=0;s4&&!C[Ri[D-1]];--D);var x,K,U,P,T=l+5<<3,F=fs(i,qi)+fs(s,_i)+a,M=fs(i,f)+fs(s,p)+a+14+3*D+fs(k,C)+2*k[16]+3*k[17]+7*k[18];if(c>=0&&T<=F&&T<=M)return As(t,u,e.subarray(c,c+l));if(os(t,u,1+(M15&&(os(t,u,O[I]>>5&127),u+=O[I]>>12)}}}else x=Vi,K=qi,U=Xi,P=_i;for(I=0;I255){cs(t,u,x[257+(L=G>>18&31)]),u+=K[L+257],L>7&&(os(t,u,G>>23&31),u+=Fi[L]);var H=31&G;cs(t,u,U[H]),u+=P[H],H>3&&(cs(t,u,G>>5&8191),u+=Mi[H])}else cs(t,u,x[G]),u+=K[G]}return cs(t,u,x[256]),u+K[256]},ps=new Ti([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),gs=new Ui(0),ys=function(){var e=1,t=0;return{p:function(r){for(var n=e,i=t,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}e=n,t=i},d:function(){return(255&(e%=65521))<<24|(65280&e)<<8|(255&(t%=65521))<<8|t>>8}}},ms=function(e,t,r,n,i){if(!i&&(i={l:1},t.dictionary)){var s=t.dictionary.subarray(-32768),a=new Ui(s.length+e.length);a.set(s),a.set(e,s.length),e=a,i.w=s.length}return function(e,t,r,n,i,s){var a=s.z||e.length,o=new Ui(n+a+5*(1+Math.ceil(a/7e3))+i),c=o.subarray(n,o.length-i),l=s.l,u=7&(s.r||0);if(t){u&&(c[0]=s.r>>3);for(var h=ps[t-1],f=h>>13,A=8191&h,d=(1<7e3||C>24576)&&(P>423||!l)){u=ds(e,c,0,b,v,E,I,C,D,B-D,u),C=k=I=0,D=B;for(var T=0;T<286;++T)v[T]=0;for(T=0;T<30;++T)E[T]=0}var F=2,M=0,R=A,Q=K-U&32767;if(P>2&&x==w(B-Q))for(var N=Math.min(f,P)-1,O=Math.min(32767,B),L=Math.min(258,P);Q<=O&&--R&&K!=U;){if(e[B+F]==e[B+F-Q]){for(var G=0;GF){if(F=G,M=Q,G>N)break;var H=Math.min(Q,G-2),W=0;for(T=0;TW&&(W=j,U=Y)}}}Q+=(K=U)-(U=p[K])&32767}if(M){b[C++]=268435456|Li[F]<<18|Wi[M];var J=31&Li[F],Z=31&Wi[M];I+=Fi[J]+Mi[Z],++v[257+J],++E[Z],S=B+F,++k}else b[C++]=e[B],++v[e[B]]}}for(B=Math.max(B,S);B=a&&(c[u/8|0]=l,q=a),u=As(c,u+1,e.subarray(B,q))}s.i=a}return is(o,0,n+ns(u)+i)}(e,null==t.level?6:t.level,null==t.mem?i.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,r,n,i)},ws=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},bs=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new Ui(98304),this.o.dictionary){var r=this.o.dictionary.subarray(-32768);this.b.set(r,32768-r.length),this.s.i=32768-r.length}}return e.prototype.p=function(e,t){this.ondata(ms(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||as(5),this.s.l&&as(4);var r=e.length+this.s.z;if(r>this.b.length){if(r>2*this.b.length-32768){var n=new Ui(-32768&r);n.set(this.b.subarray(0,this.s.z)),this.b=n}var i=this.b.length-this.s.z;this.b.set(e.subarray(0,i),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(i),32768),this.s.z=e.length-i+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2),t&&(this.s=this.o={},this.b=gs)},e.prototype.flush=function(e){if(this.ondata||as(5),this.s.l&&as(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2,e){var t=new Ui(6);t[0]=this.s.r>>3;var r=As(t,this.s.r,gs);this.s.r=0,this.ondata(t.subarray(0,r>>3),!1)}},e}(),vs=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var r=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:r?r.length:0},this.o=new Ui(32768),this.p=new Ui(0),r&&this.o.set(r)}return e.prototype.e=function(e){if(this.ondata||as(5),this.d&&as(4),this.p.length){if(e.length){var t=new Ui(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,r=function(e,t,r){var n=e.length;if(!n||t.f&&!t.l)return r||new Ui(0);var i=!r,s=i||2!=t.i,a=t.i;i&&(r=new Ui(3*n));var o=function(e){var t=r.length;if(e>t){var n=new Ui(Math.max(2*t,e));n.set(r),r=n}},c=t.f||0,l=t.p||0,u=t.b||0,h=t.l,f=t.d,A=t.m,d=t.n,p=8*n;do{if(!h){c=ts(e,l,1);var g=ts(e,l+1,3);if(l+=3,!g){var y=e[(D=ns(l)+4)-4]|e[D-3]<<8,m=D+y;if(m>n){a&&as(0);break}s&&o(u+y),r.set(e.subarray(D,m),u),t.b=u+=y,t.p=l=8*m,t.f=c;continue}if(1==g)h=zi,f=$i,A=9,d=5;else if(2==g){var w=ts(e,l,31)+257,b=ts(e,l+10,15)+4,v=w+ts(e,l+5,31)+1;l+=14;for(var E=new Ui(v),k=new Ui(19),I=0;I>4)<16)E[I++]=D;else{var K=0,U=0;for(16==D?(U=3+ts(e,l,3),l+=2,K=E[I-1]):17==D?(U=3+ts(e,l,7),l+=3):18==D&&(U=11+ts(e,l,127),l+=7);U--;)E[I++]=K}}var P=E.subarray(0,w),T=E.subarray(w);A=es(P),d=es(T),h=Zi(P,A,1),f=Zi(T,d,1)}else as(1);if(l>p){a&&as(0);break}}s&&o(u+131072);for(var F=(1<>4;if((l+=15&K)>p){a&&as(0);break}if(K||as(2),Q<256)r[u++]=Q;else{if(256==Q){R=l,h=null;break}var N=Q-254;if(Q>264){var O=Fi[I=Q-257];N=ts(e,l,(1<>4;if(L||as(3),l+=15&L,T=Hi[G],G>3&&(O=Mi[G],T+=rs(e,l)&(1<p){a&&as(0);break}s&&o(u+131072);var H=u+N;if(u>4>7||(r[0]<<8|r[1])%31)&&as(6,"invalid zlib data"),(r[1]>>5&1)==+!n&&as(6,"invalid zlib data: "+(32&r[1]?"need":"unexpected")+" dictionary"),2+(r[1]>>3&4))),this.v=0}var r,n;t&&(this.p.length<4&&as(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),vs.prototype.c.call(this,t)},e}(),Is="undefined"!=typeof TextDecoder&&new TextDecoder;try{Is.decode(gs,{stream:!0})}catch(e){}class Bs{static get tag(){return N.packet.literalData}constructor(e=new Date){this.format=N.literal.utf8,this.date=G.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=N.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||G.isStream(this.text))&&(this.text=G.decodeUTF8(G.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=G.canonicalizeEOL(G.encodeUTF8(this.text))),e?x(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await S(e,async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=G.decodeUTF8(await e.readBytes(r)),this.date=G.readDate(await e.readBytes(4));let n=e.remainder();u(n)&&(n=await P(n)),this.setBytes(n,t)})}writeHeader(){const e=G.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=G.writeDate(this.date);return G.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return G.concat([e,t])}}class Cs{constructor(){this.bytes=""}read(e){return this.bytes=G.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return G.stringToUint8Array(this.bytes)}toHex(){return G.uint8ArrayToHex(G.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new Cs;return t.read(G.hexToUint8Array(e)),t}static wildcard(){const e=new Cs;return e.read(new Uint8Array(8)),e}}const Ss=Symbol("verified"),Ds="salt@notations.openpgpjs.org",xs=new Set([N.signatureSubpacket.issuerKeyID,N.signatureSubpacket.issuerFingerprint,N.signatureSubpacket.embeddedSignature]);class Ks{static get tag(){return N.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Cs,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.preferredCipherSuites=null,this.revoked=null,this[Ss]=null}read(e,t=O){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new ct("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw new Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){const t=e[r++];this.salt=e.subarray(r,r+t),r+=t}const n=e.subarray(r,e.length),{read:i,signatureParams:s}=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(r));return r+=e.length+2,{read:r,signatureParams:{s:e}}}case N.publicKey.dsa:case N.publicKey.ecdsa:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case N.publicKey.eddsaLegacy:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case N.publicKey.ed25519:case N.publicKey.ed448:{const n=2*gt(e),i=G.readExactSubarray(t,r,r+n);return r+=i.length,{read:r,signatureParams:{RS:i}}}default:throw new ct("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,n);if(iTn(this.publicKeyAlgorithm,await this.params)):Tn(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),G.concat(e)}async sign(e,t,r=new Date,n=!1,i){this.version=e.version,this.created=G.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();const s=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){const e=Ps(this.hashAlgorithm);if(null===this.salt)this.salt=me(e);else if(e!==this.salt.length)throw new Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter(({name:e})=>e===Ds).length)throw new Error("Unexpected existing salt notation");{const e=me(Ps(this.hashAlgorithm));this.rawNotations.push({name:Ds,value:e,humanReadable:!1,critical:!1})}}s.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=G.concat(s);const a=this.toHash(this.signatureType,t,n),o=await this.hash(this.signatureType,t,a,n);this.signedHashValue=U(D(o),0,2);const c=async()=>async function(e,t,r,n,i,s){if(!r||!n)throw new Error("Missing key parameters");switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.rsaSign:{const{n:e,e:a}=r,{d:o,p:c,q:l,u}=n;return{s:await Ze(t,i,e,a,o,c,l,u,s)}}case N.publicKey.dsa:{const{g:e,p:t,q:i}=r,{x:a}=n;return async function(e,t,r,n,i,s){const a=BigInt(0);let o,c,l,u;n=ae(n),i=ae(i),r=ae(r),s=ae(s),r=oe(r,n),s=oe(s,i);const h=oe(ae(t.subarray(0,pe(i))),i);for(;;){if(o=we(Sn,i),c=oe(le(r,o,n),i),c===a)continue;const e=oe(s*c,i);if(u=oe(h+e,i),l=oe(he(o,i)*u,i),l!==a)break}return{r:ge(c,"be",pe(n)),s:ge(l,"be",pe(n))}}(0,s,e,t,i,a)}case N.publicKey.elgamal:throw new Error("Signing with Elgamal is not defined in the OpenPGP standard.");case N.publicKey.ecdsa:{const{oid:e,Q:a}=r,{d:o}=n;return ln(e,t,i,a,o,s)}case N.publicKey.eddsaLegacy:{const{oid:e,Q:i}=r,{seed:a}=n;return An(e,t,0,i,a,s)}case N.publicKey.ed25519:case N.publicKey.ed448:{const{A:i}=r,{seed:a}=n;return At(e,t,0,i,a,s)}default:throw new Error("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await P(o));G.isStream(o)?this.params=c():(this.params=await c(),this[Ss]=!0)}writeHashedSubPackets(){const e=N.signatureSubpacket,t=[];let r;if(null===this.created)throw new Error("Missing signature creation time");t.push(Us(e.signatureCreationTime,!0,G.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Us(e.signatureExpirationTime,!0,G.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Us(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Us(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Us(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Us(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Us(e.keyExpirationTime,!0,G.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Us(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=G.concat([r,this.revocationKeyFingerprint]),t.push(Us(e.revocationKey,!1,r))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&t.push(Us(e.issuerKeyID,!1,this.issuerKeyID.write())),this.rawNotations.forEach(({name:n,value:i,humanReadable:s,critical:a})=>{r=[new Uint8Array([s?128:0,0,0,0])];const o=G.encodeUTF8(n);r.push(G.writeNumber(o.length,2)),r.push(G.writeNumber(i.length,2)),r.push(o),r.push(i),r=G.concat(r),t.push(Us(e.notationData,a,r))}),null!==this.preferredHashAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Us(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Us(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.keyServerPreferences)),t.push(Us(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Us(e.preferredKeyServer,!1,G.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Us(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Us(e.policyURI,!1,G.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.keyFlags)),t.push(Us(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Us(e.signersUserID,!1,G.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=G.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Us(e.reasonForRevocation,!0,r))),null!==this.features&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.features)),t.push(Us(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(G.stringToUint8Array(this.signatureTargetHash)),r=G.concat(r),t.push(Us(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Us(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=G.concat(r),t.push(Us(e.issuerFingerprint,this.version>=5,r))),null!==this.preferredAEADAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Us(e.preferredAEADAlgorithms,!1,r))),null!==this.preferredCipherSuites&&(r=new Uint8Array([].concat(...this.preferredCipherSuites)),t.push(Us(e.preferredCipherSuites,!1,r)));const n=G.concat(t),i=G.writeNumber(n.length,6===this.version?4:2);return G.concat([i,n])}writeUnhashedSubPackets(){const e=this.unhashedSubpackets.map(({type:e,critical:t,body:r})=>Us(e,t,r)),t=G.concat(e),r=G.writeNumber(t.length,6===this.version?4:2);return G.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)}),xs.has(i)))switch(i){case N.signatureSubpacket.signatureCreationTime:this.created=G.readDate(e.subarray(r,e.length));break;case N.signatureSubpacket.signatureExpirationTime:{const t=G.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case N.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case N.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case N.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case N.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case N.signatureSubpacket.keyExpirationTime:{const t=G.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case N.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case N.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw new Error("Unexpected Issuer Key ID subpacket");break;case N.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=G.readNumber(e.subarray(r,r+2));r+=2;const s=G.readNumber(e.subarray(r,r+2));r+=2;const a=G.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+s);this.rawNotations.push({name:a,humanReadable:t,value:o,critical:n}),t&&(this.notations[a]=G.decodeUTF8(o));break}case N.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case N.signatureSubpacket.policyURI:this.policyURI=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.signersUserID:this.signersUserID=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Oe(this.signatureTargetHashAlgorithm);this.signatureTargetHash=G.uint8ArrayToString(e.subarray(r,r+t));break}case N.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Ks,this.embeddedSignature.read(e.subarray(r,e.length));break;case N.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case N.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t{r+=e.length},()=>{const n=[];return 5!==this.version||this.signatureType!==N.signature.binary&&this.signatureType!==N.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(G.writeNumber(r,4)),G.concat(n)})}toHash(e,t,r=!1){const n=this.toSign(e,t);return G.concat([this.salt||new Uint8Array,n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){if(6===this.version&&this.salt.length!==Ps(this.hashAlgorithm))throw new Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,n)),Ne(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,s=O){if(!this.issuerKeyID.equals(e.getKeyID()))throw new Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const a=t===N.signature.binary||t===N.signature.text;if(!this[Ss]||a){let n,s;if(this.hashed?s=await this.hashed:(n=this.toHash(t,r,i),s=await this.hash(t,r,n)),s=await P(s),this.signedHashValue[0]!==s[0]||this.signedHashValue[1]!==s[1])throw new Error("Signed digest did not match");if(this.params=await this.params,this[Ss]=await Ei(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,n,s),!this[Ss])throw new Error("Signature verification failed")}const o=G.normalizeDate(n);if(o&&this.created>o)throw new Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw new Error("Signature is expired");if(s.rejectHashAlgorithms.has(this.hashAlgorithm))throw new Error("Insecure hash algorithm: "+N.read(N.hash,this.hashAlgorithm).toUpperCase());if(s.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[N.signature.binary,N.signature.text].includes(this.signatureType))throw new Error("Insecure message hash algorithm: "+N.read(N.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach(({type:e,critical:t})=>{if(t)throw new Error(`Unknown critical signature subpacket type ${e}`)}),this.rawNotations.forEach(({name:e,critical:t})=>{if(t&&s.knownNotations.indexOf(e)<0)throw new Error(`Unknown critical notation: ${e}`)}),null!==this.revocationKeyClass)throw new Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=G.normalizeDate(e);return null!==t&&!(this.created<=t&&tKs.prototype.calculateTrailer.apply(await this.correspondingSig,e))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==N.packet.signature)throw new Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!G.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!G.equalsUint8Array(e.salt,this.salt))throw new Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Fs(e,t){if(!t[e]){let t;try{t=N.read(N.packet,e)}catch{throw new lt(`Unknown packet type with tag: ${e}`)}throw new Error(`Packet not allowed in this context: ${t}`)}return new t[e]}Ts.prototype.hash=Ks.prototype.hash,Ts.prototype.toHash=Ks.prototype.toHash,Ts.prototype.toSign=Ks.prototype.toSign;class Ms extends Array{static async fromBinary(e,t,r=O,n=null,i=!1){const s=new Ms;return await s.read(e,t,r,n,i),s}async read(e,t,r=O,n=null,i=!1){let s;r.additionalAllowedPackets.length&&(s=G.constructAllowedPackets(r.additionalAllowedPackets),t={...t,...s}),this.stream=C(e,async(e,a)=>{const o=M(e),c=R(a);try{let a=G.isStream(e);for(;;){let e,l;if(await c.ready,await ot(o,a,async a=>{try{if(a.tag===N.packet.marker||a.tag===N.packet.trust||a.tag===N.packet.padding)return;const e=Fs(a.tag,t);try{n?.recordPacket(a.tag,s)}catch(e){if(r.enforceGrammar)throw e;G.printDebugError(e)}e.packets=new Ms,e.fromStream=G.isStream(a.packet),l=e.fromStream;try{await e.read(a.packet,r)}catch(t){if(!(t instanceof ct))throw G.wrapError(new ut(`Parsing ${e.constructor.name} failed`),t);throw t}await c.write(e)}catch(t){const n=t instanceof lt&&a.tag<=39,s=t instanceof ct&&!(t instanceof lt)&&!r.ignoreUnsupportedPackets,o=t instanceof ut&&!r.ignoreMalformedPackets,l=at(a.tag);if(n||s||o||l||!(t instanceof lt||t instanceof ct||t instanceof ut))i?e=t:await c.abort(t);else{const e=new ht(a.tag,a.packet);await c.write(e)}G.printDebugError(t)}}),l&&(a=null),e)throw await o.readToEnd(),e;const u=await o.peekBytes(2);if(!u||!u.length){try{n?.recordEnd()}catch(e){if(r.enforceGrammar)throw e;G.printDebugError(e)}return await c.ready,void await c.close()}}}catch(e){await c.abort(e)}});const a=M(this.stream);for(;;){const{done:e,value:t}=await a.read();if(e?this.stream=null:this.push(t),e||at(t.constructor.tag))break}a.releaseLock()}write(){const e=[];for(let t=0;t{if(t.push(e),i+=e.length,i>=s){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=G.concat([nt(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}},()=>G.concat([rt(i)].concat(t))))}else{if(G.isStream(n)){let t=0;e.push(k(D(n),e=>{t+=e.length},()=>st(r,t)))}else e.push(st(r,n.length));e.push(n)}}return G.concat(e)}filterByTag(...e){const t=new Ms,r=e=>t=>e===t;for(let n=0;nt.constructor.tag===e)}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i0)throw new Rs("Missing trailing signature packets")}}}const Os=G.constructAllowedPackets([Bs,Ts,Ks]);class Ls{static get tag(){return N.packet.compressedData}constructor(e=O){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=O){await S(e,async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)})}write(){return null===this.compressed&&this.compress(),G.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=O){const t=N.read(N.compression,this.algorithm),r=js[t];if(!r)throw new Error(`${t} decompression not supported`);let n=await r(this.compressed);if(e.maxDecompressedMessageSize!==1/0){let t=0;n=k(n,r=>{if(t+=r.length,t>e.maxDecompressedMessageSize)throw new Error("Maximum decompressed message size exceeded");return r})}f(this.compressed)&&!u(this.compressed)||(n=await P(n)),this.packets=await Ms.fromBinary(n,Os,e,new Ns)}compress(){const e=N.read(N.compression,this.algorithm),t=Ys[e];if(!t)throw new Error(`${e} compression not supported`);const r=this.packets.write();let n=t(r);f(r)&&!u(r)||(n=F(()=>P(n))),this.compressed=n}}function Gs(e,t){return r=>{let n;if(n=u(r)?new ReadableStream({async start(e){try{e.enqueue(await P(r)),e.close()}catch(t){e.error(t)}}}):f(r)?r:m(r),n=function(e){const t=M(e);return new ReadableStream({async pull(e){try{const{value:r,done:n}=await t.read();if(n)return void e.close();for(let t=0;t<=r.length;t+=65536)(!t||t{e.enqueue(t),a=!0,r&&(e.close(),o=!0)}},async pull(){for(a=!1;!a&&!o;){const{done:e,value:t}=await i.read();if(e)return void s.push(new Uint8Array,!0);t.length&&s.push(t)}}},{highWaterMark:0})}}function Hs(){return async function(e){const{default:t}=await Promise.resolve().then(function(){return lA});return t(m(e))}}const Ws=e=>({compressor:"undefined"!=typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"undefined"!=typeof DecompressionStream&&(()=>new DecompressionStream(e))}),Ys={zip:Gs(Ws("deflate-raw").compressor,bs),zlib:Gs(Ws("deflate").compressor,Es)},js={uncompressed:e=>e,zip:Gs(Ws("deflate-raw").decompressor,vs),zlib:Gs(Ws("deflate").decompressor,ks),bzip2:Hs()},Js=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class Zs{static get tag(){return N.packet.symEncryptedIntegrityProtectedData}static fromObject({version:e,aeadAlgorithm:t}){if(1!==e&&2!==e)throw new Error("Unsupported SEIPD version");const r=new Zs;return r.version=e,2===e&&(r.aeadAlgorithm=t),r}constructor(){this.version=null,this.cipherAlgorithm=null,this.aeadAlgorithm=null,this.chunkSizeByte=null,this.salt=null,this.encrypted=null,this.packets=null}async read(e){await S(e,async e=>{if(this.version=await e.readByte(),1!==this.version&&2!==this.version)throw new ct(`Version ${this.version} of the SEIP packet is unsupported.`);2===this.version&&(this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte(),this.salt=await e.readBytes(32)),this.encrypted=e.remainder()})}write(){return 2===this.version?G.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.salt,this.encrypted]):G.concat([new Uint8Array([this.version]),this.encrypted])}async encrypt(e,t,r=O){const{blockSize:n,keySize:i}=xr(e);if(t.length!==i)throw new Error("Unexpected session key size");let s=this.packets.write();if(u(s)&&(s=await P(s)),2===this.version)this.cipherAlgorithm=e,this.salt=me(32),this.chunkSizeByte=r.aeadChunkSizeByte,this.encrypted=await qs(this,"encrypt",t,s);else{const r=await Gn(e),i=new Uint8Array([211,20]),a=G.concat([r,s,i]),o=await Ne(N.hash.sha1,x(a)),c=G.concat([a,o]);this.encrypted=await Hn(e,t,c,new Uint8Array(n))}return!0}async decrypt(e,t,r=O){if(t.length!==xr(e).keySize)throw new Error("Unexpected session key size");let n,i=D(this.encrypted);u(i)&&(i=await P(i));let s=!1;if(2===this.version){if(this.cipherAlgorithm!==e)throw new Error("Unexpected session key algorithm");n=await qs(this,"decrypt",t,i)}else{const{blockSize:a}=xr(e),o=await Wn(e,t,i,new Uint8Array(a)),c=U(x(o),-20),l=U(o,0,-20),u=Promise.all([P(await Ne(N.hash.sha1,x(l))),P(c)]).then(([e,t])=>{if(!G.equalsUint8Array(e,t))throw new Error("Modification detected.");return new Uint8Array}),h=U(l,a+2);n=U(h,0,-2),n=b([n,F(()=>u)]),G.isStream(i)&&r.allowUnauthenticatedStream?s=!0:n=await P(n)}return this.packets=await Ms.fromBinary(n,Js,r,new Ns,s),!0}}async function qs(e,t,r,n){const i=e instanceof Zs&&2===e.version,s=!i&&e.constructor.tag===N.packet.aeadEncryptedData;if(!i&&!s)throw new Error("Unexpected packet type");const a=vi(e.aeadAlgorithm,s),o="decrypt"===t?a.tagLength:0,c="encrypt"===t?a.tagLength:0,l=2**(e.chunkSizeByte+6)+o,u=s?8:0,h=new ArrayBuffer(13+u),f=new Uint8Array(h,0,5+u),A=new Uint8Array(h),d=new DataView(h),p=new Uint8Array(h,5,8);f.set([192|e.constructor.tag,e.version,e.cipherAlgorithm,e.aeadAlgorithm,e.chunkSizeByte],0);let g,y,m=0,w=Promise.resolve(),b=0,E=0;if(i){const{keySize:t}=xr(e.cipherAlgorithm),{ivLength:n}=a,i=new Uint8Array(h,0,5),s=await Tr(N.hash.sha256,r,e.salt,i,t+n);r=s.subarray(0,t),g=s.subarray(t),g.fill(0,g.length-8),y=new DataView(g.buffer,g.byteOffset,g.byteLength)}else g=e.iv;const k=await a(e.cipherAlgorithm,r);return C(n,async(r,n)=>{if("array"!==G.isStream(r)){const t=new TransformStream({},{highWaterMark:G.getHardwareConcurrency()*2**(e.chunkSizeByte+6),size:e=>e.length});v(t.readable,n),n=t.writable}const s=M(r),a=R(n);try{for(;;){let e=await s.readBytes(l+o)||new Uint8Array;const r=e.subarray(e.length-o);let n,h,v;if(e=e.subarray(0,e.length-o),i)v=g;else{v=g.slice();for(let e=0;e<8;e++)v[g.length-8+e]^=p[e]}if(!m||e.length?(s.unshift(r),n=k[t](e,v,f),n.catch(()=>{}),E+=e.length-o+c):(d.setInt32(5+u+4,b),n=k[t](r,v,A),n.catch(()=>{}),E+=c,h=!0),b+=e.length-o,w=w.then(()=>n).then(async e=>{await a.ready,await a.write(e),E-=e.length}).catch(e=>a.abort(e)),(h||E>a.desiredSize)&&await w,h){await a.close();break}i?y.setInt32(g.length-4,++m):d.setInt32(9,++m)}}catch(e){await a.ready.catch(()=>{}),await a.abort(e)}})}const _s=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class Vs{static get tag(){return N.packet.publicKeyEncryptedSessionKey}constructor(){this.version=null,this.publicKeyID=new Cs,this.publicKeyVersion=null,this.publicKeyFingerprint=null,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}static fromObject({version:e,encryptionKeyPacket:t,anonymousRecipient:r,sessionKey:n,sessionKeyAlgorithm:i}){const s=new Vs;if(3!==e&&6!==e)throw new Error("Unsupported PKESK version");return s.version=e,6===e&&(s.publicKeyVersion=r?null:t.version,s.publicKeyFingerprint=r?null:t.getFingerprintBytes()),s.publicKeyID=r?Cs.wildcard():t.getKeyID(),s.publicKeyAlgorithm=t.algorithm,s.sessionKey=n,s.sessionKeyAlgorithm=i,s}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the PKESK packet is unsupported.`);if(6===this.version){const r=e[t++];if(r){this.publicKeyVersion=e[t++];const n=r-1;this.publicKeyFingerprint=e.subarray(t,t+n),t+=n,this.publicKeyVersion>=5?this.publicKeyID.read(this.publicKeyFingerprint):this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8))}else this.publicKeyID=Cs.wildcard()}else t+=this.publicKeyID.read(e.subarray(t,t+8));if(this.publicKeyAlgorithm=e[t++],this.encrypted=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:return{c:G.readMPI(t.subarray(r))};case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(r));return r+=e.length+2,{c1:e,c2:G.readMPI(t.subarray(r))}}case N.publicKey.ecdh:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=new Dn;return n.read(t.subarray(r)),{V:e,C:n}}case N.publicKey.x25519:case N.publicKey.x448:{const n=Rn(e),i=G.readExactSubarray(t,r,r+n);r+=i.length;const s=new Kn;return s.read(t.subarray(r)),{ephemeralPublicKey:i,C:s}}default:throw new ct("Unknown public key encryption algorithm.")}}(this.publicKeyAlgorithm,e.subarray(t)),this.publicKeyAlgorithm===N.publicKey.x25519||this.publicKeyAlgorithm===N.publicKey.x448)if(3===this.version)this.sessionKeyAlgorithm=N.write(N.symmetric,this.encrypted.C.algorithm);else if(null!==this.encrypted.C.algorithm)throw new Error("Unexpected cleartext symmetric algorithm")}write(){const e=[new Uint8Array([this.version])];return 6===this.version?null!==this.publicKeyFingerprint?(e.push(new Uint8Array([this.publicKeyFingerprint.length+1,this.publicKeyVersion])),e.push(this.publicKeyFingerprint)):e.push(new Uint8Array([0])):e.push(this.publicKeyID.write()),e.push(new Uint8Array([this.publicKeyAlgorithm]),Tn(this.publicKeyAlgorithm,this.encrypted)),G.concatUint8Array(e)}async encrypt(e){const t=N.write(N.publicKey,this.publicKeyAlgorithm),r=3===this.version?this.sessionKeyAlgorithm:null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=zs(this.version,t,r,this.sessionKey);this.encrypted=await async function(e,t,r,n,i){switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await qe(n,e,t)}}case N.publicKey.elgamal:{const{p:e,g:t,y:i}=r;return async function(e,t,r,n){t=ae(t),r=ae(r),n=ae(n);const i=ae(Ge(e,pe(t))),s=we(Xe,t-Xe);return{c1:ge(le(r,s,t)),c2:ge(oe(le(n,s,t)*i,t))}}(n,e,t,i)}case N.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:s}=r,{publicKey:a,wrappedKey:o}=await bn(e,s,n,t,i);return{V:a,C:new Dn(o)}}case N.publicKey.x25519:case N.publicKey.x448:{if(t&&!G.isAES(t))throw new Error("X25519 and X448 keys can only encrypt AES session keys");const{A:i}=r,{ephemeralPublicKey:s,wrappedKey:a}=await Qr(e,n,i);return{ephemeralPublicKey:s,C:Kn.fromObject({algorithm:t,wrappedKey:a})}}default:return[]}}(t,r,e.publicParams,i,n)}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Decryption error");const r=t?zs(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=await Un(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,n,r),{sessionKey:s,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.elgamal:case N.publicKey.ecdh:{const t=r.subarray(0,r.length-2),i=r.subarray(r.length-2),s=G.writeChecksum(t.subarray(t.length%8)),a=s[0]===i[0]&s[1]===i[1],o=6===e?{sessionKeyAlgorithm:null,sessionKey:t}:{sessionKeyAlgorithm:t[0],sessionKey:t.subarray(1)};if(n){const t=a&o.sessionKeyAlgorithm===n.sessionKeyAlgorithm&o.sessionKey.length===n.sessionKey.length;return{sessionKey:G.selectUint8Array(t,o.sessionKey,n.sessionKey),sessionKeyAlgorithm:6===e?null:G.selectUint8(t,o.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&(6===e||N.read(N.symmetric,o.sessionKeyAlgorithm)))return o;throw new Error("Decryption error")}case N.publicKey.x25519:case N.publicKey.x448:return{sessionKeyAlgorithm:null,sessionKey:r};default:throw new Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);if(3===this.version){const e=this.publicKeyAlgorithm!==N.publicKey.x25519&&this.publicKeyAlgorithm!==N.publicKey.x448;if(this.sessionKeyAlgorithm=e?a:this.sessionKeyAlgorithm,s.length!==xr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}this.sessionKey=s}}function zs(e,t,r,n){switch(t){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.elgamal:case N.publicKey.ecdh:return G.concatUint8Array([new Uint8Array(6===e?[]:[r]),n,G.writeChecksum(n.subarray(n.length%8))]);case N.publicKey.x25519:case N.publicKey.x448:return n;default:throw new Error("Unsupported public key algorithm")}}class Xs{static get tag(){return N.packet.symEncryptedSessionKey}constructor(e=O){this.version=e.aeadProtect?6:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=null,this.aeadAlgorithm=N.write(N.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the SKESK packet is unsupported.`);6===this.version&&t++;const r=e[t++];this.version>=5&&(this.aeadAlgorithm=e[t++],6===this.version&&t++);const n=e[t++];if(this.s2k=xi(n),t+=this.s2k.read(e.subarray(t,e.length)),this.version>=5){const r=vi(this.aeadAlgorithm,!0);this.iv=e.subarray(t,t+=r.ivLength)}this.version>=5||t=5){const e=vi(this.aeadAlgorithm,!0),t=new Uint8Array([192|Xs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Tr(N.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.sessionKey=await a.decrypt(this.encrypted,this.iv,t)}else if(null!==this.encrypted){const e=await Wn(r,s,this.encrypted,new Uint8Array(n));if(this.sessionKeyAlgorithm=N.write(N.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length),this.sessionKey.length!==xr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}else this.sessionKey=s}async encrypt(e,t=O){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Ki(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=xr(r),s=await this.s2k.produceKey(e,i,t);if(null===this.sessionKey&&(this.sessionKey=Fn(this.sessionKeyAlgorithm)),this.version>=5){const e=vi(this.aeadAlgorithm);this.iv=me(e.ivLength);const t=new Uint8Array([192|Xs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Tr(N.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.encrypted=await a.encrypt(this.sessionKey,this.iv,t)}else{const e=G.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Hn(r,s,e,new Uint8Array(n))}}}class $s{static get tag(){return N.packet.publicKey}constructor(e=new Date,t=O){this.version=t.v6Keys?6:4,this.created=G.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new $s,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}async read(e,t=O){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new ct("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=G.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);const{read:t,publicParams:n}=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case N.publicKey.dsa:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=G.readMPI(t.subarray(r));r+=i.length+2;const s=G.readMPI(t.subarray(r));return r+=s.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:s}}}case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=G.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case N.publicKey.ecdsa:{const e=new et;r+=e.read(t),Mn(e);const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case N.publicKey.eddsaLegacy:{const e=new et;if(r+=e.read(t),Mn(e),e.getName()!==N.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let n=G.readMPI(t.subarray(r));return r+=n.length+2,n=G.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case N.publicKey.ecdh:{const e=new et;r+=e.read(t),Mn(e);const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=new xn;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case N.publicKey.ed25519:case N.publicKey.ed448:case N.publicKey.x25519:case N.publicKey.x448:{const n=G.readExactSubarray(t,r,r+Rn(e));return r+=n.length,{read:r,publicParams:{A:n}}}default:throw new ct("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&n.oid&&(n.oid.getName()===N.curve.curve25519Legacy||n.oid.getName()===N.curve.ed25519Legacy))throw new Error("Legacy curve25519 cannot be used with v6 keys");return this.publicParams=n,r+=t,await this.computeFingerprintAndKeyID(),r}throw new ct(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(G.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=Tn(this.algorithm,this.publicParams);return this.version>=5&&e.push(G.writeNumber(t.length,4)),e.push(t),G.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey(),r=149+e,n=e>=5?4:2;return G.concatUint8Array([new Uint8Array([r]),G.writeNumber(t.length,n),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Cs,this.version>=5)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw new Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await Ne(N.hash.sha256,e);else{if(4!==this.version)throw new Error("Unsupported key version");this.fingerprint=await Ne(N.hash.sha1,e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return G.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&G.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=N.read(N.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=G.uint8ArrayBitLength(t):this.publicParams.oid&&(e.curve=this.publicParams.oid.getName()),e}}$s.prototype.readPublicKey=$s.prototype.read,$s.prototype.writePublicKey=$s.prototype.write;const ea=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class ta extends $s{static get tag(){return N.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new ta,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}}class ra{static get tag(){return N.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t=s)return!1;if(oe(s-Sn,a)!==Cn)return!1;if(le(o,a,s)!==Sn)return!1;const l=BigInt(de(a));if(l=i)return!1;const o=BigInt(de(i));if(o{je.generateKeyPair("rsa",r,(r,n,i)=>{r?t(r):e(i)})});return ze(n,t)}let r,n,i;do{n=ve(e-(e>>1),t,40),r=ve(e>>1,t,40),i=r*n}while(de(i)!==e);const s=(r-Je)*(n-Je);return n({privateParams:{d:r,p:n,q:i,u:s},publicParams:{n:e,e:t}}));case N.publicKey.ecdsa:return Xr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new et(e),Q:t}}));case N.publicKey.eddsaLegacy:return Xr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new et(e),Q:t}}));case N.publicKey.ecdh:return Xr(r).then(({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new et(e),Q:t,kdfParams:new xn({hash:n,cipher:i})}}));case N.publicKey.ed25519:case N.publicKey.ed448:return ft(e).then(({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}}));case N.publicKey.x25519:case N.publicKey.x448:return Mr(e).then(({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}}));case N.publicKey.dsa:case N.publicKey.elgamal:throw new Error("Unsupported algorithm for key generation.");default:throw new Error("Unknown public key algorithm.")}}(this.algorithm,e,t);this.privateParams=r,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach(e=>{this.privateParams[e].fill(0),delete this.privateParams[e]}),this.privateParams=null,this.isEncrypted=!0)}}async function ia(e,t,r,n,i,s,a,o){if("argon2"===t.type&&!i)throw new Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw new Error("Using Simple S2K with version 6 keys is not allowed");const{keySize:c}=xr(n),l=await t.produceKey(r,c,o);if(!i||5===e||a)return l;const u=G.concatUint8Array([s,new Uint8Array([e,n,i])]);return Tr(N.hash.sha256,l,new Uint8Array,u,c)}class sa{static get tag(){return N.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(G.isString(e)||e.name&&!G.isString(e.name)||e.email&&!G.isEmailAddress(e.email)||e.comment&&!G.isString(e.comment))throw new Error("Invalid user ID format");const t=new sa;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=O){const r=G.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw new Error("User ID string is too long");const n=e=>/^[^\s@]+@[^\s@]+$/.test(e),i=r.indexOf("<"),s=r.lastIndexOf(">");if(-1!==i&&-1!==s&&s>i){const e=r.substring(i+1,s);if(n(e)){this.email=e;const t=r.substring(0,i).trim(),n=t.indexOf("("),s=t.lastIndexOf(")");-1!==n&&-1!==s&&s>n?(this.comment=t.substring(n+1,s).trim(),this.name=t.substring(0,n).trim()):(this.name=t,this.comment="")}}else n(r.trim())&&(this.email=r.trim(),this.name="",this.comment="");this.userID=r}write(){return G.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class aa extends na{static get tag(){return N.packet.secretSubkey}constructor(e=new Date,t=O){super(e,t)}}class oa{constructor(e){this.packets=e||new Ms}write(){return this.packets.write()}armor(e=O){const t=this.packets.some(e=>e.constructor.tag===Ks.tag&&6!==e.version);return ne(N.armor.signature,this.write(),void 0,void 0,void 0,t,e)}getSigningKeyIDs(){return this.packets.map(e=>e.issuerKeyID)}}async function ca(e,t){const r=new aa(e.date,t);return r.packets=null,r.algorithm=N.write(N.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve),await r.computeFingerprintAndKeyID(),r}async function la(e,t){const r=new na(e.date,t);return r.packets=null,r.algorithm=N.write(N.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.config),await r.computeFingerprintAndKeyID(),r}async function ua(e,t,r,n,i=new Date,s){let a,o;for(let c=e.length-1;c>=0;c--)try{(!a||e[c].created>=a.created)&&(await e[c].verify(t,r,n,i,void 0,s),a=e[c])}catch(e){o=e}if(!a)throw G.wrapError(`Could not find valid ${N.read(N.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,(e,t,r)=>t+" "+r.toLowerCase()),o);return a}function ha(e,t,r=new Date){const n=G.normalizeDate(r);if(null!==n){const r=ga(e,t);return!(e.created<=n&&n0&&(s.keyExpirationTime=r.keyExpirationTime,s.keyNeverExpires=!1),await Aa(i,[],t,s,r.date,void 0,void 0,void 0,n)}async function Aa(e,t,r,n,i,s,a=[],o=!1,c){if(r.isDummy())throw new Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw new Error("Signing key is not decrypted.");const l=new Ks;return Object.assign(l,n),l.publicKeyAlgorithm=r.algorithm,l.hashAlgorithm=await async function(e,t,r=new Date,n=[],i){const s=N.hash.sha256,a=i.preferredHashAlgorithm,o=await Promise.all(e.map(async(e,t)=>(await e.getPrimarySelfSignature(r,n[t],i)).preferredHashAlgorithms||[])),c=new Map;for(const e of o)for(const t of e)try{const e=N.write(N.hash,t);c.set(e,c.has(e)?c.get(e)+1:1)}catch{}const l=t=>0===e.length||c.get(t)===e.length||t===s,u=()=>{if(0===c.size)return s;const e=Array.from(c.keys()).filter(e=>l(e)).sort((e,t)=>Oe(e)-Oe(t))[0];return Oe(e)>=Oe(s)?e:s};if(new Set([N.publicKey.ecdsa,N.publicKey.eddsaLegacy,N.publicKey.ed25519,N.publicKey.ed448]).has(t.algorithm)){const e=function(e,t){switch(e){case N.publicKey.ecdsa:case N.publicKey.eddsaLegacy:return $r(t);case N.publicKey.ed25519:case N.publicKey.ed448:return yt(e);default:throw new Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=l(a),n=Oe(a)>=Oe(e);if(r&&n)return a;{const t=u();return Oe(t)>=Oe(e)?t:e}}return l(a)?a:u()}(t,r,i,s,c),l.rawNotations=[...a],await l.sign(r,e,i,o,c),l}async function da(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map(async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some(function(t){return G.equalsUint8Array(t.writeParams(),e.writeParams())})||t[r].push(e)})):t[r]=e)}async function pa(e,t,r,n,i,s,a=new Date,o){s=s||e;const c=[];return await Promise.all(n.map(async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){const n=![N.reasonForRevocation.keyRetired,N.reasonForRevocation.keySuperseded,N.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(s,t,r,n?null:a,!1,o),c.push(e.issuerKeyID)}}catch{}})),i?(i.revoked=!!c.some(e=>e.equals(i.issuerKeyID))||i.revoked||!1,i.revoked):c.length>0}function ga(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function ya(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=G.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.type){case"ecc":try{e.curve=N.write(N.curve,e.curve)}catch{throw new Error("Unknown curve")}e.curve!==N.curve.ed25519Legacy&&e.curve!==N.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?N.curve.ed25519Legacy:N.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===N.curve.ed25519Legacy?N.publicKey.eddsaLegacy:N.publicKey.ecdsa:e.algorithm=N.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?N.publicKey.ed25519:N.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?N.publicKey.ed448:N.publicKey.x448;break;case"rsa":e.algorithm=N.publicKey.rsaEncryptSign;break;default:throw new Error(`Unsupported key type ${e.type}`)}return e}function ma(e,t,r){switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:case N.publicKey.dsa:case N.publicKey.ecdsa:case N.publicKey.eddsaLegacy:case N.publicKey.ed25519:case N.publicKey.ed448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.signData);default:return!1}}function wa(e,t,r){switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.elgamal:case N.publicKey.ecdh:case N.publicKey.x25519:case N.publicKey.x448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&N.keyFlags.encryptStorage);default:return!1}}function ba(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.elgamal:case N.publicKey.ecdh:case N.publicKey.x25519:case N.publicKey.x448:return!(t.keyFlags&&0===(t.keyFlags[0]&N.keyFlags.signData)||!r.allowInsecureDecryptionWithSigningKeys)||!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&N.keyFlags.encryptStorage);default:return!1}}function va(e,t){const r=N.write(N.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw new Error(`${n.algorithm} keys are considered too weak.`);switch(r){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:case N.publicKey.rsaEncrypt:if(n.bitse.getKeys(o).length>0);return 0===c.length?null:(await Promise.all(c.map(async t=>{const s=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,s.keyPacket,r,n))throw new Error("User certificate is revoked");try{await e.verify(s.keyPacket,N.signature.certGeneric,a,r,void 0,n)}catch(e){throw G.wrapError("User certificate is invalid",e)}})),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map(async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch(()=>!1)})))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw new Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let s;for(let a=this.selfCertifications.length-1;a>=0;a--)try{const s=this.selfCertifications[a];if(s.revoked||await r.isRevoked(s,void 0,e,t))throw new Error("Self-certification is revoked");try{await s.verify(n,N.signature.certGeneric,i,e,void 0,t)}catch(e){throw G.wrapError("Self-certification is invalid",e)}return!0}catch(e){s=e}throw s}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await da(e,this,"selfCertifications",t,async function(e){try{return await e.verify(n,N.signature.certGeneric,i,t,!1,r),!0}catch{return!1}}),await da(e,this,"otherCertifications",t),await da(e,this,"revocationSignatures",t,function(e){return pa(n,N.signature.certRevocation,i,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=N.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=O){const s={userID:this.userID,userAttribute:this.userAttribute,key:e},a=new Ea(s.userID||s.userAttribute,this.mainKey);return a.revocationSignatures.push(await Aa(s,[],e,{signatureType:N.signature.certRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}}class ka{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Ms;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new ka(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=O){const i=this.mainKey.keyPacket;return pa(i,N.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=O){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await ua(this.bindingSignatures,r,N.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw new Error("Subkey is revoked");if(ha(this.keyPacket,i,e))throw new Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=O){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await ua(this.bindingSignatures,r,N.signature.subkeyBinding,n,e,t)}catch{return null}const s=ga(this.keyPacket,i),a=i.getExpirationTime();return si.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,N.signature.subkeyBinding,s,t,void 0,r),!0}catch{return!1}}),await da(e,this,"revocationSignatures",t,function(e){return pa(n,N.signature.subkeyRevocation,s,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=N.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=O){const s={key:e,bind:this.keyPacket},a=new ka(this.keyPacket,this.mainKey);return a.revocationSignatures.push(await Aa(s,[],e,{signatureType:N.signature.subkeyRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach(e=>{ka.prototype[e]=function(){return this.keyPacket[e]()}});const Ia=G.constructAllowedPackets([Ks]),Ba=new Set([N.packet.publicKey,N.packet.privateKey]),Ca=new Set([N.packet.publicKey,N.packet.privateKey,N.packet.publicSubkey,N.packet.privateSubkey]);class Sa{packetListToStructure(e,t=new Set){let r,n,i,s;for(const a of e){if(a instanceof ht){Ca.has(a.tag)&&!s&&(s=Ba.has(a.tag)?Ba:Ca);continue}const e=a.constructor.tag;if(s){if(!s.has(e))continue;s=null}if(t.has(e))throw new Error(`Unexpected packet type: ${e}`);switch(e){case N.packet.publicKey:case N.packet.secretKey:if(this.keyPacket)throw new Error("Key block contains multiple keys");if(this.keyPacket=a,n=this.getKeyID(),!n)throw new Error("Missing Key ID");break;case N.packet.userID:case N.packet.userAttribute:r=new Ea(a,this),this.users.push(r);break;case N.packet.publicSubkey:case N.packet.secretSubkey:r=null,i=new ka(a,this),this.subkeys.push(i);break;case N.packet.signature:switch(a.signatureType){case N.signature.certGeneric:case N.signature.certPersona:case N.signature.certCasual:case N.signature.certPositive:if(!r){G.printDebug("Dropping certification signatures without preceding user packet");continue}a.issuerKeyID.equals(n)?r.selfCertifications.push(a):r.otherCertifications.push(a);break;case N.signature.certRevocation:r?r.revocationSignatures.push(a):this.directSignatures.push(a);break;case N.signature.key:this.directSignatures.push(a);break;case N.signature.subkeyBinding:if(!i){G.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(a);break;case N.signature.keyRevocation:this.revocationSignatures.push(a);break;case N.signature.subkeyRevocation:if(!i){G.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(a)}}}}toPacketList(){const e=new Ms;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map(t=>e.push(...t.toPacketList())),this.subkeys.map(t=>e.push(...t.toPacketList())),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach(e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach(r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])}),e.keyPacket.privateParams=t}),t}getSubkeys(e=null){return this.subkeys.filter(t=>!e||t.getKeyID().equals(e,!0))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map(e=>e.getKeyID())}getUserIDs(){return this.users.map(e=>e.userID?e.userID.userID:null).filter(e=>null!==e)}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=O){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{va(i,n)}catch(e){throw G.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ua(r.bindingSignatures,i,N.signature.subkeyBinding,e,t,n);if(!ma(r.keyPacket,s,n))continue;if(!s.embeddedSignature)throw new Error("Missing embedded signature");return await ua([s.embeddedSignature],r.keyPacket,N.signature.keyBinding,e,t,n),va(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&ma(i,s,n))return va(i,n),this}catch(e){a=e}throw G.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),a)}async getEncryptionKey(e,t=new Date,r={},n=O){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{va(i,n)}catch(e){throw G.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ua(r.bindingSignatures,i,N.signature.subkeyBinding,e,t,n);if(wa(r.keyPacket,s,n))return va(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&wa(i,s,n))return va(i,n),this}catch(e){a=e}throw G.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),a)}async isRevoked(e,t,r=new Date,n=O){return pa(this.keyPacket,N.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=O){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw new Error("Primary key is revoked");if(ha(n,await this.getPrimarySelfSignature(e,t,r),e))throw new Error("Primary key is expired");if(6!==n.version){const t=await ua(this.directSignatures,n,N.signature.key,{key:n},e,r).catch(()=>{});if(t&&ha(n,t,e))throw new Error("Primary key is expired")}}async getExpirationTime(e,t=O){let r;try{const n=await this.getPrimarySelfSignature(null,e,t),i=ga(this.keyPacket,n),s=n.getExpirationTime(),a=6!==this.keyPacket.version&&await ua(this.directSignatures,this.keyPacket,N.signature.key,{key:this.keyPacket},null,t).catch(()=>{});if(a){const e=ga(this.keyPacket,a);r=Math.min(i,s,e)}else r=i{t.selfCertification.revoked||await t.user.isRevoked(t.selfCertification,null,e,r)}));const a=i.sort(function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created}).pop(),{user:o,selfCertification:c}=a;if(c.revoked||await o.isRevoked(c,null,e,r))throw new Error("Primary user is revoked");return a}async update(e,t=new Date,r=O){if(!this.hasSameFingerprintAs(e))throw new Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(this.subkeys.length!==e.subkeys.length||!this.subkeys.every(t=>e.subkeys.some(e=>t.hasSameFingerprintAs(e))))throw new Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await da(e,n,"revocationSignatures",t,i=>pa(n.keyPacket,N.signature.keyRevocation,n,[i],null,e.keyPacket,t,r)),await da(e,n,"directSignatures",t),await Promise.all(e.users.map(async e=>{const i=n.users.filter(t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.users.push(t)}})),await Promise.all(e.subkeys.map(async e=>{const i=n.subkeys.filter(t=>t.hasSameFingerprintAs(e));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}})),n}async getRevocationCertificate(e=new Date,t=O){const r={key:this.keyPacket},n=await ua(this.revocationSignatures,this.keyPacket,N.signature.keyRevocation,r,e,t),i=new Ms;i.push(n);const s=6!==this.keyPacket.version;return ne(N.armor.publicKey,i.write(),null,null,"This is a revocation certificate",s,t)}async applyRevocationCertificate(e,t=new Date,r=O){const n=await re(e),i=(await Ms.fromBinary(n.data,Ia,r)).findPacket(N.packet.signature);if(!i||i.signatureType!==N.signature.keyRevocation)throw new Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw new Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,N.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw G.wrapError("Could not verify revocation signature",e)}const s=this.clone();return s.revocationSignatures.push(i),s}async signPrimaryUser(e,t,r,n=O){const{index:i,user:s}=await this.getPrimaryUser(t,r,n),a=await s.certify(e,t,n),o=this.clone();return o.users[i]=a,o}async signAllUsers(e,t=new Date,r=O){const n=this.clone();return n.users=await Promise.all(this.users.map(function(n){return n.certify(e,t,r)})),n}async verifyPrimaryUser(e,t=new Date,r,n=O){const i=this.keyPacket,{user:s}=await this.getPrimaryUser(t,r,n);return e?await s.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await s.verify(t,n).catch(()=>!1)}]}async verifyAllUsers(e,t=new Date,r=O){const n=this.keyPacket,i=[];return await Promise.all(this.users.map(async s=>{const a=e?await s.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await s.verify(t,r).catch(()=>!1)}];i.push(...a.map(e=>({userID:s.userID?s.userID.userID:null,userAttribute:s.userAttribute,keyID:e.keyID,valid:e.valid})))})),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach(e=>{Sa.prototype[e]=ka.prototype[e]});class Da extends Sa{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([N.packet.secretKey,N.packet.secretSubkey])),!this.keyPacket))throw new Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=O){const t=6!==this.keyPacket.version;return ne(N.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class xa extends Da{constructor(e){if(super(),this.packetListToStructure(e,new Set([N.packet.publicKey,N.packet.publicSubkey])),!this.keyPacket)throw new Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Ms,t=this.toPacketList();for(const r of t)switch(r.constructor.tag){case N.packet.secretKey:{const t=$s.fromSecretKeyPacket(r);e.push(t);break}case N.packet.secretSubkey:{const t=ta.fromSecretSubkeyPacket(r);e.push(t);break}default:e.push(r)}return new Da(e)}armor(e=O){const t=6!==this.keyPacket.version;return ne(N.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},n=O){const i=this.keyPacket,s=[];let a=null;for(let r=0;re.isDecrypted())}async validate(e=O){if(!this.isPrivate())throw new Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map(e=>e.keyPacket.isDummy()).every(Boolean))throw new Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map(e=>e.keyPacket.validate()))}}clearPrivateParams(){this.getKeys().forEach(({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()})}async revoke({flag:e=N.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=O){if(!this.isPrivate())throw new Error("Need private key for revoking");const i={key:this.keyPacket},s=this.clone();return s.revocationSignatures.push(await Aa(i,[],this.keyPacket,{signatureType:N.signature.keyRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),s}async addSubkey(e={}){const t={...O,...e.config};if(e.passphrase)throw new Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits0)throw new Error(`Unknown option: ${i.join(", ")}`);let s;if(e){const{type:t,data:r}=await re(e);if(t!==N.armor.publicKey&&t!==N.armor.privateKey)throw new Error("Armored text not of type key");s=r}else s=t;const a=await Ms.fromBinary(s,Ka,r),o=a.indexOfTag(N.packet.publicKey,N.packet.secretKey);if(0===o.length)throw new Error("No key packet found");return Ua(a.slice(o[0],o[1]))}async function Ta({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...O,...r};let i=e||t;if(!i)throw new Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!G.isString(e))throw new Error("readKeys: options.armoredKeys must be a string");if(t&&!G.isUint8Array(t))throw new Error("readKeys: options.binaryKeys must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);if(e){const{type:t,data:r}=await re(e);if(t!==N.armor.publicKey&&t!==N.armor.privateKey)throw new Error("Armored text not of type key");i=r}const a=[],o=await Ms.fromBinary(i,Ka,r),c=o.indexOfTag(N.packet.publicKey,N.packet.secretKey);if(0===c.length)throw new Error("No key packet found");for(let e=0;e{const t=await e.readByte();if(1!==t)throw new ct(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=vi(this.aeadAlgorithm,!0);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()})}write(){return G.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=O){this.packets=await Ms.fromBinary(await qs(this,"decrypt",t,D(this.encrypted)),_s,r,new Ns)}async encrypt(e,t,r=O){this.cipherAlgorithm=e;const{ivLength:n}=vi(this.aeadAlgorithm,!0);this.iv=me(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await qs(this,"encrypt",t,i)}},Zs,class{static get tag(){return N.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=O){if(!r.allowUnauthenticatedMessages)throw new Error("Message is not authenticated.");const{blockSize:n}=xr(e),i=await P(D(this.encrypted)),s=await Wn(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Ms.fromBinary(s,ea,r)}async encrypt(e,t,r=O){const n=this.packets.write(),{blockSize:i}=xr(e),s=await Gn(e),a=await Hn(e,t,s,new Uint8Array(i)),o=await Hn(e,t,n,a.subarray(2));this.encrypted=G.concat([a,o])}},Vs,Xs,Ts,Ks]),Ma=G.constructAllowedPackets([Xs]),Ra=G.constructAllowedPackets([Ks]);class Qa{constructor(e){this.packets=e||new Ms}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(N.packet.publicKeyEncryptedSessionKey).forEach(function(t){e.push(t.publicKeyID)}),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(N.packet.onePassSignature);return t.length>0?t.map(e=>e.issuerKeyID):e.packets.filterByTag(N.packet.signature).map(e=>e.issuerKeyID)}async decrypt(e,t,r,n=new Date,i=O){const s=this.packets.filterByTag(N.packet.symmetricallyEncryptedData,N.packet.symEncryptedIntegrityProtectedData,N.packet.aeadEncryptedData);if(0===s.length)throw new Error("No encrypted data found");const a=s[0],o=a.cipherAlgorithm,c=r||await this.decryptSessionKeys(e,t,o,n,i);let l=null;const u=Promise.all(c.map(async({algorithm:e,data:t})=>{if(!G.isUint8Array(t)||!a.cipherAlgorithm&&!G.isString(e))throw new Error("Invalid session key for decryption.");try{const r=a.cipherAlgorithm||N.write(N.symmetric,e);await a.decrypt(r,t,i)}catch(e){G.printDebugError(e),l=e}}));if(T(a.encrypted),a.encrypted=null,await u,!a.packets||!a.packets.length)throw l||new Error("Decryption failed.");const h=new Qa(a.packets);return a.packets=new Ms,h}async decryptSessionKeys(e,t,r,n=new Date,i=O){let s,a=[];if(t){const e=this.packets.filterByTag(N.packet.symEncryptedSessionKey);if(0===e.length)throw new Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map(async function(t,r){let n;n=r?await Ms.fromBinary(e.write(),Ma,i):e,await Promise.all(n.map(async function(e){try{await e.decrypt(t,i),a.push(e)}catch(e){G.printDebugError(e),e instanceof ki&&(s=e)}}))}))}else{if(!e)throw new Error("No key or password specified.");{const t=this.packets.filterByTag(N.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw new Error("No public key encrypted session key packet found.");await Promise.all(t.map(async function(t){await Promise.all(e.map(async function(e){let o;try{o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map(e=>e.keyPacket)}catch(e){return void(s=e)}let c=[N.symmetric.aes256,N.symmetric.aes128,N.symmetric.tripledes,N.symmetric.cast5];try{const t=await e.getPrimarySelfSignature(n,void 0,i);t.preferredSymmetricAlgorithms&&(c=c.concat(t.preferredSymmetricAlgorithms))}catch{}await Promise.all(o.map(async function(e){if(!e.isDecrypted())throw new Error("Decryption key is not decrypted.");if(!i.constantTimePKCS1Decryption||t.publicKeyAlgorithm!==N.publicKey.rsaEncrypt&&t.publicKeyAlgorithm!==N.publicKey.rsaEncryptSign&&t.publicKeyAlgorithm!==N.publicKey.rsaSign&&t.publicKeyAlgorithm!==N.publicKey.elgamal)try{await t.decrypt(e);const n=r||t.sessionKeyAlgorithm;if(n&&!c.includes(N.write(N.symmetric,n)))throw new Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){G.printDebugError(e),s=e}else{const n=t.write();await Promise.all((r?[r]:Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map(async t=>{const r=new Vs;r.read(n);const i={sessionKeyAlgorithm:t,sessionKey:Fn(t)};try{await r.decrypt(e,i),a.push(r)}catch(e){G.printDebugError(e),s=e}}))}}))})),T(t.encrypted),t.encrypted=null}))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter(t=>{const r=t.sessionKeyAlgorithm+G.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)})}return a.map(e=>({data:e.sessionKey,algorithm:e.sessionKeyAlgorithm&&N.read(N.symmetric,e.sessionKeyAlgorithm)}))}throw s||new Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=O){const{symmetricAlgo:i,aeadAlgo:s}=await async function(e=[],t=new Date,r=[],n=O){const i=await Promise.all(e.map((e,i)=>e.getPrimarySelfSignature(t,r[i],n)));if(e.length?i.every(e=>e.features&&e.features[0]&N.features.seipdv2):n.aeadProtect){const e={symmetricAlgo:N.symmetric.aes128,aeadAlgo:N.aead.ocb},t=[{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:n.preferredAEADAlgorithm},{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:N.aead.ocb},{symmetricAlgo:N.symmetric.aes128,aeadAlgo:n.preferredAEADAlgorithm}];for(const e of t)if(i.every(t=>t.preferredCipherSuites&&t.preferredCipherSuites.some(t=>t[0]===e.symmetricAlgo&&t[1]===e.aeadAlgo)))return e;return e}const s=N.symmetric.aes128,a=n.preferredSymmetricAlgorithm;return{symmetricAlgo:i.every(e=>e.preferredSymmetricAlgorithms&&e.preferredSymmetricAlgorithms.includes(a))?a:s,aeadAlgo:void 0}}(e,t,r,n),a=N.read(N.symmetric,i),o=s?N.read(N.aead,s):void 0;return await Promise.all(e.map(e=>e.getEncryptionKey().catch(()=>null).then(e=>{if(e&&(e.keyPacket.algorithm===N.publicKey.x25519||e.keyPacket.algorithm===N.publicKey.x448)&&!o&&!G.isAES(i))throw new Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")}))),{data:Fn(i),algorithm:a,aeadAlgorithm:o}}async encrypt(e,t,r,n=!1,i=[],s=new Date,a=[],o=O){if(r){if(!G.isUint8Array(r.data)||!G.isString(r.algorithm))throw new Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Qa.generateSessionKey(e,s,a,o);else{if(!t||!t.length)throw new Error("No keys, passwords, or session key provided.");r=await Qa.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:l,aeadAlgorithm:u}=r,h=await Qa.encryptSessionKey(c,l,u,e,t,n,i,s,a,o),f=Zs.fromObject({version:u?2:1,aeadAlgorithm:u?N.write(N.aead,u):null});f.packets=this.packets;const A=N.write(N.symmetric,l);return await f.encrypt(A,c,o),h.packets.push(f),f.packets=new Ms,h}static async encryptSessionKey(e,t,r,n,i,s=!1,a=[],o=new Date,c=[],l=O){const u=new Ms,h=N.write(N.symmetric,t),f=r&&N.write(N.aead,r);if(n){const t=await Promise.all(n.map(async function(t,r){const n=await t.getEncryptionKey(a[r],o,c,l),i=Vs.fromObject({version:f?6:3,encryptionKeyPacket:n.keyPacket,anonymousRecipient:s,sessionKey:e,sessionKeyAlgorithm:h});return await i.encrypt(n.keyPacket),delete i.sessionKey,i}));u.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t,l),1}catch{return 0}},r=(e,t)=>e+t,n=async function(e,s,a,o){const c=new Xs(l);return c.sessionKey=e,c.sessionKeyAlgorithm=s,a&&(c.aeadAlgorithm=a),await c.encrypt(o,l),l.passwordCollisionCheck&&1!==(await Promise.all(i.map(e=>t(c,e)))).reduce(r)?n(e,s,o):(delete c.sessionKey,c)},s=await Promise.all(i.map(t=>n(e,h,f,t)));u.push(...s)}return new Qa(u)}async sign(e=[],t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=O){const l=new Ms,u=this.packets.findPacket(N.packet.literalData);if(!u)throw new Error("No literal data packet to sign.");const h=await Na(u,e,t,r,n,i,s,a,o,!1,c),f=h.map((e,t)=>Ts.fromSignaturePacket(e,0===t)).reverse();return l.push(...f),l.push(u),l.push(...h),new Qa(l)}compress(e,t=O){if(e===N.compression.uncompressed)return this;const r=new Ls(t);r.algorithm=e,r.packets=this.packets;const n=new Ms;return n.push(r),new Qa(n)}async signDetached(e=[],t=[],r=null,n=[],i=[],s=new Date,a=[],o=[],c=O){const l=this.packets.findPacket(N.packet.literalData);if(!l)throw new Error("No literal data packet to sign.");return new oa(await Na(l,e,t,r,n,i,s,a,o,!0,c))}async verify(e,t=new Date,r=O){const n=this.unwrapCompressed(),i=n.packets.filterByTag(N.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");let s=n.packets;u(s.stream)&&(s=s.concat(await P(s.stream,e=>e||[])));const a=s.filterByTag(N.packet.onePassSignature).reverse(),o=s.filterByTag(N.packet.signature);return a.length&&!o.length&&G.isStream(s.stream)&&!u(s.stream)?(await Promise.all(a.map(async e=>{e.correspondingSig=new Promise((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r}),e.signatureData=F(async()=>(await e.correspondingSig).signatureData),e.hashed=P(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch(()=>{})})),s.stream=C(s.stream,async(e,t)=>{const r=M(e),n=R(t);try{for(let e=0;e{t.correspondingSigReject(e)}),await n.abort(e)}}),Oa(a,i,e,t,!1,r)):Oa(o,i,e,t,!1,r)}async verifyDetached(e,t,r=new Date,n=O){const i=this.unwrapCompressed().packets.filterByTag(N.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");return Oa(e.packets.filterByTag(N.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(N.packet.compressedData);return e.length?new Qa(e[0].packets):this}async appendSignature(e,t=O){await this.packets.read(G.isUint8Array(e)?e:(await re(e)).data,Ra,t)}write(){return this.packets.write()}armor(e=O){const t=this.packets[this.packets.length-1],r=t.constructor.tag===Zs.tag?2!==t.version:this.packets.some(e=>e.constructor.tag===Ks.tag&&6!==e.version);return ne(N.armor.message,this.write(),null,null,null,r,e)}}async function Na(e,t,r=[],n=null,i=[],s=new Date,a=[],o=[],c=[],l=!1,u=O){const h=new Ms,f=null===e.text?N.signature.binary:N.signature.text;if(await Promise.all(t.map(async(t,n)=>{const h=a[n];if(!t.isPrivate())throw new Error("Need private key for signing");const A=await t.getSigningKey(i[n],s,h,u);return Aa(e,r.length?r:[t],A.keyPacket,{signatureType:f},s,o,c,l,u)})).then(e=>{h.push(...e)}),n){const e=n.packets.filterByTag(N.packet.signature);h.push(...e)}return h}function Oa(e,t,r,n=new Date,i=!1,s=O){return e.filter(e=>["text","binary"].includes(N.read(N.signature,e.signatureType))).map(e=>function(e,t,r,n=new Date,i=!1,s=O){let a,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){a=t,o=r[0];break}}const c=e instanceof Ts?e.correspondingSig:e,l={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw new Error(`Could not find signing key with key ID ${e.issuerKeyID.toHex()}`);await e.verify(o.keyPacket,e.signatureType,t[0],n,i,s);const r=await c;if(o.getCreationTime()>r.created)throw new Error("Key is newer than the signature");try{await a.getSigningKey(o.getKeyID(),r.created,void 0,s)}catch(e){if(!s.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await a.getSigningKey(o.getKeyID(),n,void 0,s)}return!0})(),signature:(async()=>{const e=await c,t=new Ms;return e&&t.push(e),new oa(t)})()};return l.signature.catch(()=>{}),l.verified.catch(()=>{}),l}(e,t,r,n,i,s))}async function La({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...O,...r};let i=e||t;if(!i)throw new Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!G.isString(e)&&!G.isStream(e))throw new Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!G.isUint8Array(t)&&!G.isStream(t))throw new Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);const a=G.isStream(i);if(e){const{type:e,data:t}=await re(i);if(e!==N.armor.message)throw new Error("Armored text not of type message");i=t}const o=await Ms.fromBinary(i,Fa,r,new Ns),c=new Qa(o);return c.fromStream=a,c}async function Ga({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...s}){const a=void 0!==e?e:t;if(void 0===a)throw new Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!G.isString(e)&&!G.isStream(e))throw new Error("createMessage: options.text must be a string or stream");if(t&&!G.isUint8Array(t)&&!G.isStream(t))throw new Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(s);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);const c=G.isStream(a),l=new Bs(n);void 0!==e?l.setText(a,N.write(N.literal,i)):l.setBytes(a,N.write(N.literal,i)),void 0!==r&&l.setFilename(r);const u=new Ms;u.push(l);const h=new Qa(u);return h.fromStream=c,h}const Ha=G.constructAllowedPackets([Ks]);class Wa{constructor(e,t){if(this.text=G.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof oa))throw new Error("Invalid signature input");this.signature=t||new oa(new Ms)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach(function(t){e.push(t.issuerKeyID)}),e}async sign(e,t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=O){const l=new Bs;l.setText(this.text);const u=new oa(await Na(l,e,t,r,n,i,s,a,o,!0,c));return new Wa(this.text,u)}verify(e,t=new Date,r=O){const n=this.signature.packets.filterByTag(N.packet.signature),i=new Bs;return i.setText(this.text),Oa(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=O){const t=this.signature.packets.some(e=>6!==e.version),r={hash:t?Array.from(new Set(this.signature.packets.map(e=>N.read(N.hash,e.hashAlgorithm).toUpperCase()))).join():null,text:this.text,data:this.signature.packets.write()};return ne(N.armor.signed,r,void 0,void 0,void 0,t,e)}}async function Ya({cleartextMessage:e,config:t,...r}){if(t={...O,...t},!e)throw new Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!G.isString(e))throw new Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw new Error(`Unknown option: ${n.join(", ")}`);const i=await re(e);if(i.type!==N.armor.signed)throw new Error("No cleartext signed message.");const s=await Ms.fromBinary(i.data,Ha,t);!function(e,t){const r=[];if(e.forEach(e=>{const t=e.match(/^Hash: (.+)$/);if(!t)throw new Error('Only "Hash" header allowed in cleartext signed message');{const e=t[1].replace(/\s/g,"").split(",").map(e=>{try{return N.write(N.hash,e.toLowerCase())}catch{throw new Error("Unknown hash algorithm in armor header: "+e.toLowerCase())}});r.push(...e)}}),r.length&&!function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n0)throw new Error(`Unknown option: ${r.join(", ")}`);return new Wa(e)}async function Ja({userIDs:e=[],passphrase:t,type:r,curve:n,rsaBits:i=4096,keyExpirationTime:s=0,date:a=new Date,subkeys:o=[{}],format:c="armored",signatureNotations:l=[],config:u,...h}){$a(u={...O,...u}),r||n?(r=r||"ecc",n=n||"curve25519Legacy"):(r=u.v6Keys?"curve25519":"ecc",n="curve25519Legacy"),e=eo(e),l=eo(l);const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(0===e.length&&!u.v6Keys)throw new Error("UserIDs are required for V4 keys");if("rsa"===r&&iya(e.subkeys[r],e));let r=[la(e,t)];r=r.concat(e.subkeys.map(e=>ca(e,t)));const n=await Promise.all(r),i=await async function(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map(async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)}));const i=new Ms;function s(e,t){return[t,...e.filter(e=>e!==t)]}function a(){const e={};e.keyFlags=[N.keyFlags.certifyKeys|N.keyFlags.signData];const t=s([N.symmetric.aes256,N.symmetric.aes128],n.preferredSymmetricAlgorithm);if(e.preferredSymmetricAlgorithms=t,n.aeadProtect){const r=s([N.aead.gcm,N.aead.eax,N.aead.ocb],n.preferredAEADAlgorithm);e.preferredCipherSuites=r.flatMap(e=>t.map(t=>[t,e]))}return e.preferredHashAlgorithms=s([N.hash.sha512,N.hash.sha256,N.hash.sha3_512,N.hash.sha3_256],n.preferredHashAlgorithm),e.preferredCompressionAlgorithms=s([N.compression.uncompressed,N.compression.zlib,N.compression.zip],n.preferredCompressionAlgorithm),e.features=[0],e.features[0]|=N.features.modificationDetection,n.aeadProtect&&(e.features[0]|=N.features.seipdv2),r.keyExpirationTime>0&&(e.keyExpirationTime=r.keyExpirationTime,e.keyNeverExpires=!1),e}if(i.push(e),6===e.version){const t={key:e},s=a();s.signatureType=N.signature.key;const o=await Aa(t,[],e,s,r.date,void 0,r.signatureNotations,void 0,n);i.push(o)}await Promise.all(r.userIDs.map(async function(t,i){const s=sa.fromObject(t),o={userID:s,key:e},c=6!==e.version?a():{};return c.signatureType=N.signature.certPositive,0===i&&(c.isPrimaryUserID=!0),{userIDPacket:s,signaturePacket:await Aa(o,[],e,c,r.date,void 0,r.signatureNotations,void 0,n)}})).then(e=>{e.forEach(({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)})}),await Promise.all(t.map(async function(t,i){const s=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await fa(t,e,s,n)}})).then(e=>{e.forEach(({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)})});const o={key:e};return i.push(await Aa(o,[],e,{signatureType:N.signature.keyRevocation,reasonForRevocationFlag:N.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),t.map(function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}),new xa(i)}(n[0],n.slice(1),e,t),s=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:s}}(A,u);return e.getKeys().forEach(({keyPacket:e})=>va(e,u)),{privateKey:ro(e,c,u),publicKey:ro(e.toPublic(),c,u),revocationCertificate:t}}catch(e){throw G.wrapError("Error generating keypair",e)}}async function Za({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:s,...a}){$a(s={...O,...s});const o=Object.keys(a);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);try{const a=t?await e.applyRevocationCertificate(t,n,s):await e.revoke(r,n,s);return a.isPrivate()?{privateKey:ro(a,i,s),publicKey:ro(a.toPublic(),i,s)}:{privateKey:null,publicKey:ro(a,i,s)}}catch(e){throw G.wrapError("Error revoking key",e)}}async function qa({privateKey:e,passphrase:t,config:r,...n}){$a(r={...O,...r});const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);if(!e.isPrivate())throw new Error("Cannot encrypt a public key");const s=e.clone(!0),a=s.getKeys(),o=G.isArray(t)?t:new Array(a.length).fill(t);if(o.length!==a.length)throw new Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(a.map(async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()})),s}catch(e){throw s.clearPrivateParams(),G.wrapError("Error encrypting private key",e)}}async function _a({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:s="armored",signature:a=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:l=[],date:u=new Date,signingUserIDs:h=[],encryptionUserIDs:f=[],signatureNotations:A=[],config:d,...p}){if($a(d={...O,...d}),function(e){if(!(e instanceof Qa))throw new Error("Parameter [message] needs to be of type Message")}(e),za(s),t=eo(t),r=eo(r),n=eo(n),c=eo(c),l=eo(l),h=eo(h),f=eo(f),A=eo(A),p.detached)throw new Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(p.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(p.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==p.armor)throw new Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(p);if(g.length>0)throw new Error(`Unknown option: ${g.join(", ")}`);r||(r=[]);try{if((r.length||a)&&(e=await e.sign(r,t,a,c,u,h,l,A,d)),e=e.compress(await async function(e=[],t=new Date,r=[],n=O){const i=N.compression.uncompressed,s=n.preferredCompressionAlgorithm,a=await Promise.all(e.map(async function(e,i){const a=(await e.getPrimarySelfSignature(t,r[i],n)).preferredCompressionAlgorithms;return!!a&&a.indexOf(s)>=0}));return a.every(Boolean)?s:i}(t,u,f,d),d),e=await e.encrypt(t,n,i,o,l,u,f,d),"object"===s)return e;const p="armored"===s?e.armor(d):e.write();return await to(p)}catch(e){throw G.wrapError("Error encrypting message",e)}}async function Va({message:e,signingKeys:t,recipientKeys:r=[],format:n="armored",detached:i=!1,signingKeyIDs:s=[],date:a=new Date,signingUserIDs:o=[],recipientUserIDs:c=[],signatureNotations:l=[],config:u,...h}){if($a(u={...O,...u}),function(e){if(!(e instanceof Wa||e instanceof Qa))throw new Error("Parameter [message] needs to be of type Message or CleartextMessage")}(e),za(n),t=eo(t),s=eo(s),o=eo(o),r=eo(r),c=eo(c),l=eo(l),h.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==h.armor)throw new Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(e instanceof Wa&&"binary"===n)throw new Error("Cannot return signed cleartext message in binary format");if(e instanceof Wa&&i)throw new Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw new Error("No signing keys provided");try{let h;return h=i?await e.signDetached(t,r,void 0,s,a,o,c,l,u):await e.sign(t,r,void 0,s,a,o,c,l,u),"object"===n?h:(h="armored"===n?h.armor(u):h.write(),i&&(h=C(e.packets.write(),async(e,t)=>{await Promise.all([v(h,t),P(e).catch(()=>{})])})),await to(h))}catch(e){throw G.wrapError("Error signing message",e)}}function za(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw new Error(`Unsupported format ${e}`)}const Xa=Object.keys(O).length;function $a(e){const t=Object.keys(e);if(t.length!==Xa)for(const e of t)if(void 0===O[e])throw new Error(`Unknown config property: ${e}`)}function eo(e){return e&&!G.isArray(e)&&(e=[e]),e}async function to(e){return"array"===G.isStream(e)?P(e):e}function ro(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw new Error(`Unsupported format ${t}`)}}const no="object"==typeof n&&"crypto"in n?n.crypto:void 0;function io(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function so(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ao(e,...t){if(!io(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function oo(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");so(e.outputLen),so(e.blockLen)}function co(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 lo(e,t){ao(e);const r=t.outputLen;if(e.length>>t}function Ao(e,t){return e<>>32-t>>>0}function po(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const go=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let t=0;t"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),mo=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function wo(e){if(ao(e),yo)return e.toHex();let t="";for(let r=0;r=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function vo(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(yo)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,i=0;te().update(Eo(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Co=Bo;function So(e=32){if(no&&"function"==typeof no.getRandomValues)return no.getRandomValues(new Uint8Array(e));if(no&&"function"==typeof no.randomBytes)return Uint8Array.from(no.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Do=BigInt(0),xo=BigInt(1);function Ko(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e);return e}function Uo(e,t,r=""){const n=io(e),i=e?.length,s=void 0!==t;if(!n||s&&i!==t)throw new Error((r&&`"${r}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(n?`length=${i}`:"type="+typeof e));return e}function Po(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function To(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?Do:BigInt("0x"+e)}function Fo(e){return To(wo(e))}function Mo(e){return ao(e),To(wo(Uint8Array.from(e).reverse()))}function Ro(e,t){return vo(e.toString(16).padStart(2*t,"0"))}function Qo(e,t){return Ro(e,t).reverse()}function No(e,t,r){let n;if("string"==typeof t)try{n=vo(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!io(t))throw new Error(e+" must be hex string or Uint8Array");n=Uint8Array.from(t)}const i=n.length;if("number"==typeof r&&i!==r)throw new Error(e+" of length "+r+" expected, got "+i);return n}function Oo(e){return Uint8Array.from(e)}const Lo=e=>"bigint"==typeof e&&Do<=e;function Go(e,t,r,n){if(!function(e,t,r){return Lo(e)&&Lo(t)&&Lo(r)&&t<=e&&eDo;e>>=xo,t+=1);return t}const Wo=e=>(xo<n(e,t,!1)),Object.entries(r).forEach(([e,t])=>n(e,t,!0))}function jo(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const s=e(r,...n);return t.set(r,s),s}}const Jo=BigInt(0),Zo=BigInt(1),qo=BigInt(2),_o=BigInt(3),Vo=BigInt(4),zo=BigInt(5),Xo=BigInt(7),$o=BigInt(8),ec=BigInt(9),tc=BigInt(16);function rc(e,t){const r=e%t;return r>=Jo?r:t+r}function nc(e,t,r){let n=e;for(;t-- >Jo;)n*=n,n%=r;return n}function ic(e,t){if(e===Jo)throw new Error("invert: expected non-zero number");if(t<=Jo)throw new Error("invert: expected positive modulus, got "+t);let r=rc(e,t),n=t,i=Jo,s=Zo;for(;r!==Jo;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==Zo)throw new Error("invert: does not exist");return rc(i,t)}function sc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function ac(e,t){const r=(e.ORDER+Zo)/Vo,n=e.pow(t,r);return sc(e,n,t),n}function oc(e,t){const r=(e.ORDER-zo)/$o,n=e.mul(t,qo),i=e.pow(n,r),s=e.mul(t,i),a=e.mul(e.mul(s,qo),i),o=e.mul(s,e.sub(a,e.ONE));return sc(e,o,t),o}function cc(e){if(e<_o)throw new Error("sqrt is not defined for small field");let t=e-Zo,r=0;for(;t%qo===Jo;)t/=qo,r++;let n=qo;const i=Ac(e);for(;1===hc(i,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return ac;let s=i.pow(n,t);const a=(t+Zo)/qo;return function(e,n){if(e.is0(n))return n;if(1!==hc(e,n))throw new Error("Cannot find square root");let i=r,o=e.mul(e.ONE,s),c=e.pow(n,t),l=e.pow(n,a);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,r=e.sqr(c);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw new Error("Cannot find square root");const n=Zo<e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),s=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),s),n}function hc(e,t){const r=(e.ORDER-Zo)/qo,n=e.pow(t,r),i=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),a=e.eql(n,e.neg(e.ONE));if(!i&&!s&&!a)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function fc(e,t){void 0!==t&&so(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function Ac(e,t,r=!1,n={}){if(e<=Jo)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,s,a,o=!1;if("object"==typeof t&&null!=t){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");const e=t;e.BITS&&(i=e.BITS),e.sqrt&&(s=e.sqrt),"boolean"==typeof e.isLE&&(r=e.isLE),"boolean"==typeof e.modFromBytes&&(o=e.modFromBytes),a=e.allowedLengths}else"number"==typeof t&&(i=t),n.sqrt&&(s=n.sqrt);const{nBitLength:c,nByteLength:l}=fc(e,i);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const h=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Wo(c),ZERO:Jo,ONE:Zo,allowedLengths:a,create:t=>rc(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Jo<=t&&te===Jo,isValidNot0:e=>!h.is0(e)&&h.isValid(e),isOdd:e=>(e&Zo)===Zo,neg:t=>rc(-t,e),eql:(e,t)=>e===t,sqr:t=>rc(t*t,e),add:(t,r)=>rc(t+r,e),sub:(t,r)=>rc(t-r,e),mul:(t,r)=>rc(t*r,e),pow:(e,t)=>function(e,t,r){if(rJo;)r&Zo&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Zo;return n}(h,e,t),div:(t,r)=>rc(t*ic(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ic(t,e),sqrt:s||(t=>{return u||(u=(r=e)%Vo===_o?ac:r%$o===zo?oc:r%tc===ec?function(e){const t=Ac(e),r=cc(e),n=r(t,t.neg(t.ONE)),i=r(t,n),s=r(t,t.neg(n)),a=(e+Xo)/tc;return(e,t)=>{let r=e.pow(t,a),o=e.mul(r,n);const c=e.mul(r,i),l=e.mul(r,s),u=e.eql(e.sqr(o),t),h=e.eql(e.sqr(c),t);r=e.cmov(r,o,u),o=e.cmov(l,c,h);const f=e.eql(e.sqr(o),t),A=e.cmov(r,o,f);return sc(e,A,t),A}}(r):cc(r)),u(h,t);var r}),toBytes:e=>r?Qo(e,l):Ro(e,l),fromBytes:(t,n=!0)=>{if(a){if(!a.includes(t.length)||t.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+t.length);const e=new Uint8Array(l);e.set(t,r?0:e.length-t.length),t=e}if(t.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+t.length);let i=r?Mo(t):Fo(t);if(o&&(i=rc(i,e)),!n&&!h.isValid(i))throw new Error("invalid field element: outside of range 0..ORDER");return i},invertBatch:e=>uc(h,e),cmov:(e,t,r)=>r?t:e});return Object.freeze(h)}function dc(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function pc(e){const t=dc(e);return t+Math.ceil(t/2)}function gc(e,t,r){return e&t^~e&r}function yc(e,t,r){return e&t^e&r^t&r}class mc extends Io{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=ho(this.buffer)}update(e){co(this),ao(e=Eo(e));const{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let s=0;sn-s&&(this.process(r,0),s=0);for(let e=s;e>i&s),o=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+l,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const a=ho(e),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>Ic&kc)}:{h:0|Number(e>>Ic&kc),l:0|Number(e&kc)}}function Cc(e,t=!1){const r=e.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let s=0;se>>>r,Dc=(e,t,r)=>e<<32-r|t>>>r,xc=(e,t,r)=>e>>>r|t<<32-r,Kc=(e,t,r)=>e<<32-r|t>>>r,Uc=(e,t,r)=>e<<64-r|t>>>r-32,Pc=(e,t,r)=>e>>>r-32|t<<64-r;function Tc(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}}const Fc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Mc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Rc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Qc=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Nc=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Oc=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0,Lc=Uint32Array.from([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]),Gc=new Uint32Array(64);class Hc extends mc{constructor(e=32){super(64,e,8,!1),this.A=0|wc[0],this.B=0|wc[1],this.C=0|wc[2],this.D=0|wc[3],this.E=0|wc[4],this.F=0|wc[5],this.G=0|wc[6],this.H=0|wc[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[e,t,r,n,i,s,a,o]}set(e,t,r,n,i,s,a,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)Gc[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=Gc[e-15],r=Gc[e-2],n=fo(t,7)^fo(t,18)^t>>>3,i=fo(r,17)^fo(r,19)^r>>>10;Gc[e]=i+Gc[e-7]+n+Gc[e-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+(fo(a,6)^fo(a,11)^fo(a,25))+gc(a,o,c)+Lc[e]+Gc[e]|0,u=(fo(r,2)^fo(r,13)^fo(r,22))+yc(r,n,i)|0;l=c,c=o,o=a,a=s+t|0,s=i,i=n,n=r,r=t+u|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,i,s,a,o,c,l)}roundClean(){uo(Gc)}destroy(){this.set(0,0,0,0,0,0,0,0),uo(this.buffer)}}class Wc extends Hc{constructor(){super(28),this.A=0|bc[0],this.B=0|bc[1],this.C=0|bc[2],this.D=0|bc[3],this.E=0|bc[4],this.F=0|bc[5],this.G=0|bc[6],this.H=0|bc[7]}}const Yc=(()=>Cc(["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))))(),jc=(()=>Yc[0])(),Jc=(()=>Yc[1])(),Zc=new Uint32Array(80),qc=new Uint32Array(80);class _c extends mc{constructor(e=64){super(128,e,16,!1),this.Ah=0|Ec[0],this.Al=0|Ec[1],this.Bh=0|Ec[2],this.Bl=0|Ec[3],this.Ch=0|Ec[4],this.Cl=0|Ec[5],this.Dh=0|Ec[6],this.Dl=0|Ec[7],this.Eh=0|Ec[8],this.El=0|Ec[9],this.Fh=0|Ec[10],this.Fl=0|Ec[11],this.Gh=0|Ec[12],this.Gl=0|Ec[13],this.Hh=0|Ec[14],this.Hl=0|Ec[15]}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:c,El:l,Fh:u,Fl:h,Gh:f,Gl:A,Hh:d,Hl:p}=this;return[e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p]}set(e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|c,this.El=0|l,this.Fh=0|u,this.Fl=0|h,this.Gh=0|f,this.Gl=0|A,this.Hh=0|d,this.Hl=0|p}process(e,t){for(let r=0;r<16;r++,t+=4)Zc[r]=e.getUint32(t),qc[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|Zc[e-15],r=0|qc[e-15],n=xc(t,r,1)^xc(t,r,8)^Sc(t,0,7),i=Kc(t,r,1)^Kc(t,r,8)^Dc(t,r,7),s=0|Zc[e-2],a=0|qc[e-2],o=xc(s,a,19)^Uc(s,a,61)^Sc(s,0,6),c=Kc(s,a,19)^Pc(s,a,61)^Dc(s,a,6),l=Rc(i,c,qc[e-7],qc[e-16]),u=Qc(l,n,o,Zc[e-7],Zc[e-16]);Zc[e]=0|u,qc[e]=0|l}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:c,Dl:l,Eh:u,El:h,Fh:f,Fl:A,Gh:d,Gl:p,Hh:g,Hl:y}=this;for(let e=0;e<80;e++){const t=xc(u,h,14)^xc(u,h,18)^Uc(u,h,41),m=Kc(u,h,14)^Kc(u,h,18)^Pc(u,h,41),w=u&f^~u&d,b=Nc(y,m,h&A^~h&p,Jc[e],qc[e]),v=Oc(b,g,t,w,jc[e],Zc[e]),E=0|b,k=xc(r,n,28)^Uc(r,n,34)^Uc(r,n,39),I=Kc(r,n,28)^Pc(r,n,34)^Pc(r,n,39),B=r&i^r&a^i&a,C=n&s^n&o^s&o;g=0|d,y=0|p,d=0|f,p=0|A,f=0|u,A=0|h,({h:u,l:h}=Tc(0|c,0|l,0|v,0|E)),c=0|a,l=0|o,a=0|i,o=0|s,i=0|r,s=0|n;const S=Fc(E,I,C);r=Mc(S,v,k,B),n=0|S}({h:r,l:n}=Tc(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=Tc(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=Tc(0|this.Ch,0|this.Cl,0|a,0|o)),({h:c,l}=Tc(0|this.Dh,0|this.Dl,0|c,0|l)),({h:u,l:h}=Tc(0|this.Eh,0|this.El,0|u,0|h)),({h:f,l:A}=Tc(0|this.Fh,0|this.Fl,0|f,0|A)),({h:d,l:p}=Tc(0|this.Gh,0|this.Gl,0|d,0|p)),({h:g,l:y}=Tc(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,n,i,s,a,o,c,l,u,h,f,A,d,p,g,y)}roundClean(){uo(Zc,qc)}destroy(){uo(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Vc extends _c{constructor(){super(48),this.Ah=0|vc[0],this.Al=0|vc[1],this.Bh=0|vc[2],this.Bl=0|vc[3],this.Ch=0|vc[4],this.Cl=0|vc[5],this.Dh=0|vc[6],this.Dl=0|vc[7],this.Eh=0|vc[8],this.El=0|vc[9],this.Fh=0|vc[10],this.Fl=0|vc[11],this.Gh=0|vc[12],this.Gl=0|vc[13],this.Hh=0|vc[14],this.Hl=0|vc[15]}}const zc=Bo(()=>new Hc),Xc=Bo(()=>new Wc),$c=Bo(()=>new _c),el=Bo(()=>new Vc);class tl extends Io{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,oo(e);const r=Eo(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let e=0;enew tl(e,t).update(r).digest();rl.create=(e,t)=>new tl(e,t);const nl=BigInt(0),il=BigInt(1);function sl(e,t){const r=t.negate();return e?r:t}function al(e,t){const r=uc(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function ol(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function cl(e,t){ol(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Wo(e),maxNumber:r,shiftBy:BigInt(e)}}function ll(e,t,r){const{windowSize:n,mask:i,maxNumber:s,shiftBy:a}=r;let o=Number(e&i),c=e>>a;o>n&&(o-=s,c+=il);const l=t*n;return{nextN:c,offset:l+Math.abs(o)-1,isZero:0===o,isNeg:o<0,isNegF:t%2!=0,offsetF:l}}const ul=new WeakMap,hl=new WeakMap;function fl(e){return hl.get(e)||1}function Al(e){if(e!==nl)throw new Error("invalid wNAF")}class dl{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>nl;)t&il&&(r=r.add(n)),n=n.double(),t>>=il;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=cl(t,this.bits),i=[];let s=e,a=s;for(let e=0;e{if(!(e instanceof t))throw new Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)})}(n,t);const i=r.length,s=n.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Ho(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const l=Wo(c),u=new Array(Number(l)+1).fill(a);let h=a;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){u.fill(a);for(let t=0;t>BigInt(e)&l);u[s]=u[s].add(r[t])}let t=a;for(let e=u.length-1,r=a;e>0;e--)r=r.add(u[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return Ac(e,{isLE:r})}function yl(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>nl))throw new Error(`CURVE.${e} must be positive bigint`)}const i=gl(t.p,r.Fp,n),s=gl(t.n,r.Fn,n),a=["Gx","Gy","a","weierstrass"===e?"b":"d"];for(const e of a)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:s}}const ml=(e,t)=>(e+(e>=0?t:-t)/Bl)/t;function wl(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function bl(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return Ko(r.lowS,"lowS"),Ko(r.prehash,"prehash"),void 0!==r.format&&wl(r.format),r}class vl extends Error{constructor(e=""){super(e)}}const El={Err:vl,_tlv:{encode:(e,t)=>{const{Err:r}=El;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=Po(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const s=n>127?Po(i.length/2|128):"";return Po(e)+s+i+t},decode(e,t){const{Err:r}=El;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let s=0;if(128&i){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const a=t.subarray(n,n+e);if(a.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===a[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(n+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=i;const a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){const{Err:t}=El;if(erl(t,e,ko(...r))),{Fp:s,Fn:a}=e,{ORDER:o,BITS:c}=a,{keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A}=function(e,t={}){const{Fn:r}=e,n=t.randomBytes||So,i=Object.assign(Kl(e.Fp,r),{seed:pc(r.ORDER)});function s(e){try{return!!Dl(r,e)}catch(e){return!1}}function a(e=n(i.seed)){return function(e,t,r=!1){const n=e.length,i=dc(t),s=pc(t);if(n<16||n1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);const a=rc(r?Mo(e):Fo(e),t-Zo)+Zo;return r?Qo(a,i):Ro(a,i)}(Uo(e,i.seed,"seed"),r.ORDER)}function o(t,n=!0){return e.BASE.multiply(Dl(r,t)).toBytes(n)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:n,publicKey:s,publicKeyUncompressed:a}=i;if(r.allowedLengths||n===s)return;const o=No("key",t).length;return o===s||o===a}const l={isValidSecretKey:s,isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:s}=i;try{const i=t.length;return!(!0===r&&i!==n||!1===r&&i!==s||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:e=>Dl(r,e),precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({getPublicKey:o,getSharedSecret:function(t,n,i=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(n))throw new Error("second arg must be public key");const s=Dl(r,t);return e.fromHex(n).multiply(s).toBytes(i)},keygen:function(e){const t=a(e);return{secretKey:t,publicKey:o(t)}},Point:e,utils:l,lengths:i})}(e,r),d={prehash:!1,lowS:"boolean"==typeof r.lowS&&r.lowS,format:void 0,extraEntropy:!1},p="compact";function g(e){return e>o>>Il}function y(e,t){if(!a.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class m{constructor(e,t,r){this.r=y("r",e),this.s=y("s",t),null!=r&&(this.recovery=r),Object.freeze(this)}static fromBytes(e,t=p){let r;if(function(e,t){wl(t);const r=A.signature;Uo(e,"compact"===t?r:"recovered"===t?r+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:r}=El.toSig(Uo(e));return new m(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=a.BYTES,i=e.subarray(0,n),s=e.subarray(n,2*n);return new m(a.fromBytes(i),a.fromBytes(s),r)}static fromHex(e,t){return this.fromBytes(vo(e),t)}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(t){const r=s.ORDER,{r:n,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(o*Bl1)throw new Error("recovery id is ambiguous for h>1 curve");const l=2===c||3===c?n+o:n;if(!s.isValid(l))throw new Error("recovery id 2 or 3 invalid");const u=s.toBytes(l),h=e.fromBytes(ko(xl(!(1&c)),u)),f=a.inv(l),A=b(No("msgHash",t)),d=a.create(-A*f),p=a.create(i*f),g=e.BASE.multiplyUnsafe(d).add(h.multiplyUnsafe(p));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=p){if(wl(e),"der"===e)return vo(El.hexFromSig(this));const t=a.toBytes(this.r),r=a.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return ko(Uint8Array.of(this.recovery),t,r)}return ko(t,r)}toHex(e){return wo(this.toBytes(e))}assertValidity(){}static fromCompact(e){return m.fromBytes(No("sig",e),"compact")}static fromDER(e){return m.fromBytes(No("sig",e),"der")}normalizeS(){return this.hasHighS()?new m(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return wo(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return wo(this.toBytes("compact"))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=Fo(e),r=8*e.length-c;return r>0?t>>BigInt(r):t},b=r.bits2int_modN||function(e){return a.create(w(e))},v=Wo(c);function E(e){return Go("num < 2^"+c,e,kl,v),a.toBytes(e)}function k(e,r){return Uo(e,void 0,"message"),r?Uo(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A,Point:e,sign:function(r,s,o={}){r=No("message",r);const{seed:c,k2sig:l}=function(t,r,i){if(["recovered","canonical"].some(e=>e in i))throw new Error("sign() legacy options not supported");const{lowS:s,prehash:o,extraEntropy:c}=bl(i,d);t=k(t,o);const l=b(t),u=Dl(a,r),h=[E(u),E(l)];if(null!=c&&!1!==c){const e=!0===c?n(A.secretKey):c;h.push(No("extraEntropy",e))}const f=ko(...h),p=l;return{seed:f,k2sig:function(t){const r=w(t);if(!a.isValidNot0(r))return;const n=a.inv(r),i=e.BASE.multiply(r).toAffine(),o=a.create(i.x);if(o===kl)return;const c=a.create(n*a.create(p+o*u));if(c===kl)return;let l=(i.x===o?0:2)|Number(i.y&Il),h=c;return s&&g(c)&&(h=a.neg(c),l^=1),new m(o,h,l)}}}(r,s,o),u=function(e,t,r){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=n(e),a=n(e),o=0;const c=()=>{s.fill(1),a.fill(0),o=0},l=(...e)=>r(a,s,...e),u=(e=n(0))=>{a=l(i(0),e),s=l(),0!==e.length&&(a=l(i(1),e),s=l())},h=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const r=[];for(;e{let r;for(c(),u(e);!(r=t(h()));)u();return c(),r}}(t.outputLen,a.BYTES,i);return u(c,l)},verify:function(t,r,n,i={}){const{lowS:s,prehash:o,format:c}=bl(i,d);if(n=No("publicKey",n),r=k(No("message",r),o),"strict"in i)throw new Error("options.strict was renamed to lowS");const l=void 0===c?function(e){let t;const r="string"==typeof e||io(e),n=!r&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!r&&!n)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(n)t=new m(e.r,e.s);else if(r){try{t=m.fromBytes(No("sig",e),"der")}catch(e){if(!(e instanceof El.Err))throw e}if(!t)try{t=m.fromBytes(No("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):m.fromBytes(No("sig",t),c);if(!1===l)return!1;try{const t=e.fromBytes(n);if(s&&l.hasHighS())return!1;const{r:i,s:o}=l,c=b(r),u=a.inv(o),h=a.create(c*u),f=a.create(i*u),A=e.BASE.multiplyUnsafe(h).add(t.multiplyUnsafe(f));return!A.is0()&&a.create(A.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=bl(r,d);return t=k(t,n),m.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:m,hash:t})}function Pl(e){const{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=function(e){const{CURVE:t,curveOpts:r}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp;let n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:r,Fn:Ac(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,fc(r.Fn.ORDER,r.Fn.BITS))})}(e,Ul(function(e,t={}){const r=yl("weierstrass",e,t),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a,n:o}=s;Yo(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!n.is0(s.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=Kl(n,i);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const h=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),a=n.toBytes(i);return Ko(r,"isCompressed"),r?(u(),ko(xl(!n.isOdd(s)),a)):ko(Uint8Array.of(4),a,n.toBytes(s))},f=t.fromBytes||function(e){Uo(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=l,i=e.length,s=e[0],a=e.subarray(1);if(i!==t||2!==s&&3!==s){if(i===r&&4===s){const e=n.BYTES,t=n.fromBytes(a.subarray(0,e)),r=n.fromBytes(a.subarray(e,2*e));if(!d(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(a);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=A(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}return u(),!(1&~s)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function A(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,s.a)),s.b)}function d(e,t){const r=n.sqr(t),i=A(e);return n.eql(r,i)}if(!d(s.Gx,s.Gy))throw new Error("bad curve params: generator point");const p=n.mul(n.pow(s.a,Cl),Sl),g=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(p,g)))throw new Error("bad curve params: a or b");function y(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function m(e){if(!(e instanceof k))throw new Error("ProjectivePoint expected")}function w(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,r){const[[n,i],[s,a]]=t,o=ml(a*e,r),c=ml(-i*e,r);let l=e-o*n-c*s,u=-o*i-c*a;const h=l=A||u=A)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:h,k1:l,k2neg:f,k2:u}}(e,c.basises,i.ORDER)}const b=jo((e,t)=>{const{X:r,Y:i,Z:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const o=n.mul(r,t),c=n.mul(i,t),l=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw new Error("invZ was invalid");return{x:o,y:c}}),v=jo(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!d(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,r,i,s){return r=new k(n.mul(r.X,e),r.Y,r.Z),t=sl(i,t),r=sl(s,r),t.add(r)}class k{constructor(e,t,r){this.X=y("x",e),this.Y=y("y",t,!0),this.Z=y("z",r),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof k)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?k.ZERO:new k(t,r,n.ONE)}static fromBytes(e){const t=k.fromAffine(f(Uo(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return k.fromBytes(No("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return B.createCache(this,e),t||this.multiply(Cl),this}assertValidity(){v(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){m(e);const{X:t,Y:r,Z:i}=this,{X:s,Y:a,Z:o}=e,c=n.eql(n.mul(t,o),n.mul(s,i)),l=n.eql(n.mul(r,o),n.mul(a,i));return c&&l}negate(){return new k(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=s,r=n.mul(t,Cl),{X:i,Y:a,Z:o}=this;let c=n.ZERO,l=n.ZERO,u=n.ZERO,h=n.mul(i,i),f=n.mul(a,a),A=n.mul(o,o),d=n.mul(i,a);return d=n.add(d,d),u=n.mul(i,o),u=n.add(u,u),c=n.mul(e,u),l=n.mul(r,A),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(d,c),u=n.mul(r,u),A=n.mul(e,A),d=n.sub(h,A),d=n.mul(e,d),d=n.add(d,u),u=n.add(h,h),h=n.add(u,h),h=n.add(h,A),h=n.mul(h,d),l=n.add(l,h),A=n.mul(a,o),A=n.add(A,A),h=n.mul(A,d),c=n.sub(c,h),u=n.mul(A,f),u=n.add(u,u),u=n.add(u,u),new k(c,l,u)}add(e){m(e);const{X:t,Y:r,Z:i}=this,{X:a,Y:o,Z:c}=e;let l=n.ZERO,u=n.ZERO,h=n.ZERO;const f=s.a,A=n.mul(s.b,Cl);let d=n.mul(t,a),p=n.mul(r,o),g=n.mul(i,c),y=n.add(t,r),w=n.add(a,o);y=n.mul(y,w),w=n.add(d,p),y=n.sub(y,w),w=n.add(t,i);let b=n.add(a,c);return w=n.mul(w,b),b=n.add(d,g),w=n.sub(w,b),b=n.add(r,i),l=n.add(o,c),b=n.mul(b,l),l=n.add(p,g),b=n.sub(b,l),h=n.mul(f,w),l=n.mul(A,g),h=n.add(l,h),l=n.sub(p,h),h=n.add(p,h),u=n.mul(l,h),p=n.add(d,d),p=n.add(p,d),g=n.mul(f,g),w=n.mul(A,w),p=n.add(p,g),g=n.sub(d,g),g=n.mul(f,g),w=n.add(w,g),d=n.mul(p,w),u=n.add(u,d),d=n.mul(b,w),l=n.mul(y,l),l=n.sub(l,d),d=n.mul(y,p),h=n.mul(b,h),h=n.add(h,d),new k(l,u,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(k.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,s;const a=e=>B.cached(this,e,e=>al(k,e));if(r){const{k1neg:t,k1:i,k2neg:o,k2:c}=w(e),{p:l,f:u}=a(i),{p:h,f}=a(c);s=u.add(f),n=E(r.beta,l,h,t,o)}else{const{p:t,f:r}=a(e);n=t,s=r}return al(k,[n,s])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===kl||n.is0())return k.ZERO;if(e===Il)return n;if(B.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:s,k2:a}=w(e),{p1:o,p2:c}=function(e,t,r,n){let i=t,s=e.ZERO,a=e.ZERO;for(;r>nl||n>nl;)r&il&&(s=s.add(i)),n&il&&(a=a.add(i)),i=i.double(),r>>=il,n>>=il;return{p1:s,p2:a}}(k,n,i,a);return E(r.beta,o,c,t,s)}return B.unsafe(n,e)}multiplyAndAddUnsafe(e,t,r){const n=this.multiplyUnsafe(t).add(e.multiplyUnsafe(r));return n.is0()?void 0:n}toAffine(e){return b(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return a===Il||(e?e(k,this):B.unsafe(this,o).is0())}clearCofactor(){const{clearCofactor:e}=t;return a===Il?this:e?e(k,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(e=!0){return Ko(e,"isCompressed"),this.assertValidity(),h(k,this,e)}toHex(e=!0){return wo(this.toBytes(e))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return al(k,e)}static msm(e,t){return pl(k,i,e,t)}static fromPrivateKey(e){return k.BASE.multiply(Dl(i,e))}}k.BASE=new k(s.Gx,s.Gy,n.ONE),k.ZERO=new k(n.ZERO,n.ONE,n.ZERO),k.Fp=n,k.Fn=i;const I=i.BITS,B=new dl(k,t.endo?Math.ceil(I/2):I);return k.BASE.precompute(8),k}(t,r),n,i))}function Tl(e,t){const r=t=>Pl({...e,hash:t});return{...r(t),create:r}}const Fl={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},Ml={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},Rl={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},Ql=Ac(Fl.p),Nl=Ac(Ml.p),Ol=Ac(Rl.p),Ll=Tl({...Fl,Fp:Ql,lowS:!1},zc),Gl=Tl({...Ml,Fp:Nl,lowS:!1},el),Hl=Tl({...Rl,Fp:Ol,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},$c),Wl=BigInt(0),Yl=BigInt(1),jl=BigInt(2),Jl=BigInt(7),Zl=BigInt(256),ql=BigInt(113),_l=[],Vl=[],zl=[];for(let e=0,t=Yl,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],_l.push(2*(5*n+r)),Vl.push((e+1)*(e+2)/2%64);let i=Wl;for(let e=0;e<7;e++)t=(t<>Jl)*ql)%Zl,t&jl&&(i^=Yl<<(Yl<r>32?((e,t,r)=>t<>>64-r)(e,t,r):((e,t,r)=>e<>>32-r)(e,t,r),ru=(e,t,r)=>r>32?((e,t,r)=>e<>>64-r)(e,t,r):((e,t,r)=>t<>>32-r)(e,t,r);class nu extends Io{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,so(r),!(0=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return so(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(lo(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,uo(this.state)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return e||(e=new nu(t,r,n,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=s,e.destroyed=this.destroyed,e}}const iu=(e,t,r)=>Bo(()=>new nu(t,e,r)),su=(()=>iu(6,136,32))(),au=(()=>iu(6,72,64))(),ou=(()=>{return e=31,t=136,r=32,function(e){const t=(t,r)=>e(r).update(Eo(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}((n={})=>new nu(t,e,void 0===n.dkLen?r:n.dkLen,!0));var e,t,r})(),cu=BigInt(0),lu=BigInt(1),uu=BigInt(2),hu=BigInt(8);function fu(e,t={}){const r=yl("edwards",e,t,t.FpFnLE),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a}=s;Yo(t,{},{uvRatio:"function"});const o=uu<n.create(e),l=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(n.div(e,t))}}catch(e){return{isValid:!1,value:cu}}});if(!function(e,t,r,n){const i=e.sqr(r),s=e.sqr(n),a=e.add(e.mul(t.a,i),s),o=e.add(e.ONE,e.mul(t.d,e.mul(i,s)));return e.eql(a,o)}(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function u(e,t,r=!1){return Go("coordinate "+e,t,r?lu:cu,o),t}function h(e){if(!(e instanceof d))throw new Error("ExtendedPoint expected")}const f=jo((e,t)=>{const{X:r,Y:i,Z:s}=e,a=e.is0();null==t&&(t=a?hu:n.inv(s));const o=c(r*t),l=c(i*t),u=n.mul(s,t);if(a)return{x:cu,y:lu};if(u!==lu)throw new Error("invZ was invalid");return{x:o,y:l}}),A=jo(e=>{const{a:t,d:r}=s;if(e.is0())throw new Error("bad point: ZERO");const{X:n,Y:i,Z:a,T:o}=e,l=c(n*n),u=c(i*i),h=c(a*a),f=c(h*h),A=c(l*t);if(c(h*c(A+u))!==c(f+c(r*c(l*u))))throw new Error("bad point: equation left != right (1)");if(c(n*i)!==c(a*o))throw new Error("bad point: equation left != right (2)");return!0});class d{constructor(e,t,r,n){this.X=u("x",e),this.Y=u("y",t),this.Z=u("z",r,!0),this.T=u("t",n),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){if(e instanceof d)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};return u("x",t),u("y",r),new d(t,r,lu,c(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:i,d:a}=s;e=Oo(Uo(e,r,"point")),Ko(t,"zip215");const u=Oo(e),h=e[r-1];u[r-1]=-129&h;const f=Mo(u),A=t?o:n.ORDER;Go("point.y",f,cu,A);const p=c(f*f),g=c(p-lu),y=c(a*p-i);let{isValid:m,value:w}=l(g,y);if(!m)throw new Error("bad point: invalid y coordinate");const b=(w&lu)===lu,v=!!(128&h);if(!t&&w===cu&&v)throw new Error("bad point: x=0 and x_0=1");return v!==b&&(w=c(-w)),d.fromAffine({x:w,y:f})}static fromHex(e,t=!1){return d.fromBytes(No("point",e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return p.createCache(this,e),t||this.multiply(uu),this}assertValidity(){A(this)}equals(e){h(e);const{X:t,Y:r,Z:n}=this,{X:i,Y:s,Z:a}=e,o=c(t*a),l=c(i*n),u=c(r*a),f=c(s*n);return o===l&&u===f}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:e}=s,{X:t,Y:r,Z:n}=this,i=c(t*t),a=c(r*r),o=c(uu*c(n*n)),l=c(e*i),u=t+r,h=c(c(u*u)-i-a),f=l+a,A=f-o,p=l-a,g=c(h*A),y=c(f*p),m=c(h*p),w=c(A*f);return new d(g,y,w,m)}add(e){h(e);const{a:t,d:r}=s,{X:n,Y:i,Z:a,T:o}=this,{X:l,Y:u,Z:f,T:A}=e,p=c(n*l),g=c(i*u),y=c(o*r*A),m=c(a*f),w=c((n+i)*(l+u)-p-g),b=m-y,v=m+y,E=c(g-t*p),k=c(w*b),I=c(v*E),B=c(w*E),C=c(b*v);return new d(k,I,C,B)}subtract(e){return this.add(e.negate())}multiply(e){if(!i.isValidNot0(e))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:t,f:r}=p.cached(this,e,e=>al(d,e));return al(d,[t,r])[0]}multiplyUnsafe(e,t=d.ZERO){if(!i.isValid(e))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return e===cu?d.ZERO:this.is0()||e===lu?this:p.unsafe(this,e,e=>al(d,e),t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return p.unsafe(this,s.n).is0()}toAffine(e){return f(this,e)}clearCofactor(){return a===lu?this:this.multiplyUnsafe(a)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&lu?128:0,r}toHex(){return wo(this.toBytes())}toString(){return``}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(e){return al(d,e)}static msm(e,t){return pl(d,i,e,t)}_setWindowSize(e){this.precompute(e)}toRawBytes(){return this.toBytes()}}d.BASE=new d(s.Gx,s.Gy,lu,c(s.Gx*s.Gy)),d.ZERO=new d(cu,lu,lu,cu),d.Fp=n,d.Fn=i;const p=new dl(d,i.BITS);return d.BASE.precompute(8),d}const Au=BigInt(0),du=BigInt(1),pu=BigInt(2);const gu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),h:BigInt(4),a:BigInt(1),d:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),Gx:BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),Gy:BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")},yu=Object.assign({},gu,{d:BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),Gx:BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),Gy:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")}),mu=Bo(()=>ou.create({dkLen:114})),wu=BigInt(1),bu=BigInt(2),vu=BigInt(3);BigInt(4);const Eu=BigInt(11),ku=BigInt(22),Iu=BigInt(44),Bu=BigInt(88),Cu=BigInt(223);function Su(e){const t=gu.p,r=e*e*e%t,n=r*r*e%t,i=nc(n,vu,t)*n%t,s=nc(i,vu,t)*n%t,a=nc(s,bu,t)*r%t,o=nc(a,Eu,t)*a%t,c=nc(o,ku,t)*o%t,l=nc(c,Iu,t)*c%t,u=nc(l,Bu,t)*l%t,h=nc(u,Iu,t)*c%t,f=nc(h,bu,t)*r%t,A=nc(f,wu,t)*e%t;return nc(A,Cu,t)*f%t}function Du(e){return e[0]&=252,e[55]|=128,e[56]=0,e}function xu(e,t){const r=gu.p,n=rc(e*e*t,r),i=rc(n*e,r),s=rc(i*n*t,r),a=rc(i*Su(s),r),o=rc(a*a,r);return{isValid:rc(o*t,r)===e,value:a}}const Ku=(()=>Ac(gu.p,{BITS:456,isLE:!0}))(),Uu=(()=>Ac(gu.n,{BITS:456,isLE:!0}))();function Pu(e,t,r){if(t.length>255)throw new Error("context must be smaller than 255, got: "+t.length);return ko((n="SigEd448",Uint8Array.from(n,(e,t)=>{const r=e.charCodeAt(0);if(1!==e.length||r>127)throw new Error(`string contains non-ASCII character "${n[t]}" with code ${r} at position ${t}`);return r})),new Uint8Array([r?1:0,t.length]),t,e);var n}const Tu=function(e){const{CURVE:t,curveOpts:r,hash:n,eddsaOpts:i}=function(e){const t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r={Fp:e.Fp,Fn:Ac(t.n,e.nBitLength,!0),uvRatio:e.uvRatio},n={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:r,hash:e.hash,eddsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}(e,function(e,t,r={}){if("function"!=typeof t)throw new Error('"hash" function param is required');Yo(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:n}=r,{BASE:i,Fp:s,Fn:a}=e,o=r.randomBytes||So,c=r.adjustScalarBytes||(e=>e),l=r.domain||((e,t,r)=>{if(Ko(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function u(e){return a.create(Mo(e))}function h(e){const{head:r,prefix:n,scalar:s}=function(e){const r=g.secretKey;e=No("private key",e,r);const n=No("hashed private key",t(e),2*r),i=c(n.slice(0,r));return{head:i,prefix:n.slice(r,2*r),scalar:u(i)}}(e),a=i.multiply(s),o=a.toBytes();return{head:r,prefix:n,scalar:s,point:a,pointBytes:o}}function f(e){return h(e).pointBytes}function A(e=Uint8Array.of(),...r){const i=ko(...r);return u(t(l(i,No("context",e),!!n)))}const d={zip215:!0},p=s.BYTES,g={secretKey:p,publicKey:p,signature:2*p,seed:p};function y(e=o(g.seed)){return Uo(e,g.seed,"seed")}const m={getExtendedPublicKey:h,randomSecretKey:y,isValidSecretKey:function(e){return io(e)&&e.length===a.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){const{y:r}=e.fromBytes(t),n=g.publicKey,i=32===n;if(!i&&57!==n)throw new Error("only defined for 25519 and 448");const a=i?s.div(lu+r,lu-r):s.div(r-lu,r+lu);return s.toBytes(a)},toMontgomerySecret(e){const r=g.secretKey;Uo(e,r);const n=t(e.subarray(0,r));return c(n).subarray(0,r)},randomPrivateKey:y,precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({keygen:function(e){const t=m.randomSecretKey(e);return{secretKey:t,publicKey:f(t)}},getPublicKey:f,sign:function(e,t,r={}){e=No("message",e),n&&(e=n(e));const{prefix:s,scalar:o,pointBytes:c}=h(t),l=A(r.context,s,e),u=i.multiply(l).toBytes(),f=A(r.context,u,c,e),d=a.create(l+f*o);if(!a.isValid(d))throw new Error("sign failed: invalid s");return Uo(ko(u,a.toBytes(d)),g.signature,"result")},verify:function(t,r,s,a=d){const{context:o,zip215:c}=a,l=g.signature;t=No("signature",t,l),r=No("message",r),s=No("publicKey",s,g.publicKey),void 0!==c&&Ko(c,"zip215"),n&&(r=n(r));const u=l/2,h=t.subarray(0,u),f=Mo(t.subarray(u,l));let p,y,m;try{p=e.fromBytes(s,c),y=e.fromBytes(h,c),m=i.multiplyUnsafe(f)}catch(e){return!1}if(!c&&p.isSmallOrder())return!1;const w=A(o,y.toBytes(),p.toBytes(),r);return y.add(p.multiplyUnsafe(w)).subtract(m).clearCofactor().is0()},utils:m,Point:e,lengths:g})}(fu(t,r),n,i))}((()=>({...gu,Fp:Ku,Fn:Uu,nBitLength:Uu.BITS,hash:mu,adjustScalarBytes:Du,domain:Pu,uvRatio:xu}))());fu(yu);const Fu=(()=>{const e=gu.p;return function(e){const t=(Yo(r=e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...r}));var r;const{P:n,type:i,adjustScalarBytes:s,powPminus2:a,randomBytes:o}=t,c="x25519"===i;if(!c&&"x448"!==i)throw new Error("invalid type");const l=o||So,u=c?255:448,h=c?32:56,f=c?BigInt(9):BigInt(5),A=c?BigInt(121665):BigInt(39081),d=c?pu**BigInt(254):pu**BigInt(447),p=c?BigInt(8)*pu**BigInt(251)-du:BigInt(4)*pu**BigInt(445)-du,g=d+p+du,y=e=>rc(e,n),m=w(f);function w(e){return Qo(y(e),h)}function b(e,t){const r=function(e,t){Go("u",e,Au,n),Go("scalar",t,d,g);const r=t,i=e;let s=du,o=Au,c=e,l=du,h=Au;for(let e=BigInt(u-1);e>=Au;e--){const t=r>>e&du;h^=t,({x_2:s,x_3:c}=E(h,s,c)),({x_2:o,x_3:l}=E(h,o,l)),h=t;const n=s+o,a=y(n*n),u=s-o,f=y(u*u),d=a-f,p=c+l,g=y((c-l)*n),m=y(p*u),w=g+m,b=g-m;c=y(w*w),l=y(i*y(b*b)),s=y(a*f),o=y(d*(a+y(A*d)))}({x_2:s,x_3:c}=E(h,s,c)),({x_2:o,x_3:l}=E(h,o,l));const f=a(o);return y(s*f)}(function(e){const t=No("u coordinate",e,h);return c&&(t[31]&=127),y(Mo(t))}(t),function(e){return Mo(s(No("scalar",e,h)))}(e));if(r===Au)throw new Error("invalid private or public key received");return w(r)}function v(e){return b(e,m)}function E(e,t,r){const n=y(e*(t-r));return{x_2:t=y(t-n),x_3:r=y(r+n)}}const k={secretKey:h,publicKey:h,seed:h},I=(e=l(h))=>(ao(e,k.seed),e);return{keygen:function(e){const t=I(e);return{secretKey:t,publicKey:v(t)}},getSharedSecret:(e,t)=>b(e,t),getPublicKey:e=>v(e),scalarMult:b,scalarMultBase:v,utils:{randomSecretKey:I,randomPrivateKey:I},GuBytes:m.slice(),lengths:k}}({P:e,type:"x448",powPminus2:t=>rc(nc(Su(t),bu,e)*t,e),adjustScalarBytes:Du})})(),Mu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ru={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Qu=BigInt(2),Nu=Ac(Mu.p,{sqrt:function(e){const t=Mu.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,h=nc(u,r,t)*u%t,f=nc(h,r,t)*u%t,A=nc(f,Qu,t)*l%t,d=nc(A,i,t)*A%t,p=nc(d,s,t)*d%t,g=nc(p,o,t)*p%t,y=nc(g,c,t)*g%t,m=nc(y,o,t)*p%t,w=nc(m,r,t)*u%t,b=nc(w,a,t)*d%t,v=nc(b,n,t)*l%t,E=nc(v,Qu,t);if(!Nu.eql(Nu.sqr(E),e))throw new Error("Cannot find square root");return E}}),Ou=Tl({...Mu,Fp:Nu,lowS:!0,endo:Ru},zc),Lu=zc,Gu=Xc,Hu=Ac(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),Wu=Tl({a:Hu.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:Hu,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},Lu),Yu=$c,ju=el,Ju=Ac(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),Zu=Tl({a:Ju.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:Ju,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},ju),qu=Ac(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),_u=Tl({a:qu.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:qu,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},Yu),Vu=new Map(Object.entries({nistP256:Ll,nistP384:Gl,nistP521:Hl,brainpoolP256r1:Wu,brainpoolP384r1:Zu,brainpoolP512r1:_u,secp256k1:Ou,x448:Fu,ed448:Tu}));var zu=Object.freeze({__proto__:null,nobleCurves:Vu});const Xu=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),$u=new Uint32Array(80);class eh extends mc{constructor(){super(64,20,8,!1),this.A=0|Xu[0],this.B=0|Xu[1],this.C=0|Xu[2],this.D=0|Xu[3],this.E=0|Xu[4]}get(){const{A:e,B:t,C:r,D:n,E:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)$u[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)$u[e]=Ao($u[e-3]^$u[e-8]^$u[e-14]^$u[e-16],1);let{A:r,B:n,C:i,D:s,E:a}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=gc(n,i,s),o=1518500249):e<40?(t=n^i^s,o=1859775393):e<60?(t=yc(n,i,s),o=2400959708):(t=n^i^s,o=3395469782);const c=Ao(r,5)+t+a+o+$u[e]|0;a=s,s=i,i=Ao(n,30),n=r,r=c}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,this.set(r,n,i,s,a)}roundClean(){uo($u)}destroy(){this.set(0,0,0,0,0),uo(this.buffer)}}const th=Bo(()=>new eh),rh=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),nh=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),ih=(()=>nh.map(e=>(9*e+5)%16))(),sh=(()=>{const e=[[nh],[ih]];for(let t=0;t<4;t++)for(let r of e)r.push(r[t].map(e=>rh[e]));return e})(),ah=(()=>sh[0])(),oh=(()=>sh[1])(),ch=[[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=>Uint8Array.from(e)),lh=ah.map((e,t)=>e.map(e=>ch[t][e])),uh=oh.map((e,t)=>e.map(e=>ch[t][e])),hh=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),fh=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Ah(e,t,r,n){return 0===e?t^r^n:1===e?t&r|~t&n:2===e?(t|~r)^n:3===e?t&n|r&~n:t^(r|~n)}const dh=new Uint32Array(16);class ph extends mc{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|n,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)dh[r]=e.getUint32(t,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,c=0|this.h3,l=c,u=0|this.h4,h=u;for(let e=0;e<5;e++){const t=4-e,f=hh[e],A=fh[e],d=ah[e],p=oh[e],g=lh[e],y=uh[e];for(let t=0;t<16;t++){const n=Ao(r+Ah(e,i,a,c)+dh[d[t]]+f,g[t])+u|0;r=u,u=c,c=0|Ao(a,10),a=i,i=n}for(let e=0;e<16;e++){const r=Ao(n+Ah(t,s,o,l)+dh[p[e]]+A,y[e])+h|0;n=h,h=l,l=0|Ao(o,10),o=s,s=r}}this.set(this.h1+a+l|0,this.h2+c+h|0,this.h3+u+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){uo(dh)}destroy(){this.destroyed=!0,uo(this.buffer),this.set(0,0,0,0,0)}}const gh=th,yh=Bo(()=>new ph),mh=Array.from({length:64},(e,t)=>Math.floor(2**32*Math.abs(Math.sin(t+1)))),wh=(e,t,r)=>e&t^~e&r,bh=new Uint32Array([1732584193,4023233417,2562383102,271733878]),vh=new Uint32Array(16);class Eh extends mc{constructor(){super(64,16,8,!0),this.A=0|bh[0],this.B=0|bh[1],this.C=0|bh[2],this.D=0|bh[3]}get(){const{A:e,B:t,C:r,D:n}=this;return[e,t,r,n]}set(e,t,r,n){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n}process(e,t){for(let r=0;r<16;r++,t+=4)vh[r]=e.getUint32(t,!0);let{A:r,B:n,C:i,D:s}=this;for(let e=0;e<64;e++){let t,a,o;e<16?(t=wh(n,i,s),a=e,o=[7,12,17,22]):e<32?(t=wh(s,n,i),a=(5*e+1)%16,o=[5,9,14,20]):e<48?(t=n^i^s,a=(3*e+5)%16,o=[4,11,16,23]):(t=i^(n|~s),a=7*e%16,o=[6,10,15,21]),t=t+r+mh[e]+vh[a],r=s,s=i,i=n,n+=Ao(t,o[e%4])}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,this.set(r,n,i,s)}roundClean(){vh.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}const kh=Co(()=>new Eh),Ih=new Map(Object.entries({md5:kh,sha1:gh,sha224:Gu,sha256:Lu,sha384:ju,sha512:Yu,sha3_256:su,sha3_512:au,ripemd160:yh}));var Bh=Object.freeze({__proto__:null,nobleHashes:Ih});const Ch="object"==typeof n&&"crypto"in n?n.crypto:void 0,Sh={};var Dh=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function Lh(e,t,r,n){return function(e,t,r,n){var i,s=0;for(i=0;i<32;i++)s|=e[t+i]^r[n+i];return(1&s-1>>>8)-1}(e,t,r,n)}function Gh(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function Hh(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function Wh(e,t,r){for(var n,i=~(r-1),s=0;s<16;s++)n=i&(e[s]^t[s]),e[s]^=n,t[s]^=n}function Yh(e,t){var r,n,i,s=Dh(),a=Dh();for(r=0;r<16;r++)a[r]=t[r];for(Hh(a),Hh(a),Hh(a),n=0;n<2;n++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,Wh(a,s,1-i)}for(r=0;r<16;r++)e[2*r]=255&a[r],e[2*r+1]=a[r]>>8}function jh(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return Yh(r,e),Yh(n,t),Lh(r,0,n,0)}function Jh(e){var t=new Uint8Array(32);return Yh(t,e),1&t[0]}function Zh(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function qh(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function _h(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function Vh(e,t,r){var n,i,s=0,a=0,o=0,c=0,l=0,u=0,h=0,f=0,A=0,d=0,p=0,g=0,y=0,m=0,w=0,b=0,v=0,E=0,k=0,I=0,B=0,C=0,S=0,D=0,x=0,K=0,U=0,P=0,T=0,F=0,M=0,R=r[0],Q=r[1],N=r[2],O=r[3],L=r[4],G=r[5],H=r[6],W=r[7],Y=r[8],j=r[9],J=r[10],Z=r[11],q=r[12],_=r[13],V=r[14],z=r[15];s+=(n=t[0])*R,a+=n*Q,o+=n*N,c+=n*O,l+=n*L,u+=n*G,h+=n*H,f+=n*W,A+=n*Y,d+=n*j,p+=n*J,g+=n*Z,y+=n*q,m+=n*_,w+=n*V,b+=n*z,a+=(n=t[1])*R,o+=n*Q,c+=n*N,l+=n*O,u+=n*L,h+=n*G,f+=n*H,A+=n*W,d+=n*Y,p+=n*j,g+=n*J,y+=n*Z,m+=n*q,w+=n*_,b+=n*V,v+=n*z,o+=(n=t[2])*R,c+=n*Q,l+=n*N,u+=n*O,h+=n*L,f+=n*G,A+=n*H,d+=n*W,p+=n*Y,g+=n*j,y+=n*J,m+=n*Z,w+=n*q,b+=n*_,v+=n*V,E+=n*z,c+=(n=t[3])*R,l+=n*Q,u+=n*N,h+=n*O,f+=n*L,A+=n*G,d+=n*H,p+=n*W,g+=n*Y,y+=n*j,m+=n*J,w+=n*Z,b+=n*q,v+=n*_,E+=n*V,k+=n*z,l+=(n=t[4])*R,u+=n*Q,h+=n*N,f+=n*O,A+=n*L,d+=n*G,p+=n*H,g+=n*W,y+=n*Y,m+=n*j,w+=n*J,b+=n*Z,v+=n*q,E+=n*_,k+=n*V,I+=n*z,u+=(n=t[5])*R,h+=n*Q,f+=n*N,A+=n*O,d+=n*L,p+=n*G,g+=n*H,y+=n*W,m+=n*Y,w+=n*j,b+=n*J,v+=n*Z,E+=n*q,k+=n*_,I+=n*V,B+=n*z,h+=(n=t[6])*R,f+=n*Q,A+=n*N,d+=n*O,p+=n*L,g+=n*G,y+=n*H,m+=n*W,w+=n*Y,b+=n*j,v+=n*J,E+=n*Z,k+=n*q,I+=n*_,B+=n*V,C+=n*z,f+=(n=t[7])*R,A+=n*Q,d+=n*N,p+=n*O,g+=n*L,y+=n*G,m+=n*H,w+=n*W,b+=n*Y,v+=n*j,E+=n*J,k+=n*Z,I+=n*q,B+=n*_,C+=n*V,S+=n*z,A+=(n=t[8])*R,d+=n*Q,p+=n*N,g+=n*O,y+=n*L,m+=n*G,w+=n*H,b+=n*W,v+=n*Y,E+=n*j,k+=n*J,I+=n*Z,B+=n*q,C+=n*_,S+=n*V,D+=n*z,d+=(n=t[9])*R,p+=n*Q,g+=n*N,y+=n*O,m+=n*L,w+=n*G,b+=n*H,v+=n*W,E+=n*Y,k+=n*j,I+=n*J,B+=n*Z,C+=n*q,S+=n*_,D+=n*V,x+=n*z,p+=(n=t[10])*R,g+=n*Q,y+=n*N,m+=n*O,w+=n*L,b+=n*G,v+=n*H,E+=n*W,k+=n*Y,I+=n*j,B+=n*J,C+=n*Z,S+=n*q,D+=n*_,x+=n*V,K+=n*z,g+=(n=t[11])*R,y+=n*Q,m+=n*N,w+=n*O,b+=n*L,v+=n*G,E+=n*H,k+=n*W,I+=n*Y,B+=n*j,C+=n*J,S+=n*Z,D+=n*q,x+=n*_,K+=n*V,U+=n*z,y+=(n=t[12])*R,m+=n*Q,w+=n*N,b+=n*O,v+=n*L,E+=n*G,k+=n*H,I+=n*W,B+=n*Y,C+=n*j,S+=n*J,D+=n*Z,x+=n*q,K+=n*_,U+=n*V,P+=n*z,m+=(n=t[13])*R,w+=n*Q,b+=n*N,v+=n*O,E+=n*L,k+=n*G,I+=n*H,B+=n*W,C+=n*Y,S+=n*j,D+=n*J,x+=n*Z,K+=n*q,U+=n*_,P+=n*V,T+=n*z,w+=(n=t[14])*R,b+=n*Q,v+=n*N,E+=n*O,k+=n*L,I+=n*G,B+=n*H,C+=n*W,S+=n*Y,D+=n*j,x+=n*J,K+=n*Z,U+=n*q,P+=n*_,T+=n*V,F+=n*z,b+=(n=t[15])*R,a+=38*(E+=n*N),o+=38*(k+=n*O),c+=38*(I+=n*L),l+=38*(B+=n*G),u+=38*(C+=n*H),h+=38*(S+=n*W),f+=38*(D+=n*Y),A+=38*(x+=n*j),d+=38*(K+=n*J),p+=38*(U+=n*Z),g+=38*(P+=n*q),y+=38*(T+=n*_),m+=38*(F+=n*V),w+=38*(M+=n*z),s=(n=(s+=38*(v+=n*Q))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=(s+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s+=i-1+37*(i-1),e[0]=s,e[1]=a,e[2]=o,e[3]=c,e[4]=l,e[5]=u,e[6]=h,e[7]=f,e[8]=A,e[9]=d,e[10]=p,e[11]=g,e[12]=y,e[13]=m,e[14]=w,e[15]=b}function zh(e,t){Vh(e,t,t)}function Xh(e,t){var r,n=Dh();for(r=0;r<16;r++)n[r]=t[r];for(r=253;r>=0;r--)zh(n,n),2!==r&&4!==r&&Vh(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}function $h(e,t,r){var n,i,s=new Uint8Array(32),a=new Float64Array(80),o=Dh(),c=Dh(),l=Dh(),u=Dh(),h=Dh(),f=Dh();for(i=0;i<31;i++)s[i]=t[i];for(s[31]=127&t[31]|64,s[0]&=248,Zh(a,r),i=0;i<16;i++)c[i]=a[i],u[i]=o[i]=l[i]=0;for(o[0]=u[0]=1,i=254;i>=0;--i)Wh(o,c,n=s[i>>>3]>>>(7&i)&1),Wh(l,u,n),qh(h,o,l),_h(o,o,l),qh(l,c,u),_h(c,c,u),zh(u,h),zh(f,o),Vh(o,l,o),Vh(l,c,h),qh(h,o,l),_h(o,o,l),zh(c,o),_h(l,u,f),Vh(o,l,Th),qh(o,o,u),Vh(l,l,o),Vh(o,u,f),Vh(u,c,a),zh(c,h),Wh(o,c,n),Wh(l,u,n);for(i=0;i<16;i++)a[i+16]=o[i],a[i+32]=l[i],a[i+48]=c[i],a[i+64]=u[i];var A=a.subarray(32),d=a.subarray(16);return Xh(A,A),Vh(d,d,A),Yh(e,d),0}function ef(e,t){return $h(e,t,Kh)}var tf=[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 rf(e,t,r,n){for(var i,s,a,o,c,l,u,h,f,A,d,p,g,y,m,w,b,v,E,k,I,B,C,S,D,x,K=new Int32Array(16),U=new Int32Array(16),P=e[0],T=e[1],F=e[2],M=e[3],R=e[4],Q=e[5],N=e[6],O=e[7],L=t[0],G=t[1],H=t[2],W=t[3],Y=t[4],j=t[5],J=t[6],Z=t[7],q=0;n>=128;){for(E=0;E<16;E++)k=8*E+q,K[E]=r[k+0]<<24|r[k+1]<<16|r[k+2]<<8|r[k+3],U[E]=r[k+4]<<24|r[k+5]<<16|r[k+6]<<8|r[k+7];for(E=0;E<80;E++)if(i=P,s=T,a=F,o=M,c=R,l=Q,u=N,f=L,A=G,d=H,p=W,g=Y,y=j,m=J,C=65535&(B=Z),S=B>>>16,D=65535&(I=O),x=I>>>16,C+=65535&(B=(Y>>>14|R<<18)^(Y>>>18|R<<14)^(R>>>9|Y<<23)),S+=B>>>16,D+=65535&(I=(R>>>14|Y<<18)^(R>>>18|Y<<14)^(Y>>>9|R<<23)),x+=I>>>16,C+=65535&(B=Y&j^~Y&J),S+=B>>>16,D+=65535&(I=R&Q^~R&N),x+=I>>>16,C+=65535&(B=tf[2*E+1]),S+=B>>>16,D+=65535&(I=tf[2*E]),x+=I>>>16,I=K[E%16],S+=(B=U[E%16])>>>16,D+=65535&I,x+=I>>>16,D+=(S+=(C+=65535&B)>>>16)>>>16,C=65535&(B=v=65535&C|S<<16),S=B>>>16,D=65535&(I=b=65535&D|(x+=D>>>16)<<16),x=I>>>16,C+=65535&(B=(L>>>28|P<<4)^(P>>>2|L<<30)^(P>>>7|L<<25)),S+=B>>>16,D+=65535&(I=(P>>>28|L<<4)^(L>>>2|P<<30)^(L>>>7|P<<25)),x+=I>>>16,S+=(B=L&G^L&H^G&H)>>>16,D+=65535&(I=P&T^P&F^T&F),x+=I>>>16,h=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,w=65535&C|S<<16,C=65535&(B=p),S=B>>>16,D=65535&(I=o),x=I>>>16,S+=(B=v)>>>16,D+=65535&(I=b),x+=I>>>16,T=i,F=s,M=a,R=o=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,Q=c,N=l,O=u,P=h,G=f,H=A,W=d,Y=p=65535&C|S<<16,j=g,J=y,Z=m,L=w,E%16==15)for(k=0;k<16;k++)I=K[k],C=65535&(B=U[k]),S=B>>>16,D=65535&I,x=I>>>16,I=K[(k+9)%16],C+=65535&(B=U[(k+9)%16]),S+=B>>>16,D+=65535&I,x+=I>>>16,b=K[(k+1)%16],C+=65535&(B=((v=U[(k+1)%16])>>>1|b<<31)^(v>>>8|b<<24)^(v>>>7|b<<25)),S+=B>>>16,D+=65535&(I=(b>>>1|v<<31)^(b>>>8|v<<24)^b>>>7),x+=I>>>16,b=K[(k+14)%16],S+=(B=((v=U[(k+14)%16])>>>19|b<<13)^(b>>>29|v<<3)^(v>>>6|b<<26))>>>16,D+=65535&(I=(b>>>19|v<<13)^(v>>>29|b<<3)^b>>>6),x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,K[k]=65535&D|x<<16,U[k]=65535&C|S<<16;C=65535&(B=L),S=B>>>16,D=65535&(I=P),x=I>>>16,I=e[0],S+=(B=t[0])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[0]=P=65535&D|x<<16,t[0]=L=65535&C|S<<16,C=65535&(B=G),S=B>>>16,D=65535&(I=T),x=I>>>16,I=e[1],S+=(B=t[1])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[1]=T=65535&D|x<<16,t[1]=G=65535&C|S<<16,C=65535&(B=H),S=B>>>16,D=65535&(I=F),x=I>>>16,I=e[2],S+=(B=t[2])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[2]=F=65535&D|x<<16,t[2]=H=65535&C|S<<16,C=65535&(B=W),S=B>>>16,D=65535&(I=M),x=I>>>16,I=e[3],S+=(B=t[3])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[3]=M=65535&D|x<<16,t[3]=W=65535&C|S<<16,C=65535&(B=Y),S=B>>>16,D=65535&(I=R),x=I>>>16,I=e[4],S+=(B=t[4])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[4]=R=65535&D|x<<16,t[4]=Y=65535&C|S<<16,C=65535&(B=j),S=B>>>16,D=65535&(I=Q),x=I>>>16,I=e[5],S+=(B=t[5])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[5]=Q=65535&D|x<<16,t[5]=j=65535&C|S<<16,C=65535&(B=J),S=B>>>16,D=65535&(I=N),x=I>>>16,I=e[6],S+=(B=t[6])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[6]=N=65535&D|x<<16,t[6]=J=65535&C|S<<16,C=65535&(B=Z),S=B>>>16,D=65535&(I=O),x=I>>>16,I=e[7],S+=(B=t[7])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[7]=O=65535&D|x<<16,t[7]=Z=65535&C|S<<16,q+=128,n-=128}return n}function nf(e,t,r){var n,i=new Int32Array(8),s=new Int32Array(8),a=new Uint8Array(256),o=r;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[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,rf(i,s,t,r),r%=128,n=0;n=0;--i)af(e,t,n=r[i/8|0]>>(7&i)&1),sf(t,e),sf(e,e),af(e,t,n)}function lf(e,t){var r=[Dh(),Dh(),Dh(),Dh()];Gh(r[0],Rh),Gh(r[1],Qh),Gh(r[2],Ph),Vh(r[3],Rh,Qh),cf(e,r,t)}function uf(e,t,r){var n,i=new Uint8Array(64),s=[Dh(),Dh(),Dh(),Dh()];for(r||xh(t,32),nf(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,lf(s,i),of(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}var hf=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 ff(e,t){var r,n,i,s;for(n=63;n>=32;--n){for(r=0,i=n-32,s=n-12;i>4)*hf[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*hf[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function Af(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;ff(e,r)}var df=64;function pf(){for(var e=0;e=0;r--)zh(n,n),1!==r&&Vh(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}(r,r),Vh(r,r,i),Vh(r,r,s),Vh(r,r,s),Vh(e[0],r,s),zh(n,e[0]),Vh(n,n,s),jh(n,i)&&Vh(e[0],e[0],Nh),zh(n,e[0]),Vh(n,n,s),jh(n,i)?-1:(Jh(e[0])===t[31]>>7&&_h(e[0],Uh,e[0]),Vh(e[3],e[0],e[1]),0)}(c,n))return-1;for(i=0;i=0},Sh.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return uf(e,t),{publicKey:e,secretKey:t}},Sh.sign.keyPair.fromSecretKey=function(e){if(pf(e),64!==e.length)throw new Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r>>4^b),b^=g,w^=g<<4,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,w=w<<1|w>>>31,b=b<<1|b>>>31,p=0;p>>4|b<<28)^e[d+1],g=w,w=b,b=g^(o[y>>>24&63]|l[y>>>16&63]|h[y>>>8&63]|A[63&y]|a[m>>>24&63]|c[m>>>16&63]|u[m>>>8&63]|f[63&m]);g=w,w=b,b=g}w=w>>>1|w<<31,b=b>>>1|b<<31,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=252645135&(w>>>4^b),b^=g,w^=g<<4,S[D++]=w>>>24,S[D++]=w>>>16&255,S[D++]=w>>>8&255,S[D++]=255&w,S[D++]=b>>>24,S[D++]=b>>>16&255,S[D++]=b>>>8&255,S[D++]=255&b}return r||(S=function(e){let t,r=null;if(t=0,!r){for(r=1;0===e[e.length-r];)r++;r--}return e.subarray(0,e.length-r)}(S)),S}function mf(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],f=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],A=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length>8?3:1,g=new Array(32*p),y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,b,v=0,E=0;for(let k=0;k>>4^k),k^=b,p^=b<<4,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=858993459&(p>>>2^k),k^=b,p^=b<<2,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=16711935&(k>>>8^p),p^=b,k^=b<<8,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=p<<8|k>>>20&240,p=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=b;for(let e=0;e>>26,k=k<<2|k>>>26):(p=p<<1|p>>>27,k=k<<1|k>>>27),p&=-15,k&=-15,m=t[p>>>28]|r[p>>>24&15]|n[p>>>20&15]|i[p>>>16&15]|s[p>>>12&15]|a[p>>>8&15]|o[p>>>4&15],w=c[k>>>28]|l[k>>>24&15]|u[k>>>20&15]|h[k>>>16&15]|f[k>>>12&15]|A[k>>>8&15]|d[k>>>4&15],b=65535&(w>>>16^m),g[E++]=m^b,g[E++]=w^b<<16}return g}function wf(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return yf(mf(this.key[2]),yf(mf(this.key[1]),yf(mf(this.key[0]),e,!0),!1),!0)}}function bf(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=new Array(16),this.rotate=new Array(16),this.reset(),e.length!==this.KeySize)throw new Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>>16&255,t[s+6]=o>>>8&255,t[s+7]=255&o}return t},this.decrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>16&255,t[s+6]=o>>8&255,t[s+7]=255&o}return t};const e=new Array(4);e[0]=new Array(4),e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=new Array(4),e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=new Array(4),e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=new Array(4),e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=new Array(4);function r(e,t,r){const n=t+e,i=n<>>32-r;return(s[0][i>>>24]^s[1][i>>>16&255])-s[2][i>>>8&255]+s[3][255&i]}function n(e,t,r){const n=t^e,i=n<>>32-r;return s[0][i>>>24]-s[1][i>>>16&255]+s[2][i>>>8&255]^s[3][255&i]}function i(e,t,r){const n=t-e,i=n<>>32-r;return(s[0][i>>>24]+s[1][i>>>16&255]^s[2][i>>>8&255])-s[3][255&i]}t[0]=new Array(4),t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=new Array(4),t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=new Array(4),t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=new Array(4),t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=new Array(8),i=new Array(32);let a;for(let e=0;e<4;e++)a=4*e,n[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];const o=[6,7,4,5];let c,l=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){const t=e[r][a];c=n[t[1]],c^=s[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=s[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=s[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=s[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=s[o[a]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(a=0;a<4;a++){const e=t[r][a];c=s[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=s[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=s[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=s[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=s[4+a][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[l]=c,l++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const s=new Array(8);s[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],s[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],s[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],s[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],s[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],s[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],s[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],s[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function vf(e){this.cast5=new bf,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}wf.keySize=wf.prototype.keySize=24,wf.blockSize=wf.prototype.blockSize=8,vf.blockSize=vf.prototype.blockSize=8,vf.keySize=vf.prototype.keySize=16;const Ef=4294967295;function kf(e,t){return(e<>>32-t)&Ef}function If(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Bf(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Cf(e,t){return e>>>8*t&255}function Sf(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function s(e){return i[0][Cf(e,0)]^i[1][Cf(e,1)]^i[2][Cf(e,2)]^i[3][Cf(e,3)]}function a(e){return i[0][Cf(e,3)]^i[1][Cf(e,0)]^i[2][Cf(e,1)]^i[3][Cf(e,2)]}function o(e,t){let r=s(t[0]),i=a(t[1]);t[2]=kf(t[2]^r+i+n[4*e+8]&Ef,31),t[3]=kf(t[3],1)^r+2*i+n[4*e+9]&Ef,r=s(t[2]),i=a(t[3]),t[0]=kf(t[0]^r+i+n[4*e+10]&Ef,31),t[1]=kf(t[1],1)^r+2*i+n[4*e+11]&Ef}function c(e,t){let r=s(t[0]),i=a(t[1]);t[2]=kf(t[2],1)^r+i+n[4*e+10]&Ef,t[3]=kf(t[3]^r+2*i+n[4*e+11]&Ef,31),r=s(t[2]),i=a(t[3]),t[0]=kf(t[0],1)^r+i+n[4*e+8]&Ef,t[1]=kf(t[1]^r+2*i+n[4*e+9]&Ef,31)}return{name:"twofish",blocksize:16,open:function(t){let r,s,a,o,c;e=t;const l=[],u=[],h=[];let f;const A=[];let d,p,g;const y=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],b=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],E=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],k=[[],[]],I=[[],[],[],[]];function B(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function S(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Ef|e>>>24,e=e<<8&Ef,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function D(e,t){const r=t>>4,n=15&t,i=y[e][r^n],s=m[e][v[n]^E[r]];return b[e][v[s]^E[i]]<<4|w[e][i^s]}function x(e,t){let r=Cf(e,0),n=Cf(e,1),i=Cf(e,2),s=Cf(e,3);switch(f){case 4:r=k[1][r]^Cf(t[3],0),n=k[0][n]^Cf(t[3],1),i=k[0][i]^Cf(t[3],2),s=k[1][s]^Cf(t[3],3);case 3:r=k[1][r]^Cf(t[2],0),n=k[1][n]^Cf(t[2],1),i=k[0][i]^Cf(t[2],2),s=k[0][s]^Cf(t[2],3);case 2:r=k[0][k[0][r]^Cf(t[1],0)]^Cf(t[0],0),n=k[0][k[1][n]^Cf(t[1],1)]^Cf(t[0],1),i=k[1][k[0][i]^Cf(t[1],2)]^Cf(t[0],2),s=k[1][k[1][s]^Cf(t[1],3)]^Cf(t[0],3)}return I[0][r]^I[1][n]^I[2][i]^I[3][s]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r>2]=If(e,r);for(r=0;r<256;r++)k[0][r]=D(0,r),k[1][r]=D(1,r);for(r=0;r<256;r++)d=k[1][r],p=B(d),g=C(d),I[0][r]=d+(p<<8)+(g<<16)+(g<<24),I[2][r]=p+(g<<8)+(d<<16)+(g<<24),d=k[0][r],p=B(d),g=C(d),I[1][r]=g+(g<<8)+(p<<16)+(d<<24),I[3][r]=p+(d<<8)+(g<<16)+(p<<24);for(f=h.length/2,r=0;r=0;e--)c(e,s);Bf(t,r,s[2]^n[0]),Bf(t,r+4,s[3]^n[1]),Bf(t,r+8,s[0]^n[2]),Bf(t,r+12,s[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Df(){}function xf(e){this.bf=new Df,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Sf.keySize=Sf.prototype.keySize=32,Sf.blockSize=Sf.prototype.blockSize=16,Df.prototype.BLOCKSIZE=8,Df.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Df.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Df.prototype.NN=16,Df.prototype._clean=function(e){return e<0&&(e=2147483648+(2147483647&e)),e},Df.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),s=255&(e>>>=8);return t=this.sboxes[0][s]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Df.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Df.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Df.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t>>24^l<<8,e[n+1]=l>>>24^c<<8,Pf(e,r,e,n),Pf(e,r,t,o),c=e[s]^e[r],l=e[s+1]^e[r+1],e[s]=c>>>16^l<<16,e[s+1]=l>>>16^c<<16,Pf(e,i,e,s),c=e[n]^e[i],l=e[n+1]^e[i+1],e[n]=l>>>31^c<<1,e[n+1]=c>>>31^l<<1}const Mf=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Rf=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(e=>2*e));function Qf(e,t){const r=new Uint32Array(32),n=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=Mf[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const i=t?4294967295:0;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){const t=e<<4;Ff(r,n,0,8,16,24,Rf[t+0],Rf[t+1]),Ff(r,n,2,10,18,26,Rf[t+2],Rf[t+3]),Ff(r,n,4,12,20,28,Rf[t+4],Rf[t+5]),Ff(r,n,6,14,22,30,Rf[t+6],Rf[t+7]),Ff(r,n,0,10,20,30,Rf[t+8],Rf[t+9]),Ff(r,n,2,12,22,24,Rf[t+10],Rf[t+11]),Ff(r,n,4,14,16,26,Rf[t+12],Rf[t+13]),Ff(r,n,6,8,18,28,Rf[t+14],Rf[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class Nf{constructor(e,t,r,n){const i=new Uint8Array(64);this.S={b:new Uint8Array(Gf),h:new Uint32Array(Lf/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),n&&i.set(n,48);const s=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=Mf[e]^s[e];if(t){const e=new Uint8Array(Gf);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw new Error("Input must be Uint8Array or Buffer");let t=0;for(;t>2]>>8*(3&e);return this.S.h=null,t.buffer}}function Of(e,t,r,n){if(e>Lf)throw new Error(`outlen must be at most ${Lf} (given: ${e})`);return new Nf(e,t,r,n)}const Lf=64,Gf=128,Hf=1024,Wf=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function Yf(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function jf(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw new Error("LE64: large numbers unsupported");let n=t;for(let t=r;tfunction(e,{memory:t,instance:r}){if(!Wf)throw new Error("BigEndian system not supported");const n=function({type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,parallelism:o,memorySize:c,passes:l}){const u=(e,t,r,n)=>{if(tn)throw new Error(`${e} size should be between ${r} and ${n} bytes`)};if(2!==e||19!==t)throw new Error("Unsupported type or version");return u("password",n,8,4294967295),u("salt",i,8,4294967295),u("tag",r,4,4294967295),u("memory",c,8*o,4294967295),s&&u("associated data",s,0,4294967295),a&&u("secret",a,0,32),{type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,lanes:o,memorySize:c,passes:l}}({type:2,version:19,...e}),{G:i,G2:s,xor:a,getLZ:o}=r.exports,c={},l={};l.G=i,l.G2=s,l.XOR=a;const u=4*n.lanes*Math.floor(n.memorySize/(4*n.lanes)),h=u*Hf+10240;if(t.buffer.byteLength{r.set(e,n),n+=e.length}),r}(i));const s=t.digest();return new Uint8Array(s)}(n),w=u/n.lanes,b=new Array(n.lanes).fill(null).map(()=>new Array(w)),v=(e,t)=>(b[e][t]=g.subarray(e*w*1024+1024*t,e*w*1024+1024*t+Hf),b[e][t]);for(let e=0;e0?b[i][c-1]:b[i][w-1],u=r?a.next().value:l;o(A.byteOffset,u.byteOffset,i,n.lanes,e,t,s,4,E);const h=A[0],f=A[1];0===e&&v(i,c),qf(d,l,b[h][f],e>0?p:b[i][c]),e>0&&Zf(d,b[i][c],p,b[i][c])}}}const k=b[0][w-1];for(let e=1;eXf(e=>$f(0,0,"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",e),e=>$f(0,0,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e))});function oA(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cA=function(){if(sA)return iA;sA=1;const e=function(){if(tA)return eA;function e(e){this.name="Bzip2Error",this.message=e,this.stack=(new Error).stack}tA=1,e.prototype=new Error;var t=function(t){throw new e(t)},r={};return r.Bzip2Error=e,r.crcTable=[0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188],r.array=function(e){var t=0,r=0,n=[0,1,3,7,15,31,63,127,255];return function(i){for(var s=0;i>0;){var a=8-t;i>=a?(s<<=a,s|=n[a]&e[r++],t=0,i-=a):(s<<=i,s|=(e[r]&n[i]<<8-i-t)>>8-i-t,t+=i,i=0)}return s}},r.simple=function(e,t){var n=r.array(e),i=!1,s=1e5*r.header(n),a=new Int32Array(s);do{i=r.decompress(n,t,a,s)}while(!i)},r.header=function(e){this.byteCount=new Int32Array(256),this.symToByte=new Uint8Array(256),this.mtfSymbol=new Int32Array(256),this.selectors=new Uint8Array(32768),4348520!=e(24)&&t("No magic number found");var r=e(8)-48;return(r<1||r>9)&&t("Not a BZIP archive"),r},r.decompress=function(e,r,n,i,s){for(var a=-1,o="",c=0;c<6;c++)o+=e(8).toString(16);if("177245385090"==o)return(0|e(32))!==s&&t("Error in bzip2: crc32 do not match"),e(null),null;"314159265359"!=o&&t("Invalid bzip data");var l=0|e(32);e(1)&&t("unsupported obsolete version");var u=e(24);u>i&&t("Initial position larger than buffer size");var h=e(16),f=0;for(c=0;c<16;c++)if(h&1<<15-c){var A=e(16);for(g=0;g<16;g++)A&1<<15-g&&(this.symToByte[f++]=16*c+g)}var d=e(3);(d<2||d>6)&&t("Invalid bzip data");var p=e(15);for(0==p&&t("Invalid bzip data"),c=0;c=d&&t("Invalid bzip data");var y=this.mtfSymbol[g];for(A=g-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,this.selectors[c]=y}var m,w,b,v,E=f+2,k=[],I=new Uint8Array(258),B=new Uint16Array(21);for(g=0;g20)&&t("Invalid bzip data"),e(1);)e(1)?h--:h++;I[c]=h}var C,S;for(C=S=I[0],c=1;cS?S=I[c]:I[c]=p&&t("Invalid bzip data"),D=(m=k[this.selectors[v++]]).base,x=m.limit),g=e(c=m.minLen);c>m.maxLen&&t("Invalid bzip data"),!(g<=x[c]);)c++,g=g<<1|e(1);((g-=D[c])<0||g>=258)&&t("Invalid bzip data");var U=m.permute[g];if(0!=U&&1!=U){if(w)for(w=0,b+h>i&&t("Invalid bzip data"),y=this.symToByte[this.mtfSymbol[0]],this.byteCount[y]+=h;h--;)n[b++]=y;if(U>f)break;for(b>=i&&t("Invalid bzip data"),c=U-1,y=this.mtfSymbol[c],A=c-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,y=this.symToByte[y],this.byteCount[y]++,n[b++]=y}else w||(w=1,h=0),h+=0==U?w:2*w,w<<=1}for((u<0||u>=b)&&t("Invalid bzip data"),g=0,c=0;c<256;c++)A=g+this.byteCount[c],this.byteCount[c]=g,g=A;for(c=0;c>=8,Q=-1);b;){for(b--,T=R,R=255&(M=n[M]),M>>=8,3==Q++?(P=R,F=T,R=-1):(P=1,F=R);P--;)a=4294967295&(a<<8^this.crcTable[255&(a>>24^F)]),r(F);R!=T&&(Q=0)}return(0|(a=(-1^a)>>>0))!=(0|l)&&t("Error in bzip2: crc32 do not match"),4294967295&(a^(s<<1|s>>>31))},eA=r}(),t=function(){if(nA)return rA;nA=1;var e=[0,1,3,7,15,31,63,127,255];return rA=function(t){var r=0,n=0,i=t(),s=function(a){if(null===a&&0!=r)return r=0,void n++;for(var o=0;a>0;){n>=i.length&&(n=0,i=t());var c=8-r;0===r&&a>0&&s.bytesRead++,a>=c?(o<<=c,o|=e[c]&i[n++],r=0,a-=c):(o<<=a,o|=(i[n]&e[a]<<8-a-r)>>8-a-r,r+=a,a=0)}return o};return s.bytesRead=0,s}}();return iA=function(r){const n=[];let i,s=0,a=0,o=!1,c=!1,l=null,u=null,h=0;function f(t){if(!o)try{return function(){if(a){const n=1e5*a,i=new Int32Array(n),s=[],o=function(e){s.push(e)};return u=e.decompress(l,o,i,n,u),null===u?(a=0,!1):(r=new Uint8Array(s),t.enqueue(r),null!==r&&(h+=r.length),!0)}var r;return a=e.header(l),u=0,!1}()}catch(e){return t.error(e),o=!0,!0}}return new ReadableStream({start(){i=r.getReader()},async pull(e){try{for(;;){for(;!(c||l&&s-l.bytesRead+1>=25e3+1e5*(a||4));){const{value:e,done:r}=await i.read();r?c=!0:(n.push(e),s+=e.length,null===l&&(l=t(function(){return n.shift()})))}for(;c?l&&s>l.bytesRead:l&&s-l.bytesRead+1>=25e3+1e5*(a||4);)if(f(e))return;if(c&&!o&&(!l||s<=l.bytesRead))return void(null===u?e.close():e.error(new Error("input stream ended prematurely")))}}catch(t){e.error(t)}},async cancel(e){await i.abort(e)}},{highWaterMark:0})}}(),lA=i({__proto__:null,default:oA(cA)},[cA])},6171(e){"use strict";e.exports={rE:"2.2.0"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0});const t=r(9033),i=r(1592);r.g.handleRequestFromHost=async(e,r,n)=>{const s=new t.Endpoints;try{const t=s[e];return t?t(r,[n]).then(e=>e).catch(e=>(0,i.fmtErr)(e)):(0,i.fmtErr)(new Error(`Unknown endpoint: ${e}`))}catch(e){return(0,i.fmtErr)(e)}}})(),module.exports=n})();; +(()=>{var e={3207(e,t,r){"use strict";t.Att=void 0;const n=r(833),i=r(6471);class s{static attachmentsPattern=/^(((cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc))|(.+\.pgp)|(.+\.gpg)|(.+\.asc)|(noname)|(message)|(PGPMIME version identification)|())$/gm;length=NaN;type;name;url;id;msgId;inline;cid;contentDescription;bytes;treatAsValue;constructor({data:e,type:t,name:r,length:n,url:i,inline:s,id:a,msgId:o,treatAs:c,cid:l,contentDescription:u}){if(void 0===e&&void 0===i&&void 0===a)throw new Error("Att: one of data|url|id has to be set");if(a&&!o)throw new Error("Att: if id is set, msgId must be set too");e?(this.bytes=e,this.length=e.length):this.length=Number(n),this.name=r||"",this.type=t||"application/octet-stream",this.url=i||void 0,this.inline=!!s,this.id=a||void 0,this.msgId=o||void 0,this.treatAsValue=c||void 0,this.cid=l||void 0,this.contentDescription=u||void 0}static keyinfoAsPubkeyAtt=e=>new s({data:n.Buf.fromUtfStr(e.public),type:"application/pgp-keys",name:`0x${e.longid}.asc`});hasData=()=>this.bytes instanceof Uint8Array;setData=e=>{if(this.hasData())throw new Error("Att bytes already set");this.bytes=e};getData=()=>{if(this.bytes instanceof n.Buf)return this.bytes;if(this.bytes instanceof Uint8Array)return new n.Buf(this.bytes);throw new Error("Att has no data set")};treatAs=(e,t=!1)=>{if(this.treatAsValue)return this.treatAsValue;if(["PGPexch.htm.pgp","PGPMIME version identification","Version.txt","PGPMIME Versions Identification"].includes(this.name))return"hidden";if("signature.asc"===this.name||"application/pgp-signature"===this.type){if(e.length>1){const t=i.Str.getFilenameWithoutExtension(this.name);if(e.some(e=>e!==this&&(e.name===t||i.Str.getFilenameWithoutExtension(e.name)===t)))return"hidden"}return"signature"}return this.name||this.type.startsWith("image/")?"msg.asc"===this.name&&this.length<100&&"application/pgp-encrypted"===this.type?"hidden":["message","msg.asc","message.asc","encrypted.asc","encrypted.eml.pgp","Message.pgp"].includes(this.name)||"message"===this.name&&t?"encryptedMsg":this.name.match(/(\.pgp$)|(\.gpg$)|(\.[a-zA-Z0-9]{3,4}\.asc$)/g)?"encryptedFile":this.name.match(/(cryptup|flowcrypt)-backup-[a-z0-9]+\.(key|asc)$/g)?"privateKey":this.name.match(/^(0|0x)?[A-F0-9]{8}([A-F0-9]{8})?.*\.asc$/g)||this.name.toLowerCase().includes("public")&&this.name.match(/[A-F0-9]{8}.*\.asc$/g)||this.name.match(/\.asc$/)&&this.hasData()&&n.Buf.with(this.getData().subarray(0,100)).toUtfStr().includes("-----BEGIN PGP PUBLIC KEY BLOCK-----")?"publicKey":this.name.match(/\.asc$/)&&this.length<1e5&&!this.inline?"encryptedMsg":"plainFile":this.length<100?"hidden":"encryptedMsg"}}t.Att=s},833(e,t,r){"use strict";t.Buf=void 0;const n=r(178);class i extends Uint8Array{static concat=e=>{const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let r=0;for(const n of e)t.set(n,r),r+=n.length;return i.fromUint8(t)};static with=e=>e instanceof i?e:e instanceof Uint8Array?i.fromUint8(e):i.fromUtfStr(e);static fromUint8=e=>new i(e);static fromRawBytesStr=e=>{const t=e.length,r=new i(t);for(let n=0;n{let t;const r=e.length;let n;const s=[];for(let i=0;i55295&&t<57344){if(!n){if(t>56319){s.push(239,191,189);continue}if(i+1===r){s.push(239,191,189);continue}n=t;continue}if(t<56320){s.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&s.push(239,191,189);if(n=void 0,t<128)s.push(t);else if(t<2048)s.push(t>>6|192,63&t|128);else if(t<65536)s.push(t>>12|224,t>>6&63|128,63&t|128);else{if(!(t<1114112))throw new Error("Invalid code point");s.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return new i(s)};static fromBase64Str=e=>i.fromRawBytesStr((0,n.base64decode)(e));static fromBase64UrlStr=e=>i.fromBase64Str(e.replace(/-/g,"+").replace(/_/g,"/"));toString=(e="inform")=>this.toUtfStr(e);toUtfStr=(e="inform")=>{const t=this.length;let r=0,n="";const i=new Array(t);for(let s=0;s{const e=this.length,t=[];for(let r=0;r(0,n.base64encode)(this.toRawBytesStr());toBase64UrlStr=()=>this.toBase64Str().replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}t.Buf=i},6471(e,t,r){"use strict";t.Value=t.Str=void 0;const n=r(178);class i{static extractErrorMessage=e=>{if("object"==typeof e&&void 0!==e.message)return"string"==typeof e.message?e.message:JSON.stringify(e)};static parseEmail=(e,t="VALIDATE")=>{let r,n;if(e.includes("<")&&e.includes(">")){const t=e.indexOf("<"),i=e.indexOf(">");r=e.substr(t+1,t-i-1).replace(/["']/g,"").trim().toLowerCase(),n=e.substr(0,e.indexOf("<")).replace(/["']/g,"").trim()}else r=e.replace(/["']/g,"").trim().toLowerCase();return"VALIDATE"!==t||i.isEmailValid(r)||(r=void 0),{email:r,name:n,full:e}};static prettyPrint=e=>"object"==typeof e?JSON.stringify(e,void 0,2).replace(/ /g," ").replace(/\n/g,"
"):String(e);static normalizeSpaces=e=>e.replace(RegExp(String.fromCharCode(160),"g"),String.fromCharCode(32));static normalizeDashes=e=>e.replace(/^—–|—–$/gm,"-----");static getFilenameWithoutExtension=e=>e.replace(/\.[^/.]+$/,"");static normalize=e=>i.normalizeSpaces(i.normalizeDashes(e));static isEmailValid=e=>-1===e.indexOf(" ")&&/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(e);static monthName=e=>["January","February","March","April","May","June","July","August","September","October","November","December"][e];static sloppyRandom=(e=5)=>{let t="";for(let r=0;re.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");static asEscapedHtml=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/").replace(/\n/g,"
");static htmlAttrDecode=e=>{try{return JSON.parse(i.base64urlUtfDecode(e))}catch(e){return}};static capitalize=e=>e.trim().split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");static pluralize=(e,t,r="s")=>`${e} ${t}${e>1?r:""}`;static toUtcTimestamp=(e,t=!1)=>t?String(Date.parse(e)):Date.parse(e);static datetimeToDate=e=>e.substring(0,10).replace(/"/g,""").replace(/'/g,"'").replace(/e.toISOString().replace(/T/," ").replace(/:[^:]+$/,"");static base64urlUtfDecode=e=>void 0===e?e:decodeURIComponent(String(Array.prototype.map.call((0,n.base64decode)(e.replace(/-/g,"+").replace(/_/g,"/")),e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join("")))}t.Str=i;class s{static arr={unique:e=>{const t=[];for(const r of e)t.includes(r)||t.push(r);return t},contains:(e,t)=>Boolean(e&&"function"==typeof e.indexOf&&-1!==e.indexOf(t)),sum:e=>e.reduce((e,t)=>e+t,0),average:e=>s.arr.sum(e)/e.length};static obj={keyByValue:(e,t)=>{for(const r of Object.keys(e))if(e[r]===t)return r}}}t.Value=s},9815(e,t){"use strict";t.VERSION=void 0,t.VERSION=APP_VERSION},4010(e,t,r){"use strict";t.Mime=void 0;const n=r(6471),i=r(3955),s=r(3207),a=r(833),o=r(7659),c=r(2633),l=r(9545),u=r(1341),h=r(178),f=(0,i.requireMimeParser)(),A=(0,i.requireMimeBuilder)(),d=(0,i.requireIso88592)();class p{static processBody=e=>{const t=[];if(e.text){const r=l.MsgBlockParser.detectBlocks(n.Str.normalize(e.text),!0).blocks;r.find(e=>["pkcs7","encryptedMsg","signedMsg","publicKey","privateKey"].includes(e.type))?t.push(...r):e.html?t.push(c.MsgBlock.fromContent("plainHtml",e.html)):t.push(...r)}else e.html&&t.push(c.MsgBlock.fromContent("plainHtml",e.html));return t};static isBodyEmpty=({text:e,html:t})=>p.isBodyTextEmpty(e)&&p.isBodyTextEmpty(t);static isBodyTextEmpty=e=>!(e&&!/^(\r)?(\n)?$/.test(e));static processAttachments=(e,t)=>{const r=[],n=[];for(const e of t.atts){let i=e.treatAs(t.atts,p.isBodyEmpty(t));if(["needChunk","maybePgp"].includes(i)&&(i="encryptedMsg"),"encryptedMsg"===i){const t=u.PgpArmor.clip(e.getData().toUtfStr());t&&r.push(c.MsgBlock.fromContent("encryptedMsg",t))}else"signature"===i?n.push(e):"publicKey"===i||"privateKey"===i?r.push(...l.MsgBlockParser.detectBlocks(e.getData().toUtfStr(),!0).blocks):"encryptedFile"===i?r.push(c.MsgBlock.fromAtt("encryptedAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),treatAs:e.treatAs(t.atts)})):"plainFile"===i&&r.push(c.MsgBlock.fromAtt("plainAtt","",{name:e.name,type:e.type,length:e.getData().length,data:e.getData(),inline:e.inline,cid:e.cid}))}if(n.length){const t=n[0].getData().toUtfStr();[...e,...r].some(e=>["plainText","plainHtml","signedMsg"].includes(e.type))||r.push(new c.MsgBlock("signedMsg","",!0,t))}const i=[...e,...r];if(t.signature&&t.signature.includes(u.PgpArmor.ARMOR_HEADER_DICT.signature.begin)&&t.signature.includes(String(u.PgpArmor.ARMOR_HEADER_DICT.signature.end))){for(const e of i)"plainText"===e.type?(e.type="signedMsg",e.signature=t.signature):"plainHtml"===e.type&&(e.type="signedHtml",e.signature=t.signature);i.find(e=>"plainText"===e.type||"plainHtml"===e.type||"signedMsg"===e.type||"signedHtml"===e.type)||i.push(new c.MsgBlock("signedMsg","",!0,t.signature))}return{headers:t.headers,blocks:i,from:t.from,to:t.to,rawSignedContent:t.rawSignedContent}};static processDecoded=e=>{const t=p.processBody(e);return p.processAttachments(t,e)};static process=async e=>{const t=await p.decode(e);return p.processDecoded(t)};static isPlainImgAtt=e=>"plainAtt"===e.type&&e.attMeta&&e.attMeta.type&&["image/jpeg","image/jpg","image/bmp","image/png","image/svg+xml"].includes(e.attMeta.type);static replyHeaders=e=>{const t=String(e.headers["message-id"]||"");return{"in-reply-to":t,references:String(e.headers["in-reply-to"]||"")+" "+t}};static resemblesMsg=e=>{const t=new a.Buf(e.slice(0,1e3)).toUtfStr().toLowerCase(),r=t.match(/content-type: +[0-9a-z\-\/]+/);return!!r&&(!!(t.match(/content-transfer-encoding: +[0-9a-z\-\/]+/)||t.match(/content-disposition: +[0-9a-z\-\/]+/)||t.match(/; boundary=/)||t.match(/; charset=/))||Boolean(0===r.index&&t.match(/boundary=/)))};static decode=async e=>{const t={atts:[],headers:{},subject:void 0,text:void 0,html:void 0,signature:void 0,from:void 0,to:[],cc:[],bcc:[]},r=new f,n={};return r.onbody=e=>{const t=String(e.path.join("."));void 0===n[t]&&(n[t]=e)},await new Promise((i,s)=>{try{r.onend=()=>{try{for(const e of Object.keys(r.node.headers))t.headers[e]=r.node.headers[e][0].value;t.rawSignedContent=p.retrieveRawSignedContent([r.node]);for(const e of Object.values(n))"application/pgp-signature"===p.getNodeType(e)?t.signature=e.rawContent:"text/html"!==p.getNodeType(e)||p.getNodeFilename(e)?"text/plain"!==p.getNodeType(e)||p.getNodeFilename(e)&&!p.isNodeInline(e)?"text/rfc822-headers"===p.getNodeType(e)?e._parentNode&&e._parentNode.headers.subject&&(t.subject=e._parentNode.headers.subject[0].value):t.atts.push(p.getNodeAsAtt(e)):t.text=(t.text?`${t.text}\n\n`:"")+p.getNodeContentAsUtfStr(e):t.html=(t.html||"")+p.getNodeContentAsUtfStr(e);const e=p.headerGetAddress(t,["from","to","cc","bcc"]);t.subject=String(t.subject||t.headers.subject||""),Object.assign(t,e),i(t)}catch(e){s(e)}},r.write(e),r.end()}catch(e){o.Catch.reportErr(e),i(t)}})};static encode=async(e,t,r=[],n)=>{const i=new A("pgpMimeEncrypted"!==n?"multipart/mixed":'multipart/encrypted; protocol="application/pgp-encrypted";',{includeBccInHeader:!0});for(const e of Object.keys(t))i.addHeader(e,t[e]);if(Object.keys(e).length){let t;if(1===Object.keys(e).length)t=p.newContentNode(A,Object.keys(e)[0],e[Object.keys(e)[0]]||"");else{t=new A("multipart/alternative");for(const r of Object.keys(e))t.appendChild(p.newContentNode(A,r,e[r]??""))}i.appendChild(t)}for(const e of r)i.appendChild(p.createAttNode(e));return i.build()};static subjectWithoutPrefixes=e=>e.replace(/^((Re|Fwd): ?)+/g,"").trim();static encodePgpMimeSigned=async(e,t,r=[],i)=>{const o=`SIG_PLACEHOLDER_${n.Str.sloppyRandom(10)}`,c=new A('multipart/signed; protocol="application/pgp-signature";',{includeBccInHeader:!0});for(const e of Object.keys(t))c.addHeader(e,t[e]);const l=new A("multipart/alternative");for(const t of Object.keys(e))l.appendChild(p.newContentNode(A,t,e[t]??""));const u=new A("multipart/mixed");u.appendChild(l);for(const e of r)u.appendChild(p.createAttNode(e));const h=new s.Att({data:a.Buf.fromUtfStr(o),type:"application/pgp-signature",name:"signature.asc"}),f=p.createAttNode(h);c.appendChild(u),c.appendChild(f);const d=c.build(),{rawSignedContent:g}=await p.decode(a.Buf.fromUtfStr(d));if(!g)throw console.log(`mimeStrWithPlaceholderSig(placeholder:${o}):\n${d}`),new Error("Could not find raw signed content immediately after mime-encoding a signed message");const y=await i(g),m=d.replace(a.Buf.fromUtfStr(o).toBase64Str(),a.Buf.fromUtfStr(y).toBase64Str());if(m===d)throw console.log(`pgpMimeSigned(placeholder:${o}):\n${m}`),new Error("Replaced sigPlaceholder with realSignature but mime stayed the same");return m};static headerGetAddress=(e,t)=>{const r={to:[],cc:[],bcc:[]};let i;const s=e=>"string"==typeof e?[e].map(e=>n.Str.parseEmail(e).email).filter(e=>!!e):e.map(e=>e.address),a=e=>n.Str.parseEmail((Array.isArray(e)?(e[0]||{}).address:String(e||""))||"").email;for(const n of t){const t=e.headers[n];t&&("from"===n?i=a(t):r[n]=[...r[n],...s(t)])}return{...r,from:i}};static retrieveRawSignedContent=e=>{for(const t of e){if(!t._childNodes||!t._childNodes.length)continue;const e="signed"===t._isMultipart,r="mixed"===t._isMultipart&&2===t._childNodes.length&&"application/pgp-signature"===p.getNodeType(t._childNodes[1]);if(e||r){let e=t._childNodes[0].raw.replace(/\r?\n/g,"\r\n");return/--$/.test(e)&&(e+="\r\n"),e}return p.retrieveRawSignedContent(t._childNodes)}};static createAttNode=e=>{const t=`${e.type}; name="${e.name}"`,r=`f_${n.Str.sloppyRandom(30)}@flowcrypt`,i={};return e.contentDescription&&(i["Content-Description"]=e.contentDescription),i["Content-Disposition"]=e.inline?"inline":"attachment",i["X-Attachment-Id"]=r,i["Content-ID"]=`<${r}>`,i["Content-Transfer-Encoding"]="base64",new A(t,{filename:e.name}).setHeader(i).setContent(e.getData())};static getNodeType=(e,t="value")=>{if(e.headers["content-type"]&&e.headers["content-type"][0])return e.headers["content-type"][0][t]};static getNodeContentId=e=>{if(e.headers["content-id"]&&e.headers["content-id"][0])return e.headers["content-id"][0].value};static getNodeFilename=e=>{if(e.headers["content-disposition"]&&e.headers["content-disposition"][0]){const t=e.headers["content-disposition"][0];if(t.params&&t.params.filename)return String(t.params.filename)}if(e.headers["content-type"]&&e.headers["content-type"][0]){const t=e.headers["content-type"][0];if(t.params&&t.params.name)return String(t.params.name)}};static isNodeInline=e=>{const t=e.headers["content-disposition"];return t&&t[0]&&"inline"===t[0].value};static fromEqualSignNotationAsBuf=e=>a.Buf.fromRawBytesStr(e.replace(/(=[A-F0-9]{2})+/g,e=>{const t=e.replace(/^=/,"").split("=").map(e=>parseInt(e,16));return new a.Buf(t).toRawBytesStr()}));static getNodeAsAtt=e=>new s.Att({name:p.getNodeFilename(e),type:p.getNodeType(e),data:"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):e.content,cid:p.getNodeContentId(e)});static getNodeContentAsUtfStr=e=>{if(e.charset&&d.labels.includes(e.charset))return d.decode(e.rawContent??"");let t;return t="utf-8"===e.charset&&"base64"===e.contentTransferEncoding.value?a.Buf.fromUint8(e.content):"utf-8"===e.charset&&"quoted-printable"===e.contentTransferEncoding.value?p.fromEqualSignNotationAsBuf(e.rawContent??""):a.Buf.fromRawBytesStr(e.rawContent??""),"ISO-2022-JP"===e.charset?.toUpperCase()||"utf-8"===e.charset&&p.getNodeType(e,"initial")?.includes("ISO-2022-JP")?(0,h.iso2022jpToUtf)(t):t.toUtfStr()};static newContentNode=(e,t,r)=>{const n=new e(t).setContent(r);return"text/plain"===t&&n.addHeader("Content-Transfer-Encoding","quoted-printable"),n}}t.Mime=p},102(e,t){"use strict";t.mnemonic=void 0;const r=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"];t.mnemonic=e=>{if(!e)return;const t=e.split("").map(e=>(e=>{let t=e+"";for(;t.length<4;)t="0"+t;return t})(parseInt(e,16).toString(2))).join("").match(new RegExp(".{1,11}","g"));return(t?.map(e=>parseInt(e,2))??[]).map(e=>r[e].toUpperCase()).join(" ")}},9545(e,t,r){"use strict";t.MsgBlockParser=void 0;const n=r(2633),i=r(6622),s=r(833),a=r(7659),o=r(4010),c=r(1341),l=r(2365),u=r(9379),h=r(6471);class f{static ARMOR_HEADER_MAX_LENGTH=50;static detectBlocks=(e,t)=>{const r=[],n=h.Str.normalize(e);let i=0;for(;;){const e=f.detectBlockNext(n,i,t);if(e.found&&r.push(...e.found),void 0===e.continueAt)return{blocks:r,normalized:n};if(e.continueAt<=i)return a.Catch.report(`PgpArmordetect_blocks likely infinite loop: r.continue_at(${e.continueAt}) <= start_at(${i})`),{blocks:r,normalized:n};i=e.continueAt}};static fmtDecryptedAsSanitizedHtmlBlocks=async(e,t)=>{const r=[];let a=!1;if(!o.Mime.resemblesMsg(e)){let i=s.Buf.fromUint8(e).toUtfStr();i=u.PgpMsg.extractFcAtts(i,r),i=u.PgpMsg.stripFcTeplyToken(i);const o=[];i=u.PgpMsg.stripPublicKeys(i,o);const c=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(i));return c.verifyRes=t,r.push(c),await f.pushArmoredPubkeysToBlocks(o,r),{blocks:r,subject:void 0,isRichText:a}}const c=await o.Mime.decode(e);if(void 0!==c.html){const e=n.MsgBlock.fromContent("decryptedHtml",i.Xss.htmlSanitizeKeepBasicTags(c.html));e.verifyRes=t,r.push(e),a=!0}else if(void 0!==c.text){const e=n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(c.text));e.verifyRes=t,r.push(e)}else n.MsgBlock.fromContent("decryptedHtml",h.Str.asEscapedHtml(s.Buf.with(e).toUtfStr())).verifyRes=t,r.push();for(const e of c.atts)if("publicKey"===e.treatAs(c.atts))await f.pushArmoredPubkeysToBlocks([e.getData().toUtfStr()],r);else{const i=n.MsgBlock.fromAtt("decryptedAtt","",{name:e.name,data:e.getData(),length:e.length,type:e.type});i.verifyRes=t,r.push(i)}return{blocks:r,subject:c.subject,isRichText:a}};static detectBlockNext=(e,t,r)=>{const i=Object.keys(c.PgpArmor.ARMOR_HEADER_DICT),s={found:[]},a=e.indexOf(c.PgpArmor.headers("null").begin,t);if(-1!==a){const o=e.substr(a,f.ARMOR_HEADER_MAX_LENGTH);for(const l of i){const i=c.PgpArmor.ARMOR_HEADER_DICT[l];if(i.replace&&0===o.indexOf(i.begin)){let o="";if(a>t&&(o=e.substring(t,a),!o.endsWith("\n")))continue;let c=-1,u=0;if("string"==typeof i.end)c=e.indexOf(i.end,a+i.begin.length),u=i.end.length;else{const t=e.substring(a).match(i.end);t&&(c=t.index?a+t.index:-1,u=t[0].length)}if(-1!==c||!r){o=o.trim(),o&&s.found.push(n.MsgBlock.fromContent("plainText",o)),-1!==c?(s.found.push(n.MsgBlock.fromContent(l,e.substring(a,c+u).trim())),s.continueAt=c+u):s.found.push(n.MsgBlock.fromContent(l,e.substr(a),!0));break}}}}if(e&&!s.found.length){const r=e.substr(t).trim();r&&s.found.push(n.MsgBlock.fromContent("plainText",r))}return s};static pushArmoredPubkeysToBlocks=async(e,t)=>{for(const r of e){const{keys:e}=await l.PgpKey.parse(r);for(const r of e)t.push(n.MsgBlock.fromKeyDetails("publicKey",r.public,r))}}}t.MsgBlockParser=f},2633(e,t){"use strict";t.MsgBlock=void 0;class r{type;content;complete;signature;keyDetails;attMeta;decryptErr;verifyRes;constructor(e,t,r,n,i,s,a,o){this.type=e,this.content=t,this.complete=r,this.signature=n,this.keyDetails=i,this.attMeta=s,this.decryptErr=a,this.verifyRes=o}static fromContent=(e,t,n=!1)=>new r(e,t,!n);static fromKeyDetails=(e,t,n)=>new r(e,t,!0,void 0,n);static fromAtt=(e,t,n)=>new r(e,t,!0,void 0,void 0,n)}t.MsgBlock=r},1341(e,t,r){"use strict";t.PgpArmor=void 0;const n=r(833),i=r(6471),s=r(6382);class a{static ARMOR_HEADER_DICT={null:{begin:"-----BEGIN",end:"-----END",replace:!1},publicKey:{begin:"-----BEGIN PGP PUBLIC KEY BLOCK-----",end:"-----END PGP PUBLIC KEY BLOCK-----",replace:!0},privateKey:{begin:"-----BEGIN PGP PRIVATE KEY BLOCK-----",end:"-----END PGP PRIVATE KEY BLOCK-----",replace:!0},signedMsg:{begin:"-----BEGIN PGP SIGNED MESSAGE-----",middle:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!0},signature:{begin:"-----BEGIN PGP SIGNATURE-----",end:"-----END PGP SIGNATURE-----",replace:!1},encryptedMsg:{begin:"-----BEGIN PGP MESSAGE-----",end:"-----END PGP MESSAGE-----",replace:!0},encryptedMsgLink:{begin:"This message is encrypted: Open Message",end:/https:(\/|/){2}(cryptup\.org|flowcrypt\.com)(\/|/)[a-zA-Z0-9]{10}(\n|$)/,replace:!0}};static clip=e=>{if(e?.includes(a.ARMOR_HEADER_DICT.null.begin)&&e.includes(String(a.ARMOR_HEADER_DICT.null.end))){const t=e.match(/(-----BEGIN PGP (MESSAGE|SIGNED MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----[^]+-----END PGP (MESSAGE|SIGNATURE|PUBLIC KEY BLOCK)-----)/gm);return t&&t.length?t[0]:void 0}};static headers=(e,t="string")=>{const r=a.ARMOR_HEADER_DICT[e];return{begin:"string"==typeof r.begin&&"re"===t?r.begin.replace(/ /g,"\\s"):r.begin,end:"string"==typeof r.end&&"re"===t?r.end.replace(/ /g,"\\s"):r.end,replace:r.replace}};static normalize=(e,t)=>{if(e=i.Str.normalize(e).replace(/\n /g,"\n"),["encryptedMsg","publicKey","privateKey","key"].includes(t)){const t=(e=e.replace(/\r?\n/g,"\n").trim()).match(/\n\n/g),r=e.match(/\n\n\n/g),n=e.match(/\n\n\n\n/g),i=e.match(/\n\n\n\n\n\n/g);r&&i&&r.length>1&&1===i.length?e=e.replace(/\n\n\n/g,"\n"):t&&n&&t.length>1&&1===n.length&&(e=e.replace(/\n\n/g,"\n"))}const r=e.split("\n"),n=a.headers("key"===t?"null":t);if(r.length>5&&r[0].includes(n.begin)&&r[r.length-1].includes(String(n.end))&&!r.includes(""))for(let t=1;t<5;t++)if(!r[t].match(/^[a-zA-Z0-9\-_. ]+: .+$/)){if(r[t].match(/^[a-zA-Z0-9\/+]{32,77}$/)){e=`${r.slice(0,t).join("\n")}\n\n${r.slice(t).join("\n")}`;break}break}return e};static cryptoMsgPrepareForDecrypt=async e=>{if(!e.length)throw new Error("Encrypted message could not be parsed because no data was provided");const t=new n.Buf(e.slice(0,100)).toUtfStr("ignore"),r=t.includes(a.headers("encryptedMsg").begin),i=t.includes(a.headers("signedMsg").begin),o=r||i;if(i)return{isArmored:o,isCleartext:!0,message:await(0,s.readCleartextMessage)({cleartextMessage:new n.Buf(e).toUtfStr()})};if(r)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({armoredMessage:new n.Buf(e).toUtfStr()})};if(e instanceof Uint8Array)return{isArmored:o,isCleartext:!1,message:await(0,s.readMessage)({binaryMessage:e})};throw new Error("Message does not have armor headers")}}t.PgpArmor=a},2365(e,t,r){"use strict";t.PgpKey=void 0;const n=r(7659),i=r(1341),s=r(3313),a=r(102),o=r(178),c=r(6382),l=r(8659),u=r(3955),h=r(6471);class f{static create=async(e,t,r)=>{const n=await(0,c.generateKey)({userIDs:e,passphrase:r,format:"armored",curve:"curve25519"===t?"curve25519Legacy":void 0,rsaBits:"curve25519"===t?void 0:"rsa2048"===t?2048:4096});return{public:n.publicKey,private:n.privateKey,revCert:n.revocationCertificate}};static read=async e=>{const t=s.Store.armoredKeyCacheGet(e);if(t)return t;const r=await(0,c.readKey)({armoredKey:e});return r?.isPrivate()&&s.Store.armoredKeyCacheSet(e,r),r};static isPacketPrivate=e=>e instanceof c.SecretKeyPacket||e instanceof c.SecretSubkeyPacket;static validateAllDecryptedPackets=async e=>{for(const t of e.toPacketList().filter(f.isPacketPrivate))t.isDecrypted()&&await t.validate()};static decrypt=async(e,t,r,n)=>{if(!e.isPrivate())throw new Error("Nothing to decrypt in a public key");const i=e.getKeys(r).map(e=>e.keyPacket).filter(f.isPacketPrivate);if(!i.length)throw new Error(`No private key packets selected of${e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate).length} prv packets available`);for(const e of i){if(e.isDecrypted()){if("OK-IF-ALREADY-DECRYPTED"===n)continue;throw new Error("Decryption failed - key packet was already decrypted")}try{await e.decrypt(t),await e.validate()}catch(e){if(e instanceof Error&&e.message.toLowerCase().includes("passphrase"))return!1;throw e}}return!0};static encrypt=async(e,t)=>{if(!t||"undefined"===t||"null"===t)throw new Error(`Encryption passphrase should not be empty:${typeof t}:${t}`);const r=e.getKeys().map(e=>e.keyPacket).filter(f.isPacketPrivate),n=r.filter(e=>!e.isDecrypted()).length;if(!r.length)throw new Error("No private key packets in key to encrypt. Is this a private key?");if(n)throw new Error(`Cannot encrypt a key that has ${n} of ${r.length} private packets still encrypted`);await(0,c.encryptKey)({privateKey:e,passphrase:t})};static normalize=async e=>{try{let t=[];if(e=i.PgpArmor.normalize(e,"key"),RegExp(i.PgpArmor.headers("publicKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("privateKey","re").begin).test(e))t=await(0,c.readKeys)({armoredKeys:e});else if(RegExp(i.PgpArmor.headers("encryptedMsg","re").begin).test(e)){const r=await(0,c.readMessage)({armoredMessage:e});t=[new c.PublicKey(r.packets)]}for(const e of t)for(const t of e.users)await f.validateAllDecryptedPackets(e),t.otherCertifications=[];return{normalized:t.map(e=>e.armor()).join("\n"),keys:t}}catch(e){return n.Catch.reportErr(e),{normalized:"",keys:[],error:h.Str.extractErrorMessage(e)}}};static fingerprint=async e=>{if(e)if("string"==typeof e)try{return await f.fingerprint(await f.read(e))}catch(e){return e instanceof Error&&"openpgp is not defined"===e.message&&n.Catch.reportErr(e),void console.error(e)}else{if(!e.keyPacket.getFingerprintBytes())return;try{return e.keyPacket.getFingerprint().toUpperCase()}catch(e){return void console.error(e)}}};static longid=async e=>{if(e)return"string"==typeof e&&8===e.length?(0,o.strToHex)(e).toUpperCase():"string"==typeof e&&40===e.length?e.substr(-16):"string"==typeof e&&49===e.length?e.replace(/ /g,"").substr(-16):await f.longid(await f.fingerprint(e))};static longids=async e=>{const t=[];for(const r of e){const e=await f.longid(r.bytes);e&&t.push(e)}return t};static usable=async(e,t)=>{if(!await f.fingerprint(e))return!1;const r=await(0,c.readKey)({armoredKey:e});return!!r&&(!!await f.keyIsUsable(r,t)||await f.usableButExpired(r,t))};static expired=async e=>{if(!e)return!1;const t=await e.getExpirationTime();if(t===1/0||!t)return!1;if(t instanceof Date)return Date.now()>t.getTime();throw new Error(`Got unexpected value for expiration: ${t}`)};static usableButExpired=async(e,t)=>{if(!e)return!1;if(await f.keyIsUsable(e,t))return!1;const r=await f.dateBeforeExpiration(e);return void 0!==r&&f.keyIsUsable(e,t,r)};static dateBeforeExpiration=async e=>{const t="string"==typeof e?await f.read(e):e,r=await(0,o.getKeyExpirationTimeForCapabilities)(t,"encrypt");if(r instanceof Date&&r.getTime(){const{normalized:t,keys:r,error:n}=await f.normalize(e);return{original:e,normalized:t,keys:await Promise.all(r.map(f.details)),error:n}};static details=async e=>{const t=e.getKeys(),r=e.keyPacket.getAlgorithmInfo(),n={algorithm:r.algorithm,algorithmId:c.enums.publicKey[r.algorithm]};r.bits&&Object.assign(n,{bits:r.bits}),r.curve&&Object.assign(n,{curve:r.curve});const i=e.keyPacket.created.getTime()/1e3,s=await(0,o.getKeyExpirationTimeForCapabilities)(e,"encrypt"),u=s!==1/0&&s?s.getTime()/1e3:void 0,h=await f.lastSig(e)/1e3,A=[];for(const e of t){const t=e.getFingerprint().toUpperCase();if(t){const e=await f.longid(t);if(e){const r=e.substr(-8);A.push({fingerprint:t,longid:e,shortid:r,keywords:(0,a.mnemonic)(e)??""})}}}const d=e.toPublic().armor(),p={public:d,users:e.getUserIDs(),ids:A,algo:n,created:i,expiration:u,lastModified:h,revoked:e.revocationSignatures.length>0,usableForEncryption:await f.usable(d,"encrypt"),usableForSigning:await f.usable(d,"sign")};return e.isPrivate()&&Object.assign(p,{private:e.armor(),isFullyDecrypted:(0,l.isFullyDecrypted)(e),isFullyEncrypted:(0,l.isFullyEncrypted)(e)}),p};static lastSig=async e=>{const t=[];for(const r of e.users){const n={userID:r.userID,userAttribute:r.userAttribute,key:e};for(const i of r.selfCertifications)try{await i.verify(e.keyPacket,c.enums.signature.certGeneric,n),t.push(i)}catch(e){console.log(`PgpKey.lastSig: Skipping self-certification signature because it is invalid: ${String(e)}`)}}for(const r of e.subkeys)try{const e=await r.verify();t.push(e)}catch(e){console.log(`PgpKey.lastSig: Skipping subkey ${r.getKeyID().toHex()} because there is no valid binding signature: ${String(e)}`)}if(t.length>0)return Math.max(...t.map(e=>e.created?e.created.getTime():0));throw new Error("No valid signature found in key")};static revoke=async e=>{await e.isRevoked()||(e=(await(0,c.revokeKey)({key:e,format:"object"})).privateKey);const t=await e.getRevocationCertificate();if(t){if("string"==typeof t)return{key:e,revocationCertificate:t};{const r=await(0,u.requireStreamReadToEnd)();return{key:e,revocationCertificate:await r(t)}}}};static keyIsUsable=async(e,t,r)=>Boolean(await n.Catch.undefinedOnException("encrypt"===t?e.getEncryptionKey(void 0,r):e.getSigningKey(void 0,r)))}t.PgpKey=f},9379(e,t,r){"use strict";t.PgpMsg=t.DecryptErrTypes=void 0;const n=r(2365),i=r(2633),s=r(6471),a=r(833),o=r(7659),c=r(9545),l=r(1341),u=r(3313),h=r(6382),f=r(8659),A=r(3955);var d;!function(e){e.keyMismatch="key_mismatch",e.usePassword="use_password",e.wrongPwd="wrong_password",e.noMdc="no_mdc",e.badMdc="bad_mdc",e.needPassphrase="need_passphrase",e.format="format",e.other="other"}(d||(t.DecryptErrTypes=d={}));Error;class p{static type=async({data:e})=>{if(!e||!e.length)return;const t=e[0];if(!(128&~t)){let e=0;if(e=192&~t?(60&t)/4:63&t,Object.values(h.enums.packet).includes(e)){const t=h.enums.packet;return{armored:!1,type:[t.symEncryptedIntegrityProtectedData,t.modificationDetectionCode,t.aeadEncryptedData,t.symmetricallyEncryptedData,t.compressedData].includes(e)?"encryptedMsg":"publicKey"}}}const{blocks:r}=c.MsgBlockParser.detectBlocks(new a.Buf(e.slice(0,50)).toUtfStr().trim());return 1===r.length&&!1===r[0].complete&&["encryptedMsg","privateKey","publicKey","signedMsg"].includes(r[0].type)?{armored:!0,type:r[0].type}:void 0};static sign=async(e,t,r=!1)=>{const n=await(0,h.createCleartextMessage)({text:t});return await(0,h.sign)({message:n,signingKeys:e,detached:r,format:"armored"})};static verify=async(e,t)=>{const r={match:null};try{const i=Array.isArray(e)?e:await e.verify(t);for(const e of i)r.signer||(r.signer=await n.PgpKey.longid(e.keyID.bytes)),r.match=(!0===r.match||null===r.match)&&await e.verified}catch(e){r.match=null,e instanceof Error&&"Can only verify message with one literal data packet."===e.message?r.error="FlowCrypt is not equipped to verify this message (err 101)":(r.error=e instanceof Error?e.message:String(e),o.Catch.reportErr(e))}return r};static verifyDetached=async({plaintext:e,sigText:t,verificationPubkeys:r})=>{const n=await(0,h.createMessage)({text:a.Buf.fromUint8(e).toUtfStr()});await n.appendSignature(a.Buf.fromUint8(t).toUtfStr());const i=await p.getSortedKeys([],n);if(r)for(const e of r){const t=await(0,h.readKeys)({armoredKeys:e});i.forVerification.push(...t)}return await p.verify(n,i.forVerification)};static decrypt=async({kisWithPp:e,encryptedData:t,msgPwd:r,verificationPubkeys:n})=>{let i;const s={message:[],matching:[],chosen:[],needPassphrase:[]};try{i=await l.PgpArmor.cryptoMsgPrepareForDecrypt(t)}catch(e){return{success:!1,error:{type:d.format,message:String(e)},longids:s}}const o=await p.getSortedKeys(e,i.message,n);s.message=o.encryptedFor,s.matching=o.prvForDecrypt.map(e=>e.longid),s.chosen=o.prvForDecryptDecrypted.map(e=>e.longid),s.needPassphrase=o.prvForDecryptWithoutPassphrases.map(e=>e.longid);const c=!i.isCleartext;if(!c){const e=await p.verify(i.message,o.forVerification),t=await(0,A.requireStreamReadToEnd)(),r=await t(i.message.getText()??"");return{success:!0,content:a.Buf.fromUtfStr(r),isEncrypted:c,signature:e}}if(!o.prvMatching.length&&!r)return{success:!1,error:{type:d.keyMismatch,message:"Missing appropriate key"},message:i.message,longids:s,isEncrypted:c};if(!o.prvForDecryptDecrypted.length&&!r)return{success:!1,error:{type:d.needPassphrase,message:"Missing pass phrase"},message:i.message,longids:s,isEncrypted:c};try{const e=i.message.packets,t=e.filterByTag(h.enums.packet.symEncryptedSessionKey).length>0,l=e.filterByTag(h.enums.packet.publicKeyEncryptedSessionKey).length>0;if(t&&!l&&!r)return{success:!1,error:{type:d.usePassword,message:"Use message password"},longids:s,isEncrypted:c};const u=r?[r]:void 0,f=o.prvForDecryptDecrypted.map(e=>e.decrypted),g=await i.message.decrypt(f,u);await p.cryptoMsgGetSignedBy(g,o),await p.populateKeysForVerification(o,n);const y=o.signedBy.length?await g.verify(o.forVerification):void 0,m=await(0,A.requireStreamReadToEnd)(),w=new a.Buf(await m(g.getLiteralData())),b=y?await p.verify(y,[]):void 0;if(!i.isCleartext&&i.message.packets.filterByTag(h.enums.packet.symmetricallyEncryptedData).length){const e="Security threat!\n\nMessage is missing integrity checks (MDC). The sender should update their outdated software and resend.";return{success:!1,content:w,error:{type:d.noMdc,message:e},message:i.message,longids:s,isEncrypted:c}}return{success:!0,content:w,isEncrypted:c,filename:g.getFilename()||void 0,signature:b}}catch(e){return{success:!1,error:p.cryptoMsgDecryptCategorizeErr(e,r),message:i.message,longids:s,isEncrypted:c}}};static encrypt=async({pubkeys:e,signingPrv:t,pwd:r,data:n,filename:i,armor:s,date:a})=>{if(!e&&!r)throw new Error("no-pubkeys-no-challenge");const o=await(0,h.createMessage)({binary:n,filename:i,date:a}),c=[];for(const t of e){const e=await(0,h.readKeys)({armoredKeys:t});c.push(...e)}const l={message:o,date:a,encryptionKeys:c,passwords:r?[r]:void 0,signingKeys:t&&t.isPrivate()?t:void 0};return s||Object.assign(l,{format:"binary"}),await(0,h.encrypt)(l)};static extractFcAtts=(e,t)=>(e.includes('class="cryptup_file"')&&(e=e.replace(/[^<]+<\/a>\n?/gm,(e,r,n)=>{const a=s.Str.htmlAttrDecode(String(n));return p.isFcAttLinkData(a)&&t.push(i.MsgBlock.fromAtt("encryptedAttLink","",{type:a.type,name:a.name,length:a.size,url:String(r)})),""})),e);static stripFcTeplyToken=e=>e.replace(/]+class="cryptup_reply"[^>]+><\/div>/,"");static stripPublicKeys=(e,t)=>{let{blocks:r,normalized:n}=c.MsgBlockParser.detectBlocks(e);for(const e of r)if("publicKey"===e.type){const r=e.content.toString();t.push(r),n=n.replace(r,"")}return n};static isFcAttLinkData=e=>e&&"object"==typeof e&&void 0!==e.name&&void 0!==e.size&&void 0!==e.type;static cryptoMsgGetSignedBy=async(e,t)=>{t.signedBy=s.Value.arr.unique(await n.PgpKey.longids(e.getSigningKeyIDs?e.getSigningKeyIDs():[]))};static populateKeysForVerification=async(e,t)=>{if(void 0!==t){e.forVerification=[];for(const r of t){const t=await(0,h.readKeys)({armoredKeys:r});e.forVerification.push(...t)}}};static getSortedKeys=async(e,t,r)=>{const i={forVerification:[],encryptedFor:[],signedBy:[],prvMatching:[],prvForDecrypt:[],prvForDecryptDecrypted:[],prvForDecryptWithoutPassphrases:[]},s=t instanceof h.Message?t.getEncryptionKeyIDs():[];if(i.encryptedFor=await n.PgpKey.longids(s),await p.cryptoMsgGetSignedBy(t,i),await p.populateKeysForVerification(i,r),i.encryptedFor.length){for(const t of e){t.parsed=await n.PgpKey.read(t.private);for(const e of await Promise.all(t.parsed.getKeyIDs().map(({bytes:e})=>n.PgpKey.longid(e))))if(i.encryptedFor.includes(e)){i.prvMatching.push(t);break}}i.prvForDecrypt=i.prvMatching}else i.prvForDecrypt=[];for(const e of i.prvForDecrypt){if(!e.parsed||!e.passphrase)continue;const t=p.matchingKeyids(e.parsed,s),r=u.Store.decryptedKeyCacheGet(e.longid);r&&p.isKeyDecryptedFor(r,t)?(e.decrypted=r,i.prvForDecryptDecrypted.push(e)):p.isKeyDecryptedFor(e.parsed,t)||!0===await p.decryptKeyFor(e.parsed,e.passphrase,t)?(u.Store.decryptedKeyCacheSet(e.parsed),e.decrypted=e.parsed,i.prvForDecryptDecrypted.push(e)):i.prvForDecryptWithoutPassphrases.push(e)}return i};static matchingKeyids=(e,t)=>{const r=(t||[]).map(e=>e.bytes);return e.getKeyIDs().filter(e=>r.includes(e.bytes))};static decryptKeyFor=async(e,t,r)=>{if(!r.length)return await n.PgpKey.decrypt(e,t,void 0,"OK-IF-ALREADY-DECRYPTED");for(const i of r)if(!await n.PgpKey.decrypt(e,t,i,"OK-IF-ALREADY-DECRYPTED"))return!1;return!0};static isKeyDecryptedFor=(e,t)=>!!(0,f.isFullyDecrypted)(e)||!(0,f.isFullyEncrypted)(e)&&!!t.length&&t.filter(t=>(0,f.isPacketDecrypted)(e,t)).length===t.length;static cryptoMsgDecryptCategorizeErr=(e,t)=>{const r=String(e).replace("Error: ","").replace("Error decrypting message: ","");return["Cannot read property 'isDecrypted' of null","privateKeyPacket is null","TypeprivateKeyPacket is null","Session key decryption failed.","Invalid session key for decryption."].includes(r)&&!t?{type:d.keyMismatch,message:r}:t&&["Invalid enum value.","CFB decrypt: invalid key","Session key decryption failed."].includes(r)?{type:d.wrongPwd,message:r}:"Decryption failed due to missing MDC in combination with modern cipher."===r||"Decryption failed due to missing MDC."===r?{type:d.noMdc,message:r}:"Decryption error"===r?{type:d.format,message:r}:"Modification detected."===r?{type:d.badMdc,message:"Security threat - opening this message is dangerous because it was modified in transit."}:{type:d.other,message:r}}}t.PgpMsg=p},5261(e,t){"use strict";t.PgpPwd=void 0;class r{static CRACK_GUESSES_PER_SECOND=8e7;static CRACK_TIME_WORDS_PWD=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"perfect",bar:95,color:"green",pass:!0},{match:"year",word:"great",bar:80,color:"orange",pass:!0},{match:"month",word:"good",bar:70,color:"darkorange",pass:!0},{match:"week",word:"good",bar:30,color:"darkred",pass:!0},{match:"day",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"hour",word:"bare minimum",bar:20,color:"darkred",pass:!0},{match:"minute",word:"poor",bar:15,color:"red",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static CRACK_TIME_WORDS_PASS_PHRASE=[{match:"millenni",word:"perfect",bar:100,color:"green",pass:!0},{match:"centu",word:"great",bar:80,color:"green",pass:!0},{match:"year",word:"good",bar:60,color:"orange",pass:!0},{match:"month",word:"reasonable",bar:40,color:"darkorange",pass:!0},{match:"week",word:"poor",bar:30,color:"darkred",pass:!1},{match:"day",word:"poor",bar:20,color:"darkred",pass:!1},{match:"",word:"weak",bar:10,color:"red",pass:!1}];static estimateStrength=(e,t="passphrase")=>{const n=e/r.CRACK_GUESSES_PER_SECOND;for(const e of"pwd"===t?r.CRACK_TIME_WORDS_PWD:r.CRACK_TIME_WORDS_PASS_PHRASE){const t=r.readableCrackTime(n);if(t.includes(e.match))return{word:e,seconds:Math.round(n),time:t}}throw Error("(thrown) estimate_strength: got to end without any result")};static weakWords=()=>["crypt","up","cryptup","flow","flowcrypt","encryption","pgp","email","set","backup","passphrase","best","pass","phrases","are","long","and","have","several","words","in","them","Best pass phrases are long","have several words","in them","bestpassphrasesarelong","haveseveralwords","inthem","Loss of this pass phrase","cannot be recovered","Note it down","on a paper","lossofthispassphrase","cannotberecovered","noteitdown","onapaper","setpassword","set password","set pass word","setpassphrase","set pass phrase","set passphrase"];static readableCrackTime=e=>{const t=e=>e>1?"s":"";e=Math.round(e);const r=Math.round(e/31104e8);if(r)return 1===r?"a millennium":"millennia";const n=Math.round(e/31104e5);if(n)return 1===n?"a century":"centuries";const i=Math.round(e/31104e3);if(i)return i+" year"+t(i);const s=Math.round(e/2592e3);if(s)return s+" month"+t(s);const a=Math.round(e/604800);if(a)return a+" week"+t(a);const o=Math.round(e/86400);if(o)return o+" day"+t(o);const c=Math.round(e/3600);if(c)return c+" hour"+t(c);const l=Math.round(e/60);if(l)return l+" minute"+t(l);const u=e%60;return u?u+" second"+t(u):"less than a second"}}t.PgpPwd=r},8659(e,t,r){"use strict";t.isPacketDecrypted=t.isFullyEncrypted=t.isFullyDecrypted=void 0;const n=r(2365),i=r(9815),s=r(6382);s.config.versionString=`FlowCrypt ${i.VERSION} Gmail Encryption`,s.config.commentString="Seamlessly send and receive encrypted email",s.config.allowUnauthenticatedMessages=!0,s.config.allowUnauthenticatedStream=!0;const a=e=>{if(!e.isPrivate())throw new Error("Cannot check encryption status of secret keys in a Public Key");const t=e.getKeys().map(e=>e.keyPacket).filter(n.PgpKey.isPacketPrivate);if(!t.length)throw new Error("This key has no private packets. Is it a Private Key?");const r=t.filter(e=>!e.isDummy());if(!r.length)throw new Error("This key only has a gnu-dummy private packet, with no actual secret keys.");return r};t.isFullyDecrypted=e=>a(e).every(e=>!0===e.isDecrypted()),t.isFullyEncrypted=e=>a(e).every(e=>!1===e.isDecrypted()),t.isPacketDecrypted=(e,t)=>{if(!e.isPrivate())throw new Error("Cannot check packet encryption status of secret key in a Public Key");if(!t)throw new Error("No KeyID provided to isPacketDecrypted");const[r]=e.getKeys(t);if(!r)throw new Error("KeyID not found in Private Key");return!0===r.keyPacket.isDecrypted()}},9033(e,t,r){"use strict";t.G=t.Endpoints=void 0;const n=r(1592),i=r(9379),s=r(2365),a=r(4010),o=r(3207),c=r(833),l=r(9545),u=r(5261),h=r(3313),f=r(6471),A=r(9815),d=r(6364),p=r(6622),g=r(6382);t.Endpoints=class{version=async()=>(0,n.fmtRes)({app_version:A.VERSION});setClientConfiguration=async e=>{const{shouldHideArmorMeta:t}=d.ValidateInput.setClientConfiguration(e);return g.config.showVersion=!t,g.config.showComment=!t,(0,n.fmtRes)({})};generateKey=async e=>{h.Store.keyCacheWipe();const{passphrase:t,userIds:r,variant:i}=d.ValidateInput.generateKey(e);if(t.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const a=await s.PgpKey.create(r,i,t);return(0,n.fmtRes)({key:await s.PgpKey.details(await s.PgpKey.read(a.private))})};composeEmail=async e=>{const r=d.ValidateInput.composeEmail(e),s={to:r.to,from:r.from,subject:r.subject,cc:r.cc,bcc:r.bcc};if(r.replyToMsgId&&(s["in-reply-to"]=r.replyToMsgId,s.references=[r.inReplyTo,r.replyToMsgId].filter(e=>!!e).join(" ")),"plain"===r.format){const e=(r.atts||[]).map(({name:e,type:t,base64:r})=>new o.Att({name:e,type:t,data:c.Buf.fromBase64Str(r)})),t={"text/plain":r.text};return r.html&&(t["text/html"]=r.html),(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode(t,s,e)))}if("encryptInline"===r.format){const e=[];for(const t of r.atts||[])if("application/pgp-keys"===t.type)e.push(new o.Att({name:t.name,type:t.type,data:c.Buf.fromBase64Str(t.base64)}));else{const n=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.fromBase64Str(t.base64),filename:t.name,armor:!1});e.push(new o.Att({name:`${t.name}.pgp`,type:"application/pgp-encrypted",data:n}))}const l=await(0,t.G)(r),u=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,signingPrv:l,data:c.Buf.fromUtfStr(r.text),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(await a.Mime.encode({"text/plain":u},s,e)))}throw new Error(`Unknown format: ${r.format}`)};encryptMsg=async(e,t)=>{const r=d.ValidateInput.encryptMsg(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,pwd:r.msgPwd,data:c.Buf.concat(t),armor:!0});return(0,n.fmtRes)({},c.Buf.fromUtfStr(s))};encryptFile=async(e,t)=>{const r=d.ValidateInput.encryptFile(e),s=await i.PgpMsg.encrypt({pubkeys:r.pubKeys,data:c.Buf.concat(t),filename:r.name,armor:!1});return(0,n.fmtRes)({},s)};sanitizeHtml=async e=>{const{html:t}=d.ValidateInput.sanitizeHtml(e),r=p.Xss.htmlSanitizeKeepBasicTags(t);return(0,n.fmtRes)({sanitizedHtml:r})};parseDecryptMsg=async(e,t)=>{const{keys:r,msgPwd:o,isMime:u,verificationPubkeys:h}=d.ValidateInput.parseDecryptMsg(e),A=[];let g,y;if(u){const{blocks:e,rawSignedContent:r,headers:n}=await a.Mime.process(c.Buf.concat(t));y=String(n.subject),g=r,A.push(...e)}else{const{blocks:e}=l.MsgBlockParser.detectBlocks(c.Buf.concat(t).toString());A.push(...e)}const m=[];for(const e of A)if("signedMsg"!==e.type&&"signedHtml"!==e.type||!e.signature)if("encryptedMsg"===e.type||"signedMsg"===e.type){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.content),verificationPubkeys:h});if(t.success)if(t.isEncrypted){const e=await l.MsgBlockParser.fmtDecryptedAsSanitizedHtmlBlocks(t.content,t.signature);m.push(...e.blocks),y=e.subject||y}else m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(t.content.toUtfStr()),complete:!0,verifyRes:t.signature});else delete t.message,m.push({type:"decryptErr",content:t.error.type===i.DecryptErrTypes.noMdc?t.content?.toUtfStr()??"":e.content.toString(),decryptErr:t,complete:!0})}else if("encryptedAtt"===e.type&&e.attMeta&&/^(0x)?[A-Fa-f0-9]{16,40}\.asc\.pgp$/.test(e.attMeta.name||"")){const t=await i.PgpMsg.decrypt({kisWithPp:r,msgPwd:o,encryptedData:c.Buf.with(e.attMeta.data||""),verificationPubkeys:h});t.content?m.push({type:"publicKey",content:t.content.toString(),complete:!0}):m.push(e)}else m.push(e);else{const t=await i.PgpMsg.verifyDetached({sigText:c.Buf.fromUtfStr(e.signature),plaintext:c.Buf.with(g||e.content),verificationPubkeys:h});"signedHtml"===e.type?m.push({type:"verifiedMsg",content:p.Xss.htmlSanitizeKeepBasicTags(e.content.toString()),verifyRes:t,complete:!0}):m.push({type:"verifiedMsg",content:f.Str.asEscapedHtml(e.content.toString()),verifyRes:t,complete:!0})}const w=[],b=[];let v="plain";for(const e of m)if(e.content instanceof c.Buf?e.content=(0,n.isContentBlock)(e.type)?e.content.toUtfStr():e.content.toRawBytesStr():e.attMeta&&e.attMeta.data instanceof Uint8Array&&(e.attMeta.data=c.Buf.fromUint8(e.attMeta.data).toBase64Str()),e.decryptErr?.content instanceof c.Buf&&(e.decryptErr.content=e.decryptErr.content.toUtfStr()),"decryptedHtml"!==e.type&&"decryptedText"!==e.type&&"decryptedAtt"!==e.type||(v="encrypted"),"publicKey"===e.type)if(e.keyDetails)b.push(e);else{const{keys:t}=await s.PgpKey.normalize(e.content);if(t.length)for(const e of t)b.push({type:"publicKey",content:e.armor(),complete:!0,keyDetails:await s.PgpKey.details(e)});else b.push({type:"decryptErr",content:e.content,complete:!0,decryptErr:{success:!1,error:{type:i.DecryptErrTypes.format,message:"Badly formatted public key"},longids:{message:[],matching:[],chosen:[],needPassphrase:[]}}})}else(0,n.isContentBlock)(e.type)||a.Mime.isPlainImgAtt(e)?w.push(e):b.push(e);const{contentBlock:E,text:k}=(0,n.fmtContentBlock)(w);b.unshift(E);const I=c.Buf.fromUtfStr(b.map(e=>JSON.stringify(e,(e,t)=>"content"===e&&t.length>1e5?"":t)).join("\n")),B={text:k,replyType:v};return y&&Object.assign(B,{subject:y}),(0,n.fmtRes)(B,I)};parseAttachmentType=async e=>{const{atts:t}=d.ValidateInput.parseAttachmentType(e),r=t.map(e=>{const t=new o.Att(e);return{id:t.id,treatAs:t.treatAs([t])}});return(0,n.fmtRes)({atts:r})};decryptFile=async(e,t,r)=>{const{keys:s,msgPwd:a}=d.ValidateInput.decryptFile(e),o=await i.PgpMsg.decrypt({kisWithPp:s,encryptedData:c.Buf.concat(t),msgPwd:a,verificationPubkeys:r});return o.success?(0,n.fmtRes)({decryptSuccess:{name:o.filename||""}},o.content):(delete o.message,delete o.content,(0,n.fmtRes)({decryptErr:o}))};zxcvbnStrengthBar=async e=>{const t=d.ValidateInput.zxcvbnStrengthBar(e);if("passphrase"===t.purpose){if("number"==typeof t.guesses)return(0,n.fmtRes)(u.PgpPwd.estimateStrength(t.guesses));if("string"==typeof t.value){if("function"!=typeof window.zxcvbn)throw new Error("window.zxcvbn missing in js");const e=window.zxcvbn(t.value,u.PgpPwd.weakWords()).guesses;return(0,n.fmtRes)(u.PgpPwd.estimateStrength(e))}throw new Error("Unexpected format: guesses is not a number, value is not a string")}throw new Error(`Unknown purpose: ${t.purpose}`)};parseKeys=async(e,t)=>{const r=[],a=c.Buf.concat(t),o=await i.PgpMsg.type({data:a});if(!o)return(0,n.fmtRes)({format:"unknown",keyDetails:r});if(o.armored){const{blocks:e}=l.MsgBlockParser.detectBlocks(a.toString());for(const t of e){const{keys:e}=await s.PgpKey.parse(t.content.toString());r.push(...e)}for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"armored",keyDetails:r})}const u=await(0,g.readKeys)({binaryKeys:a});for(const e of u)r.push(await s.PgpKey.details(e));for(const e of r)(0,n.removeUndefinedValues)(e);return(0,n.fmtRes)({format:"binary",keyDetails:r})};isEmailValid=async e=>{const{email:t}=d.ValidateInput.isEmailValid(e);return(0,n.fmtRes)({valid:f.Str.isEmailValid(t)})};decryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrases:r}=d.ValidateInput.decryptKey(e);if(1!==r.length)throw new Error(`decryptKey: Can only accept exactly 1 pass phrase for decrypt, received: ${r.length}`);const i=await(0,d.readArmoredKeyOrThrow)(t);return await s.PgpKey.decrypt(i,r[0])?(0,n.fmtRes)({decryptedKey:i.armor()}):(0,n.fmtRes)({decryptedKey:void 0})};encryptKey=async e=>{h.Store.keyCacheWipe();const{armored:t,passphrase:r}=d.ValidateInput.encryptKey(e),i=await(0,d.readArmoredKeyOrThrow)(t);if(!r||r.length<12)throw new Error("Pass phrase length seems way too low! Pass phrase strength should be properly checked before encrypting a key.");const s=await(0,g.encryptKey)({privateKey:i,passphrase:r});return(0,n.fmtRes)({encryptedKey:s.armor()})};verifyKey=async e=>{const{armored:t}=d.ValidateInput.verifyKey(e),r=await(0,g.readKey)({armoredKey:t});return await r.verifyPrimaryKey(),(0,n.fmtRes)({})};keyCacheWipe=async()=>(h.Store.keyCacheWipe(),(0,n.fmtRes)({}))},t.G=async e=>{if(!e.signingPrv)return;const t=await(0,d.readArmoredKeyOrThrow)(e.signingPrv.private);if(await s.PgpKey.decrypt(t,e.signingPrv.passphrase||""))return t;throw new Error("Fail to decrypt signing key")}},1592(e,t,r){"use strict";t.removeUndefinedValues=t.fmtErr=t.fmtRes=t.fmtContentBlock=t.l=t.isContentBlock=void 0;const n=r(2633),i=r(4010),s=r(6471),a=r(6622);t.isContentBlock=e=>"plainText"===e||"decryptedText"===e||"plainHtml"===e||"decryptedHtml"===e||"signedMsg"===e||"verifiedMsg"===e;const o=(e,t)=>{let r;return r="green"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #31A217;border-right: none;' +\n 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAh1BMVEXw8PD////w8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD7MuHIAAAALXRSTlMAAAECBAcICw4QEhUZIyYqMTtGTV5kdn2Ii5mfoKOqrbG0uL6/xcnM0NTX2t1l7cN4AAAB0UlEQVR4Ae3Y3Y4SQRCG4bdHweFHRBTBH1FRFLXv//qsA8kmvbMdXhh2Q0KfknpSCQc130c67s22+e9+v/+d84fxkSPH0m/+5P9vN7vRV0vPfx7or1NB23e99KAHuoXOOc6moQsBwNN1Q9g4Wdh1uq3MA7Qn0+2ylAt7WbWpyT+Wo8roKH6v2QhZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2ghZ2gjZ2AUNOLmwgQdogEJ2dnF3UJdU3WjqO/u96aYtVd/7jqvIyu76G5se6GaY7tNNcy5d7se7eWVnDz87fMkuVuS8epF6f9NPObPY5re9y4N1/vya9Gr3se2bfvl9M0mkyZdv077p+a/3z4Meby5Br4NWiV51BaiUqfLro9I3WiR61RVcffwfXI7u5zZ20EOA82Uu8x3SlrSwXQuBSvSqK0AletUVoBK96gpIwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWctDCVnLQwlZy0MJWckIletUVIJJxITN6wtZd2EI+0NquyIJOnUpFVvRpcwmV6FVXgEr0qitAJXrVFaASveoKUIledQWoRK+6AlSiV13BP+/VVbky7Xq1AAAAAElFTkSuQmCC);":"red"===t?"border: 1px solid #f0f0f0;border-left: 8px solid #d14836;border-right: none;":"plain"===t?"border: none;":"border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;",`
${a.Xss.htmlSanitizeKeepBasicTags(e)}
\x3c!-- next MsgBlock --\x3e\n`};t.l=e=>(e=(e=(e=e.replace(/<\/?html[^>]*>/g,"")).replace(/]*>.*<\/head>/g,"")).replace(/<\/?body[^>]*>/g,"")).trim();const c=(e,t)=>e.replace(/src="cid:([^"]+)"/g,(e,r)=>{const n=t[r];if(n){const e=`src="data:${n.attMeta?.type};base64,${n.attMeta?.data}"`;return delete t[r],e}return e});t.fmtContentBlock=e=>{const r=[],l=[],u=e.filter(e=>!i.Mime.isPlainImgAtt(e)),h=[],f={};for(const t of e.filter(e=>i.Mime.isPlainImgAtt(e)))t.attMeta?.cid?f[t.attMeta.cid.replace(/>$/,"").replace(/^0&&p!==u.length&&(A.partial=!0));for(const e of h.concat(Object.values(f))){const t=`${e.attMeta?.name||"(unnamed image)"} - ${e.attMeta?.length??0}kb`,n=`${a.Xss.escape(t)} `;r.push(o(n,"plain")),l.push(`[image: ${t}]\n`)}const g=n.MsgBlock.fromContent("plainHtml",`\n \n \n \n \n \n ${r.join("")}\n `);return g.verifyRes=A,{contentBlock:g,text:l.join("").trim()}},t.fmtRes=(e,t)=>({json:e,data:t||new Uint8Array(0)}),t.fmtErr=e=>(0,t.fmtRes)({error:{message:String(e),stack:e&&"object"==typeof e&&e.stack||""}}),t.removeUndefinedValues=e=>{for(const t in e)void 0===e[t]&&delete e[t]}},6364(e,t,r){"use strict";t.readArmoredKeyOrThrow=t.ValidateInput=void 0;const n=r(6382);t.ValidateInput=class{static setClientConfiguration=e=>{if(i(e)&&s(e,"shouldHideArmorMeta","boolean?"))return e;throw new Error("Wrong request structure for NodeRequest.setClientConfiguration")};static generateKey=e=>{if(i(e)&&s(e,"userIds","Userid[]")&&e.userIds.length&&s(e,"passphrase","string")&&["rsa2048","rsa4096","curve25519"].includes(e.variant))return e;throw new Error("Wrong request structure for NodeRequest.generateKey")};static encryptMsg=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.encryptMsg")};static composeEmail=e=>{if(!(i(e)&&s(e,"text","string")&&s(e,"html","string?")&&s(e,"from","string")&&s(e,"subject","string")&&s(e,"to","string[]")&&s(e,"cc","string[]")&&s(e,"bcc","string[]")))throw new Error("Wrong request structure for NodeRequest.composeEmail, need: text,from,subject,to,cc,bcc,atts (can use empty arr for cc/bcc, and can skip atts)");if(!s(e,"atts","ComposeAttachment[]?"))throw new Error("Wrong atts structure for NodeRequest.composeEmail, need: {name, type, base64}");if(s(e,"pubKeys","string[]")&&s(e,"signingPrv","PrvKeyInfo?")&&e.pubKeys.length&&("encryptInline"===e.format||"encryptPgpmime"===e.format))return e;if(!e.pubKeys&&"plain"===e.format)return e;throw new Error("Wrong choice of pubKeys and format. Either pubKeys:[..]+format:encryptInline OR format:plain allowed")};static parseDecryptMsg=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?")&&s(e,"isMime","boolean?")&&s(e,"verificationPubkeys","string[]?"))return e;throw new Error("Wrong request structure for NodeRequest.parseDecryptMsg")};static sanitizeHtml=e=>{if(i(e)&&s(e,"html","string"))return e;throw new Error("Wrong request structure for NodeRequest.sanitizeHtml")};static encryptFile=e=>{if(i(e)&&s(e,"pubKeys","string[]")&&s(e,"name","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptFile")};static parseAttachmentType=e=>{if(i(e)&&s(e,"atts","Attachment[]"))return e;throw new Error("Wrong request structure for NodeRequest.parseAttachmentType")};static decryptFile=e=>{if(i(e)&&s(e,"keys","PrvKeyInfo[]")&&s(e,"msgPwd","string?"))return e;throw new Error("Wrong request structure for NodeRequest.decryptFile")};static zxcvbnStrengthBar=e=>{if(i(e)&&s(e,"guesses","number")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;if(i(e)&&s(e,"value","string")&&s(e,"purpose","string")&&"passphrase"===e.purpose)return e;throw new Error("Wrong request structure for NodeRequest.zxcvbnStrengthBar")};static isEmailValid=e=>{if(i(e)&&s(e,"email","string"))return e;throw new Error("Wrong request structure for NodeRequest.isEmailValid")};static decryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrases","string[]"))return e;throw new Error("Wrong request structure for NodeRequest.decryptKey")};static encryptKey=e=>{if(i(e)&&s(e,"armored","string")&&s(e,"passphrase","string"))return e;throw new Error("Wrong request structure for NodeRequest.encryptKey")};static verifyKey=e=>{if(i(e)&&s(e,"armored","string"))return e;throw new Error("Wrong request structure for NodeRequest.verifyKey")}};const i=e=>!!e&&"object"==typeof e,s=(e,t,r)=>{if(!i(e))return!1;const n=e[t];return"number"===r||"string"===r?typeof n===r:"boolean?"===r?"boolean"==typeof n||void 0===n:"string?"===r?null===n?(e[t]=void 0,!0):"string"==typeof n||void 0===n:"ComposeAttachment[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"type","string")&&s(e,"base64","string")).length===n.length:"Attachment[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"id","string")&&s(e,"msgId","string")&&s(e,"name","string")&&s(e,"type","string?")).length===n.length:"string[]"===r?Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"string[]?"===r?void 0===n||Array.isArray(n)&&n.filter(e=>"string"==typeof e).length===n.length:"PrvKeyInfo?"===r?null===n?(e[t]=void 0,!0):void 0===n||s(n,"private","string")&&s(n,"longid","string")&&s(n,"passphrase","string?"):"PrvKeyInfo[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"private","string")&&s(e,"longid","string")&&s(e,"passphrase","string?")).length===n.length:"Userid[]"===r?Array.isArray(n)&&n.filter(e=>s(e,"name","string")&&s(e,"email","string")).length===n.length:"object"===r&&i(n)};t.readArmoredKeyOrThrow=async e=>{const t=await(0,n.readKey)({armoredKey:e});if(!t)throw new Error("No key found");return t}},7659(e,t){"use strict";t.Catch=void 0,t.Catch=class{static reportErr=e=>{console.error(e)};static report=(e,t)=>{console.error(e,t)};static undefinedOnException=async e=>{try{return await e}catch(e){return}}}},3955(e,t,r){"use strict";var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),a=0;a"not node"===(globalThis.process?.release?.name||"not node")?(await Promise.resolve().then(()=>a(r(9275)))).readToEnd:r(1558).readToEnd,t.requireMimeParser=()=>r.g["emailjs-mime-parser"],t.requireMimeBuilder=()=>r.g["emailjs-mime-builder"],t.requireIso88592=()=>r.g.iso88592},3313(e,t,r){"use strict";t.Store=void 0;const n=r(178);let i,s={};class a{static decryptedKeyCacheSet=e=>{a.keyCacheRenewExpiry(),s[(e=>(0,n.strToHex)(e.getKeyID().bytes).toUpperCase())(e)]=e};static decryptedKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static armoredKeyCacheSet=(e,t)=>{a.keyCacheRenewExpiry(),s[e]=t};static armoredKeyCacheGet=e=>(a.keyCacheRenewExpiry(),s[e]);static keyCacheWipe=()=>{s={}};static keyCacheRenewExpiry=()=>{i&&clearTimeout(i),i=setTimeout(a.keyCacheWipe,12e4)}}t.Store=a},178(e,t,r){"use strict";var n=r(8969);t.getKeyExpirationTimeForCapabilities=t.strToHex=t.iso2022jpToUtf=t.base64decode=t.base64encode=void 0;const i=r(8287);t.base64encode=e=>i.Buffer.from(e,"binary").toString("base64"),t.base64decode=e=>i.Buffer.from(e,"base64").toString("binary"),t.iso2022jpToUtf=e=>n.convert(e,{to:"UTF8",from:"JIS",type:"string"}),t.strToHex=e=>{if(null===e)return"";const t=[],r=e.length;let n,i=0;for(;i{let t=null;for(const r of e)(null===t||null!==r&&r>t)&&(t=r);return t},a=e=>{const t=s(e.bindingSignatures.map(e=>e.created));return e.bindingSignatures.filter(e=>e.created===t)[0].getExpirationTime()};t.getKeyExpirationTimeForCapabilities=async(e,t,r,n)=>{const i=await e.getPrimaryUser(void 0,n,void 0);if(!i)throw new Error("Could not find primary user");const o=await e.getExpirationTime(n);if(!o)return null;const c=s(i.user.selfCertifications.map(e=>e.created)),l=i.user.selfCertifications.filter(e=>e.created===c)[0].getExpirationTime();let u=o{})||await e.getEncryptionKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{})||await e.getSigningKey(r,null,n).catch(()=>{});if(!t)return null;const i="bindingSignatures"in t?a(t):await t.getExpirationTime(n)??0;i{const t=`IMG_ICON_${i.Str.sloppyRandom()}`;let r=!1,a=n(e,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,n)=>{const i=(n.src||"").substring(0,10);return i.startsWith("data:")?{tagName:"img",attribs:{src:n.src,alt:n.alt||""}}:i.startsWith("http://")||i.startsWith("https://")?(r=!0,{tagName:"a",attribs:{href:String(n.src),target:"_blank"},text:t}):{tagName:"img",attribs:{alt:n.alt,title:n.title},text:"[img]"}},"*":(e,t)=>(t.width&&"1"!==t.width&&"img"!==e&&delete t.width,t.height&&"1"!==t.height&&"img"!==e&&delete t.width,{tagName:e,attribs:t})},exclusiveFilter:({tag:e,attribs:t})=>"1"===t.width||"1"===t.height&&"hr"!==e});return r&&(a=`[remote content blocked for your privacy]

${a}`,a=n(a,{allowedTags:s.ALLOWED_BASIC_TAGS,allowedAttributes:s.ALLOWED_ATTRS,allowedSchemes:s.ALLOWED_SCHEMES,allowedStyles:s.ALLOWED_STYLES})),a=a.replace(new RegExp(t,"g"),'[img]'),a};static htmlSanitizeAndStripAllTags=(e,t)=>{let r=s.htmlSanitizeKeepBasicTags(e);const a=i.Str.sloppyRandom(5),o=`CU_BR_${a}`,c=`CU_BS_${a}`,l=`CU_BE_${a}`;r=r.replace(/]*>/gi,o),r=r.replace(/\n/g,""),r=r.replace(/<\/(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,l),r=r.replace(/<(p|h1|h2|h3|h4|h5|h6|ol|ul|pre|address|blockquote|dl|div|fieldset|form|hr|table)[^>]*>/gi,c),r=r.replace(RegExp(`(${c})+`,"g"),c).replace(RegExp(`(${l})+`,"g"),l),r=r.split(o+l+c).join(o).split(l+c).join(o).split(o+l).join(o);let u=r.split(o).join("\n").split(c).filter(e=>!!e).join("\n").split(l).filter(e=>!!e).join("\n");return u=u.replace(/\n{2,}/g,"\n\n"),u=n(u,{allowedTags:["img","span"],allowedAttributes:{img:["src"]},allowedSchemes:s.ALLOWED_SCHEMES,transformTags:{img:(e,t)=>({tagName:"span",attribs:{},text:`[image: ${t.alt||t.title||"no name"}]`})}}),u=n(u,{allowedTags:[]}),u=u.trim(),"\n"!==t&&(u=u.replace(/\n/g,t)),u};static escape=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/");static escapeTextAsRenderableHtml=e=>s.escape(e).replace(/\n/g,"
\n").replace(/^ +/gm,e=>e.replace(/ /g," ")).replace(/^\t+/gm,e=>e.replace(/\t/g," ")).replace(/\n/g,"");static htmlUnescape=e=>e.replace(///g,"/").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ").replace(/&/g,"&")}t.Xss=s},7526(e,t){"use strict";t.toByteArray=function(e){var t,r,s=function(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}(e),a=s[0],o=s[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),l=0,u=o>0?a-4:a;for(r=0;r>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===o&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===o&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],a=16383,o=0,l=n-i;ol?l:o+a));return 1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),s.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=s[a],n[s.charCodeAt(a)]=a;function o(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function c(e,t,r){for(var n,i=[],s=t;sa)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|p(e,t);let n=o(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(_(e,Uint8Array)){const t=new Uint8Array(e);return A(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(_(e,ArrayBuffer)||e&&_(e.buffer,ArrayBuffer))return A(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(_(e,SharedArrayBuffer)||e&&_(e.buffer,SharedArrayBuffer)))return A(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|d(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||V(e.length)?o(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),o(e<0?0:0|d(e))}function f(e){const t=e.length<0?0:0|d(e.length),r=o(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||_(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Z(e).length;default:if(i)return n?-1:J(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return K(this,t,r);case"utf8":case"utf-8":return C(this,t,r);case"ascii":return D(this,t,r);case"latin1":case"binary":return x(this,t,r);case"base64":return B(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:w(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):w(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function w(e,t,r,n,i){let s,a=1,o=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,c/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(s=r;so&&(r=o-c),s=r;s>=0;s--){let r=!0;for(let n=0;ni&&(n=i):n=i;const s=t.length;let a;for(n>s/2&&(n=s/2),a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function B(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function C(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,o,c;switch(a){case 1:t<128&&(s=t);break;case 2:r=e[i+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(s=c));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(s=c));break;case 4:r=e[i+1],n=e[i+2],o=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&o)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&o,c>65535&&c<1114112&&(s=c))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return function(e){const t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(_(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let s=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const o=Math.min(s,a),l=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":case"latin1":case"binary":return E(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const S=4096;function D(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,r,n,i,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function F(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s,s>>=8,e[r++]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function M(e,t,r,n,i){H(t,n,i,e,r,7);let s=Number(t&BigInt(4294967295));e[r+7]=s,s>>=8,e[r+6]=s,s>>=8,e[r+5]=s,s>>=8,e[r+4]=s;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function R(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Q(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function N(e,t,r,n,s){return t=+t,r>>>=0,s||R(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e],i=1,s=0;for(;++s>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=X(function(e){j(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||P(e,t,this.length);let n=this[e],i=1,s=0;for(;++s=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);let n=t,i=1,s=this[e+--n];for(;n>0&&(i*=256);)s+=this[e+--n]*i;return i*=128,s>=i&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=X(function(e){j(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||W(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=X(function(e,t=0){return F(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=X(function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=0,s=1,a=0;for(this[t]=255&e;++i>>=0,!n){const n=Math.pow(2,8*r-1);T(this,e,t,r,n-1,-n)}let i=r-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s|0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=X(function(e,t=0){return F(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=X(function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeFloatLE=function(e,t,r){return Q(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return Q(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return N(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return N(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function H(e,t,r,n,i,s){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(s+1)}${n}`:`>= -(2${n} ** ${8*(s+1)-1}${n}) and < 2 ** ${8*(s+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new O.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||W(t,e.length-(r+1))}(n,i,s)}function j(e,t){if("number"!=typeof e)throw new O.ERR_INVALID_ARG_TYPE(t,"number",e)}function W(e,t,r){if(Math.floor(e)!==e)throw j(e,r),new O.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new O.ERR_BUFFER_OUT_OF_BOUNDS;throw new O.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}L("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),L("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),L("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=G(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=G(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function J(e,t){let r;t=t||1/0;const n=e.length;let i=null;const s=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function Z(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function _(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}const z=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function X(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},4353(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",i="minute",s="hour",a="day",o="week",c="month",l="quarter",u="year",h="date",f="Invalid Date",A=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},y={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),i=r%60;return(t<=0?"+":"-")+g(n,2,"0")+":"+g(i,2,"0")},m:function e(t,r){if(t.date()1)return e(a[0])}else{var o=t.name;w[o]=t,i=o}return!n&&i&&(m=i),i||!n&&m},k=function(e,t){if(v(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new B(r)},I=y;I.l=E,I.i=v,I.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var B=function(){function p(e){this.$L=E(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[b]=!0}var g=p.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(I.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(A);if(n){var i=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return I},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(e,t){var r=k(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return k(e)");case o.Comment:return"\x3c!--".concat(e.data,"--\x3e");case o.CDATA:return function(e){return"")}(e);case o.Script:case o.Style:case o.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=l.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&p.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<".concat(e.name),s=function(e,t){var r;if(e){var n=!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)?h:t.xmlMode||"utf8"!==t.encodeEntities?c.encodeXML:c.escapeAttribute;return Object.keys(e).map(function(r){var i,s,a=null!==(i=e[r])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(r=null!==(s=l.attributeNames.get(r))&&void 0!==s?s:r),t.emptyAttrs||t.xmlMode||""!==a?"".concat(r,'="').concat(n(a),'"'):r}).join(" ")}}(e.attribs,t);return s&&(i+=" ".concat(s)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&f.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=A(e.children,t)),!t.xmlMode&&f.has(e.name)||(i+=""))),i}(e,t);case o.Text:return function(e,t){var r,n=e.data||"";return!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)||!t.xmlMode&&e.parent&&u.has(e.parent.name)||(n=t.xmlMode||"utf8"!==t.encodeEntities?(0,c.encodeXML)(n):(0,c.escapeText)(n)),n}(e,t)}}t.render=A,t.default=A;var p=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},6243(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTMLAttribute=t.decodeHTML=t.determineBranch=t.EntityDecoder=t.DecodingMode=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var o=a(r(2834));t.htmlDecodeTree=o.default;var c=a(r(1518));t.xmlDecodeTree=c.default;var l=s(r(8873));t.decodeCodePoint=l.default;var u,h,f,A,d=r(8873);function p(e){return e>=u.ZERO&&e<=u.NINE}function g(e){return e>=u.UPPER_A&&e<=u.UPPER_F||e>=u.LOWER_A&&e<=u.LOWER_F}function y(e){return e===u.EQUALS||function(e){return e>=u.UPPER_A&&e<=u.UPPER_Z||e>=u.LOWER_A&&e<=u.LOWER_Z||p(e)}(e)}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return d.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return d.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(u||(u={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(h=t.BinTrieFlags||(t.BinTrieFlags={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(f||(f={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(A=t.DecodingMode||(t.DecodingMode={}));var m=function(){function e(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=f.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=A.Strict}return e.prototype.startEntity=function(e){this.decodeMode=e,this.state=f.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},e.prototype.write=function(e,t){switch(this.state){case f.EntityStart:return e.charCodeAt(t)===u.NUM?(this.state=f.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=f.NamedEntity,this.stateNamedEntity(e,t));case f.NumericStart:return this.stateNumericStart(e,t);case f.NumericDecimal:return this.stateNumericDecimal(e,t);case f.NumericHex:return this.stateNumericHex(e,t);case f.NamedEntity:return this.stateNamedEntity(e,t)}},e.prototype.stateNumericStart=function(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===u.LOWER_X?(this.state=f.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=f.NumericDecimal,this.stateNumericDecimal(e,t))},e.prototype.addToNumericResult=function(e,t,r,n){if(t!==r){var i=r-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}},e.prototype.stateNumericHex=function(e,t){for(var r=t;t>14;t>14)){if(s===u.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==A.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},e.prototype.emitNotTerminatedNamedEntity=function(){var e,t=this.result,r=(this.decodeTree[t]&h.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed},e.prototype.emitNamedEntityData=function(e,t,r){var n=this.decodeTree;return this.emitCodePoint(1===t?n[e]&~h.VALUE_LENGTH:n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r},e.prototype.end=function(){var e;switch(this.state){case f.NamedEntity:return 0===this.result||this.decodeMode===A.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case f.NumericDecimal:return this.emitNumericEntity(0,2);case f.NumericHex:return this.emitNumericEntity(0,3);case f.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case f.EntityStart:return 0}},e}();function w(e){var t="",r=new m(e,function(e){return t+=(0,l.fromCodePoint)(e)});return function(e,n){for(var i=0,s=0;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);var a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}var o=t+e.slice(i);return t="",o}}function b(e,t,r,n){var i=(t&h.BRANCH_LENGTH)>>7,s=t&h.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){var a=n-s;return a<0||a>=i?-1:e[r+a]-1}for(var o=r,c=o+i-1;o<=c;){var l=o+c>>>1,u=e[l];if(un))return e[l+i];c=l-1}}return-1}t.EntityDecoder=m,t.determineBranch=b;var v=w(o.default),E=w(c.default);t.decodeHTML=function(e,t){return void 0===t&&(t=A.Legacy),v(e,t)},t.decodeHTMLAttribute=function(e){return v(e,A.Attribute)},t.decodeHTMLStrict=function(e){return v(e,A.Strict)},t.decodeXML=function(e){return E(e,A.Strict)}},8873(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}},6095(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var i=n(r(7195)),s=r(3590),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function o(e,t){for(var r,n="",a=0;null!==(r=e.exec(t));){var o=r.index;n+=t.substring(a,o);var c=t.charCodeAt(o),l=i.default.get(c);if("object"==typeof l){if(o+1$\x80-\uFFFF]/g;var r=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function n(e){for(var n,i="",s=0;null!==(n=t.xmlReplacer.exec(e));){var a=n.index,o=e.charCodeAt(a),c=r.get(o);void 0!==c?(i+=e.substring(s,a)+c,s=a+1):(i+="".concat(e.substring(s,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),s=t.xmlReplacer.lastIndex+=Number(55296==(64512&o)))}return i+e.substr(s)}function i(e,t){return function(r){for(var n,i=0,s="";n=e.exec(r);)i!==n.index&&(s+=r.substring(i,n.index)),s+=t.get(n[0].charCodeAt(0)),i=n.index+1;return s+r.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=n,t.escape=n,t.escapeUTF8=i(/[&<>'"]/g,r),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},2834(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(function(e){return e.charCodeAt(0)}))},1518(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function(e){return e.charCodeAt(0)}))},7195(e,t){"use strict";function r(e){for(var t=1;t0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(o);t.NodeWithChildren=f;var A=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(f);t.CDATA=A;var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(f);t.Document=d;var p=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var s=e.call(this,n)||this;return s.name=t,s.attribs=r,s.type=i,s}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map(function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}})},enumerable:!1,configurable:!0}),t}(f);function g(e){return(0,a.isTag)(e)}function y(e){return e.type===a.ElementType.CDATA}function m(e){return e.type===a.ElementType.Text}function w(e){return e.type===a.ElementType.Comment}function b(e){return e.type===a.ElementType.Directive}function v(e){return e.type===a.ElementType.Root}function E(e,t){var r;if(void 0===t&&(t=!1),m(e))r=new l(e.data);else if(w(e))r=new u(e.data);else if(g(e)){var n=t?k(e.children):[],i=new p(e.name,s({},e.attribs),n);n.forEach(function(e){return e.parent=i}),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=s({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=s({},e["x-attribsPrefix"])),r=i}else if(y(e)){n=t?k(e.children):[];var a=new A(n);n.forEach(function(e){return e.parent=a}),r=a}else if(v(e)){n=t?k(e.children):[];var o=new d(n);n.forEach(function(e){return e.parent=o}),e["x-mode"]&&(o["x-mode"]=e["x-mode"]),r=o}else{if(!b(e))throw new Error("Not implemented yet: ".concat(e.type));var c=new h(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function k(e){for(var t=e.map(function(e){return E(e,!0)}),r=1;r=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=s,t.uniqueSort=function(e){return(e=e.filter(function(e,t,r){return!r.includes(e,t+1)})).sort(function(e,t){var r=s(e,t);return r&n.PRECEDING?-1:r&n.FOLLOWING?1:0}),e};var n,i=r(1141);function s(e,t){var r=[],s=[];if(e===t)return 0;for(var a=(0,i.hasChildren)(e)?e:e.parent;a;)r.unshift(a),a=a.parent;for(a=(0,i.hasChildren)(t)?t:t.parent;a;)s.unshift(a),a=a.parent;for(var o=Math.min(r.length,s.length),c=0;cu.indexOf(f)?l===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:l===e?n.PRECEDING|n.CONTAINS:n.PRECEDING}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(n||(t.DocumentPosition=n={}))},8888(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(6037),t),i(r(8938),t),i(r(3403),t),i(r(718),t),i(r(3209),t),i(r(5397),t),i(r(4437),t);var s=r(1141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return s.hasChildren}})},3209(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var s=c(e);return s?(0,i.filter)(s,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_name(e),t,r,n)},t.getElementsByClassName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(a("class",e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_type(e),t,r,n)};var n=r(1141),i=r(718),s={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map(function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(s,t)?s[t](r):a(t,r)});return 0===t.length?null:t.reduce(o)}},3403(e,t){"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}Object.defineProperty(t,"__esModule",{value:!0}),t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var s=i.children;s[s.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var s=n.children;s.splice(s.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},718(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),i(e,Array.isArray(t)?t:[t],r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var s=Array.isArray(r)?r:[r],a=0;a0){var c=e(t,o.children,!0);if(c)return c}}return null},t.existsOne=function e(t,r){return(Array.isArray(r)?r:[r]).some(function(r){return(0,n.isTag)(r)&&t(r)||(0,n.hasChildren)(r)&&e(t,r.children)})},t.findAll=function(e,t){for(var r=[],i=[Array.isArray(t)?t:[t]],s=[0];;)if(s[0]>=i[0].length){if(1===i.length)return r;i.shift(),s.shift()}else{var a=i[0][s[0]++];(0,n.isTag)(a)&&e(a)&&r.push(a),(0,n.hasChildren)(a)&&a.children.length>0&&(s.unshift(0),i.unshift(a.children))}};var n=r(1141);function i(e,t,r,i){for(var s=[],a=[Array.isArray(t)?t:[t]],o=[0];;)if(o[0]>=a[0].length){if(1===o.length)return s;a.shift(),o.shift()}else{var c=a[0][o[0]++];if(e(c)&&(s.push(c),--i<=0))return s;r&&(0,n.hasChildren)(c)&&c.children.length>0&&(o.unshift(0),a.unshift(c.children))}}},6037(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getOuterHTML=o,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map(function(e){return o(e,t)}).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""};var i=r(1141),s=n(r(3806)),a=r(5413);function o(e,t){return(0,s.default)(e,t)}},8938(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getChildren=i,t.getParent=s,t.getSiblings=function(e){var t=s(e);if(null!=t)return i(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t};var n=r(1141);function i(e){return(0,n.hasChildren)(e)?e.children:[]}function s(e){return e.parent||null}},1371(e,t,r){var n=r(321),i=r(2801);t.FALLBACK_CHARACTER=63;var s=t.HAS_TYPED="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array,a=!1,o=!1;try{"a"===String.fromCharCode.apply(null,[97])&&(a=!0)}catch(e){}if(s)try{"a"===String.fromCharCode.apply(null,new Uint8Array([97]))&&(o=!0)}catch(e){}t.CAN_CHARCODE_APPLY=a,t.CAN_CHARCODE_APPLY_TYPED=o,t.APPLY_BUFFER_SIZE=65533,t.APPLY_BUFFER_SIZE_OK=null;var c=t.EncodingNames={UTF32:{order:0},UTF32BE:{alias:["UCS4"]},UTF32LE:null,UTF16:{order:1},UTF16BE:{alias:["UCS2"]},UTF16LE:null,BINARY:{order:2},ASCII:{order:3,alias:["ISO646","CP367"]},JIS:{order:4,alias:["ISO2022JP"]},UTF8:{order:5},EUCJP:{order:6},SJIS:{order:7,alias:["CP932","MSKANJI","WINDOWS31J"]},UNICODE:{order:8}},l={};t.EncodingAliases=l,t.EncodingOrders=function(){for(var e,t,r,i,s=l,a=n.objectKeys(c),o=[],u=0,h=a.length;u95&&(i.JIS_TO_UTF8_TABLE[t]=0|e);for(i.JISX0212_TO_UTF8_TABLE={},a=(r=n.objectKeys(i.UTF8_TO_JISX0212_TABLE)).length,s=0;s=161&&t<=223?(s=188|(i=t-64)>>6&3,o=128|63&i,u[u.length]=239,u[u.length]=255&s,u[u.length]=255&o):t>=128?(r=t<<1,(i=e[++h])<159?(r-=r<319?225:97,i-=i>126?32:31):(r-=r<319?224:96,i-=126),c=((r&=255)<<8)+i,void 0===(l=a.JIS_TO_UTF8_TABLE[c])?u[u.length]=n.FALLBACK_CHARACTER:l<65535?(u[u.length]=l>>8&255,u[u.length]=255&l):(u[u.length]=l>>16&255,u[u.length]=l>>8&255,u[u.length]=255&l)):u[u.length]=255&e[h];return u}function c(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c,l=[],u=0,h=e&&e.length;u>6&3,s=128|63&r,l[l.length]=239,l[l.length]=255&i,l[l.length]=255&s):143===t?(o=(e[++u]-128<<8)+(e[++u]-128),void 0===(c=a.JISX0212_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):t>=128?(o=(t-128<<8)+(e[++u]-128),void 0===(c=a.JIS_TO_UTF8_TABLE[o])?l[l.length]=n.FALLBACK_CHARACTER:c<65535?(l[l.length]=c>>8&255,l[l.length]=255&c):(l[l.length]=c>>16&255,l[l.length]=c>>8&255,l[l.length]=255&c)):l[l.length]=255&e[u];return l}function l(e){n.init_JIS_TO_UTF8_TABLE();for(var t,r,i,s,o,c=[],l=0,u=0,h=e&&e.length;u>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):2===l?(r=188|(t=e[u]+64)>>6&3,i=128|63&t,c[c.length]=239,c[c.length]=255&r,c[c.length]=255&i):3===l?(s=(e[u]<<8)+e[++u],void 0===(o=a.JISX0212_TO_UTF8_TABLE[s])?c[c.length]=n.FALLBACK_CHARACTER:o<65535?(c[c.length]=o>>8&255,c[c.length]=255&o):(c[c.length]=o>>16&255,c[c.length]=o>>8&255,c[c.length]=255&o)):c[c.length]=255&e[u]}return c}function u(e,t){for(var r,i,s,o,c,l,u=[],h=0,f=e&&e.length,A=t&&t.fallback;h=128?(r<=223?(o=[r,e[h+1]],c=(r<<8)+e[++h]):r<=239?(o=[r,e[h+1],e[h+2]],c=(r<<16)+(e[++h]<<8)+(255&e[++h])):(o=[r,e[h+1],e[h+2],e[h+3]],c=(r<<24)+(e[++h]<<16)+(e[++h]<<8)+(255&e[++h])),null==(l=a.UTF8_TO_JIS_TABLE[c])?A?D(u,o,A):u[u.length]=n.FALLBACK_CHARACTER:l<255?u[u.length]=l+128:(l>65536&&(l-=65536),s=255&l,1&(i=l>>8)?((i>>=1)<47?i+=113:i-=79,s+=s>95?32:31):((i>>=1)<=47?i+=112:i-=80,s+=126),u[u.length]=255&i,u[u.length]=255&s)):u[u.length]=255&e[h];return u}function h(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=t&&t.fallback;l=128?(r<=223?(i=[r,e[l+1]],s=(r<<8)+e[++l]):r<=239?(i=[r,e[l+1],e[l+2]],s=(r<<16)+(e[++l]<<8)+(255&e[++l])):(i=[r,e[l+1],e[l+2],e[l+3]],s=(r<<24)+(e[++l]<<16)+(e[++l]<<8)+(255&e[++l])),null==(o=a.UTF8_TO_JIS_TABLE[s])?null==(o=a.UTF8_TO_JISX0212_TABLE[s])?h?D(c,i,h):c[c.length]=n.FALLBACK_CHARACTER:(c[c.length]=143,c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255):(o>65536&&(o-=65536),o<255?(c[c.length]=142,c[c.length]=o-128&255):(c[c.length]=(o>>8)-128&255,c[c.length]=(255&o)-128&255))):c[c.length]=255&e[l];return c}function f(e,t){for(var r,i,s,o,c=[],l=0,u=e&&e.length,h=0,f=t&&t.fallback,A=[27,40,66,27,36,66,27,40,73,27,36,40,68];h>8&255,c[c.length]=255&o):(o>65536&&(o-=65536),o<255?(2!==l&&(l=2,c[c.length]=A[6],c[c.length]=A[7],c[c.length]=A[8]),c[c.length]=255&o):(1!==l&&(l=1,c[c.length]=A[3],c[c.length]=A[4],c[c.length]=A[5]),c[c.length]=o>>8&255,c[c.length]=255&o)));return 0!==l&&(c[c.length]=A[0],c[c.length]=A[1],c[c.length]=A[2]),c}function A(e){for(var t,r,n=[],i=0,s=e&&e.length;i=55296&&t<=56319&&i+1=56320&&r<=57343&&(t=1024*(t-55296)+r-56320+65536,i++),t<128?n[n.length]=t:t<2048?(n[n.length]=192|t>>6&31,n[n.length]=128|63&t):t<65536?(n[n.length]=224|t>>12&15,n[n.length]=128|t>>6&63,n[n.length]=128|63&t):t<2097152&&(n[n.length]=240|t>>18&15,n[n.length]=128|t>>12&63,n[n.length]=128|t>>6&63,n[n.length]=128|63&t);return n}function d(e,t){for(var r,n,i,s=[],a=0,o=e&&e.length,c=t&&t.ignoreSurrogatePair;a>4)>=0&&r<=7?i=n:12===r||13===r?i=(31&n)<<6|63&e[a++]:14===r?i=(15&n)<<12|(63&e[a++])<<6|63&e[a++]:15===r&&(i=(7&n)<<18|(63&e[a++])<<12|(63&e[a++])<<6|63&e[a++]),i<=65535||c?s[s.length]=i:(i-=65536,s[s.length]=55296+(i>>10),s[s.length]=i%1024+56320);return s}function p(e,t){var r;if(t&&t.bom){var n,s,a=t.bom;i.isString(a)||(a="BE"),"B"===a.charAt(0).toUpperCase()?(n=[254,255],s=g(e)):(n=[255,254],s=y(e)),(r=[])[0]=n[0],r[1]=n[1];for(var o=0,c=s.length;o>8&255,r[r.length]=255&t);return r}function y(e){for(var t,r=[],n=0,i=e&&e.length;n>8&255);return r}function m(e){var t,r,n=[],i=0,s=e&&e.length;for(s>=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(i=2);i>=1)<47?t+=113:t-=79,r+=r>95?32:31):((t>>=1)<=47?t+=112:t-=80,r+=126),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=2===s?e[a]+128&255:3===s?n.FALLBACK_CHARACTER:255&e[a]}return i},t.JISToEUCJP=function(e){for(var t=[],r=0,n=e&&e.length,i=0;i=161&&t<=223?(2!==i&&(i=2,n[n.length]=o[6],n[n.length]=o[7],n[n.length]=o[8]),n[n.length]=t-128&255):t>=128?(1!==i&&(i=1,n[n.length]=o[3],n[n.length]=o[4],n[n.length]=o[5]),t<<=1,(r=e[++a])<159?(t-=t<319?225:97,r-=r>126?32:31):(t-=t<319?224:96,r-=126),n[n.length]=255&t,n[n.length]=255&r):(0!==i&&(i=0,n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n[n.length]=255&t);return 0!==i&&(n[n.length]=o[0],n[n.length]=o[1],n[n.length]=o[2]),n},t.SJISToEUCJP=function(e){for(var t,r,n=[],i=e&&e.length,s=0;s=161&&t<=223?(n[n.length]=142,n[n.length]=t):t>=129?(t<<=1,(r=e[++s])<159?(t-=t<319?97:225,r+=r>126?96:97):(t-=t<319?96:224,r+=2),n[n.length]=255&t,n[n.length]=255&r):n[n.length]=255&t;return n},t.EUCJPToJIS=function(e){for(var t,r=[],n=0,i=e&&e.length,s=0,a=[27,40,66,27,36,66,27,40,73,27,36,40,68];s142?(1!==n&&(n=1,r[r.length]=a[3],r[r.length]=a[4],r[r.length]=a[5]),r[r.length]=t-128&255,r[r.length]=e[++s]-128&255):(0!==n&&(n=0,r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r[r.length]=255&t);return 0!==n&&(r[r.length]=a[0],r[r.length]=a[1],r[r.length]=a[2]),r},t.EUCJPToSJIS=function(e){for(var t,r,i=[],s=e&&e.length,a=0;a142?(r=e[++a],1&t?(t>>=1,t+=t<111?49:113,r-=r>223?96:97):(t>>=1,t+=t<=111?48:112,r-=2),i[i.length]=255&t,i[i.length]=255&r):i[i.length]=142===t?255&e[++a]:255&t;return i},t.SJISToUTF8=o,t.EUCJPToUTF8=c,t.JISToUTF8=l,t.UTF8ToSJIS=u,t.UTF8ToEUCJP=h,t.UTF8ToJIS=f,t.UNICODEToUTF8=A,t.UTF8ToUNICODE=d,t.UNICODEToUTF16=p,t.UNICODEToUTF16BE=g,t.UNICODEToUTF16LE=y,t.UTF16BEToUNICODE=m,t.UTF16LEToUNICODE=w,t.UTF16ToUNICODE=b,t.UTF16ToUTF16BE=function(e){for(var t,r,n=[],i=0,a=e&&e.length,o=!1,c=!0;i=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u=2&&(254===e[0]&&255===e[1]||255===e[0]&&254===e[1])&&(u=2),r&&(c[0]=r[0],c[1]=r[1]);u255)return!1;if(t>=0&&t<=7||255===t)return!0}return!1},t.isASCII=function(e){for(var t,r=0,n=e&&e.length;r255||t>=128&&t<=255||27===t)return!1;return!0},t.isJIS=function(e){for(var t,r,n,i=0,s=e&&e.length;i255||t>=128&&t<=255)return!1;if(27===t){if(i+2>=s)return!1;if(r=e[i+1],n=e[i+2],36===r){if(40===n||64===n||66===n)return!0}else{if(38===r&&64===n)return!0;if(40===r&&(66===n||73===n||74===n))return!0}}}return!1},t.isEUCJP=function(e){for(var t,r=0,n=e&&e.length;r255||t<142)return!1;if(142===t){if(r+1>=n)return!1;if((t=e[++r])<161||223=n)return!1;if((t=e[++r])<162||237=n)return!1;if((t=e[++r])<161||254128;)if(e[r++]>255)return!1;for(;r239||r+1>=n)return!1;if((t=e[++r])<64||127===t||t>252)return!1}return!0},t.isUTF8=function(e){for(var t,r=0,n=e&&e.length;r255)return!1;if(!(9===t||10===t||13===t||t>=32&&t<=126))if(t>=194&&t<=223){if(r+1>=n||e[r+1]<128||e[r+1]>191)return!1;r++}else if(224===t){if(r+2>=n||e[r+1]<160||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(t>=225&&t<=236||238===t||239===t){if(r+2>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(237===t){if(r+2>=n||e[r+1]<128||e[r+1]>159||e[r+2]<128||e[r+2]>191)return!1;r+=2}else if(240===t){if(r+3>=n||e[r+1]<144||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else if(t>=241&&t<=243){if(r+3>=n||e[r+1]<128||e[r+1]>191||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}else{if(244!==t)return!1;if(r+3>=n||e[r+1]<128||e[r+1]>143||e[r+2]<128||e[r+2]>191||e[r+3]<128||e[r+3]>191)return!1;r+=3}}return!0},t.isUTF16=function(e){var t,r,n,i,s=0,a=e&&e.length,o=null;if(a<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;if(254===t&&255===r)return!0;for(;s255)return!1}if(null===o)return!1;if(void 0!==(n=e[o+1])&&n>0&&n<128)return!0;if(void 0!==(i=e[o-1])&&i>0&&i<128)return!0}return!1},t.isUTF16BE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],254===t&&255===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2==0)return!0}return!1},t.isUTF16LE=function(e){var t,r,n=0,i=e&&e.length,s=null;if(i<2){if(e[0]>255)return!1}else{if(t=e[0],r=e[1],255===t&&254===r)return!0;for(;n255)return!1}if(null===s)return!1;if(s%2!=0)return!0}return!1},t.isUTF32=function(e){var t,r,n,i,s,a,o=0,c=e&&e.length,l=null;if(c<4){for(;o255)return!1}else{if(t=e[0],r=e[1],n=e[2],i=e[3],0===t&&0===r&&254===n&&255===i)return!0;if(255===t&&254===r&&0===n&&0===i)return!0;for(;o255)return!1}if(null===l)return!1;if(void 0!==(s=e[l+3])&&s>0&&s<=127)return 0===e[l+2]&&0===e[l+1];if(void 0!==(a=e[l-1])&&a>0&&a<=127)return 0===e[l+1]&&0===e[l+2]}return!1},t.isUNICODE=function(e){for(var t,r=0,n=e&&e.length;r1114111)return!1;return!0}},2801(e,t,r){t.UTF8_TO_JIS_TABLE=r(4992),t.UTF8_TO_JISX0212_TABLE=r(909),t.JIS_TO_UTF8_TABLE=r(5748),t.JISX0212_TO_UTF8_TABLE=r(7921)},8969(e,t,r){var n=r(1371),i=r(321),s=r(1742),a=r(5210),o=r(3880),c=r(6171).rE,l=Object.prototype.hasOwnProperty,u={version:c,orders:n.EncodingOrders,detect:function(e,t){if(null==e||0===e.length)return!1;i.isObject(t)&&!i.isArray(t)&&(t=t.encoding),i.isString(e)&&(e=i.stringToBuffer(e)),null==t?t=u.orders:i.isString(t)&&(t="AUTO"===(t=t.toUpperCase())?u.orders:~t.indexOf(",")?t.split(/\s*,\s*/):[t]);for(var r,n,a,o=t.length,c=0;c255)return encodeURIComponent(i.codeToString_fast(e));t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||33===t||t>=39&&t<=42||45===t||46===t||95===t||126===t?n[n.length]=t:(n[n.length]=37,t<16?(n[n.length]=48,n[n.length]=r[t]):(n[n.length]=r[t>>4&15],n[n.length]=r[15&t]))}return i.codeToString_fast(n)},urlDecode:function(e){for(var t,r=[],n=0,i=e&&e.length;n=65281&&r<=65374&&(r-=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toZenkakuCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=33&&r<=126&&(r+=65248),n[n.length]=r;return t?i.codeToString_fast(n):n},toHiraganaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12449&&r<=12534?r-=96:12535===r?(n[n.length]=12431,r=12443):12538===r&&(n[n.length]=12434,r=12443),n[n.length]=r;return t?i.codeToString_fast(n):n},toKatakanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));for(var r,n=[],s=e&&e.length,a=0;a=12353&&r<=12438&&((12431===r||12434===r)&&a=12289&&r<=12540&&void 0!==(s=o.HANKANA_TABLE[r])?a[a.length]=s:12532===r||12535===r||12538===r?(a[a.length]=o.HANKANA_SONANTS[r],a[a.length]=65438):r>=12459&&r<=12489?(a[a.length]=o.HANKANA_TABLE[r-1],a[a.length]=65438):r>=12495&&r<=12509?(n=r%3,a[a.length]=o.HANKANA_TABLE[r-n],a[a.length]=o.HANKANA_MARKS[n-1]):a[a.length]=r;return t?i.codeToString_fast(a):a},toZenkanaCase:function(e){var t=!1;i.isString(e)&&(t=!0,e=i.stringToBuffer(e));var r,n,s,a=[],c=e&&e.length,l=0;for(l=0;l65376&&r<65440&&(n=o.ZENKANA_TABLE[r-65377],l+165397&&r<65413||r>65417&&r<65423)?(n++,l++):65439===s&&r>65417&&r<65423&&(n+=2,l++)),r=n),a[a.length]=r;return t?i.codeToString_fast(a):a},toHankakuSpace:function(e){if(i.isString(e))return e.replace(/\u3000/g," ");for(var t,r=[],n=e&&e.length,s=0;sn.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0),r}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}}return d(e)}function d(e){for(var t,r="",s=e&&e.length,a=0;an.APPLY_BUFFER_SIZE&&(n.APPLY_BUFFER_SIZE_OK=!0);continue}catch(e){n.APPLY_BUFFER_SIZE_OK=!1}return p(e)}r+=i.apply(null,t)}return r}function p(e){for(var t="",r=e&&e.length,n=0;n>2],t[t.length]=g[(3&i)<<4],t[t.length]=m,t[t.length]=m;break}if(s=e[r++],r==n){t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2],t[t.length]=m;break}a=e[r++],t[t.length]=g[i>>2],t[t.length]=g[(3&i)<<4|(240&s)>>4],t[t.length]=g[(15&s)<<2|(192&a)>>6],t[t.length]=g[63&a]}return A(t)},t.base64decode=function(e){var t,r,n,i,s,a,o;for(a=e&&e.length,s=0,o=[];s>4;do{if(61==(n=255&e.charCodeAt(s++)))return o;n=y[n]}while(s>2;do{if(61==(i=255&e.charCodeAt(s++)))return o;i=y[i]}while(s>1,u=-7,h=r?i-1:0,f=r?-1:1,A=e[t+h];for(h+=f,s=A&(1<<-u)-1,A>>=-u,u+=o;u>0;s=256*s+e[t+h],h+=f,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=f,u-=8);if(0===s)s=1-l;else{if(s===c)return a?NaN:1/0*(A?-1:1);a+=Math.pow(2,n),s-=l}return(A?-1:1)*a*Math.pow(2,s-n)},t.write=function(e,t,r,n,i,s){var a,o,c,l=8*s-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:s-1,d=n?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(a++,c/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*c-1)*Math.pow(2,i),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+A]=255&o,A+=d,o/=256,i-=8);for(a=a<0;e[r+A]=255&a,A+=d,a/=256,l-=8);e[r+A-d]|=128*p}},8682(e,t){"use strict";function r(e){return"[object Object]"===Object.prototype.toString.call(e)}t.isPlainObject=function(e){var t,n;return!1!==r(e)&&(void 0===(t=e.constructor)||!1!==r(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}},3624(e,t,r){const n=r(4353);function i(e){for(e=e.replace(/[\x00-\x20]+/g,"");;){const t=e.indexOf("\x3c!--");if(-1===t)break;const r=e.indexOf("--\x3e",t+4);if(-1===r)break;e=e.substring(0,t)+e.substring(r+3)}return e}function s(e,t){const r=(t=t||{}).allowedSchemes||["http","https","ftp","mailto","tel","sms"],n=!1!==t.allowProtocolRelative;if("string"!=typeof e)return!1;const s=(e=i(e)).match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!s)return!!e.match(/^[/\\]{2}/)&&!n;const a=s[1].toLowerCase();return-1===r.indexOf(a)}e.exports=function(e){const t={};return t.options=e||{},t.filterTag=t.options.filterTag||function(e){return(e=e.trim()).toLowerCase()},t.string=function(e,t){return"string"!=typeof e&&("number"==typeof e||"boolean"==typeof e?e+="":e=""),e=e.trim(),void 0!==t&&""===e&&(e=t),e},t.strings=function(e){return Array.isArray(e)?e.map(function(e){return t.string(e)}):[]},t.integer=function(e,t,r,n){if(void 0===t&&(t=0),"number"==typeof e)e=Math.floor(e);else try{e=parseInt(e,10),isNaN(e)&&(e=t)}catch(r){e=t}return"number"==typeof r&&en&&(e=n),e},t.padInteger=function(e,t){let r=e+"";for(;r.lengthn&&(e=n),e},t.naughtyHref=s,t.url=function(e,r,n){return(e=t.string(e,r))===r?e:s(e=i(e))||null===(e=(a=e).match(/^(((https?|ftp):\/\/)|((mailto|tel|sms):)|#|([^/.]+)?\/|[^/.]+$)/)?a:a.match(/^[^/.]+\.[^/.]+/)?(n?"https://":"http://")+a:null)?r:e;var a},t.select=function(e,r,n){if(e=t.string(e),!r||!r.length)return n;let i;return"object"==typeof r[0]?(i=r.find(function(t){return null!==t.value&&void 0!==t.value&&t.value.toString()===e}),null!=i?i.value:n):(i=r.find(function(t){return null!=t&&t.toString()===e}),void 0!==i?i:n)},t.boolean=function(e,r){return!0===e||!1!==e&&((e=t.string(e,r))===r?void 0!==e&&e:""!==(e=e.toLowerCase().charAt(0))&&"n"!==e&&"0"!==e&&"f"!==e&&("t"===e||"y"===e||"1"===e))},t.addBooleanFilterToCriteria=function(e,r,n,i){void 0===i&&(i=null);let s="object"==typeof e&&null!==e?e[r]:e;s=void 0===s?i:s,s=t.booleanOrNull(s),null===s||(n[r]=!!s||{$ne:!0})},t.booleanOrNull=function(e,r){return!0===e||!1===e||null===e?e:(e=t.string(e,r))===r?void 0===r?null:e:"null"===e?null:""!==(e=e.toLowerCase().charAt(0))&&"n"!==e&&"0"!==e&&"f"!==e&&("t"===e||"y"===e||"1"===e||("a"===e?null:r))},t.date=function(e,r,i){let s;function a(){return void 0===r&&(r=n().format("YYYY-MM-DD")),r}if("string"==typeof e){if(e.match(/\//)){if(s=e.split("/"),2===s.length)return(i||new Date).getFullYear()+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2);if(3===s.length){if(s[2]<100){const e=i||new Date,t=e.getFullYear()%100,r=e.getFullYear()-t;let n=parseInt(s[2])+r;n-e.getFullYear()>50&&(n-=100),s[2]=n}return t.padInteger(s[2],4)+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2)}return a()}if(e.match(/-/))return s=e.split("-"),2===s.length?(i||new Date).getFullYear()+"-"+t.padInteger(s[0],2)+"-"+t.padInteger(s[1],2):3===s.length?t.padInteger(s[0],4)+"-"+t.padInteger(s[1],2)+"-"+t.padInteger(s[2],2):a()}try{return null===e?a():(e=i||new Date(e),isNaN(e.getTime())?a():e.getFullYear()+"-"+t.padInteger(e.getMonth()+1,2)+"-"+t.padInteger(e.getDate(),2))}catch(e){return a()}},t.formatDate=function(e){return n(e).format("YYYY-MM-DD")},t.time=function(e,r){const i=(e=(e=t.string(e).toLowerCase()).trim()).match(/^(\d+)([:|.](\d+))?([:|.](\d+))?\s*(am|pm|AM|PM|a|p|A|M)?$/);if(i){let e=parseInt(i[1],10);const r=void 0!==i[3]?parseInt(i[3],10):0,n=void 0!==i[5]?parseInt(i[5],10):0;let s=i[6]?i[6].toLowerCase():i[6];return s=s&&s.charAt(0),12===e&&"a"===s?e-=12:12===e&&"p"===s||"p"===s&&(e+=12),24!==e&&"24"!==e||(e=0),t.padInteger(e,2)+":"+t.padInteger(r,2)+":"+t.padInteger(n,2)}return void 0!==r?r:n().format("HH:mm")},t.formatTime=function(e){return n(e).format("HH:mm:ss")},t.tags=function(e,r){return"string"==typeof e&&(e=e.split(/,\s*/)),Array.isArray(e)?e.map(e=>t.string(e)).map(r||t.filterTag).filter(e=>e.length>0):[]},t.idRegExp=t.options.idRegExp||/^[A-Za-z0-9_]+$/,t.id=function(e,r){const n=t.string(e,r);return n===r||n.match(t.idRegExp)?n:r},t.ids=function(e){return Array.isArray(e)?e.filter(function(e){return void 0!==t.id(e)}):[]},t},e.exports.naughtyHref=s},9466(e,t){var r,n;void 0===(n="function"==typeof(r=function(){return function(e){function t(e){return" "===e||"\t"===e||"\n"===e||"\f"===e||"\r"===e}function r(t){var r,n=t.exec(e.substring(p));if(n)return r=n[0],p+=r.length,r}for(var n,i,s,a,o,c=e.length,l=/^[ \t\n\r\u000c]+/,u=/^[, \t\n\r\u000c]+/,h=/^[^ \t\n\r\u000c]+/,f=/[,]+$/,A=/^\d+$/,d=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,p=0,g=[];;){if(r(u),p>=c)return g;n=r(h),i=[],","===n.slice(-1)?(n=n.replace(f,""),m()):y()}function y(){for(r(l),s="",a="in descriptor";;){if(o=e.charAt(p),"in descriptor"===a)if(t(o))s&&(i.push(s),s="",a="after descriptor");else{if(","===o)return p+=1,s&&i.push(s),void m();if("("===o)s+=o,a="in parens";else{if(""===o)return s&&i.push(s),void m();s+=o}}else if("in parens"===a)if(")"===o)s+=o,a="in descriptor";else{if(""===o)return i.push(s),void m();s+=o}else if("after descriptor"===a)if(t(o));else{if(""===o)return void m();a="in descriptor",p-=1}p+=1}}function m(){var t,r,s,a,o,c,l,u,h,f=!1,p={};for(a=0;a(e.nodes&&(e.nodes=f(e.nodes)),delete e.source,e))}function A(e){if(e[u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)A(t)}class d extends l{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,r,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...r)=>e[t](...r.map(e=>"function"==typeof e?(t,r)=>e(t.toProxy(),r):e)):"every"===t||"some"===t?r=>e[t]((e,...t)=>r(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let r,n=this.index(e),i=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let e of i)this.proxyOf.nodes.splice(n+1,0,e);for(let e in this.indexes)r=this.indexes[e],n(e[h]||d.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[u]&&A(e),e.raws||(e.raws={}),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,r)=>{let n;try{n=e(t,r)}catch(e){throw t.addToError(e)}return!1!==n&&t.walk&&(n=t.walk(e)),n})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("atrule"===r.type&&e.test(r.name))return t(r,n)}):this.walk((r,n)=>{if("atrule"===r.type&&r.name===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("atrule"===e.type)return t(e,r)}))}walkComments(e){return this.walk((t,r)=>{if("comment"===t.type)return e(t,r)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("decl"===r.type&&e.test(r.prop))return t(r,n)}):this.walk((r,n)=>{if("decl"===r.type&&r.prop===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("decl"===e.type)return t(e,r)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if("rule"===r.type&&e.test(r.selector))return t(r,n)}):this.walk((r,n)=>{if("rule"===r.type&&r.selector===e)return t(r,n)}):(t=e,this.walk((e,r)=>{if("rule"===e.type)return t(e,r)}))}}d.registerParse=e=>{i=e},d.registerRule=e=>{a=e},d.registerAtRule=e=>{n=e},d.registerRoot=e=>{s=e},e.exports=d,d.default=d,d.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,a.prototype):"decl"===e.type?Object.setPrototypeOf(e,c.prototype):"comment"===e.type?Object.setPrototypeOf(e,o.prototype):"root"===e.type&&Object.setPrototypeOf(e,s.prototype),e[h]=!0,e.nodes&&e.nodes.forEach(e=>{d.rebuild(e)})}},3614(e,t,r){"use strict";let n=r(8633),i=r(9746);class s extends Error{constructor(e,t,r,n,i,a){super(e),this.name="CssSyntaxError",this.reason=e,i&&(this.file=i),n&&(this.source=n),a&&(this.plugin=a),void 0!==t&&void 0!==r&&("number"==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=n.isColorSupported);let r=e=>e,s=e=>e,a=e=>e;if(e){let{bold:e,gray:t,red:o}=n.createColors(!0);s=t=>e(o(t)),r=e=>t(e),i&&(a=e=>i(e))}let o=t.split(/\r?\n/),c=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),u=String(l).length;return o.slice(c,l).map((e,t)=>{let n=c+1+t,i=" "+(" "+n).slice(-u)+" | ";if(n===this.line){if(e.length>160){let t=20,n=Math.max(0,this.column-t),o=Math.max(this.column+t,this.endColumn+t),c=e.slice(n,o),l=r(i.replace(/\d/g," "))+e.slice(0,Math.min(this.column-1,t-1)).replace(/[^\t]/g," ");return s(">")+r(i)+a(c)+"\n "+l+s("^")}let t=r(i.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(i)+a(e)+"\n "+t+s("^")}return" "+r(i)+a(e)}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}e.exports=s,s.default=s},5238(e,t,r){"use strict";let n=r(3152);class i extends n{get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}}e.exports=i,i.default=i},145(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a},3438(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(1106),o=r(3878),c=r(5644),l=r(1534);function u(e,t){if(Array.isArray(e))return e.map(e=>u(e));let{inputs:r,...h}=e;if(r){t=[];for(let e of r){let r={...e,__proto__:a.prototype};r.map&&(r.map={...r.map,__proto__:o.prototype}),t.push(r)}}if(h.nodes&&(h.nodes=e.nodes.map(e=>u(e,t))),h.source){let{inputId:e,...r}=h.source;h.source=r,null!=e&&(h.source.input=t[e])}if("root"===h.type)return new c(h);if("decl"===h.type)return new s(h);if("rule"===h.type)return new l(h);if("comment"===h.type)return new i(h);if("atrule"===h.type)return new n(h);throw new Error("Unknown node type: "+e.type)}e.exports=u,u.default=u},1106(e,t,r){"use strict";let{nanoid:n}=r(5042),{isAbsolute:i,resolve:s}=r(197),{SourceMapConsumer:a,SourceMapGenerator:o}=r(1866),{fileURLToPath:c,pathToFileURL:l}=r(2739),u=r(3614),h=r(3878),f=r(9746),A=Symbol("lineToIndexCache"),d=Boolean(a&&o),p=Boolean(s&&i);function g(e){if(e[A])return e[A];let t=e.css.split("\n"),r=new Array(t.length),n=0;for(let e=0,i=t.length;e"),this.map&&(this.map.file=this.from)}error(e,t,r,n={}){let i,s,a,o,c;if(t&&"object"==typeof t){let e=t,n=r;if("number"==typeof e.offset){o=e.offset;let n=this.fromOffset(o);t=n.line,r=n.col}else t=e.line,r=e.column,o=this.fromLineAndColumn(t,r);if("number"==typeof n.offset){a=n.offset;let e=this.fromOffset(a);s=e.line,i=e.col}else s=n.line,i=n.column,a=this.fromLineAndColumn(n.line,n.column)}else if(r)o=this.fromLineAndColumn(t,r);else{o=t;let e=this.fromOffset(o);t=e.line,r=e.col}let h=this.origin(t,r,s,i);return c=h?new u(e,void 0===h.endLine?h.line:{column:h.column,line:h.line},void 0===h.endLine?h.column:{column:h.endColumn,line:h.endLine},h.source,h.file,n.plugin):new u(e,void 0===s?t:{column:r,line:t},void 0===s?r:{column:i,line:s},this.css,this.file,n.plugin),c.input={column:r,endColumn:i,endLine:s,endOffset:a,line:t,offset:o,source:this.css},this.file&&(l&&(c.input.url=l(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,t){return g(this)[e-1]+t-1}fromOffset(e){let t=g(this),r=0;if(e>=t[t.length-1])r=t.length-1;else{let n,i=t.length-2;for(;r>1),e=t[n+1])){r=n;break}r=n+1}}return{col:e-t[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:s(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,r,n){if(!this.map)return!1;let s,a,o=this.map.consumer(),u=o.originalPositionFor({column:t,line:e});if(!u.source)return!1;"number"==typeof r&&(s=o.originalPositionFor({column:n,line:r})),a=i(u.source)?l(u.source):new URL(u.source,this.map.consumer().sourceRoot||l(this.map.mapFile));let h={column:u.column,endColumn:s&&s.column,endLine:s&&s.line,line:u.line,url:a.toString()};if("file:"===a.protocol){if(!c)throw new Error("file: protocol is not available in this PostCSS build");h.file=c(a)}let f=o.sourceContentFor(u.source);return f&&(h.source=f),h}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}e.exports=y,y.default=y,f&&f.registerInput&&f.registerInput(y)},6966(e,t,r){"use strict";let n=r(7793),i=r(145),s=r(3604),a=r(9577),o=r(3717),c=r(5644),l=r(3303),{isClean:u,my:h}=r(4151);r(6156);const f={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},A={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},d={Once:!0,postcssPlugin:!0,prepare:!0};function p(e){return"object"==typeof e&&"function"==typeof e.then}function g(e){let t=!1,r=f[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,0,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,0,r+"Exit"]:[r,r+"Exit"]}function y(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:g(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function m(e){return e[u]=!1,e.nodes&&e.nodes.forEach(e=>m(e)),e}let w={};class b{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,t,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof t||null===t||"root"!==t.type&&"document"!==t.type)if(t instanceof b||t instanceof o)i=m(t.root),t.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let e=a;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(t,r)}catch(e){this.processed=!0,this.error=e}i&&!i[h]&&n.rebuild(i)}else i=m(t);this.result=new o(e,i,r),this.helpers={...w,postcss:w,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?r.postcssVersion:(e.plugin=r.postcssPlugin,e.setMessage())}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,r)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,r])};for(let t of this.plugins)if("object"==typeof t)for(let r in t){if(!A[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!d[r])if("object"==typeof t[r])for(let n in t[r])e(t,"*"===n?r:r+"-"+n.toLowerCase(),t[r][n]);else"function"==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(p(e))try{await e}catch(e){let r=t[t.length-1].node;throw this.handleError(e,r)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>r(e,this.helpers));await Promise.all(t)}else await r(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return p(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=l;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=this.result.root.source;if(void 0===e.map&&!(r&&r.input&&r.input.map)){let e="";return t(this.result.root,t=>{e+=t}),this.result.css=e,this.result}let n=new s(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(p(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[u];)e[u]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[r,n]of e){let e;this.result.lastPlugin=r;try{e=n(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(p(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:r,visitors:n}=t;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void e.pop();if(n.length>0&&t.visitorIndex{e[u]||this.walkSync(e)});else{let t=this.listeners[r];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}}b.registerPostcss=e=>{w=e},e.exports=b,b.default=b,c.registerLazyResult(b),i.registerLazyResult(b)},1752(e){"use strict";let t={comma:e=>t.split(e,[","],!0),space:e=>t.split(e,[" ","\n","\t"]),split(e,t,r){let n=[],i="",s=!1,a=0,o=!1,c="",l=!1;for(let r of e)l?l=!1:"\\"===r?l=!0:o?r===c&&(o=!1):'"'===r||"'"===r?(o=!0,c=r):"("===r?a+=1:")"===r?a>0&&(a-=1):0===a&&t.includes(r)&&(s=!0),s?(""!==i&&n.push(i.trim()),i="",s=!1):i+=r;return(r||""!==i)&&n.push(i.trim()),n}};e.exports=t,t.default=t},3604(e,t,r){"use strict";let{dirname:n,relative:i,resolve:s,sep:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866),{pathToFileURL:l}=r(2739),u=r(1106),h=Boolean(o&&c),f=Boolean(n&&s&&i&&a);e.exports=class{constructor(e,t,r,n){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=n,this.originalCSS=n,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,r=this.toUrl(this.path(e.file)),i=e.root||n(e.file);!1===this.mapOpts.sourcesContent?(t=new o(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,r,this.toUrl(this.path(i)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(t)}else if(this.css){let e;for(;-1!==(e=this.css.lastIndexOf("/*#"));){let t=this.css.indexOf("*/",e+3);if(-1===t)break;for(;e>0&&"\n"===this.css[e-1];)e--;this.css=this.css.slice(0,e)+this.css.slice(t+2)}}}generate(){if(this.clearAnnotation(),f&&h&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=c.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):""});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new c({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,r=1,n=1,i="",s={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(a,o,c)=>{if(this.css+=a,o&&"end"!==c&&(s.generated.line=r,s.generated.column=n-1,o.source&&o.source.start?(s.source=this.sourcePath(o),s.original.line=o.source.start.line,s.original.column=o.source.start.column-1,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,this.map.addMapping(s))),t=a.match(/\n/g),t?(r+=t.length,e=a.lastIndexOf("\n"),n=a.length-e):n+=a.length,o&&"start"!==c){let e=o.parent||{raws:{}};("decl"===o.type||"atrule"===o.type&&!o.nodes)&&o===e.last&&!e.raws.semicolon||(o.source&&o.source.end?(s.source=this.sourcePath(o),s.original.line=o.source.end.line,s.original.column=o.source.end.column-1,s.generated.line=r,s.generated.column=n-2,this.map.addMapping(s)):(s.source=i,s.original.line=1,s.original.column=0,s.generated.line=r,s.generated.column=n-1,this.map.addMapping(s)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let r=this.opts.to?n(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(r=n(s(r,this.mapOpts.annotation)));let a=i(r,e);return this.memoizedPaths.set(e,a),a}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new u(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;if(r&&!e[r]){e[r]=!0;let n=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(n,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(l){let t=l(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===a&&(e=e.replace(/\\/g,"/"));let r=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,r),r}}},4211(e,t,r){"use strict";let n=r(3604),i=r(9577),s=r(3717),a=r(3303);r(6156);class o{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=i;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let i=a;this.result=new s(this._processor,void 0,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,"root",{get:()=>o.root});let c=new n(i,void 0,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else c.clearAnnotation(),this.result.css=c.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}}e.exports=o,o.default=o},3152(e,t,r){"use strict";let n=r(3614),i=r(7668),s=r(3303),{isClean:a,my:o}=r(4151);function c(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if("proxyCache"===n)continue;let i=e[n],s=typeof i;"parent"===n&&"object"===s?t&&(r[n]=t):"source"===n?r[n]=i:Array.isArray(i)?r[n]=i.map(e=>c(e,r)):("object"===s&&null!==i&&(i=c(i)),r[n]=i)}return r}function l(e,t){if(t&&void 0!==t.offset)return t.offset;let r=1,n=1,i=0;for(let s=0;s"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,r)=>(e[t]===r||(e[t]=r,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markClean(){this[a]=!0}markDirty(){if(this[a]){this[a]=!1;let e=this;for(;e=e.parent;)e[a]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,n=r.slice(l(r,this.source.start),l(r,this.source.end)).indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t}positionInside(e){let t=this.source.start.column,r=this.source.start.line,n="document"in this.source.input?this.source.input.document:this.source.input.css,i=l(n,this.source.start),s=i+e;for(let e=i;e"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof n&&n.toJSON)r[e]=n.toJSON(null,t);else if("source"===e){if(null==n)continue;let s=t.get(n.input);null==s&&(s=i,t.set(n.input,i),i++),r[e]={end:n.end,inputId:s,start:n.start}}else r[e]=n}return n&&(r.inputs=[...t.keys()].map(e=>e.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=s){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,r={}){let n={node:this};for(let e in r)n[e]=r[e];return e.warn(t,n)}}e.exports=u,u.default=u},9577(e,t,r){"use strict";let n=r(7793),i=r(1106),s=r(8339);function a(e,t){let r=new i(e,t),n=new s(r);try{n.parse()}catch(e){throw e}return n.root}e.exports=a,a.default=a,n.registerParse(a)},8339(e,t,r){"use strict";let n=r(396),i=r(9371),s=r(5238),a=r(5644),o=r(1534),c=r(5781);const l={empty:!0,space:!0};function u(e,t,r){let n="";for(let i=t;i0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){s.source.end=this.getPosition(e[2]),s.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(c.length>0){for(i=c.length-1,r=c[i];r&&"space"===r[0];)r=c[--i];r&&(s.source.end=this.getPosition(r[3]||r[2]),s.source.end.offset++)}this.end(e);break}c.push(e)}else c.push(e);if(this.tokenizer.endOfFile()){a=!0;break}}s.raws.between=this.spacesAndCommentsFromEnd(c),c.length?(s.raws.afterName=this.spacesAndCommentsFromStart(c),this.raw(s,"params",c),a&&(e=c[c.length-1],s.source.end=this.getPosition(e[3]||e[2]),s.source.end.offset++,this.spaces=s.raws.between,s.raws.between="")):(s.raws.afterName="",s.params=""),o&&(s.nodes=[],this.current=s)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let r,n=0;for(let i=t-1;i>=0&&(r=e[i],"space"===r[0]||(n+=1,2!==n));i--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}colon(e){let t,r,n,i=0;for(let[s,a]of e.entries()){if(r=a,n=r[0],"("===n&&(i+=1),")"===n&&(i-=1),0===i&&":"===n){if(t){if("word"===t[0]&&"progid"===t[1])continue;return s}this.doubleColon(r)}t=r}return!1}comment(e){let t=new i;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let r=e[1].slice(2,-2);if(r.trim()){let e=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}else t.text="",t.raws.left=r,t.raws.right=""}createTokenizer(){this.tokenizer=c(this.input)}decl(e,t){let r=new s;this.init(r,e[0][2]);let n=e[e.length-1];";"===n[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(n[3]||n[2]||function(e){for(let t=e.length-1;t>=0;t--){let r=e[t],n=r[3]||r[2];if(n)return n}}(e)),r.source.end.offset++;let i=0;for(;"word"!==e[i][0];)i===e.length-1&&this.unknownWord([e[i]]),i++;r.raws.before+=u(e,0,i),r.source.start=this.getPosition(e[i][2]);let a=i;for(;i=0;t--){if(o=e[t],"!important"===o[1].toLowerCase()){r.important=!0;let n=this.stringFrom(e,t);n=this.spacesFromEnd(e)+n," !important"!==n&&(r.raws.important=n);break}if("important"===o[1].toLowerCase()){let n=e.slice(0),i="";for(let e=t;e>0;e--){let t=n[e][0];if(i.trim().startsWith("!")&&"space"!==t)break;i=n.pop()[1]+i}i.trim().startsWith("!")&&(r.important=!0,r.raws.important=i,e=n)}if("space"!==o[0]&&"comment"!==o[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(r.raws.between+=h.map(e=>e[1]).join(""),h=[]),this.raw(r,"value",h.concat(e),t),r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new o;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="",t.source.end=this.getPosition(e[2]),t.source.end.offset+=t.raws.ownSemicolon.length)}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,r=null,n=!1,i=null,s=[],a=e[1].startsWith("--"),o=[],c=e;for(;c;){if(r=c[0],o.push(c),"("===r||"["===r)i||(i=c),s.push("("===r?")":"]");else if(a&&n&&"{"===r)i||(i=c),s.push("}");else if(0===s.length){if(";"===r){if(n)return void this.decl(o,a);break}if("{"===r)return void this.rule(o);if("}"===r){this.tokenizer.back(o.pop()),t=!0;break}":"===r&&(n=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(i=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(i),t&&n){if(!a)for(;o.length&&(c=o[o.length-1][0],"space"===c||"comment"===c);)this.tokenizer.back(o.pop());this.decl(o,a)}else this.unknownWord(o)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,r,n){let i,s,a,o,c=r.length,u="",h=!0;for(let e=0;ee+t[1],"");e.raws[t]={raw:n,value:u}}e[t]=u}rule(e){e.pop();let t=new o;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let n=t;n(r||(r=i()),r)}),i.process=function(e,t,r){return v([i(r)]).process(e,t)},i},v.stringify=w,v.parse=d,v.fromJSON=l,v.list=f,v.comment=e=>new i(e),v.atRule=e=>new n(e),v.decl=e=>new o(e),v.rule=e=>new m(e),v.root=e=>new y(e),v.document=e=>new c(e),v.CssSyntaxError=a,v.Declaration=o,v.Container=s,v.Processor=p,v.Document=c,v.Comment=i,v.Warning=b,v.AtRule=n,v.Result=g,v.Input=u,v.Rule=m,v.Root=y,v.Node=A,h.registerPostcss(v),e.exports=v,v.default=v},3878(e,t,r){"use strict";let{existsSync:n,readFileSync:i}=r(9977),{dirname:s,join:a}=r(197),{SourceMapConsumer:o,SourceMapGenerator:c}=r(1866);class l{constructor(e,t){if(!1===t.map)return;t.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=s(this.mapFile)),n&&(this.text=n)}consumer(){return this.consumerCache||(this.consumerCache=new o(this.json||this.text)),this.consumerCache}decodeInline(e){let t=e.match(/^data:application\/json;charset=utf-?8,/)||e.match(/^data:application\/json,/);if(t)return decodeURIComponent(e.substr(t[0].length));let r=e.match(/^data:application\/json;charset=utf-?8;base64,/)||e.match(/^data:application\/json;base64,/);if(r)return n=e.substr(r[0].length),Buffer?Buffer.from(n,"base64").toString():window.atob(n);var n;let i=e.slice(22);throw i=i.slice(0,i.indexOf(",")),new Error("Unsupported source map encoding "+i)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/g);if(!t)return;let r=e.lastIndexOf(t.pop()),n=e.indexOf("*/",r);r>-1&&n>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,n)))}loadFile(e,t,r){if(r||this.unsafeMap||/\.map$/i.test(e))return this.root=s(e),n(e)?(this.mapFile=e,i(e,"utf-8").toString().trim()):void 0}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof o)return c.fromSourceMap(t).toString();if(t instanceof c)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let r=t(e);if(r){let t=this.loadFile(r,e,!0);if(!t)throw new Error("Unable to load previous source map: "+r.toString());return t}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;e&&(t=a(s(e),t));let r=this.loadFile(t,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\)]}'[^\n]*\n/,""))}catch{return}return r}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}e.exports=l,l.default=l},6846(e,t,r){"use strict";let n=r(145),i=r(6966),s=r(4211),a=r(5644);class o{constructor(e=[]){this.version="8.5.15",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)t.push(r);else if("function"==typeof r)t.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new i(this,e,t):new s(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}}e.exports=o,o.default=o,a.registerProcessor(o),n.registerProcessor(o)},3717(e,t,r){"use strict";let n=r(38);class i{get content(){return this.css}constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new n(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>"warning"===e.type)}}e.exports=i,i.default=i},5644(e,t,r){"use strict";let n,i,s=r(7793);class a extends s{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,r){let n=super.normalize(e);if(t)if("prepend"===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of n)e.raws.before=t.raws.before;return n}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}toResult(e={}){return new n(new i,this,e).stringify()}}a.registerLazyResult=e=>{n=e},a.registerProcessor=e=>{i=e},e.exports=a,a.default=a,s.registerRoot(a)},1534(e,t,r){"use strict";let n=r(7793),i=r(1752);class s extends n{get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}}e.exports=s,s.default=s,n.registerRule(s)},7668(e){"use strict";const t=/(<)(\/?style\b)/gi,r=/(<)(!--)/g;function n(e){return"string"!=typeof e?e:e.includes("<")?e.replace(t,"\\3c $2").replace(r,"\\3c $2"):e}const i={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};class s{constructor(e){this.builder=e}atrule(e,t){let r=e.raws,i="@"+e.name,s=e.params?this.rawValue(e,"params"):"";if(void 0!==r.afterName?i+=r.afterName:s&&(i+=" "),e.nodes)this.block(e,i+s);else{let a=(r.between||"")+(t?";":"");this.builder(n(i+s+a),e)}}beforeAfter(e,t){let r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,i=0;for(;n&&"root"!==n.type;)i+=1,n=n.parent;if(r.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===t[r].type;)r-=1;let i=this.raw(e,"semicolon"),s="document"===e.type;for(let e=0;e{if(n=e.raws[t],void 0!==n)return!1})}var c;return void 0===n&&(n=i[r]),o[r]=n,n}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let r;return e.walkComments(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return t=r.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==r.raws.before){let e=r.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let r=e[t],n=e.raws[t];return n&&n.value===r?n.raw:r}root(e){if(this.body(e),e.raws.after){let t=e.raws.after,r=e.parent&&"document"===e.parent.type;this.builder(r?t:n(t))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(n(e.raws.ownSemicolon),e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}}e.exports=s,s.default=s},3303(e,t,r){"use strict";let n=r(7668);function i(e,t){new n(t).stringify(e)}e.exports=i,i.default=i},4151(e){"use strict";e.exports.isClean=Symbol("isClean"),e.exports.my=Symbol("my")},5781(e){"use strict";const t="'".charCodeAt(0),r='"'.charCodeAt(0),n="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),a=" ".charCodeAt(0),o="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),u="[".charCodeAt(0),h="]".charCodeAt(0),f="(".charCodeAt(0),A=")".charCodeAt(0),d="{".charCodeAt(0),p="}".charCodeAt(0),g=";".charCodeAt(0),y="*".charCodeAt(0),m=":".charCodeAt(0),w="@".charCodeAt(0),b=/[\t\n\f\r "#'()/;[\\\]{}]/g,v=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,E=/.[\r\n"'(/\\]/,k=/[\da-f]/i;e.exports=function(e,I={}){let B,C,S,D,x,K,U,P,T,F,M=e.css.valueOf(),R=I.ignoreErrors,Q=M.length,N=0,O=[],L=[],G=-1;function H(t){throw e.error("Unclosed "+t,N)}return{back:function(e){L.push(e)},endOfFile:function(){return 0===L.length&&N>=Q},nextToken:function(e){if(L.length)return L.pop();if(N>=Q)return;let I=!!e&&e.ignoreUnclosed;switch(B=M.charCodeAt(N),B){case s:case a:case c:case l:case o:D=N;do{D+=1,B=M.charCodeAt(D)}while(B===a||B===s||B===c||B===l||B===o);K=["space",M.slice(N,D)],N=D-1;break;case u:case h:case d:case p:case m:case g:case A:{let e=String.fromCharCode(B);K=[e,e,N];break}case f:if(F=O.length?O.pop()[1]:"",T=M.charCodeAt(N+1),"url"===F&&T!==t&&T!==r&&T!==a&&T!==s&&T!==c&&T!==o&&T!==l){D=N;do{if(U=!1,D=M.indexOf(")",D+1),-1===D){if(R||I){D=N;break}H("bracket")}for(P=D;M.charCodeAt(P-1)===n;)P-=1,U=!U}while(U);K=["brackets",M.slice(N,D+1),N,D],N=D}else N<=G?K=["(","(",N]:(D=M.indexOf(")",N+1),C=M.slice(N,D+1),-1===D||E.test(C)?(G=-1===D?Q:D,K=["(","(",N]):(K=["brackets",C,N,D],N=D));break;case t:case r:x=B===t?"'":'"',D=N;do{if(U=!1,D=M.indexOf(x,D+1),-1===D){if(R||I){D=N+1;break}H("string")}for(P=D;M.charCodeAt(P-1)===n;)P-=1,U=!U}while(U);K=["string",M.slice(N,D+1),N,D],N=D;break;case w:b.lastIndex=N+1,b.test(M),D=0===b.lastIndex?M.length-1:b.lastIndex-2,K=["at-word",M.slice(N,D+1),N,D],N=D;break;case n:for(D=N,S=!0;M.charCodeAt(D+1)===n;)D+=1,S=!S;if(B=M.charCodeAt(D+1),S&&B!==i&&B!==a&&B!==s&&B!==c&&B!==l&&B!==o&&(D+=1,k.test(M.charAt(D)))){for(;k.test(M.charAt(D+1));)D+=1;M.charCodeAt(D+1)===a&&(D+=1)}K=["word",M.slice(N,D+1),N,D],N=D;break;default:B===i&&M.charCodeAt(N+1)===y?(D=M.indexOf("*/",N+2)+1,0===D&&(R||I?D=M.length:H("comment")),K=["comment",M.slice(N,D+1),N,D],N=D):(v.lastIndex=N+1,v.test(M),D=0===v.lastIndex?M.length-1:v.lastIndex-2,K=["word",M.slice(N,D+1),N,D],O.push(K),N=D)}return N++,K},position:function(){return N}}}},6156(e){"use strict";let t={};e.exports=function(e){t[e]||(t[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))}},38(e){"use strict";class t{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}e.exports=t,t.default=t},4728(e,t,r){const n=r(378),i=r(7151),{isPlainObject:s}=r(8682),a=r(4744),o=r(9466),{parse:c}=r(2895),{naughtyHref:l}=r(3624),u=["img","audio","video","picture","svg","object","map","iframe","embed"],h=["script","style"];function f(e,t){e&&Object.keys(e).forEach(function(r){t(e[r],r)})}function A(e,t){return{}.hasOwnProperty.call(e,t)}function d(e,t){const r=[];return f(e,function(e){t(e)&&r.push(e)}),r}e.exports=g;const p=/^[^\0\t\n\f\r /<=>]+$/;function g(e,t,r){if(null==e)return"";"number"==typeof e&&(e=e.toString());let m="",w="";function b(e,t){const r=this;this.tag=e,this.attribs=t||{},this.tagPosition=m.length,this.text="",this.openingTagLength=0,this.mediaChildren=[],this.updateParentNodeText=function(){U.length&&(U[U.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){U.length&&u.includes(this.tag)&&U[U.length-1].mediaChildren.push(this.tag)}}(t=Object.assign({},g.defaults,t)).parser=Object.assign({},y,t.parser);const v=function(e){return!1===t.allowedTags||(t.allowedTags||[]).indexOf(e)>-1};h.forEach(function(e){v(e)&&!t.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${e}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)});const E=t.nonTextTags||["script","style","textarea","option","xmp"];let k,I;t.allowedAttributes&&(k={},I={},f(t.allowedAttributes,function(e,t){k[t]=[];const r=[];e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):k[t].push(e)}),r.length&&(I[t]=new RegExp("^("+r.join("|")+")$"))}));const B={},C={},S={};f(t.allowedClasses,function(e,t){if(k&&(A(k,t)||(k[t]=[]),k[t].push("class")),B[t]=e,Array.isArray(e)){const r=[];B[t]=[],S[t]=[],e.forEach(function(e){"string"==typeof e&&e.indexOf("*")>=0?r.push(i(e).replace(/\\\*/g,".*")):e instanceof RegExp?S[t].push(e):B[t].push(e)}),r.length&&(C[t]=new RegExp("^("+r.join("|")+")$"))}});const D={};let x,K,U,P,T,F,M;f(t.transformTags,function(e,t){let r;"function"==typeof e?r=e:"string"==typeof e&&(r=g.simpleTransform(e)),"*"===t?x=r:D[t]=r});let R=!1;N();const Q=new n.Parser({onopentag:function(e,r){if(t.onOpenTag&&t.onOpenTag(e,r),t.enforceHtmlBoundary&&"html"===e&&N(),F)return void M++;const n=new b(e,r);U.push(n);let i=!1;const l=!!n.text;let u;if(A(D,e)&&(u=D[e](e,r),n.attribs=r=u.attribs,void 0!==u.text&&(n.innerText=u.text),e!==u.tagName&&(n.name=e=u.tagName,T[K]=u.tagName)),x&&(u=x(e,r),n.attribs=r=u.attribs,e!==u.tagName&&(n.name=e=u.tagName,T[K]=u.tagName)),(!v(e)||"recursiveEscape"===t.disallowedTagsMode&&!function(e){for(const t in e)if(A(e,t))return!1;return!0}(P)||null!=t.nestingLimit&&K>=t.nestingLimit)&&(i=!0,P[K]=!0,"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||-1!==E.indexOf(e)&&(F=!0,M=1)),K++,i){if("discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode){if(n.innerText&&!l){const r=O(n.innerText);t.textFilter?m+=t.textFilter(r,e):m+=r,R=!0}return}w=m,m=""}m+="<"+e,"script"===e&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(n.innerText=""),i&&("escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode)&&t.preserveEscapedAttributes?f(r,function(e,t){m+=" "+t+'="'+O(e||"",!0)+'"'}):(!k||A(k,e)||k["*"])&&f(r,function(r,i){if(!p.test(i))return void delete n.attribs[i];if(""===r&&!t.allowedEmptyAttributes.includes(i)&&(t.nonBooleanAttributes.includes(i)||t.nonBooleanAttributes.includes("*")))return void delete n.attribs[i];let l=!1;if(!k||A(k,e)&&-1!==k[e].indexOf(i)||k["*"]&&-1!==k["*"].indexOf(i)||A(I,e)&&I[e].test(i)||I["*"]&&I["*"].test(i))l=!0;else if(k&&k[e])for(const t of k[e])if(s(t)&&t.name&&t.name===i){l=!0;let e="";if(!0===t.multiple){const n=r.split(" ");for(const r of n)-1!==t.values.indexOf(r)&&(""===e?e=r:e+=" "+r)}else t.values.indexOf(r)>=0&&(e=r);r=e}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(i)&&L(e,r))return void delete n.attribs[i];if("script"===e&&"src"===i){let e=!0;try{const n=G(r);if(t.allowedScriptHostnames||t.allowedScriptDomains){const r=(t.allowedScriptHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedScriptDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("iframe"===e&&"src"===i){let e=!0;try{const n=G(r);if(n.isRelativeUrl)e=A(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const r=(t.allowedIframeHostnames||[]).find(function(e){return e===n.url.hostname}),i=(t.allowedIframeDomains||[]).find(function(e){return n.url.hostname===e||n.url.hostname.endsWith(`.${e}`)});e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("srcset"===i||"imagesrcset"===i)try{let e=o(r);if(e.forEach(function(e){L(i,e.url)&&(e.evil=!0)}),e=d(e,function(e){return!e.evil}),!e.length)return void delete n.attribs[i];r=d(e,function(e){return!e.evil}).map(function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")}).join(", "),n.attribs[i]=r}catch(e){return void delete n.attribs[i]}if("class"===i){const t=B[e],s=B["*"],o=C[e],c=S[e],l=S["*"],A=[o,C["*"]].concat(c,l).filter(function(e){return e});if(!(u=r,h=t&&s?a(t,s):t||s,f=A,r=h?(u=u.split(/\s+/)).filter(function(e){return-1!==h.indexOf(e)||f.some(function(t){return t.test(e)})}).join(" "):u).length)return void delete n.attribs[i]}if("style"===i)if(t.parseStyleAttributes)try{if(r=function(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e},[]).join(";")}(function(e,t){if(!t)return e;const r=e.nodes[0];let n;return n=t[r.selector]&&t["*"]?a(t[r.selector],t["*"]):t[r.selector]||t["*"],n&&(e.nodes[0].nodes=r.nodes.reduce(function(e){return function(t,r){return A(e,r.prop)&&e[r.prop].some(function(e){return e.test(r.value)})&&t.push(r),t}}(n),[])),e}(c(e+" {"+r+"}",{map:!1}),t.allowedStyles)),0===r.length)return void delete n.attribs[i]}catch(t){return"undefined"!=typeof window&&console.warn('Failed to parse "'+e+" {"+r+"}\", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547"),void delete n.attribs[i]}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.");m+=" "+i,r&&r.length?m+='="'+O(r,!0)+'"':t.allowedEmptyAttributes.includes(i)&&(m+='=""')}else delete n.attribs[i];var u,h,f}),-1!==t.selfClosing.indexOf(e)?m+=" />":(m+=">",!n.innerText||l||t.textFilter||(m+=O(n.innerText),R=!0)),i&&(m=w+O(m),w=""),n.openingTagLength=m.length-n.tagPosition},ontext:function(e){if(F)return;const r=U[U.length-1];let n;if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"completelyDiscard"!==t.disallowedTagsMode||v(n))if(!n||!v(n)||"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"script"!==n&&"style"!==n)if(!n||!v(n)||"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"textarea"!==n&&"xmp"!==n){if(!R){const r=O(e,!1);t.textFilter?m+=t.textFilter(r,n):m+=r}}else m+=e;else m+=e;else e="";U.length&&(U[U.length-1].text+=e)},onclosetag:function(e,r){if(t.onCloseTag&&t.onCloseTag(e,r),F){if(M--,M)return;F=!1}const n=U.pop();if(!n)return;if(n.tag!==e)return void U.push(n);F=!!t.enforceHtmlBoundary&&"html"===e,K--;const i=P[K];if(i){if(delete P[K],"discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode)return void n.updateParentNodeText();w=m,m=""}if(T[K]&&(e=T[K],delete T[K]),t.exclusiveFilter){const e=t.exclusiveFilter(n);if("excludeTag"===e)return i&&(m=w,w=""),void(m=m.substring(0,n.tagPosition)+m.substring(n.tagPosition+n.openingTagLength));if(e)return void(m=m.substring(0,n.tagPosition))}n.updateParentNodeMediaChildren(),n.updateParentNodeText(),-1!==t.selfClosing.indexOf(e)||r&&!v(e)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0?i&&(m=w,w=""):(m+="",i&&(m=w+O(m),w=""),R=!1)}},t.parser);if(Q.write(e),Q.end(),"escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode){const t=Q.endIndex;if(null!=t&&t>=0&&t0&&""===m&&(m=O(e))}return m;function N(){m="",K=0,U=[],P={},T={},F=!1,M=0}function O(e,r){return"string"!=typeof e&&(e+=""),t.parser.decodeEntities&&(e=e.replace(/&/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,"""))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),r&&(e=e.replace(/"/g,""")),e}function L(e,r){const n=A(t.allowedSchemesByTag,e)?t.allowedSchemesByTag[e]:t.allowedSchemes||[];return l(r,{allowedSchemes:n,allowProtocolRelative:t.allowProtocolRelative})}function G(e){if((e=e.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let t="relative://relative-site";for(let e=0;e<100;e++)t+=`/${e}`;const r=new URL(e,t);return{isRelativeUrl:r&&"relative-site"===r.hostname&&"relative:"===r.protocol,url:r}}}const y={decodeEntities:!0};g.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite","action","formaction","data","xlink:href","poster","background","ping","longdesc","usemap","codebase","classid","archive","profile","manifest","itemid","dynsrc","lowsrc"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1},g.simpleTransform=function(e,t,r){return r=void 0===r||r,t=t||{},function(n,i){let s;if(r)for(s in t)i[s]=t[s];else i=t;return{tagName:e,attribs:i}}}},7151(e){"use strict";e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},1558(e){"use strict";e.exports=require("../../bundles/raw/web-stream-tools")},9746(){},9977(){},197(){},1866(){},2739(){},5979(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.fromCodePoint=void 0,t.replaceCodePoint=i,t.decodeCodePoint=function(e){return(0,t.fromCodePoint)(i(e))};const n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:e=>{let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t}},9299(e,t,r){"use strict";t.xmlDecodeTree=t.htmlDecodeTree=t.fromCodePoint=t.EntityDecoder=t.DecodingMode=void 0;const n=r(5979),i=r(642),s=r(1838),a=r(4865);var o,c,l;function u(e){return e>=o.ZERO&&e<=o.NINE}function h(e){return e>=o.UPPER_A&&e<=o.UPPER_F||e>=o.LOWER_A&&e<=o.LOWER_F}function f(e){return e===o.EQUALS||function(e){return e>=o.UPPER_A&&e<=o.UPPER_Z||e>=o.LOWER_A&&e<=o.LOWER_Z||u(e)}(e)}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(o||(o={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(c||(c={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(l||(t.DecodingMode=l={}));class A{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=c.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=l.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=c.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case c.EntityStart:return e.charCodeAt(t)===o.NUM?(this.state=c.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=c.NamedEntity,this.stateNamedEntity(e,t));case c.NumericStart:return this.stateNumericStart(e,t);case c.NumericDecimal:return this.stateNumericDecimal(e,t);case c.NumericHex:return this.stateNumericHex(e,t);case c.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===o.LOWER_X?(this.state=c.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=c.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t>14;for(;t>7;if(0===this.runConsumed){const r=n&a.BinTrieFlags.JUMP_TABLE;if(e.charCodeAt(t)!==r)return 0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed=e.length)return-1;const n=this.runConsumed-1,i=r[this.treeIndex+1+(n>>1)],s=n%2==0?255&i:i>>8&255;if(e.charCodeAt(t)!==s)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(s>>1),n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14}if(t>=e.length)break;const s=e.charCodeAt(t);if(s===o.SEMI&&0!==i&&0!==(n&a.BinTrieFlags.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=p(r,n,this.treeIndex+Math.max(1,i),s),this.treeIndex<0)return 0===this.result||this.decodeMode===l.Attribute&&(0===i||f(s))?0:this.emitNotTerminatedNamedEntity();if(n=r[this.treeIndex],i=(n&a.BinTrieFlags.VALUE_LENGTH)>>14,0!==i){if(s===o.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==l.Strict&&0===(n&a.BinTrieFlags.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;const{result:t,decodeTree:r}=this,n=(r[t]&a.BinTrieFlags.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,n,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){const{decodeTree:n}=this;return this.emitCodePoint(1===t?n[e]&~(a.BinTrieFlags.VALUE_LENGTH|a.BinTrieFlags.FLAG13):n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r}end(){var e;switch(this.state){case c.NamedEntity:return 0===this.result||this.decodeMode===l.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case c.NumericDecimal:return this.emitNumericEntity(0,2);case c.NumericHex:return this.emitNumericEntity(0,3);case c.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c.EntityStart:return 0}}}function d(e){let t="";const r=new A(e,e=>t+=(0,n.fromCodePoint)(e));return function(e,n){let i=0,s=0;for(;(s=e.indexOf("&",s))>=0;){t+=e.slice(i,s),r.startEntity(n);const a=r.write(e,s+1);if(a<0){i=s+r.end();break}i=s+a,s=0===a?i+1:i}const a=t+e.slice(i);return t="",a}}function p(e,t,r,n){const i=(t&a.BinTrieFlags.BRANCH_LENGTH)>>7,s=t&a.BinTrieFlags.JUMP_TABLE;if(0===i)return 0!==s&&n===s?r:-1;if(s){const t=n-s;return t<0||t>=i?-1:e[r+t]-1}const o=i+1>>1;let c=0,l=i-1;for(;c<=l;){const t=c+l>>>1,i=e[r+(t>>1)]>>8*(1&t)&255;if(in))return e[r+o+t];l=t-1}}return-1}t.EntityDecoder=A;i.htmlDecodeTree,s.xmlDecodeTree;var g=r(5979);Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return g.fromCodePoint}});var y=r(642);Object.defineProperty(t,"htmlDecodeTree",{enumerable:!0,get:function(){return y.htmlDecodeTree}});var m=r(1838);Object.defineProperty(t,"xmlDecodeTree",{enumerable:!0,get:function(){return m.xmlDecodeTree}})},642(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.htmlDecodeTree=void 0;const n=r(275);t.htmlDecodeTree=(0,n.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg")},1838(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xmlDecodeTree=void 0;const n=r(275);t.xmlDecodeTree=(0,n.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg")},4865(e,t){"use strict";var r;t.BinTrieFlags=void 0,function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(r||(t.BinTrieFlags=r={}))},275(e,t){"use strict";t.decodeBase64=function(e){const t="function"==typeof atob?atob(e):"function"==typeof Buffer.from?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),r=-2&t.length,n=new Uint16Array(r/2);for(let e=0,i=0;e0&&s.has(this.stack[0]);){const e=this.stack.shift();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,e,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(g.has(e)?this.foreignContext.unshift(!0):y.has(e)&&this.foreignContext.unshift(!1))),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var r,n,i,s,a,o,c,l;this.endIndex=t;let u=this.getSlice(e,t);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),this.htmlMode&&(g.has(u)||y.has(u))&&this.foreignContext.shift(),this.isVoidElement(u))this.htmlMode&&"br"===u&&(null===(s=(i=this.cbs).onopentagname)||void 0===s||s.call(i,"br"),null===(o=(a=this.cbs).onopentag)||void 0===o||o.call(a,"br",{},!0),null===(l=(c=this.cbs).onclosetag)||void 0===l||l.call(c,"br",!1));else{const e=this.stack.indexOf(u);if(-1!==e)for(let t=0;t<=e;t++){const i=this.stack.shift();null===(n=(r=this.cbs).onclosetag)||void 0===n||n.call(r,i,t!==e)}else this.htmlMode&&"p"===u&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,r;const n=this.tagname;this.endOpenTag(e),this.stack[0]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.shift())}onattribname(e,t){this.startIndex=e;const r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=(0,c.fromCodePoint)(e)}onattribend(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===o.QuoteType.Double?'"':e===o.QuoteType.Single?"'":e===o.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(m);let r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r}ondeclaration(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`!${e}`,`!${r}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(r);this.cbs.onprocessinginstruction(`?${e}`,`?${r}`)}this.startIndex=t+1}oncomment(e,t,r){var n,i,s,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,r){var n,i,s,a,o,c,l,u,h,f;this.endIndex=t;const A=this.getSlice(e,t-r);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,A),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(u=(l=this.cbs).oncomment)||void 0===u||u.call(l,`[CDATA[${A}]]`),null===(f=(h=this.cbs).oncommentend)||void 0===f||f.call(h)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e=this.buffers[0].length;)this.shiftBuffer();let r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndexthis.emitCodePoint(e,t))}reset(){this.state=s.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=s.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=s.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=s.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===i.Gt||o(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=i.LowerA&&e<=i.LowerZ||e>=i.UpperA&&e<=i.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=s.SpecialStartSequence}stateBeforeTagName(e){if(e===i.ExclamationMark)this.state=s.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===i.Questionmark)this.state=s.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=s.InTagName:t===l.ScriptEnd[2]?this.state=s.BeforeSpecialS:t===l.TitleEnd[2]||t===l.XmpEnd[2]?this.state=s.BeforeSpecialT:this.state=s.InTagName}else e===i.Slash?this.state=s.BeforeClosingTagName:(this.state=s.Text,this.stateText(e))}stateInTagName(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){o(e)||(e===i.Gt?this.state=s.Text:(this.state=this.isTagStartChar(e)?s.InClosingTagName:s.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===i.Gt||o(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=s.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===i.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=s.InSpecialTag,this.sequenceIndex=0):this.state=s.Text,this.sectionStart=this.index+1):e===i.Slash?this.state=s.InSelfClosingTag:o(e)||(this.state=s.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===i.Gt?(this.cbs.onselfclosingtag(this.index),this.state=s.Text,this.sectionStart=this.index+1,this.isSpecial=!1):o(e)||(this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===i.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=s.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===i.Eq?this.state=s.BeforeAttributeValue:e===i.Slash||e===i.Gt?(this.cbs.onattribend(a.NoValue,this.sectionStart),this.sectionStart=-1,this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):o(e)||(this.cbs.onattribend(a.NoValue,this.sectionStart),this.state=s.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===i.DoubleQuote?(this.state=s.InAttributeValueDq,this.sectionStart=this.index+1):e===i.SingleQuote?(this.state=s.InAttributeValueSq,this.sectionStart=this.index+1):o(e)||(this.sectionStart=this.index,this.state=s.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===i.DoubleQuote?a.Double:a.Single,this.index+1),this.state=s.BeforeAttributeName):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,i.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,i.SingleQuote)}stateInAttributeValueNoQuotes(e){o(e)||e===i.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a.Unquoted,this.index),this.state=s.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===i.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===i.OpeningSquareBracket?(this.state=s.CDATASequence,this.sequenceIndex=0):this.state=e===i.Dash?s.BeforeComment:s.InDeclaration}stateInDeclaration(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===i.Dash?(this.state=s.InCommentLike,this.currentSequence=l.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=s.InDeclaration}stateInSpecialComment(e){(e===i.Gt||this.fastForwardTo(i.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=s.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===l.ScriptEnd[3]?this.startSpecial(l.ScriptEnd,4):t===l.StyleEnd[3]?this.startSpecial(l.StyleEnd,4):(this.state=s.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){switch(32|e){case l.TitleEnd[3]:this.startSpecial(l.TitleEnd,4);break;case l.TextareaEnd[3]:this.startSpecial(l.TextareaEnd,4);break;case l.XmpEnd[3]:this.startSpecial(l.XmpEnd,4);break;default:this.state=s.InTagName,this.stateInTagName(e)}}startEntity(){this.baseState=this.state,this.state=s.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?n.DecodingMode.Strict:this.baseState===s.Text||this.baseState===s.InSpecialTag?n.DecodingMode.Legacy:n.DecodingMode.Attribute)}stateInEntity(){const e=this.index-this.offset,t=this.entityDecoder.write(this.buffer,e);if(t>=0)this.state=this.baseState,0===t&&(this.index-=1);else{if(e=e||(this.state===s.InCommentLike?this.currentSequence===l.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===s.InTagName||this.state===s.BeforeAttributeName||this.state===s.BeforeAttributeValue||this.state===s.AfterAttributeName||this.state===s.InAttributeName||this.state===s.InAttributeValueSq||this.state===s.InAttributeValueDq||this.state===s.InAttributeValueNq||this.state===s.InClosingTagName||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){this.baseState!==s.Text&&this.baseState!==s.InSpecialTag?(this.sectionStarte(t,n.root),t,r);return new c.Parser(n,t)},t.createDomStream=function(e,t,r){const n=new u.DomHandler(e,t,r);return new c.Parser(n,t)},t.parseFeed=function(e,t=y){return(0,p.getFeed)(A(e,t))};const c=r(2067);var l=r(2067);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return l.Parser}});const u=r(1141);var h=r(1141);function f(e,t){const r=new u.DomHandler(void 0,t);return new c.Parser(r,t).end(e),r.root}function A(e,t){return f(e,t).children}Object.defineProperty(t,"DomHandler",{enumerable:!0,get:function(){return h.DomHandler}}),Object.defineProperty(t,"DefaultHandler",{enumerable:!0,get:function(){return h.DomHandler}});var d=r(8391);Object.defineProperty(t,"Tokenizer",{enumerable:!0,get:function(){return o(d).default}}),Object.defineProperty(t,"QuoteType",{enumerable:!0,get:function(){return d.QuoteType}}),t.ElementType=a(r(5413));const p=r(8888);var g=r(8888);Object.defineProperty(t,"getFeed",{enumerable:!0,get:function(){return g.getFeed}});const y={xmlMode:!0};t.DomUtils=a(r(8888))},5042(e){e.exports={nanoid:(e=21)=>{let t="",r=0|e;for(;r--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(r=t)=>{let n="",i=0|r;for(;i--;)n+=e[Math.random()*e.length|0];return n}}},9275(e,t,r){"use strict";r.r(t),r.d(t,{ArrayStream:()=>n.ArrayStream,cancel:()=>n.cancel,clone:()=>n.clone,concat:()=>n.concat,concatStream:()=>n.concatStream,concatUint8Array:()=>i.Cs,fromAsync:()=>n.fromAsync,getReader:()=>n.getReader,getWriter:()=>n.getWriter,isArrayStream:()=>i.AS,isStream:()=>i.rL,isUint8Array:()=>i.mg,parse:()=>n.parse,passiveClone:()=>n.passiveClone,pipe:()=>n.pipe,readToEnd:()=>n.readToEnd,slice:()=>n.slice,toArrayStream:()=>n.toArrayStream,toStream:()=>n.toStream,transform:()=>n.transform,transformAsync:()=>n.transformAsync,transformPair:()=>n.transformPair,transformRaw:()=>n.transformRaw});var n=r(8877),i=r(7971)},8877(e,t,r){"use strict";r.d(t,{ArrayStream:()=>o.S5,cancel:()=>B,clone:()=>b,concat:()=>u,concatStream:()=>h,fromAsync:()=>C,getReader:()=>S,getWriter:()=>D,parse:()=>w,passiveClone:()=>v,pipe:()=>f,readToEnd:()=>I,slice:()=>k,toArrayStream:()=>l,toStream:()=>c,transform:()=>p,transformAsync:()=>g,transformPair:()=>m,transformRaw:()=>A});var n=r(7971);const i=new WeakSet,s=Symbol("externalBuffer");function a(e){if(this.stream=e,e[s]&&(this[s]=e[s].slice()),(0,n.AS)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if((0,n.rL)(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||i.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{i.add(e)}catch{}}}a.prototype.read=async function(){return this[s]&&this[s].length?{done:!1,value:this[s].shift()}:this._read()},a.prototype.releaseLock=function(){this[s]&&(this.stream[s]=this[s]),this._releaseLock()},a.prototype.cancel=function(e){return this._cancel(e)},a.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?u(t):void 0;const i=n.indexOf("\n")+1;i&&(e=u(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},a.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(k(t,1)),r},a.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?u(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=u(t);return this.unshift(k(r,e)),k(r,0,e)}}},a.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},a.prototype.unshift=function(...e){this[s]||(this[s]=[]),1===e.length&&(0,n.mg)(e[0])&&this[s].length&&e[0].length&&this[s][0].byteOffset>=e[0].length?this[s][0]=new Uint8Array(this[s][0].buffer,this[s][0].byteOffset-e[0].length,this[s][0].byteLength+e[0].length):this[s].unshift(...e.filter(e=>e&&e.length))},a.prototype.readToEnd=async function(e=u){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};var o=r(9844);function c(e){return(0,n.rL)(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function l(e){const t=(0,n.rL)(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new o.S5;return(async()=>{const t=D(r);await t.write(e),await t.close()})(),r}function u(e){return e.some(e=>(0,n.rL)(e)&&!(0,n.AS)(e))?h(e):e.some(e=>(0,n.AS)(e))?function(e){const t=new o.S5;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>f(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):(0,n.Cs)(e)}function h(e){const t=e.map(c),r=d(async function(e){await Promise.all(i.map(t=>B(t,e)))});let n=Promise.resolve();const i=t.map((e,i)=>m(e,(e,s)=>(n=n.then(()=>f(e,r.writable,{preventClose:i!==t.length-1})),n)));return r.readable}async function f(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:a=!1}={}){if((0,n.rL)(e)&&!(0,n.AS)(e)&&!(0,n.AS)(t)){e=c(e);try{if(e[s]){const r=D(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function p(e,t=()=>{},r=()=>{},i={highWaterMark:0}){if((0,n.rL)(e))return y(e,t,r,i);const s=t(e),a=r();return void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a}async function g(e,t=async()=>{},r=async()=>{},i={highWaterMark:1}){if((0,n.rL)(e))return y(e,t,r,i);const s=await t(e),a=await r();return void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a}function y(e,t,r,i){if((0,n.AS)(e)){const n=new o.S5;return(async()=>{const i=D(n);try{const n=await I(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?u([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if((0,n.rL)(e)){let n,s=!1;return new ReadableStream({start(){n=e.getReader()},async pull(i){if(s)return i.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await n.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void i.enqueue(c);if(o)return i.close(),void e.releaseLock()}}catch(e){i.error(e)}},async cancel(e){await n.cancel(e)}},i)}throw new Error("Unreachable")}function m(e,t){if((0,n.rL)(e)&&!(0,n.AS)(e)){let r;const n=new TransformStream({start(e){r=e}}),i=f(e,n.writable),s=d(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=l(e);const r=new o.S5;return t(e,r),r}function w(e,t){let r;const n=m(e,(e,i)=>{const s=S(e);s.remainder=()=>(s.releaseLock(),f(e,i),n),r=t(s)});return r}function b(e){if((0,n.AS)(e))return e.clone();if((0,n.rL)(e)){const t=function(e){if((0,n.AS)(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if((0,n.rL)(e)){const t=c(e).tee();return t[0][s]=t[1][s]=e[s],t}return[k(e),k(e)]}(e);return E(e,t[0]),t[1]}return k(e)}function v(e){return(0,n.AS)(e)?b(e):(0,n.rL)(e)?new ReadableStream({start(t){const r=m(e,async(e,r)=>{const n=S(e),i=D(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch{}return void await i.close()}try{t.enqueue(r)}catch{}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});E(e,r)}}):k(e)}function E(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function k(e,t=0,r=1/0){if((0,n.AS)(e))throw new Error("Not implemented");if((0,n.rL)(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=k(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return p(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>k(u(n),t,r))}if(0===t&&r<0){let n;return p(e,e=>{const i=n?u([n,e]):e;if(i.length>=-r)return n=k(i,r),k(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),C(async()=>k(await I(e),t,r))}return e[s]&&(e=u(e[s].concat([e]))),(0,n.mg)(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function I(e,t=u){return(0,n.AS)(e)?e.readToEnd(t):(0,n.rL)(e)?S(e).readToEnd(t):e}async function B(e,t){if((0,n.rL)(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function C(e){const t=new o.S5;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function S(e){return new a(e)}function D(e){return new o.AU(e)}},7971(e,t,r){"use strict";r.d(t,{AS:()=>n.AS,Cs:()=>a,mg:()=>s,rL:()=>i});var n=r(9844);function i(e){if((0,n.AS)(e))return"array";if(globalThis.ReadableStream&&globalThis.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function s(e){return Uint8Array.prototype.isPrototypeOf(e)}function a(e){if(1===e.length)return e[0];let t=0;for(let r=0;rc,AU:()=>l,S5:()=>o});const n=Symbol("doneWritingPromise"),i=Symbol("doneWritingResolve"),s=Symbol("doneWritingReject"),a=Symbol("readingIndex");class o extends Array{constructor(){super(),Object.setPrototypeOf(this,o.prototype),this[n]=new Promise((e,t)=>{this[i]=e,this[s]=t}),this[n].catch(()=>{})}}function c(e){return e&&e.getReader&&Array.isArray(e)}function l(e){if(!c(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}o.prototype.getReader=function(){return void 0===this[a]&&(this[a]=0),{read:async()=>(await this[n],this[a]===this.length?{value:void 0,done:!0}:{value:this[this[a]++],done:!1})}},o.prototype.readToEnd=async function(e){await this[n];const t=e(this.slice(this[a]));return this.length=0,t},o.prototype.clone=function(){const e=new o;return e[n]=this[n].then(()=>{e.push(...this)}),e},l.prototype.write=async function(e){this.stream.push(e)},l.prototype.close=async function(){this.stream[i]()},l.prototype.abort=async function(e){return this.stream[s](e),e},l.prototype.releaseLock=function(){}},6382(e,t,r){"use strict";r.d(t,{Message:()=>Qa,PublicKey:()=>Da,SecretKeyPacket:()=>na,SecretSubkeyPacket:()=>aa,config:()=>O,createCleartextMessage:()=>Ya,createMessage:()=>Ga,encrypt:()=>_a,encryptKey:()=>qa,enums:()=>N,generateKey:()=>Ja,readCleartextMessage:()=>Wa,readKey:()=>Pa,readKeys:()=>Ta,readMessage:()=>La,revokeKey:()=>Za,sign:()=>Va});const n="undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{};function i(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(e)}const s=Symbol("doneWritingPromise"),a=Symbol("doneWritingResolve"),o=Symbol("doneWritingReject"),c=Symbol("readingIndex");class l extends Array{constructor(){super(),Object.setPrototypeOf(this,l.prototype),this[s]=new Promise((e,t)=>{this[a]=e,this[o]=t}),this[s].catch(()=>{})}}function u(e){return e&&e.getReader&&Array.isArray(e)}function h(e){if(!u(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}function f(e){if(u(e))return"array";if(n.ReadableStream&&n.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(n.ReadableStream&&e instanceof n.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw new Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function A(e){return Uint8Array.prototype.isPrototypeOf(e)}function d(e){if(1===e.length)return e[0];let t=0;for(let r=0;r(await this[s],this[c]===this.length?{value:void 0,done:!0}:{value:this[this[c]++],done:!1})}},l.prototype.readToEnd=async function(e){await this[s];const t=e(this.slice(this[c]));return this.length=0,t},l.prototype.clone=function(){const e=new l;return e[s]=this[s].then(()=>{e.push(...this)}),e},h.prototype.write=async function(e){this.stream.push(e)},h.prototype.close=async function(){this.stream[a]()},h.prototype.abort=async function(e){return this.stream[o](e),e},h.prototype.releaseLock=function(){},"object"==typeof n.process&&n.process.versions;const p=new WeakSet,g=Symbol("externalBuffer");function y(e){if(this.stream=e,e[g]&&(this[g]=e[g].slice()),u(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(f(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch(function(){}),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||p.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{p.add(e)}catch{}}}function m(e){return f(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function w(e){const t=f(e);if(t){if("array"!==t)throw new Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}const r=new l;return(async()=>{const t=R(r);await t.write(e),await t.close()})(),r}function b(e){return e.some(e=>f(e)&&!u(e))?function(e){const t=e.map(m),r=E(async function(e){await Promise.all(i.map(t=>T(t,e)))});let n=Promise.resolve();const i=t.map((e,i)=>C(e,(e,s)=>(n=n.then(()=>v(e,r.writable,{preventClose:i!==t.length-1})),n)));return r.readable}(e):e.some(e=>u(e))?function(e){const t=new l;let r=Promise.resolve();return e.forEach((n,i)=>(r=r.then(()=>v(n,t,{preventClose:i!==e.length-1})),r)),t}(e):"string"==typeof e[0]?e.join(""):d(e)}async function v(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(f(e)&&!u(e)&&!u(t)){e=m(e);try{if(e[g]){const r=R(t);for(let t=0;t{t=e,r=n}),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function k(e,t=()=>{},r=()=>{},n={highWaterMark:0}){if(f(e))return B(e,t,r,n);const i=t(e),s=r();return void 0!==i&&void 0!==s?b([i,s]):void 0!==i?i:s}async function I(e,t=async()=>{},r=async()=>{},n={highWaterMark:1}){if(f(e))return B(e,t,r,n);const i=await t(e),s=await r();return void 0!==i&&void 0!==s?b([i,s]):void 0!==i?i:s}function B(e,t,r,n){if(u(e)){const n=new l;return(async()=>{const i=R(n);try{const n=await P(e),s=await t(n),a=await r();let o;o=void 0!==s&&void 0!==a?b([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(f(e)){let i,s=!1;return new ReadableStream({start(){i=e.getReader()},async pull(n){if(s)return n.close(),void e.releaseLock();try{for(;;){const{value:a,done:o}=await i.read();s=o;const c=await(o?r:t)(a);if(void 0!==c)return void n.enqueue(c);if(o)return n.close(),void e.releaseLock()}}catch(e){n.error(e)}},async cancel(e){await i.cancel(e)}},n)}throw new Error("Unreachable")}function C(e,t){if(f(e)&&!u(e)){let r;const n=new TransformStream({start(e){r=e}}),i=v(e,n.writable),s=E(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(n.readable,s.writable),s.readable}e=w(e);const r=new l;return t(e,r),r}function S(e,t){let r;const n=C(e,(e,i)=>{const s=M(e);s.remainder=()=>(s.releaseLock(),v(e,i),n),r=t(s)});return r}function D(e){if(u(e))return e.clone();if(f(e)){const t=function(e){if(u(e))throw new Error("ArrayStream cannot be tee()d, use clone() instead");if(f(e)){const t=m(e).tee();return t[0][g]=t[1][g]=e[g],t}return[U(e),U(e)]}(e);return K(e,t[0]),t[1]}return U(e)}function x(e){return u(e)?D(e):f(e)?new ReadableStream({start(t){const r=C(e,async(e,r)=>{const n=M(e),i=R(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch{}return void await i.close()}try{t.enqueue(r)}catch{}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}});K(e,r)}}):U(e)}function K(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))})}function U(e,t=0,r=1/0){if(u(e))throw new Error("Not implemented");if(f(e)){if(t>=0&&r>=0){let n,i=0;return new ReadableStream({start(){n=e.getReader()},async pull(s){try{for(;;){if(!(i=t&&(c=U(a,Math.max(t-i,0),r-i)),i+=a.length,c)return void s.enqueue(c)}}}catch(e){s.error(e)}},async cancel(e){await n.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let n=[];return k(e,e=>{e.length>=-t?n=[e]:n.push(e)},()=>U(b(n),t,r))}if(0===t&&r<0){let n;return k(e,e=>{const i=n?b([n,e]):e;if(i.length>=-r)return n=U(i,r),U(i,t,r);n=i})}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),F(async()=>U(await P(e),t,r))}return e[g]&&(e=b(e[g].concat([e]))),A(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function P(e,t=b){return u(e)?e.readToEnd(t):f(e)?M(e).readToEnd(t):e}async function T(e,t){if(f(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function F(e){const t=new l;return(async()=>{const r=R(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function M(e){return new y(e)}function R(e){return new h(e)}y.prototype.read=async function(){return this[g]&&this[g].length?{done:!1,value:this[g].shift()}:this._read()},y.prototype.releaseLock=function(){this[g]&&(this.stream[g]=this[g]),this._releaseLock()},y.prototype.cancel=function(e){return this._cancel(e)},y.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?b(t):void 0;const i=n.indexOf("\n")+1;i&&(e=b(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},y.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(U(t,1)),r},y.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?b(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=b(t);return this.unshift(U(r,e)),U(r,0,e)}}},y.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},y.prototype.unshift=function(...e){this[g]||(this[g]=[]),1===e.length&&A(e[0])&&this[g].length&&e[0].length&&this[g][0].byteOffset>=e[0].length?this[g][0]=new Uint8Array(this[g][0].buffer,this[g][0].byteOffset-e[0].length,this[g][0].byteLength+e[0].length):this[g].unshift(...e.filter(e=>e&&e.length))},y.prototype.readToEnd=async function(e=b){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};const Q=Symbol("byValue");var N={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28},symmetric:{idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20,padding:21},literal:{binary:"b".charCodeAt(),text:"t".charCodeAt(),utf8:"u".charCodeAt(),mime:"m".charCodeAt()},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuerKeyID:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw new Error("Invalid enum value.")},read:function(e,t){if(e[Q]||(e[Q]=[],Object.entries(e).forEach(([t,r])=>{e[Q][r]=t})),void 0!==e[Q][t])return e[Q][t];throw new Error("Invalid enum value.")}};const O={preferredHashAlgorithm:N.hash.sha512,preferredSymmetricAlgorithm:N.symmetric.aes256,preferredCompressionAlgorithm:N.compression.uncompressed,aeadProtect:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:N.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:N.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},maxArgon2MemoryExponent:30,allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([N.symmetric.aes128,N.symmetric.aes192,N.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.3.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,maxDecompressedMessageSize:1/0,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([N.hash.md5,N.hash.ripemd]),rejectMessageHashAlgorithms:new Set([N.hash.md5,N.hash.ripemd,N.hash.sha1]),rejectPublicKeyAlgorithms:new Set([N.publicKey.elgamal,N.publicKey.dsa]),rejectCurves:new Set([N.curve.secp256k1])},L=(()=>{try{return!1}catch{}return!1})(),G={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:A,isStream:f,getNobleCurve:async(e,t)=>{if(!O.useEllipticFallback)throw new Error("This curve is only supported in the full build of OpenPGP.js");const{nobleCurves:r}=await Promise.resolve().then(function(){return zu});switch(e){case N.publicKey.ecdh:case N.publicKey.ecdsa:{const e=r.get(t);if(!e)throw new Error("Unsupported curve");return e}case N.publicKey.x448:return r.get("x448");case N.publicKey.ed448:return r.get("ed448");default:throw new Error("Unsupported curve")}},readNumber:function(e){let t=0;for(let r=0;r>8*(t-n-1)&255;return r},readDate:function(e){const t=G.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return G.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=7+(e[0]<<8|e[1])>>>3;return G.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.lengtht)throw new Error("Input array too long");const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=G.uint8ArrayBitLength(e);if(0===t)throw new Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return G.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t>1);for(let r=0;r>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t="0123456789abcdef";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),r},stringToUint8Array:function(e){return k(e,e=>{if(!G.isString(e))throw new Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;rr("",!0))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return k(e,r,()=>r(new Uint8Array,!0))},concat:b,concatUint8Array:d,equalsUint8Array:function(e,t){if(!G.isUint8Array(e)||!G.isUint8Array(t))throw new Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r=0;r--)if(t(e[r],r,e))return r;return-1},writeChecksum:function(e){let t=0;for(let r=0;r>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){const e=void 0!==n&&n.crypto&&n.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!e)throw new Error("The WebCrypto API is not available");return e},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){return"undefined"!=typeof navigator?navigator.hardwareConcurrency||1:this.nodeRequire("os").cpus().length},isEmailAddress:function(e){return!!G.isString(e)&&/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return k(e,e=>{let r;t&&(e=G.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let s=0;for(let t=0;tt?new Uint8Array([13]):void 0)},nativeEOL:function(e){let t=!1;return k(e,e=>{let r;13===(e=t&&10!==e[0]?G.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)},()=>t?new Uint8Array([13]):void 0)},removeTrailingSpaces:function(e){return e.split("\n").map(e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)}).join("\n")},wrapError:function(e,t){if(!t)return e instanceof Error?e:new Error(e);if(e instanceof Error){try{e.message+=": "+t.message,e.cause=t}catch{}return e}return new Error(e+": "+t.message,{cause:t})},constructAllowedPackets:function(e){const t={};return e.forEach(e=>{if(!e.tag)throw new Error("Invalid input: expected a packet class");t[e.tag]=e}),t},anyPromise:function(e){return new Promise((t,r)=>{let n;Promise.all(e.map(async e=>{try{t(await e)}catch(e){n=e}})).then(()=>{r(n)})})},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let s=0;for(let n=0;n{t=G.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,s=j(t.subarray(0,i));for(let e=0;et.length?j(t)+"\n":"")}function J(e){let t="";return k(e,e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const s=W(t.substr(0,i));return t=t.substr(i),s},()=>W(t))}function Z(e){return J(e.replace(/-/g,"+").replace(/_/g,"/"))}function q(e,t){let r=Y(e).replace(/[\r\n]/g,"");return r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,""),r}function _(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw new Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?N.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?N.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?N.armor.signed:/MESSAGE/.test(t[1])?N.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?N.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?N.armor.privateKey:/SIGNATURE/.test(t[1])?N.armor.signature:void 0}function V(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function z(e){const t=function(e){let t=13501623;return k(e,e=>{const r=$?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e>24&255]^X[1][t>>16&255]^X[2][t>>8&255]^X[3][255&t];for(let n=4*r;n>8^X[0][255&t^e[n]]},()=>new Uint8Array([t,t>>8,t>>16]))}(e);return Y(t)}H?(j=e=>H.from(e).toString("base64"),W=e=>{const t=H.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(j=e=>btoa(G.uint8ArrayToString(e)),W=e=>G.stringToUint8Array(atob(e)));const X=[new Array(255),new Array(255),new Array(255),new Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(8388608&t?8801531:0);X[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)X[1][e]=X[0][e]>>8^X[0][255&X[0][e]];for(let e=0;e<=255;e++)X[2][e]=X[1][e]>>8^X[0][255&X[1][e]];for(let e=0;e<=255;e++)X[3][e]=X[2][e]>>8^X[0][255&X[2][e]];const $=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function ee(e){for(let t=0;t=0&&r!==e.length-1&&(t=e.slice(0,r)),t}function re(e){return new Promise((t,r)=>{try{const n=/^-----[^-]+-----$/m,i=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const a=[];let o,c,l=a,u=[];const h=J(C(e,async(e,f)=>{const A=M(e);try{for(;;){let e=await A.readLine();if(void 0===e)throw new Error("Misformed armored text");if(e=G.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(o)c||s!==N.armor.signed||(n.test(e)?(u=u.join("\r\n"),c=!0,ee(l),l=[],o=!1):u.push(e.replace(/^- /,"")));else if(n.test(e)&&r(new Error("Mandatory blank line missing between armor headers and armor data")),i.test(e)){if(ee(l),o=!0,c||s!==N.armor.signed){t({text:u,data:h,headers:a,type:s});break}}else l.push(e);else n.test(e)&&(s=_(e))}}catch(e){return void r(e)}const d=R(f);try{for(;;){await d.ready;const{done:e,value:t}=await A.read();if(e)throw new Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await A.readToEnd();e.length||(e=""),e=r+e,e=G.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw new Error("Misformed armored text");const i=te(t[0].slice(0,-1));await d.write(i);break}await d.write(r)}await d.ready,await d.close()}catch(e){await d.abort(e)}}))}catch(e){r(e)}}).then(async e=>(u(e.data)&&(e.data=await P(e.data)),e))}function ne(e,t,r,n,i,s=!1,a=O){let o,c;e===N.armor.signed&&(o=t.text,c=t.hash,t=t.data);const l=s&&x(t),u=[];switch(e){case N.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case N.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case N.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push(c?`Hash: ${c}\n\n`:"\n"),u.push(o.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP SIGNATURE-----\n");break;case N.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP MESSAGE-----\n");break;case N.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case N.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case N.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(V(i,a)),u.push(Y(t)),l&&u.push("=",z(l)),u.push("-----END PGP SIGNATURE-----\n")}return G.concat(u)}const ie=BigInt(0),se=BigInt(1);function ae(e){const t="0123456789ABCDEF";let r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),BigInt("0x0"+r)}function oe(e,t){const r=e%t;return rie;){const e=n&se;n>>=se,s=ce(e,s*i%r,s),i=i*i%r}return s}function ue(e){return e>=ie?e:-e}function he(e,t){const{gcd:r,x:n}=function(e,t){let r=BigInt(0),n=BigInt(1),i=BigInt(1),s=BigInt(0),a=ue(e),o=ue(t);const c=eNumber.MAX_SAFE_INTEGER)throw new Error("Number can only safely store up to 53 bits");return t}function Ae(e,t){return(e>>BigInt(t)&se)===ie?0:1}function de(e){const t=e>=se)!==t;)r++;return r}function pe(e){const t=e>=r)!==t;)n++;return n}function ge(e,t="be",r){let n=e.toString(16);n.length%2==1&&(n="0"+n);const i=n.length/2,s=new Uint8Array(r||i),a=r?r-i:0;let o=0;for(;oe&&(a=oe(a,i<oe(e,r)!==t)}(e)||!function(e,t=BigInt(2)){return le(t,e-be,e)===be}(e)||!function(e,t){const r=de(e);t||(t=Math.max(1,r/48|0));const n=e-be;let i=0;for(;!Ae(n,i);)i++;const s=e>>BigInt(i);for(;t>0;t--){let t,r=le(we(BigInt(2),n),s,e);if(r!==be&&r!==n){for(t=1;tBigInt(e)),Ie=G.getWebCrypto(),Be=G.getNodeCrypto(),Ce=Be&&Be.getHashes();function Se(e){if(Be&&Ce.includes(e))return async function(t){const r=Be.createHash(e);return k(t,e=>{r.update(e)},()=>new Uint8Array(r.digest()))}}function De(e,t){const r=async()=>{const{nobleHashes:t}=await Promise.resolve().then(function(){return Bh}),r=t.get(e);if(!r)throw new Error("Unsupported hash");return r};return async function(e){if(u(e)&&(e=await P(e)),G.isStream(e)){const t=(await r()).create();return k(e,e=>{t.update(e)},()=>t.digest())}return Ie&&t?new Uint8Array(await Ie.digest(t,e)):(await r())(e)}}const xe=Se("md5")||De("md5"),Ke=Se("sha1")||De("sha1","SHA-1"),Ue=Se("sha224")||De("sha224"),Pe=Se("sha256")||De("sha256","SHA-256"),Te=Se("sha384")||De("sha384","SHA-384"),Fe=Se("sha512")||De("sha512","SHA-512"),Me=Se("ripemd160")||De("ripemd160"),Re=Se("sha3-256")||De("sha3_256"),Qe=Se("sha3-512")||De("sha3_512");function Ne(e,t){switch(e){case N.hash.md5:return xe(t);case N.hash.sha1:return Ke(t);case N.hash.ripemd:return Me(t);case N.hash.sha256:return Pe(t);case N.hash.sha384:return Te(t);case N.hash.sha512:return Fe(t);case N.hash.sha224:return Ue(t);case N.hash.sha3_256:return Re(t);case N.hash.sha3_512:return Qe(t);default:throw new Error("Unsupported hash function")}}function Oe(e){switch(e){case N.hash.md5:return 16;case N.hash.sha1:case N.hash.ripemd:return 20;case N.hash.sha256:return 32;case N.hash.sha384:return 48;case N.hash.sha512:return 64;case N.hash.sha224:return 28;case N.hash.sha3_256:return 32;case N.hash.sha3_512:return 64;default:throw new Error("Invalid hash algorithm.")}}const Le=[];function Ge(e,t){const r=e.length;if(r>t-11)throw new Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r=8&!n;if(t)return G.selectUint8Array(a,s,t);if(a)return s;throw new Error("Decryption error")}function je(e,t,r){let n;if(t.length!==Oe(e))throw new Error("Invalid hash length");const i=new Uint8Array(Le[e].length);for(n=0;n=r.length)throw new Error("Digest size cannot exceed key modulus size");if(t&&!G.isStream(t))if(G.getWebCrypto())try{return await async function(e,t,r,n,i,s,a,o){const c=_e(r,n,i,s,a,o),l={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},u=await We.importKey("jwk",c,l,!1,["sign"]);return new Uint8Array(await We.sign("RSASSA-PKCS1-v1_5",u,t))}(N.read(N.webHash,e),t,r,n,i,s,a,o)}catch(e){G.printDebugError(e)}else if(G.getNodeCrypto())return function(e,t,r,n,i,s,a,o){const c=Ye.createSign(N.read(N.hash,e));c.write(t),c.end();const l=_e(r,n,i,s,a,o);return new Uint8Array(c.sign({key:l,format:"jwk",type:"pkcs1"}))}(e,t,r,n,i,s,a,o);return function(e,t,r,n){t=ae(t);return ge(le(ae(je(e,n,pe(t))),r=ae(r),t),"be",pe(t))}(e,r,i,c)}async function qe(e,t,r){return G.getNodeCrypto()?function(e,t,r){const n={key:Ve(t,r),format:"jwk",type:"pkcs1",padding:Ye.constants.RSA_PKCS1_PADDING};return new Uint8Array(Ye.publicEncrypt(n,e))}(e,t,r):function(e,t,r){if(t=ae(t),e=ae(Ge(e,pe(t))),r=ae(r),e>=t)throw new Error("Message size cannot exceed modulus size");return ge(le(e,r,t),"be",pe(t))}(e,t,r)}function _e(e,t,r,n,i,s){const a=ae(n),o=ae(i),c=ae(r);let l=oe(c,o-Je),u=oe(c,a-Je);return u=ge(u),l=ge(l),{kty:"RSA",n:q(e),e:q(t),d:q(r),p:q(i),q:q(n),dp:q(l),dq:q(u),qi:q(s),ext:!0}}function Ve(e,t){return{kty:"RSA",n:q(e),e:q(t),ext:!0}}function ze(e,t){return{n:Z(e.n),e:ge(t),d:Z(e.d),p:Z(e.q),q:Z(e.p),u:Z(e.qi)}}const Xe=BigInt(1),$e={"2a8648ce3d030107":N.curve.nistP256,"2b81040022":N.curve.nistP384,"2b81040023":N.curve.nistP521,"2b8104000a":N.curve.secp256k1,"2b06010401da470f01":N.curve.ed25519Legacy,"2b060104019755010501":N.curve.curve25519Legacy,"2b2403030208010107":N.curve.brainpoolP256r1,"2b240303020801010b":N.curve.brainpoolP384r1,"2b240303020801010d":N.curve.brainpoolP512r1};class et{constructor(e){if(e instanceof et)this.oid=e.oid;else if(G.isArray(e)||G.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw new Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw new Error("Invalid oid")}write(){return G.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return G.uint8ArrayToHex(this.oid)}getName(){const e=$e[this.toHex()];if(!e)throw new Error("Unknown curve object identifier.");return e}}function tt(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=G.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function rt(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):G.concatUint8Array([new Uint8Array([255]),G.writeNumber(e,4)])}function nt(e){if(e<0||e>30)throw new Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function it(e){return new Uint8Array([192|e])}function st(e,t){return G.concatUint8Array([it(e),rt(t)])}function at(e){return[N.packet.literalData,N.packet.compressedData,N.packet.symmetricallyEncryptedData,N.packet.symEncryptedIntegrityProtectedData,N.packet.aeadEncryptedData].includes(e)}async function ot(e,t,r){let n,i;try{const s=await e.peekBytes(2);if(!s||s.length<2||!(128&s[0]))throw new Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const a=await e.readByte();let o,c,u=-1,h=-1;h=0,64&a&&(h=1),h?u=63&a:(u=(63&a)>>2,c=3&a);const f=at(u);let A,d=null;if(t&&f){if("array"===t){const e=new l;n=R(e),d=e}else{const e=new TransformStream;n=R(e.writable),d=e.readable}i=r({tag:u,packet:d})}else d=[];do{if(h){const t=await e.readByte();if(A=!1,t<192)o=t;else if(t>=192&&t<224)o=(t-192<<8)+await e.readByte()+192;else if(t>223&&t<255){if(o=1<<(31&t),A=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte()}else switch(c){case 0:o=await e.readByte();break;case 1:o=await e.readByte()<<8|await e.readByte();break;case 2:o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte();break;default:o=1/0}if(o>0){let t=0;for(;;){n&&await n.ready;const{done:r,value:i}=await e.read();if(r){if(o===1/0)break;throw new Error("Unexpected end of packet")}const s=o===1/0?i:i.subarray(0,o-t);if(n?await n.write(s):d.push(s),t+=i.length,t>=o){e.unshift(i.subarray(o-t+i.length));break}}}}while(A);n?(await n.ready,await n.close()):(d=G.concatUint8Array(d),await r({tag:u,packet:d}))}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i}}class ct extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="UnsupportedError"}}class lt extends ct{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="UnknownPacketError"}}class ut extends ct{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="MalformedPacketError"}}class ht{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}async function ft(e){switch(e){case N.publicKey.ed25519:try{const e=G.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(Z(n.x)),seed:Z(r.d)}}catch(t){if("NotSupportedError"!==t.name)throw t;const{default:r}=await Promise.resolve().then(function(){return gf}),n=me(gt(e)),{publicKey:i}=r.sign.keyPair.fromSeed(n);return{A:i,seed:n}}case N.publicKey.ed448:{const e=await G.getNobleCurve(N.publicKey.ed448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,seed:t}}default:throw new Error("Unsupported EdDSA algorithm")}}async function At(e,t,r,n,i,s){if(Oe(t){if(e===N.publicKey.ed25519)return{kty:"OKP",crv:"Ed25519",x:q(t),ext:!0};throw new Error("Unsupported EdDSA algorithm")},wt=(e,t,r)=>{if(e===N.publicKey.ed25519){const n=mt(e,t);return n.d=q(r),n}throw new Error("Unsupported EdDSA algorithm")};var bt=Object.freeze({__proto__:null,generate:ft,getPayloadSize:gt,getPreferredHashAlgo:yt,sign:At,validateParams:pt,verify:dt});function vt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Et(e,...t){if(!vt(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function kt(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 It(e,t){Et(e);const r=t.outputLen;if(e.length68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function Kt(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!vt(e))throw new Error("Uint8Array expected, got "+typeof e);e=Nt(e)}return e}function Ut(e,t){return e.buffer===t.buffer&&e.byteOffset{function r(r,...n){if(Et(r),!xt)throw new Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){const t=n[0];if(!t)throw new Error("nonce / iv required");e.varSizeNonce?Et(t):Et(t,e.nonceLength)}const i=e.tagLength;i&&void 0!==n[1]&&Et(n[1]);const s=t(r,...n),a=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error("cipher output not supported");Et(t)}};let o=!1;return{encrypt(e,t){if(o)throw new Error("cannot encrypt() twice with same key + nonce");return o=!0,Et(e),a(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(Et(e),i&&e.length>i&s),o=Number(r&s);e.setUint32(t+0,a,n),e.setUint32(t+4,o,n)}function Qt(e){return e.byteOffset%4==0}function Nt(e){return Uint8Array.from(e)}const Ot=16,Lt=new Uint8Array(16),Gt=Ct(Lt),Ht=(e,t,r,n)=>({s3:r<<31|n>>>1,s2:t<<31|r>>>1,s1:e<<31|t>>>1,s0:e>>>1^225<<24&-(1&n)}),jt=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class Wt{constructor(e,t){this.blockLen=Ot,this.outputLen=Ot,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,Et(e=Kt(e),16);const r=Dt(e);let n=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),a=r.getUint32(12,!1);const o=[];for(let e=0;e<128;e++)o.push({s0:jt(n),s1:jt(i),s2:jt(s),s3:jt(a)}),({s0:n,s1:i,s2:s,s3:a}=Ht(n,i,s,a));const c=(l=t||1024)>65536?8:l>1024?4:2;var l;if(![1,2,4,8].includes(c))throw new Error("ghash: invalid window size, expected 2, 4 or 8");this.W=c;const u=128/c,h=this.windowSize=2**c,f=[];for(let e=0;e>>c-a-1&1))continue;const{s0:l,s1:u,s2:h,s3:f}=o[c*e+a];r^=l,n^=u,i^=h,s^=f}f.push({s0:r,s1:n,s2:i,s3:s})}this.t=f}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:i,t:s,windowSize:a}=this;let o=0,c=0,l=0,u=0;const h=(1<>>8*e&255;for(let e=8/i-1;e>=0;e--){const r=t>>>i*e&h,{s0:n,s1:A,s2:d,s3:p}=s[f*a+r];o^=n,c^=A,l^=d,u^=p,f+=1}}this.s0=o,this.s1=c,this.s2=l,this.s3=u}update(e){kt(this),Et(e=Kt(e));const t=Ct(e),r=Math.floor(e.length/Ot),n=e.length%Ot;for(let e=0;e>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(Nt(e));super(r,t),St(r)}update(e){e=Kt(e),kt(this);const t=Ct(e),r=e.length%Ot,n=Math.floor(e.length/Ot);for(let e=0;ee(r,t.length).update(Kt(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const Zt=Jt((e,t)=>new Wt(e,t));Jt((e,t)=>new Yt(e,t));const qt=16,_t=new Uint8Array(qt);function Vt(e){return e<<1^283&-(e>>7)}function zt(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=Vt(e);return r}const Xt=(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=Vt(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return St(e),t})(),$t=Xt.map((e,t)=>Xt.indexOf(t)),er=e=>e<<24|e>>>8,tr=e=>e<<8|e>>>24,rr=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function nr(e,t){if(256!==e.length)throw new Error("Wrong sbox length");const r=new Uint32Array(256).map((r,n)=>t(e[n])),n=r.map(tr),i=n.map(tr),s=i.map(tr),a=new Uint32Array(65536),o=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const u=256*t+l;a[u]=r[t]^n[l],o[u]=i[t]^s[l],c[u]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:i,T3:s,T01:a,T23:o}}const ir=nr(Xt,e=>zt(e,3)<<24|e<<16|e<<8|zt(e,2)),sr=nr($t,e=>zt(e,11)<<24|zt(e,13)<<16|zt(e,9)<<8|zt(e,14)),ar=(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=Vt(r))e[t]=r;return e})();function or(e){Et(e);const t=e.length;if(![16,24,32].includes(t))throw new Error("aes: invalid key size, should be 16, 24 or 32, got "+t);const{sbox2:r}=ir,n=[];Qt(e)||n.push(e=Nt(e));const i=Ct(e),s=i.length,a=e=>ur(r,e,e,e,e),o=new Uint32Array(t+28);o.set(i);for(let e=s;e6&&e%s===4&&(t=a(t)),o[e]=o[e-s]^t}return St(...n),o}function cr(e){const t=or(e),r=t.slice(),n=t.length,{sbox2:i}=ir,{T0:s,T1:a,T2:o,T3:c}=sr;for(let e=0;e>>8&255]^o[n>>>16&255]^c[n>>>24]}return r}function lr(e,t,r,n,i,s){return e[r<<8&65280|n>>>8&255]^t[i>>>8&65280|s>>>24&255]}function ur(e,t,r,n,i){return e[255&t|65280&r]|e[n>>>16&255|i>>>16&65280]<<16}function hr(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=ir;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const l=e.length/4-2;for(let s=0;s=0;e--)r=r+(255&s[e])|0,s[e]=255&r,r>>>=8;({s0:o,s1:c,s2:l,s3:u}=hr(e,a[0],a[1],a[2],a[3]))}const A=qt*Math.floor(h.length/4);if(A>>0,o.setUint32(u,f,t),({s0:A,s1:d,s2:p,s3:g}=hr(e,a[0],a[1],a[2],a[3]));const y=qt*Math.floor(c.length/4);if(yr(e,t),decrypt:(e,t)=>r(e,t)}}),gr=Ft({blockSize:16,nonceLength:16},function(e,t,r={}){const n=!r.disablePadding;return{encrypt(r,i){const s=or(e),{b:a,o,out:c}=function(e,t,r){Et(e);let n=e.length;const i=n%qt;if(!t&&0!==i)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");Qt(e)||(e=Nt(e));const s=Ct(e);if(t){let e=qt-i;e||(e=qt),n+=e}return Pt(e,r=Mt(n,r)),{b:s,o:Ct(r),out:r}}(r,n,i);let l=t;const u=[s];Qt(l)||u.push(l=Nt(l));const h=Ct(l);let f=h[0],A=h[1],d=h[2],p=h[3],g=0;for(;g+4<=a.length;)f^=a[g+0],A^=a[g+1],d^=a[g+2],p^=a[g+3],({s0:f,s1:A,s2:d,s3:p}=hr(s,f,A,d,p)),o[g++]=f,o[g++]=A,o[g++]=d,o[g++]=p;if(n){const e=function(e){const t=new Uint8Array(16),r=Ct(t);t.set(e);const n=qt-e.length;for(let e=qt-n;e16)throw new Error("aes/pcks5: wrong padding");const i=e.subarray(0,-n);for(let t=0;tr(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}});const mr=Ft({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){if(t.length<8)throw new Error("aes/gcm: invalid nonce length");function n(e,t,n){const i=function(e,t,r,n,i){const s=i?i.length:0,a=e.create(r,n.length+s);i&&a.update(i);const o=function(e,t,r){const n=new Uint8Array(16),i=Dt(n);return Rt(i,0,BigInt(t),r),Rt(i,8,BigInt(e),r),n}(8*n.length,8*s,t);a.update(n),a.update(o);const c=a.digest();return St(o),c}(Zt,!1,e,n,r);for(let e=0;e=2**32)throw new Error("plaintext should be less than 4gb");const r=or(e);if(16===t.length)br(r,t);else{const e=Ct(t);let n=e[0],i=e[1];for(let t=0,s=1;t<6;t++)for(let t=2;t=2**32)throw new Error("ciphertext should be less than 4gb");const r=cr(e),n=t.length/8-1;if(1===n)vr(r,t);else{const e=Ct(t);let i=e[0],s=e[1];for(let t=0,a=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,a--){s^=rr(a);const{s0:n,s1:o,s2:c,s3:l}=fr(r,i,s,e[t],e[t+1]);i=n,s=o,e[t]=c,e[t+1]=l}e[0]=i,e[1]=s}r.fill(0)}},kr=new Uint8Array(8).fill(166),Ir=Ft({blockSize:8},e=>({encrypt(t){if(!t.length||t.length%8!=0)throw new Error("invalid plaintext length");if(8===t.length)throw new Error("8-byte keys not allowed in AESKW, use AESKWP instead");const r=function(...e){let t=0;for(let r=0;r{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);if(r.x!==n.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(Z(n.x)),k:Z(r.d)}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then(function(){return gf}),{secretKey:r,publicKey:n}=t.box.keyPair();return{A:n,k:r}}case N.publicKey.x448:{const e=await G.getNobleCurve(N.publicKey.x448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,k:t}}default:throw new Error("Unsupported ECDH algorithm")}}async function Rr(e,t,r){switch(e){case N.publicKey.x25519:try{const{ephemeralPublicKey:n,sharedSecret:i}=await Lr(e,t),s=await Gr(e,n,t,r);return G.equalsUint8Array(i,s)}catch{return!1}case N.publicKey.x448:{const e=(await G.getNobleCurve(N.publicKey.x448)).getPublicKey(r);return G.equalsUint8Array(t,e)}default:return!1}}async function Qr(e,t,r){const{ephemeralPublicKey:n,sharedSecret:i}=await Lr(e,r),s=G.concatUint8Array([n,r,i]);switch(e){case N.publicKey.x25519:{const e=N.symmetric.aes128,{keySize:r}=xr(e),i=await Tr(N.hash.sha256,s,new Uint8Array,Fr.x25519,r);return{ephemeralPublicKey:n,wrappedKey:await Ur(e,i,t)}}case N.publicKey.x448:{const e=N.symmetric.aes256,{keySize:r}=xr(N.symmetric.aes256),i=await Tr(N.hash.sha512,s,new Uint8Array,Fr.x448,r);return{ephemeralPublicKey:n,wrappedKey:await Ur(e,i,t)}}default:throw new Error("Unsupported ECDH algorithm")}}async function Nr(e,t,r,n,i){const s=await Gr(e,t,n,i),a=G.concatUint8Array([t,n,s]);switch(e){case N.publicKey.x25519:{const e=N.symmetric.aes128,{keySize:t}=xr(e);return Pr(e,await Tr(N.hash.sha256,a,new Uint8Array,Fr.x25519,t),r)}case N.publicKey.x448:{const e=N.symmetric.aes256,{keySize:t}=xr(N.symmetric.aes256);return Pr(e,await Tr(N.hash.sha512,a,new Uint8Array,Fr.x448,t),r)}default:throw new Error("Unsupported ECDH algorithm")}}function Or(e){switch(e){case N.publicKey.x25519:return 32;case N.publicKey.x448:return 56;default:throw new Error("Unsupported ECDH algorithm")}}async function Lr(e,t){switch(e){case N.publicKey.x25519:try{const r=G.getWebCrypto(),n=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch(e=>{if("OperationError"===e.name){const e=new Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),i=await r.exportKey("jwk",n.publicKey);if((await r.exportKey("jwk",n.privateKey)).x!==i.x){const e=new Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}const s=jr(e,t),a=await r.importKey("jwk",s,"X25519",!1,[]),o=await r.deriveBits({name:"X25519",public:a},n.privateKey,8*Or(e));return{sharedSecret:new Uint8Array(o),ephemeralPublicKey:new Uint8Array(Z(i.x))}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return gf}),{secretKey:n,publicKey:i}=r.box.keyPair(),s=r.scalarMult(n,t);return Hr(s),{ephemeralPublicKey:i,sharedSecret:s}}case N.publicKey.x448:{const e=await G.getNobleCurve(N.publicKey.x448),{secretKey:r,publicKey:n}=e.keygen(),i=e.getSharedSecret(r,t);return Hr(i),{ephemeralPublicKey:n,sharedSecret:i}}default:throw new Error("Unsupported ECDH algorithm")}}async function Gr(e,t,r,n){switch(e){case N.publicKey.x25519:try{const i=G.getWebCrypto(),s=function(e,t,r){if(e===N.publicKey.x25519){const n=jr(e,t);return n.d=q(r),n}throw new Error("Unsupported ECDH algorithm")}(e,r,n),a=jr(e,t),o=await i.importKey("jwk",s,"X25519",!1,["deriveKey","deriveBits"]),c=await i.importKey("jwk",a,"X25519",!1,[]),l=await i.deriveBits({name:"X25519",public:c},o,8*Or(e));return new Uint8Array(l)}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then(function(){return gf}),i=r.scalarMult(n,t);return Hr(i),i}case N.publicKey.x448:{const e=(await G.getNobleCurve(N.publicKey.x448)).getSharedSecret(n,t);return Hr(e),e}default:throw new Error("Unsupported ECDH algorithm")}}function Hr(e){let t=0;for(let r=0;r0===s[0]&&hn(a,r,s.subarray(1),i);if(n&&!G.isStream(n))switch(a.type){case"web":try{const e=await async function(e,t,{r,s:n},i,s){const a=sn(e.payloadSize,Zr[e.name],s),o=await on.importKey("jwk",a,{name:"ECDSA",namedCurve:Zr[e.name],hash:{name:N.read(N.webHash,e.hash)}},!1,["verify"]),c=G.concatUint8Array([r,n]).buffer;return on.verify({name:"ECDSA",namedCurve:Zr[e.name],hash:{name:N.read(N.webHash,t)}},o,c,i)}(a,t,r,n,i);return e||o()}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;G.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":{const e=function(e,t,{r,s:n},i,s){const a=G.nodeRequire("eckey-utils"),o=G.getNodeBuffer(),{publicKey:c}=a.generateDer({curveName:_r[e.name],publicKey:o.from(s)}),l=cn.createVerify(N.read(N.hash,t));l.write(i),l.end();const u=G.concatUint8Array([r,n]);try{return l.verify({key:c,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},u)}catch{return!1}}(a,t,r,n,i);return e||o()}}return await hn(a,r,s,i)||o()}async function hn(e,t,r,n){return(await G.getNobleCurve(N.publicKey.ecdsa,e.name)).verify(G.concatUint8Array([t.r,t.s]),r,n,{lowS:!1})}var fn=Object.freeze({__proto__:null,sign:ln,validateParams:async function(e,t,r){const n=new zr(e);if(n.keyType!==N.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=me(8),i=N.hash.sha256,s=await Ne(i,n);try{const a=await ln(e,i,n,t,r,s);return await un(e,i,a,n,t,s)}catch{return!1}}default:return en(N.publicKey.ecdsa,e,t,r)}},verify:un});async function An(e,t,r,n,i,s){if(tn(new zr(e),n),Oe(t)0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(G.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw new Error("Invalid padding")}function mn(e,t,r,n){return G.concatUint8Array([t.write(),new Uint8Array([e]),r.write(),G.stringToUint8Array("Anonymous Sender "),n])}async function wn(e,t,r,n,i=!1,s=!1){let a;if(i){for(a=0;a=0&&0===t[a];a--);t=t.subarray(0,a+1)}return(await Ne(e,G.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function bn(e,t,r,n,i){const s=function(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}(r),a=new zr(e);tn(a,n);const{publicKey:o,sharedKey:c}=await async function(e,t){switch(e.type){case"curve25519Legacy":{const{sharedSecret:r,ephemeralPublicKey:n}=await Lr(N.publicKey.x25519,t.subarray(1));return{publicKey:G.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),n]),sharedKey:r}}case"web":if(e.web&&G.getWebCrypto())try{return await async function(e,t){const r=G.getWebCrypto(),n=sn(e.payloadSize,e.web,t);let i=r.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),s=r.importKey("jwk",n,{name:"ECDH",namedCurve:e.web},!1,[]);[i,s]=await Promise.all([i,s]);let a=r.deriveBits({name:"ECDH",namedCurve:e.web,public:s},i.privateKey,e.sharedSize),o=r.exportKey("jwk",i.publicKey);[a,o]=await Promise.all([a,o]);const c=new Uint8Array(a);return{publicKey:new Uint8Array(nn(o,e.wireFormatLeadingByte)),sharedKey:c}}(e,t)}catch(r){return G.printDebugError(r),kn(e,t)}break;case"node":return function(e,t){const r=G.getNodeCrypto().createECDH(e.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t));return{publicKey:new Uint8Array(r.getPublicKey()),sharedKey:n}}(e,t);default:return kn(e,t)}}(a,n),l=mn(N.publicKey.ecdh,e,t,i),{keySize:u}=xr(t.cipher),h=await wn(t.hash,c,u,l);return{publicKey:o,wrappedKey:await Ur(t.cipher,h,s)}}async function vn(e,t,r,n,i,s,a){const o=new zr(e);tn(o,i),tn(o,r);const{sharedKey:c}=await async function(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519Legacy":{const e=n.slice().reverse();return{secretKey:e,sharedKey:await Gr(N.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&G.getWebCrypto())try{return await async function(e,t,r,n){const i=G.getWebCrypto(),s=an(e.payloadSize,e.web,r,n);let a=i.importKey("jwk",s,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]);const o=sn(e.payloadSize,e.web,t);let c=i.importKey("jwk",o,{name:"ECDH",namedCurve:e.web},!0,[]);[a,c]=await Promise.all([a,c]);let l=i.deriveBits({name:"ECDH",namedCurve:e.web,public:c},a,e.sharedSize),u=i.exportKey("jwk",a);[l,u]=await Promise.all([l,u]);const h=new Uint8Array(l);return{secretKey:Z(u.d),sharedKey:h}}(e,t,r,n)}catch(r){return G.printDebugError(r),En(e,t,n)}break;case"node":return function(e,t,r){const n=G.getNodeCrypto().createECDH(e.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n);default:return En(e,t,n)}}(o,r,i,s),l=mn(N.publicKey.ecdh,e,t,a),{keySize:u}=xr(t.cipher);let h;for(let e=0;e<3;e++)try{const r=await wn(t.hash,c,u,l,1===e,2===e);return yn(await Pr(t.cipher,r,n))}catch(e){h=e}throw h}async function En(e,t,r){return{secretKey:r,sharedKey:(await G.getNobleCurve(N.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function kn(e,t){const r=await G.getNobleCurve(N.publicKey.ecdh,e.name),{publicKey:n,privateKey:i}=await e.genKeyPair();return{publicKey:n,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var In=Object.freeze({__proto__:null,decrypt:vn,encrypt:bn,validateParams:async function(e,t,r){return en(N.publicKey.ecdh,e,t,r)}}),Bn=Object.freeze({__proto__:null,CurveWithOID:zr,ecdh:In,ecdhX:Wr,ecdsa:fn,eddsa:bt,eddsaLegacy:gn,generate:Xr,getPreferredHashAlgo:$r});const Cn=BigInt(0),Sn=BigInt(1);class Dn{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw new Error("Invalid symmetric key")}write(){return G.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class xn{constructor(e){if(e){const{hash:t,cipher:r}=e;this.hash=t,this.cipher=r}else this.hash=null,this.cipher=null}read(e){if(e.length<4||3!==e[0]||1!==e[1])throw new ct("Cannot read KDFParams");return this.hash=e[2],this.cipher=e[3],4}write(){return new Uint8Array([3,1,this.hash,this.cipher])}}class Kn{static fromObject({wrappedKey:e,algorithm:t}){const r=new Kn;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=G.readExactSubarray(e,t,t+r),t+=r}write(){return G.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Un(e,t,r,n,i,s){switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:a}=t,{d:o,p:c,q:l,u}=r;return async function(e,t,r,n,i,s,a,o){if(G.getNodeCrypto()&&!o)try{return function(e,t,r,n,i,s,a){const o={key:_e(t,r,n,i,s,a),format:"jwk",type:"pkcs1",padding:Ye.constants.RSA_PKCS1_PADDING};try{return new Uint8Array(Ye.privateDecrypt(o,e))}catch{throw new Error("Decryption error")}}(e,t,r,n,i,s,a)}catch(e){G.printDebugError(e)}return function(e,t,r,n,i,s,a,o){if(e=ae(e),t=ae(t),r=ae(r),n=ae(n),i=ae(i),s=ae(s),a=ae(a),e>=t)throw new Error("Data too large.");const c=oe(n,s-Je),l=oe(n,i-Je),u=we(BigInt(2),t),h=le(he(u,t),r,t),f=le(e=oe(e*h,t),l,i);let A=oe(a*(le(e,c,s)-f),s)*i+f;return A=oe(A*u,t),He(ge(A,"be",pe(t)),o)}(e,t,r,n,i,s,a,o)}(e,i,a,o,c,l,u,s)}case N.publicKey.elgamal:{const{c1:e,c2:i}=n;return async function(e,t,r,n,i){return e=ae(e),t=ae(t),r=ae(r),He(ge(oe(he(le(e,n=ae(n),r),r)*t,r),"be",pe(r)),i)}(e,i,t.p,r.x,s)}case N.publicKey.ecdh:{const{oid:e,Q:s,kdfParams:a}=t,{d:o}=r,{V:c,C:l}=n;return vn(e,a,c,l.data,s,o,i)}case N.publicKey.x25519:case N.publicKey.x448:{const{A:i}=t,{k:s}=r,{ephemeralPublicKey:a,C:o}=n;if(null!==o.algorithm&&!G.isAES(o.algorithm))throw new Error("AES session key expected");return Nr(e,a,o.wrappedKey,i,s)}default:throw new Error("Unknown public key encryption algorithm.")}}function Pn(e,t,r){let n=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(n));n+=e.length+2;const r=G.readMPI(t.subarray(n));n+=r.length+2;const i=G.readMPI(t.subarray(n));n+=i.length+2;const s=G.readMPI(t.subarray(n));return n+=s.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:s}}}case N.publicKey.dsa:case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case N.publicKey.ecdsa:case N.publicKey.ecdh:{const i=Rn(e,r.oid);let s=G.readMPI(t.subarray(n));return n+=s.length+2,s=G.leftPad(s,i),{read:n,privateParams:{d:s}}}case N.publicKey.eddsaLegacy:{const i=Rn(e,r.oid);if(r.oid.getName()!==N.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let s=G.readMPI(t.subarray(n));return n+=s.length+2,s=G.leftPad(s,i),{read:n,privateParams:{seed:s}}}case N.publicKey.ed25519:case N.publicKey.ed448:{const r=Rn(e),i=G.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{seed:i}}}case N.publicKey.x25519:case N.publicKey.x448:{const r=Rn(e),i=G.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{k:i}}}default:throw new ct("Unknown public key encryption algorithm.")}}function Tn(e,t){const r=new Set([N.publicKey.ed25519,N.publicKey.x25519,N.publicKey.ed448,N.publicKey.x448]),n=Object.keys(t).map(n=>{const i=t[n];return G.isUint8Array(i)?r.has(e)?i:G.uint8ArrayToMPI(i):i.write()});return G.concatUint8Array(n)}function Fn(e){const{keySize:t}=xr(e);return me(t)}function Mn(e){try{e.getName()}catch{throw new ct("Unknown curve OID")}}function Rn(e,t){switch(e){case N.publicKey.ecdsa:case N.publicKey.ecdh:case N.publicKey.eddsaLegacy:return new zr(t).payloadSize;case N.publicKey.ed25519:case N.publicKey.ed448:return gt(e);case N.publicKey.x25519:case N.publicKey.x448:return Or(e);default:throw new Error("Unknown elliptic algo")}}const Qn=G.getWebCrypto(),Nn=G.getNodeCrypto(),On=Nn?Nn.getCiphers():[],Ln={idea:On.includes("idea-cfb")?"idea-cfb":void 0,tripledes:On.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:On.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:On.includes("bf-cfb")?"bf-cfb":void 0,aes128:On.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:On.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:On.includes("aes-256-cfb")?"aes-256-cfb":void 0};function Gn(e){const{blockSize:t}=xr(e),r=me(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return G.concat([r,n])}async function Hn(e,t,r,n,i){const s=N.read(N.symmetric,e);if(G.getNodeCrypto()&&Ln[s])return function(e,t,r,n){const i=N.read(N.symmetric,e),s=new Nn.createCipheriv(Ln[i],t,n);return k(r,e=>new Uint8Array(s.update(e)))}(e,t,r,n);if(G.isAES(e))return async function(e,t,r,n){if(Qn&&await Wn.isSupported(e)){const i=new Wn(e,t,n);return G.isStream(r)?I(r,e=>i.encryptChunk(e),()=>i.finish()):i.encrypt(r)}if(G.isStream(r)){const i=new Yn(!0,e,t,n);return I(r,e=>i.processChunk(e),()=>i.finish())}return yr(t,n).encrypt(r)}(e,t,r,n);const a=new(await Cr(e))(t),o=a.blockSize,c=n.slice();let l=new Uint8Array;const u=e=>{e&&(l=G.concatUint8Array([l,e]));const t=new Uint8Array(l.length);let r,n=0;for(;e?l.length>=o:l.length;){const e=a.encrypt(c);for(r=0;rnew Uint8Array(s.update(e)))}(e,t,r,n);if(G.isAES(e))return function(e,t,r,n){if(G.isStream(r)){const i=new Yn(!1,e,t,n);return I(r,e=>i.processChunk(e),()=>i.finish())}return yr(t,n).decrypt(r)}(e,t,r,n);const s=new(await Cr(e))(t),a=s.blockSize;let o=n,c=new Uint8Array;const l=e=>{e&&(c=G.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=a:c.length;){const e=s.encrypt(o);for(o=c.subarray(0,a),r=0;r!0,()=>!1)}async _runCBC(e,t){const r="AES-CBC";this.keyRef=this.keyRef||await Qn.importKey("raw",this.key,r,!1,["encrypt"]);const n=await Qn.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e);return new Uint8Array(n).subarray(0,e.length)}async encryptChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=G.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=G.concatUint8Array([this.prevBlock,n.subarray(0,n.length-this.blockSize)]),s=await this._runCBC(i);return Jn(s,n),this.prevBlock=s.slice(-this.blockSize),r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,s}let n;if(this.i+=r.length,this.i===this.nextBlock.length){const t=this.nextBlock;n=await this._runCBC(this.prevBlock),Jn(n,t),this.prevBlock=n.slice(),this.i=0;const i=e.subarray(r.length);this.nextBlock.set(i,this.i),this.i+=i.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);const t=this.nextBlock,r=await this._runCBC(this.prevBlock);Jn(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){const t=(await this._runCBC(G.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return Jn(t,e),this.clearSensitiveData(),t}}class Yn{constructor(e,t,r,n){this.forEncryption=e;const{blockSize:i}=xr(t);this.key=Br.expandKeyLE(r),n.byteOffset%4!=0&&(n=n.slice()),this.prevBlock=Zn(n),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){const t=Zn(e),r=new Uint8Array(e.length),n=Zn(r);for(let e=0;e+4<=n.length;e+=4){const{s0:r,s1:i,s2:s,s3:a}=Br.encrypt(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);n[e+0]=t[e+0]^r,n[e+1]=t[e+1]^i,n[e+2]=t[e+2]^s,n[e+3]=t[e+3]^a,this.prevBlock=(this.forEncryption?n:t).slice(e,e+4)}return r}async processChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=G.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=this._runCFB(n);return r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,i}let n;if(this.i+=r.length,this.i===this.nextBlock.length){n=this._runCFB(this.nextBlock),this.i=0;const t=e.subarray(r.length);this.nextBlock.set(t,this.i),this.i+=t.length}else n=new Uint8Array;return n}async finish(){let e;return e=0===this.i?new Uint8Array:this._runCFB(this.nextBlock).subarray(0,this.i),this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function Jn(e,t){const r=Math.min(e.length,t.length);for(let n=0;nnew Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),qn=G.getWebCrypto(),_n=G.getNodeCrypto(),Vn=16;function zn(e,t){const r=e.length-Vn;for(let n=0;ngr(t,Ai,{disablePadding:!0}).encrypt(e),s=e=>gr(t,Ai,{disablePadding:!0}).decrypt(e);let a;function o(e,t,r,s){const o=t.length/li|0;!function(e,t){const r=G.nbits(Math.max(e.length,t.length)/li|0)-1;for(let e=n+1;e<=r;e++)a[e]=G.double(a[e-1]);n=r}(t,s);const c=G.concatUint8Array([Ai.subarray(0,15-r.length),di,r]),l=63&c[15];c[15]&=192;const u=i(c),h=G.concatUint8Array([u,fi(u.subarray(0,8),u.subarray(1,9))]),f=G.shiftRight(h.subarray(0+(l>>3),17+(l>>3)),8-(7&l)).subarray(1),A=new Uint8Array(li),d=new Uint8Array(t.length+16);let p,g=0;for(p=0;p=r)throw new Error("Signature size cannot exceed modulus size");const s=ge(le(t,n,r),"be",pe(r)),a=je(e,i,pe(r));return G.equalsUint8Array(s,a)}(e,r,n,i,s)}(t,i,G.leftPad(r.s,e.length),e,a,s)}case N.publicKey.dsa:{const{g:e,p:t,q:i,y:a}=n,{r:o,s:c}=r;return async function(e,t,r,n,i,s,a,o){if(t=ae(t),r=ae(r),s=ae(s),a=ae(a),i=ae(i),o=ae(o),t<=Cn||t>=a||r<=Cn||r>=a)return G.printDebug("invalid DSA Signature"),!1;const c=oe(ae(n.subarray(0,pe(a))),a),l=he(r,a);if(l===Cn)return G.printDebug("invalid DSA Signature"),!1;i=oe(i,s),o=oe(o,s);const u=oe(c*l,a),h=oe(t*l,a);return oe(oe(le(i,u,s)*le(o,h,s),s),a)===t}(0,o,c,s,e,t,i,a)}case N.publicKey.ecdsa:{const{oid:e,Q:a}=n,o=new zr(e).payloadSize;return un(e,t,{r:G.leftPad(r.r,o),s:G.leftPad(r.s,o)},i,a,s)}case N.publicKey.eddsaLegacy:{const{oid:e,Q:i}=n,a=new zr(e).payloadSize;return dn(e,t,{r:G.leftPad(r.r,a),s:G.leftPad(r.s,a)},0,i,s)}case N.publicKey.ed25519:case N.publicKey.ed448:{const{A:i}=n;return dt(e,t,r,0,i,s)}default:throw new Error("Unknown signature algorithm.")}}bi.getNonce=function(e,t){const r=e.slice();for(let e=0;e30)throw new ki("'config.maxArgon2MemoryExponent' exceeds the max allowed value of 30");if(this.encodedM>r.maxArgon2MemoryExponent)throw new ki("Argon2 required memory exceeds `config.maxArgon2MemoryExponent`");const n=1<1048576&&(Bi=Ii(),Bi.catch(()=>{})),r}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new ki("Could not allocate required memory for Argon2"):e}}}class Si{constructor(e,t=O){this.algorithm=N.hash.sha256,this.type=N.read(N.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=me(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==G.uint8ArrayToString(e.subarray(t,t+3)))throw new ct("Unknown s2k type.");if(t+=3,1001!==1e3+e[t++])throw new ct("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new ct("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...G.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([N.write(N.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw new Error("GNU s2k type not supported.");default:throw new Error("Unknown s2k type.")}return G.concatUint8Array(e)}async produceKey(e,t,r){e=G.encodeUTF8(e);const n=[];let i=0,s=0;for(;i>1|(21845&Yi)<<1;Ji=(61680&(Ji=(52428&Ji)>>2|(13107&Ji)<<2))>>4|(3855&Ji)<<4,Wi[Yi]=((65280&Ji)>>8|(255&Ji)<<8)>>1}var Zi=function(e,t,r){for(var n=e.length,i=0,s=new Pi(t);i>c]=l}else for(a=new Pi(n),i=0;i>15-e[i]);return a},qi=new Ui(288);for(Yi=0;Yi<144;++Yi)qi[Yi]=8;for(Yi=144;Yi<256;++Yi)qi[Yi]=9;for(Yi=256;Yi<280;++Yi)qi[Yi]=7;for(Yi=280;Yi<288;++Yi)qi[Yi]=8;var _i=new Ui(32);for(Yi=0;Yi<32;++Yi)_i[Yi]=5;var Vi=Zi(qi,9,0),zi=Zi(qi,9,1),Xi=Zi(_i,5,0),$i=Zi(_i,5,1),es=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},ts=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},rs=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ns=function(e){return(e+7)/8|0},is=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new Ui(e.subarray(t,r))},ss=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],as=function(e,t,r){var n=new Error(t||ss[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,as),!r)throw n;return n},os=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8},cs=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8,e[n+2]|=r>>16},ls=function(e,t){for(var r=[],n=0;nf&&(f=s[n].s);var A=new Pi(f+1),d=us(r[u-1],A,0);if(d>t){n=0;var p=0,g=d-t,y=1<t))break;p+=y-(1<>=g;p>0;){var w=s[n].s;A[w]=0&&p;--n){var b=s[n].s;A[b]==t&&(--A[b],++p)}d=t}return{t:new Ui(A),l:d}},us=function(e,t,r){return-1==e.s?Math.max(us(e.l,t,r+1),us(e.r,t,r+1)):t[e.s]=r},hs=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new Pi(++t),n=0,i=e[0],s=1,a=function(e){r[n++]=e},o=1;o<=t;++o)if(e[o]==i&&o!=t)++s;else{if(!i&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(i),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(i);s=1,i=e[o]}return{c:r.subarray(0,n),n:t}},fs=function(e,t){for(var r=0,n=0;n>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var s=0;s4&&!C[Ri[D-1]];--D);var x,K,U,P,T=l+5<<3,F=fs(i,qi)+fs(s,_i)+a,M=fs(i,f)+fs(s,p)+a+14+3*D+fs(k,C)+2*k[16]+3*k[17]+7*k[18];if(c>=0&&T<=F&&T<=M)return As(t,u,e.subarray(c,c+l));if(os(t,u,1+(M15&&(os(t,u,O[I]>>5&127),u+=O[I]>>12)}}}else x=Vi,K=qi,U=Xi,P=_i;for(I=0;I255){cs(t,u,x[257+(L=G>>18&31)]),u+=K[L+257],L>7&&(os(t,u,G>>23&31),u+=Fi[L]);var H=31&G;cs(t,u,U[H]),u+=P[H],H>3&&(cs(t,u,G>>5&8191),u+=Mi[H])}else cs(t,u,x[G]),u+=K[G]}return cs(t,u,x[256]),u+K[256]},ps=new Ti([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),gs=new Ui(0),ys=function(){var e=1,t=0;return{p:function(r){for(var n=e,i=t,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}e=n,t=i},d:function(){return(255&(e%=65521))<<24|(65280&e)<<8|(255&(t%=65521))<<8|t>>8}}},ms=function(e,t,r,n,i){if(!i&&(i={l:1},t.dictionary)){var s=t.dictionary.subarray(-32768),a=new Ui(s.length+e.length);a.set(s),a.set(e,s.length),e=a,i.w=s.length}return function(e,t,r,n,i,s){var a=s.z||e.length,o=new Ui(n+a+5*(1+Math.ceil(a/7e3))+i),c=o.subarray(n,o.length-i),l=s.l,u=7&(s.r||0);if(t){u&&(c[0]=s.r>>3);for(var h=ps[t-1],f=h>>13,A=8191&h,d=(1<7e3||C>24576)&&(P>423||!l)){u=ds(e,c,0,b,v,E,I,C,D,B-D,u),C=k=I=0,D=B;for(var T=0;T<286;++T)v[T]=0;for(T=0;T<30;++T)E[T]=0}var F=2,M=0,R=A,Q=K-U&32767;if(P>2&&x==w(B-Q))for(var N=Math.min(f,P)-1,O=Math.min(32767,B),L=Math.min(258,P);Q<=O&&--R&&K!=U;){if(e[B+F]==e[B+F-Q]){for(var G=0;GF){if(F=G,M=Q,G>N)break;var H=Math.min(Q,G-2),j=0;for(T=0;Tj&&(j=Y,U=W)}}}Q+=(K=U)-(U=p[K])&32767}if(M){b[C++]=268435456|Li[F]<<18|ji[M];var J=31&Li[F],Z=31&ji[M];I+=Fi[J]+Mi[Z],++v[257+J],++E[Z],S=B+F,++k}else b[C++]=e[B],++v[e[B]]}}for(B=Math.max(B,S);B=a&&(c[u/8|0]=l,q=a),u=As(c,u+1,e.subarray(B,q))}s.i=a}return is(o,0,n+ns(u)+i)}(e,null==t.level?6:t.level,null==t.mem?i.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,r,n,i)},ws=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},bs=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new Ui(98304),this.o.dictionary){var r=this.o.dictionary.subarray(-32768);this.b.set(r,32768-r.length),this.s.i=32768-r.length}}return e.prototype.p=function(e,t){this.ondata(ms(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||as(5),this.s.l&&as(4);var r=e.length+this.s.z;if(r>this.b.length){if(r>2*this.b.length-32768){var n=new Ui(-32768&r);n.set(this.b.subarray(0,this.s.z)),this.b=n}var i=this.b.length-this.s.z;this.b.set(e.subarray(0,i),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(i),32768),this.s.z=e.length-i+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2),t&&(this.s=this.o={},this.b=gs)},e.prototype.flush=function(e){if(this.ondata||as(5),this.s.l&&as(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2,e){var t=new Ui(6);t[0]=this.s.r>>3;var r=As(t,this.s.r,gs);this.s.r=0,this.ondata(t.subarray(0,r>>3),!1)}},e}(),vs=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var r=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:r?r.length:0},this.o=new Ui(32768),this.p=new Ui(0),r&&this.o.set(r)}return e.prototype.e=function(e){if(this.ondata||as(5),this.d&&as(4),this.p.length){if(e.length){var t=new Ui(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,r=function(e,t,r){var n=e.length;if(!n||t.f&&!t.l)return r||new Ui(0);var i=!r,s=i||2!=t.i,a=t.i;i&&(r=new Ui(3*n));var o=function(e){var t=r.length;if(e>t){var n=new Ui(Math.max(2*t,e));n.set(r),r=n}},c=t.f||0,l=t.p||0,u=t.b||0,h=t.l,f=t.d,A=t.m,d=t.n,p=8*n;do{if(!h){c=ts(e,l,1);var g=ts(e,l+1,3);if(l+=3,!g){var y=e[(D=ns(l)+4)-4]|e[D-3]<<8,m=D+y;if(m>n){a&&as(0);break}s&&o(u+y),r.set(e.subarray(D,m),u),t.b=u+=y,t.p=l=8*m,t.f=c;continue}if(1==g)h=zi,f=$i,A=9,d=5;else if(2==g){var w=ts(e,l,31)+257,b=ts(e,l+10,15)+4,v=w+ts(e,l+5,31)+1;l+=14;for(var E=new Ui(v),k=new Ui(19),I=0;I>4)<16)E[I++]=D;else{var K=0,U=0;for(16==D?(U=3+ts(e,l,3),l+=2,K=E[I-1]):17==D?(U=3+ts(e,l,7),l+=3):18==D&&(U=11+ts(e,l,127),l+=7);U--;)E[I++]=K}}var P=E.subarray(0,w),T=E.subarray(w);A=es(P),d=es(T),h=Zi(P,A,1),f=Zi(T,d,1)}else as(1);if(l>p){a&&as(0);break}}s&&o(u+131072);for(var F=(1<>4;if((l+=15&K)>p){a&&as(0);break}if(K||as(2),Q<256)r[u++]=Q;else{if(256==Q){R=l,h=null;break}var N=Q-254;if(Q>264){var O=Fi[I=Q-257];N=ts(e,l,(1<>4;if(L||as(3),l+=15&L,T=Hi[G],G>3&&(O=Mi[G],T+=rs(e,l)&(1<p){a&&as(0);break}s&&o(u+131072);var H=u+N;if(u>4>7||(r[0]<<8|r[1])%31)&&as(6,"invalid zlib data"),(r[1]>>5&1)==+!n&&as(6,"invalid zlib data: "+(32&r[1]?"need":"unexpected")+" dictionary"),2+(r[1]>>3&4))),this.v=0}var r,n;t&&(this.p.length<4&&as(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),vs.prototype.c.call(this,t)},e}(),Is="undefined"!=typeof TextDecoder&&new TextDecoder;try{Is.decode(gs,{stream:!0})}catch(e){}class Bs{static get tag(){return N.packet.literalData}constructor(e=new Date){this.format=N.literal.utf8,this.date=G.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=N.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||G.isStream(this.text))&&(this.text=G.decodeUTF8(G.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=G.canonicalizeEOL(G.encodeUTF8(this.text))),e?x(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await S(e,async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=G.decodeUTF8(await e.readBytes(r)),this.date=G.readDate(await e.readBytes(4));let n=e.remainder();u(n)&&(n=await P(n)),this.setBytes(n,t)})}writeHeader(){const e=G.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=G.writeDate(this.date);return G.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return G.concat([e,t])}}class Cs{constructor(){this.bytes=""}read(e){return this.bytes=G.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return G.stringToUint8Array(this.bytes)}toHex(){return G.uint8ArrayToHex(G.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new Cs;return t.read(G.hexToUint8Array(e)),t}static wildcard(){const e=new Cs;return e.read(new Uint8Array(8)),e}}const Ss=Symbol("verified"),Ds="salt@notations.openpgpjs.org",xs=new Set([N.signatureSubpacket.issuerKeyID,N.signatureSubpacket.issuerFingerprint,N.signatureSubpacket.embeddedSignature]);class Ks{static get tag(){return N.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Cs,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.preferredCipherSuites=null,this.revoked=null,this[Ss]=null}read(e,t=O){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new ct("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw new Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){const t=e[r++];this.salt=e.subarray(r,r+t),r+=t}const n=e.subarray(r,e.length),{read:i,signatureParams:s}=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(r));return r+=e.length+2,{read:r,signatureParams:{s:e}}}case N.publicKey.dsa:case N.publicKey.ecdsa:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case N.publicKey.eddsaLegacy:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case N.publicKey.ed25519:case N.publicKey.ed448:{const n=2*gt(e),i=G.readExactSubarray(t,r,r+n);return r+=i.length,{read:r,signatureParams:{RS:i}}}default:throw new ct("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,n);if(iTn(this.publicKeyAlgorithm,await this.params)):Tn(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),G.concat(e)}async sign(e,t,r=new Date,n=!1,i){this.version=e.version,this.created=G.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();const s=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){const e=Ps(this.hashAlgorithm);if(null===this.salt)this.salt=me(e);else if(e!==this.salt.length)throw new Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter(({name:e})=>e===Ds).length)throw new Error("Unexpected existing salt notation");{const e=me(Ps(this.hashAlgorithm));this.rawNotations.push({name:Ds,value:e,humanReadable:!1,critical:!1})}}s.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=G.concat(s);const a=this.toHash(this.signatureType,t,n),o=await this.hash(this.signatureType,t,a,n);this.signedHashValue=U(D(o),0,2);const c=async()=>async function(e,t,r,n,i,s){if(!r||!n)throw new Error("Missing key parameters");switch(e){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.rsaSign:{const{n:e,e:a}=r,{d:o,p:c,q:l,u}=n;return{s:await Ze(t,i,e,a,o,c,l,u,s)}}case N.publicKey.dsa:{const{g:e,p:t,q:i}=r,{x:a}=n;return async function(e,t,r,n,i,s){const a=BigInt(0);let o,c,l,u;n=ae(n),i=ae(i),r=ae(r),s=ae(s),r=oe(r,n),s=oe(s,i);const h=oe(ae(t.subarray(0,pe(i))),i);for(;;){if(o=we(Sn,i),c=oe(le(r,o,n),i),c===a)continue;const e=oe(s*c,i);if(u=oe(h+e,i),l=oe(he(o,i)*u,i),l!==a)break}return{r:ge(c,"be",pe(n)),s:ge(l,"be",pe(n))}}(0,s,e,t,i,a)}case N.publicKey.elgamal:throw new Error("Signing with Elgamal is not defined in the OpenPGP standard.");case N.publicKey.ecdsa:{const{oid:e,Q:a}=r,{d:o}=n;return ln(e,t,i,a,o,s)}case N.publicKey.eddsaLegacy:{const{oid:e,Q:i}=r,{seed:a}=n;return An(e,t,0,i,a,s)}case N.publicKey.ed25519:case N.publicKey.ed448:{const{A:i}=r,{seed:a}=n;return At(e,t,0,i,a,s)}default:throw new Error("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await P(o));G.isStream(o)?this.params=c():(this.params=await c(),this[Ss]=!0)}writeHashedSubPackets(){const e=N.signatureSubpacket,t=[];let r;if(null===this.created)throw new Error("Missing signature creation time");t.push(Us(e.signatureCreationTime,!0,G.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Us(e.signatureExpirationTime,!0,G.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Us(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Us(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Us(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Us(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Us(e.keyExpirationTime,!0,G.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Us(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=G.concat([r,this.revocationKeyFingerprint]),t.push(Us(e.revocationKey,!1,r))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&t.push(Us(e.issuerKeyID,!1,this.issuerKeyID.write())),this.rawNotations.forEach(({name:n,value:i,humanReadable:s,critical:a})=>{r=[new Uint8Array([s?128:0,0,0,0])];const o=G.encodeUTF8(n);r.push(G.writeNumber(o.length,2)),r.push(G.writeNumber(i.length,2)),r.push(o),r.push(i),r=G.concat(r),t.push(Us(e.notationData,a,r))}),null!==this.preferredHashAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Us(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Us(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.keyServerPreferences)),t.push(Us(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Us(e.preferredKeyServer,!1,G.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Us(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Us(e.policyURI,!1,G.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.keyFlags)),t.push(Us(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Us(e.signersUserID,!1,G.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=G.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Us(e.reasonForRevocation,!0,r))),null!==this.features&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.features)),t.push(Us(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(G.stringToUint8Array(this.signatureTargetHash)),r=G.concat(r),t.push(Us(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Us(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=G.concat(r),t.push(Us(e.issuerFingerprint,this.version>=5,r))),null!==this.preferredAEADAlgorithms&&(r=G.stringToUint8Array(G.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Us(e.preferredAEADAlgorithms,!1,r))),null!==this.preferredCipherSuites&&(r=new Uint8Array([].concat(...this.preferredCipherSuites)),t.push(Us(e.preferredCipherSuites,!1,r)));const n=G.concat(t),i=G.writeNumber(n.length,6===this.version?4:2);return G.concat([i,n])}writeUnhashedSubPackets(){const e=this.unhashedSubpackets.map(({type:e,critical:t,body:r})=>Us(e,t,r)),t=G.concat(e),r=G.writeNumber(t.length,6===this.version?4:2);return G.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)}),xs.has(i)))switch(i){case N.signatureSubpacket.signatureCreationTime:this.created=G.readDate(e.subarray(r,e.length));break;case N.signatureSubpacket.signatureExpirationTime:{const t=G.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case N.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case N.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case N.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case N.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case N.signatureSubpacket.keyExpirationTime:{const t=G.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case N.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case N.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw new Error("Unexpected Issuer Key ID subpacket");break;case N.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=G.readNumber(e.subarray(r,r+2));r+=2;const s=G.readNumber(e.subarray(r,r+2));r+=2;const a=G.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+s);this.rawNotations.push({name:a,humanReadable:t,value:o,critical:n}),t&&(this.notations[a]=G.decodeUTF8(o));break}case N.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case N.signatureSubpacket.policyURI:this.policyURI=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.signersUserID:this.signersUserID=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=G.decodeUTF8(e.subarray(r,e.length));break;case N.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Oe(this.signatureTargetHashAlgorithm);this.signatureTargetHash=G.uint8ArrayToString(e.subarray(r,r+t));break}case N.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Ks,this.embeddedSignature.read(e.subarray(r,e.length));break;case N.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case N.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case N.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t{r+=e.length},()=>{const n=[];return 5!==this.version||this.signatureType!==N.signature.binary&&this.signatureType!==N.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(G.writeNumber(r,4)),G.concat(n)})}toHash(e,t,r=!1){const n=this.toSign(e,t);return G.concat([this.salt||new Uint8Array,n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){if(6===this.version&&this.salt.length!==Ps(this.hashAlgorithm))throw new Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,n)),Ne(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,s=O){if(!this.issuerKeyID.equals(e.getKeyID()))throw new Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const a=t===N.signature.binary||t===N.signature.text;if(!this[Ss]||a){let n,s;if(this.hashed?s=await this.hashed:(n=this.toHash(t,r,i),s=await this.hash(t,r,n)),s=await P(s),this.signedHashValue[0]!==s[0]||this.signedHashValue[1]!==s[1])throw new Error("Signed digest did not match");if(this.params=await this.params,this[Ss]=await Ei(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,n,s),!this[Ss])throw new Error("Signature verification failed")}const o=G.normalizeDate(n);if(o&&this.created>o)throw new Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw new Error("Signature is expired");if(s.rejectHashAlgorithms.has(this.hashAlgorithm))throw new Error("Insecure hash algorithm: "+N.read(N.hash,this.hashAlgorithm).toUpperCase());if(s.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[N.signature.binary,N.signature.text].includes(this.signatureType))throw new Error("Insecure message hash algorithm: "+N.read(N.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach(({type:e,critical:t})=>{if(t)throw new Error(`Unknown critical signature subpacket type ${e}`)}),this.rawNotations.forEach(({name:e,critical:t})=>{if(t&&s.knownNotations.indexOf(e)<0)throw new Error(`Unknown critical notation: ${e}`)}),null!==this.revocationKeyClass)throw new Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=G.normalizeDate(e);return null!==t&&!(this.created<=t&&tKs.prototype.calculateTrailer.apply(await this.correspondingSig,e))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==N.packet.signature)throw new Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!G.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!G.equalsUint8Array(e.salt,this.salt))throw new Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Fs(e,t){if(!t[e]){let t;try{t=N.read(N.packet,e)}catch{throw new lt(`Unknown packet type with tag: ${e}`)}throw new Error(`Packet not allowed in this context: ${t}`)}return new t[e]}Ts.prototype.hash=Ks.prototype.hash,Ts.prototype.toHash=Ks.prototype.toHash,Ts.prototype.toSign=Ks.prototype.toSign;class Ms extends Array{static async fromBinary(e,t,r=O,n=null,i=!1){const s=new Ms;return await s.read(e,t,r,n,i),s}async read(e,t,r=O,n=null,i=!1){let s;r.additionalAllowedPackets.length&&(s=G.constructAllowedPackets(r.additionalAllowedPackets),t={...t,...s}),this.stream=C(e,async(e,a)=>{const o=M(e),c=R(a);try{let a=G.isStream(e);for(;;){let e,l;if(await c.ready,await ot(o,a,async a=>{try{if(a.tag===N.packet.marker||a.tag===N.packet.trust||a.tag===N.packet.padding)return;const e=Fs(a.tag,t);try{n?.recordPacket(a.tag,s)}catch(e){if(r.enforceGrammar)throw e;G.printDebugError(e)}e.packets=new Ms,e.fromStream=G.isStream(a.packet),l=e.fromStream;try{await e.read(a.packet,r)}catch(t){if(!(t instanceof ct))throw G.wrapError(new ut(`Parsing ${e.constructor.name} failed`),t);throw t}await c.write(e)}catch(t){const n=t instanceof lt&&a.tag<=39,s=t instanceof ct&&!(t instanceof lt)&&!r.ignoreUnsupportedPackets,o=t instanceof ut&&!r.ignoreMalformedPackets,l=at(a.tag);if(n||s||o||l||!(t instanceof lt||t instanceof ct||t instanceof ut))i?e=t:await c.abort(t);else{const e=new ht(a.tag,a.packet);await c.write(e)}G.printDebugError(t)}}),l&&(a=null),e)throw await o.readToEnd(),e;const u=await o.peekBytes(2);if(!u||!u.length){try{n?.recordEnd()}catch(e){if(r.enforceGrammar)throw e;G.printDebugError(e)}return await c.ready,void await c.close()}}}catch(e){await c.abort(e)}});const a=M(this.stream);for(;;){const{done:e,value:t}=await a.read();if(e?this.stream=null:this.push(t),e||at(t.constructor.tag))break}a.releaseLock()}write(){const e=[];for(let t=0;t{if(t.push(e),i+=e.length,i>=s){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=G.concat([nt(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}},()=>G.concat([rt(i)].concat(t))))}else{if(G.isStream(n)){let t=0;e.push(k(D(n),e=>{t+=e.length},()=>st(r,t)))}else e.push(st(r,n.length));e.push(n)}}return G.concat(e)}filterByTag(...e){const t=new Ms,r=e=>t=>e===t;for(let n=0;nt.constructor.tag===e)}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i0)throw new Rs("Missing trailing signature packets")}}}const Os=G.constructAllowedPackets([Bs,Ts,Ks]);class Ls{static get tag(){return N.packet.compressedData}constructor(e=O){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=O){await S(e,async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)})}write(){return null===this.compressed&&this.compress(),G.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=O){const t=N.read(N.compression,this.algorithm),r=Ys[t];if(!r)throw new Error(`${t} decompression not supported`);let n=await r(this.compressed);if(e.maxDecompressedMessageSize!==1/0){let t=0;n=k(n,r=>{if(t+=r.length,t>e.maxDecompressedMessageSize)throw new Error("Maximum decompressed message size exceeded");return r})}f(this.compressed)&&!u(this.compressed)||(n=await P(n)),this.packets=await Ms.fromBinary(n,Os,e,new Ns)}compress(){const e=N.read(N.compression,this.algorithm),t=Ws[e];if(!t)throw new Error(`${e} compression not supported`);const r=this.packets.write();let n=t(r);f(r)&&!u(r)||(n=F(()=>P(n))),this.compressed=n}}function Gs(e,t){return r=>{let n;if(n=u(r)?new ReadableStream({async start(e){try{e.enqueue(await P(r)),e.close()}catch(t){e.error(t)}}}):f(r)?r:m(r),n=function(e){const t=M(e);return new ReadableStream({async pull(e){try{const{value:r,done:n}=await t.read();if(n)return void e.close();for(let t=0;t<=r.length;t+=65536)(!t||t{e.enqueue(t),a=!0,r&&(e.close(),o=!0)}},async pull(){for(a=!1;!a&&!o;){const{done:e,value:t}=await i.read();if(e)return void s.push(new Uint8Array,!0);t.length&&s.push(t)}}},{highWaterMark:0})}}function Hs(){return async function(e){const{default:t}=await Promise.resolve().then(function(){return lA});return t(m(e))}}const js=e=>({compressor:"undefined"!=typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"undefined"!=typeof DecompressionStream&&(()=>new DecompressionStream(e))}),Ws={zip:Gs(js("deflate-raw").compressor,bs),zlib:Gs(js("deflate").compressor,Es)},Ys={uncompressed:e=>e,zip:Gs(js("deflate-raw").decompressor,vs),zlib:Gs(js("deflate").decompressor,ks),bzip2:Hs()},Js=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class Zs{static get tag(){return N.packet.symEncryptedIntegrityProtectedData}static fromObject({version:e,aeadAlgorithm:t}){if(1!==e&&2!==e)throw new Error("Unsupported SEIPD version");const r=new Zs;return r.version=e,2===e&&(r.aeadAlgorithm=t),r}constructor(){this.version=null,this.cipherAlgorithm=null,this.aeadAlgorithm=null,this.chunkSizeByte=null,this.salt=null,this.encrypted=null,this.packets=null}async read(e){await S(e,async e=>{if(this.version=await e.readByte(),1!==this.version&&2!==this.version)throw new ct(`Version ${this.version} of the SEIP packet is unsupported.`);2===this.version&&(this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte(),this.salt=await e.readBytes(32)),this.encrypted=e.remainder()})}write(){return 2===this.version?G.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.salt,this.encrypted]):G.concat([new Uint8Array([this.version]),this.encrypted])}async encrypt(e,t,r=O){const{blockSize:n,keySize:i}=xr(e);if(t.length!==i)throw new Error("Unexpected session key size");let s=this.packets.write();if(u(s)&&(s=await P(s)),2===this.version)this.cipherAlgorithm=e,this.salt=me(32),this.chunkSizeByte=r.aeadChunkSizeByte,this.encrypted=await qs(this,"encrypt",t,s);else{const r=await Gn(e),i=new Uint8Array([211,20]),a=G.concat([r,s,i]),o=await Ne(N.hash.sha1,x(a)),c=G.concat([a,o]);this.encrypted=await Hn(e,t,c,new Uint8Array(n))}return!0}async decrypt(e,t,r=O){if(t.length!==xr(e).keySize)throw new Error("Unexpected session key size");let n,i=D(this.encrypted);u(i)&&(i=await P(i));let s=!1;if(2===this.version){if(this.cipherAlgorithm!==e)throw new Error("Unexpected session key algorithm");n=await qs(this,"decrypt",t,i)}else{const{blockSize:a}=xr(e),o=await jn(e,t,i,new Uint8Array(a)),c=U(x(o),-20),l=U(o,0,-20),u=Promise.all([P(await Ne(N.hash.sha1,x(l))),P(c)]).then(([e,t])=>{if(!G.equalsUint8Array(e,t))throw new Error("Modification detected.");return new Uint8Array}),h=U(l,a+2);n=U(h,0,-2),n=b([n,F(()=>u)]),G.isStream(i)&&r.allowUnauthenticatedStream?s=!0:n=await P(n)}return this.packets=await Ms.fromBinary(n,Js,r,new Ns,s),!0}}async function qs(e,t,r,n){const i=e instanceof Zs&&2===e.version,s=!i&&e.constructor.tag===N.packet.aeadEncryptedData;if(!i&&!s)throw new Error("Unexpected packet type");const a=vi(e.aeadAlgorithm,s),o="decrypt"===t?a.tagLength:0,c="encrypt"===t?a.tagLength:0,l=2**(e.chunkSizeByte+6)+o,u=s?8:0,h=new ArrayBuffer(13+u),f=new Uint8Array(h,0,5+u),A=new Uint8Array(h),d=new DataView(h),p=new Uint8Array(h,5,8);f.set([192|e.constructor.tag,e.version,e.cipherAlgorithm,e.aeadAlgorithm,e.chunkSizeByte],0);let g,y,m=0,w=Promise.resolve(),b=0,E=0;if(i){const{keySize:t}=xr(e.cipherAlgorithm),{ivLength:n}=a,i=new Uint8Array(h,0,5),s=await Tr(N.hash.sha256,r,e.salt,i,t+n);r=s.subarray(0,t),g=s.subarray(t),g.fill(0,g.length-8),y=new DataView(g.buffer,g.byteOffset,g.byteLength)}else g=e.iv;const k=await a(e.cipherAlgorithm,r);return C(n,async(r,n)=>{if("array"!==G.isStream(r)){const t=new TransformStream({},{highWaterMark:G.getHardwareConcurrency()*2**(e.chunkSizeByte+6),size:e=>e.length});v(t.readable,n),n=t.writable}const s=M(r),a=R(n);try{for(;;){let e=await s.readBytes(l+o)||new Uint8Array;const r=e.subarray(e.length-o);let n,h,v;if(e=e.subarray(0,e.length-o),i)v=g;else{v=g.slice();for(let e=0;e<8;e++)v[g.length-8+e]^=p[e]}if(!m||e.length?(s.unshift(r),n=k[t](e,v,f),n.catch(()=>{}),E+=e.length-o+c):(d.setInt32(5+u+4,b),n=k[t](r,v,A),n.catch(()=>{}),E+=c,h=!0),b+=e.length-o,w=w.then(()=>n).then(async e=>{await a.ready,await a.write(e),E-=e.length}).catch(e=>a.abort(e)),(h||E>a.desiredSize)&&await w,h){await a.close();break}i?y.setInt32(g.length-4,++m):d.setInt32(9,++m)}}catch(e){await a.ready.catch(()=>{}),await a.abort(e)}})}const _s=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class Vs{static get tag(){return N.packet.publicKeyEncryptedSessionKey}constructor(){this.version=null,this.publicKeyID=new Cs,this.publicKeyVersion=null,this.publicKeyFingerprint=null,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}static fromObject({version:e,encryptionKeyPacket:t,anonymousRecipient:r,sessionKey:n,sessionKeyAlgorithm:i}){const s=new Vs;if(3!==e&&6!==e)throw new Error("Unsupported PKESK version");return s.version=e,6===e&&(s.publicKeyVersion=r?null:t.version,s.publicKeyFingerprint=r?null:t.getFingerprintBytes()),s.publicKeyID=r?Cs.wildcard():t.getKeyID(),s.publicKeyAlgorithm=t.algorithm,s.sessionKey=n,s.sessionKeyAlgorithm=i,s}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the PKESK packet is unsupported.`);if(6===this.version){const r=e[t++];if(r){this.publicKeyVersion=e[t++];const n=r-1;this.publicKeyFingerprint=e.subarray(t,t+n),t+=n,this.publicKeyVersion>=5?this.publicKeyID.read(this.publicKeyFingerprint):this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8))}else this.publicKeyID=Cs.wildcard()}else t+=this.publicKeyID.read(e.subarray(t,t+8));if(this.publicKeyAlgorithm=e[t++],this.encrypted=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:return{c:G.readMPI(t.subarray(r))};case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(r));return r+=e.length+2,{c1:e,c2:G.readMPI(t.subarray(r))}}case N.publicKey.ecdh:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=new Dn;return n.read(t.subarray(r)),{V:e,C:n}}case N.publicKey.x25519:case N.publicKey.x448:{const n=Rn(e),i=G.readExactSubarray(t,r,r+n);r+=i.length;const s=new Kn;return s.read(t.subarray(r)),{ephemeralPublicKey:i,C:s}}default:throw new ct("Unknown public key encryption algorithm.")}}(this.publicKeyAlgorithm,e.subarray(t)),this.publicKeyAlgorithm===N.publicKey.x25519||this.publicKeyAlgorithm===N.publicKey.x448)if(3===this.version)this.sessionKeyAlgorithm=N.write(N.symmetric,this.encrypted.C.algorithm);else if(null!==this.encrypted.C.algorithm)throw new Error("Unexpected cleartext symmetric algorithm")}write(){const e=[new Uint8Array([this.version])];return 6===this.version?null!==this.publicKeyFingerprint?(e.push(new Uint8Array([this.publicKeyFingerprint.length+1,this.publicKeyVersion])),e.push(this.publicKeyFingerprint)):e.push(new Uint8Array([0])):e.push(this.publicKeyID.write()),e.push(new Uint8Array([this.publicKeyAlgorithm]),Tn(this.publicKeyAlgorithm,this.encrypted)),G.concatUint8Array(e)}async encrypt(e){const t=N.write(N.publicKey,this.publicKeyAlgorithm),r=3===this.version?this.sessionKeyAlgorithm:null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=zs(this.version,t,r,this.sessionKey);this.encrypted=await async function(e,t,r,n,i){switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await qe(n,e,t)}}case N.publicKey.elgamal:{const{p:e,g:t,y:i}=r;return async function(e,t,r,n){t=ae(t),r=ae(r),n=ae(n);const i=ae(Ge(e,pe(t))),s=we(Xe,t-Xe);return{c1:ge(le(r,s,t)),c2:ge(oe(le(n,s,t)*i,t))}}(n,e,t,i)}case N.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:s}=r,{publicKey:a,wrappedKey:o}=await bn(e,s,n,t,i);return{V:a,C:new Dn(o)}}case N.publicKey.x25519:case N.publicKey.x448:{if(t&&!G.isAES(t))throw new Error("X25519 and X448 keys can only encrypt AES session keys");const{A:i}=r,{ephemeralPublicKey:s,wrappedKey:a}=await Qr(e,n,i);return{ephemeralPublicKey:s,C:Kn.fromObject({algorithm:t,wrappedKey:a})}}default:return[]}}(t,r,e.publicParams,i,n)}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw new Error("Decryption error");const r=t?zs(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=await Un(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,n,r),{sessionKey:s,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.elgamal:case N.publicKey.ecdh:{const t=r.subarray(0,r.length-2),i=r.subarray(r.length-2),s=G.writeChecksum(t.subarray(t.length%8)),a=s[0]===i[0]&s[1]===i[1],o=6===e?{sessionKeyAlgorithm:null,sessionKey:t}:{sessionKeyAlgorithm:t[0],sessionKey:t.subarray(1)};if(n){const t=a&o.sessionKeyAlgorithm===n.sessionKeyAlgorithm&o.sessionKey.length===n.sessionKey.length;return{sessionKey:G.selectUint8Array(t,o.sessionKey,n.sessionKey),sessionKeyAlgorithm:6===e?null:G.selectUint8(t,o.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&(6===e||N.read(N.symmetric,o.sessionKeyAlgorithm)))return o;throw new Error("Decryption error")}case N.publicKey.x25519:case N.publicKey.x448:return{sessionKeyAlgorithm:null,sessionKey:r};default:throw new Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);if(3===this.version){const e=this.publicKeyAlgorithm!==N.publicKey.x25519&&this.publicKeyAlgorithm!==N.publicKey.x448;if(this.sessionKeyAlgorithm=e?a:this.sessionKeyAlgorithm,s.length!==xr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}this.sessionKey=s}}function zs(e,t,r,n){switch(t){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.elgamal:case N.publicKey.ecdh:return G.concatUint8Array([new Uint8Array(6===e?[]:[r]),n,G.writeChecksum(n.subarray(n.length%8))]);case N.publicKey.x25519:case N.publicKey.x448:return n;default:throw new Error("Unsupported public key algorithm")}}class Xs{static get tag(){return N.packet.symEncryptedSessionKey}constructor(e=O){this.version=e.aeadProtect?6:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=null,this.aeadAlgorithm=N.write(N.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version&&6!==this.version)throw new ct(`Version ${this.version} of the SKESK packet is unsupported.`);6===this.version&&t++;const r=e[t++];this.version>=5&&(this.aeadAlgorithm=e[t++],6===this.version&&t++);const n=e[t++];if(this.s2k=xi(n),t+=this.s2k.read(e.subarray(t,e.length)),this.version>=5){const r=vi(this.aeadAlgorithm,!0);this.iv=e.subarray(t,t+=r.ivLength)}this.version>=5||t=5){const e=vi(this.aeadAlgorithm,!0),t=new Uint8Array([192|Xs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Tr(N.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.sessionKey=await a.decrypt(this.encrypted,this.iv,t)}else if(null!==this.encrypted){const e=await jn(r,s,this.encrypted,new Uint8Array(n));if(this.sessionKeyAlgorithm=N.write(N.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length),this.sessionKey.length!==xr(this.sessionKeyAlgorithm).keySize)throw new Error("Unexpected session key size")}else this.sessionKey=s}async encrypt(e,t=O){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Ki(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=xr(r),s=await this.s2k.produceKey(e,i,t);if(null===this.sessionKey&&(this.sessionKey=Fn(this.sessionKeyAlgorithm)),this.version>=5){const e=vi(this.aeadAlgorithm);this.iv=me(e.ivLength);const t=new Uint8Array([192|Xs.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Tr(N.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.encrypted=await a.encrypt(this.sessionKey,this.iv,t)}else{const e=G.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Hn(r,s,e,new Uint8Array(n))}}}class $s{static get tag(){return N.packet.publicKey}constructor(e=new Date,t=O){this.version=t.v6Keys?6:4,this.created=G.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new $s,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}async read(e,t=O){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new ct("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=G.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);const{read:t,publicParams:n}=function(e,t){let r=0;switch(e){case N.publicKey.rsaEncrypt:case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case N.publicKey.dsa:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=G.readMPI(t.subarray(r));r+=i.length+2;const s=G.readMPI(t.subarray(r));return r+=s.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:s}}}case N.publicKey.elgamal:{const e=G.readMPI(t.subarray(r));r+=e.length+2;const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=G.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case N.publicKey.ecdsa:{const e=new et;r+=e.read(t),Mn(e);const n=G.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case N.publicKey.eddsaLegacy:{const e=new et;if(r+=e.read(t),Mn(e),e.getName()!==N.curve.ed25519Legacy)throw new Error("Unexpected OID for eddsaLegacy");let n=G.readMPI(t.subarray(r));return r+=n.length+2,n=G.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case N.publicKey.ecdh:{const e=new et;r+=e.read(t),Mn(e);const n=G.readMPI(t.subarray(r));r+=n.length+2;const i=new xn;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case N.publicKey.ed25519:case N.publicKey.ed448:case N.publicKey.x25519:case N.publicKey.x448:{const n=G.readExactSubarray(t,r,r+Rn(e));return r+=n.length,{read:r,publicParams:{A:n}}}default:throw new ct("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&n.oid&&(n.oid.getName()===N.curve.curve25519Legacy||n.oid.getName()===N.curve.ed25519Legacy))throw new Error("Legacy curve25519 cannot be used with v6 keys");return this.publicParams=n,r+=t,await this.computeFingerprintAndKeyID(),r}throw new ct(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(G.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=Tn(this.algorithm,this.publicParams);return this.version>=5&&e.push(G.writeNumber(t.length,4)),e.push(t),G.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey(),r=149+e,n=e>=5?4:2;return G.concatUint8Array([new Uint8Array([r]),G.writeNumber(t.length,n),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Cs,this.version>=5)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw new Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await Ne(N.hash.sha256,e);else{if(4!==this.version)throw new Error("Unsupported key version");this.fingerprint=await Ne(N.hash.sha1,e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return G.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&G.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=N.read(N.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=G.uint8ArrayBitLength(t):this.publicParams.oid&&(e.curve=this.publicParams.oid.getName()),e}}$s.prototype.readPublicKey=$s.prototype.read,$s.prototype.writePublicKey=$s.prototype.write;const ea=G.constructAllowedPackets([Bs,Ls,Ts,Ks]);class ta extends $s{static get tag(){return N.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new ta,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}}class ra{static get tag(){return N.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t=s)return!1;if(oe(s-Sn,a)!==Cn)return!1;if(le(o,a,s)!==Sn)return!1;const l=BigInt(de(a));if(l=i)return!1;const o=BigInt(de(i));if(o{Ye.generateKeyPair("rsa",r,(r,n,i)=>{r?t(r):e(i)})});return ze(n,t)}let r,n,i;do{n=ve(e-(e>>1),t,40),r=ve(e>>1,t,40),i=r*n}while(de(i)!==e);const s=(r-Je)*(n-Je);return n({privateParams:{d:r,p:n,q:i,u:s},publicParams:{n:e,e:t}}));case N.publicKey.ecdsa:return Xr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new et(e),Q:t}}));case N.publicKey.eddsaLegacy:return Xr(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new et(e),Q:t}}));case N.publicKey.ecdh:return Xr(r).then(({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new et(e),Q:t,kdfParams:new xn({hash:n,cipher:i})}}));case N.publicKey.ed25519:case N.publicKey.ed448:return ft(e).then(({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}}));case N.publicKey.x25519:case N.publicKey.x448:return Mr(e).then(({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}}));case N.publicKey.dsa:case N.publicKey.elgamal:throw new Error("Unsupported algorithm for key generation.");default:throw new Error("Unknown public key algorithm.")}}(this.algorithm,e,t);this.privateParams=r,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach(e=>{this.privateParams[e].fill(0),delete this.privateParams[e]}),this.privateParams=null,this.isEncrypted=!0)}}async function ia(e,t,r,n,i,s,a,o){if("argon2"===t.type&&!i)throw new Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw new Error("Using Simple S2K with version 6 keys is not allowed");const{keySize:c}=xr(n),l=await t.produceKey(r,c,o);if(!i||5===e||a)return l;const u=G.concatUint8Array([s,new Uint8Array([e,n,i])]);return Tr(N.hash.sha256,l,new Uint8Array,u,c)}class sa{static get tag(){return N.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(G.isString(e)||e.name&&!G.isString(e.name)||e.email&&!G.isEmailAddress(e.email)||e.comment&&!G.isString(e.comment))throw new Error("Invalid user ID format");const t=new sa;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=O){const r=G.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw new Error("User ID string is too long");const n=e=>/^[^\s@]+@[^\s@]+$/.test(e),i=r.indexOf("<"),s=r.lastIndexOf(">");if(-1!==i&&-1!==s&&s>i){const e=r.substring(i+1,s);if(n(e)){this.email=e;const t=r.substring(0,i).trim(),n=t.indexOf("("),s=t.lastIndexOf(")");-1!==n&&-1!==s&&s>n?(this.comment=t.substring(n+1,s).trim(),this.name=t.substring(0,n).trim()):(this.name=t,this.comment="")}}else n(r.trim())&&(this.email=r.trim(),this.name="",this.comment="");this.userID=r}write(){return G.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class aa extends na{static get tag(){return N.packet.secretSubkey}constructor(e=new Date,t=O){super(e,t)}}class oa{constructor(e){this.packets=e||new Ms}write(){return this.packets.write()}armor(e=O){const t=this.packets.some(e=>e.constructor.tag===Ks.tag&&6!==e.version);return ne(N.armor.signature,this.write(),void 0,void 0,void 0,t,e)}getSigningKeyIDs(){return this.packets.map(e=>e.issuerKeyID)}}async function ca(e,t){const r=new aa(e.date,t);return r.packets=null,r.algorithm=N.write(N.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve),await r.computeFingerprintAndKeyID(),r}async function la(e,t){const r=new na(e.date,t);return r.packets=null,r.algorithm=N.write(N.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.config),await r.computeFingerprintAndKeyID(),r}async function ua(e,t,r,n,i=new Date,s){let a,o;for(let c=e.length-1;c>=0;c--)try{(!a||e[c].created>=a.created)&&(await e[c].verify(t,r,n,i,void 0,s),a=e[c])}catch(e){o=e}if(!a)throw G.wrapError(`Could not find valid ${N.read(N.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,(e,t,r)=>t+" "+r.toLowerCase()),o);return a}function ha(e,t,r=new Date){const n=G.normalizeDate(r);if(null!==n){const r=ga(e,t);return!(e.created<=n&&n0&&(s.keyExpirationTime=r.keyExpirationTime,s.keyNeverExpires=!1),await Aa(i,[],t,s,r.date,void 0,void 0,void 0,n)}async function Aa(e,t,r,n,i,s,a=[],o=!1,c){if(r.isDummy())throw new Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw new Error("Signing key is not decrypted.");const l=new Ks;return Object.assign(l,n),l.publicKeyAlgorithm=r.algorithm,l.hashAlgorithm=await async function(e,t,r=new Date,n=[],i){const s=N.hash.sha256,a=i.preferredHashAlgorithm,o=await Promise.all(e.map(async(e,t)=>(await e.getPrimarySelfSignature(r,n[t],i)).preferredHashAlgorithms||[])),c=new Map;for(const e of o)for(const t of e)try{const e=N.write(N.hash,t);c.set(e,c.has(e)?c.get(e)+1:1)}catch{}const l=t=>0===e.length||c.get(t)===e.length||t===s,u=()=>{if(0===c.size)return s;const e=Array.from(c.keys()).filter(e=>l(e)).sort((e,t)=>Oe(e)-Oe(t))[0];return Oe(e)>=Oe(s)?e:s};if(new Set([N.publicKey.ecdsa,N.publicKey.eddsaLegacy,N.publicKey.ed25519,N.publicKey.ed448]).has(t.algorithm)){const e=function(e,t){switch(e){case N.publicKey.ecdsa:case N.publicKey.eddsaLegacy:return $r(t);case N.publicKey.ed25519:case N.publicKey.ed448:return yt(e);default:throw new Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=l(a),n=Oe(a)>=Oe(e);if(r&&n)return a;{const t=u();return Oe(t)>=Oe(e)?t:e}}return l(a)?a:u()}(t,r,i,s,c),l.rawNotations=[...a],await l.sign(r,e,i,o,c),l}async function da(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map(async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some(function(t){return G.equalsUint8Array(t.writeParams(),e.writeParams())})||t[r].push(e)})):t[r]=e)}async function pa(e,t,r,n,i,s,a=new Date,o){s=s||e;const c=[];return await Promise.all(n.map(async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){const n=![N.reasonForRevocation.keyRetired,N.reasonForRevocation.keySuperseded,N.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(s,t,r,n?null:a,!1,o),c.push(e.issuerKeyID)}}catch{}})),i?(i.revoked=!!c.some(e=>e.equals(i.issuerKeyID))||i.revoked||!1,i.revoked):c.length>0}function ga(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function ya(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=G.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.type){case"ecc":try{e.curve=N.write(N.curve,e.curve)}catch{throw new Error("Unknown curve")}e.curve!==N.curve.ed25519Legacy&&e.curve!==N.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?N.curve.ed25519Legacy:N.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===N.curve.ed25519Legacy?N.publicKey.eddsaLegacy:N.publicKey.ecdsa:e.algorithm=N.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?N.publicKey.ed25519:N.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?N.publicKey.ed448:N.publicKey.x448;break;case"rsa":e.algorithm=N.publicKey.rsaEncryptSign;break;default:throw new Error(`Unsupported key type ${e.type}`)}return e}function ma(e,t,r){switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:case N.publicKey.dsa:case N.publicKey.ecdsa:case N.publicKey.eddsaLegacy:case N.publicKey.ed25519:case N.publicKey.ed448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.signData);default:return!1}}function wa(e,t,r){switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.elgamal:case N.publicKey.ecdh:case N.publicKey.x25519:case N.publicKey.x448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&N.keyFlags.encryptStorage);default:return!1}}function ba(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw new Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaEncrypt:case N.publicKey.elgamal:case N.publicKey.ecdh:case N.publicKey.x25519:case N.publicKey.x448:return!(t.keyFlags&&0===(t.keyFlags[0]&N.keyFlags.signData)||!r.allowInsecureDecryptionWithSigningKeys)||!t.keyFlags||0!==(t.keyFlags[0]&N.keyFlags.encryptCommunication)||0!==(t.keyFlags[0]&N.keyFlags.encryptStorage);default:return!1}}function va(e,t){const r=N.write(N.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw new Error(`${n.algorithm} keys are considered too weak.`);switch(r){case N.publicKey.rsaEncryptSign:case N.publicKey.rsaSign:case N.publicKey.rsaEncrypt:if(n.bitse.getKeys(o).length>0);return 0===c.length?null:(await Promise.all(c.map(async t=>{const s=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,s.keyPacket,r,n))throw new Error("User certificate is revoked");try{await e.verify(s.keyPacket,N.signature.certGeneric,a,r,void 0,n)}catch(e){throw G.wrapError("User certificate is invalid",e)}})),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map(async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch(()=>!1)})))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw new Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let s;for(let a=this.selfCertifications.length-1;a>=0;a--)try{const s=this.selfCertifications[a];if(s.revoked||await r.isRevoked(s,void 0,e,t))throw new Error("Self-certification is revoked");try{await s.verify(n,N.signature.certGeneric,i,e,void 0,t)}catch(e){throw G.wrapError("Self-certification is invalid",e)}return!0}catch(e){s=e}throw s}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await da(e,this,"selfCertifications",t,async function(e){try{return await e.verify(n,N.signature.certGeneric,i,t,!1,r),!0}catch{return!1}}),await da(e,this,"otherCertifications",t),await da(e,this,"revocationSignatures",t,function(e){return pa(n,N.signature.certRevocation,i,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=N.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=O){const s={userID:this.userID,userAttribute:this.userAttribute,key:e},a=new Ea(s.userID||s.userAttribute,this.mainKey);return a.revocationSignatures.push(await Aa(s,[],e,{signatureType:N.signature.certRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}}class ka{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Ms;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new ka(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=O){const i=this.mainKey.keyPacket;return pa(i,N.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=O){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await ua(this.bindingSignatures,r,N.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw new Error("Subkey is revoked");if(ha(this.keyPacket,i,e))throw new Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=O){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await ua(this.bindingSignatures,r,N.signature.subkeyBinding,n,e,t)}catch{return null}const s=ga(this.keyPacket,i),a=i.getExpirationTime();return si.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,N.signature.subkeyBinding,s,t,void 0,r),!0}catch{return!1}}),await da(e,this,"revocationSignatures",t,function(e){return pa(n,N.signature.subkeyRevocation,s,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=N.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=O){const s={key:e,bind:this.keyPacket},a=new ka(this.keyPacket,this.mainKey);return a.revocationSignatures.push(await Aa(s,[],e,{signatureType:N.signature.subkeyRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach(e=>{ka.prototype[e]=function(){return this.keyPacket[e]()}});const Ia=G.constructAllowedPackets([Ks]),Ba=new Set([N.packet.publicKey,N.packet.privateKey]),Ca=new Set([N.packet.publicKey,N.packet.privateKey,N.packet.publicSubkey,N.packet.privateSubkey]);class Sa{packetListToStructure(e,t=new Set){let r,n,i,s;for(const a of e){if(a instanceof ht){Ca.has(a.tag)&&!s&&(s=Ba.has(a.tag)?Ba:Ca);continue}const e=a.constructor.tag;if(s){if(!s.has(e))continue;s=null}if(t.has(e))throw new Error(`Unexpected packet type: ${e}`);switch(e){case N.packet.publicKey:case N.packet.secretKey:if(this.keyPacket)throw new Error("Key block contains multiple keys");if(this.keyPacket=a,n=this.getKeyID(),!n)throw new Error("Missing Key ID");break;case N.packet.userID:case N.packet.userAttribute:r=new Ea(a,this),this.users.push(r);break;case N.packet.publicSubkey:case N.packet.secretSubkey:r=null,i=new ka(a,this),this.subkeys.push(i);break;case N.packet.signature:switch(a.signatureType){case N.signature.certGeneric:case N.signature.certPersona:case N.signature.certCasual:case N.signature.certPositive:if(!r){G.printDebug("Dropping certification signatures without preceding user packet");continue}a.issuerKeyID.equals(n)?r.selfCertifications.push(a):r.otherCertifications.push(a);break;case N.signature.certRevocation:r?r.revocationSignatures.push(a):this.directSignatures.push(a);break;case N.signature.key:this.directSignatures.push(a);break;case N.signature.subkeyBinding:if(!i){G.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(a);break;case N.signature.keyRevocation:this.revocationSignatures.push(a);break;case N.signature.subkeyRevocation:if(!i){G.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(a)}}}}toPacketList(){const e=new Ms;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map(t=>e.push(...t.toPacketList())),this.subkeys.map(t=>e.push(...t.toPacketList())),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach(e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach(r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])}),e.keyPacket.privateParams=t}),t}getSubkeys(e=null){return this.subkeys.filter(t=>!e||t.getKeyID().equals(e,!0))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map(e=>e.getKeyID())}getUserIDs(){return this.users.map(e=>e.userID?e.userID.userID:null).filter(e=>null!==e)}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=O){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{va(i,n)}catch(e){throw G.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ua(r.bindingSignatures,i,N.signature.subkeyBinding,e,t,n);if(!ma(r.keyPacket,s,n))continue;if(!s.embeddedSignature)throw new Error("Missing embedded signature");return await ua([s.embeddedSignature],r.keyPacket,N.signature.keyBinding,e,t,n),va(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&ma(i,s,n))return va(i,n),this}catch(e){a=e}throw G.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),a)}async getEncryptionKey(e,t=new Date,r={},n=O){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{va(i,n)}catch(e){throw G.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm);let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ua(r.bindingSignatures,i,N.signature.subkeyBinding,e,t,n);if(wa(r.keyPacket,s,n))return va(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&wa(i,s,n))return va(i,n),this}catch(e){a=e}throw G.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),a)}async isRevoked(e,t,r=new Date,n=O){return pa(this.keyPacket,N.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=O){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw new Error("Primary key is revoked");if(ha(n,await this.getPrimarySelfSignature(e,t,r),e))throw new Error("Primary key is expired");if(6!==n.version){const t=await ua(this.directSignatures,n,N.signature.key,{key:n},e,r).catch(()=>{});if(t&&ha(n,t,e))throw new Error("Primary key is expired")}}async getExpirationTime(e,t=O){let r;try{const n=await this.getPrimarySelfSignature(null,e,t),i=ga(this.keyPacket,n),s=n.getExpirationTime(),a=6!==this.keyPacket.version&&await ua(this.directSignatures,this.keyPacket,N.signature.key,{key:this.keyPacket},null,t).catch(()=>{});if(a){const e=ga(this.keyPacket,a);r=Math.min(i,s,e)}else r=i{t.selfCertification.revoked||await t.user.isRevoked(t.selfCertification,null,e,r)}));const a=i.sort(function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created}).pop(),{user:o,selfCertification:c}=a;if(c.revoked||await o.isRevoked(c,null,e,r))throw new Error("Primary user is revoked");return a}async update(e,t=new Date,r=O){if(!this.hasSameFingerprintAs(e))throw new Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(this.subkeys.length!==e.subkeys.length||!this.subkeys.every(t=>e.subkeys.some(e=>t.hasSameFingerprintAs(e))))throw new Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await da(e,n,"revocationSignatures",t,i=>pa(n.keyPacket,N.signature.keyRevocation,n,[i],null,e.keyPacket,t,r)),await da(e,n,"directSignatures",t),await Promise.all(e.users.map(async e=>{const i=n.users.filter(t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.users.push(t)}})),await Promise.all(e.subkeys.map(async e=>{const i=n.subkeys.filter(t=>t.hasSameFingerprintAs(e));if(i.length>0)await Promise.all(i.map(n=>n.update(e,t,r)));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}})),n}async getRevocationCertificate(e=new Date,t=O){const r={key:this.keyPacket},n=await ua(this.revocationSignatures,this.keyPacket,N.signature.keyRevocation,r,e,t),i=new Ms;i.push(n);const s=6!==this.keyPacket.version;return ne(N.armor.publicKey,i.write(),null,null,"This is a revocation certificate",s,t)}async applyRevocationCertificate(e,t=new Date,r=O){const n=await re(e),i=(await Ms.fromBinary(n.data,Ia,r)).findPacket(N.packet.signature);if(!i||i.signatureType!==N.signature.keyRevocation)throw new Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw new Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,N.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw G.wrapError("Could not verify revocation signature",e)}const s=this.clone();return s.revocationSignatures.push(i),s}async signPrimaryUser(e,t,r,n=O){const{index:i,user:s}=await this.getPrimaryUser(t,r,n),a=await s.certify(e,t,n),o=this.clone();return o.users[i]=a,o}async signAllUsers(e,t=new Date,r=O){const n=this.clone();return n.users=await Promise.all(this.users.map(function(n){return n.certify(e,t,r)})),n}async verifyPrimaryUser(e,t=new Date,r,n=O){const i=this.keyPacket,{user:s}=await this.getPrimaryUser(t,r,n);return e?await s.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await s.verify(t,n).catch(()=>!1)}]}async verifyAllUsers(e,t=new Date,r=O){const n=this.keyPacket,i=[];return await Promise.all(this.users.map(async s=>{const a=e?await s.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await s.verify(t,r).catch(()=>!1)}];i.push(...a.map(e=>({userID:s.userID?s.userID.userID:null,userAttribute:s.userAttribute,keyID:e.keyID,valid:e.valid})))})),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach(e=>{Sa.prototype[e]=ka.prototype[e]});class Da extends Sa{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([N.packet.secretKey,N.packet.secretSubkey])),!this.keyPacket))throw new Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=O){const t=6!==this.keyPacket.version;return ne(N.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class xa extends Da{constructor(e){if(super(),this.packetListToStructure(e,new Set([N.packet.publicKey,N.packet.publicSubkey])),!this.keyPacket)throw new Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Ms,t=this.toPacketList();for(const r of t)switch(r.constructor.tag){case N.packet.secretKey:{const t=$s.fromSecretKeyPacket(r);e.push(t);break}case N.packet.secretSubkey:{const t=ta.fromSecretSubkeyPacket(r);e.push(t);break}default:e.push(r)}return new Da(e)}armor(e=O){const t=6!==this.keyPacket.version;return ne(N.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},n=O){const i=this.keyPacket,s=[];let a=null;for(let r=0;re.isDecrypted())}async validate(e=O){if(!this.isPrivate())throw new Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map(e=>e.keyPacket.isDummy()).every(Boolean))throw new Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map(e=>e.keyPacket.validate()))}}clearPrivateParams(){this.getKeys().forEach(({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()})}async revoke({flag:e=N.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=O){if(!this.isPrivate())throw new Error("Need private key for revoking");const i={key:this.keyPacket},s=this.clone();return s.revocationSignatures.push(await Aa(i,[],this.keyPacket,{signatureType:N.signature.keyRevocation,reasonForRevocationFlag:N.write(N.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),s}async addSubkey(e={}){const t={...O,...e.config};if(e.passphrase)throw new Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits0)throw new Error(`Unknown option: ${i.join(", ")}`);let s;if(e){const{type:t,data:r}=await re(e);if(t!==N.armor.publicKey&&t!==N.armor.privateKey)throw new Error("Armored text not of type key");s=r}else s=t;const a=await Ms.fromBinary(s,Ka,r),o=a.indexOfTag(N.packet.publicKey,N.packet.secretKey);if(0===o.length)throw new Error("No key packet found");return Ua(a.slice(o[0],o[1]))}async function Ta({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...O,...r};let i=e||t;if(!i)throw new Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!G.isString(e))throw new Error("readKeys: options.armoredKeys must be a string");if(t&&!G.isUint8Array(t))throw new Error("readKeys: options.binaryKeys must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);if(e){const{type:t,data:r}=await re(e);if(t!==N.armor.publicKey&&t!==N.armor.privateKey)throw new Error("Armored text not of type key");i=r}const a=[],o=await Ms.fromBinary(i,Ka,r),c=o.indexOfTag(N.packet.publicKey,N.packet.secretKey);if(0===c.length)throw new Error("No key packet found");for(let e=0;e{const t=await e.readByte();if(1!==t)throw new ct(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=vi(this.aeadAlgorithm,!0);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()})}write(){return G.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=O){this.packets=await Ms.fromBinary(await qs(this,"decrypt",t,D(this.encrypted)),_s,r,new Ns)}async encrypt(e,t,r=O){this.cipherAlgorithm=e;const{ivLength:n}=vi(this.aeadAlgorithm,!0);this.iv=me(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await qs(this,"encrypt",t,i)}},Zs,class{static get tag(){return N.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=O){if(!r.allowUnauthenticatedMessages)throw new Error("Message is not authenticated.");const{blockSize:n}=xr(e),i=await P(D(this.encrypted)),s=await jn(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Ms.fromBinary(s,ea,r)}async encrypt(e,t,r=O){const n=this.packets.write(),{blockSize:i}=xr(e),s=await Gn(e),a=await Hn(e,t,s,new Uint8Array(i)),o=await Hn(e,t,n,a.subarray(2));this.encrypted=G.concat([a,o])}},Vs,Xs,Ts,Ks]),Ma=G.constructAllowedPackets([Xs]),Ra=G.constructAllowedPackets([Ks]);class Qa{constructor(e){this.packets=e||new Ms}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(N.packet.publicKeyEncryptedSessionKey).forEach(function(t){e.push(t.publicKeyID)}),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(N.packet.onePassSignature);return t.length>0?t.map(e=>e.issuerKeyID):e.packets.filterByTag(N.packet.signature).map(e=>e.issuerKeyID)}async decrypt(e,t,r,n=new Date,i=O){const s=this.packets.filterByTag(N.packet.symmetricallyEncryptedData,N.packet.symEncryptedIntegrityProtectedData,N.packet.aeadEncryptedData);if(0===s.length)throw new Error("No encrypted data found");const a=s[0],o=a.cipherAlgorithm,c=r||await this.decryptSessionKeys(e,t,o,n,i);let l=null;const u=Promise.all(c.map(async({algorithm:e,data:t})=>{if(!G.isUint8Array(t)||!a.cipherAlgorithm&&!G.isString(e))throw new Error("Invalid session key for decryption.");try{const r=a.cipherAlgorithm||N.write(N.symmetric,e);await a.decrypt(r,t,i)}catch(e){G.printDebugError(e),l=e}}));if(T(a.encrypted),a.encrypted=null,await u,!a.packets||!a.packets.length)throw l||new Error("Decryption failed.");const h=new Qa(a.packets);return a.packets=new Ms,h}async decryptSessionKeys(e,t,r,n=new Date,i=O){let s,a=[];if(t){const e=this.packets.filterByTag(N.packet.symEncryptedSessionKey);if(0===e.length)throw new Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map(async function(t,r){let n;n=r?await Ms.fromBinary(e.write(),Ma,i):e,await Promise.all(n.map(async function(e){try{await e.decrypt(t,i),a.push(e)}catch(e){G.printDebugError(e),e instanceof ki&&(s=e)}}))}))}else{if(!e)throw new Error("No key or password specified.");{const t=this.packets.filterByTag(N.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw new Error("No public key encrypted session key packet found.");await Promise.all(t.map(async function(t){await Promise.all(e.map(async function(e){let o;try{o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map(e=>e.keyPacket)}catch(e){return void(s=e)}let c=[N.symmetric.aes256,N.symmetric.aes128,N.symmetric.tripledes,N.symmetric.cast5];try{const t=await e.getPrimarySelfSignature(n,void 0,i);t.preferredSymmetricAlgorithms&&(c=c.concat(t.preferredSymmetricAlgorithms))}catch{}await Promise.all(o.map(async function(e){if(!e.isDecrypted())throw new Error("Decryption key is not decrypted.");if(!i.constantTimePKCS1Decryption||t.publicKeyAlgorithm!==N.publicKey.rsaEncrypt&&t.publicKeyAlgorithm!==N.publicKey.rsaEncryptSign&&t.publicKeyAlgorithm!==N.publicKey.rsaSign&&t.publicKeyAlgorithm!==N.publicKey.elgamal)try{await t.decrypt(e);const n=r||t.sessionKeyAlgorithm;if(n&&!c.includes(N.write(N.symmetric,n)))throw new Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){G.printDebugError(e),s=e}else{const n=t.write();await Promise.all((r?[r]:Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map(async t=>{const r=new Vs;r.read(n);const i={sessionKeyAlgorithm:t,sessionKey:Fn(t)};try{await r.decrypt(e,i),a.push(r)}catch(e){G.printDebugError(e),s=e}}))}}))})),T(t.encrypted),t.encrypted=null}))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter(t=>{const r=t.sessionKeyAlgorithm+G.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)})}return a.map(e=>({data:e.sessionKey,algorithm:e.sessionKeyAlgorithm&&N.read(N.symmetric,e.sessionKeyAlgorithm)}))}throw s||new Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(N.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=O){const{symmetricAlgo:i,aeadAlgo:s}=await async function(e=[],t=new Date,r=[],n=O){const i=await Promise.all(e.map((e,i)=>e.getPrimarySelfSignature(t,r[i],n)));if(e.length?i.every(e=>e.features&&e.features[0]&N.features.seipdv2):n.aeadProtect){const e={symmetricAlgo:N.symmetric.aes128,aeadAlgo:N.aead.ocb},t=[{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:n.preferredAEADAlgorithm},{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:N.aead.ocb},{symmetricAlgo:N.symmetric.aes128,aeadAlgo:n.preferredAEADAlgorithm}];for(const e of t)if(i.every(t=>t.preferredCipherSuites&&t.preferredCipherSuites.some(t=>t[0]===e.symmetricAlgo&&t[1]===e.aeadAlgo)))return e;return e}const s=N.symmetric.aes128,a=n.preferredSymmetricAlgorithm;return{symmetricAlgo:i.every(e=>e.preferredSymmetricAlgorithms&&e.preferredSymmetricAlgorithms.includes(a))?a:s,aeadAlgo:void 0}}(e,t,r,n),a=N.read(N.symmetric,i),o=s?N.read(N.aead,s):void 0;return await Promise.all(e.map(e=>e.getEncryptionKey().catch(()=>null).then(e=>{if(e&&(e.keyPacket.algorithm===N.publicKey.x25519||e.keyPacket.algorithm===N.publicKey.x448)&&!o&&!G.isAES(i))throw new Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")}))),{data:Fn(i),algorithm:a,aeadAlgorithm:o}}async encrypt(e,t,r,n=!1,i=[],s=new Date,a=[],o=O){if(r){if(!G.isUint8Array(r.data)||!G.isString(r.algorithm))throw new Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Qa.generateSessionKey(e,s,a,o);else{if(!t||!t.length)throw new Error("No keys, passwords, or session key provided.");r=await Qa.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:l,aeadAlgorithm:u}=r,h=await Qa.encryptSessionKey(c,l,u,e,t,n,i,s,a,o),f=Zs.fromObject({version:u?2:1,aeadAlgorithm:u?N.write(N.aead,u):null});f.packets=this.packets;const A=N.write(N.symmetric,l);return await f.encrypt(A,c,o),h.packets.push(f),f.packets=new Ms,h}static async encryptSessionKey(e,t,r,n,i,s=!1,a=[],o=new Date,c=[],l=O){const u=new Ms,h=N.write(N.symmetric,t),f=r&&N.write(N.aead,r);if(n){const t=await Promise.all(n.map(async function(t,r){const n=await t.getEncryptionKey(a[r],o,c,l),i=Vs.fromObject({version:f?6:3,encryptionKeyPacket:n.keyPacket,anonymousRecipient:s,sessionKey:e,sessionKeyAlgorithm:h});return await i.encrypt(n.keyPacket),delete i.sessionKey,i}));u.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t,l),1}catch{return 0}},r=(e,t)=>e+t,n=async function(e,s,a,o){const c=new Xs(l);return c.sessionKey=e,c.sessionKeyAlgorithm=s,a&&(c.aeadAlgorithm=a),await c.encrypt(o,l),l.passwordCollisionCheck&&1!==(await Promise.all(i.map(e=>t(c,e)))).reduce(r)?n(e,s,o):(delete c.sessionKey,c)},s=await Promise.all(i.map(t=>n(e,h,f,t)));u.push(...s)}return new Qa(u)}async sign(e=[],t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=O){const l=new Ms,u=this.packets.findPacket(N.packet.literalData);if(!u)throw new Error("No literal data packet to sign.");const h=await Na(u,e,t,r,n,i,s,a,o,!1,c),f=h.map((e,t)=>Ts.fromSignaturePacket(e,0===t)).reverse();return l.push(...f),l.push(u),l.push(...h),new Qa(l)}compress(e,t=O){if(e===N.compression.uncompressed)return this;const r=new Ls(t);r.algorithm=e,r.packets=this.packets;const n=new Ms;return n.push(r),new Qa(n)}async signDetached(e=[],t=[],r=null,n=[],i=[],s=new Date,a=[],o=[],c=O){const l=this.packets.findPacket(N.packet.literalData);if(!l)throw new Error("No literal data packet to sign.");return new oa(await Na(l,e,t,r,n,i,s,a,o,!0,c))}async verify(e,t=new Date,r=O){const n=this.unwrapCompressed(),i=n.packets.filterByTag(N.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");let s=n.packets;u(s.stream)&&(s=s.concat(await P(s.stream,e=>e||[])));const a=s.filterByTag(N.packet.onePassSignature).reverse(),o=s.filterByTag(N.packet.signature);return a.length&&!o.length&&G.isStream(s.stream)&&!u(s.stream)?(await Promise.all(a.map(async e=>{e.correspondingSig=new Promise((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r}),e.signatureData=F(async()=>(await e.correspondingSig).signatureData),e.hashed=P(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch(()=>{})})),s.stream=C(s.stream,async(e,t)=>{const r=M(e),n=R(t);try{for(let e=0;e{t.correspondingSigReject(e)}),await n.abort(e)}}),Oa(a,i,e,t,!1,r)):Oa(o,i,e,t,!1,r)}async verifyDetached(e,t,r=new Date,n=O){const i=this.unwrapCompressed().packets.filterByTag(N.packet.literalData);if(1!==i.length)throw new Error("Can only verify message with one literal data packet.");return Oa(e.packets.filterByTag(N.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(N.packet.compressedData);return e.length?new Qa(e[0].packets):this}async appendSignature(e,t=O){await this.packets.read(G.isUint8Array(e)?e:(await re(e)).data,Ra,t)}write(){return this.packets.write()}armor(e=O){const t=this.packets[this.packets.length-1],r=t.constructor.tag===Zs.tag?2!==t.version:this.packets.some(e=>e.constructor.tag===Ks.tag&&6!==e.version);return ne(N.armor.message,this.write(),null,null,null,r,e)}}async function Na(e,t,r=[],n=null,i=[],s=new Date,a=[],o=[],c=[],l=!1,u=O){const h=new Ms,f=null===e.text?N.signature.binary:N.signature.text;if(await Promise.all(t.map(async(t,n)=>{const h=a[n];if(!t.isPrivate())throw new Error("Need private key for signing");const A=await t.getSigningKey(i[n],s,h,u);return Aa(e,r.length?r:[t],A.keyPacket,{signatureType:f},s,o,c,l,u)})).then(e=>{h.push(...e)}),n){const e=n.packets.filterByTag(N.packet.signature);h.push(...e)}return h}function Oa(e,t,r,n=new Date,i=!1,s=O){return e.filter(e=>["text","binary"].includes(N.read(N.signature,e.signatureType))).map(e=>function(e,t,r,n=new Date,i=!1,s=O){let a,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){a=t,o=r[0];break}}const c=e instanceof Ts?e.correspondingSig:e,l={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw new Error(`Could not find signing key with key ID ${e.issuerKeyID.toHex()}`);await e.verify(o.keyPacket,e.signatureType,t[0],n,i,s);const r=await c;if(o.getCreationTime()>r.created)throw new Error("Key is newer than the signature");try{await a.getSigningKey(o.getKeyID(),r.created,void 0,s)}catch(e){if(!s.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await a.getSigningKey(o.getKeyID(),n,void 0,s)}return!0})(),signature:(async()=>{const e=await c,t=new Ms;return e&&t.push(e),new oa(t)})()};return l.signature.catch(()=>{}),l.verified.catch(()=>{}),l}(e,t,r,n,i,s))}async function La({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...O,...r};let i=e||t;if(!i)throw new Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!G.isString(e)&&!G.isStream(e))throw new Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!G.isUint8Array(t)&&!G.isStream(t))throw new Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const s=Object.keys(n);if(s.length>0)throw new Error(`Unknown option: ${s.join(", ")}`);const a=G.isStream(i);if(e){const{type:e,data:t}=await re(i);if(e!==N.armor.message)throw new Error("Armored text not of type message");i=t}const o=await Ms.fromBinary(i,Fa,r,new Ns),c=new Qa(o);return c.fromStream=a,c}async function Ga({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...s}){const a=void 0!==e?e:t;if(void 0===a)throw new Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!G.isString(e)&&!G.isStream(e))throw new Error("createMessage: options.text must be a string or stream");if(t&&!G.isUint8Array(t)&&!G.isStream(t))throw new Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(s);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);const c=G.isStream(a),l=new Bs(n);void 0!==e?l.setText(a,N.write(N.literal,i)):l.setBytes(a,N.write(N.literal,i)),void 0!==r&&l.setFilename(r);const u=new Ms;u.push(l);const h=new Qa(u);return h.fromStream=c,h}const Ha=G.constructAllowedPackets([Ks]);class ja{constructor(e,t){if(this.text=G.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof oa))throw new Error("Invalid signature input");this.signature=t||new oa(new Ms)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach(function(t){e.push(t.issuerKeyID)}),e}async sign(e,t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=O){const l=new Bs;l.setText(this.text);const u=new oa(await Na(l,e,t,r,n,i,s,a,o,!0,c));return new ja(this.text,u)}verify(e,t=new Date,r=O){const n=this.signature.packets.filterByTag(N.packet.signature),i=new Bs;return i.setText(this.text),Oa(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=O){const t=this.signature.packets.some(e=>6!==e.version),r={hash:t?Array.from(new Set(this.signature.packets.map(e=>N.read(N.hash,e.hashAlgorithm).toUpperCase()))).join():null,text:this.text,data:this.signature.packets.write()};return ne(N.armor.signed,r,void 0,void 0,void 0,t,e)}}async function Wa({cleartextMessage:e,config:t,...r}){if(t={...O,...t},!e)throw new Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!G.isString(e))throw new Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw new Error(`Unknown option: ${n.join(", ")}`);const i=await re(e);if(i.type!==N.armor.signed)throw new Error("No cleartext signed message.");const s=await Ms.fromBinary(i.data,Ha,t);!function(e,t){const r=[];if(e.forEach(e=>{const t=e.match(/^Hash: (.+)$/);if(!t)throw new Error('Only "Hash" header allowed in cleartext signed message');{const e=t[1].replace(/\s/g,"").split(",").map(e=>{try{return N.write(N.hash,e.toLowerCase())}catch{throw new Error("Unknown hash algorithm in armor header: "+e.toLowerCase())}});r.push(...e)}}),r.length&&!function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n0)throw new Error(`Unknown option: ${r.join(", ")}`);return new ja(e)}async function Ja({userIDs:e=[],passphrase:t,type:r,curve:n,rsaBits:i=4096,keyExpirationTime:s=0,date:a=new Date,subkeys:o=[{}],format:c="armored",signatureNotations:l=[],config:u,...h}){$a(u={...O,...u}),r||n?(r=r||"ecc",n=n||"curve25519Legacy"):(r=u.v6Keys?"curve25519":"ecc",n="curve25519Legacy"),e=eo(e),l=eo(l);const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(0===e.length&&!u.v6Keys)throw new Error("UserIDs are required for V4 keys");if("rsa"===r&&iya(e.subkeys[r],e));let r=[la(e,t)];r=r.concat(e.subkeys.map(e=>ca(e,t)));const n=await Promise.all(r),i=await async function(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map(async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)}));const i=new Ms;function s(e,t){return[t,...e.filter(e=>e!==t)]}function a(){const e={};e.keyFlags=[N.keyFlags.certifyKeys|N.keyFlags.signData];const t=s([N.symmetric.aes256,N.symmetric.aes128],n.preferredSymmetricAlgorithm);if(e.preferredSymmetricAlgorithms=t,n.aeadProtect){const r=s([N.aead.gcm,N.aead.eax,N.aead.ocb],n.preferredAEADAlgorithm);e.preferredCipherSuites=r.flatMap(e=>t.map(t=>[t,e]))}return e.preferredHashAlgorithms=s([N.hash.sha512,N.hash.sha256,N.hash.sha3_512,N.hash.sha3_256],n.preferredHashAlgorithm),e.preferredCompressionAlgorithms=s([N.compression.uncompressed,N.compression.zlib,N.compression.zip],n.preferredCompressionAlgorithm),e.features=[0],e.features[0]|=N.features.modificationDetection,n.aeadProtect&&(e.features[0]|=N.features.seipdv2),r.keyExpirationTime>0&&(e.keyExpirationTime=r.keyExpirationTime,e.keyNeverExpires=!1),e}if(i.push(e),6===e.version){const t={key:e},s=a();s.signatureType=N.signature.key;const o=await Aa(t,[],e,s,r.date,void 0,r.signatureNotations,void 0,n);i.push(o)}await Promise.all(r.userIDs.map(async function(t,i){const s=sa.fromObject(t),o={userID:s,key:e},c=6!==e.version?a():{};return c.signatureType=N.signature.certPositive,0===i&&(c.isPrimaryUserID=!0),{userIDPacket:s,signaturePacket:await Aa(o,[],e,c,r.date,void 0,r.signatureNotations,void 0,n)}})).then(e=>{e.forEach(({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)})}),await Promise.all(t.map(async function(t,i){const s=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await fa(t,e,s,n)}})).then(e=>{e.forEach(({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)})});const o={key:e};return i.push(await Aa(o,[],e,{signatureType:N.signature.keyRevocation,reasonForRevocationFlag:N.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),t.map(function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}),new xa(i)}(n[0],n.slice(1),e,t),s=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:s}}(A,u);return e.getKeys().forEach(({keyPacket:e})=>va(e,u)),{privateKey:ro(e,c,u),publicKey:ro(e.toPublic(),c,u),revocationCertificate:t}}catch(e){throw G.wrapError("Error generating keypair",e)}}async function Za({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:s,...a}){$a(s={...O,...s});const o=Object.keys(a);if(o.length>0)throw new Error(`Unknown option: ${o.join(", ")}`);try{const a=t?await e.applyRevocationCertificate(t,n,s):await e.revoke(r,n,s);return a.isPrivate()?{privateKey:ro(a,i,s),publicKey:ro(a.toPublic(),i,s)}:{privateKey:null,publicKey:ro(a,i,s)}}catch(e){throw G.wrapError("Error revoking key",e)}}async function qa({privateKey:e,passphrase:t,config:r,...n}){$a(r={...O,...r});const i=Object.keys(n);if(i.length>0)throw new Error(`Unknown option: ${i.join(", ")}`);if(!e.isPrivate())throw new Error("Cannot encrypt a public key");const s=e.clone(!0),a=s.getKeys(),o=G.isArray(t)?t:new Array(a.length).fill(t);if(o.length!==a.length)throw new Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(a.map(async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()})),s}catch(e){throw s.clearPrivateParams(),G.wrapError("Error encrypting private key",e)}}async function _a({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:s="armored",signature:a=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:l=[],date:u=new Date,signingUserIDs:h=[],encryptionUserIDs:f=[],signatureNotations:A=[],config:d,...p}){if($a(d={...O,...d}),function(e){if(!(e instanceof Qa))throw new Error("Parameter [message] needs to be of type Message")}(e),za(s),t=eo(t),r=eo(r),n=eo(n),c=eo(c),l=eo(l),h=eo(h),f=eo(f),A=eo(A),p.detached)throw new Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(p.publicKeys)throw new Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(p.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==p.armor)throw new Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(p);if(g.length>0)throw new Error(`Unknown option: ${g.join(", ")}`);r||(r=[]);try{if((r.length||a)&&(e=await e.sign(r,t,a,c,u,h,l,A,d)),e=e.compress(await async function(e=[],t=new Date,r=[],n=O){const i=N.compression.uncompressed,s=n.preferredCompressionAlgorithm,a=await Promise.all(e.map(async function(e,i){const a=(await e.getPrimarySelfSignature(t,r[i],n)).preferredCompressionAlgorithms;return!!a&&a.indexOf(s)>=0}));return a.every(Boolean)?s:i}(t,u,f,d),d),e=await e.encrypt(t,n,i,o,l,u,f,d),"object"===s)return e;const p="armored"===s?e.armor(d):e.write();return await to(p)}catch(e){throw G.wrapError("Error encrypting message",e)}}async function Va({message:e,signingKeys:t,recipientKeys:r=[],format:n="armored",detached:i=!1,signingKeyIDs:s=[],date:a=new Date,signingUserIDs:o=[],recipientUserIDs:c=[],signatureNotations:l=[],config:u,...h}){if($a(u={...O,...u}),function(e){if(!(e instanceof ja||e instanceof Qa))throw new Error("Parameter [message] needs to be of type Message or CleartextMessage")}(e),za(n),t=eo(t),s=eo(s),o=eo(o),r=eo(r),c=eo(c),l=eo(l),h.privateKeys)throw new Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==h.armor)throw new Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const f=Object.keys(h);if(f.length>0)throw new Error(`Unknown option: ${f.join(", ")}`);if(e instanceof ja&&"binary"===n)throw new Error("Cannot return signed cleartext message in binary format");if(e instanceof ja&&i)throw new Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw new Error("No signing keys provided");try{let h;return h=i?await e.signDetached(t,r,void 0,s,a,o,c,l,u):await e.sign(t,r,void 0,s,a,o,c,l,u),"object"===n?h:(h="armored"===n?h.armor(u):h.write(),i&&(h=C(e.packets.write(),async(e,t)=>{await Promise.all([v(h,t),P(e).catch(()=>{})])})),await to(h))}catch(e){throw G.wrapError("Error signing message",e)}}function za(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw new Error(`Unsupported format ${e}`)}const Xa=Object.keys(O).length;function $a(e){const t=Object.keys(e);if(t.length!==Xa)for(const e of t)if(void 0===O[e])throw new Error(`Unknown config property: ${e}`)}function eo(e){return e&&!G.isArray(e)&&(e=[e]),e}async function to(e){return"array"===G.isStream(e)?P(e):e}function ro(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw new Error(`Unsupported format ${t}`)}}const no="object"==typeof n&&"crypto"in n?n.crypto:void 0;function io(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function so(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ao(e,...t){if(!io(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function oo(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");so(e.outputLen),so(e.blockLen)}function co(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 lo(e,t){ao(e);const r=t.outputLen;if(e.length>>t}function Ao(e,t){return e<>>32-t>>>0}function po(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const go=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let t=0;t"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),mo=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function wo(e){if(ao(e),yo)return e.toHex();let t="";for(let r=0;r=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function vo(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(yo)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,i=0;te().update(Eo(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Co=Bo;function So(e=32){if(no&&"function"==typeof no.getRandomValues)return no.getRandomValues(new Uint8Array(e));if(no&&"function"==typeof no.randomBytes)return Uint8Array.from(no.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Do=BigInt(0),xo=BigInt(1);function Ko(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e);return e}function Uo(e,t,r=""){const n=io(e),i=e?.length,s=void 0!==t;if(!n||s&&i!==t)throw new Error((r&&`"${r}" `)+"expected Uint8Array"+(s?` of length ${t}`:"")+", got "+(n?`length=${i}`:"type="+typeof e));return e}function Po(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function To(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?Do:BigInt("0x"+e)}function Fo(e){return To(wo(e))}function Mo(e){return ao(e),To(wo(Uint8Array.from(e).reverse()))}function Ro(e,t){return vo(e.toString(16).padStart(2*t,"0"))}function Qo(e,t){return Ro(e,t).reverse()}function No(e,t,r){let n;if("string"==typeof t)try{n=vo(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!io(t))throw new Error(e+" must be hex string or Uint8Array");n=Uint8Array.from(t)}const i=n.length;if("number"==typeof r&&i!==r)throw new Error(e+" of length "+r+" expected, got "+i);return n}function Oo(e){return Uint8Array.from(e)}const Lo=e=>"bigint"==typeof e&&Do<=e;function Go(e,t,r,n){if(!function(e,t,r){return Lo(e)&&Lo(t)&&Lo(r)&&t<=e&&eDo;e>>=xo,t+=1);return t}const jo=e=>(xo<n(e,t,!1)),Object.entries(r).forEach(([e,t])=>n(e,t,!0))}function Yo(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const s=e(r,...n);return t.set(r,s),s}}const Jo=BigInt(0),Zo=BigInt(1),qo=BigInt(2),_o=BigInt(3),Vo=BigInt(4),zo=BigInt(5),Xo=BigInt(7),$o=BigInt(8),ec=BigInt(9),tc=BigInt(16);function rc(e,t){const r=e%t;return r>=Jo?r:t+r}function nc(e,t,r){let n=e;for(;t-- >Jo;)n*=n,n%=r;return n}function ic(e,t){if(e===Jo)throw new Error("invert: expected non-zero number");if(t<=Jo)throw new Error("invert: expected positive modulus, got "+t);let r=rc(e,t),n=t,i=Jo,s=Zo;for(;r!==Jo;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==Zo)throw new Error("invert: does not exist");return rc(i,t)}function sc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function ac(e,t){const r=(e.ORDER+Zo)/Vo,n=e.pow(t,r);return sc(e,n,t),n}function oc(e,t){const r=(e.ORDER-zo)/$o,n=e.mul(t,qo),i=e.pow(n,r),s=e.mul(t,i),a=e.mul(e.mul(s,qo),i),o=e.mul(s,e.sub(a,e.ONE));return sc(e,o,t),o}function cc(e){if(e<_o)throw new Error("sqrt is not defined for small field");let t=e-Zo,r=0;for(;t%qo===Jo;)t/=qo,r++;let n=qo;const i=Ac(e);for(;1===hc(i,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return ac;let s=i.pow(n,t);const a=(t+Zo)/qo;return function(e,n){if(e.is0(n))return n;if(1!==hc(e,n))throw new Error("Cannot find square root");let i=r,o=e.mul(e.ONE,s),c=e.pow(n,t),l=e.pow(n,a);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,r=e.sqr(c);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw new Error("Cannot find square root");const n=Zo<e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),s=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),s),n}function hc(e,t){const r=(e.ORDER-Zo)/qo,n=e.pow(t,r),i=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),a=e.eql(n,e.neg(e.ONE));if(!i&&!s&&!a)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function fc(e,t){void 0!==t&&so(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function Ac(e,t,r=!1,n={}){if(e<=Jo)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,s,a,o=!1;if("object"==typeof t&&null!=t){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");const e=t;e.BITS&&(i=e.BITS),e.sqrt&&(s=e.sqrt),"boolean"==typeof e.isLE&&(r=e.isLE),"boolean"==typeof e.modFromBytes&&(o=e.modFromBytes),a=e.allowedLengths}else"number"==typeof t&&(i=t),n.sqrt&&(s=n.sqrt);const{nBitLength:c,nByteLength:l}=fc(e,i);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const h=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:jo(c),ZERO:Jo,ONE:Zo,allowedLengths:a,create:t=>rc(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Jo<=t&&te===Jo,isValidNot0:e=>!h.is0(e)&&h.isValid(e),isOdd:e=>(e&Zo)===Zo,neg:t=>rc(-t,e),eql:(e,t)=>e===t,sqr:t=>rc(t*t,e),add:(t,r)=>rc(t+r,e),sub:(t,r)=>rc(t-r,e),mul:(t,r)=>rc(t*r,e),pow:(e,t)=>function(e,t,r){if(rJo;)r&Zo&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Zo;return n}(h,e,t),div:(t,r)=>rc(t*ic(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ic(t,e),sqrt:s||(t=>{return u||(u=(r=e)%Vo===_o?ac:r%$o===zo?oc:r%tc===ec?function(e){const t=Ac(e),r=cc(e),n=r(t,t.neg(t.ONE)),i=r(t,n),s=r(t,t.neg(n)),a=(e+Xo)/tc;return(e,t)=>{let r=e.pow(t,a),o=e.mul(r,n);const c=e.mul(r,i),l=e.mul(r,s),u=e.eql(e.sqr(o),t),h=e.eql(e.sqr(c),t);r=e.cmov(r,o,u),o=e.cmov(l,c,h);const f=e.eql(e.sqr(o),t),A=e.cmov(r,o,f);return sc(e,A,t),A}}(r):cc(r)),u(h,t);var r}),toBytes:e=>r?Qo(e,l):Ro(e,l),fromBytes:(t,n=!0)=>{if(a){if(!a.includes(t.length)||t.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+t.length);const e=new Uint8Array(l);e.set(t,r?0:e.length-t.length),t=e}if(t.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+t.length);let i=r?Mo(t):Fo(t);if(o&&(i=rc(i,e)),!n&&!h.isValid(i))throw new Error("invalid field element: outside of range 0..ORDER");return i},invertBatch:e=>uc(h,e),cmov:(e,t,r)=>r?t:e});return Object.freeze(h)}function dc(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function pc(e){const t=dc(e);return t+Math.ceil(t/2)}function gc(e,t,r){return e&t^~e&r}function yc(e,t,r){return e&t^e&r^t&r}class mc extends Io{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=ho(this.buffer)}update(e){co(this),ao(e=Eo(e));const{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let s=0;sn-s&&(this.process(r,0),s=0);for(let e=s;e>i&s),o=Number(r&s),c=n?4:0,l=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+l,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const a=ho(e),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>Ic&kc)}:{h:0|Number(e>>Ic&kc),l:0|Number(e&kc)}}function Cc(e,t=!1){const r=e.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let s=0;se>>>r,Dc=(e,t,r)=>e<<32-r|t>>>r,xc=(e,t,r)=>e>>>r|t<<32-r,Kc=(e,t,r)=>e<<32-r|t>>>r,Uc=(e,t,r)=>e<<64-r|t>>>r-32,Pc=(e,t,r)=>e>>>r-32|t<<64-r;function Tc(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}}const Fc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Mc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Rc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Qc=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Nc=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Oc=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0,Lc=Uint32Array.from([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]),Gc=new Uint32Array(64);class Hc extends mc{constructor(e=32){super(64,e,8,!1),this.A=0|wc[0],this.B=0|wc[1],this.C=0|wc[2],this.D=0|wc[3],this.E=0|wc[4],this.F=0|wc[5],this.G=0|wc[6],this.H=0|wc[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[e,t,r,n,i,s,a,o]}set(e,t,r,n,i,s,a,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)Gc[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=Gc[e-15],r=Gc[e-2],n=fo(t,7)^fo(t,18)^t>>>3,i=fo(r,17)^fo(r,19)^r>>>10;Gc[e]=i+Gc[e-7]+n+Gc[e-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+(fo(a,6)^fo(a,11)^fo(a,25))+gc(a,o,c)+Lc[e]+Gc[e]|0,u=(fo(r,2)^fo(r,13)^fo(r,22))+yc(r,n,i)|0;l=c,c=o,o=a,a=s+t|0,s=i,i=n,n=r,r=t+u|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,i,s,a,o,c,l)}roundClean(){uo(Gc)}destroy(){this.set(0,0,0,0,0,0,0,0),uo(this.buffer)}}class jc extends Hc{constructor(){super(28),this.A=0|bc[0],this.B=0|bc[1],this.C=0|bc[2],this.D=0|bc[3],this.E=0|bc[4],this.F=0|bc[5],this.G=0|bc[6],this.H=0|bc[7]}}const Wc=(()=>Cc(["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))))(),Yc=(()=>Wc[0])(),Jc=(()=>Wc[1])(),Zc=new Uint32Array(80),qc=new Uint32Array(80);class _c extends mc{constructor(e=64){super(128,e,16,!1),this.Ah=0|Ec[0],this.Al=0|Ec[1],this.Bh=0|Ec[2],this.Bl=0|Ec[3],this.Ch=0|Ec[4],this.Cl=0|Ec[5],this.Dh=0|Ec[6],this.Dl=0|Ec[7],this.Eh=0|Ec[8],this.El=0|Ec[9],this.Fh=0|Ec[10],this.Fl=0|Ec[11],this.Gh=0|Ec[12],this.Gl=0|Ec[13],this.Hh=0|Ec[14],this.Hl=0|Ec[15]}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:c,El:l,Fh:u,Fl:h,Gh:f,Gl:A,Hh:d,Hl:p}=this;return[e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p]}set(e,t,r,n,i,s,a,o,c,l,u,h,f,A,d,p){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|c,this.El=0|l,this.Fh=0|u,this.Fl=0|h,this.Gh=0|f,this.Gl=0|A,this.Hh=0|d,this.Hl=0|p}process(e,t){for(let r=0;r<16;r++,t+=4)Zc[r]=e.getUint32(t),qc[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|Zc[e-15],r=0|qc[e-15],n=xc(t,r,1)^xc(t,r,8)^Sc(t,0,7),i=Kc(t,r,1)^Kc(t,r,8)^Dc(t,r,7),s=0|Zc[e-2],a=0|qc[e-2],o=xc(s,a,19)^Uc(s,a,61)^Sc(s,0,6),c=Kc(s,a,19)^Pc(s,a,61)^Dc(s,a,6),l=Rc(i,c,qc[e-7],qc[e-16]),u=Qc(l,n,o,Zc[e-7],Zc[e-16]);Zc[e]=0|u,qc[e]=0|l}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:c,Dl:l,Eh:u,El:h,Fh:f,Fl:A,Gh:d,Gl:p,Hh:g,Hl:y}=this;for(let e=0;e<80;e++){const t=xc(u,h,14)^xc(u,h,18)^Uc(u,h,41),m=Kc(u,h,14)^Kc(u,h,18)^Pc(u,h,41),w=u&f^~u&d,b=Nc(y,m,h&A^~h&p,Jc[e],qc[e]),v=Oc(b,g,t,w,Yc[e],Zc[e]),E=0|b,k=xc(r,n,28)^Uc(r,n,34)^Uc(r,n,39),I=Kc(r,n,28)^Pc(r,n,34)^Pc(r,n,39),B=r&i^r&a^i&a,C=n&s^n&o^s&o;g=0|d,y=0|p,d=0|f,p=0|A,f=0|u,A=0|h,({h:u,l:h}=Tc(0|c,0|l,0|v,0|E)),c=0|a,l=0|o,a=0|i,o=0|s,i=0|r,s=0|n;const S=Fc(E,I,C);r=Mc(S,v,k,B),n=0|S}({h:r,l:n}=Tc(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=Tc(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=Tc(0|this.Ch,0|this.Cl,0|a,0|o)),({h:c,l}=Tc(0|this.Dh,0|this.Dl,0|c,0|l)),({h:u,l:h}=Tc(0|this.Eh,0|this.El,0|u,0|h)),({h:f,l:A}=Tc(0|this.Fh,0|this.Fl,0|f,0|A)),({h:d,l:p}=Tc(0|this.Gh,0|this.Gl,0|d,0|p)),({h:g,l:y}=Tc(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,n,i,s,a,o,c,l,u,h,f,A,d,p,g,y)}roundClean(){uo(Zc,qc)}destroy(){uo(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Vc extends _c{constructor(){super(48),this.Ah=0|vc[0],this.Al=0|vc[1],this.Bh=0|vc[2],this.Bl=0|vc[3],this.Ch=0|vc[4],this.Cl=0|vc[5],this.Dh=0|vc[6],this.Dl=0|vc[7],this.Eh=0|vc[8],this.El=0|vc[9],this.Fh=0|vc[10],this.Fl=0|vc[11],this.Gh=0|vc[12],this.Gl=0|vc[13],this.Hh=0|vc[14],this.Hl=0|vc[15]}}const zc=Bo(()=>new Hc),Xc=Bo(()=>new jc),$c=Bo(()=>new _c),el=Bo(()=>new Vc);class tl extends Io{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,oo(e);const r=Eo(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let e=0;enew tl(e,t).update(r).digest();rl.create=(e,t)=>new tl(e,t);const nl=BigInt(0),il=BigInt(1);function sl(e,t){const r=t.negate();return e?r:t}function al(e,t){const r=uc(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function ol(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function cl(e,t){ol(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:jo(e),maxNumber:r,shiftBy:BigInt(e)}}function ll(e,t,r){const{windowSize:n,mask:i,maxNumber:s,shiftBy:a}=r;let o=Number(e&i),c=e>>a;o>n&&(o-=s,c+=il);const l=t*n;return{nextN:c,offset:l+Math.abs(o)-1,isZero:0===o,isNeg:o<0,isNegF:t%2!=0,offsetF:l}}const ul=new WeakMap,hl=new WeakMap;function fl(e){return hl.get(e)||1}function Al(e){if(e!==nl)throw new Error("invalid wNAF")}class dl{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>nl;)t&il&&(r=r.add(n)),n=n.double(),t>>=il;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=cl(t,this.bits),i=[];let s=e,a=s;for(let e=0;e{if(!(e instanceof t))throw new Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)})}(n,t);const i=r.length,s=n.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Ho(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const l=jo(c),u=new Array(Number(l)+1).fill(a);let h=a;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){u.fill(a);for(let t=0;t>BigInt(e)&l);u[s]=u[s].add(r[t])}let t=a;for(let e=u.length-1,r=a;e>0;e--)r=r.add(u[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return Ac(e,{isLE:r})}function yl(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>nl))throw new Error(`CURVE.${e} must be positive bigint`)}const i=gl(t.p,r.Fp,n),s=gl(t.n,r.Fn,n),a=["Gx","Gy","a","weierstrass"===e?"b":"d"];for(const e of a)if(!i.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:s}}const ml=(e,t)=>(e+(e>=0?t:-t)/Bl)/t;function wl(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function bl(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return Ko(r.lowS,"lowS"),Ko(r.prehash,"prehash"),void 0!==r.format&&wl(r.format),r}class vl extends Error{constructor(e=""){super(e)}}const El={Err:vl,_tlv:{encode:(e,t)=>{const{Err:r}=El;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=Po(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const s=n>127?Po(i.length/2|128):"";return Po(e)+s+i+t},decode(e,t){const{Err:r}=El;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let s=0;if(128&i){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const a=t.subarray(n,n+e);if(a.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===a[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(n+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=i;const a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){const{Err:t}=El;if(erl(t,e,ko(...r))),{Fp:s,Fn:a}=e,{ORDER:o,BITS:c}=a,{keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A}=function(e,t={}){const{Fn:r}=e,n=t.randomBytes||So,i=Object.assign(Kl(e.Fp,r),{seed:pc(r.ORDER)});function s(e){try{return!!Dl(r,e)}catch(e){return!1}}function a(e=n(i.seed)){return function(e,t,r=!1){const n=e.length,i=dc(t),s=pc(t);if(n<16||n1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);const a=rc(r?Mo(e):Fo(e),t-Zo)+Zo;return r?Qo(a,i):Ro(a,i)}(Uo(e,i.seed,"seed"),r.ORDER)}function o(t,n=!0){return e.BASE.multiply(Dl(r,t)).toBytes(n)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:n,publicKey:s,publicKeyUncompressed:a}=i;if(r.allowedLengths||n===s)return;const o=No("key",t).length;return o===s||o===a}const l={isValidSecretKey:s,isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:s}=i;try{const i=t.length;return!(!0===r&&i!==n||!1===r&&i!==s||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:e=>Dl(r,e),precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({getPublicKey:o,getSharedSecret:function(t,n,i=!0){if(!0===c(t))throw new Error("first arg must be private key");if(!1===c(n))throw new Error("second arg must be public key");const s=Dl(r,t);return e.fromHex(n).multiply(s).toBytes(i)},keygen:function(e){const t=a(e);return{secretKey:t,publicKey:o(t)}},Point:e,utils:l,lengths:i})}(e,r),d={prehash:!1,lowS:"boolean"==typeof r.lowS&&r.lowS,format:void 0,extraEntropy:!1},p="compact";function g(e){return e>o>>Il}function y(e,t){if(!a.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class m{constructor(e,t,r){this.r=y("r",e),this.s=y("s",t),null!=r&&(this.recovery=r),Object.freeze(this)}static fromBytes(e,t=p){let r;if(function(e,t){wl(t);const r=A.signature;Uo(e,"compact"===t?r:"recovered"===t?r+1:void 0,`${t} signature`)}(e,t),"der"===t){const{r:t,s:r}=El.toSig(Uo(e));return new m(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=a.BYTES,i=e.subarray(0,n),s=e.subarray(n,2*n);return new m(a.fromBytes(i),a.fromBytes(s),r)}static fromHex(e,t){return this.fromBytes(vo(e),t)}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(t){const r=s.ORDER,{r:n,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw new Error("recovery id invalid");if(o*Bl1)throw new Error("recovery id is ambiguous for h>1 curve");const l=2===c||3===c?n+o:n;if(!s.isValid(l))throw new Error("recovery id 2 or 3 invalid");const u=s.toBytes(l),h=e.fromBytes(ko(xl(!(1&c)),u)),f=a.inv(l),A=b(No("msgHash",t)),d=a.create(-A*f),p=a.create(i*f),g=e.BASE.multiplyUnsafe(d).add(h.multiplyUnsafe(p));if(g.is0())throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=p){if(wl(e),"der"===e)return vo(El.hexFromSig(this));const t=a.toBytes(this.r),r=a.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw new Error("recovery bit must be present");return ko(Uint8Array.of(this.recovery),t,r)}return ko(t,r)}toHex(e){return wo(this.toBytes(e))}assertValidity(){}static fromCompact(e){return m.fromBytes(No("sig",e),"compact")}static fromDER(e){return m.fromBytes(No("sig",e),"der")}normalizeS(){return this.hasHighS()?new m(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return wo(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return wo(this.toBytes("compact"))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=Fo(e),r=8*e.length-c;return r>0?t>>BigInt(r):t},b=r.bits2int_modN||function(e){return a.create(w(e))},v=jo(c);function E(e){return Go("num < 2^"+c,e,kl,v),a.toBytes(e)}function k(e,r){return Uo(e,void 0,"message"),r?Uo(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:h,utils:f,lengths:A,Point:e,sign:function(r,s,o={}){r=No("message",r);const{seed:c,k2sig:l}=function(t,r,i){if(["recovered","canonical"].some(e=>e in i))throw new Error("sign() legacy options not supported");const{lowS:s,prehash:o,extraEntropy:c}=bl(i,d);t=k(t,o);const l=b(t),u=Dl(a,r),h=[E(u),E(l)];if(null!=c&&!1!==c){const e=!0===c?n(A.secretKey):c;h.push(No("extraEntropy",e))}const f=ko(...h),p=l;return{seed:f,k2sig:function(t){const r=w(t);if(!a.isValidNot0(r))return;const n=a.inv(r),i=e.BASE.multiply(r).toAffine(),o=a.create(i.x);if(o===kl)return;const c=a.create(n*a.create(p+o*u));if(c===kl)return;let l=(i.x===o?0:2)|Number(i.y&Il),h=c;return s&&g(c)&&(h=a.neg(c),l^=1),new m(o,h,l)}}}(r,s,o),u=function(e,t,r){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=n(e),a=n(e),o=0;const c=()=>{s.fill(1),a.fill(0),o=0},l=(...e)=>r(a,s,...e),u=(e=n(0))=>{a=l(i(0),e),s=l(),0!==e.length&&(a=l(i(1),e),s=l())},h=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const r=[];for(;e{let r;for(c(),u(e);!(r=t(h()));)u();return c(),r}}(t.outputLen,a.BYTES,i);return u(c,l)},verify:function(t,r,n,i={}){const{lowS:s,prehash:o,format:c}=bl(i,d);if(n=No("publicKey",n),r=k(No("message",r),o),"strict"in i)throw new Error("options.strict was renamed to lowS");const l=void 0===c?function(e){let t;const r="string"==typeof e||io(e),n=!r&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!r&&!n)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(n)t=new m(e.r,e.s);else if(r){try{t=m.fromBytes(No("sig",e),"der")}catch(e){if(!(e instanceof El.Err))throw e}if(!t)try{t=m.fromBytes(No("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):m.fromBytes(No("sig",t),c);if(!1===l)return!1;try{const t=e.fromBytes(n);if(s&&l.hasHighS())return!1;const{r:i,s:o}=l,c=b(r),u=a.inv(o),h=a.create(c*u),f=a.create(i*u),A=e.BASE.multiplyUnsafe(h).add(t.multiplyUnsafe(f));return!A.is0()&&a.create(A.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=bl(r,d);return t=k(t,n),m.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:m,hash:t})}function Pl(e){const{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=function(e){const{CURVE:t,curveOpts:r}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp;let n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0;return{CURVE:t,curveOpts:{Fp:r,Fn:Ac(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,fc(r.Fn.ORDER,r.Fn.BITS))})}(e,Ul(function(e,t={}){const r=yl("weierstrass",e,t),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a,n:o}=s;Wo(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!n.is0(s.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=Kl(n,i);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const h=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),a=n.toBytes(i);return Ko(r,"isCompressed"),r?(u(),ko(xl(!n.isOdd(s)),a)):ko(Uint8Array.of(4),a,n.toBytes(s))},f=t.fromBytes||function(e){Uo(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=l,i=e.length,s=e[0],a=e.subarray(1);if(i!==t||2!==s&&3!==s){if(i===r&&4===s){const e=n.BYTES,t=n.fromBytes(a.subarray(0,e)),r=n.fromBytes(a.subarray(e,2*e));if(!d(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(a);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=A(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}return u(),!(1&~s)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function A(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,s.a)),s.b)}function d(e,t){const r=n.sqr(t),i=A(e);return n.eql(r,i)}if(!d(s.Gx,s.Gy))throw new Error("bad curve params: generator point");const p=n.mul(n.pow(s.a,Cl),Sl),g=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(p,g)))throw new Error("bad curve params: a or b");function y(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function m(e){if(!(e instanceof k))throw new Error("ProjectivePoint expected")}function w(e){if(!c||!c.basises)throw new Error("no endo");return function(e,t,r){const[[n,i],[s,a]]=t,o=ml(a*e,r),c=ml(-i*e,r);let l=e-o*n-c*s,u=-o*i-c*a;const h=l=A||u=A)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:h,k1:l,k2neg:f,k2:u}}(e,c.basises,i.ORDER)}const b=Yo((e,t)=>{const{X:r,Y:i,Z:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const o=n.mul(r,t),c=n.mul(i,t),l=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw new Error("invZ was invalid");return{x:o,y:c}}),v=Yo(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!d(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,r,i,s){return r=new k(n.mul(r.X,e),r.Y,r.Z),t=sl(i,t),r=sl(s,r),t.add(r)}class k{constructor(e,t,r){this.X=y("x",e),this.Y=y("y",t,!0),this.Z=y("z",r),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof k)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?k.ZERO:new k(t,r,n.ONE)}static fromBytes(e){const t=k.fromAffine(f(Uo(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return k.fromBytes(No("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return B.createCache(this,e),t||this.multiply(Cl),this}assertValidity(){v(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){m(e);const{X:t,Y:r,Z:i}=this,{X:s,Y:a,Z:o}=e,c=n.eql(n.mul(t,o),n.mul(s,i)),l=n.eql(n.mul(r,o),n.mul(a,i));return c&&l}negate(){return new k(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=s,r=n.mul(t,Cl),{X:i,Y:a,Z:o}=this;let c=n.ZERO,l=n.ZERO,u=n.ZERO,h=n.mul(i,i),f=n.mul(a,a),A=n.mul(o,o),d=n.mul(i,a);return d=n.add(d,d),u=n.mul(i,o),u=n.add(u,u),c=n.mul(e,u),l=n.mul(r,A),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(d,c),u=n.mul(r,u),A=n.mul(e,A),d=n.sub(h,A),d=n.mul(e,d),d=n.add(d,u),u=n.add(h,h),h=n.add(u,h),h=n.add(h,A),h=n.mul(h,d),l=n.add(l,h),A=n.mul(a,o),A=n.add(A,A),h=n.mul(A,d),c=n.sub(c,h),u=n.mul(A,f),u=n.add(u,u),u=n.add(u,u),new k(c,l,u)}add(e){m(e);const{X:t,Y:r,Z:i}=this,{X:a,Y:o,Z:c}=e;let l=n.ZERO,u=n.ZERO,h=n.ZERO;const f=s.a,A=n.mul(s.b,Cl);let d=n.mul(t,a),p=n.mul(r,o),g=n.mul(i,c),y=n.add(t,r),w=n.add(a,o);y=n.mul(y,w),w=n.add(d,p),y=n.sub(y,w),w=n.add(t,i);let b=n.add(a,c);return w=n.mul(w,b),b=n.add(d,g),w=n.sub(w,b),b=n.add(r,i),l=n.add(o,c),b=n.mul(b,l),l=n.add(p,g),b=n.sub(b,l),h=n.mul(f,w),l=n.mul(A,g),h=n.add(l,h),l=n.sub(p,h),h=n.add(p,h),u=n.mul(l,h),p=n.add(d,d),p=n.add(p,d),g=n.mul(f,g),w=n.mul(A,w),p=n.add(p,g),g=n.sub(d,g),g=n.mul(f,g),w=n.add(w,g),d=n.mul(p,w),u=n.add(u,d),d=n.mul(b,w),l=n.mul(y,l),l=n.sub(l,d),d=n.mul(y,p),h=n.mul(b,h),h=n.add(h,d),new k(l,u,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(k.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,s;const a=e=>B.cached(this,e,e=>al(k,e));if(r){const{k1neg:t,k1:i,k2neg:o,k2:c}=w(e),{p:l,f:u}=a(i),{p:h,f}=a(c);s=u.add(f),n=E(r.beta,l,h,t,o)}else{const{p:t,f:r}=a(e);n=t,s=r}return al(k,[n,s])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw new Error("invalid scalar: out of range");if(e===kl||n.is0())return k.ZERO;if(e===Il)return n;if(B.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:s,k2:a}=w(e),{p1:o,p2:c}=function(e,t,r,n){let i=t,s=e.ZERO,a=e.ZERO;for(;r>nl||n>nl;)r&il&&(s=s.add(i)),n&il&&(a=a.add(i)),i=i.double(),r>>=il,n>>=il;return{p1:s,p2:a}}(k,n,i,a);return E(r.beta,o,c,t,s)}return B.unsafe(n,e)}multiplyAndAddUnsafe(e,t,r){const n=this.multiplyUnsafe(t).add(e.multiplyUnsafe(r));return n.is0()?void 0:n}toAffine(e){return b(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return a===Il||(e?e(k,this):B.unsafe(this,o).is0())}clearCofactor(){const{clearCofactor:e}=t;return a===Il?this:e?e(k,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(e=!0){return Ko(e,"isCompressed"),this.assertValidity(),h(k,this,e)}toHex(e=!0){return wo(this.toBytes(e))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return al(k,e)}static msm(e,t){return pl(k,i,e,t)}static fromPrivateKey(e){return k.BASE.multiply(Dl(i,e))}}k.BASE=new k(s.Gx,s.Gy,n.ONE),k.ZERO=new k(n.ZERO,n.ONE,n.ZERO),k.Fp=n,k.Fn=i;const I=i.BITS,B=new dl(k,t.endo?Math.ceil(I/2):I);return k.BASE.precompute(8),k}(t,r),n,i))}function Tl(e,t){const r=t=>Pl({...e,hash:t});return{...r(t),create:r}}const Fl={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},Ml={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},Rl={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},Ql=Ac(Fl.p),Nl=Ac(Ml.p),Ol=Ac(Rl.p),Ll=Tl({...Fl,Fp:Ql,lowS:!1},zc),Gl=Tl({...Ml,Fp:Nl,lowS:!1},el),Hl=Tl({...Rl,Fp:Ol,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},$c),jl=BigInt(0),Wl=BigInt(1),Yl=BigInt(2),Jl=BigInt(7),Zl=BigInt(256),ql=BigInt(113),_l=[],Vl=[],zl=[];for(let e=0,t=Wl,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],_l.push(2*(5*n+r)),Vl.push((e+1)*(e+2)/2%64);let i=jl;for(let e=0;e<7;e++)t=(t<>Jl)*ql)%Zl,t&Yl&&(i^=Wl<<(Wl<r>32?((e,t,r)=>t<>>64-r)(e,t,r):((e,t,r)=>e<>>32-r)(e,t,r),ru=(e,t,r)=>r>32?((e,t,r)=>e<>>64-r)(e,t,r):((e,t,r)=>t<>>32-r)(e,t,r);class nu extends Io{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,so(r),!(0=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return so(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(lo(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,uo(this.state)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return e||(e=new nu(t,r,n,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=s,e.destroyed=this.destroyed,e}}const iu=(e,t,r)=>Bo(()=>new nu(t,e,r)),su=(()=>iu(6,136,32))(),au=(()=>iu(6,72,64))(),ou=(()=>{return e=31,t=136,r=32,function(e){const t=(t,r)=>e(r).update(Eo(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}((n={})=>new nu(t,e,void 0===n.dkLen?r:n.dkLen,!0));var e,t,r})(),cu=BigInt(0),lu=BigInt(1),uu=BigInt(2),hu=BigInt(8);function fu(e,t={}){const r=yl("edwards",e,t,t.FpFnLE),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a}=s;Wo(t,{},{uvRatio:"function"});const o=uu<n.create(e),l=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(n.div(e,t))}}catch(e){return{isValid:!1,value:cu}}});if(!function(e,t,r,n){const i=e.sqr(r),s=e.sqr(n),a=e.add(e.mul(t.a,i),s),o=e.add(e.ONE,e.mul(t.d,e.mul(i,s)));return e.eql(a,o)}(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function u(e,t,r=!1){return Go("coordinate "+e,t,r?lu:cu,o),t}function h(e){if(!(e instanceof d))throw new Error("ExtendedPoint expected")}const f=Yo((e,t)=>{const{X:r,Y:i,Z:s}=e,a=e.is0();null==t&&(t=a?hu:n.inv(s));const o=c(r*t),l=c(i*t),u=n.mul(s,t);if(a)return{x:cu,y:lu};if(u!==lu)throw new Error("invZ was invalid");return{x:o,y:l}}),A=Yo(e=>{const{a:t,d:r}=s;if(e.is0())throw new Error("bad point: ZERO");const{X:n,Y:i,Z:a,T:o}=e,l=c(n*n),u=c(i*i),h=c(a*a),f=c(h*h),A=c(l*t);if(c(h*c(A+u))!==c(f+c(r*c(l*u))))throw new Error("bad point: equation left != right (1)");if(c(n*i)!==c(a*o))throw new Error("bad point: equation left != right (2)");return!0});class d{constructor(e,t,r,n){this.X=u("x",e),this.Y=u("y",t),this.Z=u("z",r,!0),this.T=u("t",n),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){if(e instanceof d)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};return u("x",t),u("y",r),new d(t,r,lu,c(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:i,d:a}=s;e=Oo(Uo(e,r,"point")),Ko(t,"zip215");const u=Oo(e),h=e[r-1];u[r-1]=-129&h;const f=Mo(u),A=t?o:n.ORDER;Go("point.y",f,cu,A);const p=c(f*f),g=c(p-lu),y=c(a*p-i);let{isValid:m,value:w}=l(g,y);if(!m)throw new Error("bad point: invalid y coordinate");const b=(w&lu)===lu,v=!!(128&h);if(!t&&w===cu&&v)throw new Error("bad point: x=0 and x_0=1");return v!==b&&(w=c(-w)),d.fromAffine({x:w,y:f})}static fromHex(e,t=!1){return d.fromBytes(No("point",e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return p.createCache(this,e),t||this.multiply(uu),this}assertValidity(){A(this)}equals(e){h(e);const{X:t,Y:r,Z:n}=this,{X:i,Y:s,Z:a}=e,o=c(t*a),l=c(i*n),u=c(r*a),f=c(s*n);return o===l&&u===f}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:e}=s,{X:t,Y:r,Z:n}=this,i=c(t*t),a=c(r*r),o=c(uu*c(n*n)),l=c(e*i),u=t+r,h=c(c(u*u)-i-a),f=l+a,A=f-o,p=l-a,g=c(h*A),y=c(f*p),m=c(h*p),w=c(A*f);return new d(g,y,w,m)}add(e){h(e);const{a:t,d:r}=s,{X:n,Y:i,Z:a,T:o}=this,{X:l,Y:u,Z:f,T:A}=e,p=c(n*l),g=c(i*u),y=c(o*r*A),m=c(a*f),w=c((n+i)*(l+u)-p-g),b=m-y,v=m+y,E=c(g-t*p),k=c(w*b),I=c(v*E),B=c(w*E),C=c(b*v);return new d(k,I,C,B)}subtract(e){return this.add(e.negate())}multiply(e){if(!i.isValidNot0(e))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:t,f:r}=p.cached(this,e,e=>al(d,e));return al(d,[t,r])[0]}multiplyUnsafe(e,t=d.ZERO){if(!i.isValid(e))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return e===cu?d.ZERO:this.is0()||e===lu?this:p.unsafe(this,e,e=>al(d,e),t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return p.unsafe(this,s.n).is0()}toAffine(e){return f(this,e)}clearCofactor(){return a===lu?this:this.multiplyUnsafe(a)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&lu?128:0,r}toHex(){return wo(this.toBytes())}toString(){return``}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(e){return al(d,e)}static msm(e,t){return pl(d,i,e,t)}_setWindowSize(e){this.precompute(e)}toRawBytes(){return this.toBytes()}}d.BASE=new d(s.Gx,s.Gy,lu,c(s.Gx*s.Gy)),d.ZERO=new d(cu,lu,lu,cu),d.Fp=n,d.Fn=i;const p=new dl(d,i.BITS);return d.BASE.precompute(8),d}const Au=BigInt(0),du=BigInt(1),pu=BigInt(2);const gu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),h:BigInt(4),a:BigInt(1),d:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),Gx:BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),Gy:BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")},yu=Object.assign({},gu,{d:BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),Gx:BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),Gy:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")}),mu=Bo(()=>ou.create({dkLen:114})),wu=BigInt(1),bu=BigInt(2),vu=BigInt(3);BigInt(4);const Eu=BigInt(11),ku=BigInt(22),Iu=BigInt(44),Bu=BigInt(88),Cu=BigInt(223);function Su(e){const t=gu.p,r=e*e*e%t,n=r*r*e%t,i=nc(n,vu,t)*n%t,s=nc(i,vu,t)*n%t,a=nc(s,bu,t)*r%t,o=nc(a,Eu,t)*a%t,c=nc(o,ku,t)*o%t,l=nc(c,Iu,t)*c%t,u=nc(l,Bu,t)*l%t,h=nc(u,Iu,t)*c%t,f=nc(h,bu,t)*r%t,A=nc(f,wu,t)*e%t;return nc(A,Cu,t)*f%t}function Du(e){return e[0]&=252,e[55]|=128,e[56]=0,e}function xu(e,t){const r=gu.p,n=rc(e*e*t,r),i=rc(n*e,r),s=rc(i*n*t,r),a=rc(i*Su(s),r),o=rc(a*a,r);return{isValid:rc(o*t,r)===e,value:a}}const Ku=(()=>Ac(gu.p,{BITS:456,isLE:!0}))(),Uu=(()=>Ac(gu.n,{BITS:456,isLE:!0}))();function Pu(e,t,r){if(t.length>255)throw new Error("context must be smaller than 255, got: "+t.length);return ko((n="SigEd448",Uint8Array.from(n,(e,t)=>{const r=e.charCodeAt(0);if(1!==e.length||r>127)throw new Error(`string contains non-ASCII character "${n[t]}" with code ${r} at position ${t}`);return r})),new Uint8Array([r?1:0,t.length]),t,e);var n}const Tu=function(e){const{CURVE:t,curveOpts:r,hash:n,eddsaOpts:i}=function(e){const t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r={Fp:e.Fp,Fn:Ac(t.n,e.nBitLength,!0),uvRatio:e.uvRatio},n={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:r,hash:e.hash,eddsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}(e,function(e,t,r={}){if("function"!=typeof t)throw new Error('"hash" function param is required');Wo(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:n}=r,{BASE:i,Fp:s,Fn:a}=e,o=r.randomBytes||So,c=r.adjustScalarBytes||(e=>e),l=r.domain||((e,t,r)=>{if(Ko(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function u(e){return a.create(Mo(e))}function h(e){const{head:r,prefix:n,scalar:s}=function(e){const r=g.secretKey;e=No("private key",e,r);const n=No("hashed private key",t(e),2*r),i=c(n.slice(0,r));return{head:i,prefix:n.slice(r,2*r),scalar:u(i)}}(e),a=i.multiply(s),o=a.toBytes();return{head:r,prefix:n,scalar:s,point:a,pointBytes:o}}function f(e){return h(e).pointBytes}function A(e=Uint8Array.of(),...r){const i=ko(...r);return u(t(l(i,No("context",e),!!n)))}const d={zip215:!0},p=s.BYTES,g={secretKey:p,publicKey:p,signature:2*p,seed:p};function y(e=o(g.seed)){return Uo(e,g.seed,"seed")}const m={getExtendedPublicKey:h,randomSecretKey:y,isValidSecretKey:function(e){return io(e)&&e.length===a.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){const{y:r}=e.fromBytes(t),n=g.publicKey,i=32===n;if(!i&&57!==n)throw new Error("only defined for 25519 and 448");const a=i?s.div(lu+r,lu-r):s.div(r-lu,r+lu);return s.toBytes(a)},toMontgomerySecret(e){const r=g.secretKey;Uo(e,r);const n=t(e.subarray(0,r));return c(n).subarray(0,r)},randomPrivateKey:y,precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({keygen:function(e){const t=m.randomSecretKey(e);return{secretKey:t,publicKey:f(t)}},getPublicKey:f,sign:function(e,t,r={}){e=No("message",e),n&&(e=n(e));const{prefix:s,scalar:o,pointBytes:c}=h(t),l=A(r.context,s,e),u=i.multiply(l).toBytes(),f=A(r.context,u,c,e),d=a.create(l+f*o);if(!a.isValid(d))throw new Error("sign failed: invalid s");return Uo(ko(u,a.toBytes(d)),g.signature,"result")},verify:function(t,r,s,a=d){const{context:o,zip215:c}=a,l=g.signature;t=No("signature",t,l),r=No("message",r),s=No("publicKey",s,g.publicKey),void 0!==c&&Ko(c,"zip215"),n&&(r=n(r));const u=l/2,h=t.subarray(0,u),f=Mo(t.subarray(u,l));let p,y,m;try{p=e.fromBytes(s,c),y=e.fromBytes(h,c),m=i.multiplyUnsafe(f)}catch(e){return!1}if(!c&&p.isSmallOrder())return!1;const w=A(o,y.toBytes(),p.toBytes(),r);return y.add(p.multiplyUnsafe(w)).subtract(m).clearCofactor().is0()},utils:m,Point:e,lengths:g})}(fu(t,r),n,i))}((()=>({...gu,Fp:Ku,Fn:Uu,nBitLength:Uu.BITS,hash:mu,adjustScalarBytes:Du,domain:Pu,uvRatio:xu}))());fu(yu);const Fu=(()=>{const e=gu.p;return function(e){const t=(Wo(r=e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...r}));var r;const{P:n,type:i,adjustScalarBytes:s,powPminus2:a,randomBytes:o}=t,c="x25519"===i;if(!c&&"x448"!==i)throw new Error("invalid type");const l=o||So,u=c?255:448,h=c?32:56,f=c?BigInt(9):BigInt(5),A=c?BigInt(121665):BigInt(39081),d=c?pu**BigInt(254):pu**BigInt(447),p=c?BigInt(8)*pu**BigInt(251)-du:BigInt(4)*pu**BigInt(445)-du,g=d+p+du,y=e=>rc(e,n),m=w(f);function w(e){return Qo(y(e),h)}function b(e,t){const r=function(e,t){Go("u",e,Au,n),Go("scalar",t,d,g);const r=t,i=e;let s=du,o=Au,c=e,l=du,h=Au;for(let e=BigInt(u-1);e>=Au;e--){const t=r>>e&du;h^=t,({x_2:s,x_3:c}=E(h,s,c)),({x_2:o,x_3:l}=E(h,o,l)),h=t;const n=s+o,a=y(n*n),u=s-o,f=y(u*u),d=a-f,p=c+l,g=y((c-l)*n),m=y(p*u),w=g+m,b=g-m;c=y(w*w),l=y(i*y(b*b)),s=y(a*f),o=y(d*(a+y(A*d)))}({x_2:s,x_3:c}=E(h,s,c)),({x_2:o,x_3:l}=E(h,o,l));const f=a(o);return y(s*f)}(function(e){const t=No("u coordinate",e,h);return c&&(t[31]&=127),y(Mo(t))}(t),function(e){return Mo(s(No("scalar",e,h)))}(e));if(r===Au)throw new Error("invalid private or public key received");return w(r)}function v(e){return b(e,m)}function E(e,t,r){const n=y(e*(t-r));return{x_2:t=y(t-n),x_3:r=y(r+n)}}const k={secretKey:h,publicKey:h,seed:h},I=(e=l(h))=>(ao(e,k.seed),e);return{keygen:function(e){const t=I(e);return{secretKey:t,publicKey:v(t)}},getSharedSecret:(e,t)=>b(e,t),getPublicKey:e=>v(e),scalarMult:b,scalarMultBase:v,utils:{randomSecretKey:I,randomPrivateKey:I},GuBytes:m.slice(),lengths:k}}({P:e,type:"x448",powPminus2:t=>rc(nc(Su(t),bu,e)*t,e),adjustScalarBytes:Du})})(),Mu={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ru={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Qu=BigInt(2),Nu=Ac(Mu.p,{sqrt:function(e){const t=Mu.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,h=nc(u,r,t)*u%t,f=nc(h,r,t)*u%t,A=nc(f,Qu,t)*l%t,d=nc(A,i,t)*A%t,p=nc(d,s,t)*d%t,g=nc(p,o,t)*p%t,y=nc(g,c,t)*g%t,m=nc(y,o,t)*p%t,w=nc(m,r,t)*u%t,b=nc(w,a,t)*d%t,v=nc(b,n,t)*l%t,E=nc(v,Qu,t);if(!Nu.eql(Nu.sqr(E),e))throw new Error("Cannot find square root");return E}}),Ou=Tl({...Mu,Fp:Nu,lowS:!0,endo:Ru},zc),Lu=zc,Gu=Xc,Hu=Ac(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),ju=Tl({a:Hu.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:Hu,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},Lu),Wu=$c,Yu=el,Ju=Ac(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),Zu=Tl({a:Ju.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:Ju,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},Yu),qu=Ac(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),_u=Tl({a:qu.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:qu,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},Wu),Vu=new Map(Object.entries({nistP256:Ll,nistP384:Gl,nistP521:Hl,brainpoolP256r1:ju,brainpoolP384r1:Zu,brainpoolP512r1:_u,secp256k1:Ou,x448:Fu,ed448:Tu}));var zu=Object.freeze({__proto__:null,nobleCurves:Vu});const Xu=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),$u=new Uint32Array(80);class eh extends mc{constructor(){super(64,20,8,!1),this.A=0|Xu[0],this.B=0|Xu[1],this.C=0|Xu[2],this.D=0|Xu[3],this.E=0|Xu[4]}get(){const{A:e,B:t,C:r,D:n,E:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)$u[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)$u[e]=Ao($u[e-3]^$u[e-8]^$u[e-14]^$u[e-16],1);let{A:r,B:n,C:i,D:s,E:a}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=gc(n,i,s),o=1518500249):e<40?(t=n^i^s,o=1859775393):e<60?(t=yc(n,i,s),o=2400959708):(t=n^i^s,o=3395469782);const c=Ao(r,5)+t+a+o+$u[e]|0;a=s,s=i,i=Ao(n,30),n=r,r=c}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,this.set(r,n,i,s,a)}roundClean(){uo($u)}destroy(){this.set(0,0,0,0,0),uo(this.buffer)}}const th=Bo(()=>new eh),rh=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),nh=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),ih=(()=>nh.map(e=>(9*e+5)%16))(),sh=(()=>{const e=[[nh],[ih]];for(let t=0;t<4;t++)for(let r of e)r.push(r[t].map(e=>rh[e]));return e})(),ah=(()=>sh[0])(),oh=(()=>sh[1])(),ch=[[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=>Uint8Array.from(e)),lh=ah.map((e,t)=>e.map(e=>ch[t][e])),uh=oh.map((e,t)=>e.map(e=>ch[t][e])),hh=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),fh=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Ah(e,t,r,n){return 0===e?t^r^n:1===e?t&r|~t&n:2===e?(t|~r)^n:3===e?t&n|r&~n:t^(r|~n)}const dh=new Uint32Array(16);class ph extends mc{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|n,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)dh[r]=e.getUint32(t,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,c=0|this.h3,l=c,u=0|this.h4,h=u;for(let e=0;e<5;e++){const t=4-e,f=hh[e],A=fh[e],d=ah[e],p=oh[e],g=lh[e],y=uh[e];for(let t=0;t<16;t++){const n=Ao(r+Ah(e,i,a,c)+dh[d[t]]+f,g[t])+u|0;r=u,u=c,c=0|Ao(a,10),a=i,i=n}for(let e=0;e<16;e++){const r=Ao(n+Ah(t,s,o,l)+dh[p[e]]+A,y[e])+h|0;n=h,h=l,l=0|Ao(o,10),o=s,s=r}}this.set(this.h1+a+l|0,this.h2+c+h|0,this.h3+u+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){uo(dh)}destroy(){this.destroyed=!0,uo(this.buffer),this.set(0,0,0,0,0)}}const gh=th,yh=Bo(()=>new ph),mh=Array.from({length:64},(e,t)=>Math.floor(2**32*Math.abs(Math.sin(t+1)))),wh=(e,t,r)=>e&t^~e&r,bh=new Uint32Array([1732584193,4023233417,2562383102,271733878]),vh=new Uint32Array(16);class Eh extends mc{constructor(){super(64,16,8,!0),this.A=0|bh[0],this.B=0|bh[1],this.C=0|bh[2],this.D=0|bh[3]}get(){const{A:e,B:t,C:r,D:n}=this;return[e,t,r,n]}set(e,t,r,n){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n}process(e,t){for(let r=0;r<16;r++,t+=4)vh[r]=e.getUint32(t,!0);let{A:r,B:n,C:i,D:s}=this;for(let e=0;e<64;e++){let t,a,o;e<16?(t=wh(n,i,s),a=e,o=[7,12,17,22]):e<32?(t=wh(s,n,i),a=(5*e+1)%16,o=[5,9,14,20]):e<48?(t=n^i^s,a=(3*e+5)%16,o=[4,11,16,23]):(t=i^(n|~s),a=7*e%16,o=[6,10,15,21]),t=t+r+mh[e]+vh[a],r=s,s=i,i=n,n+=Ao(t,o[e%4])}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,this.set(r,n,i,s)}roundClean(){vh.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}const kh=Co(()=>new Eh),Ih=new Map(Object.entries({md5:kh,sha1:gh,sha224:Gu,sha256:Lu,sha384:Yu,sha512:Wu,sha3_256:su,sha3_512:au,ripemd160:yh}));var Bh=Object.freeze({__proto__:null,nobleHashes:Ih});const Ch="object"==typeof n&&"crypto"in n?n.crypto:void 0,Sh={};var Dh=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function Lh(e,t,r,n){return function(e,t,r,n){var i,s=0;for(i=0;i<32;i++)s|=e[t+i]^r[n+i];return(1&s-1>>>8)-1}(e,t,r,n)}function Gh(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function Hh(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function jh(e,t,r){for(var n,i=~(r-1),s=0;s<16;s++)n=i&(e[s]^t[s]),e[s]^=n,t[s]^=n}function Wh(e,t){var r,n,i,s=Dh(),a=Dh();for(r=0;r<16;r++)a[r]=t[r];for(Hh(a),Hh(a),Hh(a),n=0;n<2;n++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,jh(a,s,1-i)}for(r=0;r<16;r++)e[2*r]=255&a[r],e[2*r+1]=a[r]>>8}function Yh(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return Wh(r,e),Wh(n,t),Lh(r,0,n,0)}function Jh(e){var t=new Uint8Array(32);return Wh(t,e),1&t[0]}function Zh(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function qh(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function _h(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function Vh(e,t,r){var n,i,s=0,a=0,o=0,c=0,l=0,u=0,h=0,f=0,A=0,d=0,p=0,g=0,y=0,m=0,w=0,b=0,v=0,E=0,k=0,I=0,B=0,C=0,S=0,D=0,x=0,K=0,U=0,P=0,T=0,F=0,M=0,R=r[0],Q=r[1],N=r[2],O=r[3],L=r[4],G=r[5],H=r[6],j=r[7],W=r[8],Y=r[9],J=r[10],Z=r[11],q=r[12],_=r[13],V=r[14],z=r[15];s+=(n=t[0])*R,a+=n*Q,o+=n*N,c+=n*O,l+=n*L,u+=n*G,h+=n*H,f+=n*j,A+=n*W,d+=n*Y,p+=n*J,g+=n*Z,y+=n*q,m+=n*_,w+=n*V,b+=n*z,a+=(n=t[1])*R,o+=n*Q,c+=n*N,l+=n*O,u+=n*L,h+=n*G,f+=n*H,A+=n*j,d+=n*W,p+=n*Y,g+=n*J,y+=n*Z,m+=n*q,w+=n*_,b+=n*V,v+=n*z,o+=(n=t[2])*R,c+=n*Q,l+=n*N,u+=n*O,h+=n*L,f+=n*G,A+=n*H,d+=n*j,p+=n*W,g+=n*Y,y+=n*J,m+=n*Z,w+=n*q,b+=n*_,v+=n*V,E+=n*z,c+=(n=t[3])*R,l+=n*Q,u+=n*N,h+=n*O,f+=n*L,A+=n*G,d+=n*H,p+=n*j,g+=n*W,y+=n*Y,m+=n*J,w+=n*Z,b+=n*q,v+=n*_,E+=n*V,k+=n*z,l+=(n=t[4])*R,u+=n*Q,h+=n*N,f+=n*O,A+=n*L,d+=n*G,p+=n*H,g+=n*j,y+=n*W,m+=n*Y,w+=n*J,b+=n*Z,v+=n*q,E+=n*_,k+=n*V,I+=n*z,u+=(n=t[5])*R,h+=n*Q,f+=n*N,A+=n*O,d+=n*L,p+=n*G,g+=n*H,y+=n*j,m+=n*W,w+=n*Y,b+=n*J,v+=n*Z,E+=n*q,k+=n*_,I+=n*V,B+=n*z,h+=(n=t[6])*R,f+=n*Q,A+=n*N,d+=n*O,p+=n*L,g+=n*G,y+=n*H,m+=n*j,w+=n*W,b+=n*Y,v+=n*J,E+=n*Z,k+=n*q,I+=n*_,B+=n*V,C+=n*z,f+=(n=t[7])*R,A+=n*Q,d+=n*N,p+=n*O,g+=n*L,y+=n*G,m+=n*H,w+=n*j,b+=n*W,v+=n*Y,E+=n*J,k+=n*Z,I+=n*q,B+=n*_,C+=n*V,S+=n*z,A+=(n=t[8])*R,d+=n*Q,p+=n*N,g+=n*O,y+=n*L,m+=n*G,w+=n*H,b+=n*j,v+=n*W,E+=n*Y,k+=n*J,I+=n*Z,B+=n*q,C+=n*_,S+=n*V,D+=n*z,d+=(n=t[9])*R,p+=n*Q,g+=n*N,y+=n*O,m+=n*L,w+=n*G,b+=n*H,v+=n*j,E+=n*W,k+=n*Y,I+=n*J,B+=n*Z,C+=n*q,S+=n*_,D+=n*V,x+=n*z,p+=(n=t[10])*R,g+=n*Q,y+=n*N,m+=n*O,w+=n*L,b+=n*G,v+=n*H,E+=n*j,k+=n*W,I+=n*Y,B+=n*J,C+=n*Z,S+=n*q,D+=n*_,x+=n*V,K+=n*z,g+=(n=t[11])*R,y+=n*Q,m+=n*N,w+=n*O,b+=n*L,v+=n*G,E+=n*H,k+=n*j,I+=n*W,B+=n*Y,C+=n*J,S+=n*Z,D+=n*q,x+=n*_,K+=n*V,U+=n*z,y+=(n=t[12])*R,m+=n*Q,w+=n*N,b+=n*O,v+=n*L,E+=n*G,k+=n*H,I+=n*j,B+=n*W,C+=n*Y,S+=n*J,D+=n*Z,x+=n*q,K+=n*_,U+=n*V,P+=n*z,m+=(n=t[13])*R,w+=n*Q,b+=n*N,v+=n*O,E+=n*L,k+=n*G,I+=n*H,B+=n*j,C+=n*W,S+=n*Y,D+=n*J,x+=n*Z,K+=n*q,U+=n*_,P+=n*V,T+=n*z,w+=(n=t[14])*R,b+=n*Q,v+=n*N,E+=n*O,k+=n*L,I+=n*G,B+=n*H,C+=n*j,S+=n*W,D+=n*Y,x+=n*J,K+=n*Z,U+=n*q,P+=n*_,T+=n*V,F+=n*z,b+=(n=t[15])*R,a+=38*(E+=n*N),o+=38*(k+=n*O),c+=38*(I+=n*L),l+=38*(B+=n*G),u+=38*(C+=n*H),h+=38*(S+=n*j),f+=38*(D+=n*W),A+=38*(x+=n*Y),d+=38*(K+=n*J),p+=38*(U+=n*Z),g+=38*(P+=n*q),y+=38*(T+=n*_),m+=38*(F+=n*V),w+=38*(M+=n*z),s=(n=(s+=38*(v+=n*Q))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=(s+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s+=i-1+37*(i-1),e[0]=s,e[1]=a,e[2]=o,e[3]=c,e[4]=l,e[5]=u,e[6]=h,e[7]=f,e[8]=A,e[9]=d,e[10]=p,e[11]=g,e[12]=y,e[13]=m,e[14]=w,e[15]=b}function zh(e,t){Vh(e,t,t)}function Xh(e,t){var r,n=Dh();for(r=0;r<16;r++)n[r]=t[r];for(r=253;r>=0;r--)zh(n,n),2!==r&&4!==r&&Vh(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}function $h(e,t,r){var n,i,s=new Uint8Array(32),a=new Float64Array(80),o=Dh(),c=Dh(),l=Dh(),u=Dh(),h=Dh(),f=Dh();for(i=0;i<31;i++)s[i]=t[i];for(s[31]=127&t[31]|64,s[0]&=248,Zh(a,r),i=0;i<16;i++)c[i]=a[i],u[i]=o[i]=l[i]=0;for(o[0]=u[0]=1,i=254;i>=0;--i)jh(o,c,n=s[i>>>3]>>>(7&i)&1),jh(l,u,n),qh(h,o,l),_h(o,o,l),qh(l,c,u),_h(c,c,u),zh(u,h),zh(f,o),Vh(o,l,o),Vh(l,c,h),qh(h,o,l),_h(o,o,l),zh(c,o),_h(l,u,f),Vh(o,l,Th),qh(o,o,u),Vh(l,l,o),Vh(o,u,f),Vh(u,c,a),zh(c,h),jh(o,c,n),jh(l,u,n);for(i=0;i<16;i++)a[i+16]=o[i],a[i+32]=l[i],a[i+48]=c[i],a[i+64]=u[i];var A=a.subarray(32),d=a.subarray(16);return Xh(A,A),Vh(d,d,A),Wh(e,d),0}function ef(e,t){return $h(e,t,Kh)}var tf=[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 rf(e,t,r,n){for(var i,s,a,o,c,l,u,h,f,A,d,p,g,y,m,w,b,v,E,k,I,B,C,S,D,x,K=new Int32Array(16),U=new Int32Array(16),P=e[0],T=e[1],F=e[2],M=e[3],R=e[4],Q=e[5],N=e[6],O=e[7],L=t[0],G=t[1],H=t[2],j=t[3],W=t[4],Y=t[5],J=t[6],Z=t[7],q=0;n>=128;){for(E=0;E<16;E++)k=8*E+q,K[E]=r[k+0]<<24|r[k+1]<<16|r[k+2]<<8|r[k+3],U[E]=r[k+4]<<24|r[k+5]<<16|r[k+6]<<8|r[k+7];for(E=0;E<80;E++)if(i=P,s=T,a=F,o=M,c=R,l=Q,u=N,f=L,A=G,d=H,p=j,g=W,y=Y,m=J,C=65535&(B=Z),S=B>>>16,D=65535&(I=O),x=I>>>16,C+=65535&(B=(W>>>14|R<<18)^(W>>>18|R<<14)^(R>>>9|W<<23)),S+=B>>>16,D+=65535&(I=(R>>>14|W<<18)^(R>>>18|W<<14)^(W>>>9|R<<23)),x+=I>>>16,C+=65535&(B=W&Y^~W&J),S+=B>>>16,D+=65535&(I=R&Q^~R&N),x+=I>>>16,C+=65535&(B=tf[2*E+1]),S+=B>>>16,D+=65535&(I=tf[2*E]),x+=I>>>16,I=K[E%16],S+=(B=U[E%16])>>>16,D+=65535&I,x+=I>>>16,D+=(S+=(C+=65535&B)>>>16)>>>16,C=65535&(B=v=65535&C|S<<16),S=B>>>16,D=65535&(I=b=65535&D|(x+=D>>>16)<<16),x=I>>>16,C+=65535&(B=(L>>>28|P<<4)^(P>>>2|L<<30)^(P>>>7|L<<25)),S+=B>>>16,D+=65535&(I=(P>>>28|L<<4)^(L>>>2|P<<30)^(L>>>7|P<<25)),x+=I>>>16,S+=(B=L&G^L&H^G&H)>>>16,D+=65535&(I=P&T^P&F^T&F),x+=I>>>16,h=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,w=65535&C|S<<16,C=65535&(B=p),S=B>>>16,D=65535&(I=o),x=I>>>16,S+=(B=v)>>>16,D+=65535&(I=b),x+=I>>>16,T=i,F=s,M=a,R=o=65535&(D+=(S+=(C+=65535&B)>>>16)>>>16)|(x+=D>>>16)<<16,Q=c,N=l,O=u,P=h,G=f,H=A,j=d,W=p=65535&C|S<<16,Y=g,J=y,Z=m,L=w,E%16==15)for(k=0;k<16;k++)I=K[k],C=65535&(B=U[k]),S=B>>>16,D=65535&I,x=I>>>16,I=K[(k+9)%16],C+=65535&(B=U[(k+9)%16]),S+=B>>>16,D+=65535&I,x+=I>>>16,b=K[(k+1)%16],C+=65535&(B=((v=U[(k+1)%16])>>>1|b<<31)^(v>>>8|b<<24)^(v>>>7|b<<25)),S+=B>>>16,D+=65535&(I=(b>>>1|v<<31)^(b>>>8|v<<24)^b>>>7),x+=I>>>16,b=K[(k+14)%16],S+=(B=((v=U[(k+14)%16])>>>19|b<<13)^(b>>>29|v<<3)^(v>>>6|b<<26))>>>16,D+=65535&(I=(b>>>19|v<<13)^(v>>>29|b<<3)^b>>>6),x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,K[k]=65535&D|x<<16,U[k]=65535&C|S<<16;C=65535&(B=L),S=B>>>16,D=65535&(I=P),x=I>>>16,I=e[0],S+=(B=t[0])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[0]=P=65535&D|x<<16,t[0]=L=65535&C|S<<16,C=65535&(B=G),S=B>>>16,D=65535&(I=T),x=I>>>16,I=e[1],S+=(B=t[1])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[1]=T=65535&D|x<<16,t[1]=G=65535&C|S<<16,C=65535&(B=H),S=B>>>16,D=65535&(I=F),x=I>>>16,I=e[2],S+=(B=t[2])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[2]=F=65535&D|x<<16,t[2]=H=65535&C|S<<16,C=65535&(B=j),S=B>>>16,D=65535&(I=M),x=I>>>16,I=e[3],S+=(B=t[3])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[3]=M=65535&D|x<<16,t[3]=j=65535&C|S<<16,C=65535&(B=W),S=B>>>16,D=65535&(I=R),x=I>>>16,I=e[4],S+=(B=t[4])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[4]=R=65535&D|x<<16,t[4]=W=65535&C|S<<16,C=65535&(B=Y),S=B>>>16,D=65535&(I=Q),x=I>>>16,I=e[5],S+=(B=t[5])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[5]=Q=65535&D|x<<16,t[5]=Y=65535&C|S<<16,C=65535&(B=J),S=B>>>16,D=65535&(I=N),x=I>>>16,I=e[6],S+=(B=t[6])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[6]=N=65535&D|x<<16,t[6]=J=65535&C|S<<16,C=65535&(B=Z),S=B>>>16,D=65535&(I=O),x=I>>>16,I=e[7],S+=(B=t[7])>>>16,D+=65535&I,x+=I>>>16,x+=(D+=(S+=(C+=65535&B)>>>16)>>>16)>>>16,e[7]=O=65535&D|x<<16,t[7]=Z=65535&C|S<<16,q+=128,n-=128}return n}function nf(e,t,r){var n,i=new Int32Array(8),s=new Int32Array(8),a=new Uint8Array(256),o=r;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[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,rf(i,s,t,r),r%=128,n=0;n=0;--i)af(e,t,n=r[i/8|0]>>(7&i)&1),sf(t,e),sf(e,e),af(e,t,n)}function lf(e,t){var r=[Dh(),Dh(),Dh(),Dh()];Gh(r[0],Rh),Gh(r[1],Qh),Gh(r[2],Ph),Vh(r[3],Rh,Qh),cf(e,r,t)}function uf(e,t,r){var n,i=new Uint8Array(64),s=[Dh(),Dh(),Dh(),Dh()];for(r||xh(t,32),nf(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,lf(s,i),of(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}var hf=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 ff(e,t){var r,n,i,s;for(n=63;n>=32;--n){for(r=0,i=n-32,s=n-12;i>4)*hf[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*hf[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function Af(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;ff(e,r)}var df=64;function pf(){for(var e=0;e=0;r--)zh(n,n),1!==r&&Vh(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}(r,r),Vh(r,r,i),Vh(r,r,s),Vh(r,r,s),Vh(e[0],r,s),zh(n,e[0]),Vh(n,n,s),Yh(n,i)&&Vh(e[0],e[0],Nh),zh(n,e[0]),Vh(n,n,s),Yh(n,i)?-1:(Jh(e[0])===t[31]>>7&&_h(e[0],Uh,e[0]),Vh(e[3],e[0],e[1]),0)}(c,n))return-1;for(i=0;i=0},Sh.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return uf(e,t),{publicKey:e,secretKey:t}},Sh.sign.keyPair.fromSecretKey=function(e){if(pf(e),64!==e.length)throw new Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r>>4^b),b^=g,w^=g<<4,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,w=w<<1|w>>>31,b=b<<1|b>>>31,p=0;p>>4|b<<28)^e[d+1],g=w,w=b,b=g^(o[y>>>24&63]|l[y>>>16&63]|h[y>>>8&63]|A[63&y]|a[m>>>24&63]|c[m>>>16&63]|u[m>>>8&63]|f[63&m]);g=w,w=b,b=g}w=w>>>1|w<<31,b=b>>>1|b<<31,g=1431655765&(w>>>1^b),b^=g,w^=g<<1,g=16711935&(b>>>8^w),w^=g,b^=g<<8,g=858993459&(b>>>2^w),w^=g,b^=g<<2,g=65535&(w>>>16^b),b^=g,w^=g<<16,g=252645135&(w>>>4^b),b^=g,w^=g<<4,S[D++]=w>>>24,S[D++]=w>>>16&255,S[D++]=w>>>8&255,S[D++]=255&w,S[D++]=b>>>24,S[D++]=b>>>16&255,S[D++]=b>>>8&255,S[D++]=255&b}return r||(S=function(e){let t,r=null;if(t=0,!r){for(r=1;0===e[e.length-r];)r++;r--}return e.subarray(0,e.length-r)}(S)),S}function mf(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],f=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],A=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length>8?3:1,g=new Array(32*p),y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,b,v=0,E=0;for(let k=0;k>>4^k),k^=b,p^=b<<4,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=858993459&(p>>>2^k),k^=b,p^=b<<2,b=65535&(k>>>-16^p),p^=b,k^=b<<-16,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=16711935&(k>>>8^p),p^=b,k^=b<<8,b=1431655765&(p>>>1^k),k^=b,p^=b<<1,b=p<<8|k>>>20&240,p=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=b;for(let e=0;e>>26,k=k<<2|k>>>26):(p=p<<1|p>>>27,k=k<<1|k>>>27),p&=-15,k&=-15,m=t[p>>>28]|r[p>>>24&15]|n[p>>>20&15]|i[p>>>16&15]|s[p>>>12&15]|a[p>>>8&15]|o[p>>>4&15],w=c[k>>>28]|l[k>>>24&15]|u[k>>>20&15]|h[k>>>16&15]|f[k>>>12&15]|A[k>>>8&15]|d[k>>>4&15],b=65535&(w>>>16^m),g[E++]=m^b,g[E++]=w^b<<16}return g}function wf(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return yf(mf(this.key[2]),yf(mf(this.key[1]),yf(mf(this.key[0]),e,!0),!1),!0)}}function bf(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=new Array(16),this.rotate=new Array(16),this.reset(),e.length!==this.KeySize)throw new Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>>16&255,t[s+6]=o>>>8&255,t[s+7]=255&o}return t},this.decrypt=function(e){const t=new Array(e.length);for(let s=0;s>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>16&255,t[s+6]=o>>8&255,t[s+7]=255&o}return t};const e=new Array(4);e[0]=new Array(4),e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=new Array(4),e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=new Array(4),e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=new Array(4),e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=new Array(4);function r(e,t,r){const n=t+e,i=n<>>32-r;return(s[0][i>>>24]^s[1][i>>>16&255])-s[2][i>>>8&255]+s[3][255&i]}function n(e,t,r){const n=t^e,i=n<>>32-r;return s[0][i>>>24]-s[1][i>>>16&255]+s[2][i>>>8&255]^s[3][255&i]}function i(e,t,r){const n=t-e,i=n<>>32-r;return(s[0][i>>>24]+s[1][i>>>16&255]^s[2][i>>>8&255])-s[3][255&i]}t[0]=new Array(4),t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=new Array(4),t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=new Array(4),t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=new Array(4),t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=new Array(8),i=new Array(32);let a;for(let e=0;e<4;e++)a=4*e,n[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];const o=[6,7,4,5];let c,l=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){const t=e[r][a];c=n[t[1]],c^=s[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=s[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=s[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=s[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=s[o[a]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(a=0;a<4;a++){const e=t[r][a];c=s[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=s[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=s[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=s[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=s[4+a][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[l]=c,l++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const s=new Array(8);s[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],s[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],s[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],s[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],s[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],s[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],s[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],s[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function vf(e){this.cast5=new bf,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}wf.keySize=wf.prototype.keySize=24,wf.blockSize=wf.prototype.blockSize=8,vf.blockSize=vf.prototype.blockSize=8,vf.keySize=vf.prototype.keySize=16;const Ef=4294967295;function kf(e,t){return(e<>>32-t)&Ef}function If(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Bf(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Cf(e,t){return e>>>8*t&255}function Sf(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function s(e){return i[0][Cf(e,0)]^i[1][Cf(e,1)]^i[2][Cf(e,2)]^i[3][Cf(e,3)]}function a(e){return i[0][Cf(e,3)]^i[1][Cf(e,0)]^i[2][Cf(e,1)]^i[3][Cf(e,2)]}function o(e,t){let r=s(t[0]),i=a(t[1]);t[2]=kf(t[2]^r+i+n[4*e+8]&Ef,31),t[3]=kf(t[3],1)^r+2*i+n[4*e+9]&Ef,r=s(t[2]),i=a(t[3]),t[0]=kf(t[0]^r+i+n[4*e+10]&Ef,31),t[1]=kf(t[1],1)^r+2*i+n[4*e+11]&Ef}function c(e,t){let r=s(t[0]),i=a(t[1]);t[2]=kf(t[2],1)^r+i+n[4*e+10]&Ef,t[3]=kf(t[3]^r+2*i+n[4*e+11]&Ef,31),r=s(t[2]),i=a(t[3]),t[0]=kf(t[0],1)^r+i+n[4*e+8]&Ef,t[1]=kf(t[1]^r+2*i+n[4*e+9]&Ef,31)}return{name:"twofish",blocksize:16,open:function(t){let r,s,a,o,c;e=t;const l=[],u=[],h=[];let f;const A=[];let d,p,g;const y=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],b=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],E=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],k=[[],[]],I=[[],[],[],[]];function B(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function S(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Ef|e>>>24,e=e<<8&Ef,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function D(e,t){const r=t>>4,n=15&t,i=y[e][r^n],s=m[e][v[n]^E[r]];return b[e][v[s]^E[i]]<<4|w[e][i^s]}function x(e,t){let r=Cf(e,0),n=Cf(e,1),i=Cf(e,2),s=Cf(e,3);switch(f){case 4:r=k[1][r]^Cf(t[3],0),n=k[0][n]^Cf(t[3],1),i=k[0][i]^Cf(t[3],2),s=k[1][s]^Cf(t[3],3);case 3:r=k[1][r]^Cf(t[2],0),n=k[1][n]^Cf(t[2],1),i=k[0][i]^Cf(t[2],2),s=k[0][s]^Cf(t[2],3);case 2:r=k[0][k[0][r]^Cf(t[1],0)]^Cf(t[0],0),n=k[0][k[1][n]^Cf(t[1],1)]^Cf(t[0],1),i=k[1][k[0][i]^Cf(t[1],2)]^Cf(t[0],2),s=k[1][k[1][s]^Cf(t[1],3)]^Cf(t[0],3)}return I[0][r]^I[1][n]^I[2][i]^I[3][s]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r>2]=If(e,r);for(r=0;r<256;r++)k[0][r]=D(0,r),k[1][r]=D(1,r);for(r=0;r<256;r++)d=k[1][r],p=B(d),g=C(d),I[0][r]=d+(p<<8)+(g<<16)+(g<<24),I[2][r]=p+(g<<8)+(d<<16)+(g<<24),d=k[0][r],p=B(d),g=C(d),I[1][r]=g+(g<<8)+(p<<16)+(d<<24),I[3][r]=p+(d<<8)+(g<<16)+(p<<24);for(f=h.length/2,r=0;r=0;e--)c(e,s);Bf(t,r,s[2]^n[0]),Bf(t,r+4,s[3]^n[1]),Bf(t,r+8,s[0]^n[2]),Bf(t,r+12,s[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Df(){}function xf(e){this.bf=new Df,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Sf.keySize=Sf.prototype.keySize=32,Sf.blockSize=Sf.prototype.blockSize=16,Df.prototype.BLOCKSIZE=8,Df.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Df.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Df.prototype.NN=16,Df.prototype._clean=function(e){return e<0&&(e=2147483648+(2147483647&e)),e},Df.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),s=255&(e>>>=8);return t=this.sboxes[0][s]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Df.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Df.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Df.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t>>24^l<<8,e[n+1]=l>>>24^c<<8,Pf(e,r,e,n),Pf(e,r,t,o),c=e[s]^e[r],l=e[s+1]^e[r+1],e[s]=c>>>16^l<<16,e[s+1]=l>>>16^c<<16,Pf(e,i,e,s),c=e[n]^e[i],l=e[n+1]^e[i+1],e[n]=l>>>31^c<<1,e[n+1]=c>>>31^l<<1}const Mf=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Rf=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(e=>2*e));function Qf(e,t){const r=new Uint32Array(32),n=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=Mf[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const i=t?4294967295:0;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){const t=e<<4;Ff(r,n,0,8,16,24,Rf[t+0],Rf[t+1]),Ff(r,n,2,10,18,26,Rf[t+2],Rf[t+3]),Ff(r,n,4,12,20,28,Rf[t+4],Rf[t+5]),Ff(r,n,6,14,22,30,Rf[t+6],Rf[t+7]),Ff(r,n,0,10,20,30,Rf[t+8],Rf[t+9]),Ff(r,n,2,12,22,24,Rf[t+10],Rf[t+11]),Ff(r,n,4,14,16,26,Rf[t+12],Rf[t+13]),Ff(r,n,6,8,18,28,Rf[t+14],Rf[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class Nf{constructor(e,t,r,n){const i=new Uint8Array(64);this.S={b:new Uint8Array(Gf),h:new Uint32Array(Lf/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),n&&i.set(n,48);const s=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=Mf[e]^s[e];if(t){const e=new Uint8Array(Gf);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw new Error("Input must be Uint8Array or Buffer");let t=0;for(;t>2]>>8*(3&e);return this.S.h=null,t.buffer}}function Of(e,t,r,n){if(e>Lf)throw new Error(`outlen must be at most ${Lf} (given: ${e})`);return new Nf(e,t,r,n)}const Lf=64,Gf=128,Hf=1024,jf=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function Wf(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function Yf(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw new Error("LE64: large numbers unsupported");let n=t;for(let t=r;tfunction(e,{memory:t,instance:r}){if(!jf)throw new Error("BigEndian system not supported");const n=function({type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,parallelism:o,memorySize:c,passes:l}){const u=(e,t,r,n)=>{if(tn)throw new Error(`${e} size should be between ${r} and ${n} bytes`)};if(2!==e||19!==t)throw new Error("Unsupported type or version");return u("password",n,8,4294967295),u("salt",i,8,4294967295),u("tag",r,4,4294967295),u("memory",c,8*o,4294967295),s&&u("associated data",s,0,4294967295),a&&u("secret",a,0,32),{type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,lanes:o,memorySize:c,passes:l}}({type:2,version:19,...e}),{G:i,G2:s,xor:a,getLZ:o}=r.exports,c={},l={};l.G=i,l.G2=s,l.XOR=a;const u=4*n.lanes*Math.floor(n.memorySize/(4*n.lanes)),h=u*Hf+10240;if(t.buffer.byteLength{r.set(e,n),n+=e.length}),r}(i));const s=t.digest();return new Uint8Array(s)}(n),w=u/n.lanes,b=new Array(n.lanes).fill(null).map(()=>new Array(w)),v=(e,t)=>(b[e][t]=g.subarray(e*w*1024+1024*t,e*w*1024+1024*t+Hf),b[e][t]);for(let e=0;e0?b[i][c-1]:b[i][w-1],u=r?a.next().value:l;o(A.byteOffset,u.byteOffset,i,n.lanes,e,t,s,4,E);const h=A[0],f=A[1];0===e&&v(i,c),qf(d,l,b[h][f],e>0?p:b[i][c]),e>0&&Zf(d,b[i][c],p,b[i][c])}}}const k=b[0][w-1];for(let e=1;eXf(e=>$f(0,0,"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",e),e=>$f(0,0,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e))});function oA(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cA=function(){if(sA)return iA;sA=1;const e=function(){if(tA)return eA;function e(e){this.name="Bzip2Error",this.message=e,this.stack=(new Error).stack}tA=1,e.prototype=new Error;var t=function(t){throw new e(t)},r={};return r.Bzip2Error=e,r.crcTable=[0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188],r.array=function(e){var t=0,r=0,n=[0,1,3,7,15,31,63,127,255];return function(i){for(var s=0;i>0;){var a=8-t;i>=a?(s<<=a,s|=n[a]&e[r++],t=0,i-=a):(s<<=i,s|=(e[r]&n[i]<<8-i-t)>>8-i-t,t+=i,i=0)}return s}},r.simple=function(e,t){var n=r.array(e),i=!1,s=1e5*r.header(n),a=new Int32Array(s);do{i=r.decompress(n,t,a,s)}while(!i)},r.header=function(e){this.byteCount=new Int32Array(256),this.symToByte=new Uint8Array(256),this.mtfSymbol=new Int32Array(256),this.selectors=new Uint8Array(32768),4348520!=e(24)&&t("No magic number found");var r=e(8)-48;return(r<1||r>9)&&t("Not a BZIP archive"),r},r.decompress=function(e,r,n,i,s){for(var a=-1,o="",c=0;c<6;c++)o+=e(8).toString(16);if("177245385090"==o)return(0|e(32))!==s&&t("Error in bzip2: crc32 do not match"),e(null),null;"314159265359"!=o&&t("Invalid bzip data");var l=0|e(32);e(1)&&t("unsupported obsolete version");var u=e(24);u>i&&t("Initial position larger than buffer size");var h=e(16),f=0;for(c=0;c<16;c++)if(h&1<<15-c){var A=e(16);for(g=0;g<16;g++)A&1<<15-g&&(this.symToByte[f++]=16*c+g)}var d=e(3);(d<2||d>6)&&t("Invalid bzip data");var p=e(15);for(0==p&&t("Invalid bzip data"),c=0;c=d&&t("Invalid bzip data");var y=this.mtfSymbol[g];for(A=g-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,this.selectors[c]=y}var m,w,b,v,E=f+2,k=[],I=new Uint8Array(258),B=new Uint16Array(21);for(g=0;g20)&&t("Invalid bzip data"),e(1);)e(1)?h--:h++;I[c]=h}var C,S;for(C=S=I[0],c=1;cS?S=I[c]:I[c]=p&&t("Invalid bzip data"),D=(m=k[this.selectors[v++]]).base,x=m.limit),g=e(c=m.minLen);c>m.maxLen&&t("Invalid bzip data"),!(g<=x[c]);)c++,g=g<<1|e(1);((g-=D[c])<0||g>=258)&&t("Invalid bzip data");var U=m.permute[g];if(0!=U&&1!=U){if(w)for(w=0,b+h>i&&t("Invalid bzip data"),y=this.symToByte[this.mtfSymbol[0]],this.byteCount[y]+=h;h--;)n[b++]=y;if(U>f)break;for(b>=i&&t("Invalid bzip data"),c=U-1,y=this.mtfSymbol[c],A=c-1;A>=0;A--)this.mtfSymbol[A+1]=this.mtfSymbol[A];this.mtfSymbol[0]=y,y=this.symToByte[y],this.byteCount[y]++,n[b++]=y}else w||(w=1,h=0),h+=0==U?w:2*w,w<<=1}for((u<0||u>=b)&&t("Invalid bzip data"),g=0,c=0;c<256;c++)A=g+this.byteCount[c],this.byteCount[c]=g,g=A;for(c=0;c>=8,Q=-1);b;){for(b--,T=R,R=255&(M=n[M]),M>>=8,3==Q++?(P=R,F=T,R=-1):(P=1,F=R);P--;)a=4294967295&(a<<8^this.crcTable[255&(a>>24^F)]),r(F);R!=T&&(Q=0)}return(0|(a=(-1^a)>>>0))!=(0|l)&&t("Error in bzip2: crc32 do not match"),4294967295&(a^(s<<1|s>>>31))},eA=r}(),t=function(){if(nA)return rA;nA=1;var e=[0,1,3,7,15,31,63,127,255];return rA=function(t){var r=0,n=0,i=t(),s=function(a){if(null===a&&0!=r)return r=0,void n++;for(var o=0;a>0;){n>=i.length&&(n=0,i=t());var c=8-r;0===r&&a>0&&s.bytesRead++,a>=c?(o<<=c,o|=e[c]&i[n++],r=0,a-=c):(o<<=a,o|=(i[n]&e[a]<<8-a-r)>>8-a-r,r+=a,a=0)}return o};return s.bytesRead=0,s}}();return iA=function(r){const n=[];let i,s=0,a=0,o=!1,c=!1,l=null,u=null,h=0;function f(t){if(!o)try{return function(){if(a){const n=1e5*a,i=new Int32Array(n),s=[],o=function(e){s.push(e)};return u=e.decompress(l,o,i,n,u),null===u?(a=0,!1):(r=new Uint8Array(s),t.enqueue(r),null!==r&&(h+=r.length),!0)}var r;return a=e.header(l),u=0,!1}()}catch(e){return t.error(e),o=!0,!0}}return new ReadableStream({start(){i=r.getReader()},async pull(e){try{for(;;){for(;!(c||l&&s-l.bytesRead+1>=25e3+1e5*(a||4));){const{value:e,done:r}=await i.read();r?c=!0:(n.push(e),s+=e.length,null===l&&(l=t(function(){return n.shift()})))}for(;c?l&&s>l.bytesRead:l&&s-l.bytesRead+1>=25e3+1e5*(a||4);)if(f(e))return;if(c&&!o&&(!l||s<=l.bytesRead))return void(null===u?e.close():e.error(new Error("input stream ended prematurely")))}}catch(t){e.error(t)}},async cancel(e){await i.abort(e)}},{highWaterMark:0})}}(),lA=i({__proto__:null,default:oA(cA)},[cA])},6171(e){"use strict";e.exports={rE:"2.2.0"}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0});const t=r(9033),i=r(1592);r.g.handleRequestFromHost=async(e,r,n)=>{const s=new t.Endpoints;try{const t=s[e];return t?t(r,[n]).then(e=>e).catch(e=>(0,i.fmtErr)(e)):(0,i.fmtErr)(new Error(`Unknown endpoint: ${e}`))}catch(e){return(0,i.fmtErr)(e)}}})(),module.exports=n})();; /* entrypoint-bare ends here */ } catch(e) {