@authup/client-auth-console 1.0.0-beta.64 → 1.0.0-beta.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32395,7 +32395,7 @@ var ResultCache = class {
32395
32395
  }
32396
32396
  };
32397
32397
  //#endregion
32398
- //#region ../../packages/client-web-kit/node_modules/@validup/vue/dist/index.mjs
32398
+ //#region ../../node_modules/@validup/vue/dist/index.mjs
32399
32399
  var PARENT_INJECTION_KEY = Symbol.for("validup:parent");
32400
32400
  /**
32401
32401
  * Map a per-field state to a presentational severity token.
@@ -38472,22 +38472,6 @@ function base64URLEncode(input) {
38472
38472
  return btoa(input).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
38473
38473
  }
38474
38474
  //#endregion
38475
- //#region ../../packages/kit/src/bcrypt.ts
38476
- /**
38477
- * Check if an input string might be a bcrypt hash.
38478
- *
38479
- * @see https://stackoverflow.com/questions/5393803/can-someone-explain-how-bcrypt-verifies-a-hash
38480
- * @param input
38481
- */
38482
- function isBCryptHash(input) {
38483
- return [
38484
- "$2a$",
38485
- "$2x$",
38486
- "$2y$",
38487
- "$2b$"
38488
- ].includes(input.substring(0, 4));
38489
- }
38490
- //#endregion
38491
38475
  //#region ../../packages/kit/src/slugify.ts
38492
38476
  /**
38493
38477
  * Normalize an arbitrary string into a URL-friendly slug.
@@ -39057,6 +39041,16 @@ var ClientTokenBindingMethod = /* @__PURE__ */ function(ClientTokenBindingMethod
39057
39041
  return ClientTokenBindingMethod;
39058
39042
  }({});
39059
39043
  var CLIENT_CERTIFICATE_URI_PREFIX = "urn:authup:client:";
39044
+ /**
39045
+ * How a confidential client's secret is stored at rest. Encoded on the
39046
+ * entity as the two flags `secretHashed` / `secretEncrypted` (never both).
39047
+ */
39048
+ var ClientSecretMode = /* @__PURE__ */ function(ClientSecretMode) {
39049
+ ClientSecretMode["PLAIN"] = "plain";
39050
+ ClientSecretMode["HASHED"] = "hashed";
39051
+ ClientSecretMode["ENCRYPTED"] = "encrypted";
39052
+ return ClientSecretMode;
39053
+ }({});
39060
39054
  //#endregion
39061
39055
  //#region ../../packages/core-kit/src/domains/client/helpers.ts
