@aws-amplify/ui-angular 3.2.15 → 3.2.17
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/bundles/aws-amplify-ui-angular.umd.js +147 -101
- package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
- package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +7 -11
- package/esm2015/lib/services/authenticator.service.js +52 -15
- package/esm2015/version.js +2 -2
- package/fesm2015/aws-amplify-ui-angular.js +57 -25
- package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
- package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +1 -2
- package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +1 -1
- package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +1 -1
- package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +1 -1
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +1 -1
- package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +1 -1
- package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +1 -1
- package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +1 -1
- package/lib/services/authenticator.service.d.ts +12 -3
- package/package.json +2 -2
- package/version.d.ts +1 -1
package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { Component, ContentChildren, Input, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { authenticatorTextUtil, configureComponent,
|
|
2
|
+
import { authenticatorTextUtil, configureComponent, } from '@aws-amplify/ui';
|
|
4
3
|
import { AmplifySlotDirective } from '../../../../utilities/amplify-slot/amplify-slot.directive';
|
|
5
4
|
import { CustomComponentsService } from '../../../../services/custom-components.service';
|
|
6
5
|
import { VERSION } from '../../../../../version';
|
|
@@ -40,10 +39,9 @@ export class AuthenticatorComponent {
|
|
|
40
39
|
packageName: '@aws-amplify/ui-angular',
|
|
41
40
|
version: VERSION,
|
|
42
41
|
});
|
|
43
|
-
const {
|
|
44
|
-
this.
|
|
45
|
-
|
|
46
|
-
/**
|
|
42
|
+
const { initializeMachine } = this.authenticator;
|
|
43
|
+
this.authenticator.hubSubject.subscribe(() => {
|
|
44
|
+
/*
|
|
47
45
|
* Hub events aren't properly caught by Angular, because they are
|
|
48
46
|
* synchronous events. Angular tracks async network events and
|
|
49
47
|
* html events, but not synchronous events like hub.
|
|
@@ -51,7 +49,7 @@ export class AuthenticatorComponent {
|
|
|
51
49
|
* On any notable hub events, we run change detection manually.
|
|
52
50
|
*/
|
|
53
51
|
this.changeDetector.detectChanges();
|
|
54
|
-
|
|
52
|
+
/*
|
|
55
53
|
* Hub events that we handle can lead to multiple state changes:
|
|
56
54
|
* e.g. `authenticated` -> `signOut` -> initialState.
|
|
57
55
|
*
|
|
@@ -60,7 +58,7 @@ export class AuthenticatorComponent {
|
|
|
60
58
|
* to true to until we reach initial state.
|
|
61
59
|
*/
|
|
62
60
|
this.isHandlingHubEvent = true;
|
|
63
|
-
})
|
|
61
|
+
});
|
|
64
62
|
/**
|
|
65
63
|
* Subscribes to state machine changes and sends INIT event
|
|
66
64
|
* once machine reaches 'setup' state.
|
|
@@ -103,8 +101,6 @@ export class AuthenticatorComponent {
|
|
|
103
101
|
ngOnDestroy() {
|
|
104
102
|
if (this.unsubscribeMachine)
|
|
105
103
|
this.unsubscribeMachine();
|
|
106
|
-
if (this.unsubscribeHub)
|
|
107
|
-
this.unsubscribeHub();
|
|
108
104
|
}
|
|
109
105
|
/**
|
|
110
106
|
* Class Functions
|
|
@@ -182,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
182
178
|
type: ContentChildren,
|
|
183
179
|
args: [AmplifySlotDirective]
|
|
184
180
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9hdXRoZW50aWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssRUFLTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGVBQWUsR0FFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQztBQVFyRSxNQUFNLE9BQU8sc0JBQXNCO0lBd0JqQyxZQUNVLGFBQW1DLEVBQ25DLGNBQXVDLEVBQ3ZDLGNBQWlDO1FBRmpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUI7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBZG5DLHlCQUFvQixHQUFvQyxJQUFJ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O2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7aUxBSVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0Usb0JBQW9CO3NCQUQzQixlQUFlO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMsXG4gIGF1dGhlbnRpY2F0b3JUZXh0VXRpbCxcbiAgY29uZmlndXJlQ29tcG9uZW50LFxuICBkZWZhdWx0QXV0aEh1YkhhbmRsZXIsXG4gIGxpc3RlblRvQXV0aEh1YixcbiAgU29jaWFsUHJvdmlkZXIsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBBbXBsaWZ5U2xvdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9hbXBsaWZ5LXNsb3QvYW1wbGlmeS1zbG90LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDdXN0b21Db21wb25lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2N1c3RvbS1jb21wb25lbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3ZlcnNpb24nO1xuXG5jb25zdCB7IGdldFNpZ25JblRhYlRleHQsIGdldFNpZ25VcFRhYlRleHQgfSA9IGF1dGhlbnRpY2F0b3JUZXh0VXRpbDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1hdXRoZW50aWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtDdXN0b21Db21wb25lbnRzU2VydmljZV0sIC8vIG1ha2Ugc3VyZSBjdXN0b20gY29tcG9uZW50cyBhcmUgc2NvcGVkIHRvIHRoaXMgYXV0aGVudGljYXRvciBvbmx5XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBmb3JtRmllbGRzOiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnNbJ2Zvcm1GaWVsZHMnXTtcbiAgQElucHV0KCkgaW5pdGlhbFN0YXRlOiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnNbJ2luaXRpYWxTdGF0ZSddO1xuICBASW5wdXQoKSBsb2dpbk1lY2hhbmlzbXM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snbG9naW5NZWNoYW5pc21zJ107XG4gIEBJbnB1dCgpIHNlcnZpY2VzOiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnNbJ3NlcnZpY2VzJ107XG4gIEBJbnB1dCgpIHNpZ25VcEF0dHJpYnV0ZXM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snc2lnblVwQXR0cmlidXRlcyddO1xuICBASW5wdXQoKSBzb2NpYWxQcm92aWRlcnM6IFNvY2lhbFByb3ZpZGVyW107XG4gIEBJbnB1dCgpIHZhcmlhdGlvbjogJ2RlZmF1bHQnIHwgJ21vZGFsJztcbiAgQElucHV0KCkgaGlkZVNpZ25VcDogYm9vbGVhbjtcblxuICBAQ29udGVudENoaWxkcmVuKEFtcGxpZnlTbG90RGlyZWN0aXZlKVxuICBwcml2YXRlIGN1c3RvbUNvbXBvbmVudFF1ZXJ5OiBRdWVyeUxpc3Q8QW1wbGlmeVNsb3REaXJlY3RpdmU+ID0gbnVsbDtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBzaWduSW5UaXRsZSA9IGdldFNpZ25JblRhYlRleHQoKTtcbiAgcHVibGljIHNpZ25VcFRpdGxlID0gZ2V0U2lnblVwVGFiVGV4dCgpO1xuXG4gIHByaXZhdGUgaGFzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0hhbmRsaW5nSHViRXZlbnQgPSBmYWxzZTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZU1hY2hpbmU6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVIdWI6IFJldHVyblR5cGU8dHlwZW9mIGxpc3RlblRvQXV0aEh1Yj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDdXN0b21Db21wb25lbnRzU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qge1xuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbG9naW5NZWNoYW5pc21zLFxuICAgICAgc2VydmljZXMsXG4gICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgICAgZm9ybUZpZWxkcyxcbiAgICB9ID0gdGhpcztcblxuICAgIGNvbmZpZ3VyZUNvbXBvbmVudCh7XG4gICAgICBwYWNrYWdlTmFtZTogJ0Bhd3MtYW1wbGlmeS91aS1hbmd1bGFyJyxcbiAgICAgIHZlcnNpb246IFZFUlNJT04sXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGF1dGhTZXJ2aWNlLCBpbml0aWFsaXplTWFjaGluZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgdGhpcy51bnN1YnNjcmliZUh1YiA9IGxpc3RlblRvQXV0aEh1YihcbiAgICAgIGF1dGhTZXJ2aWNlLFxuICAgICAgYXN5bmMgKGRhdGEsIHNlcnZpY2UpID0+IHtcbiAgICAgICAgYXdhaXQgZGVmYXVsdEF1dGhIdWJIYW5kbGVyKGRhdGEsIHNlcnZpY2UpO1xuICAgICAgICAvKipcbiAgICAgICAgICogSHViIGV2ZW50cyBhcmVuJ3QgcHJvcGVybHkgY2F1Z2h0IGJ5IEFuZ3VsYXIsIGJlY2F1c2UgdGhleSBhcmVcbiAgICAgICAgICogc3luY2hyb25vdXMgZXZlbnRzLiBBbmd1bGFyIHRyYWNrcyBhc3luYyBuZXR3b3JrIGV2ZW50cyBhbmRcbiAgICAgICAgICogaHRtbCBldmVudHMsIGJ1dCBub3Qgc3luY2hyb25vdXMgZXZlbnRzIGxpa2UgaHViLlxuICAgICAgICAgKlxuICAgICAgICAgKiBPbiBhbnkgbm90YWJsZSBodWIgZXZlbnRzLCB3ZSBydW4gY2hhbmdlIGRldGVjdGlvbiBtYW51YWxseS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBIdWIgZXZlbnRzIHRoYXQgd2UgaGFuZGxlIGNhbiBsZWFkIHRvIG11bHRpcGxlIHN0YXRlIGNoYW5nZXM6XG4gICAgICAgICAqIGUuZy4gYGF1dGhlbnRpY2F0ZWRgIC0+IGBzaWduT3V0YCAtPiBpbml0aWFsU3RhdGUuXG4gICAgICAgICAqXG4gICAgICAgICAqIFdlIHdhbnQgdG8gZW5zdXJlIGNoYW5nZSBkZXRlY3Rpb24gcnVucyBhbGwgdGhlIHdheSwgdW50aWxcbiAgICAgICAgICogd2UgcmVhY2ggYmFjayB0byB0aGUgaW5pdGlhbCBzdGF0ZS4gU2V0dGluZyB0aGUgYmVsb3cgZmxhZ1xuICAgICAgICAgKiB0byB0cnVlIHRvIHVudGlsIHdlIHJlYWNoIGluaXRpYWwgc3RhdGUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmlzSGFuZGxpbmdIdWJFdmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXMgdG8gc3RhdGUgbWFjaGluZSBjaGFuZ2VzIGFuZCBzZW5kcyBJTklUIGV2ZW50XG4gICAgICogb25jZSBtYWNoaW5lIHJlYWNoZXMgJ3NldHVwJyBzdGF0ZS5cbiAgICAgKi9cbiAgICB0aGlzLnVuc3Vic2NyaWJlTWFjaGluZSA9IHRoaXMuYXV0aGVudGljYXRvci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgICBpZiAodGhpcy5pc0hhbmRsaW5nSHViRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlV2l0aERlZmF1bHQgPSBpbml0aWFsU3RhdGUgPz8gJ3NpZ25Jbic7XG5cbiAgICAgICAgLy8gV2UgY2FuIHN0b3AgbWFudWFsIGNoYW5nZSBkZXRlY3Rpb24gaWYgd2UncmUgYmFjayB0byB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgICAgICBpZiAocm91dGUgPT09IGluaXRpYWxTdGF0ZVdpdGhEZWZhdWx0KSB7XG4gICAgICAgICAgdGhpcy5pc0hhbmRsaW5nSHViRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuaGFzSW5pdGlhbGl6ZWQgJiYgcm91dGUgPT09ICdzZXR1cCcpIHtcbiAgICAgICAgaW5pdGlhbGl6ZU1hY2hpbmUoe1xuICAgICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgICAgICAgc2VydmljZXMsXG4gICAgICAgICAgc2lnblVwQXR0cmlidXRlcyxcbiAgICAgICAgICBzb2NpYWxQcm92aWRlcnMsXG4gICAgICAgICAgZm9ybUZpZWxkcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oYXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSkudW5zdWJzY3JpYmU7XG5cbiAgICAvKipcbiAgICAgKiBoYW5kbGluZyB0cmFuc2xhdGlvbnMgYWZ0ZXIgY29udGVudCBpbml0LCBiZWNhdXNlIGF1dGhlbnRpY2F0b3IgYW5kIGl0c1xuICAgICAqIHRyYW5zbGF0aW9ucyBtaWdodCBiZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIG1haW4gYXBwJ3MgYG5nT25Jbml0YCBpcyBydW4uXG4gICAgICovXG4gICAgdGhpcy5zaWduSW5UaXRsZSA9IGdldFNpZ25JblRhYlRleHQoKTtcbiAgICB0aGlzLnNpZ25VcFRpdGxlID0gZ2V0U2lnblVwVGFiVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBNZXRob2RzXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0U2VydmljZS5jdXN0b21Db21wb25lbnRzID0gdGhpcy5tYXBDdXN0b21Db21wb25lbnRzKFxuICAgICAgdGhpcy5jdXN0b21Db21wb25lbnRRdWVyeVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZU1hY2hpbmUpIHRoaXMudW5zdWJzY3JpYmVNYWNoaW5lKCk7XG4gICAgaWYgKHRoaXMudW5zdWJzY3JpYmVIdWIpIHRoaXMudW5zdWJzY3JpYmVIdWIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFzcyBGdW5jdGlvbnNcbiAgICovXG5cbiAgLy8gY29udGV4dCBwYXNzZWQgdG8gXCJhdXRoZW50aWNhdGVkXCIgc2xvdFxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm91dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhYkNoYW5nZSgpIHtcbiAgICBjb25zdCByb3V0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5yb3V0ZTtcbiAgICBpZiAocm91dGUgPT09ICdzaWduSW4nKSB7XG4gICAgICB0aGlzLmF1dGhlbnRpY2F0b3IudG9TaWduVXAoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdG9yLnRvU2lnbkluKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1RhYnMoKSB7XG4gICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuICAgIHJldHVybiByb3V0ZSA9PT0gJ3NpZ25JbicgfHwgcm91dGUgPT09ICdzaWduVXAnO1xuICB9XG5cbiAgcHVibGljIGhhc1JvdXRlQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHsgcm91dGUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcblxuICAgIHN3aXRjaCAocm91dGUpIHtcbiAgICAgIGNhc2UgJ2F1dGhlbnRpY2F0ZWQnOlxuICAgICAgY2FzZSAnaWRsZSc6XG4gICAgICBjYXNlICdzZXR1cCc6XG4gICAgICBjYXNlICdzaWduT3V0JzpcbiAgICAgIGNhc2UgJ3RyYW5zaXRpb24nOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcEN1c3RvbUNvbXBvbmVudHMoXG4gICAgY29tcG9uZW50UXVlcnk6IFF1ZXJ5TGlzdDxBbXBsaWZ5U2xvdERpcmVjdGl2ZT5cbiAgKTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4ge1xuICAgIGlmICghY29tcG9uZW50UXVlcnkpIHJldHVybiB7fTtcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IHt9O1xuICAgIGNvbXBvbmVudFF1ZXJ5LmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgY3VzdG9tQ29tcG9uZW50c1tjb21wb25lbnQubmFtZV0gPSBjb21wb25lbnQudGVtcGxhdGU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3VzdG9tQ29tcG9uZW50cztcbiAgfVxufVxuIiwiPGRpdlxuICBkYXRhLWFtcGxpZnktYXV0aGVudGljYXRvclxuICBbYXR0ci5kYXRhLXZhcmlhdGlvbl09XCJ2YXJpYXRpb25cIlxuICAqbmdJZj1cImhhc1JvdXRlQ29tcG9uZW50KClcIlxuPlxuICA8ZGl2IGRhdGEtYW1wbGlmeS1jb250YWluZXI+XG4gICAgPGFtcGxpZnktc2xvdCBuYW1lPVwiaGVhZGVyXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvYW1wbGlmeS1zbG90PlxuICAgIDxkaXZcbiAgICAgIGRhdGEtYW1wbGlmeS1yb3V0ZXJcbiAgICAgIFthdHRyLmRhdGEtYW1wbGlmeS1yb3V0ZXItY29udGVudF09XCJoYXNUYWJzKCkgPyB1bmRlZmluZWQgOiAnJ1wiXG4gICAgPlxuICAgICAgPGFtcGxpZnktdGFic1xuICAgICAgICAodGFiQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKClcIlxuICAgICAgICAqbmdJZj1cIihyb3V0ZSA9PT0gJ3NpZ25JbicgfHwgcm91dGUgPT09ICdzaWduVXAnKSAmJiAhaGlkZVNpZ25VcFwiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXRhYi1pdGVtXG4gICAgICAgICAgW3RpdGxlXT1cInNpZ25JblRpdGxlXCJcbiAgICAgICAgICBbYWN0aXZlXT1cInJvdXRlID09PSAnc2lnbkluJ1wiXG4gICAgICAgICAgZGF0YS1hbXBsaWZ5LXJvdXRlci1jb250ZW50XG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIHNpZ25JbiBjb21wb25lbnQgLS0+XG4gICAgICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICAgICAgbmFtZT1cInNpZ24taW5cIlxuICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnc2lnbkluJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGFtcGxpZnktc2lnbi1pbj48L2FtcGxpZnktc2lnbi1pbj5cbiAgICAgICAgICA8L2FtcGxpZnktc2xvdD5cbiAgICAgICAgPC9hbXBsaWZ5LXRhYi1pdGVtPlxuICAgICAgICA8YW1wbGlmeS10YWItaXRlbVxuICAgICAgICAgIFt0aXRsZV09XCJzaWduVXBUaXRsZVwiXG4gICAgICAgICAgW2FjdGl2ZV09XCJyb3V0ZSA9PT0gJ3NpZ25VcCdcIlxuICAgICAgICAgIGRhdGEtYW1wbGlmeS1yb3V0ZXItY29udGVudFxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBzaWduVXAgY29tcG9uZW50IC0tPlxuICAgICAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgICAgIG5hbWU9XCJzaWduLXVwXCJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ3NpZ25VcCdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhbXBsaWZ5LXNpZ24tdXA+PC9hbXBsaWZ5LXNpZ24tdXA+XG4gICAgICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG4gICAgICAgIDwvYW1wbGlmeS10YWItaXRlbT5cbiAgICAgIDwvYW1wbGlmeS10YWJzPlxuXG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJzaWduLWluXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdzaWduSW4nICYmIGhpZGVTaWduVXBcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1zaWduLWluPjwvYW1wbGlmeS1zaWduLWluPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gY29uZmlybVNpZ25VcCBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwiY29uZmlybS1zaWduLXVwXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtU2lnblVwJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LWNvbmZpcm0tc2lnbi11cD48L2FtcGxpZnktY29uZmlybS1zaWduLXVwPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gY29uZmlybVNpZ25JbiBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwiY29uZmlybS1zaWduLWluXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtU2lnbkluJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LWNvbmZpcm0tc2lnbi1pbj48L2FtcGxpZnktY29uZmlybS1zaWduLWluPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gc2V0dXBUb3RwIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJzZXR1cC10b3RwXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdzZXR1cFRPVFAnXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktc2V0dXAtdG90cD48L2FtcGxpZnktc2V0dXAtdG90cD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGZvcmNlTmV3UGFzc3dvcmQgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImZvcmNlLW5ldy1wYXNzd29yZFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnZm9yY2VOZXdQYXNzd29yZCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQ+PC9hbXBsaWZ5LWZvcmNlLW5ldy1wYXNzd29yZD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIHJlc2V0UGFzc3dvcmQgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cInJlc2V0LXBhc3N3b3JkXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdyZXNldFBhc3N3b3JkJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXJlc2V0LXBhc3N3b3JkPjwvYW1wbGlmeS1yZXNldC1wYXNzd29yZD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1SZXNldFBhc3N3b3JkIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJjb25maXJtLXJlc2V0LXBhc3N3b3JkXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtUmVzZXRQYXNzd29yZCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkPjwvYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gdmVyaWZ5VXNlciBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwidmVyaWZ5LXVzZXJcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ3ZlcmlmeVVzZXInXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktdmVyaWZ5LXVzZXI+PC9hbXBsaWZ5LXZlcmlmeS11c2VyPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gY29uZmlybVZlcmlmeVVzZXIgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImNvbmZpcm0tdmVyaWZ5LXVzZXJcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ2NvbmZpcm1WZXJpZnlVc2VyJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXI+PC9hbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXI+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cbiAgICA8L2Rpdj5cblxuICAgIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImZvb3RlclwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FtcGxpZnktc2xvdD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBzaWduZWRJbiBjb250ZW50IGlzIHJlbmRlcmVkIG91dHNpZGUgYXV0aGVudGljYXRvciBzbyBpdCdzIG5vdCBzdHlsZWQgYnkgYXV0aGVudGljYXRvciAtLT5cbjxhbXBsaWZ5LXNsb3RcbiAgbmFtZT1cImF1dGhlbnRpY2F0ZWRcIlxuICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgKm5nSWY9XCJyb3V0ZSA9PT0gJ2F1dGhlbnRpY2F0ZWQnXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9hbXBsaWZ5LXNsb3Q+XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9hdXRoZW50aWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUtMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLGtCQUFrQixHQUVuQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLHFCQUFxQixDQUFDO0FBUXJFLE1BQU0sT0FBTyxzQkFBc0I7SUF1QmpDLFlBQ1UsYUFBbUMsRUFDbkMsY0FBdUMsRUFDdkMsY0FBaUM7UUFGakMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQUN2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFibkMseUJBQW9CLEdBQW9DLElBQUksQ0FBQztRQUVyRSxtQkFBbUI7UUFDWixn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QkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0Usb0JBQW9CO3NCQUQzQixlQUFlO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMsXG4gIGF1dGhlbnRpY2F0b3JUZXh0VXRpbCxcbiAgY29uZmlndXJlQ29tcG9uZW50LFxuICBTb2NpYWxQcm92aWRlcixcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEFtcGxpZnlTbG90RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2FtcGxpZnktc2xvdC9hbXBsaWZ5LXNsb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvY3VzdG9tLWNvbXBvbmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdmVyc2lvbic7XG5cbmNvbnN0IHsgZ2V0U2lnbkluVGFiVGV4dCwgZ2V0U2lnblVwVGFiVGV4dCB9ID0gYXV0aGVudGljYXRvclRleHRVdGlsO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWF1dGhlbnRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aGVudGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW0N1c3RvbUNvbXBvbmVudHNTZXJ2aWNlXSwgLy8gbWFrZSBzdXJlIGN1c3RvbSBjb21wb25lbnRzIGFyZSBzY29wZWQgdG8gdGhpcyBhdXRoZW50aWNhdG9yIG9ubHlcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIGZvcm1GaWVsZHM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snZm9ybUZpZWxkcyddO1xuICBASW5wdXQoKSBpbml0aWFsU3RhdGU6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snaW5pdGlhbFN0YXRlJ107XG4gIEBJbnB1dCgpIGxvZ2luTWVjaGFuaXNtczogQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zWydsb2dpbk1lY2hhbmlzbXMnXTtcbiAgQElucHV0KCkgc2VydmljZXM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snc2VydmljZXMnXTtcbiAgQElucHV0KCkgc2lnblVwQXR0cmlidXRlczogQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zWydzaWduVXBBdHRyaWJ1dGVzJ107XG4gIEBJbnB1dCgpIHNvY2lhbFByb3ZpZGVyczogU29jaWFsUHJvdmlkZXJbXTtcbiAgQElucHV0KCkgdmFyaWF0aW9uOiAnZGVmYXVsdCcgfCAnbW9kYWwnO1xuICBASW5wdXQoKSBoaWRlU2lnblVwOiBib29sZWFuO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQW1wbGlmeVNsb3REaXJlY3RpdmUpXG4gIHByaXZhdGUgY3VzdG9tQ29tcG9uZW50UXVlcnk6IFF1ZXJ5TGlzdDxBbXBsaWZ5U2xvdERpcmVjdGl2ZT4gPSBudWxsO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIHNpZ25JblRpdGxlID0gZ2V0U2lnbkluVGFiVGV4dCgpO1xuICBwdWJsaWMgc2lnblVwVGl0bGUgPSBnZXRTaWduVXBUYWJUZXh0KCk7XG5cbiAgcHJpdmF0ZSBoYXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzSGFuZGxpbmdIdWJFdmVudCA9IGZhbHNlO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlTWFjaGluZTogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7XG4gICAgICBpbml0aWFsU3RhdGUsXG4gICAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgICBzZXJ2aWNlcyxcbiAgICAgIHNpZ25VcEF0dHJpYnV0ZXMsXG4gICAgICBzb2NpYWxQcm92aWRlcnMsXG4gICAgICBmb3JtRmllbGRzLFxuICAgIH0gPSB0aGlzO1xuXG4gICAgY29uZmlndXJlQ29tcG9uZW50KHtcbiAgICAgIHBhY2thZ2VOYW1lOiAnQGF3cy1hbXBsaWZ5L3VpLWFuZ3VsYXInLFxuICAgICAgdmVyc2lvbjogVkVSU0lPTixcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgaW5pdGlhbGl6ZU1hY2hpbmUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcblxuICAgIHRoaXMuYXV0aGVudGljYXRvci5odWJTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvKlxuICAgICAgICogSHViIGV2ZW50cyBhcmVuJ3QgcHJvcGVybHkgY2F1Z2h0IGJ5IEFuZ3VsYXIsIGJlY2F1c2UgdGhleSBhcmVcbiAgICAgICAqIHN5bmNocm9ub3VzIGV2ZW50cy4gQW5ndWxhciB0cmFja3MgYXN5bmMgbmV0d29yayBldmVudHMgYW5kXG4gICAgICAgKiBodG1sIGV2ZW50cywgYnV0IG5vdCBzeW5jaHJvbm91cyBldmVudHMgbGlrZSBodWIuXG4gICAgICAgKlxuICAgICAgICogT24gYW55IG5vdGFibGUgaHViIGV2ZW50cywgd2UgcnVuIGNoYW5nZSBkZXRlY3Rpb24gbWFudWFsbHkuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAvKlxuICAgICAgICogSHViIGV2ZW50cyB0aGF0IHdlIGhhbmRsZSBjYW4gbGVhZCB0byBtdWx0aXBsZSBzdGF0ZSBjaGFuZ2VzOlxuICAgICAgICogZS5nLiBgYXV0aGVudGljYXRlZGAgLT4gYHNpZ25PdXRgIC0+IGluaXRpYWxTdGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBXZSB3YW50IHRvIGVuc3VyZSBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMgYWxsIHRoZSB3YXksIHVudGlsXG4gICAgICAgKiB3ZSByZWFjaCBiYWNrIHRvIHRoZSBpbml0aWFsIHN0YXRlLiBTZXR0aW5nIHRoZSBiZWxvdyBmbGFnXG4gICAgICAgKiB0byB0cnVlIHRvIHVudGlsIHdlIHJlYWNoIGluaXRpYWwgc3RhdGUuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuaXNIYW5kbGluZ0h1YkV2ZW50ID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXMgdG8gc3RhdGUgbWFjaGluZSBjaGFuZ2VzIGFuZCBzZW5kcyBJTklUIGV2ZW50XG4gICAgICogb25jZSBtYWNoaW5lIHJlYWNoZXMgJ3NldHVwJyBzdGF0ZS5cbiAgICAgKi9cbiAgICB0aGlzLnVuc3Vic2NyaWJlTWFjaGluZSA9IHRoaXMuYXV0aGVudGljYXRvci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgICBpZiAodGhpcy5pc0hhbmRsaW5nSHViRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlV2l0aERlZmF1bHQgPSBpbml0aWFsU3RhdGUgPz8gJ3NpZ25Jbic7XG5cbiAgICAgICAgLy8gV2UgY2FuIHN0b3AgbWFudWFsIGNoYW5nZSBkZXRlY3Rpb24gaWYgd2UncmUgYmFjayB0byB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgICAgICBpZiAocm91dGUgPT09IGluaXRpYWxTdGF0ZVdpdGhEZWZhdWx0KSB7XG4gICAgICAgICAgdGhpcy5pc0hhbmRsaW5nSHViRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuaGFzSW5pdGlhbGl6ZWQgJiYgcm91dGUgPT09ICdzZXR1cCcpIHtcbiAgICAgICAgaW5pdGlhbGl6ZU1hY2hpbmUoe1xuICAgICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgICAgICAgc2VydmljZXMsXG4gICAgICAgICAgc2lnblVwQXR0cmlidXRlcyxcbiAgICAgICAgICBzb2NpYWxQcm92aWRlcnMsXG4gICAgICAgICAgZm9ybUZpZWxkcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oYXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSkudW5zdWJzY3JpYmU7XG5cbiAgICAvKipcbiAgICAgKiBoYW5kbGluZyB0cmFuc2xhdGlvbnMgYWZ0ZXIgY29udGVudCBpbml0LCBiZWNhdXNlIGF1dGhlbnRpY2F0b3IgYW5kIGl0c1xuICAgICAqIHRyYW5zbGF0aW9ucyBtaWdodCBiZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIG1haW4gYXBwJ3MgYG5nT25Jbml0YCBpcyBydW4uXG4gICAgICovXG4gICAgdGhpcy5zaWduSW5UaXRsZSA9IGdldFNpZ25JblRhYlRleHQoKTtcbiAgICB0aGlzLnNpZ25VcFRpdGxlID0gZ2V0U2lnblVwVGFiVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBNZXRob2RzXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0U2VydmljZS5jdXN0b21Db21wb25lbnRzID0gdGhpcy5tYXBDdXN0b21Db21wb25lbnRzKFxuICAgICAgdGhpcy5jdXN0b21Db21wb25lbnRRdWVyeVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZU1hY2hpbmUpIHRoaXMudW5zdWJzY3JpYmVNYWNoaW5lKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xhc3MgRnVuY3Rpb25zXG4gICAqL1xuXG4gIC8vIGNvbnRleHQgcGFzc2VkIHRvIFwiYXV0aGVudGljYXRlZFwiIHNsb3RcbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iuc2xvdENvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iucm91dGU7XG4gIH1cblxuICBwdWJsaWMgb25UYWJDaGFuZ2UoKSB7XG4gICAgY29uc3Qgcm91dGUgPSB0aGlzLmF1dGhlbnRpY2F0b3Iucm91dGU7XG4gICAgaWYgKHJvdXRlID09PSAnc2lnbkluJykge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdG9yLnRvU2lnblVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRvci50b1NpZ25JbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNUYWJzKCkge1xuICAgIGNvbnN0IHsgcm91dGUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcbiAgICByZXR1cm4gcm91dGUgPT09ICdzaWduSW4nIHx8IHJvdXRlID09PSAnc2lnblVwJztcbiAgfVxuXG4gIHB1YmxpYyBoYXNSb3V0ZUNvbXBvbmVudCgpIHtcbiAgICBjb25zdCB7IHJvdXRlIH0gPSB0aGlzLmF1dGhlbnRpY2F0b3I7XG5cbiAgICBzd2l0Y2ggKHJvdXRlKSB7XG4gICAgICBjYXNlICdhdXRoZW50aWNhdGVkJzpcbiAgICAgIGNhc2UgJ2lkbGUnOlxuICAgICAgY2FzZSAnc2V0dXAnOlxuICAgICAgY2FzZSAnc2lnbk91dCc6XG4gICAgICBjYXNlICd0cmFuc2l0aW9uJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBDdXN0b21Db21wb25lbnRzKFxuICAgIGNvbXBvbmVudFF1ZXJ5OiBRdWVyeUxpc3Q8QW1wbGlmeVNsb3REaXJlY3RpdmU+XG4gICk6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+IHtcbiAgICBpZiAoIWNvbXBvbmVudFF1ZXJ5KSByZXR1cm4ge307XG4gICAgY29uc3QgY3VzdG9tQ29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSB7fTtcbiAgICBjb21wb25lbnRRdWVyeS5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgIGN1c3RvbUNvbXBvbmVudHNbY29tcG9uZW50Lm5hbWVdID0gY29tcG9uZW50LnRlbXBsYXRlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGN1c3RvbUNvbXBvbmVudHM7XG4gIH1cbn1cbiIsIjxkaXZcbiAgZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3JcbiAgW2F0dHIuZGF0YS12YXJpYXRpb25dPVwidmFyaWF0aW9uXCJcbiAgKm5nSWY9XCJoYXNSb3V0ZUNvbXBvbmVudCgpXCJcbj5cbiAgPGRpdiBkYXRhLWFtcGxpZnktY29udGFpbmVyPlxuICAgIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImhlYWRlclwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FtcGxpZnktc2xvdD5cbiAgICA8ZGl2XG4gICAgICBkYXRhLWFtcGxpZnktcm91dGVyXG4gICAgICBbYXR0ci5kYXRhLWFtcGxpZnktcm91dGVyLWNvbnRlbnRdPVwiaGFzVGFicygpID8gdW5kZWZpbmVkIDogJydcIlxuICAgID5cbiAgICAgIDxhbXBsaWZ5LXRhYnNcbiAgICAgICAgKHRhYkNoYW5nZSk9XCJvblRhYkNoYW5nZSgpXCJcbiAgICAgICAgKm5nSWY9XCIocm91dGUgPT09ICdzaWduSW4nIHx8IHJvdXRlID09PSAnc2lnblVwJykgJiYgIWhpZGVTaWduVXBcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS10YWItaXRlbVxuICAgICAgICAgIFt0aXRsZV09XCJzaWduSW5UaXRsZVwiXG4gICAgICAgICAgW2FjdGl2ZV09XCJyb3V0ZSA9PT0gJ3NpZ25JbidcIlxuICAgICAgICAgIGRhdGEtYW1wbGlmeS1yb3V0ZXItY29udGVudFxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBzaWduSW4gY29tcG9uZW50IC0tPlxuICAgICAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgICAgIG5hbWU9XCJzaWduLWluXCJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ3NpZ25JbidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhbXBsaWZ5LXNpZ24taW4+PC9hbXBsaWZ5LXNpZ24taW4+XG4gICAgICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG4gICAgICAgIDwvYW1wbGlmeS10YWItaXRlbT5cbiAgICAgICAgPGFtcGxpZnktdGFiLWl0ZW1cbiAgICAgICAgICBbdGl0bGVdPVwic2lnblVwVGl0bGVcIlxuICAgICAgICAgIFthY3RpdmVdPVwicm91dGUgPT09ICdzaWduVXAnXCJcbiAgICAgICAgICBkYXRhLWFtcGxpZnktcm91dGVyLWNvbnRlbnRcbiAgICAgICAgPlxuICAgICAgICAgIDwhLS0gc2lnblVwIGNvbXBvbmVudCAtLT5cbiAgICAgICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgICAgICBuYW1lPVwic2lnbi11cFwiXG4gICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdzaWduVXAnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YW1wbGlmeS1zaWduLXVwPjwvYW1wbGlmeS1zaWduLXVwPlxuICAgICAgICAgIDwvYW1wbGlmeS1zbG90PlxuICAgICAgICA8L2FtcGxpZnktdGFiLWl0ZW0+XG4gICAgICA8L2FtcGxpZnktdGFicz5cblxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwic2lnbi1pblwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnc2lnbkluJyAmJiBoaWRlU2lnblVwXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktc2lnbi1pbj48L2FtcGxpZnktc2lnbi1pbj5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1TaWduVXAgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImNvbmZpcm0tc2lnbi11cFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnY29uZmlybVNpZ25VcCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXNpZ24tdXA+PC9hbXBsaWZ5LWNvbmZpcm0tc2lnbi11cD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1TaWduSW4gY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImNvbmZpcm0tc2lnbi1pblwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnY29uZmlybVNpZ25JbidcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXNpZ24taW4+PC9hbXBsaWZ5LWNvbmZpcm0tc2lnbi1pbj5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIHNldHVwVG90cCBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwic2V0dXAtdG90cFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnc2V0dXBUT1RQJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXNldHVwLXRvdHA+PC9hbXBsaWZ5LXNldHVwLXRvdHA+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgICAgPCEtLSBmb3JjZU5ld1Bhc3N3b3JkIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJmb3JjZS1uZXctcGFzc3dvcmRcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ2ZvcmNlTmV3UGFzc3dvcmQnXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkPjwvYW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQ+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgICAgPCEtLSByZXNldFBhc3N3b3JkIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJyZXNldC1wYXNzd29yZFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAncmVzZXRQYXNzd29yZCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1yZXNldC1wYXNzd29yZD48L2FtcGxpZnktcmVzZXQtcGFzc3dvcmQ+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgICAgPCEtLSBjb25maXJtUmVzZXRQYXNzd29yZCBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwiY29uZmlybS1yZXNldC1wYXNzd29yZFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnY29uZmlybVJlc2V0UGFzc3dvcmQnXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZD48L2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIHZlcmlmeVVzZXIgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cInZlcmlmeS11c2VyXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICd2ZXJpZnlVc2VyJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXZlcmlmeS11c2VyPjwvYW1wbGlmeS12ZXJpZnktdXNlcj5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1WZXJpZnlVc2VyIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJjb25maXJtLXZlcmlmeS11c2VyXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtVmVyaWZ5VXNlcidcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyPjwvYW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8YW1wbGlmeS1zbG90IG5hbWU9XCJmb290ZXJcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hbXBsaWZ5LXNsb3Q+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gc2lnbmVkSW4gY29udGVudCBpcyByZW5kZXJlZCBvdXRzaWRlIGF1dGhlbnRpY2F0b3Igc28gaXQncyBub3Qgc3R5bGVkIGJ5IGF1dGhlbnRpY2F0b3IgLS0+XG48YW1wbGlmeS1zbG90XG4gIG5hbWU9XCJhdXRoZW50aWNhdGVkXCJcbiAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICpuZ0lmPVwicm91dGUgPT09ICdhdXRoZW50aWNhdGVkJ1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYW1wbGlmeS1zbG90PlxuIl19
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { createAuthenticatorMachine, getServiceFacade, } from '@aws-amplify/ui';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
4
|
import { interpret } from 'xstate';
|
|
5
|
+
import { Auth } from 'aws-amplify';
|
|
6
|
+
import { Logger } from '@aws-amplify/core';
|
|
7
|
+
import { createAuthenticatorMachine, defaultAuthHubHandler, getServiceFacade, listenToAuthHub, } from '@aws-amplify/ui';
|
|
5
8
|
import { translate } from '@aws-amplify/ui';
|
|
6
9
|
import * as i0 from "@angular/core";
|
|
7
10
|
const logger = new Logger('state-machine');
|
|
@@ -10,21 +13,18 @@ const logger = new Logger('state-machine');
|
|
|
10
13
|
*/
|
|
11
14
|
export class AuthenticatorService {
|
|
12
15
|
constructor() {
|
|
16
|
+
this._authStatus = 'configuring';
|
|
13
17
|
const machine = createAuthenticatorMachine();
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this._facade = getServiceFacade({
|
|
19
|
-
send: authService.send,
|
|
20
|
-
state: newState,
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
this._authService = authService;
|
|
18
|
+
this._authService = interpret(machine).start();
|
|
19
|
+
this.setupMachineSubscription();
|
|
20
|
+
this.setupHubListener();
|
|
21
|
+
this.getInitialAuthStatus();
|
|
24
22
|
}
|
|
25
23
|
ngOnDestroy() {
|
|
26
24
|
if (this._machineSubscription)
|
|
27
25
|
this._machineSubscription.unsubscribe();
|
|
26
|
+
if (this._unsubscribeHub)
|
|
27
|
+
this._unsubscribeHub();
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Context facades
|
|
@@ -46,8 +46,7 @@ export class AuthenticatorService {
|
|
|
46
46
|
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
|
|
47
47
|
}
|
|
48
48
|
get authStatus() {
|
|
49
|
-
|
|
50
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.authStatus;
|
|
49
|
+
return this._authStatus;
|
|
51
50
|
}
|
|
52
51
|
get user() {
|
|
53
52
|
var _a;
|
|
@@ -123,6 +122,10 @@ export class AuthenticatorService {
|
|
|
123
122
|
get slotContext() {
|
|
124
123
|
return Object.assign(Object.assign({}, this._facade), { $implicit: this._facade });
|
|
125
124
|
}
|
|
125
|
+
/** @deprecated For internal use only */
|
|
126
|
+
get hubSubject() {
|
|
127
|
+
return this._hubSubject;
|
|
128
|
+
}
|
|
126
129
|
subscribe(callback) {
|
|
127
130
|
if (!this._authService) {
|
|
128
131
|
logger.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
|
|
@@ -136,6 +139,40 @@ export class AuthenticatorService {
|
|
|
136
139
|
send(event) {
|
|
137
140
|
this.authService.send(event);
|
|
138
141
|
}
|
|
142
|
+
getInitialAuthStatus() {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
try {
|
|
145
|
+
yield Auth.currentAuthenticatedUser();
|
|
146
|
+
this._authStatus = 'authenticated';
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
this._authStatus = 'unauthenticated';
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
setupHubListener() {
|
|
154
|
+
this._hubSubject = new Subject();
|
|
155
|
+
const onSignIn = () => {
|
|
156
|
+
this._authStatus = 'authenticated';
|
|
157
|
+
};
|
|
158
|
+
const onSignOut = () => {
|
|
159
|
+
this._authStatus = 'unauthenticated';
|
|
160
|
+
};
|
|
161
|
+
this._unsubscribeHub = listenToAuthHub(this._authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
yield defaultAuthHubHandler(data, service, { onSignIn, onSignOut });
|
|
163
|
+
this._hubSubject.next();
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
166
|
+
setupMachineSubscription() {
|
|
167
|
+
this._machineSubscription = this._authService.subscribe((state) => {
|
|
168
|
+
const newState = state;
|
|
169
|
+
this._authState = newState;
|
|
170
|
+
this._facade = getServiceFacade({
|
|
171
|
+
send: this._authService.send,
|
|
172
|
+
state: newState,
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
}
|
|
139
176
|
}
|
|
140
177
|
AuthenticatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
141
178
|
AuthenticatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, providedIn: 'root' });
|
|
@@ -145,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
145
182
|
providedIn: 'root', // ensure we have a singleton service
|
|
146
183
|
}]
|
|
147
184
|
}], ctorParameters: function () { return []; } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBS0wsMEJBQTBCLEVBQzFCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CO1FBQ0UsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztRQUU3QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUNuRSxNQUFNLFFBQVEsR0FBRyxLQUF5QixDQUFDO1lBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQzlCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxD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RCx3Q0FBd0M7SUFDeEMsSUFBVyxXQUFXO1FBQ3BCLHVDQUNLLElBQUksQ0FBQyxPQUFPLEtBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQ3ZCO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUFrQztRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixNQUFNLENBQUMsS0FBSyxDQUNWLHVIQUF1SCxDQUN4SCxDQUFDO1NBQ0g7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7O2tIQWxLVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTSxFQUFFLHFDQUFxQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9jb3JlJztcbmltcG9ydCB7XG4gIEF1dGhDb250ZXh0LFxuICBBdXRoRXZlbnQsXG4gIEF1dGhJbnRlcnByZXRlcixcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUsXG4gIGdldFNlcnZpY2VGYWNhZGUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHsgQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3N0YXRlLW1hY2hpbmUnKTtcblxuLyoqXG4gKiBBdXRoZW50aWNhdG9yU2VydmljZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGF1dGhlbnRpY2F0b3Igc3RhdGUgYW5kIGNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAvLyBlbnN1cmUgd2UgaGF2ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYXV0aFN0YXRlOiBBdXRoTWFjaGluZVN0YXRlO1xuICBwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aEludGVycHJldGVyO1xuICBwcml2YXRlIF9tYWNoaW5lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2ZhY2FkZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VydmljZUZhY2FkZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbWFjaGluZSA9IGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lKCk7XG5cbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGludGVycHJldChtYWNoaW5lKS5zdGFydCgpO1xuXG4gICAgdGhpcy5fbWFjaGluZVN1YnNjcmlwdGlvbiA9IGF1dGhTZXJ2aWNlLnN1YnNjcmliZSgoc3RhdGU6IHVua25vd24pID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gc3RhdGUgYXMgQXV0aE1hY2hpbmVTdGF0ZTtcbiAgICAgIHRoaXMuX2F1dGhTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgdGhpcy5fZmFjYWRlID0gZ2V0U2VydmljZUZhY2FkZSh7XG4gICAgICAgIHNlbmQ6IGF1dGhTZXJ2aWNlLnNlbmQsXG4gICAgICAgIHN0YXRlOiBuZXdTdGF0ZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fYXV0aFNlcnZpY2UgPSBhdXRoU2VydmljZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uKSB0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh0aGlzLl9mYWNhZGU/LmVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5hdXRoU3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3RwU2VjcmV0Q29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy50b3RwU2VjcmV0Q29kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJ2aWNlIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBpbml0aWFsaXplTWFjaGluZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLmluaXRpYWxpemVNYWNoaW5lO1xuICB9XG5cbiAgcHVibGljIGdldCB1cGRhdGVGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudXBkYXRlRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBkYXRlQmx1cigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnVwZGF0ZUJsdXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc2VuZENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5yZXNlbmRDb2RlO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWduT3V0KCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnN1Ym1pdEZvcm07XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNpdGlvbiBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgdG9GZWRlcmF0ZWRTaWduSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b0ZlZGVyYXRlZFNpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9SZXNldFBhc3N3b3JkKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25VcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvU2lnblVwO1xuICB9XG5cbiAgcHVibGljIGdldCBza2lwVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLl9mYWNhZGUsXG4gICAgICAkaW1wbGljaXQ6IHRoaXMuX2ZhY2FkZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKTogU3Vic2NyaXB0aW9uIHtcbiAgICBpZiAoIXRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICdTdWJzY3JpcHRpb24gYXR0ZW1wdGVkIGJlZm9yZSBtYWNoaW5lIHdhcyBjcmVhdGVkLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBvbiB0aGUgbGlicmFyeSwgcGxlYXNlIGNvbnNpZGVyIGZpbGluZyBhIGJ1Zy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX2F1dGhTZXJ2aWNlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjYWxsYmFjayh0aGlzLl9mYWNhZGUpO1xuICAgIH0pO1xuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFNTCwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUk1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFTL0I7UUFQUSxnQkFBVyxHQUFlLGFBQWEsQ0FBQztRQVE5QyxNQUFNLE9BQU8sR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CO1lBQUUsSUFBSSxDQUFDLG9CQUFv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Q0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLENBQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLE1BQU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFBLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUNyRCxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLEtBQXlCLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQztnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTtnQkFDNUIsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOztrSEEzTVUsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRSxxQ0FBcUM7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuXG5pbXBvcnQgeyBBdXRoIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aENvbnRleHQsXG4gIEF1dGhFdmVudCxcbiAgQXV0aEludGVycHJldGVyLFxuICBBdXRoTWFjaGluZVN0YXRlLFxuICBBdXRoU3RhdHVzLFxuICBjcmVhdGVBdXRoZW50aWNhdG9yTWFjaGluZSxcbiAgZGVmYXVsdEF1dGhIdWJIYW5kbGVyLFxuICBnZXRTZXJ2aWNlRmFjYWRlLFxuICBsaXN0ZW5Ub0F1dGhIdWIsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5pbXBvcnQgeyBBdXRoU3Vic2NyaXB0aW9uQ2FsbGJhY2sgfSBmcm9tICcuLi9jb21tb24nO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFN0YXR1czogQXV0aFN0YXR1cyA9ICdjb25maWd1cmluZyc7XG4gIHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoSW50ZXJwcmV0ZXI7XG4gIHByaXZhdGUgX21hY2hpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfZmFjYWRlOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRTZXJ2aWNlRmFjYWRlPjtcbiAgcHJpdmF0ZSBfaHViU3ViamVjdDogU3ViamVjdDx2b2lkPjtcbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVIdWI6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbWFjaGluZSA9IGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lKCk7XG4gICAgdGhpcy5fYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSkuc3RhcnQoKTtcblxuICAgIHRoaXMuc2V0dXBNYWNoaW5lU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5zZXR1cEh1Ykxpc3RlbmVyKCk7XG4gICAgdGhpcy5nZXRJbml0aWFsQXV0aFN0YXR1cygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24pIHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAodGhpcy5fdW5zdWJzY3JpYmVIdWIpIHRoaXMuX3Vuc3Vic2NyaWJlSHViKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh0aGlzLl9mYWNhZGU/LmVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy51c2VyO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvZGVEZWxpdmVyeURldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uY29kZURlbGl2ZXJ5RGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG90cFNlY3JldENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udG90cFNlY3JldENvZGU7XG4gIH1cblxuICAvKipcbiAgICogU2VydmljZSBmYWNhZGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGluaXRpYWxpemVNYWNoaW5lKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuaW5pdGlhbGl6ZU1hY2hpbmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS51cGRhdGVGb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCB1cGRhdGVCbHVyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudXBkYXRlQmx1cjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzZW5kQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5zaWduT3V0O1xuICB9XG5cbiAgcHVibGljIGdldCBzdWJtaXRGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc3VibWl0Rm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2l0aW9uIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCB0b0ZlZGVyYXRlZFNpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b1Jlc2V0UGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudG9TaWduSW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnblVwKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5za2lwVmVyaWZpY2F0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHV0aWxpdHkgZnVuY3Rpb25zXG4gICAqL1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBhdXRoU3RhdGUoKTogQXV0aE1hY2hpbmVTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBhdXRoU2VydmljZSgpOiBBdXRoSW50ZXJwcmV0ZXIge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IEF1dGhDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXRlLmNvbnRleHQ7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgc2xvdENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuX2ZhY2FkZSxcbiAgICAgICRpbXBsaWNpdDogdGhpcy5fZmFjYWRlLFxuICAgIH07XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgaHViU3ViamVjdCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5faHViU3ViamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmUoY2FsbGJhY2s6IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjayk6IFN1YnNjcmlwdGlvbiB7XG4gICAgaWYgKCF0aGlzLl9hdXRoU2VydmljZSkge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLl9hdXRoU2VydmljZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY2FsbGJhY2sodGhpcy5fZmFjYWRlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgc2VuZChldmVudDogRXZlbnQ8QXV0aEV2ZW50Pikge1xuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2VuZChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEluaXRpYWxBdXRoU3RhdHVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBBdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpO1xuICAgICAgdGhpcy5fYXV0aFN0YXR1cyA9ICdhdXRoZW50aWNhdGVkJztcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLl9hdXRoU3RhdHVzID0gJ3VuYXV0aGVudGljYXRlZCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEh1Ykxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2h1YlN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3Qgb25TaWduSW4gPSAoKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdHVzID0gJ2F1dGhlbnRpY2F0ZWQnO1xuICAgIH07XG4gICAgY29uc3Qgb25TaWduT3V0ID0gKCkgPT4ge1xuICAgICAgdGhpcy5fYXV0aFN0YXR1cyA9ICd1bmF1dGhlbnRpY2F0ZWQnO1xuICAgIH07XG5cbiAgICB0aGlzLl91bnN1YnNjcmliZUh1YiA9IGxpc3RlblRvQXV0aEh1YihcbiAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLFxuICAgICAgYXN5bmMgKGRhdGEsIHNlcnZpY2UpID0+IHtcbiAgICAgICAgYXdhaXQgZGVmYXVsdEF1dGhIdWJIYW5kbGVyKGRhdGEsIHNlcnZpY2UsIHsgb25TaWduSW4sIG9uU2lnbk91dCB9KTtcbiAgICAgICAgdGhpcy5faHViU3ViamVjdC5uZXh0KCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBNYWNoaW5lU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24gPSB0aGlzLl9hdXRoU2VydmljZS5zdWJzY3JpYmUoXG4gICAgICAoc3RhdGU6IHVua25vd24pID0+IHtcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBzdGF0ZSBhcyBBdXRoTWFjaGluZVN0YXRlO1xuICAgICAgICB0aGlzLl9hdXRoU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgICAgdGhpcy5fZmFjYWRlID0gZ2V0U2VydmljZUZhY2FkZSh7XG4gICAgICAgICAgc2VuZDogdGhpcy5fYXV0aFNlcnZpY2Uuc2VuZCxcbiAgICAgICAgICBzdGF0ZTogbmV3U3RhdGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '3.2.
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export const VERSION = '3.2.17';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzMuMi4xNyc7XG4iXX0=
|
|
@@ -2,15 +2,16 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Directive, Input, Injectable, Component, HostBinding, EventEmitter, ContentChildren, Output, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
3
|
import * as i6 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import {
|
|
6
|
-
import { createAuthenticatorMachine, getServiceFacade, translate, authenticatorTextUtil, FederatedIdentityProviders, countryDialCodes, ComponentClassName, getErrors, getSortedFormFields, getFormDataFromEvent, getActorContext, getTotpCodeURL, defaultFormFieldOptions, getActorState, configureComponent, listenToAuthHub, defaultAuthHubHandler } from '@aws-amplify/ui';
|
|
5
|
+
import { createAuthenticatorMachine, translate, listenToAuthHub, defaultAuthHubHandler, getServiceFacade, authenticatorTextUtil, FederatedIdentityProviders, countryDialCodes, ComponentClassName, getErrors, getSortedFormFields, getFormDataFromEvent, getActorContext, getTotpCodeURL, defaultFormFieldOptions, getActorState, configureComponent } from '@aws-amplify/ui';
|
|
7
6
|
export { translations } from '@aws-amplify/ui';
|
|
8
|
-
import {
|
|
7
|
+
import { __awaiter } from 'tslib';
|
|
8
|
+
import { Subject } from 'rxjs';
|
|
9
9
|
import { interpret } from 'xstate';
|
|
10
|
+
import { Auth, Logger as Logger$1 } from 'aws-amplify';
|
|
11
|
+
import { Logger } from '@aws-amplify/core';
|
|
10
12
|
import { nanoid } from 'nanoid';
|
|
11
13
|
import classnames from 'classnames';
|
|
12
14
|
import QRCode from 'qrcode';
|
|
13
|
-
import { Logger as Logger$1 } from 'aws-amplify';
|
|
14
15
|
|
|
15
16
|
class AmplifySlotDirective {
|
|
16
17
|
constructor(template) {
|
|
@@ -54,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
54
55
|
}]
|
|
55
56
|
}] });
|
|
56
57
|
|
|
57
|
-
const VERSION = '3.2.
|
|
58
|
+
const VERSION = '3.2.17';
|
|
58
59
|
|
|
59
60
|
const logger$1 = new Logger('state-machine');
|
|
60
61
|
/**
|
|
@@ -62,21 +63,18 @@ const logger$1 = new Logger('state-machine');
|
|
|
62
63
|
*/
|
|
63
64
|
class AuthenticatorService {
|
|
64
65
|
constructor() {
|
|
66
|
+
this._authStatus = 'configuring';
|
|
65
67
|
const machine = createAuthenticatorMachine();
|
|
66
|
-
|
|
67
|
-
this.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this._facade = getServiceFacade({
|
|
71
|
-
send: authService.send,
|
|
72
|
-
state: newState,
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
this._authService = authService;
|
|
68
|
+
this._authService = interpret(machine).start();
|
|
69
|
+
this.setupMachineSubscription();
|
|
70
|
+
this.setupHubListener();
|
|
71
|
+
this.getInitialAuthStatus();
|
|
76
72
|
}
|
|
77
73
|
ngOnDestroy() {
|
|
78
74
|
if (this._machineSubscription)
|
|
79
75
|
this._machineSubscription.unsubscribe();
|
|
76
|
+
if (this._unsubscribeHub)
|
|
77
|
+
this._unsubscribeHub();
|
|
80
78
|
}
|
|
81
79
|
/**
|
|
82
80
|
* Context facades
|
|
@@ -98,8 +96,7 @@ class AuthenticatorService {
|
|
|
98
96
|
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
|
|
99
97
|
}
|
|
100
98
|
get authStatus() {
|
|
101
|
-
|
|
102
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.authStatus;
|
|
99
|
+
return this._authStatus;
|
|
103
100
|
}
|
|
104
101
|
get user() {
|
|
105
102
|
var _a;
|
|
@@ -175,6 +172,10 @@ class AuthenticatorService {
|
|
|
175
172
|
get slotContext() {
|
|
176
173
|
return Object.assign(Object.assign({}, this._facade), { $implicit: this._facade });
|
|
177
174
|
}
|
|
175
|
+
/** @deprecated For internal use only */
|
|
176
|
+
get hubSubject() {
|
|
177
|
+
return this._hubSubject;
|
|
178
|
+
}
|
|
178
179
|
subscribe(callback) {
|
|
179
180
|
if (!this._authService) {
|
|
180
181
|
logger$1.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
|
|
@@ -188,6 +189,40 @@ class AuthenticatorService {
|
|
|
188
189
|
send(event) {
|
|
189
190
|
this.authService.send(event);
|
|
190
191
|
}
|
|
192
|
+
getInitialAuthStatus() {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
try {
|
|
195
|
+
yield Auth.currentAuthenticatedUser();
|
|
196
|
+
this._authStatus = 'authenticated';
|
|
197
|
+
}
|
|
198
|
+
catch (e) {
|
|
199
|
+
this._authStatus = 'unauthenticated';
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
setupHubListener() {
|
|
204
|
+
this._hubSubject = new Subject();
|
|
205
|
+
const onSignIn = () => {
|
|
206
|
+
this._authStatus = 'authenticated';
|
|
207
|
+
};
|
|
208
|
+
const onSignOut = () => {
|
|
209
|
+
this._authStatus = 'unauthenticated';
|
|
210
|
+
};
|
|
211
|
+
this._unsubscribeHub = listenToAuthHub(this._authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
|
|
212
|
+
yield defaultAuthHubHandler(data, service, { onSignIn, onSignOut });
|
|
213
|
+
this._hubSubject.next();
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
216
|
+
setupMachineSubscription() {
|
|
217
|
+
this._machineSubscription = this._authService.subscribe((state) => {
|
|
218
|
+
const newState = state;
|
|
219
|
+
this._authState = newState;
|
|
220
|
+
this._facade = getServiceFacade({
|
|
221
|
+
send: this._authService.send,
|
|
222
|
+
state: newState,
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
}
|
|
191
226
|
}
|
|
192
227
|
AuthenticatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
193
228
|
AuthenticatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, providedIn: 'root' });
|
|
@@ -1210,10 +1245,9 @@ class AuthenticatorComponent {
|
|
|
1210
1245
|
packageName: '@aws-amplify/ui-angular',
|
|
1211
1246
|
version: VERSION,
|
|
1212
1247
|
});
|
|
1213
|
-
const {
|
|
1214
|
-
this.
|
|
1215
|
-
|
|
1216
|
-
/**
|
|
1248
|
+
const { initializeMachine } = this.authenticator;
|
|
1249
|
+
this.authenticator.hubSubject.subscribe(() => {
|
|
1250
|
+
/*
|
|
1217
1251
|
* Hub events aren't properly caught by Angular, because they are
|
|
1218
1252
|
* synchronous events. Angular tracks async network events and
|
|
1219
1253
|
* html events, but not synchronous events like hub.
|
|
@@ -1221,7 +1255,7 @@ class AuthenticatorComponent {
|
|
|
1221
1255
|
* On any notable hub events, we run change detection manually.
|
|
1222
1256
|
*/
|
|
1223
1257
|
this.changeDetector.detectChanges();
|
|
1224
|
-
|
|
1258
|
+
/*
|
|
1225
1259
|
* Hub events that we handle can lead to multiple state changes:
|
|
1226
1260
|
* e.g. `authenticated` -> `signOut` -> initialState.
|
|
1227
1261
|
*
|
|
@@ -1230,7 +1264,7 @@ class AuthenticatorComponent {
|
|
|
1230
1264
|
* to true to until we reach initial state.
|
|
1231
1265
|
*/
|
|
1232
1266
|
this.isHandlingHubEvent = true;
|
|
1233
|
-
})
|
|
1267
|
+
});
|
|
1234
1268
|
/**
|
|
1235
1269
|
* Subscribes to state machine changes and sends INIT event
|
|
1236
1270
|
* once machine reaches 'setup' state.
|
|
@@ -1273,8 +1307,6 @@ class AuthenticatorComponent {
|
|
|
1273
1307
|
ngOnDestroy() {
|
|
1274
1308
|
if (this.unsubscribeMachine)
|
|
1275
1309
|
this.unsubscribeMachine();
|
|
1276
|
-
if (this.unsubscribeHub)
|
|
1277
|
-
this.unsubscribeHub();
|
|
1278
1310
|
}
|
|
1279
1311
|
/**
|
|
1280
1312
|
* Class Functions
|