@keycloakify/angular 0.0.1-rc.22 → 0.0.1-rc.24
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/README.md +2 -0
- package/bin/338.index.js +14 -1
- package/bin/758.index.js +14 -1
- package/bin/925.index.js +15 -3
- package/esm2022/login/containers/template/template.component.mjs +11 -5
- package/esm2022/login/login.mjs +1 -1
- package/esm2022/login/pages/code/code.component.mjs +3 -3
- package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +3 -3
- package/esm2022/login/pages/error/error.component.mjs +3 -3
- package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +7 -7
- package/esm2022/login/pages/info/info.component.mjs +3 -3
- package/esm2022/login/pages/login/login.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +3 -3
- package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +3 -3
- package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +3 -3
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +3 -3
- package/esm2022/login/pages/login-password/login-password.component.mjs +3 -3
- package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +3 -3
- package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +3 -3
- package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +3 -3
- package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +7 -7
- package/esm2022/login/pages/login-username/login-username.component.mjs +3 -3
- package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +3 -3
- package/esm2022/login/pages/register/register.component.mjs +7 -7
- package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +3 -3
- package/esm2022/login/pages/update-email/update-email.component.mjs +7 -7
- package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-containers-template.mjs +10 -4
- package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-code.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-error.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +6 -6
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-info.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +6 -6
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-register.mjs +7 -7
- package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +6 -6
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +2 -2
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
- package/login/containers/template/template.component.d.ts +4 -2
- package/login/login.d.ts +1 -0
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +4 -2
- package/login/pages/login-update-profile/login-update-profile.component.d.ts +4 -2
- package/login/pages/register/register.component.d.ts +4 -2
- package/login/pages/update-email/update-email.component.d.ts +4 -2
- package/package.json +7 -7
- package/src/bin/eject-page.ts +23 -4
- package/src/bin/update-kc-gen.ts +14 -1
- package/src/login/containers/template/template.component.html +1 -0
- package/src/login/containers/template/template.component.ts +6 -0
- package/src/login/login.ts +1 -0
- package/src/login/pages/code/code.component.html +1 -0
- package/src/login/pages/delete-credential/delete-credential.component.html +26 -26
- package/src/login/pages/error/error.component.html +16 -17
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +1 -1
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +4 -3
- package/src/login/pages/info/info.component.html +2 -2
- package/src/login/pages/login/login.component.html +3 -1
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.html +2 -0
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +1 -0
- package/src/login/pages/login-page-expired/login-page-expired.component.html +23 -24
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +166 -165
- package/src/login/pages/login-password/login-password.component.html +68 -69
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +55 -57
- package/src/login/pages/login-reset-otp/login-reset-otp.component.html +48 -49
- package/src/login/pages/login-reset-password/login-reset-password.component.html +1 -0
- package/src/login/pages/login-update-profile/login-update-profile.component.html +1 -1
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +3 -2
- package/src/login/pages/login-username/login-username.component.html +5 -3
- package/src/login/pages/login-verify-email/login-verify-email.component.html +1 -1
- package/src/login/pages/register/register.component.html +2 -2
- package/src/login/pages/register/register.component.ts +3 -2
- package/src/login/pages/select-authenticator/select-authenticator.component.html +32 -32
- package/src/login/pages/update-email/update-email.component.html +1 -1
- package/src/login/pages/update-email/update-email.component.ts +3 -2
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +1 -0
|
@@ -25,7 +25,7 @@ export class LoginPageExpiredComponent extends ComponentReference {
|
|
|
25
25
|
provide: ComponentReference,
|
|
26
26
|
useExisting: forwardRef(() => LoginPageExpiredComponent)
|
|
27
27
|
}
|
|
28
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n\n<ng-
|
|
28
|
+
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('pageExpiredTitle') }}\n</ng-template>\n\n<p\n id=\"instruction1\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('pageExpiredMsg1') }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n .<br />\n {{ i18n.msgStr('pageExpiredMsg2') }}\n <a\n id=\"loginContinueLink\"\n [href]=\"url.loginAction\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n .\n</p>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29
29
|
}
|
|
30
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginPageExpiredComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
@@ -34,6 +34,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
34
34
|
provide: ComponentReference,
|
|
35
35
|
useExisting: forwardRef(() => LoginPageExpiredComponent)
|
|
36
36
|
}
|
|
37
|
-
], template: "@let url = kcContext.url;\n\n<ng-
|
|
37
|
+
], template: "@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('pageExpiredTitle') }}\n</ng-template>\n\n<p\n id=\"instruction1\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('pageExpiredMsg1') }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n .<br />\n {{ i18n.msgStr('pageExpiredMsg2') }}\n <a\n id=\"loginContinueLink\"\n [href]=\"url.loginAction\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n .\n</p>\n" }]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFnZS1leHBpcmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYWdlLWV4cGlyZWQvbG9naW4tcGFnZS1leHBpcmVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYWdlLWV4cGlyZWQvbG9naW4tcGFnZS1leHBpcmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUc1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUFrQjtJQWJqRTs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUEyRCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9GLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDdkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGVBQVUsR0FBSSxTQUFTLENBQTJCLFlBQVksQ0FBQyxDQUFDO1FBQ2hFLGFBQVEsR0FBSSxTQUFTLENBQTJCLFVBQVUsQ0FBQyxDQUFDO1FBQzVELHdCQUFtQixHQUFJLFNBQVMsQ0FBMkIscUJBQXFCLENBQUMsQ0FBQztLQUNyRjs4R0FoQlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsb0VBUHZCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUMzRDtTQUNKLCtZQ3JCTCx5akJBMkJBOzsyRkRKYSx5QkFBeUI7a0JBYnJDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLEVBQUUsWUFDRCx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7eUJBQzNEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0LCB0eXBlIFRlbXBsYXRlUmVmLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9pMThuJztcbmltcG9ydCB0eXBlIHsgS2NDb250ZXh0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgS0NfTE9HSU5fQ09OVEVYVCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzZWxlY3RvcjogJ2tjLWxvZ2luLXBhZ2UtZXhwaXJlZCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1wYWdlLWV4cGlyZWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblBhZ2VFeHBpcmVkQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpblBhZ2VFeHBpcmVkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9naW4tcGFnZS1leHBpcmVkLmZ0bCcgfT4+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgZG9jdW1lbnRUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGJvZHlDbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGZhbHNlO1xuICAgIGRpc3BsYXlJbmZvID0gZmFsc2U7XG4gICAgZGlzcGxheU1lc3NhZ2UgPSBmYWxzZTtcblxuICAgIGhlYWRlck5vZGU/ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ2hlYWRlck5vZGUnKTtcbiAgICBpbmZvTm9kZT8gPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaW5mb05vZGUnKTtcbiAgICBzb2NpYWxQcm92aWRlcnNOb2RlPyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdzb2NpYWxQcm92aWRlcnNOb2RlJyk7XG59XG4iLCJAbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyTm9kZT5cbiAgICB7eyBpMThuLm1zZ1N0cigncGFnZUV4cGlyZWRUaXRsZScpIH19XG48L25nLXRlbXBsYXRlPlxuXG48cFxuICAgIGlkPVwiaW5zdHJ1Y3Rpb24xXCJcbiAgICBjbGFzcz1cImluc3RydWN0aW9uXCJcbj5cbiAgICB7eyBpMThuLm1zZ1N0cigncGFnZUV4cGlyZWRNc2cxJykgfX1cbiAgICA8YVxuICAgICAgICBpZD1cImxvZ2luUmVzdGFydExpbmtcIlxuICAgICAgICBbaHJlZl09XCJ1cmwubG9naW5SZXN0YXJ0Rmxvd1VybFwiXG4gICAgPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cignZG9DbGlja0hlcmUnKSB9fVxuICAgIDwvYT5cbiAgICAuPGJyIC8+XG4gICAge3sgaTE4bi5tc2dTdHIoJ3BhZ2VFeHBpcmVkTXNnMicpIH19XG4gICAgPGFcbiAgICAgICAgaWQ9XCJsb2dpbkNvbnRpbnVlTGlua1wiXG4gICAgICAgIFtocmVmXT1cInVybC5sb2dpbkFjdGlvblwiXG4gICAgPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cignZG9DbGlja0hlcmUnKSB9fVxuICAgIDwvYT5cbiAgICAuXG48L3A+XG4iXX0=
|
|
@@ -74,7 +74,7 @@ export class LoginPasskeysConditionalAuthenticateComponent extends ComponentRefe
|
|
|
74
74
|
provide: ComponentReference,
|
|
75
75
|
useExisting: forwardRef(() => LoginPasskeysConditionalAuthenticateComponent)
|
|
76
76
|
}
|
|
77
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let authenticators = kcContext.authenticators;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n@let login = kcContext.login;\n@let messagesPerField = kcContext.messagesPerField;\n@let usernameHidden = kcContext.usernameHidden;\n@let registrationDisabled = kcContext.registrationDisabled;\n<ng-template #headerNode>\n {{ i18n.msgStr('passkey-login-title') }}\n</ng-template>\n<ng-
|
|
77
|
+
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let authenticators = kcContext.authenticators;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n@let login = kcContext.login;\n@let messagesPerField = kcContext.messagesPerField;\n@let usernameHidden = kcContext.usernameHidden;\n@let registrationDisabled = kcContext.registrationDisabled;\n<ng-template #headerNode>\n {{ i18n.msgStr('passkey-login-title') }}\n</ng-template>\n<ng-template #infoNode>\n @let realm = kcContext.realm;\n @let url = kcContext.url;\n @if (realm.registrationAllowed && !registrationDisabled) {\n <div id=\"kc-registration\">\n <span>\n {{ i18n.msgStr('noAccount') }}\n <a\n tabIndex=\"6\"\n [href]=\"url.registrationUrl\"\n >\n {{ i18n.msgStr('doRegister') }}\n </a>\n </span>\n </div>\n }\n</ng-template>\n\n<form\n id=\"webauth\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n <input\n type=\"hidden\"\n id=\"clientDataJSON\"\n name=\"clientDataJSON\"\n />\n <input\n type=\"hidden\"\n id=\"authenticatorData\"\n name=\"authenticatorData\"\n />\n <input\n type=\"hidden\"\n id=\"signature\"\n name=\"signature\"\n />\n <input\n type=\"hidden\"\n id=\"credentialId\"\n name=\"credentialId\"\n />\n <input\n type=\"hidden\"\n id=\"userHandle\"\n name=\"userHandle\"\n />\n <input\n type=\"hidden\"\n id=\"error\"\n name=\"error\"\n />\n</form>\n<div\n no-bottom-margin=\"true\"\n style=\"margin-bottom: 0\"\n [kcClass]=\"'kcFormGroupClass'\"\n>\n @if (authenticators !== undefined && authenticators.authenticators.length !== 0) {\n <form\n id=\"authn_select\"\n [kcClass]=\"'kcFormClass'\"\n >\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <input\n type=\"hidden\"\n name=\"authn_use_chk\"\n readOnly\n [value]=\"authenticator.credentialId\"\n />\n }\n </form>\n\n @if (shouldDisplayAuthenticators) {\n @if (authenticators.authenticators.length > 1) {\n <p [kcClass]=\"'kcSelectAuthListItemTitle'\">\n {{ i18n.msgStr('passkey-available-authenticators') }}\n </p>\n }\n\n <div [kcClass]=\"'kcFormClass'\">\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <div\n id=\"'kc-webauthn-authenticator-item-' + i\"\n [kcClass]=\"'kcSelectAuthListItemClass'\"\n >\n <i\n aria-hidden=\"true\"\n [ngClass]=\"selectAuthListItemIconClass(authenticator.transports.iconClass)\"\n [kcClass]=\"'kcCommonLogoIdP'\"\n ></i>\n <div [kcClass]=\"'kcSelectAuthListItemBodyClass'\">\n <div\n [id]=\"'kc-webauthn-authenticator-label-' + i\"\n [kcClass]=\"'kcSelectAuthListItemHeadingClass'\"\n >\n {{ i18n.advancedMsgStr(authenticator.label) }}\n </div>\n @if (\n authenticator.transports !== undefined &&\n authenticator.transports.displayNameProperties !== undefined &&\n authenticator.transports.displayNameProperties.length !== 0\n ) {\n <div\n [id]=\"'kc-webauthn-authenticator-transport-' + i\"\n [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\"\n >\n @for (nameProperty of authenticator.transports.displayNameProperties; track nameProperty; let i = $index) {\n <span>\n {{ i18n.advancedMsgStr(nameProperty) }}\n </span>\n @if (i !== authenticator.transports.displayNameProperties.length - 1) {\n <span>, </span>\n }\n }\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\">\n <span [id]=\"'kc-webauthn-authenticator-createdlabel-' + i\">\n {{ i18n.msgStr('passkey-createdAt-label') }}\n </span>\n <span [id]=\"'kc-webauthn-authenticator-created-' + i\">\n {{ authenticator.createdAt }}\n </span>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemFillClass'\"></div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n <div id=\"kc-form-wrapper\">\n @if (realm.password) {\n <form\n id=\"kc-form-passkey\"\n method=\"post\"\n style=\"display: none\"\n [action]=\"url.loginAction\"\n >\n @if (!usernameHidden) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('passkey-autofill-select') }}\n </label>\n <input\n tabIndex=\"1\"\n id=\"username\"\n name=\"username\"\n type=\"text\"\n autoFocus\n autoComplete=\"off\"\n [attr.aria-invalid]=\"messagesPerField.existsError('username')\"\n [kcClass]=\"'kcInputClass'\"\n [value]=\"login.username ?? ''\"\n />\n @if (messagesPerField.existsError('username')) {\n <span\n id=\"input-error-username\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n >\n {{ messagesPerField.get('username') }}\n </span>\n }\n </div>\n }\n </form>\n <div\n id=\"kc-form-passkey-button\"\n style=\"display: none\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n id=\"authButtonId\"\n type=\"button\"\n autoFocus\n [value]=\"i18n.msgStr('passkey-doAuthenticate')\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n />\n </div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
78
78
|
}
|
|
79
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginPasskeysConditionalAuthenticateComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
@@ -83,6 +83,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
83
83
|
provide: ComponentReference,
|
|
84
84
|
useExisting: forwardRef(() => LoginPasskeysConditionalAuthenticateComponent)
|
|
85
85
|
}
|
|
86
|
-
], template: "@let authenticators = kcContext.authenticators;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n@let login = kcContext.login;\n@let messagesPerField = kcContext.messagesPerField;\n@let usernameHidden = kcContext.usernameHidden;\n@let registrationDisabled = kcContext.registrationDisabled;\n<ng-template #headerNode>\n {{ i18n.msgStr('passkey-login-title') }}\n</ng-template>\n<ng-
|
|
86
|
+
], template: "@let authenticators = kcContext.authenticators;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n@let shouldDisplayAuthenticators = kcContext.shouldDisplayAuthenticators;\n@let login = kcContext.login;\n@let messagesPerField = kcContext.messagesPerField;\n@let usernameHidden = kcContext.usernameHidden;\n@let registrationDisabled = kcContext.registrationDisabled;\n<ng-template #headerNode>\n {{ i18n.msgStr('passkey-login-title') }}\n</ng-template>\n<ng-template #infoNode>\n @let realm = kcContext.realm;\n @let url = kcContext.url;\n @if (realm.registrationAllowed && !registrationDisabled) {\n <div id=\"kc-registration\">\n <span>\n {{ i18n.msgStr('noAccount') }}\n <a\n tabIndex=\"6\"\n [href]=\"url.registrationUrl\"\n >\n {{ i18n.msgStr('doRegister') }}\n </a>\n </span>\n </div>\n }\n</ng-template>\n\n<form\n id=\"webauth\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n <input\n type=\"hidden\"\n id=\"clientDataJSON\"\n name=\"clientDataJSON\"\n />\n <input\n type=\"hidden\"\n id=\"authenticatorData\"\n name=\"authenticatorData\"\n />\n <input\n type=\"hidden\"\n id=\"signature\"\n name=\"signature\"\n />\n <input\n type=\"hidden\"\n id=\"credentialId\"\n name=\"credentialId\"\n />\n <input\n type=\"hidden\"\n id=\"userHandle\"\n name=\"userHandle\"\n />\n <input\n type=\"hidden\"\n id=\"error\"\n name=\"error\"\n />\n</form>\n<div\n no-bottom-margin=\"true\"\n style=\"margin-bottom: 0\"\n [kcClass]=\"'kcFormGroupClass'\"\n>\n @if (authenticators !== undefined && authenticators.authenticators.length !== 0) {\n <form\n id=\"authn_select\"\n [kcClass]=\"'kcFormClass'\"\n >\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <input\n type=\"hidden\"\n name=\"authn_use_chk\"\n readOnly\n [value]=\"authenticator.credentialId\"\n />\n }\n </form>\n\n @if (shouldDisplayAuthenticators) {\n @if (authenticators.authenticators.length > 1) {\n <p [kcClass]=\"'kcSelectAuthListItemTitle'\">\n {{ i18n.msgStr('passkey-available-authenticators') }}\n </p>\n }\n\n <div [kcClass]=\"'kcFormClass'\">\n @for (authenticator of authenticators.authenticators; track authenticator; let i = $index) {\n <div\n id=\"'kc-webauthn-authenticator-item-' + i\"\n [kcClass]=\"'kcSelectAuthListItemClass'\"\n >\n <i\n aria-hidden=\"true\"\n [ngClass]=\"selectAuthListItemIconClass(authenticator.transports.iconClass)\"\n [kcClass]=\"'kcCommonLogoIdP'\"\n ></i>\n <div [kcClass]=\"'kcSelectAuthListItemBodyClass'\">\n <div\n [id]=\"'kc-webauthn-authenticator-label-' + i\"\n [kcClass]=\"'kcSelectAuthListItemHeadingClass'\"\n >\n {{ i18n.advancedMsgStr(authenticator.label) }}\n </div>\n @if (\n authenticator.transports !== undefined &&\n authenticator.transports.displayNameProperties !== undefined &&\n authenticator.transports.displayNameProperties.length !== 0\n ) {\n <div\n [id]=\"'kc-webauthn-authenticator-transport-' + i\"\n [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\"\n >\n @for (nameProperty of authenticator.transports.displayNameProperties; track nameProperty; let i = $index) {\n <span>\n {{ i18n.advancedMsgStr(nameProperty) }}\n </span>\n @if (i !== authenticator.transports.displayNameProperties.length - 1) {\n <span>, </span>\n }\n }\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemDescriptionClass'\">\n <span [id]=\"'kc-webauthn-authenticator-createdlabel-' + i\">\n {{ i18n.msgStr('passkey-createdAt-label') }}\n </span>\n <span [id]=\"'kc-webauthn-authenticator-created-' + i\">\n {{ authenticator.createdAt }}\n </span>\n </div>\n <div [kcClass]=\"'kcSelectAuthListItemFillClass'\"></div>\n }\n </div>\n </div>\n }\n </div>\n }\n }\n <div id=\"kc-form-wrapper\">\n @if (realm.password) {\n <form\n id=\"kc-form-passkey\"\n method=\"post\"\n style=\"display: none\"\n [action]=\"url.loginAction\"\n >\n @if (!usernameHidden) {\n <div [kcClass]=\"'kcFormGroupClass'\">\n <label\n for=\"username\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('passkey-autofill-select') }}\n </label>\n <input\n tabIndex=\"1\"\n id=\"username\"\n name=\"username\"\n type=\"text\"\n autoFocus\n autoComplete=\"off\"\n [attr.aria-invalid]=\"messagesPerField.existsError('username')\"\n [kcClass]=\"'kcInputClass'\"\n [value]=\"login.username ?? ''\"\n />\n @if (messagesPerField.existsError('username')) {\n <span\n id=\"input-error-username\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n >\n {{ messagesPerField.get('username') }}\n </span>\n }\n </div>\n }\n </form>\n <div\n id=\"kc-form-passkey-button\"\n style=\"display: none\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n id=\"authButtonId\"\n type=\"button\"\n autoFocus\n [value]=\"i18n.msgStr('passkey-doAuthenticate')\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n />\n </div>\n }\n </div>\n</div>\n" }]
|
|
87
87
|
}], ctorParameters: () => [] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUvbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUvbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBZXhFLE1BQU0sT0FBTyw2Q0FBOEMsU0FBUSxrQkFBa0I7SUFvQmpGO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFwQlosY0FBUyxHQUFHLE1BQU0s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blN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgdHlwZSBUZW1wbGF0ZVJlZiwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFNjcmlwdCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9tb2RlbHMvc2NyaXB0JztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcyc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9pMThuJztcbmltcG9ydCB0eXBlIHsgS2NDb250ZXh0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IExvZ2luUmVzb3VyY2VJbmplY3RvclNlcnZpY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy9sb2dpbi1yZXNvdXJjZS1pbmplY3Rvcic7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuJztcbmltcG9ydCB7IEtDX0xPR0lOX0NPTlRFWFQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMva2MtY29udGV4dCc7XG5pbXBvcnQgeyB0eXBlIENsYXNzS2V5LCBnZXRLY0Nsc3ggfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9naW5QYXNza2V5c0NvbmRpdGlvbmFsQXV0aGVudGljYXRlQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpblBhc3NrZXlzQ29uZGl0aW9uYWxBdXRoZW50aWNhdGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUuZnRsJyB9Pj4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgbG9naW5SZXNvdXJjZUluamVjdG9yU2VydmljZSA9IGluamVjdChMb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlKTtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuXG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgZG9jdW1lbnRUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGJvZHlDbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGZhbHNlO1xuICAgIGRpc3BsYXlJbmZvID0gdHJ1ZTtcbiAgICBkaXNwbGF5TWVzc2FnZSA9IGZhbHNlO1xuXG4gICAgaGVhZGVyTm9kZT8gPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlPyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdpbmZvTm9kZScpO1xuICAgIHNvY2lhbFByb3ZpZGVyc05vZGU/ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ3NvY2lhbFByb3ZpZGVyc05vZGUnKTtcbiAgICBhdXRoQnV0dG9uSWQgPSAnYXV0aGVudGljYXRlV2ViQXV0aG5CdXR0b24nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGNoYWxsZW5nZSxcbiAgICAgICAgICAgIHJwSWQsXG4gICAgICAgICAgICB1c2VyVmVyaWZpY2F0aW9uLFxuICAgICAgICAgICAgaXNVc2VySWRlbnRpZmllZCxcblxuICAgICAgICAgICAgY3JlYXRlVGltZW91dFxuICAgICAgICB9ID0gdGhpcy5rY0NvbnRleHQ7XG4gICAgICAgIGNvbnN0IHNjcmlwdHM6IFNjcmlwdFtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdtb2R1bGUnLFxuICAgICAgICAgICAgICAgIGlkOiAnTG9naW5SZWNvdmVyeUF1dGhuQ29kZUNvbmZpZycsXG4gICAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IGBcbiAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHsgYXV0aGVudGljYXRlQnlXZWJBdXRobiB9IGZyb20gXCIke3VybC5yZXNvdXJjZXNQYXRofS9qcy93ZWJhdXRobkF1dGhlbnRpY2F0ZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICBpbXBvcnQgeyBpbml0QXV0aGVudGljYXRlIH0gZnJvbSBcIiR7dXJsLnJlc291cmNlc1BhdGh9L2pzL3Bhc3NrZXlzQ29uZGl0aW9uYWxBdXRoLmpzXCI7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0aEJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiJHt0aGlzLmF1dGhCdXR0b25JZH1cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNVc2VySWRlbnRpZmllZCA6ICR7aXNVc2VySWRlbnRpZmllZH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2UgOiAke0pTT04uc3RyaW5naWZ5KGNoYWxsZW5nZSl9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlclZlcmlmaWNhdGlvbiA6ICR7SlNPTi5zdHJpbmdpZnkodXNlclZlcmlmaWNhdGlvbil9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcnBJZCA6ICR7SlNPTi5zdHJpbmdpZnkocnBJZCl9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlVGltZW91dCA6ICR7Y3JlYXRlVGltZW91dH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYXV0aEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRlQnlXZWJBdXRobih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJybXNnIDogJHtKU09OLnN0cmluZ2lmeSh0aGlzLmkxOG4ubXNnU3RyKCd3ZWJhdXRobi11bnN1cHBvcnRlZC1icm93c2VyLXRleHQnKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5pdEF1dGhlbnRpY2F0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm1zZyA6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5pMThuLm1zZ1N0cigncGFzc2tleS11bnN1cHBvcnRlZC1icm93c2VyLXRleHQnKSl9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy5sb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlLmluc2VydEFkZGl0aW9uYWxTY3JpcHRzKHNjcmlwdHMpO1xuICAgIH1cblxuICAgIHNlbGVjdEF1dGhMaXN0SXRlbUljb25DbGFzcyhpY29uQ2xhc3M6IHN0cmluZykge1xuICAgICAgICBjb25zdCBrY0Nsc3ggPSBnZXRLY0Nsc3goe1xuICAgICAgICAgICAgZG9Vc2VEZWZhdWx0Q3NzOiB0aGlzLmRvVXNlRGVmYXVsdENzcyA/PyB0cnVlLFxuICAgICAgICAgICAgY2xhc3NlczogdGhpcy5jbGFzc2VzXG4gICAgICAgIH0pLmtjQ2xzeDtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0ga2NDbHN4KGljb25DbGFzcyBhcyBhbnkpO1xuICAgICAgICBpZiAoY2xhc3NOYW1lID09PSBpY29uQ2xhc3MpIHtcbiAgICAgICAgICAgIHJldHVybiBrY0Nsc3goJ2tjV2ViQXV0aG5EZWZhdWx0SWNvbicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbGFzc05hbWU7XG4gICAgfVxufVxuIiwiQGxldCBhdXRoZW50aWNhdG9ycyA9IGtjQ29udGV4dC5hdXRoZW50aWNhdG9ycztcbkBsZXQgcmVhbG0gPSBrY0NvbnRleHQucmVhbG07XG5AbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IHNob3VsZERpc3BsYXlBdXRoZW50aWNhdG9ycyA9IGtjQ29udGV4dC5zaG91bGREaXNwbGF5QXV0aGVudGljYXRvcnM7XG5AbGV0IGxvZ2luID0ga2NDb250ZXh0LmxvZ2luO1xuQGxldCBtZXNzYWdlc1BlckZpZWxkID0ga2NDb250ZXh0Lm1lc3NhZ2VzUGVyRmllbGQ7XG5AbGV0IHVzZXJuYW1lSGlkZGVuID0ga2NDb250ZXh0LnVzZXJuYW1lSGlkZGVuO1xuQGxldCByZWdpc3RyYXRpb25EaXNhYmxlZCA9IGtjQ29udGV4dC5yZWdpc3RyYXRpb25EaXNhYmxlZDtcbjxuZy10ZW1wbGF0ZSAjaGVhZGVyTm9kZT5cbiAgICB7eyBpMThuLm1zZ1N0cigncGFzc2tleS1sb2dpbi10aXRsZScpIH19XG48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRhaW5lciBpbmZvTm9kZT5cbiAgICBAaWYgKHJlYWxtLnJlZ2lzdHJhdGlvbkFsbG93ZWQgJiYgIXJlZ2lzdHJhdGlvbkRpc2FibGVkKSB7XG4gICAgICAgIDxkaXYgaWQ9XCJrYy1yZWdpc3RyYXRpb25cIj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdub0FjY291bnQnKSB9fVxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiNlwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cInVybC5yZWdpc3RyYXRpb25VcmxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2RvUmVnaXN0ZXInKSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgY29udGVudD5cbiAgICA8Zm9ybVxuICAgICAgICBpZD1cIndlYmF1dGhcIlxuICAgICAgICBtZXRob2Q9XCJwb3N0XCJcbiAgICAgICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgICAgIGlkPVwiY2xpZW50RGF0YUpTT05cIlxuICAgICAgICAgICAgbmFtZT1cImNsaWVudERhdGFKU09OXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgICAgIGlkPVwiYXV0aGVudGljYXRvckRhdGFcIlxuICAgICAgICAgICAgbmFtZT1cImF1dGhlbnRpY2F0b3JEYXRhXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgICAgIGlkPVwic2lnbmF0dXJlXCJcbiAgICAgICAgICAgIG5hbWU9XCJzaWduYXR1cmVcIlxuICAgICAgICAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICAgICAgaWQ9XCJjcmVkZW50aWFsSWRcIlxuICAgICAgICAgICAgbmFtZT1cImNyZWRlbnRpYWxJZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgICBpZD1cInVzZXJIYW5kbGVcIlxuICAgICAgICAgICAgbmFtZT1cInVzZXJIYW5kbGVcIlxuICAgICAgICAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICAgICAgaWQ9XCJlcnJvclwiXG4gICAgICAgICAgICBuYW1lPVwiZXJyb3JcIlxuICAgICAgICAvPlxuICAgIDwvZm9ybT5cbiAgICA8ZGl2XG4gICAgICAgIG5vLWJvdHRvbS1tYXJnaW49XCJ0cnVlXCJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCJcbiAgICA+XG4gICAgICAgIEBpZiAoYXV0aGVudGljYXRvcnMgIT09IHVuZGVmaW5lZCAmJiBhdXRoZW50aWNhdG9ycy5hdXRoZW50aWNhdG9ycy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgICAgaWQ9XCJhdXRobl9zZWxlY3RcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1DbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBmb3IgKGF1dGhlbnRpY2F0b3Igb2YgYXV0aGVudGljYXRvcnMuYXV0aGVudGljYXRvcnM7IHRyYWNrIGF1dGhlbnRpY2F0b3I7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYXV0aG5fdXNlX2Noa1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImF1dGhlbnRpY2F0b3IuY3JlZGVudGlhbElkXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Zvcm0+XG5cbiAgICAgICAgICAgIEBpZiAoc2hvdWxkRGlzcGxheUF1dGhlbnRpY2F0b3JzKSB7XG4gICAgICAgICAgICAgICAgQGlmIChhdXRoZW50aWNhdG9ycy5hdXRoZW50aWNhdG9ycy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIDxwIFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbVRpdGxlJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3Bhc3NrZXktYXZhaWxhYmxlLWF1dGhlbnRpY2F0b3JzJykgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChhdXRoZW50aWNhdG9yIG9mIGF1dGhlbnRpY2F0b3JzLmF1dGhlbnRpY2F0b3JzOyB0cmFjayBhdXRoZW50aWNhdG9yOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiJ2tjLXdlYmF1dGhuLWF1dGhlbnRpY2F0b3ItaXRlbS0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjU2VsZWN0QXV0aExpc3RJdGVtQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RBdXRoTGlzdEl0ZW1JY29uQ2xhc3MoYXV0aGVudGljYXRvci50cmFuc3BvcnRzLmljb25DbGFzcylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NDb21tb25Mb2dvSWRQJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbUJvZHlDbGFzcydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidrYy13ZWJhdXRobi1hdXRoZW50aWNhdG9yLWxhYmVsLScgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbUhlYWRpbmdDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGF1dGhlbnRpY2F0b3IubGFiZWwpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRvci50cmFuc3BvcnRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0b3IudHJhbnNwb3J0cy5kaXNwbGF5TmFtZVByb3BlcnRpZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRvci50cmFuc3BvcnRzLmRpc3BsYXlOYW1lUHJvcGVydGllcy5sZW5ndGggIT09IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidrYy13ZWJhdXRobi1hdXRoZW50aWNhdG9yLXRyYW5zcG9ydC0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjU2VsZWN0QXV0aExpc3RJdGVtRGVzY3JpcHRpb25DbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG5hbWVQcm9wZXJ0eSBvZiBhdXRoZW50aWNhdG9yLnRyYW5zcG9ydHMuZGlzcGxheU5hbWVQcm9wZXJ0aWVzOyB0cmFjayBuYW1lUHJvcGVydHk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5hZHZhbmNlZE1zZ1N0cihuYW1lUHJvcGVydHkpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpICE9PSBhdXRoZW50aWNhdG9yLnRyYW5zcG9ydHMuZGlzcGxheU5hbWVQcm9wZXJ0aWVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiwgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbURlc2NyaXB0aW9uQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lkXT1cIidrYy13ZWJhdXRobi1hdXRoZW50aWNhdG9yLWNyZWF0ZWRsYWJlbC0nICsgaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cigncGFzc2tleS1jcmVhdGVkQXQtbGFiZWwnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwiJ2tjLXdlYmF1dGhuLWF1dGhlbnRpY2F0b3ItY3JlYXRlZC0nICsgaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhdXRoZW50aWNhdG9yLmNyZWF0ZWRBdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1GaWxsQ2xhc3MnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBpZD1cImtjLWZvcm0td3JhcHBlclwiPlxuICAgICAgICAgICAgQGlmIChyZWFsbS5wYXNzd29yZCkge1xuICAgICAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgICAgICAgIGlkPVwia2MtZm9ybS1wYXNza2V5XCJcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kPVwicG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFthY3Rpb25dPVwidXJsLmxvZ2luQWN0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIXVzZXJuYW1lSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdwYXNza2V5LWF1dG9maWxsLXNlbGVjdCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCd1c2VybmFtZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibG9naW4udXNlcm5hbWUgPz8gJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCd1c2VybmFtZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImlucHV0LWVycm9yLXVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEVycm9yTWVzc2FnZUNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1lc3NhZ2VzUGVyRmllbGQuZ2V0KCd1c2VybmFtZScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGlkPVwia2MtZm9ybS1wYXNza2V5LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1CdXR0b25zQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhdXRoQnV0dG9uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpMThuLm1zZ1N0cigncGFzc2tleS1kb0F1dGhlbnRpY2F0ZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj48L2RpdlxuPjwvbmctY29udGFpbmVyPlxuIl19
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUvbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUvbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBZXhFLE1BQU0sT0FBTyw2Q0FBOEMsU0FBUSxrQkFBa0I7SUFvQmpGO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFwQlosY0FBUyxHQUFHLE1BQU0s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blN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgdHlwZSBUZW1wbGF0ZVJlZiwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFNjcmlwdCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9tb2RlbHMvc2NyaXB0JztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcyc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9pMThuJztcbmltcG9ydCB0eXBlIHsgS2NDb250ZXh0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IExvZ2luUmVzb3VyY2VJbmplY3RvclNlcnZpY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy9sb2dpbi1yZXNvdXJjZS1pbmplY3Rvcic7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuJztcbmltcG9ydCB7IEtDX0xPR0lOX0NPTlRFWFQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMva2MtY29udGV4dCc7XG5pbXBvcnQgeyB0eXBlIENsYXNzS2V5LCBnZXRLY0Nsc3ggfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9naW5QYXNza2V5c0NvbmRpdGlvbmFsQXV0aGVudGljYXRlQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpblBhc3NrZXlzQ29uZGl0aW9uYWxBdXRoZW50aWNhdGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUuZnRsJyB9Pj4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgbG9naW5SZXNvdXJjZUluamVjdG9yU2VydmljZSA9IGluamVjdChMb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlKTtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuXG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgZG9jdW1lbnRUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGJvZHlDbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGZhbHNlO1xuICAgIGRpc3BsYXlJbmZvID0gdHJ1ZTtcbiAgICBkaXNwbGF5TWVzc2FnZSA9IGZhbHNlO1xuXG4gICAgaGVhZGVyTm9kZT8gPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlPyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdpbmZvTm9kZScpO1xuICAgIHNvY2lhbFByb3ZpZGVyc05vZGU/ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ3NvY2lhbFByb3ZpZGVyc05vZGUnKTtcbiAgICBhdXRoQnV0dG9uSWQgPSAnYXV0aGVudGljYXRlV2ViQXV0aG5CdXR0b24nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGNoYWxsZW5nZSxcbiAgICAgICAgICAgIHJwSWQsXG4gICAgICAgICAgICB1c2VyVmVyaWZpY2F0aW9uLFxuICAgICAgICAgICAgaXNVc2VySWRlbnRpZmllZCxcblxuICAgICAgICAgICAgY3JlYXRlVGltZW91dFxuICAgICAgICB9ID0gdGhpcy5rY0NvbnRleHQ7XG4gICAgICAgIGNvbnN0IHNjcmlwdHM6IFNjcmlwdFtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdtb2R1bGUnLFxuICAgICAgICAgICAgICAgIGlkOiAnTG9naW5SZWNvdmVyeUF1dGhuQ29kZUNvbmZpZycsXG4gICAgICAgICAgICAgICAgdGV4dENvbnRlbnQ6IGBcbiAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHsgYXV0aGVudGljYXRlQnlXZWJBdXRobiB9IGZyb20gXCIke3VybC5yZXNvdXJjZXNQYXRofS9qcy93ZWJhdXRobkF1dGhlbnRpY2F0ZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICBpbXBvcnQgeyBpbml0QXV0aGVudGljYXRlIH0gZnJvbSBcIiR7dXJsLnJlc291cmNlc1BhdGh9L2pzL3Bhc3NrZXlzQ29uZGl0aW9uYWxBdXRoLmpzXCI7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0aEJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiJHt0aGlzLmF1dGhCdXR0b25JZH1cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNVc2VySWRlbnRpZmllZCA6ICR7aXNVc2VySWRlbnRpZmllZH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2UgOiAke0pTT04uc3RyaW5naWZ5KGNoYWxsZW5nZSl9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlclZlcmlmaWNhdGlvbiA6ICR7SlNPTi5zdHJpbmdpZnkodXNlclZlcmlmaWNhdGlvbil9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcnBJZCA6ICR7SlNPTi5zdHJpbmdpZnkocnBJZCl9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlVGltZW91dCA6ICR7Y3JlYXRlVGltZW91dH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYXV0aEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRlQnlXZWJBdXRobih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJybXNnIDogJHtKU09OLnN0cmluZ2lmeSh0aGlzLmkxOG4ubXNnU3RyKCd3ZWJhdXRobi11bnN1cHBvcnRlZC1icm93c2VyLXRleHQnKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5pdEF1dGhlbnRpY2F0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm1zZyA6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5pMThuLm1zZ1N0cigncGFzc2tleS11bnN1cHBvcnRlZC1icm93c2VyLXRleHQnKSl9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy5sb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlLmluc2VydEFkZGl0aW9uYWxTY3JpcHRzKHNjcmlwdHMpO1xuICAgIH1cblxuICAgIHNlbGVjdEF1dGhMaXN0SXRlbUljb25DbGFzcyhpY29uQ2xhc3M6IHN0cmluZykge1xuICAgICAgICBjb25zdCBrY0Nsc3ggPSBnZXRLY0Nsc3goe1xuICAgICAgICAgICAgZG9Vc2VEZWZhdWx0Q3NzOiB0aGlzLmRvVXNlRGVmYXVsdENzcyA/PyB0cnVlLFxuICAgICAgICAgICAgY2xhc3NlczogdGhpcy5jbGFzc2VzXG4gICAgICAgIH0pLmtjQ2xzeDtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0ga2NDbHN4KGljb25DbGFzcyBhcyBhbnkpO1xuICAgICAgICBpZiAoY2xhc3NOYW1lID09PSBpY29uQ2xhc3MpIHtcbiAgICAgICAgICAgIHJldHVybiBrY0Nsc3goJ2tjV2ViQXV0aG5EZWZhdWx0SWNvbicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbGFzc05hbWU7XG4gICAgfVxufVxuIiwiQGxldCBhdXRoZW50aWNhdG9ycyA9IGtjQ29udGV4dC5hdXRoZW50aWNhdG9ycztcbkBsZXQgcmVhbG0gPSBrY0NvbnRleHQucmVhbG07XG5AbGV0IHVybCA9IGtjQ29udGV4dC51cmw7XG5AbGV0IHNob3VsZERpc3BsYXlBdXRoZW50aWNhdG9ycyA9IGtjQ29udGV4dC5zaG91bGREaXNwbGF5QXV0aGVudGljYXRvcnM7XG5AbGV0IGxvZ2luID0ga2NDb250ZXh0LmxvZ2luO1xuQGxldCBtZXNzYWdlc1BlckZpZWxkID0ga2NDb250ZXh0Lm1lc3NhZ2VzUGVyRmllbGQ7XG5AbGV0IHVzZXJuYW1lSGlkZGVuID0ga2NDb250ZXh0LnVzZXJuYW1lSGlkZGVuO1xuQGxldCByZWdpc3RyYXRpb25EaXNhYmxlZCA9IGtjQ29udGV4dC5yZWdpc3RyYXRpb25EaXNhYmxlZDtcbjxuZy10ZW1wbGF0ZSAjaGVhZGVyTm9kZT5cbiAgICB7eyBpMThuLm1zZ1N0cigncGFzc2tleS1sb2dpbi10aXRsZScpIH19XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNpbmZvTm9kZT5cbiAgICBAbGV0IHJlYWxtID0ga2NDb250ZXh0LnJlYWxtO1xuICAgIEBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbiAgICBAaWYgKHJlYWxtLnJlZ2lzdHJhdGlvbkFsbG93ZWQgJiYgIXJlZ2lzdHJhdGlvbkRpc2FibGVkKSB7XG4gICAgICAgIDxkaXYgaWQ9XCJrYy1yZWdpc3RyYXRpb25cIj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdub0FjY291bnQnKSB9fVxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiNlwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cInVybC5yZWdpc3RyYXRpb25VcmxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2RvUmVnaXN0ZXInKSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPGZvcm1cbiAgICBpZD1cIndlYmF1dGhcIlxuICAgIG1ldGhvZD1cInBvc3RcIlxuICAgIFthY3Rpb25dPVwidXJsLmxvZ2luQWN0aW9uXCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgIGlkPVwiY2xpZW50RGF0YUpTT05cIlxuICAgICAgICBuYW1lPVwiY2xpZW50RGF0YUpTT05cIlxuICAgIC8+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICBpZD1cImF1dGhlbnRpY2F0b3JEYXRhXCJcbiAgICAgICAgbmFtZT1cImF1dGhlbnRpY2F0b3JEYXRhXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgaWQ9XCJzaWduYXR1cmVcIlxuICAgICAgICBuYW1lPVwic2lnbmF0dXJlXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgaWQ9XCJjcmVkZW50aWFsSWRcIlxuICAgICAgICBuYW1lPVwiY3JlZGVudGlhbElkXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgaWQ9XCJ1c2VySGFuZGxlXCJcbiAgICAgICAgbmFtZT1cInVzZXJIYW5kbGVcIlxuICAgIC8+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICBpZD1cImVycm9yXCJcbiAgICAgICAgbmFtZT1cImVycm9yXCJcbiAgICAvPlxuPC9mb3JtPlxuPGRpdlxuICAgIG5vLWJvdHRvbS1tYXJnaW49XCJ0cnVlXCJcbiAgICBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBcIlxuICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiXG4+XG4gICAgQGlmIChhdXRoZW50aWNhdG9ycyAhPT0gdW5kZWZpbmVkICYmIGF1dGhlbnRpY2F0b3JzLmF1dGhlbnRpY2F0b3JzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICA8Zm9ybVxuICAgICAgICAgICAgaWQ9XCJhdXRobl9zZWxlY3RcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKGF1dGhlbnRpY2F0b3Igb2YgYXV0aGVudGljYXRvcnMuYXV0aGVudGljYXRvcnM7IHRyYWNrIGF1dGhlbnRpY2F0b3I7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJoaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYXV0aG5fdXNlX2Noa1wiXG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhdXRoZW50aWNhdG9yLmNyZWRlbnRpYWxJZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIEBpZiAoc2hvdWxkRGlzcGxheUF1dGhlbnRpY2F0b3JzKSB7XG4gICAgICAgICAgICBAaWYgKGF1dGhlbnRpY2F0b3JzLmF1dGhlbnRpY2F0b3JzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICA8cCBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1UaXRsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3Bhc3NrZXktYXZhaWxhYmxlLWF1dGhlbnRpY2F0b3JzJykgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGF1dGhlbnRpY2F0b3Igb2YgYXV0aGVudGljYXRvcnMuYXV0aGVudGljYXRvcnM7IHRyYWNrIGF1dGhlbnRpY2F0b3I7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiJ2tjLXdlYmF1dGhuLWF1dGhlbnRpY2F0b3ItaXRlbS0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1DbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0QXV0aExpc3RJdGVtSWNvbkNsYXNzKGF1dGhlbnRpY2F0b3IudHJhbnNwb3J0cy5pY29uQ2xhc3MpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NDb21tb25Mb2dvSWRQJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1Cb2R5Q2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2tjLXdlYmF1dGhuLWF1dGhlbnRpY2F0b3ItbGFiZWwtJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1IZWFkaW5nQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkxOG4uYWR2YW5jZWRNc2dTdHIoYXV0aGVudGljYXRvci5sYWJlbCkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoZW50aWNhdG9yLnRyYW5zcG9ydHMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoZW50aWNhdG9yLnRyYW5zcG9ydHMuZGlzcGxheU5hbWVQcm9wZXJ0aWVzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aGVudGljYXRvci50cmFuc3BvcnRzLmRpc3BsYXlOYW1lUHJvcGVydGllcy5sZW5ndGggIT09IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidrYy13ZWJhdXRobi1hdXRoZW50aWNhdG9yLXRyYW5zcG9ydC0nICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NTZWxlY3RBdXRoTGlzdEl0ZW1EZXNjcmlwdGlvbkNsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG5hbWVQcm9wZXJ0eSBvZiBhdXRoZW50aWNhdG9yLnRyYW5zcG9ydHMuZGlzcGxheU5hbWVQcm9wZXJ0aWVzOyB0cmFjayBuYW1lUHJvcGVydHk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkxOG4uYWR2YW5jZWRNc2dTdHIobmFtZVByb3BlcnR5KSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGkgIT09IGF1dGhlbnRpY2F0b3IudHJhbnNwb3J0cy5kaXNwbGF5TmFtZVByb3BlcnRpZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4sIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY1NlbGVjdEF1dGhMaXN0SXRlbURlc2NyaXB0aW9uQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwiJ2tjLXdlYmF1dGhuLWF1dGhlbnRpY2F0b3ItY3JlYXRlZGxhYmVsLScgKyBpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3Bhc3NrZXktY3JlYXRlZEF0LWxhYmVsJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCIna2Mtd2ViYXV0aG4tYXV0aGVudGljYXRvci1jcmVhdGVkLScgKyBpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXV0aGVudGljYXRvci5jcmVhdGVkQXQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjU2VsZWN0QXV0aExpc3RJdGVtRmlsbENsYXNzJ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbiAgICA8ZGl2IGlkPVwia2MtZm9ybS13cmFwcGVyXCI+XG4gICAgICAgIEBpZiAocmVhbG0ucGFzc3dvcmQpIHtcbiAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLXBhc3NrZXlcIlxuICAgICAgICAgICAgICAgIG1ldGhvZD1cInBvc3RcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICAgICAgICAgICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoIXVzZXJuYW1lSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdwYXNza2V5LWF1dG9maWxsLXNlbGVjdCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCd1c2VybmFtZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImxvZ2luLnVzZXJuYW1lID8/ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImlucHV0LWVycm9yLXVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRFcnJvck1lc3NhZ2VDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbWVzc2FnZXNQZXJGaWVsZC5nZXQoJ3VzZXJuYW1lJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBpZD1cImtjLWZvcm0tcGFzc2tleS1idXR0b25cIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBpZD1cImF1dGhCdXR0b25JZFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImkxOG4ubXNnU3RyKCdwYXNza2V5LWRvQXV0aGVudGljYXRlJylcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25CbG9ja0NsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -30,7 +30,7 @@ export class LoginPasswordComponent extends ComponentReference {
|
|
|
30
30
|
provide: ComponentReference,
|
|
31
31
|
useExisting: forwardRef(() => LoginPasswordComponent)
|
|
32
32
|
}
|
|
33
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n
|
|
33
|
+
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n\n<div id=\"kc-form\">\n <div id=\"kc-form-wrapper\">\n <form\n id=\"kc-form-login\"\n method=\"post\"\n [action]=\"url?.loginAction\"\n (onSubmit)=\"isLoginButtonDisabled.set(true)\"\n >\n <div\n class=\"no-bottom-margin\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <hr />\n <label\n for=\"password\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('password') }}\n </label>\n <kc-password-wrapper passwordInputId=\"password\">\n <input\n type=\"password\"\n id=\"password\"\n name=\"password\"\n aria-describedby=\"input-error-password\"\n [kcClass]=\"'kcInputClass'\"\n [required]=\"true\"\n [autofocus]=\"true\"\n [tabindex]=\"1\"\n />\n </kc-password-wrapper>\n\n @if (messagesPerField.existsError('password')) {\n <span\n id=\"input-error-password\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.getFirstError('password') | kcSanitize: 'html'\"\n >\n </span>\n }\n </div>\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div id=\"kc-form-options\"></div>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n @if (realm.resetPasswordAllowed) {\n <span>\n <a\n tabindex=\"5\"\n [href]=\"url.loginResetCredentialsUrl\"\n >\n {{ i18n.msgStr('doForgotPassword') }}\n </a>\n </span>\n }\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <input\n type=\"submit\"\n id=\"kc-login\"\n name=\"login\"\n [value]=\"i18n.msgStr('doLogIn')\"\n [disabled]=\"isLoginButtonDisabled()\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [tabindex]=\"4\"\n />\n </div>\n </form>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginPasswordComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
@@ -39,6 +39,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
39
39
|
provide: ComponentReference,
|
|
40
40
|
useExisting: forwardRef(() => LoginPasswordComponent)
|
|
41
41
|
}
|
|
42
|
-
], template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n
|
|
42
|
+
], template: "@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let realm = kcContext.realm;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n\n<div id=\"kc-form\">\n <div id=\"kc-form-wrapper\">\n <form\n id=\"kc-form-login\"\n method=\"post\"\n [action]=\"url?.loginAction\"\n (onSubmit)=\"isLoginButtonDisabled.set(true)\"\n >\n <div\n class=\"no-bottom-margin\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <hr />\n <label\n for=\"password\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('password') }}\n </label>\n <kc-password-wrapper passwordInputId=\"password\">\n <input\n type=\"password\"\n id=\"password\"\n name=\"password\"\n aria-describedby=\"input-error-password\"\n [kcClass]=\"'kcInputClass'\"\n [required]=\"true\"\n [autofocus]=\"true\"\n [tabindex]=\"1\"\n />\n </kc-password-wrapper>\n\n @if (messagesPerField.existsError('password')) {\n <span\n id=\"input-error-password\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.getFirstError('password') | kcSanitize: 'html'\"\n >\n </span>\n }\n </div>\n <div [kcClass]=\"['kcFormGroupClass', 'kcFormSettingClass']\">\n <div id=\"kc-form-options\"></div>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n @if (realm.resetPasswordAllowed) {\n <span>\n <a\n tabindex=\"5\"\n [href]=\"url.loginResetCredentialsUrl\"\n >\n {{ i18n.msgStr('doForgotPassword') }}\n </a>\n </span>\n }\n </div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormGroupClass'\"\n >\n <input\n type=\"submit\"\n id=\"kc-login\"\n name=\"login\"\n [value]=\"i18n.msgStr('doLogIn')\"\n [disabled]=\"isLoginButtonDisabled()\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [tabindex]=\"4\"\n />\n </div>\n </form>\n </div>\n</div>\n" }]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL3BhZ2VzL2xvZ2luLXBhc3N3b3JkL2xvZ2luLXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1wYXNzd29yZC9sb2dpbi1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFvQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUF1RCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNGLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsZUFBVSxHQUFJLFNBQVMsQ0FBMkIsWUFBWSxDQUFDLENBQUM7UUFDaEUsYUFBUSxHQUFJLFNBQVMsQ0FBMkIsVUFBVSxDQUFDLENBQUM7UUFDNUQsd0JBQW1CLEdBQUksU0FBUyxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO1FBQ2xGLGlCQUFZLEdBQUcsNEJBQTRCLENBQUM7UUFFNUMsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3pDOzhHQXBCWSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnRUFQcEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3hEO1NBQ0osK1lDeEJMLHFnR0FrRkEsNENEbkVjLGdCQUFnQiwrRkFBRSx3QkFBd0Isd0ZBQUUsY0FBYzs7MkZBVzNELHNCQUFzQjtrQkFibEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxjQUFjLENBQUMsWUFDM0QsbUJBQW1CLG1CQUVaLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3hEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBzaWduYWwsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2NTYW5pdGl6ZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMva2Mtc2FuaXRpemUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvcGFzc3dvcmQtd3JhcHBlcic7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcyc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9pMThuJztcbmltcG9ydCB0eXBlIHsgS2NDb250ZXh0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgS0NfTE9HSU5fQ09OVEVYVCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgUGFzc3dvcmRXcmFwcGVyQ29tcG9uZW50LCBLY1Nhbml0aXplUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1sb2dpbi1wYXNzd29yZCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ2luUGFzc3dvcmRDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxFeHRyYWN0PEtjQ29udGV4dCwgeyBwYWdlSWQ6ICdsb2dpbi1wYXNzd29yZC5mdGwnIH0+PihLQ19MT0dJTl9DT05URVhUKTtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuXG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgZG9jdW1lbnRUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGJvZHlDbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGRpc3BsYXlSZXF1aXJlZEZpZWxkcyA9IGZhbHNlO1xuICAgIGRpc3BsYXlJbmZvID0gdHJ1ZTtcbiAgICBkaXNwbGF5TWVzc2FnZSA9IHRoaXMua2NDb250ZXh0Lm1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3Bhc3N3b3JkJyk7XG5cbiAgICBoZWFkZXJOb2RlPyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdoZWFkZXJOb2RlJyk7XG4gICAgaW5mb05vZGU/ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ2luZm9Ob2RlJyk7XG4gICAgc29jaWFsUHJvdmlkZXJzTm9kZT8gPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+Pignc29jaWFsUHJvdmlkZXJzTm9kZScpO1xuICAgIGF1dGhCdXR0b25JZCA9ICdhdXRoZW50aWNhdGVXZWJBdXRobkJ1dHRvbic7XG5cbiAgICBpc0xvZ2luQnV0dG9uRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xufVxuIiwiQGxldCB1cmwgPSBrY0NvbnRleHQudXJsO1xuQGxldCBtZXNzYWdlc1BlckZpZWxkID0ga2NDb250ZXh0Lm1lc3NhZ2VzUGVyRmllbGQ7XG5AbGV0IHJlYWxtID0ga2NDb250ZXh0LnJlYWxtO1xuXG48bmctdGVtcGxhdGUgI2hlYWRlck5vZGU+XG4gICAge3sgaTE4bi5tc2dTdHIoJ2RvTG9nSW4nKSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBpZD1cImtjLWZvcm1cIj5cbiAgICA8ZGl2IGlkPVwia2MtZm9ybS13cmFwcGVyXCI+XG4gICAgICAgIDxmb3JtXG4gICAgICAgICAgICBpZD1cImtjLWZvcm0tbG9naW5cIlxuICAgICAgICAgICAgbWV0aG9kPVwicG9zdFwiXG4gICAgICAgICAgICBbYWN0aW9uXT1cInVybD8ubG9naW5BY3Rpb25cIlxuICAgICAgICAgICAgKG9uU3VibWl0KT1cImlzTG9naW5CdXR0b25EaXNhYmxlZC5zZXQodHJ1ZSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuby1ib3R0b20tbWFyZ2luXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdwYXNzd29yZCcpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8a2MtcGFzc3dvcmQtd3JhcHBlciBwYXNzd29yZElucHV0SWQ9XCJwYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiaW5wdXQtZXJyb3ItcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2tjLXBhc3N3b3JkLXdyYXBwZXI+XG5cbiAgICAgICAgICAgICAgICBAaWYgKG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3Bhc3N3b3JkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiaW5wdXQtZXJyb3ItcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0RXJyb3JNZXNzYWdlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibWVzc2FnZXNQZXJGaWVsZC5nZXRGaXJzdEVycm9yKCdwYXNzd29yZCcpIHwga2NTYW5pdGl6ZTogJ2h0bWwnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIlsna2NGb3JtR3JvdXBDbGFzcycsICdrY0Zvcm1TZXR0aW5nQ2xhc3MnXVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJrYy1mb3JtLW9wdGlvbnNcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zV3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHJlYWxtLnJlc2V0UGFzc3dvcmRBbGxvd2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJ1cmwubG9naW5SZXNldENyZWRlbnRpYWxzVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdkb0ZvcmdvdFBhc3N3b3JkJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGlkPVwia2MtZm9ybS1idXR0b25zXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJrYy1sb2dpblwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsb2dpblwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpMThuLm1zZ1N0cignZG9Mb2dJbicpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9naW5CdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiWydrY0J1dHRvbkNsYXNzJywgJ2tjQnV0dG9uUHJpbWFyeUNsYXNzJywgJ2tjQnV0dG9uQmxvY2tDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCI0XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -27,7 +27,7 @@ export class LoginRecoveryAuthnCodeInputComponent extends ComponentReference {
|
|
|
27
27
|
provide: ComponentReference,
|
|
28
28
|
useExisting: forwardRef(() => LoginRecoveryAuthnCodeInputComponent)
|
|
29
29
|
}
|
|
30
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let recoveryAuthnCodesInputBean = kcContext.recoveryAuthnCodesInputBean;\n@let messagesPerField = kcContext.messagesPerField;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('auth-recovery-code-header') }}\n</ng-template>\n\n<
|
|
30
|
+
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let recoveryAuthnCodesInputBean = kcContext.recoveryAuthnCodesInputBean;\n@let messagesPerField = kcContext.messagesPerField;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('auth-recovery-code-header') }}\n</ng-template>\n\n<form\n id=\"kc-recovery-code-login-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"recoveryCodeInput\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('auth-recovery-code-prompt', recoveryAuthnCodesInputBean.codeNumber.toString()) }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n tabIndex=\"1\"\n id=\"recoveryCodeInput\"\n name=\"recoveryCodeInput\"\n autoComplete=\"off\"\n type=\"text\"\n autoFocus\n [attr.aria-invalid]=\"messagesPerField.existsError('recoveryCodeInput')\"\n [kcClass]=\"'kcInputClass'\"\n />\n @if (messagesPerField.existsError('recoveryCodeInput')) {\n <span\n id=\"input-error\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('recoveryCodeInput') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsWrapperClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doLogIn')\"\n />\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginRecoveryAuthnCodeInputComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
@@ -36,6 +36,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
36
36
|
provide: ComponentReference,
|
|
37
37
|
useExisting: forwardRef(() => LoginRecoveryAuthnCodeInputComponent)
|
|
38
38
|
}
|
|
39
|
-
], template: "@let url = kcContext.url;\n@let recoveryAuthnCodesInputBean = kcContext.recoveryAuthnCodesInputBean;\n@let messagesPerField = kcContext.messagesPerField;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('auth-recovery-code-header') }}\n</ng-template>\n\n<
|
|
39
|
+
], template: "@let url = kcContext.url;\n@let recoveryAuthnCodesInputBean = kcContext.recoveryAuthnCodesInputBean;\n@let messagesPerField = kcContext.messagesPerField;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('auth-recovery-code-header') }}\n</ng-template>\n\n<form\n id=\"kc-recovery-code-login-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n for=\"recoveryCodeInput\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('auth-recovery-code-prompt', recoveryAuthnCodesInputBean.codeNumber.toString()) }}\n </label>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n tabIndex=\"1\"\n id=\"recoveryCodeInput\"\n name=\"recoveryCodeInput\"\n autoComplete=\"off\"\n type=\"text\"\n autoFocus\n [attr.aria-invalid]=\"messagesPerField.existsError('recoveryCodeInput')\"\n [kcClass]=\"'kcInputClass'\"\n />\n @if (messagesPerField.existsError('recoveryCodeInput')) {\n <span\n id=\"input-error\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('recoveryCodeInput') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsWrapperClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n name=\"login\"\n id=\"kc-login\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doLogIn')\"\n />\n </div>\n </div>\n</form>\n" }]
|
|
40
40
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbG9naW4vcGFnZXMvbG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1pbnB1dC9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0L2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFvQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLG9DQUFxQyxTQUFRLGtCQUFrQjtJQWI1RTs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUF3RSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUzRixlQUFVLEdBQUksU0FBUyxDQUEyQixZQUFZLENBQUMsQ0FBQztRQUNoRSxhQUFRLEdBQUksU0FBUyxDQUEyQixVQUFVLENBQUMsQ0FBQztRQUM1RCx3QkFBbUIsR0FBSSxTQUFTLENBQTJCLHFCQUFxQixDQUFDLENBQUM7S0FDckY7OEdBakJZLG9DQUFvQztrR0FBcEMsb0NBQW9DLGlGQVBsQztZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0NBQW9DLENBQUM7YUFDdEU7U0FDSiwrWUN2QkwsaXdFQWtFQSw0Q0RwRGMsZ0JBQWdCLDBGQUFFLGNBQWM7OzJGQVdqQyxvQ0FBb0M7a0JBYmhELFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFlBQ2pDLG9DQUFvQyxtQkFFN0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQ0FBcUMsQ0FBQzt5QkFDdEU7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2NTYW5pdGl6ZVBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcGlwZXMva2Mtc2FuaXRpemUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzJztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19MT0dJTl9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2tjLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBLY1Nhbml0aXplUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy1sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblJlY292ZXJ5QXV0aG5Db2RlSW5wdXRDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luUmVjb3ZlcnlBdXRobkNvZGVJbnB1dENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAga2NDb250ZXh0ID0gaW5qZWN0PEV4dHJhY3Q8S2NDb250ZXh0LCB7IHBhZ2VJZDogJ2xvZ2luLXJlY292ZXJ5LWF1dGhuLWNvZGUtaW5wdXQuZnRsJyB9Pj4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgaTE4biA9IGluamVjdDxJMThuPihMT0dJTl9JMThOKTtcblxuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGRvY3VtZW50VGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBib2R5Q2xhc3NOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBkaXNwbGF5UmVxdWlyZWRGaWVsZHMgPSBmYWxzZTtcbiAgICBkaXNwbGF5SW5mbyA9IHRydWU7XG4gICAgZGlzcGxheU1lc3NhZ2U6IGJvb2xlYW4gPSB0aGlzLmtjQ29udGV4dC5tZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdyZWNvdmVyeUNvZGVJbnB1dCcpO1xuXG4gICAgaGVhZGVyTm9kZT8gPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlPyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdpbmZvTm9kZScpO1xuICAgIHNvY2lhbFByb3ZpZGVyc05vZGU/ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ3NvY2lhbFByb3ZpZGVyc05vZGUnKTtcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgcmVjb3ZlcnlBdXRobkNvZGVzSW5wdXRCZWFuID0ga2NDb250ZXh0LnJlY292ZXJ5QXV0aG5Db2Rlc0lucHV0QmVhbjtcbkBsZXQgbWVzc2FnZXNQZXJGaWVsZCA9IGtjQ29udGV4dC5tZXNzYWdlc1BlckZpZWxkO1xuXG48bmctdGVtcGxhdGUgI2hlYWRlck5vZGU+XG4gICAge3sgaTE4bi5tc2dTdHIoJ2F1dGgtcmVjb3ZlcnktY29kZS1oZWFkZXInKSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPGZvcm1cbiAgICBpZD1cImtjLXJlY292ZXJ5LWNvZGUtbG9naW4tZm9ybVwiXG4gICAgbWV0aG9kPVwicG9zdFwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybUdyb3VwQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJyZWNvdmVyeUNvZGVJbnB1dFwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdhdXRoLXJlY292ZXJ5LWNvZGUtcHJvbXB0JywgcmVjb3ZlcnlBdXRobkNvZGVzSW5wdXRCZWFuLmNvZGVOdW1iZXIudG9TdHJpbmcoKSkgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0V3JhcHBlckNsYXNzJ1wiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIxXCJcbiAgICAgICAgICAgICAgICBpZD1cInJlY292ZXJ5Q29kZUlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwicmVjb3ZlcnlDb2RlSW5wdXRcIlxuICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdyZWNvdmVyeUNvZGVJbnB1dCcpXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgQGlmIChtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdyZWNvdmVyeUNvZGVJbnB1dCcpKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJpbnB1dC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0RXJyb3JNZXNzYWdlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJtZXNzYWdlc1BlckZpZWxkLmdldCgncmVjb3ZlcnlDb2RlSW5wdXQnKSB8IGtjU2FuaXRpemU6ICdodG1sJ1wiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBpZD1cImtjLWZvcm0tb3B0aW9uc1wiXG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtT3B0aW9uc1dyYXBwZXJDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cIidrY0Zvcm1PcHRpb25zV3JhcHBlckNsYXNzJ1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBuYW1lPVwibG9naW5cIlxuICAgICAgICAgICAgICAgIGlkPVwia2MtbG9naW5cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpMThuLm1zZ1N0cignZG9Mb2dJbicpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -26,7 +26,7 @@ export class LoginResetOtpComponent extends ComponentReference {
|
|
|
26
26
|
provide: ComponentReference,
|
|
27
27
|
useExisting: forwardRef(() => LoginResetOtpComponent)
|
|
28
28
|
}
|
|
29
|
-
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let configuredOtpCredentials = kcContext.configuredOtpCredentials;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n
|
|
29
|
+
], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let configuredOtpCredentials = kcContext.configuredOtpCredentials;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n\n<form\n id=\"kc-otp-reset-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <div [kcClass]=\"'kcInfoAreaWrapperClass'\">\n <p id=\"kc-otp-reset-form-description\">\n {{ i18n.msgStr('otp-reset-description') }}\n </p>\n @for (otpCredential of configuredOtpCredentials.userOtpCredentials; track otpCredential; let i = $index) {\n <input\n type=\"radio\"\n name=\"selectedCredentialId\"\n [id]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListInputClass'\"\n [value]=\"otpCredential.id\"\n [defaultChecked]=\"otpCredential.id === configuredOtpCredentials.selectedCredentialId\"\n />\n <label\n for=\"kc-otp-credential-0\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n [tabIndex]=\"i\"\n >\n <span [kcClass]=\"'kcLoginOTPListItemHeaderClass'\">\n <span [kcClass]=\"'kcLoginOTPListItemIconBodyClass'\">\n <i\n aria-hidden=\"true\"\n [kcClass]=\"'kcLoginOTPListItemIconClass'\"\n ></i>\n </span>\n <span [kcClass]=\"'kcLoginOTPListItemTitleClass'\">{{ otpCredential.userLabel }}</span>\n </span>\n </label>\n }\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n id=\"kc-otp-reset-form-submit\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n </div>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginResetOtpComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
@@ -35,6 +35,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
35
35
|
provide: ComponentReference,
|
|
36
36
|
useExisting: forwardRef(() => LoginResetOtpComponent)
|
|
37
37
|
}
|
|
38
|
-
], template: "@let url = kcContext.url;\n@let configuredOtpCredentials = kcContext.configuredOtpCredentials;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n
|
|
38
|
+
], template: "@let url = kcContext.url;\n@let configuredOtpCredentials = kcContext.configuredOtpCredentials;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('doLogIn') }}\n</ng-template>\n\n<form\n id=\"kc-otp-reset-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <div [kcClass]=\"'kcInfoAreaWrapperClass'\">\n <p id=\"kc-otp-reset-form-description\">\n {{ i18n.msgStr('otp-reset-description') }}\n </p>\n @for (otpCredential of configuredOtpCredentials.userOtpCredentials; track otpCredential; let i = $index) {\n <input\n type=\"radio\"\n name=\"selectedCredentialId\"\n [id]=\"'kc-otp-credential-' + i\"\n [kcClass]=\"'kcLoginOTPListInputClass'\"\n [value]=\"otpCredential.id\"\n [defaultChecked]=\"otpCredential.id === configuredOtpCredentials.selectedCredentialId\"\n />\n <label\n for=\"kc-otp-credential-0\"\n [kcClass]=\"'kcLoginOTPListClass'\"\n [tabIndex]=\"i\"\n >\n <span [kcClass]=\"'kcLoginOTPListItemHeaderClass'\">\n <span [kcClass]=\"'kcLoginOTPListItemIconBodyClass'\">\n <i\n aria-hidden=\"true\"\n [kcClass]=\"'kcLoginOTPListItemIconClass'\"\n ></i>\n </span>\n <span [kcClass]=\"'kcLoginOTPListItemTitleClass'\">{{ otpCredential.userLabel }}</span>\n </span>\n </label>\n }\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n id=\"kc-otp-reset-form-submit\"\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n </div>\n </div>\n </div>\n </div>\n</form>\n" }]
|
|
39
39
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzZXQtb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1vdHAvbG9naW4tcmVzZXQtb3RwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1vdHAvbG9naW4tcmVzZXQtb3RwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFjSSxjQUFTLEdBQUcsTUFBTSxDQUF3RCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVGLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFLNUUsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLG1CQUFjLEdBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsZUFBVSxHQUFJLFNBQVMsQ0FBMkIsWUFBWSxDQUFDLENBQUM7UUFDaEUsYUFBUSxHQUFJLFNBQVMsQ0FBMkIsVUFBVSxDQUFDLENBQUM7UUFDNUQsd0JBQW1CLEdBQUksU0FBUyxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO0tBQ3JGOzhHQWpCWSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpRUFQcEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3hEO1NBQ0osK1lDdEJMLGc0RUEyREEsNENEOUNjLGdCQUFnQjs7MkZBV2pCLHNCQUFzQjtrQkFibEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQixvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDeEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIHR5cGUgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3Rva2Vucy91c2UtZGVmYXVsdC1jc3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzJztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgTE9HSU5fQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19MT0dJTl9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2tjLWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlXSxcbiAgICBzZWxlY3RvcjogJ2tjLWxvZ2luLXJlc2V0LW90cCcsXG4gICAgdGVtcGxhdGVVcmw6ICdsb2dpbi1yZXNldC1vdHAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2dpblJlc2V0T3RwQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpblJlc2V0T3RwQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnbG9naW4tcmVzZXQtb3RwLmZ0bCcgfT4+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG5cbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oTE9HSU5fQ0xBU1NFUyk7XG5cbiAgICBkb2N1bWVudFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgYm9keUNsYXNzTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgZGlzcGxheVJlcXVpcmVkRmllbGRzID0gZmFsc2U7XG4gICAgZGlzcGxheUluZm8gPSB0cnVlO1xuICAgIGRpc3BsYXlNZXNzYWdlOiBib29sZWFuID0gdGhpcy5rY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcigndG90cCcpO1xuXG4gICAgaGVhZGVyTm9kZT8gPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+PignaGVhZGVyTm9kZScpO1xuICAgIGluZm9Ob2RlPyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4+KCdpbmZvTm9kZScpO1xuICAgIHNvY2lhbFByb3ZpZGVyc05vZGU/ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oJ3NvY2lhbFByb3ZpZGVyc05vZGUnKTtcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgY29uZmlndXJlZE90cENyZWRlbnRpYWxzID0ga2NDb250ZXh0LmNvbmZpZ3VyZWRPdHBDcmVkZW50aWFscztcblxuPG5nLXRlbXBsYXRlICNoZWFkZXJOb2RlPlxuICAgIHt7IGkxOG4ubXNnU3RyKCdkb0xvZ0luJykgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxmb3JtXG4gICAgaWQ9XCJrYy1vdHAtcmVzZXQtZm9ybVwiXG4gICAgbWV0aG9kPVwicG9zdFwiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUNsYXNzJ1wiXG4gICAgW2FjdGlvbl09XCJ1cmwubG9naW5BY3Rpb25cIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjSW5mb0FyZWFXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8cCBpZD1cImtjLW90cC1yZXNldC1mb3JtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ290cC1yZXNldC1kZXNjcmlwdGlvbicpIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICBAZm9yIChvdHBDcmVkZW50aWFsIG9mIGNvbmZpZ3VyZWRPdHBDcmVkZW50aWFscy51c2VyT3RwQ3JlZGVudGlhbHM7IHRyYWNrIG90cENyZWRlbnRpYWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZENyZWRlbnRpYWxJZFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCIna2Mtb3RwLWNyZWRlbnRpYWwtJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NMb2dpbk9UUExpc3RJbnB1dENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvdHBDcmVkZW50aWFsLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDaGVja2VkXT1cIm90cENyZWRlbnRpYWwuaWQgPT09IGNvbmZpZ3VyZWRPdHBDcmVkZW50aWFscy5zZWxlY3RlZENyZWRlbnRpYWxJZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwia2Mtb3RwLWNyZWRlbnRpYWwtMFwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdENsYXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1IZWFkZXJDbGFzcydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1JY29uQm9keUNsYXNzJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xvZ2luT1RQTGlzdEl0ZW1JY29uQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2tjQ2xhc3NdPVwiJ2tjTG9naW5PVFBMaXN0SXRlbVRpdGxlQ2xhc3MnXCI+e3sgb3RwQ3JlZGVudGlhbC51c2VyTGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGlkPVwia2MtZm9ybS1idXR0b25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybUJ1dHRvbnNDbGFzcydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cImtjLW90cC1yZXNldC1mb3JtLXN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkJsb2NrQ2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImkxOG4ubXNnU3RyKCdkb1N1Ym1pdCcpXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|