39062
39056
  function isClientNameValid(name, options = {}) {
@@ -39065,6 +39059,20 @@ function isClientNameValid(name, options = {}) {
39065
39059
  function buildClientCertificateURI(clientId) {
39066
39060
  return `${CLIENT_CERTIFICATE_URI_PREFIX}${clientId}`;
39067
39061
  }
39062
+ function getClientSecretMode(client) {
39063
+ if (client.secretHashed) return ClientSecretMode.HASHED;
39064
+ if (client.secretEncrypted) return ClientSecretMode.ENCRYPTED;
39065
+ return ClientSecretMode.PLAIN;
39066
+ }
39067
+ //#endregion
39068
+ //#region ../../packages/core-kit/src/domains/client/secret-rotate-validator.ts
39069
+ var ClientSecretRotateValidator = class extends Container {
39070
+ initialize() {
39071
+ super.initialize();
39072
+ this.mount("secret", { optional: true }, createValidator(string().min(3).max(256)));
39073
+ this.mount("mode", { optional: true }, createValidator(_enum(ClientSecretMode)));
39074
+ }
39075
+ };
39068
39076
  //#endregion
39069
39077
  //#region ../../packages/core-kit/src/domains/client/validator.ts
39070
39078
  /**
@@ -39127,7 +39135,7 @@ function buildRedirectPatternSchema(name) {
39127
39135
  * parseable scheme, `javascript:` included, so the scheme is allow-listed
39128
39136
  * here rather than denied.
39129
39137
  */
39130
- var backchannelLogoutUriSchema = url$1().check((ctx) => {
39138
+ var backchannelLogoutUriSchema = url$1().max(2e3).check((ctx) => {
39131
39139
  let parsed;
39132
39140
  try {
39133
39141
  parsed = new URL(ctx.value);
@@ -39180,8 +39188,14 @@ var ClientValidator = class extends Container {
39180
39188
  this.mount("displayName", { optional: true }, createValidator(string().min(3).max(256).nullable()));
39181
39189
  this.mount("description", { optional: true }, createValidator(string().min(3).max(4096).nullable()));
39182
39190
  this.mount("secret", { optional: true }, createValidator(string().min(3).max(256).nullable()));
39183
- this.mount("secretEncrypted", { optional: true }, createValidator(boolean()));
39184
- this.mount("secretHashed", { optional: true }, createValidator(boolean()));
39191
+ this.mount("secretEncrypted", {
39192
+ group: [ValidatorGroup.CREATE, ValidatorGroup.PROVISIONING],
39193
+ optional: true
39194
+ }, createValidator(boolean()));
39195
+ this.mount("secretHashed", {
39196
+ group: [ValidatorGroup.CREATE, ValidatorGroup.PROVISIONING],
39197
+ optional: true
39198
+ }, createValidator(boolean()));
39185
39199
  this.mount("redirectUri", { optional: true }, createValidator(buildRedirectPatternSchema("redirectUri")));
39186
39200
  this.mount("postLogoutRedirectUri", { optional: true }, createValidator(buildRedirectPatternSchema("postLogoutRedirectUri")));
39187
39201
  this.mount("backchannelLogoutUri", { optional: true }, createValidator(backchannelLogoutUriSchema));
@@ -40731,6 +40745,17 @@ var TranslatorTranslationClientKey = /* @__PURE__ */ function(TranslatorTranslat
40731
40745
  TranslatorTranslationClientKey["CLIENT_CERTIFICATE_URI_HINT"] = "clientCertificateUriHint";
40732
40746
  TranslatorTranslationClientKey["IS_ACTIVE"] = "isActive";
40733
40747
  TranslatorTranslationClientKey["HASH_SECRET"] = "hashSecret";
40748
+ TranslatorTranslationClientKey["SECRET_ROTATE"] = "secretRotate";
40749
+ TranslatorTranslationClientKey["SECRET_ROTATE_HINT"] = "secretRotateHint";
40750
+ TranslatorTranslationClientKey["SECRET_HASHED_HINT"] = "secretHashedHint";
40751
+ TranslatorTranslationClientKey["SECRET_MODE"] = "secretMode";
40752
+ TranslatorTranslationClientKey["SECRET_MODE_PLAIN"] = "secretModePlain";
40753
+ TranslatorTranslationClientKey["SECRET_MODE_HASHED"] = "secretModeHashed";
40754
+ TranslatorTranslationClientKey["SECRET_MODE_ENCRYPTED"] = "secretModeEncrypted";
40755
+ TranslatorTranslationClientKey["SECRET_MODE_ENCRYPTED_HINT"] = "secretModeEncryptedHint";
40756
+ TranslatorTranslationClientKey["SECRET_SHOW_ONCE"] = "secretShowOnce";
40757
+ TranslatorTranslationClientKey["SECRET_COPY"] = "secretCopy";
40758
+ TranslatorTranslationClientKey["SECRET_COPIED"] = "secretCopied";
40734
40759
  TranslatorTranslationClientKey["LOGIN_FAILED"] = "loginFailed";
40735
40760
  TranslatorTranslationClientKey["SCOPE_GRANT_INTRO"] = "scopeGrantIntro";
40736
40761
  TranslatorTranslationClientKey["ONCE_AUTHORIZED_REDIRECT"] = "onceAuthorizedRedirect";
@@ -40891,6 +40916,9 @@ var TranslatorTranslationAppKey = /* @__PURE__ */ function(TranslatorTranslation
40891
40916
  TranslatorTranslationAppKey["URL_GENERATOR_HINT"] = "urlGeneratorHint";
40892
40917
  TranslatorTranslationAppKey["REDIRECT_URL"] = "redirectUrl";
40893
40918
  TranslatorTranslationAppKey["GENERATED_URL"] = "generatedUrl";
40919
+ TranslatorTranslationAppKey["ISSUER"] = "issuer";
40920
+ TranslatorTranslationAppKey["OPENID_CONFIGURATION_URL"] = "openidConfigurationUrl";
40921
+ TranslatorTranslationAppKey["JWKS_URL"] = "jwksUrl";
40894
40922
  TranslatorTranslationAppKey["TOGGLE_NAVIGATION"] = "toggleNavigation";
40895
40923
  TranslatorTranslationAppKey["SESSION_RENEW"] = "sessionRenew";
40896
40924
  TranslatorTranslationAppKey["MINUTES"] = "minutes";
@@ -41098,6 +41126,8 @@ var TranslatorTranslationActionKey = /* @__PURE__ */ function(TranslatorTranslat
41098
41126
  TranslatorTranslationActionKey["HIDE"] = "hide";
41099
41127
  TranslatorTranslationActionKey["REMOVE"] = "remove";
41100
41128
  TranslatorTranslationActionKey["RETRY"] = "retry";
41129
+ TranslatorTranslationActionKey["COPY"] = "copy";
41130
+ TranslatorTranslationActionKey["COPIED"] = "copied";
41101
41131
  return TranslatorTranslationActionKey;
41102
41132
  }({});
41103
41133
  /**
@@ -41161,7 +41191,9 @@ var TranslatorTranslationActionEnglish = {
41161
41191
  [TranslatorTranslationActionKey.SHOW]: "Show",
41162
41192
  [TranslatorTranslationActionKey.HIDE]: "Hide",
41163
41193
  [TranslatorTranslationActionKey.REMOVE]: "Remove",
41164
- [TranslatorTranslationActionKey.RETRY]: "Retry"
41194
+ [TranslatorTranslationActionKey.RETRY]: "Retry",
41195
+ [TranslatorTranslationActionKey.COPY]: "Copy",
41196
+ [TranslatorTranslationActionKey.COPIED]: "Copied"
41165
41197
  };
41166
41198
  //#endregion
41167
41199
  //#region ../../packages/i18n/src/catalogs/en/app.ts
@@ -41198,6 +41230,9 @@ var TranslatorTranslationAppEnglish = {
41198
41230
  [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: "Generate an authorize url by picking the scopes it needs to function.",
41199
41231
  [TranslatorTranslationAppKey.REDIRECT_URL]: "Redirect URL",
41200
41232
  [TranslatorTranslationAppKey.GENERATED_URL]: "Generated URL",
41233
+ [TranslatorTranslationAppKey.ISSUER]: "Issuer",
41234
+ [TranslatorTranslationAppKey.OPENID_CONFIGURATION_URL]: "OpenID configuration URL",
41235
+ [TranslatorTranslationAppKey.JWKS_URL]: "JWKS URL",
41201
41236
  [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: "Toggle navigation",
41202
41237
  [TranslatorTranslationAppKey.SESSION_RENEW]: "The session will be renewed in {countdown}.",
41203
41238
  [TranslatorTranslationAppKey.MINUTES]: "minute(s)",
@@ -41268,6 +41303,17 @@ var TranslatorTranslationClientEnglish = {
41268
41303
  [TranslatorTranslationClientKey.CLIENT_CERTIFICATE_URI_HINT]: "The certificate must contain this exact URI SAN once.",
41269
41304
  [TranslatorTranslationClientKey.IS_ACTIVE]: "Is active?",
41270
41305
  [TranslatorTranslationClientKey.HASH_SECRET]: "Hash secret?",
41306
+ [TranslatorTranslationClientKey.SECRET_ROTATE]: "Rotate secret",
41307
+ [TranslatorTranslationClientKey.SECRET_ROTATE_HINT]: "Leave the secret empty to let the server generate one.",
41308
+ [TranslatorTranslationClientKey.SECRET_HASHED_HINT]: "The secret is stored hashed and cannot be shown. Rotate it to set a new one.",
41309
+ [TranslatorTranslationClientKey.SECRET_MODE]: "Storage",
41310
+ [TranslatorTranslationClientKey.SECRET_MODE_PLAIN]: "Plain (can be shown again)",
41311
+ [TranslatorTranslationClientKey.SECRET_MODE_HASHED]: "Hashed (shown once)",
41312
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED]: "Encrypted (can be shown again)",
41313
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED_HINT]: "The secret is stored encrypted under the realm's encryption key and can be shown again to a permitted reader. Disabling or deleting that key stops such clients from authenticating.",
41314
+ [TranslatorTranslationClientKey.SECRET_SHOW_ONCE]: "Copy the secret now. It will not be shown again.",
41315
+ [TranslatorTranslationClientKey.SECRET_COPY]: "Copy",
41316
+ [TranslatorTranslationClientKey.SECRET_COPIED]: "Copied",
41271
41317
  [TranslatorTranslationClientKey.LOGIN_FAILED]: "The login operation failed",
41272
41318
  [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: "This will allow the {client} application to",
41273
41319
  [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: "Once authorized, you will be redirected to {target}.",
@@ -41657,7 +41703,9 @@ var TranslatorTranslationActionGerman = {
41657
41703
  [TranslatorTranslationActionKey.SHOW]: "Anzeigen",
41658
41704
  [TranslatorTranslationActionKey.HIDE]: "Verbergen",
41659
41705
  [TranslatorTranslationActionKey.REMOVE]: "Entfernen",
41660
- [TranslatorTranslationActionKey.RETRY]: "Erneut versuchen"
41706
+ [TranslatorTranslationActionKey.RETRY]: "Erneut versuchen",
41707
+ [TranslatorTranslationActionKey.COPY]: "Kopieren",
41708
+ [TranslatorTranslationActionKey.COPIED]: "Kopiert"
41661
41709
  };
41662
41710
  //#endregion
41663
41711
  //#region ../../packages/i18n/src/catalogs/de/app.ts
@@ -41694,6 +41742,9 @@ var TranslatorTranslationAppGerman = {
41694
41742
  [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: "Erzeuge eine Autorisierungs-URL, indem du die benötigten Bereiche auswählst.",
41695
41743
  [TranslatorTranslationAppKey.REDIRECT_URL]: "Weiterleitungs-URL",
41696
41744
  [TranslatorTranslationAppKey.GENERATED_URL]: "Generierte URL",
41745
+ [TranslatorTranslationAppKey.ISSUER]: "Issuer",
41746
+ [TranslatorTranslationAppKey.OPENID_CONFIGURATION_URL]: "OpenID-Konfigurations-URL",
41747
+ [TranslatorTranslationAppKey.JWKS_URL]: "JWKS-URL",
41697
41748
  [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: "Navigation umschalten",
41698
41749
  [TranslatorTranslationAppKey.SESSION_RENEW]: "Die Sitzung wird erneuert in {countdown}.",
41699
41750
  [TranslatorTranslationAppKey.MINUTES]: "Minute(n)",
@@ -41764,6 +41815,17 @@ var TranslatorTranslationClientGerman = {
41764
41815
  [TranslatorTranslationClientKey.CLIENT_CERTIFICATE_URI_HINT]: "Das Zertifikat muss genau einmal diese exakte URI-SAN enthalten.",
41765
41816
  [TranslatorTranslationClientKey.IS_ACTIVE]: "Ist aktiv?",
41766
41817
  [TranslatorTranslationClientKey.HASH_SECRET]: "Geheimnis hashen?",
41818
+ [TranslatorTranslationClientKey.SECRET_ROTATE]: "Geheimnis rotieren",
41819
+ [TranslatorTranslationClientKey.SECRET_ROTATE_HINT]: "Leer lassen, damit der Server ein Geheimnis erzeugt.",
41820
+ [TranslatorTranslationClientKey.SECRET_HASHED_HINT]: "Das Geheimnis ist gehasht gespeichert und kann nicht angezeigt werden. Rotiere es, um ein neues zu setzen.",
41821
+ [TranslatorTranslationClientKey.SECRET_MODE]: "Speicherung",
41822
+ [TranslatorTranslationClientKey.SECRET_MODE_PLAIN]: "Klartext (kann erneut angezeigt werden)",
41823
+ [TranslatorTranslationClientKey.SECRET_MODE_HASHED]: "Gehasht (wird einmal angezeigt)",
41824
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED]: "Verschlüsselt (kann erneut angezeigt werden)",
41825
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED_HINT]: "Das Geheimnis wird mit dem Verschlüsselungsschlüssel des Realms verschlüsselt gespeichert und kann berechtigten Lesern erneut angezeigt werden. Wird dieser Schlüssel deaktiviert oder gelöscht, können sich solche Clients nicht mehr authentifizieren.",
41826
+ [TranslatorTranslationClientKey.SECRET_SHOW_ONCE]: "Kopiere das Geheimnis jetzt. Es wird nicht erneut angezeigt.",
41827
+ [TranslatorTranslationClientKey.SECRET_COPY]: "Kopieren",
41828
+ [TranslatorTranslationClientKey.SECRET_COPIED]: "Kopiert",
41767
41829
  [TranslatorTranslationClientKey.LOGIN_FAILED]: "Der Anmeldevorgang ist fehlgeschlagen",
41768
41830
  [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: "Dies erlaubt der Anwendung {client},",
41769
41831
  [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: "Nach der Autorisierung werden Sie weitergeleitet zu {target}.",
@@ -42153,7 +42215,9 @@ var TranslatorTranslationActionFrench = {
42153
42215
  [TranslatorTranslationActionKey.SHOW]: "Afficher",
42154
42216
  [TranslatorTranslationActionKey.HIDE]: "Masquer",
42155
42217
  [TranslatorTranslationActionKey.REMOVE]: "Retirer",
42156
- [TranslatorTranslationActionKey.RETRY]: "Réessayer"
42218
+ [TranslatorTranslationActionKey.RETRY]: "Réessayer",
42219
+ [TranslatorTranslationActionKey.COPY]: "Copier",
42220
+ [TranslatorTranslationActionKey.COPIED]: "Copié"
42157
42221
  };
42158
42222
  //#endregion
42159
42223
  //#region ../../packages/i18n/src/catalogs/fr/app.ts
@@ -42190,6 +42254,9 @@ var TranslatorTranslationAppFrench = {
42190
42254
  [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: "Générez une URL d'autorisation en choisissant les portées dont elle a besoin pour fonctionner.",
42191
42255
  [TranslatorTranslationAppKey.REDIRECT_URL]: "URL de redirection",
42192
42256
  [TranslatorTranslationAppKey.GENERATED_URL]: "URL générée",
42257
+ [TranslatorTranslationAppKey.ISSUER]: "Émetteur",
42258
+ [TranslatorTranslationAppKey.OPENID_CONFIGURATION_URL]: "URL de configuration OpenID",
42259
+ [TranslatorTranslationAppKey.JWKS_URL]: "URL JWKS",
42193
42260
  [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: "Basculer la navigation",
42194
42261
  [TranslatorTranslationAppKey.SESSION_RENEW]: "La session sera renouvelée dans {countdown}.",
42195
42262
  [TranslatorTranslationAppKey.MINUTES]: "minute(s)",
@@ -42260,6 +42327,17 @@ var TranslatorTranslationClientFrench = {
42260
42327
  [TranslatorTranslationClientKey.CLIENT_CERTIFICATE_URI_HINT]: "Le certificat doit contenir exactement une fois ce SAN URI.",
42261
42328
  [TranslatorTranslationClientKey.IS_ACTIVE]: "Est actif ?",
42262
42329
  [TranslatorTranslationClientKey.HASH_SECRET]: "Hacher le secret ?",
42330
+ [TranslatorTranslationClientKey.SECRET_ROTATE]: "Renouveler le secret",
42331
+ [TranslatorTranslationClientKey.SECRET_ROTATE_HINT]: "Laissez le secret vide pour que le serveur en génère un.",
42332
+ [TranslatorTranslationClientKey.SECRET_HASHED_HINT]: "Le secret est stocké haché et ne peut pas être affiché. Renouvelez-le pour en définir un nouveau.",
42333
+ [TranslatorTranslationClientKey.SECRET_MODE]: "Stockage",
42334
+ [TranslatorTranslationClientKey.SECRET_MODE_PLAIN]: "En clair (peut être affiché à nouveau)",
42335
+ [TranslatorTranslationClientKey.SECRET_MODE_HASHED]: "Haché (affiché une seule fois)",
42336
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED]: "Chiffré (peut être affiché à nouveau)",
42337
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED_HINT]: "Le secret est stocké chiffré avec la clé de chiffrement du realm et peut être affiché à nouveau à un lecteur autorisé. Désactiver ou supprimer cette clé empêche ces clients de s'authentifier.",
42338
+ [TranslatorTranslationClientKey.SECRET_SHOW_ONCE]: "Copiez le secret maintenant. Il ne sera plus affiché.",
42339
+ [TranslatorTranslationClientKey.SECRET_COPY]: "Copier",
42340
+ [TranslatorTranslationClientKey.SECRET_COPIED]: "Copié",
42263
42341
  [TranslatorTranslationClientKey.LOGIN_FAILED]: "L'opération de connexion a échoué",
42264
42342
  [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: "Cela permettra à l'application {client} de",
42265
42343
  [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: "Une fois autorisé, vous serez redirigé vers {target}.",
@@ -42649,7 +42727,9 @@ var TranslatorTranslationActionSpanish = {
42649
42727
  [TranslatorTranslationActionKey.SHOW]: "Mostrar",
42650
42728
  [TranslatorTranslationActionKey.HIDE]: "Ocultar",
42651
42729
  [TranslatorTranslationActionKey.REMOVE]: "Quitar",
42652
- [TranslatorTranslationActionKey.RETRY]: "Reintentar"
42730
+ [TranslatorTranslationActionKey.RETRY]: "Reintentar",
42731
+ [TranslatorTranslationActionKey.COPY]: "Copiar",
42732
+ [TranslatorTranslationActionKey.COPIED]: "Copiado"
42653
42733
  };
42654
42734
  //#endregion
42655
42735
  //#region ../../packages/i18n/src/catalogs/es/app.ts
@@ -42686,6 +42766,9 @@ var TranslatorTranslationAppSpanish = {
42686
42766
  [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: "Genere una URL de autorización eligiendo los ámbitos que necesita para funcionar.",
42687
42767
  [TranslatorTranslationAppKey.REDIRECT_URL]: "URL de redirección",
42688
42768
  [TranslatorTranslationAppKey.GENERATED_URL]: "URL generada",
42769
+ [TranslatorTranslationAppKey.ISSUER]: "Emisor",
42770
+ [TranslatorTranslationAppKey.OPENID_CONFIGURATION_URL]: "URL de configuración OpenID",
42771
+ [TranslatorTranslationAppKey.JWKS_URL]: "URL de JWKS",
42689
42772
  [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: "Alternar navegación",
42690
42773
  [TranslatorTranslationAppKey.SESSION_RENEW]: "La sesión se renovará en {countdown}.",
42691
42774
  [TranslatorTranslationAppKey.MINUTES]: "minuto(s)",
@@ -42756,6 +42839,17 @@ var TranslatorTranslationClientSpanish = {
42756
42839
  [TranslatorTranslationClientKey.CLIENT_CERTIFICATE_URI_HINT]: "El certificado debe contener exactamente una vez este SAN de URI.",
42757
42840
  [TranslatorTranslationClientKey.IS_ACTIVE]: "¿Está activo?",
42758
42841
  [TranslatorTranslationClientKey.HASH_SECRET]: "¿Aplicar hash al secreto?",
42842
+ [TranslatorTranslationClientKey.SECRET_ROTATE]: "Rotar el secreto",
42843
+ [TranslatorTranslationClientKey.SECRET_ROTATE_HINT]: "Deja el secreto vacío para que el servidor genere uno.",
42844
+ [TranslatorTranslationClientKey.SECRET_HASHED_HINT]: "El secreto se almacena con hash y no se puede mostrar. Rótalo para establecer uno nuevo.",
42845
+ [TranslatorTranslationClientKey.SECRET_MODE]: "Almacenamiento",
42846
+ [TranslatorTranslationClientKey.SECRET_MODE_PLAIN]: "Texto plano (se puede volver a mostrar)",
42847
+ [TranslatorTranslationClientKey.SECRET_MODE_HASHED]: "Con hash (se muestra una vez)",
42848
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED]: "Cifrado (se puede volver a mostrar)",
42849
+ [TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED_HINT]: "El secreto se guarda cifrado con la clave de cifrado del realm y se puede volver a mostrar a un lector autorizado. Desactivar o eliminar esa clave impide que esos clientes se autentiquen.",
42850
+ [TranslatorTranslationClientKey.SECRET_SHOW_ONCE]: "Copia el secreto ahora. No se volverá a mostrar.",
42851
+ [TranslatorTranslationClientKey.SECRET_COPY]: "Copiar",
42852
+ [TranslatorTranslationClientKey.SECRET_COPIED]: "Copiado",
42759
42853
  [TranslatorTranslationClientKey.LOGIN_FAILED]: "La operación de inicio de sesión falló",
42760
42854
  [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: "Esto permitirá que la aplicación {client}",
42761
42855
  [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: "Una vez autorizado, será redirigido a {target}.",
@@ -46316,9 +46410,9 @@ function defineDiagnostics(options) {
46316
46410
  return result;
46317
46411
  }
46318
46412
  //#endregion
46319
- //#region ../../node_modules/vue-router/dist/useApi-CUgTH_jn.js
46413
+ //#region ../../node_modules/vue-router/dist/useApi-BPuI6ZR9.js
46320
46414
  /*!
46321
- * vue-router v5.3.0
46415
+ * vue-router v5.3.1
46322
46416
  * (c) 2026 Eduardo San Martin Morote
46323
46417
  * @license MIT
46324
46418
  */
@@ -46712,9 +46806,9 @@ function useRoute(_name) {
46712
46806
  return (0, vue_exports.inject)(routeLocationKey);
46713
46807
  }
46714
46808
  //#endregion
46715
- //#region ../../node_modules/vue-router/dist/devtools-CLRpXhL7.js
46809
+ //#region ../../node_modules/vue-router/dist/devtools-CN5uWJaH.js
46716
46810
  /*!
46717
- * vue-router v5.3.0
46811
+ * vue-router v5.3.1
46718
46812
  * (c) 2026 Eduardo San Martin Morote
46719
46813
  * @license MIT
46720
46814
  */
@@ -47345,7 +47439,7 @@ function addDevtools(app, router, matcher) {
47345
47439
  //#endregion
47346
47440
  //#region ../../node_modules/vue-router/dist/vue-router.js
47347
47441
  /*!
47348
- * vue-router v5.3.0
47442
+ * vue-router v5.3.1
47349
47443
  * (c) 2026 Eduardo San Martin Morote
47350
47444
  * @license MIT
47351
47445
  */
@@ -48317,9 +48411,9 @@ function includesParams(outer, inner) {
48317
48411
  for (const key in inner) {
48318
48412
  const innerValue = inner[key];
48319
48413
  const outerValue = outer[key];
48320
- if (typeof innerValue === "string") {
48321
- if (innerValue !== outerValue) return false;
48322
- } else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;
48414
+ if (isArray(innerValue)) {
48415
+ if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;
48416
+ } else if (innerValue !== outerValue) return false;
48323
48417
  }
48324
48418
  return true;
48325
48419
  }
@@ -81186,6 +81280,9 @@ var ClientAPI = class extends BaseAPI$1 {
81186
81280
  async createOrUpdate(idOrName, data) {
81187
81281
  return (await this.client.put(`clients/${idOrName}`, nullifyEmptyObjectProperties(data))).data;
81188
81282
  }
81283
+ async rotateSecret(id, data = {}) {
81284
+ return (await this.client.post(`clients/${id}/secret`, data)).data;
81285
+ }
81189
81286
  };
81190
81287
  //#endregion
81191
81288
  //#region ../../packages/core-http-kit/src/domains/entities/client-permission/module.ts
@@ -82016,6 +82113,16 @@ var OAuth2TokenAPI = class extends TokenAPI {};
82016
82113
  //#region ../../packages/core-http-kit/src/domains/workflows/oauth2/user-info/module.ts
82017
82114
  var OAuth2UserInfoAPI = class extends UserInfoAPI {};
82018
82115
  //#endregion
82116
+ //#region ../../packages/core-http-kit/src/domains/workflows/schema/module.ts
82117
+ var SchemaAPI = class extends BaseAPI$1 {
82118
+ async getMany() {
82119
+ return (await this.client.get("schemas")).data;
82120
+ }
82121
+ async getOne(name) {
82122
+ return (await this.client.get(`schemas/${encodeURIComponent(name)}`)).data;
82123
+ }
82124
+ };
82125
+ //#endregion
82019
82126
  //#region ../../packages/core-http-kit/src/domains/workflows/status/module.ts
82020
82127
  var StatusAPI = class extends BaseAPI$1 {
82021
82128
  async get() {
@@ -82045,6 +82152,7 @@ var Client = class extends Client$1 {
82045
82152
  role;
82046
82153
  roleAttribute;
82047
82154
  rolePermission;
82155
+ schema;
82048
82156
  scope;
82049
82157
  session;
82050
82158
  sessionToken;
@@ -82098,6 +82206,7 @@ var Client = class extends Client$1 {
82098
82206
  this.role = new RoleAPI({ client: this });
82099
82207
  this.roleAttribute = new RoleAttributeAPI({ client: this });
82100
82208
  this.rolePermission = new RolePermissionAPI({ client: this });
82209
+ this.schema = new SchemaAPI({ client: this });
82101
82210
  this.scope = new ScopeAPI({ client: this });
82102
82211
  this.session = new SessionAPI({ client: this });
82103
82212
  this.sessionToken = new SessionTokenAPI({ client: this });
@@ -82317,7 +82426,7 @@ var ClientAuthenticationHook = class extends EventEmitter$2 {
82317
82426
  }
82318
82427
  };
82319
82428
  //#endregion
82320
- //#region node_modules/pinia/dist/pinia.js
82429
+ //#region ../../node_modules/pinia/dist/pinia.js
82321
82430
  /*!
82322
82431
  * pinia v4.0.3
82323
82432
  * (c) 2026 Eduardo San Martin Morote
@@ -85341,18 +85450,20 @@ function createStore(context) {
85341
85450
  * Kept as a working shim (kit cookie hydration + downstream seeding);
85342
85451
  * slated for removal in a future major.
85343
85452
  */
85453
+ const pickRealm = (input) => ({
85454
+ id: input.id,
85455
+ name: input.name,
85456
+ ...typeof input.displayName !== "undefined" ? { displayName: input.displayName } : {}
85457
+ });
85344
85458
  const setRealm = (input) => {
85345
- realm.value = input;
85346
- context.dispatcher.emit(StoreDispatcherEventName.REALM_UPDATED, input);
85459
+ realm.value = input ? pickRealm(input) : null;
85460
+ context.dispatcher.emit(StoreDispatcherEventName.REALM_UPDATED, realm.value);
85347
85461
  };
85348
85462
  const realmManagement = (0, vue_exports.ref)(null);
85349
85463
  const realmManagementId = (0, vue_exports.computed)(() => realmManagement.value ? realmManagement.value.id : realmId.value);
85350
85464
  const realmManagementName = (0, vue_exports.computed)(() => realmManagement.value ? realmManagement.value.name : realmName.value);
85351
85465
  const setRealmManagement = (input) => {
85352
- realmManagement.value = input ? {
85353
- id: input.id,
85354
- name: input.name
85355
- } : null;
85466
+ realmManagement.value = input ? pickRealm(input) : null;
85356
85467
  context.dispatcher.emit(StoreDispatcherEventName.REALM_MANAGEMENT_UPDATED, realmManagement.value);
85357
85468
  };
85358
85469
  const permissionProvider = new PermissionMemoryProvider();
@@ -86806,7 +86917,7 @@ function install$6(app, input) {
86806
86917
  }
86807
86918
  }
86808
86919
  //#endregion
86809
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/constants-Buf92R26.mjs
86920
+ //#region ../../node_modules/@ilingo/validup/dist/constants-Buf92R26.mjs
86810
86921
  /**
86811
86922
  * Catalog namespace name used by the default store. All keys under this
86812
86923
  * namespace are validup `IssueCode` runtime values (e.g. `value_invalid`,
@@ -86834,7 +86945,7 @@ var SlotName$1 = /* @__PURE__ */ function(SlotName) {
86834
86945
  return SlotName;
86835
86946
  }({});
86836
86947
  //#endregion
86837
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/index.mjs
86948
+ //#region ../../node_modules/@ilingo/validup/dist/index.mjs
86838
86949
  /**
86839
86950
  * Coerce validup's `Record<string, unknown>` issue-data shape into
86840
86951
  * ilingo's narrower `Record<string, string | number>`. The documented
@@ -87051,7 +87162,7 @@ function translateIssueGroupsSync(groups, ilingo, options = {}) {
87051
87162
  return output;
87052
87163
  }
87053
87164
  //#endregion
87054
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/en-Crg7sjxJ.mjs
87165
+ //#region ../../node_modules/@ilingo/validup/dist/en-Crg7sjxJ.mjs
87055
87166
  /**
87056
87167
  * Default English translations for the built-in validup `IssueCode`s.
87057
87168
  *
@@ -87093,7 +87204,7 @@ var en_default = defineTranslations({
87093
87204
  same_as: "The value must equal {{other}}"
87094
87205
  });
87095
87206
  //#endregion
87096
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/de-BEce41kE.mjs
87207
+ //#region ../../node_modules/@ilingo/validup/dist/de-BEce41kE.mjs
87097
87208
  var de_default = defineTranslations({
87098
87209
  value_invalid: "Der Wert ist ungültig",
87099
87210
  one_of_failed: "Keine der Alternativen war erfolgreich",
@@ -87121,7 +87232,7 @@ var de_default = defineTranslations({
87121
87232
  same_as: "Der Wert muss gleich {{other}} sein"
87122
87233
  });
87123
87234
  //#endregion
87124
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/fr-CmuTaM11.mjs
87235
+ //#region ../../node_modules/@ilingo/validup/dist/fr-CmuTaM11.mjs
87125
87236
  var fr_default = defineTranslations({
87126
87237
  value_invalid: "La valeur est invalide",
87127
87238
  one_of_failed: "Aucune des alternatives n’a réussi",
@@ -87149,7 +87260,7 @@ var fr_default = defineTranslations({
87149
87260
  same_as: "La valeur doit être égale à {{other}}"
87150
87261
  });
87151
87262
  //#endregion
87152
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/es-DHTsLbBA.mjs
87263
+ //#region ../../node_modules/@ilingo/validup/dist/es-DHTsLbBA.mjs
87153
87264
  var es_default = defineTranslations({
87154
87265
  value_invalid: "El valor no es válido",
87155
87266
  one_of_failed: "Ninguna de las alternativas tuvo éxito",
@@ -87177,7 +87288,7 @@ var es_default = defineTranslations({
87177
87288
  same_as: "El valor debe ser igual a {{other}}"
87178
87289
  });
87179
87290
  //#endregion
87180
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup/dist/store/memory.mjs
87291
+ //#region ../../node_modules/@ilingo/validup/dist/store/memory.mjs
87181
87292
  /**
87182
87293
  * Eager in-memory catalog: all four shipped locales (`en`, `de`, `fr`,
87183
87294
  * `es`) for the `validup` namespace are materialised up front. This entry
@@ -87217,7 +87328,7 @@ function createMemoryStore() {
87217
87328
  return new Store();
87218
87329
  }
87219
87330
  //#endregion
87220
- //#region ../../packages/client-web-kit/node_modules/@ilingo/validup-vue/dist/index.mjs
87331
+ //#region ../../node_modules/@ilingo/validup-vue/dist/index.mjs
87221
87332
  /**
87222
87333
  * Run a synchronous seed computation, degrading to "no seed" if it throws.
87223
87334
  *
@@ -96764,11 +96875,11 @@ var _plugin_vue_export_helper_default$2 = (sfc, props) => {
96764
96875
  };
96765
96876
  //#endregion
96766
96877
  //#region ../../packages/client-web-kit/src/components/utility/content-action/AContentAction.vue
96767
- var _sfc_setup$96 = AContentAction_vue_vue_type_script_lang_default.setup;
96878
+ var _sfc_setup$97 = AContentAction_vue_vue_type_script_lang_default.setup;
96768
96879
  AContentAction_vue_vue_type_script_lang_default.setup = (props, ctx) => {
96769
96880
  const ssrContext = (0, vue_exports.useSSRContext)();
96770
96881
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/content-action/AContentAction.vue");
96771
- return _sfc_setup$96 ? _sfc_setup$96(props, ctx) : void 0;
96882
+ return _sfc_setup$97 ? _sfc_setup$97(props, ctx) : void 0;
96772
96883
  };
96773
96884
  //#endregion
96774
96885
  //#region ../../node_modules/ohash/dist/_chunks/is-equal.mjs
@@ -116230,7 +116341,7 @@ var AFormInputListItem_vue_vue_type_script_lang_default = (0, vue_exports.define
116230
116341
  });
116231
116342
  //#endregion
116232
116343
  //#region ../../packages/client-web-kit/src/components/utility/form-input-list/AFormInputListItem.vue
116233
- function _sfc_ssrRender$92(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
116344
+ function _sfc_ssrRender$93(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
116234
116345
  const _component_IFieldValidation = (0, vue_exports.resolveComponent)("IFieldValidation");
116235
116346
  const _component_VCFormGroup = (0, vue_exports.resolveComponent)("VCFormGroup");
116236
116347
  const _component_VCFormInput = (0, vue_exports.resolveComponent)("VCFormInput");
@@ -116340,13 +116451,13 @@ function _sfc_ssrRender$92(_ctx, _push, _parent, _attrs, $props, $setup, $data,
116340
116451
  _: 1
116341
116452
  }, _parent));
116342
116453
  }
116343
- var _sfc_setup$95 = AFormInputListItem_vue_vue_type_script_lang_default.setup;
116454
+ var _sfc_setup$96 = AFormInputListItem_vue_vue_type_script_lang_default.setup;
116344
116455
  AFormInputListItem_vue_vue_type_script_lang_default.setup = (props, ctx) => {
116345
116456
  const ssrContext = (0, vue_exports.useSSRContext)();
116346
116457
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/form-input-list/AFormInputListItem.vue");
116347
- return _sfc_setup$95 ? _sfc_setup$95(props, ctx) : void 0;
116458
+ return _sfc_setup$96 ? _sfc_setup$96(props, ctx) : void 0;
116348
116459
  };
116349
- var AFormInputListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AFormInputListItem_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$92]]);
116460
+ var AFormInputListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AFormInputListItem_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$93]]);
116350
116461
  //#endregion
116351
116462
  //#region ../../node_modules/@vuecs/placeholder/dist/index.mjs
116352
116463
  var placeholderThemeDefaults = {
@@ -117770,7 +117881,7 @@ var AFormInputList_vue_vue_type_script_lang_default = (0, vue_exports.defineComp
117770
117881
  });
117771
117882
  //#endregion
117772
117883
  //#region ../../packages/client-web-kit/src/components/utility/form-input-list/AFormInputList.vue
117773
- function _sfc_ssrRender$91(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
117884
+ function _sfc_ssrRender$92(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
117774
117885
  const _component_VCButton = (0, vue_exports.resolveComponent)("VCButton");
117775
117886
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
117776
117887
  const _component_VCAlert = (0, vue_exports.resolveComponent)("VCAlert");
@@ -117835,13 +117946,13 @@ function _sfc_ssrRender$91(_ctx, _push, _parent, _attrs, $props, $setup, $data,
117835
117946
  (0, server_renderer_exports.ssrRenderSlot)(_ctx.$slots, "hint", {}, null, _push, _parent);
117836
117947
  _push(`</div>`);
117837
117948
  }
117838
- var _sfc_setup$94 = AFormInputList_vue_vue_type_script_lang_default.setup;
117949
+ var _sfc_setup$95 = AFormInputList_vue_vue_type_script_lang_default.setup;
117839
117950
  AFormInputList_vue_vue_type_script_lang_default.setup = (props, ctx) => {
117840
117951
  const ssrContext = (0, vue_exports.useSSRContext)();
117841
117952
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/form-input-list/AFormInputList.vue");
117842
- return _sfc_setup$94 ? _sfc_setup$94(props, ctx) : void 0;
117953
+ return _sfc_setup$95 ? _sfc_setup$95(props, ctx) : void 0;
117843
117954
  };
117844
- var AFormInputList_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AFormInputList_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$91]]);
117955
+ var AFormInputList_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AFormInputList_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$92]]);
117845
117956
  //#endregion
117846
117957
  //#region ../../node_modules/@vuecs/pagination/dist/index.mjs
117847
117958
  function calculatePage(context) {
@@ -123031,7 +123142,7 @@ var AToggleButton_vue_vue_type_script_lang_default = (0, vue_exports.defineCompo
123031
123142
  });
123032
123143
  //#endregion
123033
123144
  //#region ../../packages/client-web-kit/src/components/utility/toggle-button/AToggleButton.vue
123034
- function _sfc_ssrRender$90(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123145
+ function _sfc_ssrRender$91(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123035
123146
  const _component_VCButton = (0, vue_exports.resolveComponent)("VCButton");
123036
123147
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
123037
123148
  _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCButton, (0, vue_exports.mergeProps)({
@@ -123049,13 +123160,13 @@ function _sfc_ssrRender$90(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123049
123160
  _: 1
123050
123161
  }, _parent));
123051
123162
  }
123052
- var _sfc_setup$93 = AToggleButton_vue_vue_type_script_lang_default.setup;
123163
+ var _sfc_setup$94 = AToggleButton_vue_vue_type_script_lang_default.setup;
123053
123164
  AToggleButton_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123054
123165
  const ssrContext = (0, vue_exports.useSSRContext)();
123055
123166
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/toggle-button/AToggleButton.vue");
123056
- return _sfc_setup$93 ? _sfc_setup$93(props, ctx) : void 0;
123167
+ return _sfc_setup$94 ? _sfc_setup$94(props, ctx) : void 0;
123057
123168
  };
123058
- var AToggleButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AToggleButton_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$90]]);
123169
+ var AToggleButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AToggleButton_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$91]]);
123059
123170
  //#endregion
123060
123171
  //#region ../../packages/client-web-kit/src/components/utility/toggle-button/module.ts
123061
123172
  function renderToggleButton(options) {
@@ -123537,11 +123648,11 @@ var AAccountShell_vue_vue_type_script_lang_default = (0, vue_exports.defineCompo
123537
123648
  });
123538
123649
  //#endregion
123539
123650
  //#region ../../packages/client-web-kit/src/components/utility/AAccountShell.vue
123540
- var _sfc_setup$92 = AAccountShell_vue_vue_type_script_lang_default.setup;
123651
+ var _sfc_setup$93 = AAccountShell_vue_vue_type_script_lang_default.setup;
123541
123652
  AAccountShell_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123542
123653
  const ssrContext = (0, vue_exports.useSSRContext)();
123543
123654
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/AAccountShell.vue");
123544
- return _sfc_setup$92 ? _sfc_setup$92(props, ctx) : void 0;
123655
+ return _sfc_setup$93 ? _sfc_setup$93(props, ctx) : void 0;
123545
123656
  };
123546
123657
  //#endregion
123547
123658
  //#region ../../packages/client-web-kit/src/components/utility/AColorModeSwitcher.vue?vue&type=script&lang.ts
@@ -123571,7 +123682,7 @@ var AColorModeSwitcher_vue_vue_type_script_lang_default = (0, vue_exports.define
123571
123682
  });
123572
123683
  //#endregion
123573
123684
  //#region ../../packages/client-web-kit/src/components/utility/AColorModeSwitcher.vue
123574
- function _sfc_ssrRender$89(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123685
+ function _sfc_ssrRender$90(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123575
123686
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
123576
123687
  _push(`<button${(0, server_renderer_exports.ssrRenderAttrs)((0, vue_exports.mergeProps)({
123577
123688
  type: "button",
@@ -123581,13 +123692,13 @@ function _sfc_ssrRender$89(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123581
123692
  _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCIcon, { name: _ctx.dark ? "fa6-solid:sun" : "fa6-solid:moon" }, null, _parent));
123582
123693
  _push(`</button>`);
123583
123694
  }
123584
- var _sfc_setup$91 = AColorModeSwitcher_vue_vue_type_script_lang_default.setup;
123695
+ var _sfc_setup$92 = AColorModeSwitcher_vue_vue_type_script_lang_default.setup;
123585
123696
  AColorModeSwitcher_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123586
123697
  const ssrContext = (0, vue_exports.useSSRContext)();
123587
123698
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/AColorModeSwitcher.vue");
123588
- return _sfc_setup$91 ? _sfc_setup$91(props, ctx) : void 0;
123699
+ return _sfc_setup$92 ? _sfc_setup$92(props, ctx) : void 0;
123589
123700
  };
123590
- var AColorModeSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AColorModeSwitcher_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$89]]);
123701
+ var AColorModeSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AColorModeSwitcher_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$90]]);
123591
123702
  //#endregion
123592
123703
  //#region ../../packages/client-web-kit/src/components/utility/AAuthGadgets.vue?vue&type=script&lang.ts
123593
123704
  var AAuthGadgets_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({
@@ -123603,7 +123714,7 @@ var AAuthGadgets_vue_vue_type_script_lang_default = (0, vue_exports.defineCompon
123603
123714
  });
123604
123715
  //#endregion
123605
123716
  //#region ../../packages/client-web-kit/src/components/utility/AAuthGadgets.vue
123606
- function _sfc_ssrRender$88(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123717
+ function _sfc_ssrRender$89(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123607
123718
  const _component_AColorModeSwitcher = (0, vue_exports.resolveComponent)("AColorModeSwitcher");
123608
123719
  const _component_ALanguageSwitcherDropdown = (0, vue_exports.resolveComponent)("ALanguageSwitcherDropdown");
123609
123720
  _push(`<div${(0, server_renderer_exports.ssrRenderAttrs)((0, vue_exports.mergeProps)({ class: "a-auth-gadgets" }, _attrs))}>`);
@@ -123616,13 +123727,13 @@ function _sfc_ssrRender$88(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123616
123727
  (0, server_renderer_exports.ssrRenderSlot)(_ctx.$slots, "default", {}, null, _push, _parent);
123617
123728
  _push(`</div>`);
123618
123729
  }
123619
- var _sfc_setup$90 = AAuthGadgets_vue_vue_type_script_lang_default.setup;
123730
+ var _sfc_setup$91 = AAuthGadgets_vue_vue_type_script_lang_default.setup;
123620
123731
  AAuthGadgets_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123621
123732
  const ssrContext = (0, vue_exports.useSSRContext)();
123622
123733
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/AAuthGadgets.vue");
123623
- return _sfc_setup$90 ? _sfc_setup$90(props, ctx) : void 0;
123734
+ return _sfc_setup$91 ? _sfc_setup$91(props, ctx) : void 0;
123624
123735
  };
123625
- var AAuthGadgets_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthGadgets_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$88]]);
123736
+ var AAuthGadgets_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthGadgets_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$89]]);
123626
123737
  //#endregion
123627
123738
  //#region ../../packages/client-web-kit/src/components/utility/AAuthApp.vue?vue&type=script&lang.ts
123628
123739
  var AAuthApp_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({
@@ -123639,7 +123750,7 @@ var AAuthApp_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)
123639
123750
  });
123640
123751
  //#endregion
123641
123752
  //#region ../../packages/client-web-kit/src/components/utility/AAuthApp.vue
123642
- function _sfc_ssrRender$87(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123753
+ function _sfc_ssrRender$88(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123643
123754
  const _component_VCToastProvider = (0, vue_exports.resolveComponent)("VCToastProvider");
123644
123755
  const _component_AAuthGadgets = (0, vue_exports.resolveComponent)("AAuthGadgets");
123645
123756
  const _component_VCToaster = (0, vue_exports.resolveComponent)("VCToaster");
@@ -123675,13 +123786,13 @@ function _sfc_ssrRender$87(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123675
123786
  _: 3
123676
123787
  }, _parent));
123677
123788
  }
123678
- var _sfc_setup$89 = AAuthApp_vue_vue_type_script_lang_default.setup;
123789
+ var _sfc_setup$90 = AAuthApp_vue_vue_type_script_lang_default.setup;
123679
123790
  AAuthApp_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123680
123791
  const ssrContext = (0, vue_exports.useSSRContext)();
123681
123792
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/AAuthApp.vue");
123682
- return _sfc_setup$89 ? _sfc_setup$89(props, ctx) : void 0;
123793
+ return _sfc_setup$90 ? _sfc_setup$90(props, ctx) : void 0;
123683
123794
  };
123684
- var AAuthApp_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthApp_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$87]]);
123795
+ var AAuthApp_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthApp_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$88]]);
123685
123796
  //#endregion
123686
123797
  //#region ../../packages/client-web-kit/src/components/utility/AAuthShell.vue?vue&type=script&lang.ts
123687
123798
  var AAuthShell_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({ props: { logo: {
@@ -123690,20 +123801,20 @@ var AAuthShell_vue_vue_type_script_lang_default = (0, vue_exports.defineComponen
123690
123801
  } } });
123691
123802
  //#endregion
123692
123803
  //#region ../../packages/client-web-kit/src/components/utility/AAuthShell.vue
123693
- function _sfc_ssrRender$86(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123804
+ function _sfc_ssrRender$87(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123694
123805
  _push(`<div${(0, server_renderer_exports.ssrRenderAttrs)((0, vue_exports.mergeProps)({ class: "a-auth-shell" }, _attrs))}><div class="a-auth-shell-aurora" aria-hidden="true"></div><div class="a-auth-shell-card">`);
123695
123806
  if (_ctx.logo) _push(`<div class="a-auth-shell-logo"><svg viewBox="0 0 100 100" width="40" height="40" aria-hidden="true"><rect x="8" y="8" width="84" height="84" rx="16" fill="var(--authup-auth-logo-background, #34353a)"></rect><circle cx="50" cy="42" r="12" fill="#fff"></circle><path d="M 41 44 L 59 44 L 55 68 L 45 68 Z" fill="#fff"></path></svg></div>`);
123696
123807
  else _push(`<!---->`);
123697
123808
  (0, server_renderer_exports.ssrRenderSlot)(_ctx.$slots, "default", {}, null, _push, _parent);
123698
123809
  _push(`</div></div>`);
123699
123810
  }
123700
- var _sfc_setup$88 = AAuthShell_vue_vue_type_script_lang_default.setup;
123811
+ var _sfc_setup$89 = AAuthShell_vue_vue_type_script_lang_default.setup;
123701
123812
  AAuthShell_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123702
123813
  const ssrContext = (0, vue_exports.useSSRContext)();
123703
123814
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/AAuthShell.vue");
123704
- return _sfc_setup$88 ? _sfc_setup$88(props, ctx) : void 0;
123815
+ return _sfc_setup$89 ? _sfc_setup$89(props, ctx) : void 0;
123705
123816
  };
123706
- var AAuthShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthShell_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$86]]);
123817
+ var AAuthShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthShell_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$87]]);
123707
123818
  //#endregion
123708
123819
  //#region ../../packages/client-web-kit/src/components/utility/AAuthBackLink.vue?vue&type=script&lang.ts
123709
123820
  var AAuthBackLink_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({
@@ -123721,7 +123832,7 @@ var AAuthBackLink_vue_vue_type_script_lang_default = (0, vue_exports.defineCompo
123721
123832
  });
123722
123833
  //#endregion
123723
123834
  //#region ../../packages/client-web-kit/src/components/utility/AAuthBackLink.vue
123724
- function _sfc_ssrRender$85(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123835
+ function _sfc_ssrRender$86(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123725
123836
  const _component_VCLink = (0, vue_exports.resolveComponent)("VCLink");
123726
123837
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
123727
123838
  if (_ctx.link) {
@@ -123738,13 +123849,13 @@ function _sfc_ssrRender$85(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123738
123849
  _push(`</div>`);
123739
123850
  } else _push(`<!---->`);
123740
123851
  }
123741
- var _sfc_setup$87 = AAuthBackLink_vue_vue_type_script_lang_default.setup;
123852
+ var _sfc_setup$88 = AAuthBackLink_vue_vue_type_script_lang_default.setup;
123742
123853
  AAuthBackLink_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123743
123854
  const ssrContext = (0, vue_exports.useSSRContext)();
123744
123855
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/AAuthBackLink.vue");
123745
- return _sfc_setup$87 ? _sfc_setup$87(props, ctx) : void 0;
123856
+ return _sfc_setup$88 ? _sfc_setup$88(props, ctx) : void 0;
123746
123857
  };
123747
- var AAuthBackLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthBackLink_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$85]]);
123858
+ var AAuthBackLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AAuthBackLink_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$86]]);
123748
123859
  //#endregion
123749
123860
  //#region ../../packages/client-web-kit/src/components/utility/ANameInput.vue?vue&type=script&lang.ts
123750
123861
  /**
@@ -123800,7 +123911,7 @@ var ANameInput_vue_vue_type_script_lang_default = (0, vue_exports.defineComponen
123800
123911
  });
123801
123912
  //#endregion
123802
123913
  //#region ../../packages/client-web-kit/src/components/utility/ANameInput.vue
123803
- function _sfc_ssrRender$84(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123914
+ function _sfc_ssrRender$85(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123804
123915
  const _component_VCFormInput = (0, vue_exports.resolveComponent)("VCFormInput");
123805
123916
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
123806
123917
  _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormInput, (0, vue_exports.mergeProps)({
@@ -123836,13 +123947,13 @@ function _sfc_ssrRender$84(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123836
123947
  key: "0"
123837
123948
  } : void 0]), _parent));
123838
123949
  }
123839
- var _sfc_setup$86 = ANameInput_vue_vue_type_script_lang_default.setup;
123950
+ var _sfc_setup$87 = ANameInput_vue_vue_type_script_lang_default.setup;
123840
123951
  ANameInput_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123841
123952
  const ssrContext = (0, vue_exports.useSSRContext)();
123842
123953
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/ANameInput.vue");
123843
- return _sfc_setup$86 ? _sfc_setup$86(props, ctx) : void 0;
123954
+ return _sfc_setup$87 ? _sfc_setup$87(props, ctx) : void 0;
123844
123955
  };
123845
- var ANameInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ANameInput_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$84]]);
123956
+ var ANameInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ANameInput_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$85]]);
123846
123957
  //#endregion
123847
123958
  //#region ../../packages/client-web-kit/src/components/utility/ASecretInput.vue?vue&type=script&lang.ts
123848
123959
  /**
@@ -123903,7 +124014,7 @@ var ASecretInput_vue_vue_type_script_lang_default = (0, vue_exports.defineCompon
123903
124014
  });
123904
124015
  //#endregion
123905
124016
  //#region ../../packages/client-web-kit/src/components/utility/ASecretInput.vue
123906
- function _sfc_ssrRender$83(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
124017
+ function _sfc_ssrRender$84(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
123907
124018
  const _component_VCFormInput = (0, vue_exports.resolveComponent)("VCFormInput");
123908
124019
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
123909
124020
  _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormInput, (0, vue_exports.mergeProps)({
@@ -123939,13 +124050,13 @@ function _sfc_ssrRender$83(_ctx, _push, _parent, _attrs, $props, $setup, $data,
123939
124050
  key: "0"
123940
124051
  } : void 0]), _parent));
123941
124052
  }
123942
- var _sfc_setup$85 = ASecretInput_vue_vue_type_script_lang_default.setup;
124053
+ var _sfc_setup$86 = ASecretInput_vue_vue_type_script_lang_default.setup;
123943
124054
  ASecretInput_vue_vue_type_script_lang_default.setup = (props, ctx) => {
123944
124055
  const ssrContext = (0, vue_exports.useSSRContext)();
123945
124056
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/utility/ASecretInput.vue");
123946
- return _sfc_setup$85 ? _sfc_setup$85(props, ctx) : void 0;
124057
+ return _sfc_setup$86 ? _sfc_setup$86(props, ctx) : void 0;
123947
124058
  };
123948
- var ASecretInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ASecretInput_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$83]]);
124059
+ var ASecretInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ASecretInput_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$84]]);
123949
124060
  //#endregion
123950
124061
  //#region ../../packages/client-web-kit/src/components/entities/client/AClient.ts
123951
124062
  var AClient = (0, vue_exports.defineComponent)({
@@ -124093,7 +124204,7 @@ var ARealmForm_vue_vue_type_script_lang_default = (0, vue_exports.defineComponen
124093
124204
  });
124094
124205
  //#endregion
124095
124206
  //#region ../../packages/client-web-kit/src/components/entities/realm/ARealmForm.vue
124096
- function _sfc_ssrRender$82(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
124207
+ function _sfc_ssrRender$83(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
124097
124208
  const _component_IFieldValidation = (0, vue_exports.resolveComponent)("IFieldValidation");
124098
124209
  const _component_VCFormGroup = (0, vue_exports.resolveComponent)("VCFormGroup");
124099
124210
  const _component_ANameInput = (0, vue_exports.resolveComponent)("ANameInput");
@@ -124225,13 +124336,13 @@ function _sfc_ssrRender$82(_ctx, _push, _parent, _attrs, $props, $setup, $data,
124225
124336
  }, null, _parent));
124226
124337
  _push(`</form>`);
124227
124338
  }
124228
- var _sfc_setup$84 = ARealmForm_vue_vue_type_script_lang_default.setup;
124339
+ var _sfc_setup$85 = ARealmForm_vue_vue_type_script_lang_default.setup;
124229
124340
  ARealmForm_vue_vue_type_script_lang_default.setup = (props, ctx) => {
124230
124341
  const ssrContext = (0, vue_exports.useSSRContext)();
124231
124342
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/entities/realm/ARealmForm.vue");
124232
- return _sfc_setup$84 ? _sfc_setup$84(props, ctx) : void 0;
124343
+ return _sfc_setup$85 ? _sfc_setup$85(props, ctx) : void 0;
124233
124344
  };
124234
- var ARealmForm_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ARealmForm_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$82]]);
124345
+ var ARealmForm_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ARealmForm_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$83]]);
124235
124346
  //#endregion
124236
124347
  //#region ../../packages/client-web-kit/src/components/entities/realm/ARealmGrid.vue?vue&type=script&lang.ts
124237
124348
  var ARealmGrid_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({
@@ -124322,7 +124433,7 @@ var ARealmGrid_vue_vue_type_script_lang_default = (0, vue_exports.defineComponen
124322
124433
  });
124323
124434
  //#endregion
124324
124435
  //#region ../../packages/client-web-kit/src/components/entities/realm/ARealmGrid.vue
124325
- function _sfc_ssrRender$81(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
124436
+ function _sfc_ssrRender$82(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
124326
124437
  const _component_VCAlert = (0, vue_exports.resolveComponent)("VCAlert");
124327
124438
  const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
124328
124439
  _push(`<div${(0, server_renderer_exports.ssrRenderAttrs)((0, vue_exports.mergeProps)({ class: "a-realm-select" }, _attrs))}>`);
@@ -124375,13 +124486,13 @@ function _sfc_ssrRender$81(_ctx, _push, _parent, _attrs, $props, $setup, $data,
124375
124486
  }
124376
124487
  _push(`</div>`);
124377
124488
  }
124378
- var _sfc_setup$83 = ARealmGrid_vue_vue_type_script_lang_default.setup;
124489
+ var _sfc_setup$84 = ARealmGrid_vue_vue_type_script_lang_default.setup;
124379
124490
  ARealmGrid_vue_vue_type_script_lang_default.setup = (props, ctx) => {
124380
124491
  const ssrContext = (0, vue_exports.useSSRContext)();
124381
124492
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/entities/realm/ARealmGrid.vue");
124382
- return _sfc_setup$83 ? _sfc_setup$83(props, ctx) : void 0;
124493
+ return _sfc_setup$84 ? _sfc_setup$84(props, ctx) : void 0;
124383
124494
  };
124384
- var ARealmGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ARealmGrid_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$81]]);
124495
+ var ARealmGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(ARealmGrid_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$82]]);
124385
124496
  //#endregion
124386
124497
  //#region ../../packages/client-web-kit/src/components/entities/realm/ARealms.ts
124387
124498
  var ARealms = (0, vue_exports.defineComponent)({
@@ -124520,17 +124631,621 @@ var APolicyPicker_vue_vue_type_script_lang_default = (0, vue_exports.defineCompo
124520
124631
  });
124521
124632
  //#endregion
124522
124633
  //#region ../../packages/client-web-kit/src/components/entities/policy/APolicyPicker.vue
124523
- var _sfc_setup$82 = APolicyPicker_vue_vue_type_script_lang_default.setup;
124634
+ var _sfc_setup$83 = APolicyPicker_vue_vue_type_script_lang_default.setup;
124524
124635
  APolicyPicker_vue_vue_type_script_lang_default.setup = (props, ctx) => {
124525
124636
  const ssrContext = (0, vue_exports.useSSRContext)();
124526
124637
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/entities/policy/APolicyPicker.vue");
124527
- return _sfc_setup$82 ? _sfc_setup$82(props, ctx) : void 0;
124638
+ return _sfc_setup$83 ? _sfc_setup$83(props, ctx) : void 0;
124528
124639
  };
124529
124640
  var APolicyPicker_default = APolicyPicker_vue_vue_type_script_lang_default;
124530
124641
  //#endregion
124642
+ //#region ../../packages/client-web-kit/src/components/entities/client/AClientSecretRotate.vue?vue&type=script&lang.ts
124643
+ /**
124644
+ * Rotates a client's secret through `POST /clients/:id/secret`, the one
124645
+ * writer of a secret on a client that is not stored plain. An empty secret
124646
+ * lets the server generate one; the mode defaults to the client's current
124647
+ * storage mode. The returned plaintext exists in that response only, so it
124648
+ * is rendered once, with a copy button, and dropped when the dialog closes.
124649
+ */
124650
+ var AClientSecretRotate_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({
124651
+ name: "AClientSecretRotate",
124652
+ components: {
124653
+ ASecretInput: ASecretInput_default,
124654
+ IFieldValidation,
124655
+ VCAlert: Alert_default,
124656
+ VCButton,
124657
+ VCFormGroup: FormGroup_default,
124658
+ VCFormRadioGroup: FormRadioGroup_default,
124659
+ VCIcon: VCIcon_default,
124660
+ VCModal: Modal_default,
124661
+ VCModalClose: ModalClose_default,
124662
+ VCModalContent: ModalContent_default,
124663
+ VCModalTitle: ModalTitle_default
124664
+ },
124665
+ props: { entity: {
124666
+ type: Object,
124667
+ required: true
124668
+ } },
124669
+ emits: ["updated", "failed"],
124670
+ setup(props, { emit }) {
124671
+ const apiClient = injectHTTPClient();
124672
+ const translations = useTranslations([
124673
+ {
124674
+ namespace: TranslatorTranslationNamespace.CLIENT,
124675
+ key: TranslatorTranslationClientKey.SECRET_ROTATE
124676
+ },
124677
+ {
124678
+ namespace: TranslatorTranslationNamespace.CLIENT,
124679
+ key: TranslatorTranslationClientKey.SECRET_ROTATE_HINT
124680
+ },
124681
+ {
124682
+ namespace: TranslatorTranslationNamespace.CLIENT,
124683
+ key: TranslatorTranslationClientKey.SECRET_MODE
124684
+ },
124685
+ {
124686
+ namespace: TranslatorTranslationNamespace.CLIENT,
124687
+ key: TranslatorTranslationClientKey.SECRET_MODE_PLAIN
124688
+ },
124689
+ {
124690
+ namespace: TranslatorTranslationNamespace.CLIENT,
124691
+ key: TranslatorTranslationClientKey.SECRET_MODE_HASHED
124692
+ },
124693
+ {
124694
+ namespace: TranslatorTranslationNamespace.CLIENT,
124695
+ key: TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED
124696
+ },
124697
+ {
124698
+ namespace: TranslatorTranslationNamespace.CLIENT,
124699
+ key: TranslatorTranslationClientKey.SECRET_MODE_ENCRYPTED_HINT
124700
+ },
124701
+ {
124702
+ namespace: TranslatorTranslationNamespace.CLIENT,
124703
+ key: TranslatorTranslationClientKey.SECRET_SHOW_ONCE
124704
+ },
124705
+ {
124706
+ namespace: TranslatorTranslationNamespace.CLIENT,
124707
+ key: TranslatorTranslationClientKey.SECRET_COPY
124708
+ },
124709
+ {
124710
+ namespace: TranslatorTranslationNamespace.CLIENT,
124711
+ key: TranslatorTranslationClientKey.SECRET_COPIED
124712
+ },
124713
+ {
124714
+ namespace: TranslatorTranslationNamespace.FIELD,
124715
+ key: TranslatorTranslationFieldKey.SECRET
124716
+ },
124717
+ {
124718
+ namespace: TranslatorTranslationNamespace.ACTION,
124719
+ key: TranslatorTranslationActionKey.ABORT
124720
+ },
124721
+ {
124722
+ namespace: TranslatorTranslationNamespace.ACTION,
124723
+ key: TranslatorTranslationActionKey.CLOSE
124724
+ }
124725
+ ]);
124726
+ const open = (0, vue_exports.ref)(false);
124727
+ const busy = (0, vue_exports.ref)(false);
124728
+ const error = (0, vue_exports.ref)(null);
124729
+ const secret = (0, vue_exports.ref)(null);
124730
+ const copied = (0, vue_exports.ref)(false);
124731
+ const modeOptions = (0, vue_exports.computed)(() => [
124732
+ {
124733
+ value: ClientSecretMode.PLAIN,
124734
+ label: translations.secretModePlain
124735
+ },
124736
+ {
124737
+ value: ClientSecretMode.HASHED,
124738
+ label: translations.secretModeHashed
124739
+ },
124740
+ {
124741
+ value: ClientSecretMode.ENCRYPTED,
124742
+ label: translations.secretModeEncrypted
124743
+ }
124744
+ ]);
124745
+ const defaultMode = () => {
124746
+ const mode = getClientSecretMode(props.entity);
124747
+ return modeOptions.value.some((option) => option.value === mode) ? mode : ClientSecretMode.PLAIN;
124748
+ };
124749
+ const form = (0, vue_exports.reactive)({
124750
+ secret: "",
124751
+ mode: defaultMode()
124752
+ });
124753
+ const v = useValidup(new ClientSecretRotateValidator(), form);
124754
+ const isEncryptedMode = (0, vue_exports.computed)(() => v.fields.mode.$model.value === ClientSecretMode.ENCRYPTED);
124755
+ const setMode = (next) => {
124756
+ v.fields.mode.$model.value = next;
124757
+ };
124758
+ const reset = () => {
124759
+ form.secret = "";
124760
+ form.mode = defaultMode();
124761
+ secret.value = null;
124762
+ error.value = null;
124763
+ copied.value = false;
124764
+ };
124765
+ const setOpen = (value) => {
124766
+ reset();
124767
+ open.value = value;
124768
+ };
124769
+ const submit = async () => {
124770
+ if (busy.value || v.$invalid.value) return;
124771
+ busy.value = true;
124772
+ error.value = null;
124773
+ try {
124774
+ const payload = { mode: form.mode };
124775
+ if (form.secret) payload.secret = form.secret;
124776
+ const response = await apiClient.client.rotateSecret(props.entity.id, payload);
124777
+ secret.value = response.meta.secret;
124778
+ emit("updated", response.data);
124779
+ } catch (e) {
124780
+ error.value = extractErrorContext(e).message ?? null;
124781
+ emit("failed", e);
124782
+ } finally {
124783
+ busy.value = false;
124784
+ }
124785
+ };
124786
+ const copy = async () => {
124787
+ if (!secret.value) return;
124788
+ if (typeof navigator === "undefined" || !navigator.clipboard) return;
124789
+ try {
124790
+ await navigator.clipboard.writeText(secret.value);
124791
+ copied.value = true;
124792
+ } catch {
124793
+ copied.value = false;
124794
+ }
124795
+ };
124796
+ return {
124797
+ translations,
124798
+ v,
124799
+ open,
124800
+ busy,
124801
+ error,
124802
+ secret,
124803
+ copied,
124804
+ modeOptions,
124805
+ isEncryptedMode,
124806
+ setMode,
124807
+ setOpen,
124808
+ submit,
124809
+ copy
124810
+ };
124811
+ }
124812
+ });
124813
+ //#endregion
124814
+ //#region ../../packages/client-web-kit/src/components/entities/client/AClientSecretRotate.vue
124815
+ function _sfc_ssrRender$81(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
124816
+ const _component_VCButton = (0, vue_exports.resolveComponent)("VCButton");
124817
+ const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
124818
+ const _component_VCModal = (0, vue_exports.resolveComponent)("VCModal");
124819
+ const _component_VCModalContent = (0, vue_exports.resolveComponent)("VCModalContent");
124820
+ const _component_VCModalTitle = (0, vue_exports.resolveComponent)("VCModalTitle");
124821
+ const _component_VCModalClose = (0, vue_exports.resolveComponent)("VCModalClose");
124822
+ const _component_VCAlert = (0, vue_exports.resolveComponent)("VCAlert");
124823
+ const _component_IFieldValidation = (0, vue_exports.resolveComponent)("IFieldValidation");
124824
+ const _component_VCFormGroup = (0, vue_exports.resolveComponent)("VCFormGroup");
124825
+ const _component_ASecretInput = (0, vue_exports.resolveComponent)("ASecretInput");
124826
+ const _component_VCFormRadioGroup = (0, vue_exports.resolveComponent)("VCFormRadioGroup");
124827
+ _push(`<div${(0, server_renderer_exports.ssrRenderAttrs)(_attrs)}>`);
124828
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCButton, {
124829
+ color: "primary",
124830
+ variant: "outline",
124831
+ size: "sm",
124832
+ label: _ctx.translations.secretRotate,
124833
+ onClick: ($event) => _ctx.setOpen(true)
124834
+ }, {
124835
+ leading: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124836
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCIcon, { name: "fa6-solid:arrows-rotate" }, null, _parent, _scopeId));
124837
+ else return [(0, vue_exports.createVNode)(_component_VCIcon, { name: "fa6-solid:arrows-rotate" })];
124838
+ }),
124839
+ _: 1
124840
+ }, _parent));
124841
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCModal, {
124842
+ open: _ctx.open,
124843
+ "onUpdate:open": _ctx.setOpen
124844
+ }, {
124845
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124846
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCModalContent, null, {
124847
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124848
+ if (_push) {
124849
+ _push(`<div class="flex items-center justify-between gap-2 mb-3"${_scopeId}>`);
124850
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCModalTitle, null, {
124851
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124852
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translations.secretRotate)}`);
124853
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotate), 1)];
124854
+ }),
124855
+ _: 1
124856
+ }, _parent, _scopeId));
124857
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCModalClose, {
124858
+ class: "text-fg-muted hover:text-fg",
124859
+ "aria-label": _ctx.translations.close
124860
+ }, {
124861
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124862
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCIcon, { name: "fa6-solid:xmark" }, null, _parent, _scopeId));
124863
+ else return [(0, vue_exports.createVNode)(_component_VCIcon, { name: "fa6-solid:xmark" })];
124864
+ }),
124865
+ _: 1
124866
+ }, _parent, _scopeId));
124867
+ _push(`</div>`);
124868
+ if (_ctx.error) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCAlert, {
124869
+ color: "error",
124870
+ variant: "soft",
124871
+ class: "mb-3"
124872
+ }, {
124873
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124874
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.error)}`);
124875
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.error), 1)];
124876
+ }),
124877
+ _: 1
124878
+ }, _parent, _scopeId));
124879
+ else _push(`<!---->`);
124880
+ if (_ctx.secret !== null) {
124881
+ _push(`<!--[-->`);
124882
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCAlert, {
124883
+ color: "warning",
124884
+ variant: "soft",
124885
+ class: "mb-3"
124886
+ }, {
124887
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124888
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translations.secretShowOnce)}`);
124889
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretShowOnce), 1)];
124890
+ }),
124891
+ _: 1
124892
+ }, _parent, _scopeId));
124893
+ _push(`<code class="block font-mono break-all rounded-md bg-bg-muted p-3 mb-3"${_scopeId}>${(0, server_renderer_exports.ssrInterpolate)(_ctx.secret)}</code><div class="flex gap-2"${_scopeId}>`);
124894
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCButton, {
124895
+ color: "primary",
124896
+ label: _ctx.copied ? _ctx.translations.secretCopied : _ctx.translations.secretCopy,
124897
+ onClick: _ctx.copy
124898
+ }, {
124899
+ leading: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124900
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCIcon, { name: _ctx.copied ? "fa6-solid:check" : "fa6-solid:copy" }, null, _parent, _scopeId));
124901
+ else return [(0, vue_exports.createVNode)(_component_VCIcon, { name: _ctx.copied ? "fa6-solid:check" : "fa6-solid:copy" }, null, 8, ["name"])];
124902
+ }),
124903
+ _: 1
124904
+ }, _parent, _scopeId));
124905
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCButton, {
124906
+ color: "neutral",
124907
+ label: _ctx.translations.close,
124908
+ onClick: ($event) => _ctx.setOpen(false)
124909
+ }, null, _parent, _scopeId));
124910
+ _push(`</div><!--]-->`);
124911
+ } else {
124912
+ _push(`<form${_scopeId}>`);
124913
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_IFieldValidation, { field: _ctx.v.fields.secret }, {
124914
+ default: (0, vue_exports.withCtx)(({ value }, _push, _parent, _scopeId) => {
124915
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormGroup, { validation: value }, {
124916
+ label: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124917
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translations.secret)}`);
124918
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secret), 1)];
124919
+ }),
124920
+ hint: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124921
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translations.secretRotateHint)}`);
124922
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotateHint), 1)];
124923
+ }),
124924
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124925
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_ASecretInput, {
124926
+ "model-value": _ctx.v.fields.secret.$model.value ?? "",
124927
+ "onUpdate:modelValue": (next) => {
124928
+ _ctx.v.fields.secret.$model.value = next;
124929
+ }
124930
+ }, null, _parent, _scopeId));
124931
+ else return [(0, vue_exports.createVNode)(_component_ASecretInput, {
124932
+ "model-value": _ctx.v.fields.secret.$model.value ?? "",
124933
+ "onUpdate:modelValue": (next) => {
124934
+ _ctx.v.fields.secret.$model.value = next;
124935
+ }
124936
+ }, null, 8, ["model-value", "onUpdate:modelValue"])];
124937
+ }),
124938
+ _: 2
124939
+ }, _parent, _scopeId));
124940
+ else return [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, {
124941
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secret), 1)]),
124942
+ hint: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotateHint), 1)]),
124943
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_ASecretInput, {
124944
+ "model-value": _ctx.v.fields.secret.$model.value ?? "",
124945
+ "onUpdate:modelValue": (next) => {
124946
+ _ctx.v.fields.secret.$model.value = next;
124947
+ }
124948
+ }, null, 8, ["model-value", "onUpdate:modelValue"])]),
124949
+ _: 2
124950
+ }, 1032, ["validation"])];
124951
+ }),
124952
+ _: 1
124953
+ }, _parent, _scopeId));
124954
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_IFieldValidation, { field: _ctx.v.fields.mode }, {
124955
+ default: (0, vue_exports.withCtx)(({ value }, _push, _parent, _scopeId) => {
124956
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormGroup, { validation: value }, (0, vue_exports.createSlots)({
124957
+ label: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124958
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translations.secretMode)}`);
124959
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretMode), 1)];
124960
+ }),
124961
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124962
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormRadioGroup, {
124963
+ "model-value": _ctx.v.fields.mode.$model.value,
124964
+ options: _ctx.modeOptions,
124965
+ "onUpdate:modelValue": _ctx.setMode
124966
+ }, null, _parent, _scopeId));
124967
+ else return [(0, vue_exports.createVNode)(_component_VCFormRadioGroup, {
124968
+ "model-value": _ctx.v.fields.mode.$model.value,
124969
+ options: _ctx.modeOptions,
124970
+ "onUpdate:modelValue": _ctx.setMode
124971
+ }, null, 8, [
124972
+ "model-value",
124973
+ "options",
124974
+ "onUpdate:modelValue"
124975
+ ])];
124976
+ }),
124977
+ _: 2
124978
+ }, [_ctx.isEncryptedMode ? {
124979
+ name: "hint",
124980
+ fn: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124981
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translations.secretModeEncryptedHint)}`);
124982
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretModeEncryptedHint), 1)];
124983
+ }),
124984
+ key: "0"
124985
+ } : void 0]), _parent, _scopeId));
124986
+ else return [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, (0, vue_exports.createSlots)({
124987
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretMode), 1)]),
124988
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCFormRadioGroup, {
124989
+ "model-value": _ctx.v.fields.mode.$model.value,
124990
+ options: _ctx.modeOptions,
124991
+ "onUpdate:modelValue": _ctx.setMode
124992
+ }, null, 8, [
124993
+ "model-value",
124994
+ "options",
124995
+ "onUpdate:modelValue"
124996
+ ])]),
124997
+ _: 2
124998
+ }, [_ctx.isEncryptedMode ? {
124999
+ name: "hint",
125000
+ fn: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretModeEncryptedHint), 1)]),
125001
+ key: "0"
125002
+ } : void 0]), 1032, ["validation"])];
125003
+ }),
125004
+ _: 1
125005
+ }, _parent, _scopeId));
125006
+ _push(`<div class="flex gap-2"${_scopeId}>`);
125007
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCButton, {
125008
+ type: "submit",
125009
+ color: "primary",
125010
+ disabled: _ctx.busy || _ctx.v.$invalid.value,
125011
+ busy: _ctx.busy,
125012
+ label: _ctx.translations.secretRotate
125013
+ }, null, _parent, _scopeId));
125014
+ _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCButton, {
125015
+ color: "neutral",
125016
+ disabled: _ctx.busy,
125017
+ label: _ctx.translations.abort,
125018
+ onClick: ($event) => _ctx.setOpen(false)
125019
+ }, null, _parent, _scopeId));
125020
+ _push(`</div></form>`);
125021
+ }
125022
+ } else return [
125023
+ (0, vue_exports.createVNode)("div", { class: "flex items-center justify-between gap-2 mb-3" }, [(0, vue_exports.createVNode)(_component_VCModalTitle, null, {
125024
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotate), 1)]),
125025
+ _: 1
125026
+ }), (0, vue_exports.createVNode)(_component_VCModalClose, {
125027
+ class: "text-fg-muted hover:text-fg",
125028
+ "aria-label": _ctx.translations.close
125029
+ }, {
125030
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCIcon, { name: "fa6-solid:xmark" })]),
125031
+ _: 1
125032
+ }, 8, ["aria-label"])]),
125033
+ _ctx.error ? ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)(_component_VCAlert, {
125034
+ key: 0,
125035
+ color: "error",
125036
+ variant: "soft",
125037
+ class: "mb-3"
125038
+ }, {
125039
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.error), 1)]),
125040
+ _: 1
125041
+ })) : (0, vue_exports.createCommentVNode)("", true),
125042
+ _ctx.secret !== null ? ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)(vue_exports.Fragment, { key: 1 }, [
125043
+ (0, vue_exports.createVNode)(_component_VCAlert, {
125044
+ color: "warning",
125045
+ variant: "soft",
125046
+ class: "mb-3"
125047
+ }, {
125048
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretShowOnce), 1)]),
125049
+ _: 1
125050
+ }),
125051
+ (0, vue_exports.createVNode)("code", { class: "block font-mono break-all rounded-md bg-bg-muted p-3 mb-3" }, (0, vue_exports.toDisplayString)(_ctx.secret), 1),
125052
+ (0, vue_exports.createVNode)("div", { class: "flex gap-2" }, [(0, vue_exports.createVNode)(_component_VCButton, {
125053
+ color: "primary",
125054
+ label: _ctx.copied ? _ctx.translations.secretCopied : _ctx.translations.secretCopy,
125055
+ onClick: _ctx.copy
125056
+ }, {
125057
+ leading: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCIcon, { name: _ctx.copied ? "fa6-solid:check" : "fa6-solid:copy" }, null, 8, ["name"])]),
125058
+ _: 1
125059
+ }, 8, ["label", "onClick"]), (0, vue_exports.createVNode)(_component_VCButton, {
125060
+ color: "neutral",
125061
+ label: _ctx.translations.close,
125062
+ onClick: ($event) => _ctx.setOpen(false)
125063
+ }, null, 8, ["label", "onClick"])])
125064
+ ], 64)) : ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)("form", {
125065
+ key: 2,
125066
+ onSubmit: (0, vue_exports.withModifiers)(_ctx.submit, ["prevent"])
125067
+ }, [
125068
+ (0, vue_exports.createVNode)(_component_IFieldValidation, { field: _ctx.v.fields.secret }, {
125069
+ default: (0, vue_exports.withCtx)(({ value }) => [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, {
125070
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secret), 1)]),
125071
+ hint: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotateHint), 1)]),
125072
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_ASecretInput, {
125073
+ "model-value": _ctx.v.fields.secret.$model.value ?? "",
125074
+ "onUpdate:modelValue": (next) => {
125075
+ _ctx.v.fields.secret.$model.value = next;
125076
+ }
125077
+ }, null, 8, ["model-value", "onUpdate:modelValue"])]),
125078
+ _: 2
125079
+ }, 1032, ["validation"])]),
125080
+ _: 1
125081
+ }, 8, ["field"]),
125082
+ (0, vue_exports.createVNode)(_component_IFieldValidation, { field: _ctx.v.fields.mode }, {
125083
+ default: (0, vue_exports.withCtx)(({ value }) => [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, (0, vue_exports.createSlots)({
125084
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretMode), 1)]),
125085
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCFormRadioGroup, {
125086
+ "model-value": _ctx.v.fields.mode.$model.value,
125087
+ options: _ctx.modeOptions,
125088
+ "onUpdate:modelValue": _ctx.setMode
125089
+ }, null, 8, [
125090
+ "model-value",
125091
+ "options",
125092
+ "onUpdate:modelValue"
125093
+ ])]),
125094
+ _: 2
125095
+ }, [_ctx.isEncryptedMode ? {
125096
+ name: "hint",
125097
+ fn: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretModeEncryptedHint), 1)]),
125098
+ key: "0"
125099
+ } : void 0]), 1032, ["validation"])]),
125100
+ _: 1
125101
+ }, 8, ["field"]),
125102
+ (0, vue_exports.createVNode)("div", { class: "flex gap-2" }, [(0, vue_exports.createVNode)(_component_VCButton, {
125103
+ type: "submit",
125104
+ color: "primary",
125105
+ disabled: _ctx.busy || _ctx.v.$invalid.value,
125106
+ busy: _ctx.busy,
125107
+ label: _ctx.translations.secretRotate
125108
+ }, null, 8, [
125109
+ "disabled",
125110
+ "busy",
125111
+ "label"
125112
+ ]), (0, vue_exports.createVNode)(_component_VCButton, {
125113
+ color: "neutral",
125114
+ disabled: _ctx.busy,
125115
+ label: _ctx.translations.abort,
125116
+ onClick: ($event) => _ctx.setOpen(false)
125117
+ }, null, 8, [
125118
+ "disabled",
125119
+ "label",
125120
+ "onClick"
125121
+ ])])
125122
+ ], 40, ["onSubmit"]))
125123
+ ];
125124
+ }),
125125
+ _: 1
125126
+ }, _parent, _scopeId));
125127
+ else return [(0, vue_exports.createVNode)(_component_VCModalContent, null, {
125128
+ default: (0, vue_exports.withCtx)(() => [
125129
+ (0, vue_exports.createVNode)("div", { class: "flex items-center justify-between gap-2 mb-3" }, [(0, vue_exports.createVNode)(_component_VCModalTitle, null, {
125130
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotate), 1)]),
125131
+ _: 1
125132
+ }), (0, vue_exports.createVNode)(_component_VCModalClose, {
125133
+ class: "text-fg-muted hover:text-fg",
125134
+ "aria-label": _ctx.translations.close
125135
+ }, {
125136
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCIcon, { name: "fa6-solid:xmark" })]),
125137
+ _: 1
125138
+ }, 8, ["aria-label"])]),
125139
+ _ctx.error ? ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)(_component_VCAlert, {
125140
+ key: 0,
125141
+ color: "error",
125142
+ variant: "soft",
125143
+ class: "mb-3"
125144
+ }, {
125145
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.error), 1)]),
125146
+ _: 1
125147
+ })) : (0, vue_exports.createCommentVNode)("", true),
125148
+ _ctx.secret !== null ? ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)(vue_exports.Fragment, { key: 1 }, [
125149
+ (0, vue_exports.createVNode)(_component_VCAlert, {
125150
+ color: "warning",
125151
+ variant: "soft",
125152
+ class: "mb-3"
125153
+ }, {
125154
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretShowOnce), 1)]),
125155
+ _: 1
125156
+ }),
125157
+ (0, vue_exports.createVNode)("code", { class: "block font-mono break-all rounded-md bg-bg-muted p-3 mb-3" }, (0, vue_exports.toDisplayString)(_ctx.secret), 1),
125158
+ (0, vue_exports.createVNode)("div", { class: "flex gap-2" }, [(0, vue_exports.createVNode)(_component_VCButton, {
125159
+ color: "primary",
125160
+ label: _ctx.copied ? _ctx.translations.secretCopied : _ctx.translations.secretCopy,
125161
+ onClick: _ctx.copy
125162
+ }, {
125163
+ leading: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCIcon, { name: _ctx.copied ? "fa6-solid:check" : "fa6-solid:copy" }, null, 8, ["name"])]),
125164
+ _: 1
125165
+ }, 8, ["label", "onClick"]), (0, vue_exports.createVNode)(_component_VCButton, {
125166
+ color: "neutral",
125167
+ label: _ctx.translations.close,
125168
+ onClick: ($event) => _ctx.setOpen(false)
125169
+ }, null, 8, ["label", "onClick"])])
125170
+ ], 64)) : ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)("form", {
125171
+ key: 2,
125172
+ onSubmit: (0, vue_exports.withModifiers)(_ctx.submit, ["prevent"])
125173
+ }, [
125174
+ (0, vue_exports.createVNode)(_component_IFieldValidation, { field: _ctx.v.fields.secret }, {
125175
+ default: (0, vue_exports.withCtx)(({ value }) => [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, {
125176
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secret), 1)]),
125177
+ hint: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretRotateHint), 1)]),
125178
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_ASecretInput, {
125179
+ "model-value": _ctx.v.fields.secret.$model.value ?? "",
125180
+ "onUpdate:modelValue": (next) => {
125181
+ _ctx.v.fields.secret.$model.value = next;
125182
+ }
125183
+ }, null, 8, ["model-value", "onUpdate:modelValue"])]),
125184
+ _: 2
125185
+ }, 1032, ["validation"])]),
125186
+ _: 1
125187
+ }, 8, ["field"]),
125188
+ (0, vue_exports.createVNode)(_component_IFieldValidation, { field: _ctx.v.fields.mode }, {
125189
+ default: (0, vue_exports.withCtx)(({ value }) => [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, (0, vue_exports.createSlots)({
125190
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretMode), 1)]),
125191
+ default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_VCFormRadioGroup, {
125192
+ "model-value": _ctx.v.fields.mode.$model.value,
125193
+ options: _ctx.modeOptions,
125194
+ "onUpdate:modelValue": _ctx.setMode
125195
+ }, null, 8, [
125196
+ "model-value",
125197
+ "options",
125198
+ "onUpdate:modelValue"
125199
+ ])]),
125200
+ _: 2
125201
+ }, [_ctx.isEncryptedMode ? {
125202
+ name: "hint",
125203
+ fn: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translations.secretModeEncryptedHint), 1)]),
125204
+ key: "0"
125205
+ } : void 0]), 1032, ["validation"])]),
125206
+ _: 1
125207
+ }, 8, ["field"]),
125208
+ (0, vue_exports.createVNode)("div", { class: "flex gap-2" }, [(0, vue_exports.createVNode)(_component_VCButton, {
125209
+ type: "submit",
125210
+ color: "primary",
125211
+ disabled: _ctx.busy || _ctx.v.$invalid.value,
125212
+ busy: _ctx.busy,
125213
+ label: _ctx.translations.secretRotate
125214
+ }, null, 8, [
125215
+ "disabled",
125216
+ "busy",
125217
+ "label"
125218
+ ]), (0, vue_exports.createVNode)(_component_VCButton, {
125219
+ color: "neutral",
125220
+ disabled: _ctx.busy,
125221
+ label: _ctx.translations.abort,
125222
+ onClick: ($event) => _ctx.setOpen(false)
125223
+ }, null, 8, [
125224
+ "disabled",
125225
+ "label",
125226
+ "onClick"
125227
+ ])])
125228
+ ], 40, ["onSubmit"]))
125229
+ ]),
125230
+ _: 1
125231
+ })];
125232
+ }),
125233
+ _: 1
125234
+ }, _parent));
125235
+ _push(`</div>`);
125236
+ }
125237
+ var _sfc_setup$82 = AClientSecretRotate_vue_vue_type_script_lang_default.setup;
125238
+ AClientSecretRotate_vue_vue_type_script_lang_default.setup = (props, ctx) => {
125239
+ const ssrContext = (0, vue_exports.useSSRContext)();
125240
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../../packages/client-web-kit/src/components/entities/client/AClientSecretRotate.vue");
125241
+ return _sfc_setup$82 ? _sfc_setup$82(props, ctx) : void 0;
125242
+ };
125243
+ var AClientSecretRotate_default = /*#__PURE__*/ _plugin_vue_export_helper_default$2(AClientSecretRotate_vue_vue_type_script_lang_default, [["ssrRender", _sfc_ssrRender$81]]);
125244
+ //#endregion
124531
125245
  //#region ../../packages/client-web-kit/src/components/entities/client/AClientForm.vue?vue&type=script&lang.ts
124532
125246
  var AClientForm_vue_vue_type_script_lang_default = (0, vue_exports.defineComponent)({
124533
125247
  components: {
125248
+ AClientSecretRotate: AClientSecretRotate_default,
124534
125249
  AFormSubmit,
124535
125250
  ANameInput: ANameInput_default,
124536
125251
  APolicyPicker: APolicyPicker_default,
@@ -124539,7 +125254,6 @@ var AClientForm_vue_vue_type_script_lang_default = (0, vue_exports.defineCompone
124539
125254
  AFormInputList: AFormInputList_default,
124540
125255
  VCFormCheckbox: FormCheckbox_default,
124541
125256
  VCFormCheckboxGroup: FormCheckboxGroup_default,
124542
- VCIcon: VCIcon_default,
124543
125257
  IFieldValidation
124544
125258
  },
124545
125259
  props: {
@@ -124587,10 +125301,8 @@ var AClientForm_vue_vue_type_script_lang_default = (0, vue_exports.defineCompone
124587
125301
  const updatedAt = useUpdatedAt(() => props.entity);
124588
125302
  const isNameFixed = (0, vue_exports.computed)(() => !!props.name && props.name.length > 0);
124589
125303
  const realmId = (0, vue_exports.computed)(() => manager.data.value ? manager.data.value.realmId : storeRefs.realmId.value);
124590
- const isSecretHashed = (0, vue_exports.computed)(() => {
124591
- if (!manager.data.value || manager.data.value.secret !== form.secret) return false;
124592
- return isBCryptHash(form.secret);
124593
- });
125304
+ const isSecretEditable = (0, vue_exports.computed)(() => !isEditing.value || !!manager.data.value && getClientSecretMode(manager.data.value) === ClientSecretMode.PLAIN);
125305
+ const isSecretRotatable = (0, vue_exports.computed)(() => isEditing.value && manager.data.value?.authMethod === ClientAuthMethod.SECRET);
124594
125306
  function initForm() {
124595
125307
  if (props.name) form.name = props.name;
124596
125308
  assignFormProperties(form, manager.data.value, { fields: v.fields });
@@ -124616,11 +125328,23 @@ var AClientForm_vue_vue_type_script_lang_default = (0, vue_exports.defineCompone
124616
125328
  initForm();
124617
125329
  });
124618
125330
  initForm();
125331
+ const buildPayload = () => {
125332
+ const payload = { ...form };
125333
+ if (!isEditing.value) return payload;
125334
+ delete payload.secretHashed;
125335
+ if (!(form.secret !== (manager.data.value?.secret ?? "")) || !isSecretEditable.value) delete payload.secret;
125336
+ return payload;
125337
+ };
124619
125338
  const submit = async () => {
124620
125339
  if (v.$invalid.value) return;
124621
- await manager.createOrUpdate(form);
125340
+ await manager.createOrUpdate(buildPayload());
124622
125341
  assignFormProperties(form, manager.data.value, { fields: v.fields });
124623
125342
  };
125343
+ const handleSecretRotated = (entity) => {
125344
+ manager.data.value = entity;
125345
+ manager.updated(entity);
125346
+ initForm();
125347
+ };
124624
125348
  const translationsClient = useTranslationsForNamespace(TranslatorTranslationNamespace.CLIENT, [
124625
125349
  { key: TranslatorTranslationClientKey.NAME_HINT },
124626
125350
  { key: TranslatorTranslationClientKey.DESCRIPTION_HINT },
@@ -124639,6 +125363,7 @@ var AClientForm_vue_vue_type_script_lang_default = (0, vue_exports.defineCompone
124639
125363
  { key: TranslatorTranslationClientKey.CLIENT_CERTIFICATE_URI_HINT },
124640
125364
  { key: TranslatorTranslationClientKey.IS_ACTIVE },
124641
125365
  { key: TranslatorTranslationClientKey.HASH_SECRET },
125366
+ { key: TranslatorTranslationClientKey.SECRET_HASHED_HINT },
124642
125367
  { key: TranslatorTranslationClientKey.GRANT_TYPES_HINT },
124643
125368
  { key: TranslatorTranslationClientKey.CLIENT_ACCESS_POLICY_HINT }
124644
125369
  ]);
@@ -124739,7 +125464,9 @@ var AClientForm_vue_vue_type_script_lang_default = (0, vue_exports.defineCompone
124739
125464
  isEditing,
124740
125465
  isSecretAuthentication,
124741
125466
  isTLSAuthentication,
124742
- isSecretHashed,
125467
+ isSecretEditable,
125468
+ isSecretRotatable,
125469
+ handleSecretRotated,
124743
125470
  authMethodOptions,
124744
125471
  tokenBindingMethodOptions,
124745
125472
  clientCertificateURI,
@@ -124761,8 +125488,8 @@ function _sfc_ssrRender$80(_ctx, _push, _parent, _attrs, $props, $setup, $data,
124761
125488
  const _component_IFieldValidation = (0, vue_exports.resolveComponent)("IFieldValidation");
124762
125489
  const _component_ANameInput = (0, vue_exports.resolveComponent)("ANameInput");
124763
125490
  const _component_VCFormSelect = (0, vue_exports.resolveComponent)("VCFormSelect");
124764
- const _component_VCIcon = (0, vue_exports.resolveComponent)("VCIcon");
124765
125491
  const _component_ASecretInput = (0, vue_exports.resolveComponent)("ASecretInput");
125492
+ const _component_AClientSecretRotate = (0, vue_exports.resolveComponent)("AClientSecretRotate");
124766
125493
  const _component_VCFormSwitch = (0, vue_exports.resolveComponent)("VCFormSwitch");
124767
125494
  const _component_ARealmPicker = (0, vue_exports.resolveComponent)("ARealmPicker");
124768
125495
  const _component_AFormInputList = (0, vue_exports.resolveComponent)("AFormInputList");
@@ -124987,21 +125714,12 @@ function _sfc_ssrRender$80(_ctx, _push, _parent, _attrs, $props, $setup, $data,
124987
125714
  _: 1
124988
125715
  }, _parent));
124989
125716
  else _push(`<!---->`);
124990
- if (_ctx.isSecretAuthentication) _push((0, server_renderer_exports.ssrRenderComponent)(_component_IFieldValidation, { field: _ctx.v.fields.secret }, {
125717
+ if (_ctx.isSecretAuthentication && _ctx.isSecretEditable) _push((0, server_renderer_exports.ssrRenderComponent)(_component_IFieldValidation, { field: _ctx.v.fields.secret }, {
124991
125718
  default: (0, vue_exports.withCtx)(({ value }, _push, _parent, _scopeId) => {
124992
125719
  if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormGroup, { validation: value }, {
124993
125720
  label: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
124994
- if (_push) {
124995
- _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translationsDefault.secret)} `);
124996
- if (_ctx.isSecretHashed) {
124997
- _push(`<span class="text-error-600 font-bold"${_scopeId}>`);
124998
- _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCIcon, { name: "fa6-solid:triangle-exclamation" }, null, _parent, _scopeId));
124999
- _push(`</span>`);
125000
- } else _push(`<!---->`);
125001
- } else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translationsDefault.secret) + " ", 1), _ctx.isSecretHashed ? ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)("span", {
125002
- key: 0,
125003
- class: "text-error-600 font-bold"
125004
- }, [(0, vue_exports.createVNode)(_component_VCIcon, { name: "fa6-solid:triangle-exclamation" })])) : (0, vue_exports.createCommentVNode)("", true)];
125721
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translationsDefault.secret)}`);
125722
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translationsDefault.secret), 1)];
125005
125723
  }),
125006
125724
  default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
125007
125725
  if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_ASecretInput, {
@@ -125020,10 +125738,7 @@ function _sfc_ssrRender$80(_ctx, _push, _parent, _attrs, $props, $setup, $data,
125020
125738
  _: 2
125021
125739
  }, _parent, _scopeId));
125022
125740
  else return [(0, vue_exports.createVNode)(_component_VCFormGroup, { validation: value }, {
125023
- label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translationsDefault.secret) + " ", 1), _ctx.isSecretHashed ? ((0, vue_exports.openBlock)(), (0, vue_exports.createBlock)("span", {
125024
- key: 0,
125025
- class: "text-error-600 font-bold"
125026
- }, [(0, vue_exports.createVNode)(_component_VCIcon, { name: "fa6-solid:triangle-exclamation" })])) : (0, vue_exports.createCommentVNode)("", true)]),
125741
+ label: (0, vue_exports.withCtx)(() => [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translationsDefault.secret), 1)]),
125027
125742
  default: (0, vue_exports.withCtx)(() => [(0, vue_exports.createVNode)(_component_ASecretInput, {
125028
125743
  "model-value": _ctx.v.fields.secret.$model.value ?? "",
125029
125744
  "onUpdate:modelValue": (next) => {
@@ -125036,8 +125751,36 @@ function _sfc_ssrRender$80(_ctx, _push, _parent, _attrs, $props, $setup, $data,
125036
125751
  _: 1
125037
125752
  }, _parent));
125038
125753
  else _push(`<!---->`);
125754
+ if (_ctx.isSecretAuthentication && _ctx.isSecretRotatable && _ctx.data) _push((0, server_renderer_exports.ssrRenderComponent)(_component_VCFormGroup, null, (0, vue_exports.createSlots)({
125755
+ default: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
125756
+ if (_push) _push((0, server_renderer_exports.ssrRenderComponent)(_component_AClientSecretRotate, {
125757
+ entity: _ctx.data,
125758
+ onUpdated: _ctx.handleSecretRotated
125759
+ }, null, _parent, _scopeId));
125760
+ else return [(0, vue_exports.createVNode)(_component_AClientSecretRotate, {
125761
+ entity: _ctx.data,
125762
+ onUpdated: _ctx.handleSecretRotated
125763
+ }, null, 8, ["entity", "onUpdated"])];
125764
+ }),
125765
+ _: 2
125766
+ }, [!_ctx.isSecretEditable ? {
125767
+ name: "label",
125768
+ fn: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
125769
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translationsDefault.secret)}`);
125770
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translationsDefault.secret), 1)];
125771
+ }),
125772
+ key: "0"
125773
+ } : void 0, !_ctx.isSecretEditable ? {
125774
+ name: "hint",
125775
+ fn: (0, vue_exports.withCtx)((_, _push, _parent, _scopeId) => {
125776
+ if (_push) _push(`${(0, server_renderer_exports.ssrInterpolate)(_ctx.translationsClient.secretHashedHint)}`);
125777
+ else return [(0, vue_exports.createTextVNode)((0, vue_exports.toDisplayString)(_ctx.translationsClient.secretHashedHint), 1)];
125778
+ }),
125779
+ key: "1"
125780
+ } : void 0]), _parent));
125781
+ else _push(`<!---->`);
125039
125782
  _push(`<div class="flex flex-wrap -mx-2">`);
