keycloakify 10.0.0-rc.27 → 10.0.0-rc.29
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.
- package/account/Fallback.d.ts +2 -2
- package/account/Fallback.js +1 -1
- package/account/Fallback.js.map +1 -1
- package/account/{kcContext → KcContext}/KcContext.js.map +1 -1
- package/account/{kcContext → KcContext}/getKcContextMock.d.ts +1 -3
- package/account/{kcContext → KcContext}/getKcContextMock.js.map +1 -1
- package/account/KcContext/index.js.map +1 -0
- package/account/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
- package/account/{kcContext → KcContext}/kcContextMocks.js +1 -1
- package/account/{kcContext → KcContext}/kcContextMocks.js.map +1 -1
- package/account/Template.d.ts +2 -2
- package/account/Template.js +1 -1
- package/account/Template.js.map +1 -1
- package/account/TemplateProps.d.ts +1 -1
- package/account/i18n/i18n.d.ts +1 -1
- package/account/i18n/i18n.js +1 -1
- package/account/i18n/index.d.ts +1 -0
- package/account/i18n/index.js +1 -1
- package/account/i18n/index.js.map +1 -1
- package/account/index.d.ts +3 -4
- package/account/index.js +2 -2
- package/account/index.js.map +1 -1
- package/account/pages/Account.d.ts +1 -1
- package/account/pages/Applications.d.ts +1 -1
- package/account/pages/Applications.js +3 -3
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.d.ts +3 -3
- package/account/pages/Log.d.ts +1 -1
- package/account/pages/Log.js.map +1 -1
- package/account/pages/PageProps.d.ts +4 -4
- package/account/pages/Password.d.ts +1 -1
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.d.ts +1 -1
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.d.ts +1 -1
- package/account/pages/Totp.js.map +1 -1
- package/bin/main.js +8726 -6623
- package/login/Fallback.d.ts +2 -2
- package/login/Fallback.js.map +1 -1
- package/login/{kcContext → KcContext}/KcContext.js.map +1 -1
- package/login/{kcContext → KcContext}/getKcContextMock.d.ts +1 -3
- package/login/{kcContext → KcContext}/getKcContextMock.js.map +1 -1
- package/login/{kcContext → KcContext}/index.d.ts +1 -1
- package/login/KcContext/index.js.map +1 -0
- package/login/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
- package/login/{kcContext → KcContext}/kcContextMocks.js +7 -7
- package/login/KcContext/kcContextMocks.js.map +1 -0
- package/login/Template.d.ts +2 -2
- package/login/TemplateProps.d.ts +1 -1
- package/login/UserProfileFormFields.d.ts +1 -1
- package/login/UserProfileFormFields.js +1 -1
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/i18n.d.ts +1 -1
- package/login/i18n/i18n.js +2 -2
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/index.d.ts +2 -1
- package/login/i18n/index.js +1 -1
- package/login/i18n/index.js.map +1 -1
- package/login/index.d.ts +4 -4
- package/login/index.js +2 -2
- package/login/index.js.map +1 -1
- package/login/lib/useDownloadTerms.js +1 -1
- package/login/lib/useDownloadTerms.js.map +1 -1
- package/login/lib/useUserProfileForm.d.ts +1 -2
- package/login/lib/useUserProfileForm.js +2 -2
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.d.ts +1 -1
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.d.ts +1 -1
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.d.ts +1 -1
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.d.ts +1 -1
- package/login/pages/FrontchannelLogout.d.ts +1 -1
- package/login/pages/IdpReviewUserProfile.d.ts +2 -2
- package/login/pages/Info.d.ts +1 -1
- package/login/pages/Login.d.ts +1 -1
- package/login/pages/LoginConfigTotp.d.ts +1 -1
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.d.ts +1 -1
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.d.ts +2 -2
- package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +2 -2
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.d.ts +2 -2
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.d.ts +1 -1
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.d.ts +1 -1
- package/login/pages/LoginPassword.d.ts +1 -1
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.d.ts +1 -1
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.d.ts +1 -1
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.d.ts +1 -1
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.d.ts +3 -3
- package/login/pages/LoginUsername.d.ts +1 -1
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.d.ts +1 -1
- package/login/pages/LoginX509Info.d.ts +1 -1
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.d.ts +1 -1
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/PageProps.d.ts +1 -1
- package/login/pages/Register.d.ts +2 -2
- package/login/pages/Register.js +2 -2
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.d.ts +1 -1
- package/login/pages/SelectAuthenticator.d.ts +2 -2
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.d.ts +1 -1
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.d.ts +1 -1
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.d.ts +1 -1
- package/login/pages/WebauthnAuthenticate.js +2 -2
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.d.ts +1 -1
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.d.ts +1 -1
- package/login/pages/WebauthnRegister.js +1 -1
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +38 -35
- package/src/account/Fallback.tsx +4 -4
- package/src/account/{kcContext → KcContext}/getKcContextMock.ts +3 -1
- package/src/account/{kcContext → KcContext}/kcContextMocks.ts +1 -1
- package/src/account/Template.tsx +3 -3
- package/src/account/TemplateProps.ts +1 -1
- package/src/account/i18n/i18n.tsx +2 -2
- package/src/account/i18n/index.ts +1 -0
- package/src/account/index.ts +3 -5
- package/src/account/pages/Account.tsx +1 -1
- package/src/account/pages/Applications.tsx +6 -6
- package/src/account/pages/FederatedIdentity.tsx +3 -3
- package/src/account/pages/Log.tsx +3 -3
- package/src/account/pages/PageProps.ts +4 -4
- package/src/account/pages/Password.tsx +2 -2
- package/src/account/pages/Sessions.tsx +2 -2
- package/src/account/pages/Totp.tsx +2 -2
- package/src/bin/keycloakify/generateSrcMainResources/readExtraPageNames.ts +1 -1
- package/src/login/Fallback.tsx +3 -3
- package/src/login/{kcContext → KcContext}/getKcContextMock.ts +3 -1
- package/src/login/{kcContext → KcContext}/index.ts +2 -1
- package/src/login/{kcContext → KcContext}/kcContextMocks.ts +10 -17
- package/src/login/Template.tsx +2 -2
- package/src/login/TemplateProps.ts +1 -1
- package/src/login/UserProfileFormFields.tsx +2 -2
- package/src/login/i18n/i18n.tsx +3 -3
- package/src/login/i18n/index.ts +2 -1
- package/src/login/index.ts +4 -9
- package/src/login/lib/useDownloadTerms.ts +2 -2
- package/src/login/lib/useUserProfileForm.tsx +4 -5
- package/src/login/pages/Code.tsx +2 -2
- package/src/login/pages/DeleteAccountConfirm.tsx +2 -2
- package/src/login/pages/DeleteCredential.tsx +2 -2
- package/src/login/pages/Error.tsx +1 -1
- package/src/login/pages/FrontchannelLogout.tsx +1 -1
- package/src/login/pages/IdpReviewUserProfile.tsx +3 -3
- package/src/login/pages/Info.tsx +1 -1
- package/src/login/pages/Login.tsx +1 -1
- package/src/login/pages/LoginConfigTotp.tsx +2 -2
- package/src/login/pages/LoginIdpLinkConfirm.tsx +2 -2
- package/src/login/pages/LoginIdpLinkEmail.tsx +2 -2
- package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +3 -3
- package/src/login/pages/LoginOauthGrant.tsx +3 -3
- package/src/login/pages/LoginOtp.tsx +2 -2
- package/src/login/pages/LoginPageExpired.tsx +1 -1
- package/src/login/pages/LoginPassword.tsx +2 -2
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +2 -2
- package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +2 -2
- package/src/login/pages/LoginResetOtp.tsx +2 -2
- package/src/login/pages/LoginResetPassword.tsx +2 -2
- package/src/login/pages/LoginUpdatePassword.tsx +2 -2
- package/src/login/pages/LoginUpdateProfile.tsx +4 -4
- package/src/login/pages/LoginUsername.tsx +2 -2
- package/src/login/pages/LoginVerifyEmail.tsx +1 -1
- package/src/login/pages/LoginX509Info.tsx +2 -2
- package/src/login/pages/LogoutConfirm.tsx +2 -2
- package/src/login/pages/PageProps.ts +1 -1
- package/src/login/pages/Register.tsx +4 -4
- package/src/login/pages/SamlPostForm.tsx +1 -1
- package/src/login/pages/SelectAuthenticator.tsx +3 -3
- package/src/login/pages/Terms.tsx +2 -2
- package/src/login/pages/UpdateEmail.tsx +2 -2
- package/src/login/pages/WebauthnAuthenticate.tsx +4 -4
- package/src/login/pages/WebauthnError.tsx +2 -2
- package/src/login/pages/WebauthnRegister.tsx +3 -3
- package/src/tools/Object.fromEntries.ts +23 -0
- package/src/tools/structuredCloneButFunctions.ts +1 -1
- package/tools/Object.fromEntries.d.ts +1 -0
- package/tools/Object.fromEntries.js +17 -0
- package/tools/Object.fromEntries.js.map +1 -0
- package/tools/structuredCloneButFunctions.d.ts +1 -1
- package/tools/structuredCloneButFunctions.js +1 -1
- package/vite-plugin/index.js +14976 -12842
- package/account/kcContext/index.js.map +0 -1
- package/login/kcContext/index.js.map +0 -1
- package/login/kcContext/kcContextMocks.js.map +0 -1
- /package/account/{kcContext → KcContext}/KcContext.d.ts +0 -0
- /package/account/{kcContext → KcContext}/KcContext.js +0 -0
- /package/account/{kcContext → KcContext}/getKcContextMock.js +0 -0
- /package/account/{kcContext → KcContext}/index.d.ts +0 -0
- /package/account/{kcContext → KcContext}/index.js +0 -0
- /package/login/{kcContext → KcContext}/KcContext.d.ts +0 -0
- /package/login/{kcContext → KcContext}/KcContext.js +0 -0
- /package/login/{kcContext → KcContext}/getKcContextMock.js +0 -0
- /package/login/{kcContext → KcContext}/index.js +0 -0
- /package/src/account/{kcContext → KcContext}/KcContext.ts +0 -0
- /package/src/account/{kcContext → KcContext}/index.ts +0 -0
- /package/src/login/{kcContext → KcContext}/KcContext.ts +0 -0
package/src/login/Template.tsx
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
2
|
import { assert } from "keycloakify/tools/assert";
|
3
3
|
import { clsx } from "keycloakify/tools/clsx";
|
4
|
-
import {
|
4
|
+
import type { TemplateProps } from "keycloakify/login/TemplateProps";
|
5
5
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
6
|
import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
|
7
7
|
import { useInsertLinkTags } from "keycloakify/tools/useInsertLinkTags";
|
8
8
|
import { useSetClassName } from "keycloakify/tools/useSetClassName";
|
9
|
-
import type { KcContext } from "./
|
9
|
+
import type { KcContext } from "./KcContext";
|
10
10
|
import type { I18n } from "./i18n";
|
11
11
|
|
12
12
|
export default function Template(props: TemplateProps<KcContext, I18n>) {
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { useEffect, useReducer, Fragment } from "react";
|
2
|
+
import { assert } from "tsafe/assert";
|
2
3
|
import type { ClassKey } from "keycloakify/login/TemplateProps";
|
3
4
|
import {
|
4
5
|
useUserProfileForm,
|
@@ -7,8 +8,7 @@ import {
|
|
7
8
|
type FormAction,
|
8
9
|
type FormFieldError
|
9
10
|
} from "keycloakify/login/lib/useUserProfileForm";
|
10
|
-
import type { Attribute } from "keycloakify/login/
|
11
|
-
import { assert } from "tsafe/assert";
|
11
|
+
import type { Attribute } from "keycloakify/login/KcContext";
|
12
12
|
import type { I18n } from "./i18n";
|
13
13
|
|
14
14
|
export type UserProfileFormFieldsProps = {
|
package/src/login/i18n/i18n.tsx
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import "
|
1
|
+
import "keycloakify/tools/Object.fromEntries";
|
2
2
|
import { useEffect, useState, useRef } from "react";
|
3
|
+
import { assert } from "tsafe/assert";
|
3
4
|
import fallbackMessages from "./baseMessages/en";
|
4
5
|
import { getMessages } from "./baseMessages";
|
5
|
-
import {
|
6
|
-
import type { KcContext } from "../kcContext/KcContext";
|
6
|
+
import type { KcContext } from "../KcContext";
|
7
7
|
import { Reflect } from "tsafe/Reflect";
|
8
8
|
|
9
9
|
export const fallbackLanguageTag = "en";
|
package/src/login/i18n/index.ts
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
export type { I18n } from "./i18n";
|
1
|
+
export type { I18n, MessageKey } from "./i18n";
|
2
|
+
export { createUseI18n, fallbackLanguageTag } from "./i18n";
|
package/src/login/index.ts
CHANGED
@@ -1,10 +1,5 @@
|
|
1
|
-
export {
|
2
|
-
export { createUseI18n } from "keycloakify/login/i18n/i18n";
|
3
|
-
export type {
|
4
|
-
ExtendKcContext,
|
5
|
-
Attribute,
|
6
|
-
PasswordPolicies
|
7
|
-
} from "keycloakify/login/kcContext";
|
8
|
-
export { createGetKcContextMock } from "keycloakify/login/kcContext";
|
9
|
-
|
1
|
+
export type { ExtendKcContext, Attribute } from "keycloakify/login/KcContext";
|
10
2
|
export type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
+
export { createGetKcContextMock } from "keycloakify/login/KcContext";
|
4
|
+
export { useDownloadTerms } from "keycloakify/login/lib/useDownloadTerms";
|
5
|
+
export { createUseI18n } from "keycloakify/login/i18n";
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import { fallbackLanguageTag } from "keycloakify/login/i18n
|
1
|
+
import { fallbackLanguageTag } from "keycloakify/login/i18n";
|
2
2
|
import { assert } from "tsafe/assert";
|
3
3
|
import {
|
4
4
|
createStatefulObservable,
|
5
5
|
useRerenderOnChange
|
6
6
|
} from "keycloakify/tools/StatefulObservable";
|
7
|
-
import { KcContext } from "../kcContext";
|
8
7
|
import { useOnFistMount } from "keycloakify/tools/useOnFirstMount";
|
8
|
+
import { KcContext } from "../KcContext";
|
9
9
|
|
10
10
|
const obsTermsMarkdown = createStatefulObservable<string | undefined>(() => undefined);
|
11
11
|
|
@@ -1,15 +1,14 @@
|
|
1
1
|
import "keycloakify/tools/Array.prototype.every";
|
2
2
|
import { useMemo, useReducer, useEffect, Fragment, type Dispatch } from "react";
|
3
|
+
import { assert, type Equals } from "tsafe/assert";
|
3
4
|
import { id } from "tsafe/id";
|
4
|
-
import
|
5
|
-
import type { Attribute, Validators } from "keycloakify/login/kcContext/KcContext";
|
5
|
+
import { structuredCloneButFunctions } from "keycloakify/tools/structuredCloneButFunctions";
|
6
6
|
import { useConstCallback } from "keycloakify/tools/useConstCallback";
|
7
7
|
import { emailRegexp } from "keycloakify/tools/emailRegExp";
|
8
|
-
import type { KcContext, PasswordPolicies } from "keycloakify/login/kcContext/KcContext";
|
9
|
-
import { assert, type Equals } from "tsafe/assert";
|
10
8
|
import { formatNumber } from "keycloakify/tools/formatNumber";
|
11
9
|
import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
|
12
|
-
import {
|
10
|
+
import type { KcContext, PasswordPolicies, Attribute, Validators } from "keycloakify/login/KcContext";
|
11
|
+
import type { MessageKey } from "keycloakify/login/i18n";
|
13
12
|
import type { I18n } from "../i18n";
|
14
13
|
|
15
14
|
export type FormFieldError = {
|
package/src/login/pages/Code.tsx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
1
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
3
|
-
import type {
|
2
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
+
import type { KcContext } from "../KcContext";
|
4
4
|
import type { I18n } from "../i18n";
|
5
5
|
|
6
6
|
export default function Code(props: PageProps<Extract<KcContext, { pageId: "code.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function DeleteAccountConfirm(props: PageProps<Extract<KcContext, { pageId: "delete-account-confirm.ftl" }>, I18n>) {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
+
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
2
3
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
-
import type { KcContext } from "../
|
4
|
+
import type { KcContext } from "../KcContext";
|
4
5
|
import type { I18n } from "../i18n";
|
5
|
-
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
6
|
|
7
7
|
export default function DeleteCredential(props: PageProps<Extract<KcContext, { pageId: "delete-credential.ftl" }>, I18n>) {
|
8
8
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
|
-
import type { KcContext } from "../
|
2
|
+
import type { KcContext } from "../KcContext";
|
3
3
|
import type { I18n } from "../i18n";
|
4
4
|
|
5
5
|
export default function Error(props: PageProps<Extract<KcContext, { pageId: "error.ftl" }>, I18n>) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
-
import type { KcContext } from "../
|
3
|
+
import type { KcContext } from "../KcContext";
|
4
4
|
import type { I18n } from "../i18n";
|
5
5
|
|
6
6
|
export default function FrontchannelLogout(props: PageProps<Extract<KcContext, { pageId: "frontchannel-logout.ftl" }>, I18n>) {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
-
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
3
|
import type { LazyOrNot } from "keycloakify/tools/LazyOrNot";
|
4
|
+
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
6
|
import type { UserProfileFormFieldsProps } from "keycloakify/login/UserProfileFormFields";
|
7
|
-
import type { KcContext } from "../
|
7
|
+
import type { KcContext } from "../KcContext";
|
8
8
|
import type { I18n } from "../i18n";
|
9
9
|
|
10
10
|
type IdpReviewUserProfileProps = PageProps<Extract<KcContext, { pageId: "idp-review-user-profile.ftl" }>, I18n> & {
|
package/src/login/pages/Info.tsx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { assert } from "keycloakify/tools/assert";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
-
import type { KcContext } from "../
|
3
|
+
import type { KcContext } from "../KcContext";
|
4
4
|
import type { I18n } from "../i18n";
|
5
5
|
|
6
6
|
export default function Info(props: PageProps<Extract<KcContext, { pageId: "info.ftl" }>, I18n>) {
|
@@ -3,7 +3,7 @@ import { assert } from "tsafe/assert";
|
|
3
3
|
import { clsx } from "keycloakify/tools/clsx";
|
4
4
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
5
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
|
-
import type { KcContext } from "../
|
6
|
+
import type { KcContext } from "../KcContext";
|
7
7
|
import type { I18n } from "../i18n";
|
8
8
|
|
9
9
|
export default function Login(props: PageProps<Extract<KcContext, { pageId: "login.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LoginConfigTotp(props: PageProps<Extract<KcContext, { pageId: "login-config-totp.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LoginIdpLinkConfirm(props: PageProps<Extract<KcContext, { pageId: "login-idp-link-confirm.ftl" }>, I18n>) {
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import type { KcContext } from "keycloakify/login/kcContext";
|
2
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
-
import type {
|
2
|
+
import type { KcContext } from "../KcContext";
|
3
|
+
import type { I18n } from "../i18n";
|
4
4
|
|
5
5
|
export default function LoginIdpLinkEmail(props: PageProps<Extract<KcContext, { pageId: "login-idp-link-email.ftl" }>, I18n>) {
|
6
6
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import { I18n } from "../i18n";
|
3
|
-
import { KcContext } from "../kcContext";
|
4
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
-
import { PageProps } from "
|
3
|
+
import { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import { I18n } from "../i18n";
|
5
|
+
import { KcContext } from "../KcContext";
|
6
6
|
|
7
7
|
export default function LoginOauth2DeviceVerifyUserCode(
|
8
8
|
props: PageProps<Extract<KcContext, { pageId: "login-oauth2-device-verify-user-code.ftl" }>, I18n>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import { PageProps } from "./PageProps";
|
3
|
-
import { KcContext } from "../kcContext";
|
4
|
-
import { I18n } from "../i18n";
|
5
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
3
|
+
import { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import { KcContext } from "../KcContext";
|
5
|
+
import { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LoginOauthGrant(props: PageProps<Extract<KcContext, { pageId: "login-oauth-grant.ftl" }>, I18n>) {
|
8
8
|
const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Fragment } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
3
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
-
import type {
|
4
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
|
+
import type { KcContext } from "../KcContext";
|
6
6
|
import type { I18n } from "../i18n";
|
7
7
|
|
8
8
|
export default function LoginOtp(props: PageProps<Extract<KcContext, { pageId: "login-otp.ftl" }>, I18n>) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
|
-
import type { KcContext } from "../
|
2
|
+
import type { KcContext } from "../KcContext";
|
3
3
|
import type { I18n } from "../i18n";
|
4
4
|
|
5
5
|
export default function LoginPageExpired(props: PageProps<Extract<KcContext, { pageId: "login-page-expired.ftl" }>, I18n>) {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { useState, useEffect, useReducer } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
3
|
import { assert } from "tsafe/assert";
|
4
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
4
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
|
-
import type {
|
5
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
|
+
import type { KcContext } from "../KcContext";
|
7
7
|
import type { I18n } from "../i18n";
|
8
8
|
|
9
9
|
export default function LoginPassword(props: PageProps<Extract<KcContext, { pageId: "login-password.ftl" }>, I18n>) {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
3
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
4
|
import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
|
6
|
-
import type {
|
5
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
|
+
import type { KcContext } from "../KcContext";
|
7
7
|
import type { I18n } from "../i18n";
|
8
8
|
|
9
9
|
export default function LoginRecoveryAuthnCodeConfig(props: PageProps<Extract<KcContext, { pageId: "login-recovery-authn-code-config.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LoginRecoveryAuthnCodeInput(props: PageProps<Extract<KcContext, { pageId: "login-recovery-authn-code-input.ftl" }>, I18n>) {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Fragment } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
3
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
-
import type {
|
4
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
|
+
import type { KcContext } from "../KcContext";
|
6
6
|
import type { I18n } from "../i18n";
|
7
7
|
|
8
8
|
export default function LoginResetOtp(props: PageProps<Extract<KcContext, { pageId: "login-reset-otp.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LoginResetPassword(props: PageProps<Extract<KcContext, { pageId: "login-reset-password.ftl" }>, I18n>) {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { useEffect, useReducer } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
3
|
import { assert } from "tsafe/assert";
|
4
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
4
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
|
-
import type {
|
5
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
|
+
import type { KcContext } from "../KcContext";
|
7
7
|
import type { I18n } from "../i18n";
|
8
8
|
|
9
9
|
export default function LoginUpdatePassword(props: PageProps<Extract<KcContext, { pageId: "login-update-password.ftl" }>, I18n>) {
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
-
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
-
import type { KcContext } from "../kcContext";
|
6
|
-
import type { I18n } from "../i18n";
|
7
3
|
import type { LazyOrNot } from "keycloakify/tools/LazyOrNot";
|
4
|
+
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
8
5
|
import type { UserProfileFormFieldsProps } from "keycloakify/login/UserProfileFormFields";
|
6
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
7
|
+
import type { KcContext } from "../KcContext";
|
8
|
+
import type { I18n } from "../i18n";
|
9
9
|
|
10
10
|
type LoginUpdateProfileProps = PageProps<Extract<KcContext, { pageId: "login-update-profile.ftl" }>, I18n> & {
|
11
11
|
UserProfileFormFields: LazyOrNot<(props: UserProfileFormFieldsProps) => JSX.Element>;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
3
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
-
import type {
|
4
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
5
|
+
import type { KcContext } from "../KcContext";
|
6
6
|
import type { I18n } from "../i18n";
|
7
7
|
|
8
8
|
export default function LoginUsername(props: PageProps<Extract<KcContext, { pageId: "login-username.ftl" }>, I18n>) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
|
-
import type { KcContext } from "../
|
2
|
+
import type { KcContext } from "../KcContext";
|
3
3
|
import type { I18n } from "../i18n";
|
4
4
|
|
5
5
|
export default function LoginVerifyEmail(props: PageProps<Extract<KcContext, { pageId: "login-verify-email.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LoginX509Info(props: PageProps<Extract<KcContext, { pageId: "login-x509-info.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function LogoutConfirm(props: PageProps<Extract<KcContext, { pageId: "logout-confirm.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { I18n } from "keycloakify/login/i18n";
|
2
2
|
import { type TemplateProps, type ClassKey } from "keycloakify/login/TemplateProps";
|
3
3
|
import type { LazyOrNot } from "keycloakify/tools/LazyOrNot";
|
4
|
-
import type { KcContext } from "keycloakify/account/
|
4
|
+
import type { KcContext } from "keycloakify/account/KcContext";
|
5
5
|
|
6
6
|
export type PageProps<NarowedKcContext = KcContext, I18nExtended extends I18n = I18n> = {
|
7
7
|
Template: LazyOrNot<(props: TemplateProps<any, any>) => JSX.Element | null>;
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import
|
4
|
-
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
3
|
+
import { Markdown } from "keycloakify/tools/Markdown";
|
5
4
|
import type { LazyOrNot } from "keycloakify/tools/LazyOrNot";
|
6
5
|
import { useTermsMarkdown } from "keycloakify/login/lib/useDownloadTerms";
|
6
|
+
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
7
7
|
import type { UserProfileFormFieldsProps } from "keycloakify/login/UserProfileFormFields";
|
8
|
-
import {
|
9
|
-
import type { KcContext } from "../
|
8
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
9
|
+
import type { KcContext } from "../KcContext";
|
10
10
|
import type { I18n } from "../i18n";
|
11
11
|
|
12
12
|
type RegisterProps = PageProps<Extract<KcContext, { pageId: "register.ftl" }>, I18n> & {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useEffect, useState } from "react";
|
2
2
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
|
-
import type { KcContext } from "../
|
3
|
+
import type { KcContext } from "../KcContext";
|
4
4
|
import type { I18n } from "../i18n";
|
5
5
|
|
6
6
|
export default function SamlPostForm(props: PageProps<Extract<KcContext, { pageId: "saml-post-form.ftl" }>, I18n>) {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
5
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
|
+
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function SelectAuthenticator(props: PageProps<Extract<KcContext, { pageId: "select-authenticator.ftl" }>, I18n>) {
|
8
8
|
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { clsx } from "keycloakify/tools/clsx";
|
2
2
|
import { Markdown } from "keycloakify/tools/Markdown";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
3
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
4
|
import { useTermsMarkdown } from "keycloakify/login/lib/useDownloadTerms";
|
6
|
-
import type {
|
5
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
|
+
import type { KcContext } from "../KcContext";
|
7
7
|
import type { I18n } from "../i18n";
|
8
8
|
|
9
9
|
export default function Terms(props: PageProps<Extract<KcContext, { pageId: "terms.ftl" }>, I18n>) {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useState } from "react";
|
2
2
|
import { clsx } from "keycloakify/tools/clsx";
|
3
3
|
import type { LazyOrNot } from "keycloakify/tools/LazyOrNot";
|
4
|
+
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
5
|
import type { UserProfileFormFieldsProps } from "keycloakify/login/UserProfileFormFields";
|
5
6
|
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
6
|
-
import {
|
7
|
-
import type { KcContext } from "../kcContext";
|
7
|
+
import type { KcContext } from "../KcContext";
|
8
8
|
import type { I18n } from "../i18n";
|
9
9
|
|
10
10
|
type UpdateEmailProps = PageProps<Extract<KcContext, { pageId: "update-email.ftl" }>, I18n> & {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useEffect, Fragment } from "react";
|
2
|
-
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
-
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
2
|
import { assert } from "tsafe/assert";
|
3
|
+
import { clsx } from "keycloakify/tools/clsx";
|
6
4
|
import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
|
7
|
-
import
|
5
|
+
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
6
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
7
|
+
import type { KcContext } from "../KcContext";
|
8
8
|
import type { I18n } from "../i18n";
|
9
9
|
|
10
10
|
export default function WebauthnAuthenticate(props: PageProps<Extract<KcContext, { pageId: "webauthn-authenticate.ftl" }>, I18n>) {
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
2
1
|
import { clsx } from "keycloakify/tools/clsx";
|
3
2
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
4
|
-
import type {
|
3
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
|
+
import type { KcContext } from "../KcContext";
|
5
5
|
import type { I18n } from "../i18n";
|
6
6
|
|
7
7
|
export default function WebauthnError(props: PageProps<Extract<KcContext, { pageId: "webauthn-error.ftl" }>, I18n>) {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
|
+
import { assert } from "tsafe/assert";
|
2
3
|
import { clsx } from "keycloakify/tools/clsx";
|
3
|
-
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
4
4
|
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
|
5
|
-
import { assert } from "tsafe/assert";
|
6
5
|
import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
|
7
|
-
import type {
|
6
|
+
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
7
|
+
import type { KcContext } from "../KcContext";
|
8
8
|
import type { I18n } from "../i18n";
|
9
9
|
|
10
10
|
export default function WebauthnRegister(props: PageProps<Extract<KcContext, { pageId: "webauthn-register.ftl" }>, I18n>) {
|
@@ -0,0 +1,23 @@
|
|
1
|
+
if (!(Object as any).fromEntries) {
|
2
|
+
Object.defineProperty(Object, "fromEntries", {
|
3
|
+
value: function (entries: any) {
|
4
|
+
if (!entries || !entries[Symbol.iterator]) {
|
5
|
+
throw new Error(
|
6
|
+
"Object.fromEntries() requires a single iterable argument"
|
7
|
+
);
|
8
|
+
}
|
9
|
+
|
10
|
+
const o: any = {};
|
11
|
+
|
12
|
+
Object.keys(entries).forEach(key => {
|
13
|
+
const [k, v] = entries[key];
|
14
|
+
|
15
|
+
o[k] = v;
|
16
|
+
});
|
17
|
+
|
18
|
+
return o;
|
19
|
+
}
|
20
|
+
});
|
21
|
+
}
|
22
|
+
|
23
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
if (!Object.fromEntries) {
|
2
|
+
Object.defineProperty(Object, "fromEntries", {
|
3
|
+
value: function (entries) {
|
4
|
+
if (!entries || !entries[Symbol.iterator]) {
|
5
|
+
throw new Error("Object.fromEntries() requires a single iterable argument");
|
6
|
+
}
|
7
|
+
const o = {};
|
8
|
+
Object.keys(entries).forEach(key => {
|
9
|
+
const [k, v] = entries[key];
|
10
|
+
o[k] = v;
|
11
|
+
});
|
12
|
+
return o;
|
13
|
+
}
|
14
|
+
});
|
15
|
+
}
|
16
|
+
export {};
|
17
|
+
//# sourceMappingURL=Object.fromEntries.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Object.fromEntries.js","sourceRoot":"","sources":["../src/tools/Object.fromEntries.ts"],"names":[],"mappings":"AAAA,IAAI,CAAE,MAAc,CAAC,WAAW,EAAE;IAC9B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;QACzC,KAAK,EAAE,UAAU,OAAY;YACzB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACvC,MAAM,IAAI,KAAK,CACX,0DAA0D,CAC7D,CAAC;aACL;YAED,MAAM,CAAC,GAAQ,EAAE,CAAC;YAElB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE5B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,CAAC;QACb,CAAC;KACJ,CAAC,CAAC;CACN"}
|