@carefirst/library 2.0.3 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,11 +16,11 @@ export class PageComponent {
16
16
  this.inputDark = checkTruthAttribute(changes, 'dark', this.inputDark);
17
17
  }
18
18
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: PageComponent, selector: "cf-page", inputs: { centerH: "centerH", centerV: "centerV", dark: "dark" }, usesOnChanges: true, ngImport: i0, template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div class=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>div{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>div{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page>.spacing{height:fit-content;flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page>#footer{background-color:var(--footer-bg-color, transparent)}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;margin-inline:auto;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page>.spacing.center-h,ion-content.cf-page>.main-page>.spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page>.spacing.center-v,ion-content.cf-page>.main-page>.spacing.center-v>.content{justify-content:center}\n"], dependencies: [{ kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: PageComponent, selector: "cf-page", inputs: { centerH: "centerH", centerV: "centerV", dark: "dark" }, usesOnChanges: true, ngImport: i0, template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div id=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div id=\"page-buttons\" class=\"content\">\n <ng-content select=\"[cf-page-buttons]\"></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[cf-page-footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>*{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>*{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page #spacing{flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:1}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:0}}ion-content.cf-page>.main-page #spacing #page-buttons{width:100%;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:16px;padding-bottom:32px}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing #page-buttons{flex-direction:row;padding-bottom:48px}}ion-content.cf-page>.main-page #spacing.center-h,ion-content.cf-page>.main-page #spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page #spacing.center-v,ion-content.cf-page>.main-page #spacing.center-v>.content{justify-content:center}ion-content.cf-page>.main-page #footer{background-color:var(--footer-bg-color, transparent)}\n"], dependencies: [{ kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'cf-page', template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div class=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>div{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>div{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page>.spacing{height:fit-content;flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page>#footer{background-color:var(--footer-bg-color, transparent)}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;margin-inline:auto;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page>.spacing.center-h,ion-content.cf-page>.main-page>.spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page>.spacing.center-v,ion-content.cf-page>.main-page>.spacing.center-v>.content{justify-content:center}\n"] }]
23
+ args: [{ selector: 'cf-page', template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div id=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div id=\"page-buttons\" class=\"content\">\n <ng-content select=\"[cf-page-buttons]\"></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[cf-page-footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>*{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>*{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page #spacing{flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:1}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:0}}ion-content.cf-page>.main-page #spacing #page-buttons{width:100%;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:16px;padding-bottom:32px}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing #page-buttons{flex-direction:row;padding-bottom:48px}}ion-content.cf-page>.main-page #spacing.center-h,ion-content.cf-page>.main-page #spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page #spacing.center-v,ion-content.cf-page>.main-page #spacing.center-v>.content{justify-content:center}ion-content.cf-page>.main-page #footer{background-color:var(--footer-bg-color, transparent)}\n"] }]
24
24
  }], propDecorators: { centerH: [{
25
25
  type: Input
26
26
  }], centerV: [{
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
28
28
  }], dark: [{
29
29
  type: Input
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXNDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT2pFLE1BQU0sT0FBTyxhQUFhO0lBQ2YsT0FBTyxDQUFnQztJQUN2QyxPQUFPLENBQWdDO0lBQ3ZDLElBQUksQ0FBZ0M7SUFHN0MsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNyQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFPbEIsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFL0UsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7dUdBdEJVLGFBQWE7MkZBQWIsYUFBYSxzSUNsQjFCLGlkQWNBOzsyRkRJYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7OEJBS1YsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVGaXJzdCBMaWJyYXJ5IC0gUGFnZVxuICpcbiAqIEBmaWxlICAgICAgICAgIHBhZ2UuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgYmFzaWMgQ2FyZUZpcnN0IFBhZ2Ugc3RydWN0dXJlXG4gKiBAYXV0aG9yICAgICAgICBKYWNxdWVzIENvZXR6ZWVcbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMSAtIDA3XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtcGFnZSAlY2VudGVySCUgJWNlbnRlclYlICVkYXJrJSBzdHlsZT1cIi0tY2YtcGFnZS1pbmxpbmUtcGFkZGluZzogMTZweDsgLS1jZi1wYWdlLW1heC13aWR0aDogMTMwMHB4OyAtLWZvb3Rlci1iZy1jb2xvcjogdHJhbnNwYXJlbnRcIj5DT05URU5UPC9jZi1wYWdlPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2UuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNlbnRlckg/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBjZW50ZXJWPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZGFyaz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8tLS0gTG9jYWwgdmFyaWFibGVzXG4gIGlucHV0Q2VudGVySCA9IGZhbHNlO1xuICBpbnB1dENlbnRlclYgPSBmYWxzZTtcbiAgaW5wdXREYXJrID0gZmFsc2U7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gaW5wdXQgY2hhbmdlc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBDZW50ZXIgSFxuICAgIHRoaXMuaW5wdXRDZW50ZXJIID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnY2VudGVySCcsIHRoaXMuaW5wdXRDZW50ZXJIKTtcbiAgICAvLy0tLSBDZW50ZXIgVlxuICAgIHRoaXMuaW5wdXRDZW50ZXJWID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnY2VudGVyVicsIHRoaXMuaW5wdXRDZW50ZXJWKTtcbiAgICAvLy0tLSBEYXJrXG4gICAgdGhpcy5pbnB1dERhcmsgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdkYXJrJywgdGhpcy5pbnB1dERhcmspO1xuICB9XG59XG4iLCI8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFnZSBjZi1wYWdlXCIgW25nQ2xhc3NdPVwieyAnYmctZGFyayc6IGlucHV0RGFyayB9XCI+XG4gIDxkaXYgY2xhc3M9XCJtYWluLXBhZ2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2luZ1wiIFtuZ0NsYXNzXT1cInsgJ2NlbnRlci1oJzogaW5wdXRDZW50ZXJILCAnY2VudGVyLXYnOiBpbnB1dENlbnRlclYgfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cImZvb3RlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2lvbi1jb250ZW50PlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXNDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT2pFLE1BQU0sT0FBTyxhQUFhO0lBQ2YsT0FBTyxDQUFnQztJQUN2QyxPQUFPLENBQWdDO0lBQ3ZDLElBQUksQ0FBZ0M7SUFHN0MsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNyQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFPbEIsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFL0UsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7dUdBdEJVLGFBQWE7MkZBQWIsYUFBYSxzSUN0QjFCLHVsQkFpQkE7OzJGREthLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsU0FBUzs4QkFLVixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgLSBQYWdlXG4gKlxuICogQGZpbGUgICAgICAgICAgcGFnZS5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBiYXNpYyBDYXJlRmlyc3QgUGFnZSBzdHJ1Y3R1cmVcbiAqIEBhdXRob3IgICAgICAgIEphY3F1ZXMgQ29ldHplZVxuICogQHNpbmNlICAgICAgICAgMjAyMyAtIDExIC0gMDdcbiAqIEB1c2FnZSAgICAgICAgIDxjZi1wYWdlICVjZW50ZXJIJSAlY2VudGVyViUgJWRhcmslIHN0eWxlPVwiJS0tY2YtcGFnZS1pbmxpbmUtcGFkZGluZzogMTZweCU7ICUtLWNmLXBhZ2UtbWF4LXdpZHRoOiAxMzAwcHglOyAlLS1mb290ZXItYmctY29sb3I6IHRyYW5zcGFyZW50JVwiPlxuICogICAgICAgICAgICAgICAgICBDT05URU5UXG4gKiAgICAgICAgICAgICAgICAgICU8bmctY29udGFpbmVyIGNmLXBhZ2UtYnV0dG9ucz48L25nLWNvbnRhaW5lcj4lXG4gKiAgICAgICAgICAgICAgICAgICU8bmctY29udGFpbmVyIGNmLXBhZ2UtZm9vdGVyPjwvbmctY29udGFpbmVyPiVcbiAqICAgICAgICAgICAgICAgIDwvY2YtcGFnZT5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjZW50ZXJIPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY2VudGVyVj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGRhcms/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8vLS0tIExvY2FsIHZhcmlhYmxlc1xuICBpbnB1dENlbnRlckggPSBmYWxzZTtcbiAgaW5wdXRDZW50ZXJWID0gZmFsc2U7XG4gIGlucHV0RGFyayA9IGZhbHNlO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gQ2VudGVyIEhcbiAgICB0aGlzLmlucHV0Q2VudGVySCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2NlbnRlckgnLCB0aGlzLmlucHV0Q2VudGVySCk7XG4gICAgLy8tLS0gQ2VudGVyIFZcbiAgICB0aGlzLmlucHV0Q2VudGVyViA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2NlbnRlclYnLCB0aGlzLmlucHV0Q2VudGVyVik7XG4gICAgLy8tLS0gRGFya1xuICAgIHRoaXMuaW5wdXREYXJrID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnZGFyaycsIHRoaXMuaW5wdXREYXJrKTtcbiAgfVxufVxuIiwiPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZ2UgY2YtcGFnZVwiIFtuZ0NsYXNzXT1cInsgJ2JnLWRhcmsnOiBpbnB1dERhcmsgfVwiPlxuICA8ZGl2IGNsYXNzPVwibWFpbi1wYWdlXCI+XG4gICAgPGRpdiBpZD1cInNwYWNpbmdcIiBbbmdDbGFzc109XCJ7ICdjZW50ZXItaCc6IGlucHV0Q2VudGVySCwgJ2NlbnRlci12JzogaW5wdXRDZW50ZXJWIH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInBhZ2UtYnV0dG9uc1wiIGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY2YtcGFnZS1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgaWQ9XCJmb290ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjZi1wYWdlLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2lvbi1jb250ZW50PlxuIl19
@@ -109,11 +109,11 @@ export class VerificationCodeComponent {
109
109
  this.statusSub$?.unsubscribe();
110
110
  }
111
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: VerificationCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: VerificationCodeComponent, selector: "cf-verification-code", inputs: { valueToVerify: "valueToVerify", status: "status", userFeedbackMessages: "userFeedbackMessages" }, outputs: { outcome: "outcome", resendClickEvent: "resendClickEvent" }, viewQueries: [{ propertyName: "myInput1", first: true, predicate: ["input1"], descendants: true }, { propertyName: "myInput2", first: true, predicate: ["input2"], descendants: true }, { propertyName: "myInput3", first: true, predicate: ["input3"], descendants: true }, { propertyName: "myInput4", first: true, predicate: ["input4"], descendants: true }, { propertyName: "myInput5", first: true, predicate: ["input5"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p class=\"body-small error\" *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\">{{ string }}</p>\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-start\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-start\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }, { kind: "component", type: i4.SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: VerificationCodeComponent, selector: "cf-verification-code", inputs: { valueToVerify: "valueToVerify", status: "status", userFeedbackMessages: "userFeedbackMessages" }, outputs: { outcome: "outcome", resendClickEvent: "resendClickEvent" }, viewQueries: [{ propertyName: "myInput1", first: true, predicate: ["input1"], descendants: true }, { propertyName: "myInput2", first: true, predicate: ["input2"], descendants: true }, { propertyName: "myInput3", first: true, predicate: ["input3"], descendants: true }, { propertyName: "myInput4", first: true, predicate: ["input4"], descendants: true }, { propertyName: "myInput5", first: true, predicate: ["input5"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p\n class=\"body-small error ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\"\n >{{ string }}</p\n >\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-center\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }, { kind: "component", type: i4.SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: VerificationCodeComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'cf-verification-code', template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p class=\"body-small error\" *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\">{{ string }}</p>\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-start\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-start\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"] }]
116
+ args: [{ selector: 'cf-verification-code', template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p\n class=\"body-small error ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\"\n >{{ string }}</p\n >\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-center\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"] }]
117
117
  }], ctorParameters: () => [], propDecorators: { valueToVerify: [{
118
118
  type: Input
119
119
  }], status: [{
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
140
140
  type: ViewChild,
141
141
  args: ['input5']
142
142
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL3ZlcmlmaWNhdGlvbi1jb2RlL3ZlcmlmaWNhdGlvbi1jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy92ZXJpZmljYXRpb24tY29kZS92ZXJpZmljYXRpb24tY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBc0MsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd0SCxNQUFNLE9BQU8seUJBQXlCO0lBQzNCLGFBQWEsQ0FBVTtJQUN2QixNQUFNLENBQTBDO0lBQ2hELG9CQUFvQixDQUFvQztJQUV2RCxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUNyQyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWpDLFFBQVEsQ0FBWTtJQUNwQixRQUFRLENBQVk7SUFDcEIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBWTtJQUNwQixRQUFRLENBQVk7SUFHekMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQzVCLHdCQUF3QixHQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsY0FBYyxDQUFxQjtJQUVuQyxVQUFVLENBQWdCO0lBSzFCLGdCQUFlLENBQUM7SUFPaEIsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEdB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LElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzt1R0F0S1UseUJBQXlCOzJGQUF6Qix5QkFBeUIsNHJCQzFCdEMsMnhIQWlHQTs7MkZEdkVhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxzQkFBc0I7d0RBS3ZCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFYyxRQUFRO3NCQUE1QixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0UsUUFBUTtzQkFBNUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNFLFFBQVE7c0JBQTVCLFNBQVM7dUJBQUMsUUFBUTtnQkFDRSxRQUFRO3NCQUE1QixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0UsUUFBUTtzQkFBNUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlZmlyc3QgbGlicmFyeSAtIFZlcmlmaWNhdGlvbiBDb2RlIElucHV0XG4gKlxuICogQGZpbGUgICAgICAgICAgdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IFZlcmlmaWNhdGlvbiBDb2RlIElucHV0XG4gKiBAYXV0aG9yICAgICAgICBBcm5vIEphbnNlbiB2YW4gVnV1cmVuXG4gKiBAc2luY2UgICAgICAgICAyMDI0IC0gMDMgLSAwN1xuICogQHVzYWdlICAgICAgICAgICA8Y2YtdmVyaWZpY2F0aW9uLWNvZGVcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVRvVmVyaWZ5PWBzdHJpbmdgXG4gICAgICAgICAgICAgICAgICAgICAgKG91dGNvbWUpPWBvbWl0cyBjb2RlIHZhbHVlYFxuICAgICAgICAgICAgICAgICAgICAgIChyZXNlbmRDbGlja0V2ZW50KT1gcmVzZW5kIGNsaWNrIGV2ZW50YFxuICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPWBCZWhhdmlvclN1YmplY3Q8J2luaXRpYWwnIHwgJ2ludmFsaWQnPmA+XG4gICAgICAgICAgICAgICAgICAgIDwvY2YtdmVyaWZpY2F0aW9uLWNvZGU+XG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8tLS0gSW50ZXJmYWNlXG5pbXBvcnQgdHlwZSB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IElucHV0Q3VzdG9tRXZlbnQsIElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUgeyBDZkNvZGVJbnB1dFVzZXJGZWVkYmFja01lc3NhZ2VzSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLWNvZGUuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtdmVyaWZpY2F0aW9uLWNvZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBWZXJpZmljYXRpb25Db2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdmFsdWVUb1ZlcmlmeSE6IHN0cmluZztcbiAgQElucHV0KCkgc3RhdHVzITogQmVoYXZpb3JTdWJqZWN0PCdpbml0aWFsJyB8ICdpbnZhbGlkJz47XG4gIEBJbnB1dCgpIHVzZXJGZWVkYmFja01lc3NhZ2VzPzogQ2ZDb2RlSW5wdXRVc2VyRmVlZGJhY2tNZXNzYWdlc0k7XG5cbiAgQE91dHB1dCgpIG91dGNvbWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHJlc2VuZENsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHRydWU+KCk7XG5cbiAgQFZpZXdDaGlsZChgaW5wdXQxYCkgbXlJbnB1dDE/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQyJykgbXlJbnB1dDI/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQzJykgbXlJbnB1dDM/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQ0JykgbXlJbnB1dDQ/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQ1JykgbXlJbnB1dDU/OiBJb25JbnB1dDtcblxuICAvLy0tLSBIVE1MIHZhcmlhYmxlc1xuICB2YWxpZGF0aW9uQ29kZUVycm9yID0gZmFsc2U7XG4gIHZlcmlmaWNhdGlvbkNvZGVJbnB1dEFycjogKG51bWJlciB8IG51bGwpW10gPSBbbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbF07XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgY29tbXNTZW50Q291bnQgPSAwO1xuICB2YWxpZGF0aW9uQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHN0YXR1c1N1YiQ/OiBTdWJzY3JpcHRpb247XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgY29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGlvblZpZXdXaWxsRW50ZXJcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGNvbXBvbmVudCBpbml0aWFsaXphdGlvblxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIGlvblZpZXdEaWRFbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1zU2VudENvdW50ID0gMDtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gVmFsdWUgdG8gdmVyaWZ5XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1sndmFsdWVUb1ZlcmlmeSddPy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ3ZhbHVlVG9WZXJpZnknXT8ucHJldmlvdXNWYWx1ZSB8fFxuICAgICAgY2hhbmdlc1snY29kZSddPy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2NvZGUnXT8ucHJldmlvdXNWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5jb21tc1NlbnRDb3VudCA9IDA7XG4gICAgICB0aGlzLnZhbGlkYXRpb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVzZXRBbGxJbnB1dEZpZWxkcygpO1xuICAgIH1cblxuICAgIC8vLS0tIFN0YXR1cyBkaXNwbGF5XG4gICAgaWYgKGNoYW5nZXNbJ3N0YXR1cyddKSB7XG4gICAgICB0aGlzLnN0YXR1c1N1YiQgPSAoY2hhbmdlc1snc3RhdHVzJ10uY3VycmVudFZhbHVlIGFzIEJlaGF2aW9yU3ViamVjdDwnaW5pdGlhbCcgfCAnaW52YWxpZCc+KS5zdWJzY3JpYmUoKHN0YXQpID0+IHtcbiAgICAgICAgaWYgKHN0YXQgPT09ICdpbnZhbGlkJykge1xuICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkNvZGVFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldEFsbElucHV0RmllbGRzKCk7XG4gICAgICAgIHRoaXMuc2V0Rm9jdXNUb05leHQoMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIHJlc2VuZFZlcmlmaWNhdGlvbkNvZGVcbiAgICogQGRlc2NyaXB0aW9uICAgUmVzZW5kIGEgdmVyaWZpY2F0aW9uIGNvZGVcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICByZXNlbmRWZXJpZmljYXRpb25Db2RlKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbXNTZW50Q291bnQrKztcbiAgICB0aGlzLnJlc2VuZENsaWNrRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlXG4gICAqIEBkZXNjcmlwdGlvbiAgIEhhbmRsZSBpbnB1dHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB2ZXJpZmljYXRpb24gY29kZSBhbmQgZG8gY2FsbCBvbmNlIGNvZGUgaXMgY29tcGxldGVcbiAgICogQHBhcmFtICAgICAgICAge0lucHV0Q3VzdG9tRXZlbnR9IGV2ZW50XG4gICAqIEBwYXJhbSAgICAgICAgIHtudW1iZXJ9IGluZGV4XG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlKGV2ZW50OiBJbnB1dEN1c3RvbUV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC5kZXRhaWwudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSB8fCAhKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHx8ICEoK3ZhbHVlIDwgMTApKSB7XG4gICAgICB0aGlzLmNsZWFyQ29kZUlucHV0KGluZGV4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZvY3VzVG9OZXh0KGluZGV4KTtcbiAgICB0aGlzLnZlcmlmaWNhdGlvbkNvZGVJbnB1dEFycltpbmRleCAtIDFdID0gK3ZhbHVlO1xuICAgIHRoaXMudmFsaWRhdGlvbkNvZGVFcnJvciA9IGZhbHNlO1xuXG4gICAgLy8tLS0gQ2hlY2sgaWYgY29kZSBjb21wbGV0ZWRcbiAgICBpZiAodGhpcy52ZXJpZmljYXRpb25Db2RlSW5wdXRBcnIuZXZlcnkoKHZhbCkgPT4gdmFsICE9PSBudWxsKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uQ29kZSA9IHRoaXMudmVyaWZpY2F0aW9uQ29kZUlucHV0QXJyLmpvaW4oJycpO1xuICAgICAgdGhpcy5vdXRjb21lLmVtaXQodGhpcy52YWxpZGF0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICByZXNldEFsbElucHV0RmllbGRzXG4gICAqIEBkZXNjcmlwdGlvbiAgIFJlc2V0IGFsbCBpbnB1dCBmaWVsZHNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBwcml2YXRlIHJlc2V0QWxsSW5wdXRGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckNvZGVJbnB1dCgxKTtcbiAgICB0aGlzLmNsZWFyQ29kZUlucHV0KDIpO1xuICAgIHRoaXMuY2xlYXJDb2RlSW5wdXQoMyk7XG4gICAgdGhpcy5jbGVhckNvZGVJbnB1dCg0KTtcbiAgICB0aGlzLmNsZWFyQ29kZUlucHV0KDUpO1xuICAgIHRoaXMudmVyaWZpY2F0aW9uQ29kZUlucHV0QXJyLmZpbGwobnVsbCk7XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIHNldEZvY3VzVG9OZXh0XG4gICAqIEBkZXNjcmlwdGlvbiAgIFNldCB0aGUgZm9jdXMgdG8gdGhlIG5leHQgaW5wdXRcbiAgICogQHBhcmFtICAgICAgICAge251bWJlcn0gY3VycmVudEluZGV4XG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvTmV4dChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChjdXJyZW50SW5kZXggPT09IDUpIHJldHVybjtcbiAgICBjdXJyZW50SW5kZXggPT09IDBcbiAgICAgID8gdGhpcy5teUlucHV0MT8uc2V0Rm9jdXMoKVxuICAgICAgOiBjdXJyZW50SW5kZXggPT09IDFcbiAgICAgID8gdGhpcy5teUlucHV0Mj8uc2V0Rm9jdXMoKVxuICAgICAgOiBjdXJyZW50SW5kZXggPT09IDJcbiAgICAgID8gdGhpcy5teUlucHV0Mz8uc2V0Rm9jdXMoKVxuICAgICAgOiBjdXJyZW50SW5kZXggPT09IDNcbiAgICAgID8gdGhpcy5teUlucHV0ND8uc2V0Rm9jdXMoKVxuICAgICAgOiB0aGlzLm15SW5wdXQ1Py5zZXRGb2N1cygpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBjbGVhckNvZGVJbnB1dFxuICAgKiBAZGVzY3JpcHRpb24gICBDbGVhciBhIGNvZGUgaW5wdXQgb24gaW52YWxpZCBrZXlcbiAgICogQHBhcmFtICAgICAgICAge251bWJlcn0gaW5kZXhcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBwcml2YXRlIGNsZWFyQ29kZUlucHV0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGluZGV4KSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQxKSB0aGlzLm15SW5wdXQxLnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQyKSB0aGlzLm15SW5wdXQyLnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQzKSB0aGlzLm15SW5wdXQzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQ0KSB0aGlzLm15SW5wdXQ0LnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDU6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQ1KSB0aGlzLm15SW5wdXQ1LnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBpb25WaWV3V2lsbExlYXZlXG4gICAqIEBkZXNjcmlwdGlvbiAgIFVuc3Vic2NyaWJlIG9uIGNvbXBvbmVudCBsZWF2ZVxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNTdWIkPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8aW9uLWdyaWQ+XG4gIDwhLS0gSW5wdXQgYm94ZXMgZm9yIHZlcmlmaWNhdGlvbiBjb2RlIDUgbnVtZXJpYyBkaWdpdHMgLS0+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8aW9uLWNvbCAqbmdJZj1cInZhbGlkYXRpb25Db2RlRXJyb3JcIiBzaXplPVwiYXV0b1wiPlxuICAgICAgPHAgY2xhc3M9XCJib2R5LXNtYWxsIGVycm9yXCIgKm5nRm9yPVwibGV0IHN0cmluZyBvZiB1c2VyRmVlZGJhY2tNZXNzYWdlcz8uZXJyb3I/LmVycm9yTWVzc2FnZSB8fCBbJ0ludmFsaWQgQ29kZSAtIFBsZWFzZSBSZXRyeSddXCI+e3sgc3RyaW5nIH19PC9wPlxuICAgICAgPGNmLXNwYWNlciBkZWZhdWx0PVwiMTZcIj48L2NmLXNwYWNlcj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbiAgPGlvbi1yb3cgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgZXJyb3I6IHZhbGlkYXRpb25Db2RlRXJyb3IgfVwiPlxuICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgI2lucHV0MVxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWRpZ2l0LWlucHV0IGlvbi10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBtYXhsZW5ndGg9XCIxXCJcbiAgICAgICAgICBjbGVhck9uRWRpdD1cInRydWVcIlxuICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAgIG1vZGU9XCJtZFwiXG4gICAgICAgICAgKGlvbklucHV0KT1cImZvcm11bGF0ZUFuZENoZWNrVmVyaWZpY2F0aW9uQ29kZSgkZXZlbnQsIDEpXCI+PC9pb24taW5wdXQ+XG4gICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAjaW5wdXQyXG4gICAgICAgICAgY2xhc3M9XCJzaW5nbGUtZGlnaXQtaW5wdXQgaW9uLXRleHQtY2VudGVyXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgICAgIGNsZWFyT25FZGl0PVwidHJ1ZVwiXG4gICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgbW9kZT1cIm1kXCJcbiAgICAgICAgICAoaW9uSW5wdXQpPVwiZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlKCRldmVudCwgMilcIj48L2lvbi1pbnB1dD5cbiAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICNpbnB1dDNcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1kaWdpdC1pbnB1dCBpb24tdGV4dC1jZW50ZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgbWF4bGVuZ3RoPVwiMVwiXG4gICAgICAgICAgY2xlYXJPbkVkaXQ9XCJ0cnVlXCJcbiAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAoaW9uSW5wdXQpPVwiZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlKCRldmVudCwgMylcIj48L2lvbi1pbnB1dD5cbiAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICNpbnB1dDRcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1kaWdpdC1pbnB1dCBpb24tdGV4dC1jZW50ZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgbWF4bGVuZ3RoPVwiMVwiXG4gICAgICAgICAgY2xlYXJPbkVkaXQ9XCJ0cnVlXCJcbiAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICBtb2RlPVwibWRcIlxuICAgICAgICAgIChpb25JbnB1dCk9XCJmb3JtdWxhdGVBbmRDaGVja1ZlcmlmaWNhdGlvbkNvZGUoJGV2ZW50LCA0KVwiPjwvaW9uLWlucHV0PlxuICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgI2lucHV0NVxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWRpZ2l0LWlucHV0IGlvbi10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBtYXhsZW5ndGg9XCIxXCJcbiAgICAgICAgICBjbGVhck9uRWRpdD1cInRydWVcIlxuICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAgIG1vZGU9XCJtZFwiXG4gICAgICAgICAgKGlvbklucHV0KT1cImZvcm11bGF0ZUFuZENoZWNrVmVyaWZpY2F0aW9uQ29kZSgkZXZlbnQsIDUpXCI+PC9pb24taW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbiAgPGlvbi1yb3cgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICA8Y2Ytc3BhY2VyIGRlZmF1bHQ9XCIxNlwiPjwvY2Ytc3BhY2VyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nXCI+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJjb21tc1NlbnRDb3VudCA8IDNcIiAoY2xpY2spPVwicmVzZW5kVmVyaWZpY2F0aW9uQ29kZSgpXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWxpZGF0aW9uQ29kZUVycm9yXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImJvZHktc21hbGwgaW9uLXRleHQtc3RhcnRcIiAqbmdGb3I9XCJsZXQgc3RyaW5nIG9mIHVzZXJGZWVkYmFja01lc3NhZ2VzPy5lcnJvcj8ucmVzZW5kIHx8IFsnUmVzZW5kIENvZGUnXVwiPlxuICAgICAgICAgICAgICB7eyBzdHJpbmcgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXZhbGlkYXRpb25Db2RlRXJyb3JcIj5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm9keS1zbWFsbCBpb24tdGV4dC1zdGFydFwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdHJpbmcgb2YgdXNlckZlZWRiYWNrTWVzc2FnZXM/LnN0YW5kYXJkUmVzZW5kIHx8IFsnRGlkbmB0IGdldCBhIGNvZGU/IFBsZWFzZSByZXNlbmQgdGhlIGNvZGUnXVwiPlxuICAgICAgICAgICAgICB7eyBzdHJpbmcgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21tc1NlbnRDb3VudCA+PSAzXCI+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgIGNsYXNzPVwiYm9keS1zbWFsbFwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RyaW5nIG9mIHVzZXJGZWVkYmFja01lc3NhZ2VzPy5saW1pdFJlYWNoZWQgfHwgWydTdGlsbCBzdHJ1Z2dsaW5nIHdpdGggeW91ciBjb2RlPycsICdQbGVhc2UgY29udGFjdCBzdXBwb3J0IGZvciBhc3Npc3RhbmNlJ11cIlxuICAgICAgICAgICAgPnt7IHN0cmluZyB9fTwvcFxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbiAgPGlvbi1yb3cgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICA8Y2Ytc3Bpbm5lciBbc2l6ZV09XCI1MFwiIFtuZ0NsYXNzXT1cInsgJ2Jsb2NrLWhpZGRlbic6ICFsb2FkaW5nIH1cIj48L2NmLXNwaW5uZXI+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG48L2lvbi1ncmlkPlxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL3ZlcmlmaWNhdGlvbi1jb2RlL3ZlcmlmaWNhdGlvbi1jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy92ZXJpZmljYXRpb24tY29kZS92ZXJpZmljYXRpb24tY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBc0MsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd0SCxNQUFNLE9BQU8seUJBQXlCO0lBQzNCLGFBQWEsQ0FBVTtJQUN2QixNQUFNLENBQTBDO0lBQ2hELG9CQUFvQixDQUFvQztJQUV2RCxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUNyQyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWpDLFFBQVEsQ0FBWTtJQUNwQixRQUFRLENBQVk7SUFDcEIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBWTtJQUNwQixRQUFRLENBQVk7SUFHekMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQzVCLHdCQUF3QixHQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsY0FBYyxDQUFxQjtJQUVuQyxVQUFVLENBQWdCO0lBSzFCLGdCQUFlLENBQUM7SUFPaEIsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEdB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LElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzt1R0F0S1UseUJBQXlCOzJGQUF6Qix5QkFBeUIsNHJCQzFCdEMsaTJIQXFHQTs7MkZEM0VhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxzQkFBc0I7d0RBS3ZCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFYyxRQUFRO3NCQUE1QixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0UsUUFBUTtzQkFBNUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNFLFFBQVE7c0JBQTVCLFNBQVM7dUJBQUMsUUFBUTtnQkFDRSxRQUFRO3NCQUE1QixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0UsUUFBUTtzQkFBNUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlZmlyc3QgbGlicmFyeSAtIFZlcmlmaWNhdGlvbiBDb2RlIElucHV0XG4gKlxuICogQGZpbGUgICAgICAgICAgdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IFZlcmlmaWNhdGlvbiBDb2RlIElucHV0XG4gKiBAYXV0aG9yICAgICAgICBBcm5vIEphbnNlbiB2YW4gVnV1cmVuXG4gKiBAc2luY2UgICAgICAgICAyMDI0IC0gMDMgLSAwN1xuICogQHVzYWdlICAgICAgICAgICA8Y2YtdmVyaWZpY2F0aW9uLWNvZGVcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVRvVmVyaWZ5PWBzdHJpbmdgXG4gICAgICAgICAgICAgICAgICAgICAgKG91dGNvbWUpPWBvbWl0cyBjb2RlIHZhbHVlYFxuICAgICAgICAgICAgICAgICAgICAgIChyZXNlbmRDbGlja0V2ZW50KT1gcmVzZW5kIGNsaWNrIGV2ZW50YFxuICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPWBCZWhhdmlvclN1YmplY3Q8J2luaXRpYWwnIHwgJ2ludmFsaWQnPmA+XG4gICAgICAgICAgICAgICAgICAgIDwvY2YtdmVyaWZpY2F0aW9uLWNvZGU+XG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8tLS0gSW50ZXJmYWNlXG5pbXBvcnQgdHlwZSB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IElucHV0Q3VzdG9tRXZlbnQsIElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUgeyBDZkNvZGVJbnB1dFVzZXJGZWVkYmFja01lc3NhZ2VzSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLWNvZGUuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtdmVyaWZpY2F0aW9uLWNvZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBWZXJpZmljYXRpb25Db2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdmFsdWVUb1ZlcmlmeSE6IHN0cmluZztcbiAgQElucHV0KCkgc3RhdHVzITogQmVoYXZpb3JTdWJqZWN0PCdpbml0aWFsJyB8ICdpbnZhbGlkJz47XG4gIEBJbnB1dCgpIHVzZXJGZWVkYmFja01lc3NhZ2VzPzogQ2ZDb2RlSW5wdXRVc2VyRmVlZGJhY2tNZXNzYWdlc0k7XG5cbiAgQE91dHB1dCgpIG91dGNvbWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHJlc2VuZENsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHRydWU+KCk7XG5cbiAgQFZpZXdDaGlsZChgaW5wdXQxYCkgbXlJbnB1dDE/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQyJykgbXlJbnB1dDI/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQzJykgbXlJbnB1dDM/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQ0JykgbXlJbnB1dDQ/OiBJb25JbnB1dDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQ1JykgbXlJbnB1dDU/OiBJb25JbnB1dDtcblxuICAvLy0tLSBIVE1MIHZhcmlhYmxlc1xuICB2YWxpZGF0aW9uQ29kZUVycm9yID0gZmFsc2U7XG4gIHZlcmlmaWNhdGlvbkNvZGVJbnB1dEFycjogKG51bWJlciB8IG51bGwpW10gPSBbbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbF07XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgY29tbXNTZW50Q291bnQgPSAwO1xuICB2YWxpZGF0aW9uQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHN0YXR1c1N1YiQ/OiBTdWJzY3JpcHRpb247XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgY29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGlvblZpZXdXaWxsRW50ZXJcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGNvbXBvbmVudCBpbml0aWFsaXphdGlvblxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIGlvblZpZXdEaWRFbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1zU2VudENvdW50ID0gMDtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gVmFsdWUgdG8gdmVyaWZ5XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1sndmFsdWVUb1ZlcmlmeSddPy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ3ZhbHVlVG9WZXJpZnknXT8ucHJldmlvdXNWYWx1ZSB8fFxuICAgICAgY2hhbmdlc1snY29kZSddPy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2NvZGUnXT8ucHJldmlvdXNWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5jb21tc1NlbnRDb3VudCA9IDA7XG4gICAgICB0aGlzLnZhbGlkYXRpb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVzZXRBbGxJbnB1dEZpZWxkcygpO1xuICAgIH1cblxuICAgIC8vLS0tIFN0YXR1cyBkaXNwbGF5XG4gICAgaWYgKGNoYW5nZXNbJ3N0YXR1cyddKSB7XG4gICAgICB0aGlzLnN0YXR1c1N1YiQgPSAoY2hhbmdlc1snc3RhdHVzJ10uY3VycmVudFZhbHVlIGFzIEJlaGF2aW9yU3ViamVjdDwnaW5pdGlhbCcgfCAnaW52YWxpZCc+KS5zdWJzY3JpYmUoKHN0YXQpID0+IHtcbiAgICAgICAgaWYgKHN0YXQgPT09ICdpbnZhbGlkJykge1xuICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkNvZGVFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldEFsbElucHV0RmllbGRzKCk7XG4gICAgICAgIHRoaXMuc2V0Rm9jdXNUb05leHQoMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIHJlc2VuZFZlcmlmaWNhdGlvbkNvZGVcbiAgICogQGRlc2NyaXB0aW9uICAgUmVzZW5kIGEgdmVyaWZpY2F0aW9uIGNvZGVcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICByZXNlbmRWZXJpZmljYXRpb25Db2RlKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbXNTZW50Q291bnQrKztcbiAgICB0aGlzLnJlc2VuZENsaWNrRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlXG4gICAqIEBkZXNjcmlwdGlvbiAgIEhhbmRsZSBpbnB1dHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB2ZXJpZmljYXRpb24gY29kZSBhbmQgZG8gY2FsbCBvbmNlIGNvZGUgaXMgY29tcGxldGVcbiAgICogQHBhcmFtICAgICAgICAge0lucHV0Q3VzdG9tRXZlbnR9IGV2ZW50XG4gICAqIEBwYXJhbSAgICAgICAgIHtudW1iZXJ9IGluZGV4XG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlKGV2ZW50OiBJbnB1dEN1c3RvbUV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC5kZXRhaWwudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSB8fCAhKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHx8ICEoK3ZhbHVlIDwgMTApKSB7XG4gICAgICB0aGlzLmNsZWFyQ29kZUlucHV0KGluZGV4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZvY3VzVG9OZXh0KGluZGV4KTtcbiAgICB0aGlzLnZlcmlmaWNhdGlvbkNvZGVJbnB1dEFycltpbmRleCAtIDFdID0gK3ZhbHVlO1xuICAgIHRoaXMudmFsaWRhdGlvbkNvZGVFcnJvciA9IGZhbHNlO1xuXG4gICAgLy8tLS0gQ2hlY2sgaWYgY29kZSBjb21wbGV0ZWRcbiAgICBpZiAodGhpcy52ZXJpZmljYXRpb25Db2RlSW5wdXRBcnIuZXZlcnkoKHZhbCkgPT4gdmFsICE9PSBudWxsKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uQ29kZSA9IHRoaXMudmVyaWZpY2F0aW9uQ29kZUlucHV0QXJyLmpvaW4oJycpO1xuICAgICAgdGhpcy5vdXRjb21lLmVtaXQodGhpcy52YWxpZGF0aW9uQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICByZXNldEFsbElucHV0RmllbGRzXG4gICAqIEBkZXNjcmlwdGlvbiAgIFJlc2V0IGFsbCBpbnB1dCBmaWVsZHNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBwcml2YXRlIHJlc2V0QWxsSW5wdXRGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckNvZGVJbnB1dCgxKTtcbiAgICB0aGlzLmNsZWFyQ29kZUlucHV0KDIpO1xuICAgIHRoaXMuY2xlYXJDb2RlSW5wdXQoMyk7XG4gICAgdGhpcy5jbGVhckNvZGVJbnB1dCg0KTtcbiAgICB0aGlzLmNsZWFyQ29kZUlucHV0KDUpO1xuICAgIHRoaXMudmVyaWZpY2F0aW9uQ29kZUlucHV0QXJyLmZpbGwobnVsbCk7XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIHNldEZvY3VzVG9OZXh0XG4gICAqIEBkZXNjcmlwdGlvbiAgIFNldCB0aGUgZm9jdXMgdG8gdGhlIG5leHQgaW5wdXRcbiAgICogQHBhcmFtICAgICAgICAge251bWJlcn0gY3VycmVudEluZGV4XG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvTmV4dChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChjdXJyZW50SW5kZXggPT09IDUpIHJldHVybjtcbiAgICBjdXJyZW50SW5kZXggPT09IDBcbiAgICAgID8gdGhpcy5teUlucHV0MT8uc2V0Rm9jdXMoKVxuICAgICAgOiBjdXJyZW50SW5kZXggPT09IDFcbiAgICAgID8gdGhpcy5teUlucHV0Mj8uc2V0Rm9jdXMoKVxuICAgICAgOiBjdXJyZW50SW5kZXggPT09IDJcbiAgICAgID8gdGhpcy5teUlucHV0Mz8uc2V0Rm9jdXMoKVxuICAgICAgOiBjdXJyZW50SW5kZXggPT09IDNcbiAgICAgID8gdGhpcy5teUlucHV0ND8uc2V0Rm9jdXMoKVxuICAgICAgOiB0aGlzLm15SW5wdXQ1Py5zZXRGb2N1cygpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBjbGVhckNvZGVJbnB1dFxuICAgKiBAZGVzY3JpcHRpb24gICBDbGVhciBhIGNvZGUgaW5wdXQgb24gaW52YWxpZCBrZXlcbiAgICogQHBhcmFtICAgICAgICAge251bWJlcn0gaW5kZXhcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBwcml2YXRlIGNsZWFyQ29kZUlucHV0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGluZGV4KSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQxKSB0aGlzLm15SW5wdXQxLnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQyKSB0aGlzLm15SW5wdXQyLnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQzKSB0aGlzLm15SW5wdXQzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQ0KSB0aGlzLm15SW5wdXQ0LnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDU6XG4gICAgICAgIGlmICh0aGlzLm15SW5wdXQ1KSB0aGlzLm15SW5wdXQ1LnZhbHVlID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBpb25WaWV3V2lsbExlYXZlXG4gICAqIEBkZXNjcmlwdGlvbiAgIFVuc3Vic2NyaWJlIG9uIGNvbXBvbmVudCBsZWF2ZVxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNTdWIkPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8aW9uLWdyaWQ+XG4gIDwhLS0gSW5wdXQgYm94ZXMgZm9yIHZlcmlmaWNhdGlvbiBjb2RlIDUgbnVtZXJpYyBkaWdpdHMgLS0+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8aW9uLWNvbCAqbmdJZj1cInZhbGlkYXRpb25Db2RlRXJyb3JcIiBzaXplPVwiYXV0b1wiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJib2R5LXNtYWxsIGVycm9yIGlvbi10ZXh0LWNlbnRlclwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBzdHJpbmcgb2YgdXNlckZlZWRiYWNrTWVzc2FnZXM/LmVycm9yPy5lcnJvck1lc3NhZ2UgfHwgWydJbnZhbGlkIENvZGUgLSBQbGVhc2UgUmV0cnknXVwiXG4gICAgICAgID57eyBzdHJpbmcgfX08L3BcbiAgICAgID5cbiAgICAgIDxjZi1zcGFjZXIgZGVmYXVsdD1cIjE2XCI+PC9jZi1zcGFjZXI+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7IGVycm9yOiB2YWxpZGF0aW9uQ29kZUVycm9yIH1cIj5cbiAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICNpbnB1dDFcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1kaWdpdC1pbnB1dCBpb24tdGV4dC1jZW50ZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgbWF4bGVuZ3RoPVwiMVwiXG4gICAgICAgICAgY2xlYXJPbkVkaXQ9XCJ0cnVlXCJcbiAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICBtb2RlPVwibWRcIlxuICAgICAgICAgIChpb25JbnB1dCk9XCJmb3JtdWxhdGVBbmRDaGVja1ZlcmlmaWNhdGlvbkNvZGUoJGV2ZW50LCAxKVwiPjwvaW9uLWlucHV0PlxuICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgI2lucHV0MlxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWRpZ2l0LWlucHV0IGlvbi10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBtYXhsZW5ndGg9XCIxXCJcbiAgICAgICAgICBjbGVhck9uRWRpdD1cInRydWVcIlxuICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAgIG1vZGU9XCJtZFwiXG4gICAgICAgICAgKGlvbklucHV0KT1cImZvcm11bGF0ZUFuZENoZWNrVmVyaWZpY2F0aW9uQ29kZSgkZXZlbnQsIDIpXCI+PC9pb24taW5wdXQ+XG4gICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAjaW5wdXQzXG4gICAgICAgICAgY2xhc3M9XCJzaW5nbGUtZGlnaXQtaW5wdXQgaW9uLXRleHQtY2VudGVyXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgICAgIGNsZWFyT25FZGl0PVwidHJ1ZVwiXG4gICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgKGlvbklucHV0KT1cImZvcm11bGF0ZUFuZENoZWNrVmVyaWZpY2F0aW9uQ29kZSgkZXZlbnQsIDMpXCI+PC9pb24taW5wdXQ+XG4gICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAjaW5wdXQ0XG4gICAgICAgICAgY2xhc3M9XCJzaW5nbGUtZGlnaXQtaW5wdXQgaW9uLXRleHQtY2VudGVyXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgICAgIGNsZWFyT25FZGl0PVwidHJ1ZVwiXG4gICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgbW9kZT1cIm1kXCJcbiAgICAgICAgICAoaW9uSW5wdXQpPVwiZm9ybXVsYXRlQW5kQ2hlY2tWZXJpZmljYXRpb25Db2RlKCRldmVudCwgNClcIj48L2lvbi1pbnB1dD5cbiAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICNpbnB1dDVcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1kaWdpdC1pbnB1dCBpb24tdGV4dC1jZW50ZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgbWF4bGVuZ3RoPVwiMVwiXG4gICAgICAgICAgY2xlYXJPbkVkaXQ9XCJ0cnVlXCJcbiAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICBtb2RlPVwibWRcIlxuICAgICAgICAgIChpb25JbnB1dCk9XCJmb3JtdWxhdGVBbmRDaGVja1ZlcmlmaWNhdGlvbkNvZGUoJGV2ZW50LCA1KVwiPjwvaW9uLWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPGNmLXNwYWNlciBkZWZhdWx0PVwiMTZcIj48L2NmLXNwYWNlcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29tbXNTZW50Q291bnQgPCAzXCIgKGNsaWNrKT1cInJlc2VuZFZlcmlmaWNhdGlvbkNvZGUoKVwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsaWRhdGlvbkNvZGVFcnJvclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJib2R5LXNtYWxsIGlvbi10ZXh0LWNlbnRlclwiICpuZ0Zvcj1cImxldCBzdHJpbmcgb2YgdXNlckZlZWRiYWNrTWVzc2FnZXM/LmVycm9yPy5yZXNlbmQgfHwgWydSZXNlbmQgQ29kZSddXCI+XG4gICAgICAgICAgICAgIHt7IHN0cmluZyB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdmFsaWRhdGlvbkNvZGVFcnJvclwiPlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgY2xhc3M9XCJib2R5LXNtYWxsIGlvbi10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdHJpbmcgb2YgdXNlckZlZWRiYWNrTWVzc2FnZXM/LnN0YW5kYXJkUmVzZW5kIHx8IFsnRGlkbmB0IGdldCBhIGNvZGU/IFBsZWFzZSByZXNlbmQgdGhlIGNvZGUnXVwiPlxuICAgICAgICAgICAgICB7eyBzdHJpbmcgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21tc1NlbnRDb3VudCA+PSAzXCI+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgIGNsYXNzPVwiYm9keS1zbWFsbCBpb24tdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHN0cmluZyBvZiB1c2VyRmVlZGJhY2tNZXNzYWdlcz8ubGltaXRSZWFjaGVkIHx8IFsnU3RpbGwgc3RydWdnbGluZyB3aXRoIHlvdXIgY29kZT8nLCAnUGxlYXNlIGNvbnRhY3Qgc3VwcG9ydCBmb3IgYXNzaXN0YW5jZSddXCJcbiAgICAgICAgICAgID57eyBzdHJpbmcgfX08L3BcbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPGNmLXNwaW5uZXIgW3NpemVdPVwiNTBcIiBbbmdDbGFzc109XCJ7ICdibG9jay1oaWRkZW4nOiAhbG9hZGluZyB9XCI+PC9jZi1zcGlubmVyPlxuICAgIDwvaW9uLWNvbD5cbiAgPC9pb24tcm93PlxuPC9pb24tZ3JpZD5cbiJdfQ==
@@ -96,11 +96,11 @@ class PageComponent {
96
96
  this.inputDark = checkTruthAttribute(changes, 'dark', this.inputDark);
97
97
  }
98
98
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: PageComponent, selector: "cf-page", inputs: { centerH: "centerH", centerV: "centerV", dark: "dark" }, usesOnChanges: true, ngImport: i0, template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div class=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>div{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>div{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page>.spacing{height:fit-content;flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page>#footer{background-color:var(--footer-bg-color, transparent)}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;margin-inline:auto;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page>.spacing.center-h,ion-content.cf-page>.main-page>.spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page>.spacing.center-v,ion-content.cf-page>.main-page>.spacing.center-v>.content{justify-content:center}\n"], dependencies: [{ kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: PageComponent, selector: "cf-page", inputs: { centerH: "centerH", centerV: "centerV", dark: "dark" }, usesOnChanges: true, ngImport: i0, template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div id=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div id=\"page-buttons\" class=\"content\">\n <ng-content select=\"[cf-page-buttons]\"></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[cf-page-footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>*{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>*{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page #spacing{flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:1}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:0}}ion-content.cf-page>.main-page #spacing #page-buttons{width:100%;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:16px;padding-bottom:32px}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing #page-buttons{flex-direction:row;padding-bottom:48px}}ion-content.cf-page>.main-page #spacing.center-h,ion-content.cf-page>.main-page #spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page #spacing.center-v,ion-content.cf-page>.main-page #spacing.center-v>.content{justify-content:center}ion-content.cf-page>.main-page #footer{background-color:var(--footer-bg-color, transparent)}\n"], dependencies: [{ kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
100
100
  }
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageComponent, decorators: [{
102
102
  type: Component,
103
- args: [{ selector: 'cf-page', template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div class=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>div{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>div{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page>.spacing{height:fit-content;flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page>#footer{background-color:var(--footer-bg-color, transparent)}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;margin-inline:auto;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page>.spacing.center-h,ion-content.cf-page>.main-page>.spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page>.spacing.center-v,ion-content.cf-page>.main-page>.spacing.center-v>.content{justify-content:center}\n"] }]
103
+ args: [{ selector: 'cf-page', template: "<ion-content class=\"ion-page cf-page\" [ngClass]=\"{ 'bg-dark': inputDark }\">\n <div class=\"main-page\">\n <div id=\"spacing\" [ngClass]=\"{ 'center-h': inputCenterH, 'center-v': inputCenterV }\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div id=\"page-buttons\" class=\"content\">\n <ng-content select=\"[cf-page-buttons]\"></ng-content>\n </div>\n </div>\n <div id=\"footer\">\n <div class=\"content\">\n <ng-content select=\"[cf-page-footer]\"></ng-content>\n </div>\n </div>\n </div>\n</ion-content>\n", styles: ["ion-content.cf-page::part(scroll){background-color:var(--cf-app-background-light)}ion-content.cf-page.bg-dark::part(scroll){background-color:var(--cf-app-background-dark)}ion-content.cf-page>.main-page{display:flex;flex-direction:column;width:100%;height:100%}ion-content.cf-page>.main-page>*{width:100%;padding-inline:var(--cf-page-inline-padding, 16px)}@media (min-width: 768px){ion-content.cf-page>.main-page>*{padding-inline:var(--cf-page-inline-padding, 72px)}}ion-content.cf-page>.main-page .content{display:flex;flex-direction:column;width:100%;max-width:var(--cf-page-max-width, 358px)}@media (min-width: 768px){ion-content.cf-page>.main-page .content{max-width:var(--cf-page-max-width, 1296px)}}ion-content.cf-page>.main-page #spacing{flex-grow:1;display:flex;flex-direction:column}ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:1}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing>.content:first-child{flex-grow:0}}ion-content.cf-page>.main-page #spacing #page-buttons{width:100%;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:16px;padding-bottom:32px}@media (min-width: 768px){ion-content.cf-page>.main-page #spacing #page-buttons{flex-direction:row;padding-bottom:48px}}ion-content.cf-page>.main-page #spacing.center-h,ion-content.cf-page>.main-page #spacing.center-h>.content{align-items:center;text-align:center}ion-content.cf-page>.main-page #spacing.center-v,ion-content.cf-page>.main-page #spacing.center-v>.content{justify-content:center}ion-content.cf-page>.main-page #footer{background-color:var(--footer-bg-color, transparent)}\n"] }]
104
104
  }], propDecorators: { centerH: [{
105
105
  type: Input
106
106
  }], centerV: [{
@@ -801,11 +801,11 @@ class VerificationCodeComponent {
801
801
  this.statusSub$?.unsubscribe();
802
802
  }
803
803
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: VerificationCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
804
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: VerificationCodeComponent, selector: "cf-verification-code", inputs: { valueToVerify: "valueToVerify", status: "status", userFeedbackMessages: "userFeedbackMessages" }, outputs: { outcome: "outcome", resendClickEvent: "resendClickEvent" }, viewQueries: [{ propertyName: "myInput1", first: true, predicate: ["input1"], descendants: true }, { propertyName: "myInput2", first: true, predicate: ["input2"], descendants: true }, { propertyName: "myInput3", first: true, predicate: ["input3"], descendants: true }, { propertyName: "myInput4", first: true, predicate: ["input4"], descendants: true }, { propertyName: "myInput5", first: true, predicate: ["input5"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p class=\"body-small error\" *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\">{{ string }}</p>\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-start\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-start\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }, { kind: "component", type: SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
804
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: VerificationCodeComponent, selector: "cf-verification-code", inputs: { valueToVerify: "valueToVerify", status: "status", userFeedbackMessages: "userFeedbackMessages" }, outputs: { outcome: "outcome", resendClickEvent: "resendClickEvent" }, viewQueries: [{ propertyName: "myInput1", first: true, predicate: ["input1"], descendants: true }, { propertyName: "myInput2", first: true, predicate: ["input2"], descendants: true }, { propertyName: "myInput3", first: true, predicate: ["input3"], descendants: true }, { propertyName: "myInput4", first: true, predicate: ["input4"], descendants: true }, { propertyName: "myInput5", first: true, predicate: ["input5"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p\n class=\"body-small error ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\"\n >{{ string }}</p\n >\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-center\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }, { kind: "component", type: SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
805
805
  }
806
806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: VerificationCodeComponent, decorators: [{
807
807
  type: Component,
808
- args: [{ selector: 'cf-verification-code', template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p class=\"body-small error\" *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\">{{ string }}</p>\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-start\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-start\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"] }]
808
+ args: [{ selector: 'cf-verification-code', template: "<ion-grid>\n <!-- Input boxes for verification code 5 numeric digits -->\n <ion-row class=\"ion-justify-content-center\">\n <ion-col *ngIf=\"validationCodeError\" size=\"auto\">\n <p\n class=\"body-small error ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.error?.errorMessage || ['Invalid Code - Please Retry']\"\n >{{ string }}</p\n >\n <cf-spacer default=\"16\"></cf-spacer>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <div class=\"single-container\" [ngClass]=\"{ error: validationCodeError }\">\n <ion-input\n #input1\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 1)\"></ion-input>\n <ion-input\n #input2\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 2)\"></ion-input>\n <ion-input\n #input3\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 3)\"></ion-input>\n <ion-input\n #input4\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 4)\"></ion-input>\n <ion-input\n #input5\n class=\"single-digit-input ion-text-center\"\n [disabled]=\"loading\"\n fill=\"outline\"\n maxlength=\"1\"\n clearOnEdit=\"true\"\n inputmode=\"numeric\"\n mode=\"md\"\n (ionInput)=\"formulateAndCheckVerificationCode($event, 5)\"></ion-input>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spacer default=\"16\"></cf-spacer>\n <ng-container *ngIf=\"!loading\">\n <button *ngIf=\"commsSentCount < 3\" (click)=\"resendVerificationCode()\" style=\"background-color: transparent\">\n <ng-container *ngIf=\"validationCodeError\">\n <p class=\"body-small ion-text-center\" *ngFor=\"let string of userFeedbackMessages?.error?.resend || ['Resend Code']\">\n {{ string }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"!validationCodeError\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.standardResend || ['Didn`t get a code? Please resend the code']\">\n {{ string }}\n </p>\n </ng-container>\n </button>\n <ng-container *ngIf=\"commsSentCount >= 3\">\n <p\n class=\"body-small ion-text-center\"\n *ngFor=\"let string of userFeedbackMessages?.limitReached || ['Still struggling with your code?', 'Please contact support for assistance']\"\n >{{ string }}</p\n >\n </ng-container>\n </ng-container>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-justify-content-center\">\n <ion-col size=\"auto\">\n <cf-spinner [size]=\"50\" [ngClass]=\"{ 'block-hidden': !loading }\"></cf-spinner>\n </ion-col>\n </ion-row>\n</ion-grid>\n", styles: [".single-container{display:flex;gap:12px}.single-container .single-digit-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;height:60px;width:60px;--border-radius: 12px;--background: var(--cf-app-system-color-outline);--highlight-color-focused: var(--cf-app-color-accent)}.single-container.error .single-digit-input{--border-color: var(--cf-app-system-color-error)}.block-hidden{display:none}p.error{color:var(--cf-app-system-color-error)}\n"] }]
809
809
  }], ctorParameters: () => [], propDecorators: { valueToVerify: [{
810
810
  type: Input
811
811
  }], status: [{