125040
- if (_ctx.isSecretAuthentication) {
125783
+ if (_ctx.isSecretAuthentication && !_ctx.isEditing) {
125041
125784
  _push(`<div class="flex-1 basis-0 px-2">`);
125042
125785
  _push((0, server_renderer_exports.ssrRenderComponent)(_component_IFieldValidation, { field: _ctx.v.fields.secretHashed }, {
125043
125786
  default: (0, vue_exports.withCtx)(({ value }, _push, _parent, _scopeId) => {
@@ -135961,6 +136704,7 @@ var entities_exports = /* @__PURE__ */ __exportAll({
135961
136704
  AClientScopeAssignment: () => AClientScopeAssignment_default,
135962
136705
  AClientScopeAssignments: () => AClientScopeAssignments_default,
135963
136706
  AClientScopes: () => AClientScopes,
136707
+ AClientSecretRotate: () => AClientSecretRotate_default,
135964
136708
  AClients: () => AClients,
135965
136709
  ACompositePolicyForm: () => ACompositePolicyForm_default,
135966
136710
  AConsents: () => AConsents,
@@ -143777,7 +144521,7 @@ function clientWebTheme() {
143777
144521
  var _initialized = false;
143778
144522
  function init(addIcon) {
143779
144523
  if (_initialized) return;
143780
- const collections = JSON.parse("[{\"prefix\":\"fa6-solid\",\"icons\":{\"angles-left\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256l137.3-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256l137.3-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\\\"/>\"},\"angles-right\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256L265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256L73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\\\"/>\"},\"arrow-left\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H109.3l105.3-105.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/>\"},\"arrows-rotate\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0l17.1 17.2H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h111.9c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v35.2l-17.5-17.6c-87.5-87.5-229.3-87.5-316.8 0c-24.4 24.4-42 53.1-52.8 83.8c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-35.1l17.6 17.5c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1l-17.1-17H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4q-2.4 0-4.8.3c-2.4.3-3.1.5-4.6 1\\\"/>\"},\"check\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z\\\"/>\"},\"chevron-down\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\\\"/>\"},\"chevron-left\":{\"width\":320,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256L246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\\\"/>\"},\"chevron-right\":{\"width\":320,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256L73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\\\"/>\"},\"chevron-up\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3L86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\\\"/>\"},\"circle-check\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m113-303L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\\\"/>\"},\"circle-info\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-40-176h24v-64h-24c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24s10.7-24 24-24m40-208a32 32 0 1 1 0 64a32 32 0 1 1 0-64\\\"/>\"},\"circle-xmark\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-81-337c9.4-9.4 24.6-9.4 33.9 0l47 47l47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47l-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47l-47-47c-9.4-9.4-9.4-24.6 0-33.9\\\"/>\"},\"clock\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 0a256 256 0 1 1 0 512a256 256 0 1 1 0-512m-24 120v136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24\\\"/>\"},\"envelope\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4l217.6 163.2c11.4 8.5 27 8.5 38.4 0l217.6-163.2c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48zM0 176v208c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V176L294.4 339.2a63.9 63.9 0 0 1-76.8 0z\\\"/>\"},\"exclamation\":{\"width\":128,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M96 64c0-17.7-14.3-32-32-32S32 46.3 32 64v256c0 17.7 14.3 32 32 32s32-14.3 32-32zM64 480a40 40 0 1 0 0-80a40 40 0 1 0 0 80\\\"/>\"},\"eye\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32M144 256a144 144 0 1 1 288 0a144 144 0 1 1-288 0m144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3\\\"/>\"},\"eye-slash\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-105.2-82.4c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8zm184.3 144.4c25.5-23.3 59.6-37.5 96.9-37.5c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9.5-13.6 1.4-20.2l-94.3-74.3c-22.8 29.7-39.1 59.3-48.6 82.2c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1c47 43.8 111.7 80.6 192.5 80.6c47.8 0 89.9-12.9 126.2-32.5z\\\"/>\"},\"fingerprint\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M48 256c0-114.9 93.1-208 208-208c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9s21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7v-24.9c0-97.2-78.8-176-176-176zm-105.3 68.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9c-3.4 15.6 7.9 31.2 23.9 31.2c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2M256 160c-53 0-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256c0-53-43-96-96-96m24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3A536.2 536.2 0 0 0 280 280.9z\\\"/>\"},\"floppy-disk\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7c-12-12-28.3-18.7-45.3-18.7zm0 96c0-17.7 14.3-32 32-32h192c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zm160 160a64 64 0 1 1 0 128a64 64 0 1 1 0-128\\\"/>\"},\"folder-open\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M88.7 223.8L0 375.8V96c0-35.3 28.7-64 64-64h117.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8m27.6 16.1c5.8-9.9 16.3-15.9 27.7-15.9h400c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2.1-32.1l112-192z\\\"/>\"},\"gear\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M495.9 166.6c3.2 8.7.5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4l-55.6 17.8c-8.8 2.8-18.6.3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4c-1.1-8.4-1.7-16.9-1.7-25.5s.6-17.1 1.7-25.4l-43.3-39.4c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160a80 80 0 1 0 0 160\\\"/>\"},\"id-card\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M0 96h576c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96m0 32v288c0 35.3 28.7 64 64 64h448c35.3 0 64-28.7 64-64V128zm64 277.3c0-29.5 23.9-53.3 53.3-53.3h117.3c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7M176 192a64 64 0 1 1 0 128a64 64 0 1 1 0-128m176 16c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16m0 64c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16m0 64c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16\\\"/>\"},\"info\":{\"width\":192,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M48 80a48 48 0 1 1 96 0a48 48 0 1 1-96 0M0 224c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v224h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V256H32c-17.7 0-32-14.3-32-32\\\"/>\"},\"life-ring\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7.8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5M157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0a48 48 0 1 1-96 0\\\"/>\"},\"link\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l112.2-112.3c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0z\\\"/>\"},\"list\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M40 48c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24zm152 16c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zM16 232v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24m24 136c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24z\\\"/>\"},\"lock\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80m-64 48v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64z\\\"/>\"},\"magnifying-glass\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208M208 352a144 144 0 1 0 0-288a144 144 0 1 0 0 288\\\"/>\"},\"masks-theater\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M74.6 373.2c41.7 36.1 108 82.5 166.1 73.7c6.1-.9 12.1-2.5 18-4.5c-9.2-12.3-17.3-24.4-24.2-35.4c-21.9-35-28.8-75.2-25.9-113.6c-20.6 4.1-39.2 13-54.7 25.4c-6.5 5.2-16.3 1.3-14.8-7c6.4-33.5 33-60.9 68.2-66.3c2.6-.4 5.3-.7 7.9-.8l19.4-131.3c2-13.8 8-32.7 25-45.9c18.6-14.3 50.9-30.5 103.6-35.3l-2.4-2.1c-20.2-15.6-72.4-41.6-185.1-24.5S20.5 63 5.7 83.9C0 91.9-.8 102 .6 111.8l24.2 164.3c5.5 37.3 21.5 72.6 49.8 97.2zm87.7-219.6c4.4-3.1 10.8-2 11.8 3.3c.1.5.2 1.1.3 1.6c3.2 21.8-11.6 42-33.1 45.3S99.8 192 96.6 170.3c-.1-.5-.1-1.1-.2-1.6c-.6-5.4 5.2-8.4 10.3-6.7c9 3 18.8 3.9 28.7 2.4s19.1-5.3 26.8-10.8zM261.6 390c29.4 46.9 79.5 110.9 137.6 119.7s124.5-37.5 166.1-73.7c28.3-24.5 44.3-59.8 49.8-97.2l24.2-164.3c1.4-9.8.6-19.9-5.1-27.9c-14.8-20.9-57.3-61.2-170-78.3s-164.8 8.9-185 24.5c-7.8 6-11.5 15.4-12.9 25.2l-24.2 164.3c-5.5 37.3-.4 75.8 19.6 107.7zm142.9-154.7c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5.1-1.1.2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1.5-.2 1.1-.3 1.6c-1 5.3-7.4 6.4-11.8 3.3zm136.2 15.5c-1 5.3-7.4 6.4-11.8 3.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5.1-1.1.2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1.5-.2 1.1-.3 1.6zM530 350.2c-19.6 44.7-66.8 72.5-116.8 64.9s-87.1-48.2-93-96.7c-1-8.3 8.9-12.1 15.2-6.7c23.9 20.8 53.6 35.3 87 40.3s66.1.1 94.9-12.8c7.6-3.4 16 3.2 12.6 10.9z\\\"/>\"},\"minus\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M432 256c0 17.7-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32h352c17.7 0 32 14.3 32 32\\\"/>\"},\"mobile-screen\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M16 64C16 28.7 44.7 0 80 0h224c35.3 0 64 28.7 64 64v384c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64zm128 384c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16M304 64H80v320h224z\\\"/>\"},\"moon\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M223.5 32C100 32 0 132.3 0 256s100 224 223.5 224c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\\\"/>\"},\"plus\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256z\\\"/>\"},\"question\":{\"width\":320,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1a87.98 87.98 0 0 0-40.4 74v1.4c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7v-3.6c0-70.7-57.3-128-128-128h-32C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32m80 320a40 40 0 1 0 0-80a40 40 0 1 0 0 80\\\"/>\"},\"right-from-bracket\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"m377.9 105.9l122.8 122.8c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9V320H192c-17.7 0-32-14.3-32-32v-64c0-17.7 14.3-32 32-32h128v-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9M160 96H96c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-53 0-96-43-96-96V128c0-53 43-96 96-96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32\\\"/>\"},\"right-left\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M32 96h320V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9S352 236.8 352 223.8v-64L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32m448 256c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v64h320z\\\"/>\"},\"sitemap\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40h152c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-32c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-40H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-32c0-30.9 25.1-56 56-56h152v-40h-8c-26.5 0-48-21.5-48-48z\\\"/>\"},\"sliders\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M0 416c0 17.7 14.3 32 32 32h54.7c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H233.3c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48H32c-17.7 0-32 14.3-32 32m128 0a32 32 0 1 1 64 0a32 32 0 1 1-64 0m192-160a32 32 0 1 1 64 0a32 32 0 1 1-64 0m32-80c-32.8 0-61 19.7-73.3 48H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h246.7c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32h-54.7c-12.3-28.3-40.5-48-73.3-48m-160-48a32 32 0 1 1 0-64a32 32 0 1 1 0 64m73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48H32C14.3 64 0 78.3 0 96s14.3 32 32 32h86.7c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32z\\\"/>\"},\"spinner\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M304 48a48 48 0 1 0-96 0a48 48 0 1 0 96 0m0 416a48 48 0 1 0-96 0a48 48 0 1 0 96 0M48 304a48 48 0 1 0 0-96a48 48 0 1 0 0 96m464-48a48 48 0 1 0-96 0a48 48 0 1 0 96 0M142.9 437A48 48 0 1 0 75 369.1a48 48 0 1 0 67.9 67.9m0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437a48 48 0 1 0 67.9-67.9a48 48 0 1 0-67.9 67.9\\\"/>\"},\"sun\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391l-19.9 107.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391L13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256L2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121l19.9-107.9c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1l90.3-62.3c4.5-3.1 10.2-3.7 15.2-1.6M160 256a96 96 0 1 1 192 0a96 96 0 1 1-192 0m224 0a128 128 0 1 0-256 0a128 128 0 1 0 256 0\\\"/>\"},\"trash\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7M416 128H32l21.2 339c1.6 25.3 22.6 45 47.9 45h245.8c25.3 0 46.3-19.7 47.9-45z\\\"/>\"},\"triangle-exclamation\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32m0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24m32 224a32 32 0 1 0-64 0a32 32 0 1 0 64 0\\\"/>\"},\"user\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M224 256a128 128 0 1 0 0-256a128 128 0 1 0 0 256m-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7c0-98.5-79.8-178.3-178.3-178.3z\\\"/>\"},\"vihara\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"m281 22l24.8-17.3c1.3-.9 2.7-1.8 4.1-2.4C313.1.7 316.6 0 320 0s6.9.7 10.1 2.2c1.4.7 2.8 1.5 4.1 2.4L359 22c34 23.8 71.8 41.5 111.8 52.4l23 6.3c1.8.5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9h-7.5v56.1l6.4 5.1l5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6.5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7.6 5.5.1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6.3-3.3.4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24h-40v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H24c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6.1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1l6.4-5.1v-56.1h-7.5c-5.5.1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5.9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3c40.2-10.9 78-28.6 112-52.4m135 106H224v64h192zM160 288v64h320v-64z\\\"/>\"},\"wrench\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16v-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0c-88.4 0-160 71.6-160 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9l181.6-181.6c17 6.2 35.4 9.5 54.5 9.5M80 408a24 24 0 1 1 0 48a24 24 0 1 1 0-48\\\"/>\"},\"xmark\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7L86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256L41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256z\\\"/>\"}}},{\"prefix\":\"fa6-brands\",\"icons\":{\"facebook\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256\\\"/>\"},\"github\":{\"width\":496,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2\\\"/>\"},\"gitlab\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"m503.5 204.6l-.7-1.8l-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64c-2.4-1.55-5.1-2.515-8-2.81s-5.7.083-8.4 1.11c-2.7 1.02-5.1 2.66-7.1 4.78c-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43c-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113a18.4 18.4 0 0 0-8.04 2.793a18.1 18.1 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2l.59.4l105.97 79.5l52.6 39.7l32 24.2c3.7 1.9 8.3 4.3 13 4.3s9.3-2.4 13-4.3l32-24.2l52.6-39.7l106.7-79.9l.3-.3c22.4-16.9 38.7-40.6 45.6-67.5c8.6-27 7.4-55.8-2.6-82\\\"/>\"},\"google\":{\"width\":488,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M488 261.8C488 403.3 391.1 504 248 504C110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6c98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4\\\"/>\"},\"instagram\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9S287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7s74.7 33.5 74.7 74.7s-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8c-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8s26.8 12 26.8 26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9c-26.2-26.2-58-34.4-93.9-36.2c-37-2.1-147.9-2.1-184.9 0c-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9c1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0c35.9-1.7 67.7-9.9 93.9-36.2c26.2-26.2 34.4-58 36.2-93.9c2.1-37 2.1-147.8 0-184.8M398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6c-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6c-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6c29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6c11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1\\\"/>\"},\"paypal\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134c-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9c152.3 0 165.1-3.7 204 11.4c60.1 23.3 65.6 79.5 44 140.3c-21.5 62.6-72.5 89.5-140.1 90.3c-43.4.7-69.5-7-75.3 24.2M357.1 152c-1.8-1.3-2.5-1.8-3 1.3c-2 11.4-5.1 22.5-8.8 33.6c-39.9 113.8-150.5 103.9-204.5 103.9c-6.1 0-10.1 3.3-10.9 9.4c-22.6 140.4-27.1 169.7-27.1 169.7c-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9c.7-5.4-1.1 6.1 14.4-91.3c4.6-22 14.3-19.7 29.3-19.7c71 0 126.4-28.8 142.9-112.3c6.5-34.8 4.6-71.4-23.8-92.6\\\"/>\"},\"stack-overflow\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M290.7 311L95 269.7L86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8l153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24l119.3 160.3l32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\\\"/>\"},\"twitter\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M459.37 151.716c.325 4.548.325 9.097.325 13.645c0 138.72-105.583 298.558-298.558 298.558c-59.452 0-114.68-17.219-161.137-47.106c8.447.974 16.568 1.299 25.34 1.299c49.055 0 94.213-16.568 130.274-44.832c-46.132-.975-84.792-31.188-98.112-72.772c6.498.974 12.995 1.624 19.818 1.624c9.421 0 18.843-1.3 27.614-3.573c-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319c-28.264-18.843-46.781-51.005-46.781-87.391c0-19.492 5.197-37.36 14.294-52.954c51.655 63.675 129.3 105.258 216.365 109.807c-1.624-7.797-2.599-15.918-2.599-24.04c0-57.828 46.782-104.934 104.934-104.934c30.213 0 57.502 12.67 76.67 33.137c23.715-4.548 46.456-13.32 66.599-25.34c-7.798 24.366-24.366 44.833-46.132 57.827c21.117-2.273 41.584-8.122 60.426-16.243c-14.292 20.791-32.161 39.308-52.628 54.253\\\"/>\"}}}]");
144524
+ const collections = JSON.parse("[{\"prefix\":\"fa6-solid\",\"icons\":{\"angles-left\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256l137.3-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256l137.3-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\\\"/>\"},\"angles-right\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256L265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256L73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\\\"/>\"},\"arrow-left\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H109.3l105.3-105.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/>\"},\"arrows-rotate\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0l17.1 17.2H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h111.9c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v35.2l-17.5-17.6c-87.5-87.5-229.3-87.5-316.8 0c-24.4 24.4-42 53.1-52.8 83.8c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-35.1l17.6 17.5c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1l-17.1-17H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4q-2.4 0-4.8.3c-2.4.3-3.1.5-4.6 1\\\"/>\"},\"check\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z\\\"/>\"},\"chevron-down\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\\\"/>\"},\"chevron-left\":{\"width\":320,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256L246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\\\"/>\"},\"chevron-right\":{\"width\":320,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256L73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\\\"/>\"},\"chevron-up\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3L86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\\\"/>\"},\"circle-check\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m113-303L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\\\"/>\"},\"circle-info\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-40-176h24v-64h-24c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24s10.7-24 24-24m40-208a32 32 0 1 1 0 64a32 32 0 1 1 0-64\\\"/>\"},\"circle-xmark\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-81-337c9.4-9.4 24.6-9.4 33.9 0l47 47l47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47l-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47l-47-47c-9.4-9.4-9.4-24.6 0-33.9\\\"/>\"},\"clock\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 0a256 256 0 1 1 0 512a256 256 0 1 1 0-512m-24 120v136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24\\\"/>\"},\"copy\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M208 0h124.1C344.8 0 357 5.1 366 14.1L433.9 82c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48M48 128h80v64H64v256h192v-32h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48\\\"/>\"},\"envelope\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4l217.6 163.2c11.4 8.5 27 8.5 38.4 0l217.6-163.2c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48zM0 176v208c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V176L294.4 339.2a63.9 63.9 0 0 1-76.8 0z\\\"/>\"},\"exclamation\":{\"width\":128,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M96 64c0-17.7-14.3-32-32-32S32 46.3 32 64v256c0 17.7 14.3 32 32 32s32-14.3 32-32zM64 480a40 40 0 1 0 0-80a40 40 0 1 0 0 80\\\"/>\"},\"eye\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32M144 256a144 144 0 1 1 288 0a144 144 0 1 1-288 0m144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3\\\"/>\"},\"eye-slash\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-105.2-82.4c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8zm184.3 144.4c25.5-23.3 59.6-37.5 96.9-37.5c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9.5-13.6 1.4-20.2l-94.3-74.3c-22.8 29.7-39.1 59.3-48.6 82.2c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1c47 43.8 111.7 80.6 192.5 80.6c47.8 0 89.9-12.9 126.2-32.5z\\\"/>\"},\"fingerprint\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M48 256c0-114.9 93.1-208 208-208c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9s21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7v-24.9c0-97.2-78.8-176-176-176zm-105.3 68.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9c-3.4 15.6 7.9 31.2 23.9 31.2c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2M256 160c-53 0-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256c0-53-43-96-96-96m24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3A536.2 536.2 0 0 0 280 280.9z\\\"/>\"},\"floppy-disk\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7c-12-12-28.3-18.7-45.3-18.7zm0 96c0-17.7 14.3-32 32-32h192c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zm160 160a64 64 0 1 1 0 128a64 64 0 1 1 0-128\\\"/>\"},\"folder-open\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M88.7 223.8L0 375.8V96c0-35.3 28.7-64 64-64h117.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8m27.6 16.1c5.8-9.9 16.3-15.9 27.7-15.9h400c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2.1-32.1l112-192z\\\"/>\"},\"gear\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M495.9 166.6c3.2 8.7.5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4l-55.6 17.8c-8.8 2.8-18.6.3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4c-1.1-8.4-1.7-16.9-1.7-25.5s.6-17.1 1.7-25.4l-43.3-39.4c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160a80 80 0 1 0 0 160\\\"/>\"},\"id-card\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M0 96h576c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96m0 32v288c0 35.3 28.7 64 64 64h448c35.3 0 64-28.7 64-64V128zm64 277.3c0-29.5 23.9-53.3 53.3-53.3h117.3c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7M176 192a64 64 0 1 1 0 128a64 64 0 1 1 0-128m176 16c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16m0 64c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16m0 64c0-8.8 7.2-16 16-16h128c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16\\\"/>\"},\"info\":{\"width\":192,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M48 80a48 48 0 1 1 96 0a48 48 0 1 1-96 0M0 224c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v224h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V256H32c-17.7 0-32-14.3-32-32\\\"/>\"},\"life-ring\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7.8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5M157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0a48 48 0 1 1-96 0\\\"/>\"},\"link\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l112.2-112.3c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0z\\\"/>\"},\"list\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M40 48c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24zm152 16c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zM16 232v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24m24 136c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24z\\\"/>\"},\"lock\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80m-64 48v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64z\\\"/>\"},\"magnifying-glass\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208M208 352a144 144 0 1 0 0-288a144 144 0 1 0 0 288\\\"/>\"},\"masks-theater\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M74.6 373.2c41.7 36.1 108 82.5 166.1 73.7c6.1-.9 12.1-2.5 18-4.5c-9.2-12.3-17.3-24.4-24.2-35.4c-21.9-35-28.8-75.2-25.9-113.6c-20.6 4.1-39.2 13-54.7 25.4c-6.5 5.2-16.3 1.3-14.8-7c6.4-33.5 33-60.9 68.2-66.3c2.6-.4 5.3-.7 7.9-.8l19.4-131.3c2-13.8 8-32.7 25-45.9c18.6-14.3 50.9-30.5 103.6-35.3l-2.4-2.1c-20.2-15.6-72.4-41.6-185.1-24.5S20.5 63 5.7 83.9C0 91.9-.8 102 .6 111.8l24.2 164.3c5.5 37.3 21.5 72.6 49.8 97.2zm87.7-219.6c4.4-3.1 10.8-2 11.8 3.3c.1.5.2 1.1.3 1.6c3.2 21.8-11.6 42-33.1 45.3S99.8 192 96.6 170.3c-.1-.5-.1-1.1-.2-1.6c-.6-5.4 5.2-8.4 10.3-6.7c9 3 18.8 3.9 28.7 2.4s19.1-5.3 26.8-10.8zM261.6 390c29.4 46.9 79.5 110.9 137.6 119.7s124.5-37.5 166.1-73.7c28.3-24.5 44.3-59.8 49.8-97.2l24.2-164.3c1.4-9.8.6-19.9-5.1-27.9c-14.8-20.9-57.3-61.2-170-78.3s-164.8 8.9-185 24.5c-7.8 6-11.5 15.4-12.9 25.2l-24.2 164.3c-5.5 37.3-.4 75.8 19.6 107.7zm142.9-154.7c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5.1-1.1.2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1.5-.2 1.1-.3 1.6c-1 5.3-7.4 6.4-11.8 3.3zm136.2 15.5c-1 5.3-7.4 6.4-11.8 3.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5.1-1.1.2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1.5-.2 1.1-.3 1.6zM530 350.2c-19.6 44.7-66.8 72.5-116.8 64.9s-87.1-48.2-93-96.7c-1-8.3 8.9-12.1 15.2-6.7c23.9 20.8 53.6 35.3 87 40.3s66.1.1 94.9-12.8c7.6-3.4 16 3.2 12.6 10.9z\\\"/>\"},\"minus\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M432 256c0 17.7-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32h352c17.7 0 32 14.3 32 32\\\"/>\"},\"mobile-screen\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M16 64C16 28.7 44.7 0 80 0h224c35.3 0 64 28.7 64 64v384c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64zm128 384c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16M304 64H80v320h224z\\\"/>\"},\"moon\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M223.5 32C100 32 0 132.3 0 256s100 224 223.5 224c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\\\"/>\"},\"plus\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256z\\\"/>\"},\"question\":{\"width\":320,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1a87.98 87.98 0 0 0-40.4 74v1.4c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7v-3.6c0-70.7-57.3-128-128-128h-32C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32m80 320a40 40 0 1 0 0-80a40 40 0 1 0 0 80\\\"/>\"},\"right-from-bracket\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"m377.9 105.9l122.8 122.8c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9V320H192c-17.7 0-32-14.3-32-32v-64c0-17.7 14.3-32 32-32h128v-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9M160 96H96c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-53 0-96-43-96-96V128c0-53 43-96 96-96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32\\\"/>\"},\"right-left\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M32 96h320V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9S352 236.8 352 223.8v-64L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32m448 256c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v64h320z\\\"/>\"},\"sitemap\":{\"width\":576,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40h152c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-32c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-40H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-32c0-30.9 25.1-56 56-56h152v-40h-8c-26.5 0-48-21.5-48-48z\\\"/>\"},\"sliders\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M0 416c0 17.7 14.3 32 32 32h54.7c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H233.3c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48H32c-17.7 0-32 14.3-32 32m128 0a32 32 0 1 1 64 0a32 32 0 1 1-64 0m192-160a32 32 0 1 1 64 0a32 32 0 1 1-64 0m32-80c-32.8 0-61 19.7-73.3 48H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h246.7c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32h-54.7c-12.3-28.3-40.5-48-73.3-48m-160-48a32 32 0 1 1 0-64a32 32 0 1 1 0 64m73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48H32C14.3 64 0 78.3 0 96s14.3 32 32 32h86.7c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32z\\\"/>\"},\"spinner\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M304 48a48 48 0 1 0-96 0a48 48 0 1 0 96 0m0 416a48 48 0 1 0-96 0a48 48 0 1 0 96 0M48 304a48 48 0 1 0 0-96a48 48 0 1 0 0 96m464-48a48 48 0 1 0-96 0a48 48 0 1 0 96 0M142.9 437A48 48 0 1 0 75 369.1a48 48 0 1 0 67.9 67.9m0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437a48 48 0 1 0 67.9-67.9a48 48 0 1 0-67.9 67.9\\\"/>\"},\"sun\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391l-19.9 107.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391L13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256L2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121l19.9-107.9c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1l90.3-62.3c4.5-3.1 10.2-3.7 15.2-1.6M160 256a96 96 0 1 1 192 0a96 96 0 1 1-192 0m224 0a128 128 0 1 0-256 0a128 128 0 1 0 256 0\\\"/>\"},\"trash\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7M416 128H32l21.2 339c1.6 25.3 22.6 45 47.9 45h245.8c25.3 0 46.3-19.7 47.9-45z\\\"/>\"},\"triangle-exclamation\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32m0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24m32 224a32 32 0 1 0-64 0a32 32 0 1 0 64 0\\\"/>\"},\"user\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M224 256a128 128 0 1 0 0-256a128 128 0 1 0 0 256m-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7c0-98.5-79.8-178.3-178.3-178.3z\\\"/>\"},\"vihara\":{\"width\":640,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"m281 22l24.8-17.3c1.3-.9 2.7-1.8 4.1-2.4C313.1.7 316.6 0 320 0s6.9.7 10.1 2.2c1.4.7 2.8 1.5 4.1 2.4L359 22c34 23.8 71.8 41.5 111.8 52.4l23 6.3c1.8.5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9h-7.5v56.1l6.4 5.1l5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6.5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7.6 5.5.1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6.3-3.3.4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24h-40v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H24c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6.1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1l6.4-5.1v-56.1h-7.5c-5.5.1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5.9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3c40.2-10.9 78-28.6 112-52.4m135 106H224v64h192zM160 288v64h320v-64z\\\"/>\"},\"wrench\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16v-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0c-88.4 0-160 71.6-160 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9l181.6-181.6c17 6.2 35.4 9.5 54.5 9.5M80 408a24 24 0 1 1 0 48a24 24 0 1 1 0-48\\\"/>\"},\"xmark\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7L86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256L41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256z\\\"/>\"}}},{\"prefix\":\"fa6-brands\",\"icons\":{\"facebook\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256\\\"/>\"},\"github\":{\"width\":496,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2\\\"/>\"},\"gitlab\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"m503.5 204.6l-.7-1.8l-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64c-2.4-1.55-5.1-2.515-8-2.81s-5.7.083-8.4 1.11c-2.7 1.02-5.1 2.66-7.1 4.78c-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43c-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113a18.4 18.4 0 0 0-8.04 2.793a18.1 18.1 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2l.59.4l105.97 79.5l52.6 39.7l32 24.2c3.7 1.9 8.3 4.3 13 4.3s9.3-2.4 13-4.3l32-24.2l52.6-39.7l106.7-79.9l.3-.3c22.4-16.9 38.7-40.6 45.6-67.5c8.6-27 7.4-55.8-2.6-82\\\"/>\"},\"google\":{\"width\":488,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M488 261.8C488 403.3 391.1 504 248 504C110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6c98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4\\\"/>\"},\"instagram\":{\"width\":448,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9S287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7s74.7 33.5 74.7 74.7s-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8c-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8s26.8 12 26.8 26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9c-26.2-26.2-58-34.4-93.9-36.2c-37-2.1-147.9-2.1-184.9 0c-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9c1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0c35.9-1.7 67.7-9.9 93.9-36.2c26.2-26.2 34.4-58 36.2-93.9c2.1-37 2.1-147.8 0-184.8M398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6c-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6c-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6c29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6c11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1\\\"/>\"},\"paypal\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134c-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9c152.3 0 165.1-3.7 204 11.4c60.1 23.3 65.6 79.5 44 140.3c-21.5 62.6-72.5 89.5-140.1 90.3c-43.4.7-69.5-7-75.3 24.2M357.1 152c-1.8-1.3-2.5-1.8-3 1.3c-2 11.4-5.1 22.5-8.8 33.6c-39.9 113.8-150.5 103.9-204.5 103.9c-6.1 0-10.1 3.3-10.9 9.4c-22.6 140.4-27.1 169.7-27.1 169.7c-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9c.7-5.4-1.1 6.1 14.4-91.3c4.6-22 14.3-19.7 29.3-19.7c71 0 126.4-28.8 142.9-112.3c6.5-34.8 4.6-71.4-23.8-92.6\\\"/>\"},\"stack-overflow\":{\"width\":384,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M290.7 311L95 269.7L86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8l153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24l119.3 160.3l32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\\\"/>\"},\"twitter\":{\"width\":512,\"height\":512,\"body\":\"<path fill=\\\"currentColor\\\" d=\\\"M459.37 151.716c.325 4.548.325 9.097.325 13.645c0 138.72-105.583 298.558-298.558 298.558c-59.452 0-114.68-17.219-161.137-47.106c8.447.974 16.568 1.299 25.34 1.299c49.055 0 94.213-16.568 130.274-44.832c-46.132-.975-84.792-31.188-98.112-72.772c6.498.974 12.995 1.624 19.818 1.624c9.421 0 18.843-1.3 27.614-3.573c-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319c-28.264-18.843-46.781-51.005-46.781-87.391c0-19.492 5.197-37.36 14.294-52.954c51.655 63.675 129.3 105.258 216.365 109.807c-1.624-7.797-2.599-15.918-2.599-24.04c0-57.828 46.782-104.934 104.934-104.934c30.213 0 57.502 12.67 76.67 33.137c23.715-4.548 46.456-13.32 66.599-25.34c-7.798 24.366-24.366 44.833-46.132 57.827c21.117-2.273 41.584-8.122 60.426-16.243c-14.292 20.791-32.161 39.308-52.628 54.253\\\"/>\"}}}]");
143781
144525
  for (const collection of collections) for (const [name, data] of Object.entries(collection.icons)) addIcon(collection.prefix ? collection.prefix + ":" + name : name, data);
143782
144526
  _initialized = true;
143783
144527
  }