@ieeesa-npm/dashboard 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/event-group-card/event-group-card.component.mjs +3 -3
- package/esm2022/lib/components/meeting-attendance-row/meeting-attendance-row.component.mjs +3 -3
- package/esm2022/lib/components/upcoming-meetings-events/upcoming-meetings-events.component.mjs +46 -87
- package/esm2022/lib/dashboard.component.mjs +32 -4
- package/esm2022/lib/models/event-meeting-list-item.model.mjs +1 -1
- package/esm2022/lib/models/upcoming-summary.model.mjs +2 -0
- package/esm2022/lib/services/dashboard.service.mjs +23 -6
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ieeesa-npm-dashboard.mjs +115 -110
- package/fesm2022/ieeesa-npm-dashboard.mjs.map +1 -1
- package/lib/components/upcoming-meetings-events/upcoming-meetings-events.component.d.ts +22 -44
- package/lib/dashboard.component.d.ts +17 -6
- package/lib/models/event-meeting-list-item.model.d.ts +7 -0
- package/lib/models/upcoming-summary.model.d.ts +16 -0
- package/lib/services/dashboard.service.d.ts +5 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -233,11 +233,11 @@ export class MeetingAttendanceRowComponent {
|
|
|
233
233
|
});
|
|
234
234
|
}
|
|
235
235
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MeetingAttendanceRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
236
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MeetingAttendanceRowComponent, isStandalone: true, selector: "ieeesa-meeting-attendance-row", inputs: { meeting: "meeting", attendanceState: "attendanceState", isInFlight: "isInFlight", permissions: "permissions", compact: "compact" }, outputs: { openMeeting: "openMeeting", logAttendance: "logAttendance", leaveMeeting: "leaveMeeting", navigateToMeeting: "navigateToMeeting" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-meeting-attendance-row\"\r\n [class.ieeesa-meeting-attendance-row--compact]=\"compact\"\r\n>\r\n <!-- Meeting name + group/location (hidden in the compact standalone variant). -->\r\n <div class=\"ieeesa-meeting-attendance-row__name-col\">\r\n <ng-container *ngIf=\"!compact\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__name-link\"\r\n [disabled]=\"!isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.meetingNameLink\"\r\n (click)=\"onOpenMeeting()\"\r\n >\r\n {{ meeting.meetingName }}\r\n </button>\r\n\r\n <p class=\"ieeesa-meeting-attendance-row__subtitle\">\r\n {{ resolveFieldValue(meeting.groupOrCommittee) }}<ng-container\r\n *ngIf=\"meeting.roomOrLocation\"\r\n > · {{ meeting.roomOrLocation }}</ng-container>\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- MEETING DATE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--date\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.eventGroupCard.meetingDateLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n {{ formattedDate }}\r\n </dd>\r\n </dl>\r\n\r\n <!-- TIME & TIMEZONE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--time\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.meetingRow.timeTimezoneLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n <span class=\"ieeesa-meeting-attendance-row__time\">{{ timeRange }}</span><ng-container\r\n *ngIf=\"timezoneDisplay\"\r\n > <span class=\"ieeesa-meeting-attendance-row__tz\">{{ timezoneDisplay }}</span></ng-container>\r\n </dd>\r\n </dl>\r\n\r\n <!-- Attendance indicator + actions column. -->\r\n <div class=\"ieeesa-meeting-attendance-row__actions\">\r\n <!-- Fixed-width slot reserved for the attending pill so the action buttons\r\n stay column-aligned whether or not the pill is shown. -->\r\n <span class=\"ieeesa-meeting-attendance-row__attending-slot\">\r\n <span\r\n *ngIf=\"isCurrentlyAttending\"\r\n class=\"ieeesa-meeting-attendance-row__attending-pill\"\r\n >\r\n <span class=\"ieeesa-meeting-attendance-row__attending-dot\" aria-hidden=\"true\"></span>\r\n {{ constants.meetingRow.currentlyAttendingIndicator }}\r\n </span>\r\n </span>\r\n\r\n <!-- Log-attendance button: shown for eligible meetings, disabled (with the\r\n inactive message) when the meeting is not In Progress. -->\r\n <button\r\n *ngIf=\"showLogAttendanceButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--log\"\r\n [class.ieeesa-meeting-attendance-row__action-button--inactive]=\"isLogDisabled\"\r\n [disabled]=\"isLogDisabled\"\r\n [attr.title]=\"isLogDisabled ? inactiveMessage : null\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.logAttendance\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.logAttendanceLabel }}\r\n </button>\r\n\r\n <!-- Leave-meeting button: shown in the attending state with the permission. -->\r\n <button\r\n *ngIf=\"showLeaveMeetingButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--leave\"\r\n [disabled]=\"isInFlight || !isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.leaveMeeting\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.leaveMeetingLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-meeting-attendance-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(200px,1.3fr) auto;align-items:center;column-gap:24px;padding:16px 20px;background-color:#fff;font-family:Calibri Regular}.ieeesa-meeting-attendance-row__name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.ieeesa-meeting-attendance-row__name-link{padding:0;border:0;background:none;text-align:left;text-decoration:underline;font-family:Calibri Bold;font-size:.875rem;line-height:18px;color:#00629b;cursor:pointer}.ieeesa-meeting-attendance-row__name-link:hover:not(:disabled){color:#004872}.ieeesa-meeting-attendance-row__name-link:disabled{color:#939094;text-decoration:none;cursor:default}.ieeesa-meeting-attendance-row__subtitle{margin:0;font-size:.875rem;line-height:18px;color:#333436}.ieeesa-meeting-attendance-row__col{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0}.ieeesa-meeting-attendance-row__col-label{font-family:Calibri Bold;font-size:.75rem;letter-spacing:.03125em;text-transform:uppercase;color:#64748b}.ieeesa-meeting-attendance-row__col-value{margin:0;font-size:.875rem;line-height:18px;color:#0f172a}.ieeesa-meeting-attendance-row__time{font-family:Calibri Bold;color:#0f172a}.ieeesa-meeting-attendance-row__tz{color:#64748b}.ieeesa-meeting-attendance-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-slot{display:inline-flex;justify-content:flex-end;align-items:center;width:150px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:16px;white-space:nowrap;font-size:.8125rem;color:#15803d;background-color:#e8f5ec}.ieeesa-meeting-attendance-row__attending-dot{width:8px;height:8px;border-radius:50%;background-color:#15803d}.ieeesa-meeting-attendance-row__action-button{min-width:146px;padding:10px 24px;border-radius:3px;font-family:Calibri Bold;font-size:1rem;cursor:pointer}.ieeesa-meeting-attendance-row__action-button--log{border:1px solid #00629b;background-color:#00629b;color:#fff;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.ieeesa-meeting-attendance-row__action-button--leave{border:1px solid #00629b;background-color:#fff;color:#00629b}.ieeesa-meeting-attendance-row__action-button:disabled,.ieeesa-meeting-attendance-row__action-button--inactive{border-color:#e2e8f0;background-color:#f4f5f7;color:#939094;box-shadow:none;cursor:not-allowed}.ieeesa-meeting-attendance-row__view{min-width:60px;height:40px;padding:8px 16px;border:1px solid #878b8f;border-radius:4px;background-color:#fff;font-family:Calibri Bold;font-size:.8125rem;color:#0f172a;cursor:pointer}.ieeesa-meeting-attendance-row__view:hover:not(:disabled){background-color:#eaf3f9}.ieeesa-meeting-attendance-row__view:disabled{border-color:#e2e8f0;color:#939094;cursor:not-allowed}.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact)+.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact){border-top:1px solid #e2e8f0}.ieeesa-meeting-attendance-row--compact{grid-template-columns:minmax(180px,1.2fr) auto;padding:0}.ieeesa-meeting-attendance-row--compact .ieeesa-meeting-attendance-row__col--date{display:none}@media (max-width: 767px){.ieeesa-meeting-attendance-row{grid-template-columns:1fr;row-gap:12px}.ieeesa-meeting-attendance-row__actions{justify-content:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
236
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MeetingAttendanceRowComponent, isStandalone: true, selector: "ieeesa-meeting-attendance-row", inputs: { meeting: "meeting", attendanceState: "attendanceState", isInFlight: "isInFlight", permissions: "permissions", compact: "compact" }, outputs: { openMeeting: "openMeeting", logAttendance: "logAttendance", leaveMeeting: "leaveMeeting", navigateToMeeting: "navigateToMeeting" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-meeting-attendance-row\"\r\n [class.ieeesa-meeting-attendance-row--compact]=\"compact\"\r\n>\r\n <!-- Meeting name + group/location (hidden in the compact standalone variant). -->\r\n <div class=\"ieeesa-meeting-attendance-row__name-col\">\r\n <ng-container *ngIf=\"!compact\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__name-link\"\r\n [disabled]=\"!isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.meetingNameLink\"\r\n (click)=\"onOpenMeeting()\"\r\n >\r\n {{ meeting.meetingName }}\r\n </button>\r\n\r\n <p class=\"ieeesa-meeting-attendance-row__subtitle\">\r\n {{ resolveFieldValue(meeting.groupOrCommittee) }}<ng-container\r\n *ngIf=\"meeting.roomOrLocation\"\r\n > · {{ meeting.roomOrLocation }}</ng-container>\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- MEETING DATE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--date\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.eventGroupCard.meetingDateLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n {{ formattedDate }}\r\n </dd>\r\n </dl>\r\n\r\n <!-- TIME & TIMEZONE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--time\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.meetingRow.timeTimezoneLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n <span class=\"ieeesa-meeting-attendance-row__time\">{{ timeRange }}</span><ng-container\r\n *ngIf=\"timezoneDisplay\"\r\n > <span class=\"ieeesa-meeting-attendance-row__tz\">{{ timezoneDisplay }}</span></ng-container>\r\n </dd>\r\n </dl>\r\n\r\n <!-- Attendance indicator + actions column. -->\r\n <div class=\"ieeesa-meeting-attendance-row__actions\">\r\n <!-- Fixed-width slot reserved for the attending pill so the action buttons\r\n stay column-aligned whether or not the pill is shown. -->\r\n <span class=\"ieeesa-meeting-attendance-row__attending-slot\">\r\n <span\r\n *ngIf=\"isCurrentlyAttending\"\r\n class=\"ieeesa-meeting-attendance-row__attending-pill\"\r\n >\r\n <span class=\"ieeesa-meeting-attendance-row__attending-dot\" aria-hidden=\"true\"></span>\r\n {{ constants.meetingRow.currentlyAttendingIndicator }}\r\n </span>\r\n </span>\r\n\r\n <!-- Log-attendance button: shown for eligible meetings, disabled (with the\r\n inactive message) when the meeting is not In Progress. -->\r\n <button\r\n *ngIf=\"showLogAttendanceButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--log\"\r\n [class.ieeesa-meeting-attendance-row__action-button--inactive]=\"isLogDisabled\"\r\n [disabled]=\"isLogDisabled\"\r\n [attr.title]=\"isLogDisabled ? inactiveMessage : null\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.logAttendance\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.logAttendanceLabel }}\r\n </button>\r\n\r\n <!-- Leave-meeting button: shown in the attending state with the permission. -->\r\n <button\r\n *ngIf=\"showLeaveMeetingButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--leave\"\r\n [disabled]=\"isInFlight || !isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.leaveMeeting\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.leaveMeetingLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-meeting-attendance-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(200px,1.3fr) auto;align-items:center;column-gap:24px;padding:16px 20px;background-color:#fff;font-family:Calibri Regular;border-bottom:1px solid #E2E8F0}.ieeesa-meeting-attendance-row__name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.ieeesa-meeting-attendance-row__name-link{padding:0;border:0;background:none;text-align:left;text-decoration:underline;font-family:Calibri Bold;font-size:.875rem;line-height:18px;color:#00629b;cursor:pointer}.ieeesa-meeting-attendance-row__name-link:hover:not(:disabled){color:#004872}.ieeesa-meeting-attendance-row__name-link:disabled{color:#939094;text-decoration:none;cursor:default}.ieeesa-meeting-attendance-row__subtitle{margin:0;font-size:.875rem;line-height:18px;color:#333436}.ieeesa-meeting-attendance-row__col{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0}.ieeesa-meeting-attendance-row__col-label{font-family:Calibri Bold;font-size:.75rem;letter-spacing:.03125em;text-transform:uppercase;color:#64748b}.ieeesa-meeting-attendance-row__col-value{margin:0;font-size:.875rem;line-height:18px;color:#0f172a}.ieeesa-meeting-attendance-row__time{font-family:Calibri Bold;color:#0f172a}.ieeesa-meeting-attendance-row__tz{color:#64748b}.ieeesa-meeting-attendance-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-slot{display:inline-flex;justify-content:flex-end;align-items:center;width:150px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:16px;white-space:nowrap;font-size:.8125rem;color:#15803d;background-color:#e8f5ec}.ieeesa-meeting-attendance-row__attending-dot{width:8px;height:8px;border-radius:50%;background-color:#15803d}.ieeesa-meeting-attendance-row__action-button{min-width:146px;padding:10px 24px;border-radius:3px;font-family:Calibri Bold;font-size:1rem;cursor:pointer}.ieeesa-meeting-attendance-row__action-button--log{border:1px solid #00629b;background-color:#00629b;color:#fff;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.ieeesa-meeting-attendance-row__action-button--leave{border:1px solid #00629b;background-color:#fff;color:#00629b}.ieeesa-meeting-attendance-row__action-button:disabled,.ieeesa-meeting-attendance-row__action-button--inactive{border-color:#e2e8f0;background-color:#f4f5f7;color:#939094;box-shadow:none;cursor:not-allowed}.ieeesa-meeting-attendance-row__view{min-width:60px;height:40px;padding:8px 16px;border:1px solid #878b8f;border-radius:4px;background-color:#fff;font-family:Calibri Bold;font-size:.8125rem;color:#0f172a;cursor:pointer}.ieeesa-meeting-attendance-row__view:hover:not(:disabled){background-color:#eaf3f9}.ieeesa-meeting-attendance-row__view:disabled{border-color:#e2e8f0;color:#939094;cursor:not-allowed}.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact)+.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact){border-top:1px solid #e2e8f0}.ieeesa-meeting-attendance-row--compact{grid-template-columns:minmax(180px,1.2fr) auto;padding:0}.ieeesa-meeting-attendance-row--compact .ieeesa-meeting-attendance-row__col--date{display:none}@media (max-width: 767px){.ieeesa-meeting-attendance-row{grid-template-columns:1fr;row-gap:12px}.ieeesa-meeting-attendance-row__actions{justify-content:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
237
237
|
}
|
|
238
238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MeetingAttendanceRowComponent, decorators: [{
|
|
239
239
|
type: Component,
|
|
240
|
-
args: [{ selector: 'ieeesa-meeting-attendance-row', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-meeting-attendance-row\"\r\n [class.ieeesa-meeting-attendance-row--compact]=\"compact\"\r\n>\r\n <!-- Meeting name + group/location (hidden in the compact standalone variant). -->\r\n <div class=\"ieeesa-meeting-attendance-row__name-col\">\r\n <ng-container *ngIf=\"!compact\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__name-link\"\r\n [disabled]=\"!isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.meetingNameLink\"\r\n (click)=\"onOpenMeeting()\"\r\n >\r\n {{ meeting.meetingName }}\r\n </button>\r\n\r\n <p class=\"ieeesa-meeting-attendance-row__subtitle\">\r\n {{ resolveFieldValue(meeting.groupOrCommittee) }}<ng-container\r\n *ngIf=\"meeting.roomOrLocation\"\r\n > · {{ meeting.roomOrLocation }}</ng-container>\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- MEETING DATE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--date\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.eventGroupCard.meetingDateLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n {{ formattedDate }}\r\n </dd>\r\n </dl>\r\n\r\n <!-- TIME & TIMEZONE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--time\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.meetingRow.timeTimezoneLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n <span class=\"ieeesa-meeting-attendance-row__time\">{{ timeRange }}</span><ng-container\r\n *ngIf=\"timezoneDisplay\"\r\n > <span class=\"ieeesa-meeting-attendance-row__tz\">{{ timezoneDisplay }}</span></ng-container>\r\n </dd>\r\n </dl>\r\n\r\n <!-- Attendance indicator + actions column. -->\r\n <div class=\"ieeesa-meeting-attendance-row__actions\">\r\n <!-- Fixed-width slot reserved for the attending pill so the action buttons\r\n stay column-aligned whether or not the pill is shown. -->\r\n <span class=\"ieeesa-meeting-attendance-row__attending-slot\">\r\n <span\r\n *ngIf=\"isCurrentlyAttending\"\r\n class=\"ieeesa-meeting-attendance-row__attending-pill\"\r\n >\r\n <span class=\"ieeesa-meeting-attendance-row__attending-dot\" aria-hidden=\"true\"></span>\r\n {{ constants.meetingRow.currentlyAttendingIndicator }}\r\n </span>\r\n </span>\r\n\r\n <!-- Log-attendance button: shown for eligible meetings, disabled (with the\r\n inactive message) when the meeting is not In Progress. -->\r\n <button\r\n *ngIf=\"showLogAttendanceButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--log\"\r\n [class.ieeesa-meeting-attendance-row__action-button--inactive]=\"isLogDisabled\"\r\n [disabled]=\"isLogDisabled\"\r\n [attr.title]=\"isLogDisabled ? inactiveMessage : null\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.logAttendance\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.logAttendanceLabel }}\r\n </button>\r\n\r\n <!-- Leave-meeting button: shown in the attending state with the permission. -->\r\n <button\r\n *ngIf=\"showLeaveMeetingButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--leave\"\r\n [disabled]=\"isInFlight || !isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.leaveMeeting\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.leaveMeetingLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-meeting-attendance-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(200px,1.3fr) auto;align-items:center;column-gap:24px;padding:16px 20px;background-color:#fff;font-family:Calibri Regular}.ieeesa-meeting-attendance-row__name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.ieeesa-meeting-attendance-row__name-link{padding:0;border:0;background:none;text-align:left;text-decoration:underline;font-family:Calibri Bold;font-size:.875rem;line-height:18px;color:#00629b;cursor:pointer}.ieeesa-meeting-attendance-row__name-link:hover:not(:disabled){color:#004872}.ieeesa-meeting-attendance-row__name-link:disabled{color:#939094;text-decoration:none;cursor:default}.ieeesa-meeting-attendance-row__subtitle{margin:0;font-size:.875rem;line-height:18px;color:#333436}.ieeesa-meeting-attendance-row__col{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0}.ieeesa-meeting-attendance-row__col-label{font-family:Calibri Bold;font-size:.75rem;letter-spacing:.03125em;text-transform:uppercase;color:#64748b}.ieeesa-meeting-attendance-row__col-value{margin:0;font-size:.875rem;line-height:18px;color:#0f172a}.ieeesa-meeting-attendance-row__time{font-family:Calibri Bold;color:#0f172a}.ieeesa-meeting-attendance-row__tz{color:#64748b}.ieeesa-meeting-attendance-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-slot{display:inline-flex;justify-content:flex-end;align-items:center;width:150px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:16px;white-space:nowrap;font-size:.8125rem;color:#15803d;background-color:#e8f5ec}.ieeesa-meeting-attendance-row__attending-dot{width:8px;height:8px;border-radius:50%;background-color:#15803d}.ieeesa-meeting-attendance-row__action-button{min-width:146px;padding:10px 24px;border-radius:3px;font-family:Calibri Bold;font-size:1rem;cursor:pointer}.ieeesa-meeting-attendance-row__action-button--log{border:1px solid #00629b;background-color:#00629b;color:#fff;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.ieeesa-meeting-attendance-row__action-button--leave{border:1px solid #00629b;background-color:#fff;color:#00629b}.ieeesa-meeting-attendance-row__action-button:disabled,.ieeesa-meeting-attendance-row__action-button--inactive{border-color:#e2e8f0;background-color:#f4f5f7;color:#939094;box-shadow:none;cursor:not-allowed}.ieeesa-meeting-attendance-row__view{min-width:60px;height:40px;padding:8px 16px;border:1px solid #878b8f;border-radius:4px;background-color:#fff;font-family:Calibri Bold;font-size:.8125rem;color:#0f172a;cursor:pointer}.ieeesa-meeting-attendance-row__view:hover:not(:disabled){background-color:#eaf3f9}.ieeesa-meeting-attendance-row__view:disabled{border-color:#e2e8f0;color:#939094;cursor:not-allowed}.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact)+.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact){border-top:1px solid #e2e8f0}.ieeesa-meeting-attendance-row--compact{grid-template-columns:minmax(180px,1.2fr) auto;padding:0}.ieeesa-meeting-attendance-row--compact .ieeesa-meeting-attendance-row__col--date{display:none}@media (max-width: 767px){.ieeesa-meeting-attendance-row{grid-template-columns:1fr;row-gap:12px}.ieeesa-meeting-attendance-row__actions{justify-content:flex-start}}\n"] }]
|
|
240
|
+
args: [{ selector: 'ieeesa-meeting-attendance-row', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-meeting-attendance-row\"\r\n [class.ieeesa-meeting-attendance-row--compact]=\"compact\"\r\n>\r\n <!-- Meeting name + group/location (hidden in the compact standalone variant). -->\r\n <div class=\"ieeesa-meeting-attendance-row__name-col\">\r\n <ng-container *ngIf=\"!compact\">\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__name-link\"\r\n [disabled]=\"!isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.meetingNameLink\"\r\n (click)=\"onOpenMeeting()\"\r\n >\r\n {{ meeting.meetingName }}\r\n </button>\r\n\r\n <p class=\"ieeesa-meeting-attendance-row__subtitle\">\r\n {{ resolveFieldValue(meeting.groupOrCommittee) }}<ng-container\r\n *ngIf=\"meeting.roomOrLocation\"\r\n > · {{ meeting.roomOrLocation }}</ng-container>\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- MEETING DATE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--date\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.eventGroupCard.meetingDateLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n {{ formattedDate }}\r\n </dd>\r\n </dl>\r\n\r\n <!-- TIME & TIMEZONE column. -->\r\n <dl class=\"ieeesa-meeting-attendance-row__col ieeesa-meeting-attendance-row__col--time\">\r\n <dt class=\"ieeesa-meeting-attendance-row__col-label\">\r\n {{ constants.meetingRow.timeTimezoneLabel }}\r\n </dt>\r\n <dd class=\"ieeesa-meeting-attendance-row__col-value\">\r\n <span class=\"ieeesa-meeting-attendance-row__time\">{{ timeRange }}</span><ng-container\r\n *ngIf=\"timezoneDisplay\"\r\n > <span class=\"ieeesa-meeting-attendance-row__tz\">{{ timezoneDisplay }}</span></ng-container>\r\n </dd>\r\n </dl>\r\n\r\n <!-- Attendance indicator + actions column. -->\r\n <div class=\"ieeesa-meeting-attendance-row__actions\">\r\n <!-- Fixed-width slot reserved for the attending pill so the action buttons\r\n stay column-aligned whether or not the pill is shown. -->\r\n <span class=\"ieeesa-meeting-attendance-row__attending-slot\">\r\n <span\r\n *ngIf=\"isCurrentlyAttending\"\r\n class=\"ieeesa-meeting-attendance-row__attending-pill\"\r\n >\r\n <span class=\"ieeesa-meeting-attendance-row__attending-dot\" aria-hidden=\"true\"></span>\r\n {{ constants.meetingRow.currentlyAttendingIndicator }}\r\n </span>\r\n </span>\r\n\r\n <!-- Log-attendance button: shown for eligible meetings, disabled (with the\r\n inactive message) when the meeting is not In Progress. -->\r\n <button\r\n *ngIf=\"showLogAttendanceButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--log\"\r\n [class.ieeesa-meeting-attendance-row__action-button--inactive]=\"isLogDisabled\"\r\n [disabled]=\"isLogDisabled\"\r\n [attr.title]=\"isLogDisabled ? inactiveMessage : null\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.logAttendance\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.logAttendanceLabel }}\r\n </button>\r\n\r\n <!-- Leave-meeting button: shown in the attending state with the permission. -->\r\n <button\r\n *ngIf=\"showLeaveMeetingButton\"\r\n type=\"button\"\r\n class=\"ieeesa-meeting-attendance-row__action-button ieeesa-meeting-attendance-row__action-button--leave\"\r\n [disabled]=\"isInFlight || !isActionable\"\r\n [attr.aria-label]=\"constants.meetingRow.ariaLabel.leaveMeeting\"\r\n (click)=\"onAttendanceAction()\"\r\n >\r\n {{ constants.meetingRow.leaveMeetingLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-meeting-attendance-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(200px,1.3fr) auto;align-items:center;column-gap:24px;padding:16px 20px;background-color:#fff;font-family:Calibri Regular;border-bottom:1px solid #E2E8F0}.ieeesa-meeting-attendance-row__name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.ieeesa-meeting-attendance-row__name-link{padding:0;border:0;background:none;text-align:left;text-decoration:underline;font-family:Calibri Bold;font-size:.875rem;line-height:18px;color:#00629b;cursor:pointer}.ieeesa-meeting-attendance-row__name-link:hover:not(:disabled){color:#004872}.ieeesa-meeting-attendance-row__name-link:disabled{color:#939094;text-decoration:none;cursor:default}.ieeesa-meeting-attendance-row__subtitle{margin:0;font-size:.875rem;line-height:18px;color:#333436}.ieeesa-meeting-attendance-row__col{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0}.ieeesa-meeting-attendance-row__col-label{font-family:Calibri Bold;font-size:.75rem;letter-spacing:.03125em;text-transform:uppercase;color:#64748b}.ieeesa-meeting-attendance-row__col-value{margin:0;font-size:.875rem;line-height:18px;color:#0f172a}.ieeesa-meeting-attendance-row__time{font-family:Calibri Bold;color:#0f172a}.ieeesa-meeting-attendance-row__tz{color:#64748b}.ieeesa-meeting-attendance-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-slot{display:inline-flex;justify-content:flex-end;align-items:center;width:150px;flex-shrink:0}.ieeesa-meeting-attendance-row__attending-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:16px;white-space:nowrap;font-size:.8125rem;color:#15803d;background-color:#e8f5ec}.ieeesa-meeting-attendance-row__attending-dot{width:8px;height:8px;border-radius:50%;background-color:#15803d}.ieeesa-meeting-attendance-row__action-button{min-width:146px;padding:10px 24px;border-radius:3px;font-family:Calibri Bold;font-size:1rem;cursor:pointer}.ieeesa-meeting-attendance-row__action-button--log{border:1px solid #00629b;background-color:#00629b;color:#fff;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.ieeesa-meeting-attendance-row__action-button--leave{border:1px solid #00629b;background-color:#fff;color:#00629b}.ieeesa-meeting-attendance-row__action-button:disabled,.ieeesa-meeting-attendance-row__action-button--inactive{border-color:#e2e8f0;background-color:#f4f5f7;color:#939094;box-shadow:none;cursor:not-allowed}.ieeesa-meeting-attendance-row__view{min-width:60px;height:40px;padding:8px 16px;border:1px solid #878b8f;border-radius:4px;background-color:#fff;font-family:Calibri Bold;font-size:.8125rem;color:#0f172a;cursor:pointer}.ieeesa-meeting-attendance-row__view:hover:not(:disabled){background-color:#eaf3f9}.ieeesa-meeting-attendance-row__view:disabled{border-color:#e2e8f0;color:#939094;cursor:not-allowed}.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact)+.ieeesa-meeting-attendance-row:not(.ieeesa-meeting-attendance-row--compact){border-top:1px solid #e2e8f0}.ieeesa-meeting-attendance-row--compact{grid-template-columns:minmax(180px,1.2fr) auto;padding:0}.ieeesa-meeting-attendance-row--compact .ieeesa-meeting-attendance-row__col--date{display:none}@media (max-width: 767px){.ieeesa-meeting-attendance-row{grid-template-columns:1fr;row-gap:12px}.ieeesa-meeting-attendance-row__actions{justify-content:flex-start}}\n"] }]
|
|
241
241
|
}], propDecorators: { meeting: [{
|
|
242
242
|
type: Input
|
|
243
243
|
}], attendanceState: [{
|
|
@@ -257,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
257
257
|
}], navigateToMeeting: [{
|
|
258
258
|
type: Output
|
|
259
259
|
}] } });
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL21lZXRpbmctYXR0ZW5kYW5jZS1yb3cvbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL21lZXRpbmctYXR0ZW5kYW5jZS1yb3cvbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRTNEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFVSCxNQUFNLE9BQU8sNkJBQTZCO0lBVDFDO1FBVUUsOERBQThEO1FBQzlELGNBQVMsR0FBUSxXQUFXLENBQUM7UUFLN0IsMkVBQTJFO1FBQ2xFLG9CQUFlLEdBQW9CLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFFMUUsNEVBQTRFO1FBQ25FLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUIsMEVBQTBFO1FBQ2pFLGdCQUFXLEdBQWdDO1lBQ2xELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsZUFBZSxFQUFFLEtBQUs7U0FDdkIs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RSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDakMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUN6QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFDRCw0RUFBNEU7UUFDNUUsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7WUFDcEMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5RVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzWEN0QzFDLG8wSEF5RkEsMHBZRHhEWSxZQUFZOzs0RkFLWCw2QkFBNkI7a0JBVHpDLFNBQVM7K0JBRUUsK0JBQStCLGNBQzdCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQU81QixPQUFPO3NCQUFmLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBVUcsT0FBTztzQkFBZixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0csYUFBYTtzQkFBdEIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNO2dCQU9HLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF0dGVuZGFuY2VBY3Rpb25QZXJtaXNzaW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlLWFjdGlvbi1wZXJtaXNzaW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IEF0dGVuZGFuY2VTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgTWVldGluZ1JvdyB9IGZyb20gJy4uLy4uL21vZGVscy9tZWV0aW5nLXJvdy5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2RhdGUtZm9ybWF0cyc7XHJcbmltcG9ydCB7IGZvcm1hdEVwb2NoIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGF0ZS1mb3JtYXQudXRpbCc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcblxyXG4vKipcclxuICogTWVldGluZ19BdHRlbmRhbmNlX1JvdyByZW5kZXJzIGEgc2luZ2xlIG1lZXRpbmcgd2l0aGluIGFuIGV2ZW50LWdyb3VwIGNhcmQ6XHJcbiAqIHRoZSBtZWV0aW5nLW5hbWUgbGluaywgZ3JvdXAvY29tbWl0dGVlLCByb29tL2xvY2F0aW9uLCBkYXRlLCBhbmRcclxuICogdGltZSt0aW1lem9uZSAoYWxsIGx1eG9uLWZvcm1hdHRlZCksIHRvZ2V0aGVyIHdpdGggdGhlIGF0dGVuZGFuY2UgYWN0aW9uXHJcbiAqIGJ1dHRvbiB0aGF0IGRyaXZlcyB0aGUgcGVyLW1lZXRpbmcgYXR0ZW5kYW5jZSBzdGF0ZSBtYWNoaW5lLlxyXG4gKlxyXG4gKiBUaGUgY29tcG9uZW50IGlzIHB1cmVseSBwcmVzZW50YXRpb25hbCDigJQgaXQgZW1pdHMgbmF2aWdhdGlvbiBhbmQgYXR0ZW5kYW5jZVxyXG4gKiBpbnRlbnRzIHZpYSBgQE91dHB1dCgpYCBhbmQgbmV2ZXIgcGVyZm9ybXMgbmF2aWdhdGlvbiBvciBIVFRQIGl0c2VsZi4gVGhlXHJcbiAqIGFjdGlvbiBidXR0b24gZGVsZWdhdGVzIHRvIHRoZSBwdXJlIGByZXNvbHZlQXR0ZW5kYW5jZUFjdGlvbmAgaGFuZGxlciBzbyB0aGVcclxuICogZW1pdC9ndWFyZCBsb2dpYyBpcyBzaGFyZWQgd2l0aCB0aGUgcHJvcGVydHktdGVzdGVkIGNvcmUgKFByb3BlcnR5IDEpLCBhbmQgdGhlXHJcbiAqIGRpc3BsYXllZCBzdGF0ZSBvbmx5IGFkdmFuY2VzIHdoZW4gdGhlIGhvc3QgdXBkYXRlcyBgYXR0ZW5kYW5jZVN0YXRlYC5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvdycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudCB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG5cclxuICAvKiogVGhlIG1lZXRpbmcgcmVuZGVyZWQgYnkgdGhpcyByb3cuICovXHJcbiAgQElucHV0KCkgbWVldGluZyE6IE1lZXRpbmdSb3c7XHJcblxyXG4gIC8qKiBUaGUgY3VycmVudCBhdHRlbmRhbmNlIHN0YXRlIGNvbnRyb2xsaW5nIGxhYmVsL2luZGljYXRvciBhbmQgYWN0aW9uLiAqL1xyXG4gIEBJbnB1dCgpIGF0dGVuZGFuY2VTdGF0ZTogQXR0ZW5kYW5jZVN0YXRlID0gQXR0ZW5kYW5jZVN0YXRlLk5PVF9BVFRFTkRJTkc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIGFuIGF0dGVuZGFuY2UgYWN0aW9uIGZvciB0aGlzIG1lZXRpbmcgaXMgYXdhaXRpbmcgcmVzb2x1dGlvbi4gKi9cclxuICBASW5wdXQoKSBpc0luRmxpZ2h0ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBIb3N0IHBlcm1pc3Npb25zIGdhdGluZyB0aGUgbG9nLWF0dGVuZGFuY2UgLyBsZWF2ZS1tZWV0aW5nIGJ1dHRvbnMuICovXHJcbiAgQElucHV0KCkgcGVybWlzc2lvbnM6IEF0dGVuZGFuY2VBY3Rpb25QZXJtaXNzaW9ucyA9IHtcclxuICAgIGNhbkxvZ0F0dGVuZGFuY2U6IGZhbHNlLFxyXG4gICAgY2FuTGVhdmVNZWV0aW5nOiBmYWxzZSxcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZW5kZXJzIHRoZSBsZWFuZXIgXCJzdGFuZGFsb25lIG1lZXRpbmdcIiB2YXJpYW50IHVzZWQgYnkgc3RhbmRhbG9uZS1tZWV0aW5nXHJcbiAgICogY2FyZHMgKHRoZSBncm91cC9sb2NhdGlvbiBhbmQgc3RhdHVzIGxpdmUgb24gdGhlIHBhcmVudCBjYXJkLCBzbyB0aGUgcm93XHJcbiAgICogb25seSBzaG93cyB0aGUgVElNRSAmIFRJTUVaT05FIGJsb2NrIGFuZCB0aGUgYXR0ZW5kYW5jZSArIFZpZXcgYWN0aW9ucykuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29tcGFjdCA9IGZhbHNlO1xyXG5cclxuICAvKiogRW1pdHMgdGhlIG1lZXRpbmcgaWQgd2hlbiB0aGUgbWVldGluZy1uYW1lIGxpbmsgaXMgYWN0aXZhdGVkIChSZXEgNy40KS4gKi9cclxuICBAT3V0cHV0KCkgb3Blbk1lZXRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqIEVtaXRzIHRoZSBtZWV0aW5nIGlkIHRvIHJlcXVlc3QgbG9nZ2luZyBhdHRlbmRhbmNlIChSZXEgNy43KS4gKi9cclxuICBAT3V0cHV0KCkgbG9nQXR0ZW5kYW5jZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKiogRW1pdHMgdGhlIG1lZXRpbmcgaWQgdG8gcmVxdWVzdCBsZWF2aW5nIHRoZSBtZWV0aW5nIChSZXEgNy44KS4gKi9cclxuICBAT3V0cHV0KCkgbGVhdmVNZWV0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBvd25pbmcgZXZlbnQgaWQgKyBtZWV0aW5nIGlkIHdoZW4gdGhlIGF0dGVuZGFuY2UgYnV0dG9uIGlzXHJcbiAgICogYWN0aXZhdGVkIGZvciBhbiBJbi1Qcm9ncmVzcyBtZWV0aW5nLCBzbyB0aGUgaG9zdCBjYW4gbmF2aWdhdGUgdG8gdGhlXHJcbiAgICogdmlldy1tZWV0aW5nIHNjcmVlbiAod2hlcmUgdGhlIHJlYWwgTG9nIEF0dGVuZGFuY2UgcG9wdXAgb3BlbnMpLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZVRvTWVldGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnRJZDogc3RyaW5nO1xyXG4gICAgbWVldGluZ0lkOiBzdHJpbmc7XHJcbiAgICBsb2dBdHRlbmRhbmNlPzogYm9vbGVhbjtcclxuICAgIGxlYXZlTWVldGluZz86IGJvb2xlYW47XHJcbiAgfT4oKTtcclxuXHJcbiAgLyoqIEV4cG9zZSB0aGUgZW51bSB0byB0aGUgdGVtcGxhdGUgZm9yIHN0YXRlIGNvbXBhcmlzb25zLiAqL1xyXG4gIHJlYWRvbmx5IEF0dGVuZGFuY2VTdGF0ZSA9IEF0dGVuZGFuY2VTdGF0ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgbWVldGluZyBpcyBlbGlnaWJsZSBmb3IgYW4gYXR0ZW5kYW5jZSBhY3Rpb24gKGFuIGF0dGVuZGFuY2VcclxuICAgKiBidXR0b24gaXMgcmVuZGVyZWQgYXQgYWxsKS4gVGhlIGJhY2tlbmQgc3VwcGxpZXMgYW4gYGF0dGVuZGFuY2VTdGF0ZWAgZm9yXHJcbiAgICogZXZlcnkgbG9nZ2FibGUgbWVldGluZywgc28gaXRzIHByZXNlbmNlIGlzIHRoZSBlbGlnaWJpbGl0eSBzaWduYWwuIFJvd3MgdGhlXHJcbiAgICogYmFja2VuZCBkZWVtcyBpbmVsaWdpYmxlIGNhcnJ5IG5vIHN0YXRlIGFuZCByZW5kZXIgbm8gYnV0dG9uLlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgd2hlbiB0aGUgbWVldGluZyBpcyBhdHRlbmRhbmNlLWVsaWdpYmxlLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBpc0VsaWdpYmxlRm9yQXR0ZW5kYW5jZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMubWVldGluZz8uYXR0ZW5kYW5jZVN0YXRlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgbWVldGluZyBpcyBjdXJyZW50bHkgSW4gUHJvZ3Jlc3MuIE1pcnJvcnMgdGhlIGF0dGVuZGFuY2VcclxuICAgKiBsaWJyYXJ5J3MgYGlzTWVldGluZ0FjdGl2ZWA6IHRoZSBhdHRlbmRhbmNlIGJ1dHRvbiBpcyBvbmx5IEVOQUJMRUQgZHVyaW5nXHJcbiAgICogdGhlIG1lZXRpbmc7IG91dHNpZGUgdGhlIG1lZXRpbmcgdGltZSBpdCByZW5kZXJzIGRpc2FibGVkIHdpdGggdGhlIGluYWN0aXZlXHJcbiAgICogbWVzc2FnZS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIG1lZXRpbmcgc3RhdHVzIGlzICdJbiBQcm9ncmVzcycuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IGlzTWVldGluZ0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5tZWV0aW5nPy5zdGF0dXMgPz8gJycpLnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSAnaW4gcHJvZ3Jlc3MnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBpbmFjdGl2ZS1idXR0b24gbWVzc2FnZSBzaG93biB3aGVuIHRoZSBtZWV0aW5nIGlzIG5vdCBJbiBQcm9ncmVzcy4gKi9cclxuICBnZXQgaW5hY3RpdmVNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmNvbnN0YW50cz8ubWVldGluZ1Jvdz8uaW5hY3RpdmVNZXNzYWdlID8/XHJcbiAgICAgICdBdHRlbmRhbmNlIGxvZ2dpbmcgb25seSBhdmFpbGFibGUgZHVyaW5nIG1lZXRpbmcsIFBsZWFzZSBjb250YWN0IHlvdXIgbWVldGluZyBhZG1pbmlzdHJhdG9yIGZvciBhbnkgbmVjZXNzYXJ5IGNvcnJlY3Rpb25zLidcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoaXMgcm93IGlzIGFjdGlvbmFibGUg4oCUIGEgbm9uLWVtcHR5IGBtZWV0aW5nSWRgIGlzIHJlcXVpcmVkIGZvciB0aGVcclxuICAgKiBtZWV0aW5nLW5hbWUgbGluayBhbmQgYWN0aW9uIGJ1dHRvbiB0byBlbWl0IGFueXRoaW5nIChSZXEgNy4xMCkuXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSB3aGVuIHRoZSByb3cgaGFzIGEgdXNhYmxlIG1lZXRpbmcgaWQuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IGlzQWN0aW9uYWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMubWVldGluZz8ubWVldGluZ0lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgcm93IGlzIGluIHRoZSBjdXJyZW50bHktYXR0ZW5kaW5nIHN0YXRlLCB3aGljaCBzaG93cyB0aGVcclxuICAgKiBjdXJyZW50bHktYXR0ZW5kaW5nIGluZGljYXRvciBhbmQgdGhlIGxlYXZlLW1lZXRpbmcgYWN0aW9uIChSZXEgNy41KS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIGF0dGVuZGFuY2Ugc3RhdGUgaXMgYENVUlJFTlRMWV9BVFRFTkRJTkdgLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBpc0N1cnJlbnRseUF0dGVuZGluZygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmF0dGVuZGFuY2VTdGF0ZSA9PT0gQXR0ZW5kYW5jZVN0YXRlLkNVUlJFTlRMWV9BVFRFTkRJTkc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBsb2ctYXR0ZW5kYW5jZSBidXR0b24gc2hvdWxkIGJlIHNob3duOiB3aGVuZXZlciB0aGUgcm93IGlzIG5vdFxyXG4gICAqIGN1cnJlbnRseSBhdHRlbmRpbmcuIE1pcnJvcnMgdGhlIGF0dGVuZGFuY2UgbGlicmFyeSwgd2hpY2ggdG9nZ2xlcyBiZXR3ZWVuXHJcbiAgICogTG9nIEF0dGVuZGFuY2UgYW5kIExlYXZlIE1lZXRpbmcgcHVyZWx5IG9uIGF0dGVuZGFuY2Ugc3RhdGUgKG5vIHBlcm1pc3Npb25cclxuICAgKiBnYXRpbmcpLlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgd2hlbiB0aGUgbG9nLWF0dGVuZGFuY2UgYnV0dG9uIGlzIHZpc2libGUuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHNob3dMb2dBdHRlbmRhbmNlQnV0dG9uKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gU2hvd24gZm9yIGV2ZXJ5IGVsaWdpYmxlLCBub3QtY3VycmVudGx5LWF0dGVuZGluZyBtZWV0aW5nLiBXaGVuIHRoZVxyXG4gICAgLy8gbWVldGluZyBpcyBub3QgSW4gUHJvZ3Jlc3MgdGhlIGJ1dHRvbiByZW5kZXJzIGRpc2FibGVkIChzZWUgaXNMb2dEaXNhYmxlZCkuXHJcbiAgICByZXR1cm4gdGhpcy5pc0VsaWdpYmxlRm9yQXR0ZW5kYW5jZSAmJiAhdGhpcy5pc0N1cnJlbnRseUF0dGVuZGluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIExvZyBBdHRlbmRhbmNlIGJ1dHRvbiBpcyBkaXNhYmxlZDogb3V0c2lkZSB0aGUgbWVldGluZyB0aW1lXHJcbiAgICogKG5vdCBJbiBQcm9ncmVzcykgb3Igd2hpbGUgYW4gYXR0ZW5kYW5jZSBhY3Rpb24gaXMgaW4gZmxpZ2h0LiBNYXRjaGVzIHRoZVxyXG4gICAqIHZpZXctbWVldGluZyBwYWdlLCB3aGljaCBkaXNhYmxlcyB0aGUgYnV0dG9uIHdpdGggYW4gaW5hY3RpdmUgbWVzc2FnZSB3aGVuXHJcbiAgICogdGhlIG1lZXRpbmcgaXMgbm90IGFjdGl2ZS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIExvZyBBdHRlbmRhbmNlIGJ1dHRvbiBzaG91bGQgYmUgZGlzYWJsZWQuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IGlzTG9nRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNNZWV0aW5nQWN0aXZlIHx8IHRoaXMuaXNJbkZsaWdodCB8fCAhdGhpcy5pc0FjdGlvbmFibGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBsZWF2ZS1tZWV0aW5nIGJ1dHRvbiBzaG91bGQgYmUgc2hvd246IHdoZW5ldmVyIHRoZSByb3cgaXNcclxuICAgKiBjdXJyZW50bHkgYXR0ZW5kaW5nLiBNaXJyb3JzIHRoZSBhdHRlbmRhbmNlIGxpYnJhcnkgKG5vIHBlcm1pc3Npb24gZ2F0aW5nKS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIGxlYXZlLW1lZXRpbmcgYnV0dG9uIGlzIHZpc2libGUuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHNob3dMZWF2ZU1lZXRpbmdCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICAvLyBMZWF2ZSBNZWV0aW5nIGlzIG9ubHkgbWVhbmluZ2Z1bCB3aGlsZSB0aGUgbWVldGluZyBpcyBhY3RpdmUuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmlzRWxpZ2libGVGb3JBdHRlbmRhbmNlICYmXHJcbiAgICAgIHRoaXMuaXNDdXJyZW50bHlBdHRlbmRpbmcgJiZcclxuICAgICAgdGhpcy5pc01lZXRpbmdBY3RpdmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNvbHZlcyBhIGdyb3VwLW9yLWNvbW1pdHRlZSAvIHJvb20tb3ItbG9jYXRpb24gZmllbGQgdmFsdWUsIHN1YnN0aXR1dGluZ1xyXG4gICAqIHRoZSBlbXB0eS1maWVsZCBwbGFjZWhvbGRlciBmcm9tIGBjb25zdGFudHMuanNvbmAgd2hlbiB0aGUgdmFsdWUgaXMgZW1wdHkgb3JcclxuICAgKiB1bmRlZmluZWQgKFJlcSA3LjIpLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSByYXcgZmllbGQgdmFsdWUgZnJvbSB0aGUgbWVldGluZy5cclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB2YWx1ZSB0byBkaXNwbGF5LCBvciB0aGUgZW1wdHktZmllbGQgcGxhY2Vob2xkZXIuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgcmVzb2x2ZUZpZWxkVmFsdWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9XHJcbiAgICAgIHRoaXMuY29uc3RhbnRzPy5tZWV0aW5nUm93Py5lbXB0eUZpZWxkUGxhY2Vob2xkZXIgPz8gJ+KAlCc7XHJcbiAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUudHJpbSgpLmxlbmd0aCA+IDAgPyB2YWx1ZSA6IHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybWF0cyB0aGUgbWVldGluZyBkYXRlIGZvciBkaXNwbGF5IHVzaW5nIHRoZSBzaGFyZWQgbHV4b24gZGlzcGxheSBmb3JtYXRcclxuICAgKiAoUmVxIDcuMykuIEZhbGxzIGJhY2sgdG8gdGhlIHJhdyB2YWx1ZSB3aGVuIGl0IGNhbm5vdCBiZSBwYXJzZWQuXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgZm9ybWF0dGVkIG1lZXRpbmcgZGF0ZS5cclxuICAgKiBAbWVtYmVyb2YgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgZm9ybWF0dGVkRGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPVxyXG4gICAgICB0aGlzLm1lZXRpbmc/LnN0YXJ0RGF0ZVRpbWUgPz8gdGhpcy5tZWV0aW5nPy5tZWV0aW5nRGF0ZTtcclxuICAgIHJldHVybiBmb3JtYXRFcG9jaChcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIERhdGVGb3JtYXRzLmRpc3BsYXlGb3JtYXQsXHJcbiAgICAgIHRoaXMubWVldGluZz8udGltZXpvbmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXRzIHRoZSBtZWV0aW5nIHRpbWUgKyB0aW1lem9uZSBmb3IgZGlzcGxheSB1c2luZyBsdXhvbiAoUmVxIDcuMykuXHJcbiAgICogVGhlIHRpbWV6b25lIGFiYnJldmlhdGlvbiBmcm9tIHRoZSBtZWV0aW5nIG1vZGVsIGlzIGFwcGVuZGVkIHRvIHRoZSBwYXJzZWRcclxuICAgKiB0aW1lLiBGYWxscyBiYWNrIHRvIHRoZSByYXcgdmFsdWUgd2hlbiBpdCBjYW5ub3QgYmUgcGFyc2VkLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGZvcm1hdHRlZCBtZWV0aW5nIHRpbWUgd2l0aCB0aW1lem9uZS5cclxuICAgKiBAbWVtYmVyb2YgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgZm9ybWF0dGVkVGltZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLnRpbWVSYW5nZTtcclxuICAgIGNvbnN0IHRpbWV6b25lID0gdGhpcy5tZWV0aW5nPy50aW1lem9uZSA/PyAnJztcclxuICAgIGlmICghcmFuZ2UpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpbWV6b25lID8gYCR7cmFuZ2V9ICR7dGltZXpvbmV9YCA6IHJhbmdlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGJvbGQgdGltZSByYW5nZSBvbmx5IChlLmcuIFwiMTA6MDDigJMxMTowMFwiKSwgMTItaG91ciB3aXRoIG1lcmlkaWVtLFxyXG4gICAqIHJlbmRlcmVkIGRhcmsgcGVyIEZpZ21hLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGZvcm1hdHRlZCBzdGFydOKAk2VuZCB0aW1lIHJhbmdlLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCB0aW1lUmFuZ2UoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHRpbWV6b25lID0gdGhpcy5tZWV0aW5nPy50aW1lem9uZSA/PyAnJztcclxuICAgIGNvbnN0IHN0YXJ0ID0gZm9ybWF0RXBvY2goXHJcbiAgICAgIHRoaXMubWVldGluZz8uc3RhcnREYXRlVGltZSA/PyB0aGlzLm1lZXRpbmc/Lm1lZXRpbmdUaW1lLFxyXG4gICAgICBEYXRlRm9ybWF0cy50aW1lTWVyaWRpZW1Gb3JtYXQsXHJcbiAgICAgIHRpbWV6b25lXHJcbiAgICApO1xyXG4gICAgY29uc3QgZW5kID0gZm9ybWF0RXBvY2goXHJcbiAgICAgIHRoaXMubWVldGluZz8uZW5kRGF0ZVRpbWUsXHJcbiAgICAgIERhdGVGb3JtYXRzLnRpbWVNZXJpZGllbUZvcm1hdCxcclxuICAgICAgdGltZXpvbmVcclxuICAgICk7XHJcbiAgICByZXR1cm4gZW5kID8gYCR7c3RhcnR9IFxcdTIwMTMgJHtlbmR9YCA6IHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHRpbWV6b25lIGxhYmVsIG9ubHkgKGxpZ2h0IGdyZXkgcGVyIEZpZ21hKSwgd3JhcHBlZCBpbiBwYXJlbnRoZXNlcywgb3JcclxuICAgKiBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyB0aW1lem9uZSBpcyBwcmVzZW50LlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHBhcmVudGhlc2lzZWQgdGltZXpvbmUsIG9yIGFuIGVtcHR5IHN0cmluZy5cclxuICAgKiBAbWVtYmVyb2YgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgdGltZXpvbmVEaXNwbGF5KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB0aW1lem9uZSA9IHRoaXMubWVldGluZz8udGltZXpvbmUgPz8gJyc7XHJcbiAgICByZXR1cm4gdGltZXpvbmUgPyB0aW1lem9uZSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBhY3RpdmF0aW9uIG9mIHRoZSBhdHRlbmRhbmNlIGFjdGlvbiBidXR0b24uIERlbGVnYXRlcyB0byB0aGUgcHVyZVxyXG4gICAqIGByZXNvbHZlQXR0ZW5kYW5jZUFjdGlvbmAgaGFuZGxlciBhbmQgZW1pdHMgZXhhY3RseSBvbmUgZXZlbnQgYmFzZWQgb24gdGhlXHJcbiAgICogcmVzb2x2ZWQgYWN0aW9uOiBgbG9nQXR0ZW5kYW5jZWAgZm9yIGBMT0dfQVRURU5EQU5DRWAsIGBsZWF2ZU1lZXRpbmdgIGZvclxyXG4gICAqIGBMRUFWRV9NRUVUSU5HYCwgYW5kIG5vdGhpbmcgZm9yIGBOT05FYCAoZW1wdHkgaWQgb3IgaW4tZmxpZ2h0KVxyXG4gICAqIChSZXEgNy43LCA3LjgsIDcuOSwgNy4xMCwgMTMuNikuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25BdHRlbmRhbmNlQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzQWN0aW9uYWJsZSB8fCAhdGhpcy5pc01lZXRpbmdBY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gVGhlIExvZyBBdHRlbmRhbmNlIC8gTGVhdmUgTWVldGluZyBwb3B1cCBsaXZlcyBvbiB0aGUgdmlldy1tZWV0aW5nIHNjcmVlbixcclxuICAgIC8vIHNvIHRoZSBkYXNoYm9hcmQgbmF2aWdhdGVzIHRoZXJlICh3aXRoIGV2ZW50SWQgKyBtZWV0aW5nSWQpIGFuZCByZXF1ZXN0c1xyXG4gICAgLy8gdGhlIG1hdGNoaW5nIGZsb3cgYXV0by1vcGVuIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgYXR0ZW5kYW5jZSBBUEkgZGlyZWN0bHkuXHJcbiAgICB0aGlzLm5hdmlnYXRlVG9NZWV0aW5nLmVtaXQoe1xyXG4gICAgICBldmVudElkOiB0aGlzLm1lZXRpbmc/LmV2ZW50SWQgPz8gJycsXHJcbiAgICAgIG1lZXRpbmdJZDogdGhpcy5tZWV0aW5nLm1lZXRpbmdJZCxcclxuICAgICAgbG9nQXR0ZW5kYW5jZTogIXRoaXMuaXNDdXJyZW50bHlBdHRlbmRpbmcsXHJcbiAgICAgIGxlYXZlTWVldGluZzogdGhpcy5pc0N1cnJlbnRseUF0dGVuZGluZyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBhY3RpdmF0aW9uIG9mIHRoZSBtZWV0aW5nLW5hbWUgbGluay4gRW1pdHMgdGhlIG1lZXRpbmcgaWQgb25seSB3aGVuXHJcbiAgICogdGhlIHJvdyBpcyBhY3Rpb25hYmxlIChub24tZW1wdHkgbWVldGluZyBpZCkgKFJlcSA3LjQsIDcuMTApLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uT3Blbk1lZXRpbmcoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNBY3Rpb25hYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSB2aWV3LW1lZXRpbmcgc2NyZWVuIChubyBwb3B1cCBhdXRvLW9wZW4pIHdoZW4gdGhlIG1lZXRpbmdcclxuICAgIC8vIG5hbWUgbGluayBpcyBjbGlja2VkLlxyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvTWVldGluZy5lbWl0KHtcclxuICAgICAgZXZlbnRJZDogdGhpcy5tZWV0aW5nPy5ldmVudElkID8/ICcnLFxyXG4gICAgICBtZWV0aW5nSWQ6IHRoaXMubWVldGluZy5tZWV0aW5nSWQsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dcIlxyXG4gIFtjbGFzcy5pZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvdy0tY29tcGFjdF09XCJjb21wYWN0XCJcclxuPlxyXG4gIDwhLS0gTWVldGluZyBuYW1lICsgZ3JvdXAvbG9jYXRpb24gKGhpZGRlbiBpbiB0aGUgY29tcGFjdCBzdGFuZGFsb25lIHZhcmlhbnQpLiAtLT5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX25hbWUtY29sXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbXBhY3RcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX25hbWUtbGlua1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FjdGlvbmFibGVcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uc3RhbnRzLm1lZXRpbmdSb3cuYXJpYUxhYmVsLm1lZXRpbmdOYW1lTGlua1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uT3Blbk1lZXRpbmcoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBtZWV0aW5nLm1lZXRpbmdOYW1lIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPHAgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fc3VidGl0bGVcIj5cclxuICAgICAgICB7eyByZXNvbHZlRmllbGRWYWx1ZShtZWV0aW5nLmdyb3VwT3JDb21taXR0ZWUpIH19PG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgKm5nSWY9XCJtZWV0aW5nLnJvb21PckxvY2F0aW9uXCJcclxuICAgICAgICA+ICZtaWRkb3Q7IHt7IG1lZXRpbmcucm9vbU9yTG9jYXRpb24gfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9wPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gTUVFVElORyBEQVRFIGNvbHVtbi4gLS0+XHJcbiAgPGRsIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbCBpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLS1kYXRlXCI+XHJcbiAgICA8ZHQgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLWxhYmVsXCI+XHJcbiAgICAgIHt7IGNvbnN0YW50cy5ldmVudEdyb3VwQ2FyZC5tZWV0aW5nRGF0ZUxhYmVsIH19XHJcbiAgICA8L2R0PlxyXG4gICAgPGRkIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbC12YWx1ZVwiPlxyXG4gICAgICB7eyBmb3JtYXR0ZWREYXRlIH19XHJcbiAgICA8L2RkPlxyXG4gIDwvZGw+XHJcblxyXG4gIDwhLS0gVElNRSAmIFRJTUVaT05FIGNvbHVtbi4gLS0+XHJcbiAgPGRsIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbCBpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLS10aW1lXCI+XHJcbiAgICA8ZHQgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLWxhYmVsXCI+XHJcbiAgICAgIHt7IGNvbnN0YW50cy5tZWV0aW5nUm93LnRpbWVUaW1lem9uZUxhYmVsIH19XHJcbiAgICA8L2R0PlxyXG4gICAgPGRkIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbC12YWx1ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1tZWV0aW5nLWF0dGVuZGFuY2Utcm93X190aW1lXCI+e3sgdGltZVJhbmdlIH19PC9zcGFuPjxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cInRpbWV6b25lRGlzcGxheVwiXHJcbiAgICAgID4gPHNwYW4gY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fdHpcIj57eyB0aW1lem9uZURpc3BsYXkgfX08L3NwYW4+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2RkPlxyXG4gIDwvZGw+XHJcblxyXG4gIDwhLS0gQXR0ZW5kYW5jZSBpbmRpY2F0b3IgKyBhY3Rpb25zIGNvbHVtbi4gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1tZWV0aW5nLWF0dGVuZGFuY2Utcm93X19hY3Rpb25zXCI+XHJcbiAgICA8IS0tIEZpeGVkLXdpZHRoIHNsb3QgcmVzZXJ2ZWQgZm9yIHRoZSBhdHRlbmRpbmcgcGlsbCBzbyB0aGUgYWN0aW9uIGJ1dHRvbnNcclxuICAgICAgICAgc3RheSBjb2x1bW4tYWxpZ25lZCB3aGV0aGVyIG9yIG5vdCB0aGUgcGlsbCBpcyBzaG93bi4gLS0+XHJcbiAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1tZWV0aW5nLWF0dGVuZGFuY2Utcm93X19hdHRlbmRpbmctc2xvdFwiPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgICpuZ0lmPVwiaXNDdXJyZW50bHlBdHRlbmRpbmdcIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2F0dGVuZGluZy1waWxsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2F0dGVuZGluZy1kb3RcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgICAge3sgY29uc3RhbnRzLm1lZXRpbmdSb3cuY3VycmVudGx5QXR0ZW5kaW5nSW5kaWNhdG9yIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8IS0tIExvZy1hdHRlbmRhbmNlIGJ1dHRvbjogc2hvd24gZm9yIGVsaWdpYmxlIG1lZXRpbmdzLCBkaXNhYmxlZCAod2l0aCB0aGVcclxuICAgICAgICAgaW5hY3RpdmUgbWVzc2FnZSkgd2hlbiB0aGUgbWVldGluZyBpcyBub3QgSW4gUHJvZ3Jlc3MuIC0tPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dMb2dBdHRlbmRhbmNlQnV0dG9uXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2FjdGlvbi1idXR0b24gaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2FjdGlvbi1idXR0b24tLWxvZ1wiXHJcbiAgICAgIFtjbGFzcy5pZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fYWN0aW9uLWJ1dHRvbi0taW5hY3RpdmVdPVwiaXNMb2dEaXNhYmxlZFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0xvZ0Rpc2FibGVkXCJcclxuICAgICAgW2F0dHIudGl0bGVdPVwiaXNMb2dEaXNhYmxlZCA/IGluYWN0aXZlTWVzc2FnZSA6IG51bGxcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnN0YW50cy5tZWV0aW5nUm93LmFyaWFMYWJlbC5sb2dBdHRlbmRhbmNlXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQXR0ZW5kYW5jZUFjdGlvbigpXCJcclxuICAgID5cclxuICAgICAge3sgY29uc3RhbnRzLm1lZXRpbmdSb3cubG9nQXR0ZW5kYW5jZUxhYmVsIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8IS0tIExlYXZlLW1lZXRpbmcgYnV0dG9uOiBzaG93biBpbiB0aGUgYXR0ZW5kaW5nIHN0YXRlIHdpdGggdGhlIHBlcm1pc3Npb24uIC0tPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dMZWF2ZU1lZXRpbmdCdXR0b25cIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fYWN0aW9uLWJ1dHRvbiBpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fYWN0aW9uLWJ1dHRvbi0tbGVhdmVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNJbkZsaWdodCB8fCAhaXNBY3Rpb25hYmxlXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25zdGFudHMubWVldGluZ1Jvdy5hcmlhTGFiZWwubGVhdmVNZWV0aW5nXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQXR0ZW5kYW5jZUFjdGlvbigpXCJcclxuICAgID5cclxuICAgICAge3sgY29uc3RhbnRzLm1lZXRpbmdSb3cubGVhdmVNZWV0aW5nTGFiZWwgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL21lZXRpbmctYXR0ZW5kYW5jZS1yb3cvbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL21lZXRpbmctYXR0ZW5kYW5jZS1yb3cvbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRTNEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFVSCxNQUFNLE9BQU8sNkJBQTZCO0lBVDFDO1FBVUUsOERBQThEO1FBQzlELGNBQVMsR0FBUSxXQUFXLENBQUM7UUFLN0IsMkVBQTJFO1FBQ2xFLG9CQUFlLEdBQW9CLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFFMUUsNEVBQTRFO1FBQ25FLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUIsMEVBQTBFO1FBQ2pFLGdCQUFXLEdBQWdDO1lBQ2xELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsZUFBZSxFQUFFLEtBQUs7U0FDdkIs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RSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDakMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUN6QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFDRCw0RUFBNEU7UUFDNUUsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7WUFDcEMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5RVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzWEN0QzFDLG8wSEF5RkEsMHJZRHhEWSxZQUFZOzs0RkFLWCw2QkFBNkI7a0JBVHpDLFNBQVM7K0JBRUUsK0JBQStCLGNBQzdCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQU81QixPQUFPO3NCQUFmLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBVUcsT0FBTztzQkFBZixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0csYUFBYTtzQkFBdEIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNO2dCQU9HLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF0dGVuZGFuY2VBY3Rpb25QZXJtaXNzaW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlLWFjdGlvbi1wZXJtaXNzaW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IEF0dGVuZGFuY2VTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgTWVldGluZ1JvdyB9IGZyb20gJy4uLy4uL21vZGVscy9tZWV0aW5nLXJvdy5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2RhdGUtZm9ybWF0cyc7XHJcbmltcG9ydCB7IGZvcm1hdEVwb2NoIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGF0ZS1mb3JtYXQudXRpbCc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcblxyXG4vKipcclxuICogTWVldGluZ19BdHRlbmRhbmNlX1JvdyByZW5kZXJzIGEgc2luZ2xlIG1lZXRpbmcgd2l0aGluIGFuIGV2ZW50LWdyb3VwIGNhcmQ6XHJcbiAqIHRoZSBtZWV0aW5nLW5hbWUgbGluaywgZ3JvdXAvY29tbWl0dGVlLCByb29tL2xvY2F0aW9uLCBkYXRlLCBhbmRcclxuICogdGltZSt0aW1lem9uZSAoYWxsIGx1eG9uLWZvcm1hdHRlZCksIHRvZ2V0aGVyIHdpdGggdGhlIGF0dGVuZGFuY2UgYWN0aW9uXHJcbiAqIGJ1dHRvbiB0aGF0IGRyaXZlcyB0aGUgcGVyLW1lZXRpbmcgYXR0ZW5kYW5jZSBzdGF0ZSBtYWNoaW5lLlxyXG4gKlxyXG4gKiBUaGUgY29tcG9uZW50IGlzIHB1cmVseSBwcmVzZW50YXRpb25hbCDigJQgaXQgZW1pdHMgbmF2aWdhdGlvbiBhbmQgYXR0ZW5kYW5jZVxyXG4gKiBpbnRlbnRzIHZpYSBgQE91dHB1dCgpYCBhbmQgbmV2ZXIgcGVyZm9ybXMgbmF2aWdhdGlvbiBvciBIVFRQIGl0c2VsZi4gVGhlXHJcbiAqIGFjdGlvbiBidXR0b24gZGVsZWdhdGVzIHRvIHRoZSBwdXJlIGByZXNvbHZlQXR0ZW5kYW5jZUFjdGlvbmAgaGFuZGxlciBzbyB0aGVcclxuICogZW1pdC9ndWFyZCBsb2dpYyBpcyBzaGFyZWQgd2l0aCB0aGUgcHJvcGVydHktdGVzdGVkIGNvcmUgKFByb3BlcnR5IDEpLCBhbmQgdGhlXHJcbiAqIGRpc3BsYXllZCBzdGF0ZSBvbmx5IGFkdmFuY2VzIHdoZW4gdGhlIGhvc3QgdXBkYXRlcyBgYXR0ZW5kYW5jZVN0YXRlYC5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvdycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVldGluZy1hdHRlbmRhbmNlLXJvdy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudCB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG5cclxuICAvKiogVGhlIG1lZXRpbmcgcmVuZGVyZWQgYnkgdGhpcyByb3cuICovXHJcbiAgQElucHV0KCkgbWVldGluZyE6IE1lZXRpbmdSb3c7XHJcblxyXG4gIC8qKiBUaGUgY3VycmVudCBhdHRlbmRhbmNlIHN0YXRlIGNvbnRyb2xsaW5nIGxhYmVsL2luZGljYXRvciBhbmQgYWN0aW9uLiAqL1xyXG4gIEBJbnB1dCgpIGF0dGVuZGFuY2VTdGF0ZTogQXR0ZW5kYW5jZVN0YXRlID0gQXR0ZW5kYW5jZVN0YXRlLk5PVF9BVFRFTkRJTkc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIGFuIGF0dGVuZGFuY2UgYWN0aW9uIGZvciB0aGlzIG1lZXRpbmcgaXMgYXdhaXRpbmcgcmVzb2x1dGlvbi4gKi9cclxuICBASW5wdXQoKSBpc0luRmxpZ2h0ID0gZmFsc2U7XHJcblxyXG4gIC8qKiBIb3N0IHBlcm1pc3Npb25zIGdhdGluZyB0aGUgbG9nLWF0dGVuZGFuY2UgLyBsZWF2ZS1tZWV0aW5nIGJ1dHRvbnMuICovXHJcbiAgQElucHV0KCkgcGVybWlzc2lvbnM6IEF0dGVuZGFuY2VBY3Rpb25QZXJtaXNzaW9ucyA9IHtcclxuICAgIGNhbkxvZ0F0dGVuZGFuY2U6IGZhbHNlLFxyXG4gICAgY2FuTGVhdmVNZWV0aW5nOiBmYWxzZSxcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZW5kZXJzIHRoZSBsZWFuZXIgXCJzdGFuZGFsb25lIG1lZXRpbmdcIiB2YXJpYW50IHVzZWQgYnkgc3RhbmRhbG9uZS1tZWV0aW5nXHJcbiAgICogY2FyZHMgKHRoZSBncm91cC9sb2NhdGlvbiBhbmQgc3RhdHVzIGxpdmUgb24gdGhlIHBhcmVudCBjYXJkLCBzbyB0aGUgcm93XHJcbiAgICogb25seSBzaG93cyB0aGUgVElNRSAmIFRJTUVaT05FIGJsb2NrIGFuZCB0aGUgYXR0ZW5kYW5jZSArIFZpZXcgYWN0aW9ucykuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29tcGFjdCA9IGZhbHNlO1xyXG5cclxuICAvKiogRW1pdHMgdGhlIG1lZXRpbmcgaWQgd2hlbiB0aGUgbWVldGluZy1uYW1lIGxpbmsgaXMgYWN0aXZhdGVkIChSZXEgNy40KS4gKi9cclxuICBAT3V0cHV0KCkgb3Blbk1lZXRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqIEVtaXRzIHRoZSBtZWV0aW5nIGlkIHRvIHJlcXVlc3QgbG9nZ2luZyBhdHRlbmRhbmNlIChSZXEgNy43KS4gKi9cclxuICBAT3V0cHV0KCkgbG9nQXR0ZW5kYW5jZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKiogRW1pdHMgdGhlIG1lZXRpbmcgaWQgdG8gcmVxdWVzdCBsZWF2aW5nIHRoZSBtZWV0aW5nIChSZXEgNy44KS4gKi9cclxuICBAT3V0cHV0KCkgbGVhdmVNZWV0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBvd25pbmcgZXZlbnQgaWQgKyBtZWV0aW5nIGlkIHdoZW4gdGhlIGF0dGVuZGFuY2UgYnV0dG9uIGlzXHJcbiAgICogYWN0aXZhdGVkIGZvciBhbiBJbi1Qcm9ncmVzcyBtZWV0aW5nLCBzbyB0aGUgaG9zdCBjYW4gbmF2aWdhdGUgdG8gdGhlXHJcbiAgICogdmlldy1tZWV0aW5nIHNjcmVlbiAod2hlcmUgdGhlIHJlYWwgTG9nIEF0dGVuZGFuY2UgcG9wdXAgb3BlbnMpLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZVRvTWVldGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnRJZDogc3RyaW5nO1xyXG4gICAgbWVldGluZ0lkOiBzdHJpbmc7XHJcbiAgICBsb2dBdHRlbmRhbmNlPzogYm9vbGVhbjtcclxuICAgIGxlYXZlTWVldGluZz86IGJvb2xlYW47XHJcbiAgfT4oKTtcclxuXHJcbiAgLyoqIEV4cG9zZSB0aGUgZW51bSB0byB0aGUgdGVtcGxhdGUgZm9yIHN0YXRlIGNvbXBhcmlzb25zLiAqL1xyXG4gIHJlYWRvbmx5IEF0dGVuZGFuY2VTdGF0ZSA9IEF0dGVuZGFuY2VTdGF0ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgbWVldGluZyBpcyBlbGlnaWJsZSBmb3IgYW4gYXR0ZW5kYW5jZSBhY3Rpb24gKGFuIGF0dGVuZGFuY2VcclxuICAgKiBidXR0b24gaXMgcmVuZGVyZWQgYXQgYWxsKS4gVGhlIGJhY2tlbmQgc3VwcGxpZXMgYW4gYGF0dGVuZGFuY2VTdGF0ZWAgZm9yXHJcbiAgICogZXZlcnkgbG9nZ2FibGUgbWVldGluZywgc28gaXRzIHByZXNlbmNlIGlzIHRoZSBlbGlnaWJpbGl0eSBzaWduYWwuIFJvd3MgdGhlXHJcbiAgICogYmFja2VuZCBkZWVtcyBpbmVsaWdpYmxlIGNhcnJ5IG5vIHN0YXRlIGFuZCByZW5kZXIgbm8gYnV0dG9uLlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgd2hlbiB0aGUgbWVldGluZyBpcyBhdHRlbmRhbmNlLWVsaWdpYmxlLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBpc0VsaWdpYmxlRm9yQXR0ZW5kYW5jZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMubWVldGluZz8uYXR0ZW5kYW5jZVN0YXRlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgbWVldGluZyBpcyBjdXJyZW50bHkgSW4gUHJvZ3Jlc3MuIE1pcnJvcnMgdGhlIGF0dGVuZGFuY2VcclxuICAgKiBsaWJyYXJ5J3MgYGlzTWVldGluZ0FjdGl2ZWA6IHRoZSBhdHRlbmRhbmNlIGJ1dHRvbiBpcyBvbmx5IEVOQUJMRUQgZHVyaW5nXHJcbiAgICogdGhlIG1lZXRpbmc7IG91dHNpZGUgdGhlIG1lZXRpbmcgdGltZSBpdCByZW5kZXJzIGRpc2FibGVkIHdpdGggdGhlIGluYWN0aXZlXHJcbiAgICogbWVzc2FnZS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIG1lZXRpbmcgc3RhdHVzIGlzICdJbiBQcm9ncmVzcycuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IGlzTWVldGluZ0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5tZWV0aW5nPy5zdGF0dXMgPz8gJycpLnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSAnaW4gcHJvZ3Jlc3MnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBpbmFjdGl2ZS1idXR0b24gbWVzc2FnZSBzaG93biB3aGVuIHRoZSBtZWV0aW5nIGlzIG5vdCBJbiBQcm9ncmVzcy4gKi9cclxuICBnZXQgaW5hY3RpdmVNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmNvbnN0YW50cz8ubWVldGluZ1Jvdz8uaW5hY3RpdmVNZXNzYWdlID8/XHJcbiAgICAgICdBdHRlbmRhbmNlIGxvZ2dpbmcgb25seSBhdmFpbGFibGUgZHVyaW5nIG1lZXRpbmcsIFBsZWFzZSBjb250YWN0IHlvdXIgbWVldGluZyBhZG1pbmlzdHJhdG9yIGZvciBhbnkgbmVjZXNzYXJ5IGNvcnJlY3Rpb25zLidcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoaXMgcm93IGlzIGFjdGlvbmFibGUg4oCUIGEgbm9uLWVtcHR5IGBtZWV0aW5nSWRgIGlzIHJlcXVpcmVkIGZvciB0aGVcclxuICAgKiBtZWV0aW5nLW5hbWUgbGluayBhbmQgYWN0aW9uIGJ1dHRvbiB0byBlbWl0IGFueXRoaW5nIChSZXEgNy4xMCkuXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSB3aGVuIHRoZSByb3cgaGFzIGEgdXNhYmxlIG1lZXRpbmcgaWQuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IGlzQWN0aW9uYWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMubWVldGluZz8ubWVldGluZ0lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgcm93IGlzIGluIHRoZSBjdXJyZW50bHktYXR0ZW5kaW5nIHN0YXRlLCB3aGljaCBzaG93cyB0aGVcclxuICAgKiBjdXJyZW50bHktYXR0ZW5kaW5nIGluZGljYXRvciBhbmQgdGhlIGxlYXZlLW1lZXRpbmcgYWN0aW9uIChSZXEgNy41KS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIGF0dGVuZGFuY2Ugc3RhdGUgaXMgYENVUlJFTlRMWV9BVFRFTkRJTkdgLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBpc0N1cnJlbnRseUF0dGVuZGluZygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmF0dGVuZGFuY2VTdGF0ZSA9PT0gQXR0ZW5kYW5jZVN0YXRlLkNVUlJFTlRMWV9BVFRFTkRJTkc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBsb2ctYXR0ZW5kYW5jZSBidXR0b24gc2hvdWxkIGJlIHNob3duOiB3aGVuZXZlciB0aGUgcm93IGlzIG5vdFxyXG4gICAqIGN1cnJlbnRseSBhdHRlbmRpbmcuIE1pcnJvcnMgdGhlIGF0dGVuZGFuY2UgbGlicmFyeSwgd2hpY2ggdG9nZ2xlcyBiZXR3ZWVuXHJcbiAgICogTG9nIEF0dGVuZGFuY2UgYW5kIExlYXZlIE1lZXRpbmcgcHVyZWx5IG9uIGF0dGVuZGFuY2Ugc3RhdGUgKG5vIHBlcm1pc3Npb25cclxuICAgKiBnYXRpbmcpLlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgd2hlbiB0aGUgbG9nLWF0dGVuZGFuY2UgYnV0dG9uIGlzIHZpc2libGUuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHNob3dMb2dBdHRlbmRhbmNlQnV0dG9uKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gU2hvd24gZm9yIGV2ZXJ5IGVsaWdpYmxlLCBub3QtY3VycmVudGx5LWF0dGVuZGluZyBtZWV0aW5nLiBXaGVuIHRoZVxyXG4gICAgLy8gbWVldGluZyBpcyBub3QgSW4gUHJvZ3Jlc3MgdGhlIGJ1dHRvbiByZW5kZXJzIGRpc2FibGVkIChzZWUgaXNMb2dEaXNhYmxlZCkuXHJcbiAgICByZXR1cm4gdGhpcy5pc0VsaWdpYmxlRm9yQXR0ZW5kYW5jZSAmJiAhdGhpcy5pc0N1cnJlbnRseUF0dGVuZGluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIExvZyBBdHRlbmRhbmNlIGJ1dHRvbiBpcyBkaXNhYmxlZDogb3V0c2lkZSB0aGUgbWVldGluZyB0aW1lXHJcbiAgICogKG5vdCBJbiBQcm9ncmVzcykgb3Igd2hpbGUgYW4gYXR0ZW5kYW5jZSBhY3Rpb24gaXMgaW4gZmxpZ2h0LiBNYXRjaGVzIHRoZVxyXG4gICAqIHZpZXctbWVldGluZyBwYWdlLCB3aGljaCBkaXNhYmxlcyB0aGUgYnV0dG9uIHdpdGggYW4gaW5hY3RpdmUgbWVzc2FnZSB3aGVuXHJcbiAgICogdGhlIG1lZXRpbmcgaXMgbm90IGFjdGl2ZS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIExvZyBBdHRlbmRhbmNlIGJ1dHRvbiBzaG91bGQgYmUgZGlzYWJsZWQuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IGlzTG9nRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNNZWV0aW5nQWN0aXZlIHx8IHRoaXMuaXNJbkZsaWdodCB8fCAhdGhpcy5pc0FjdGlvbmFibGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBsZWF2ZS1tZWV0aW5nIGJ1dHRvbiBzaG91bGQgYmUgc2hvd246IHdoZW5ldmVyIHRoZSByb3cgaXNcclxuICAgKiBjdXJyZW50bHkgYXR0ZW5kaW5nLiBNaXJyb3JzIHRoZSBhdHRlbmRhbmNlIGxpYnJhcnkgKG5vIHBlcm1pc3Npb24gZ2F0aW5nKS5cclxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIHdoZW4gdGhlIGxlYXZlLW1lZXRpbmcgYnV0dG9uIGlzIHZpc2libGUuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHNob3dMZWF2ZU1lZXRpbmdCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICAvLyBMZWF2ZSBNZWV0aW5nIGlzIG9ubHkgbWVhbmluZ2Z1bCB3aGlsZSB0aGUgbWVldGluZyBpcyBhY3RpdmUuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmlzRWxpZ2libGVGb3JBdHRlbmRhbmNlICYmXHJcbiAgICAgIHRoaXMuaXNDdXJyZW50bHlBdHRlbmRpbmcgJiZcclxuICAgICAgdGhpcy5pc01lZXRpbmdBY3RpdmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNvbHZlcyBhIGdyb3VwLW9yLWNvbW1pdHRlZSAvIHJvb20tb3ItbG9jYXRpb24gZmllbGQgdmFsdWUsIHN1YnN0aXR1dGluZ1xyXG4gICAqIHRoZSBlbXB0eS1maWVsZCBwbGFjZWhvbGRlciBmcm9tIGBjb25zdGFudHMuanNvbmAgd2hlbiB0aGUgdmFsdWUgaXMgZW1wdHkgb3JcclxuICAgKiB1bmRlZmluZWQgKFJlcSA3LjIpLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSByYXcgZmllbGQgdmFsdWUgZnJvbSB0aGUgbWVldGluZy5cclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB2YWx1ZSB0byBkaXNwbGF5LCBvciB0aGUgZW1wdHktZmllbGQgcGxhY2Vob2xkZXIuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgcmVzb2x2ZUZpZWxkVmFsdWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9XHJcbiAgICAgIHRoaXMuY29uc3RhbnRzPy5tZWV0aW5nUm93Py5lbXB0eUZpZWxkUGxhY2Vob2xkZXIgPz8gJ+KAlCc7XHJcbiAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUudHJpbSgpLmxlbmd0aCA+IDAgPyB2YWx1ZSA6IHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybWF0cyB0aGUgbWVldGluZyBkYXRlIGZvciBkaXNwbGF5IHVzaW5nIHRoZSBzaGFyZWQgbHV4b24gZGlzcGxheSBmb3JtYXRcclxuICAgKiAoUmVxIDcuMykuIEZhbGxzIGJhY2sgdG8gdGhlIHJhdyB2YWx1ZSB3aGVuIGl0IGNhbm5vdCBiZSBwYXJzZWQuXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgZm9ybWF0dGVkIG1lZXRpbmcgZGF0ZS5cclxuICAgKiBAbWVtYmVyb2YgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgZm9ybWF0dGVkRGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPVxyXG4gICAgICB0aGlzLm1lZXRpbmc/LnN0YXJ0RGF0ZVRpbWUgPz8gdGhpcy5tZWV0aW5nPy5tZWV0aW5nRGF0ZTtcclxuICAgIHJldHVybiBmb3JtYXRFcG9jaChcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIERhdGVGb3JtYXRzLmRpc3BsYXlGb3JtYXQsXHJcbiAgICAgIHRoaXMubWVldGluZz8udGltZXpvbmVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXRzIHRoZSBtZWV0aW5nIHRpbWUgKyB0aW1lem9uZSBmb3IgZGlzcGxheSB1c2luZyBsdXhvbiAoUmVxIDcuMykuXHJcbiAgICogVGhlIHRpbWV6b25lIGFiYnJldmlhdGlvbiBmcm9tIHRoZSBtZWV0aW5nIG1vZGVsIGlzIGFwcGVuZGVkIHRvIHRoZSBwYXJzZWRcclxuICAgKiB0aW1lLiBGYWxscyBiYWNrIHRvIHRoZSByYXcgdmFsdWUgd2hlbiBpdCBjYW5ub3QgYmUgcGFyc2VkLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGZvcm1hdHRlZCBtZWV0aW5nIHRpbWUgd2l0aCB0aW1lem9uZS5cclxuICAgKiBAbWVtYmVyb2YgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgZm9ybWF0dGVkVGltZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLnRpbWVSYW5nZTtcclxuICAgIGNvbnN0IHRpbWV6b25lID0gdGhpcy5tZWV0aW5nPy50aW1lem9uZSA/PyAnJztcclxuICAgIGlmICghcmFuZ2UpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpbWV6b25lID8gYCR7cmFuZ2V9ICR7dGltZXpvbmV9YCA6IHJhbmdlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGJvbGQgdGltZSByYW5nZSBvbmx5IChlLmcuIFwiMTA6MDDigJMxMTowMFwiKSwgMTItaG91ciB3aXRoIG1lcmlkaWVtLFxyXG4gICAqIHJlbmRlcmVkIGRhcmsgcGVyIEZpZ21hLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGZvcm1hdHRlZCBzdGFydOKAk2VuZCB0aW1lIHJhbmdlLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCB0aW1lUmFuZ2UoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHRpbWV6b25lID0gdGhpcy5tZWV0aW5nPy50aW1lem9uZSA/PyAnJztcclxuICAgIGNvbnN0IHN0YXJ0ID0gZm9ybWF0RXBvY2goXHJcbiAgICAgIHRoaXMubWVldGluZz8uc3RhcnREYXRlVGltZSA/PyB0aGlzLm1lZXRpbmc/Lm1lZXRpbmdUaW1lLFxyXG4gICAgICBEYXRlRm9ybWF0cy50aW1lTWVyaWRpZW1Gb3JtYXQsXHJcbiAgICAgIHRpbWV6b25lXHJcbiAgICApO1xyXG4gICAgY29uc3QgZW5kID0gZm9ybWF0RXBvY2goXHJcbiAgICAgIHRoaXMubWVldGluZz8uZW5kRGF0ZVRpbWUsXHJcbiAgICAgIERhdGVGb3JtYXRzLnRpbWVNZXJpZGllbUZvcm1hdCxcclxuICAgICAgdGltZXpvbmVcclxuICAgICk7XHJcbiAgICByZXR1cm4gZW5kID8gYCR7c3RhcnR9IFxcdTIwMTMgJHtlbmR9YCA6IHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHRpbWV6b25lIGxhYmVsIG9ubHkgKGxpZ2h0IGdyZXkgcGVyIEZpZ21hKSwgd3JhcHBlZCBpbiBwYXJlbnRoZXNlcywgb3JcclxuICAgKiBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyB0aW1lem9uZSBpcyBwcmVzZW50LlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHBhcmVudGhlc2lzZWQgdGltZXpvbmUsIG9yIGFuIGVtcHR5IHN0cmluZy5cclxuICAgKiBAbWVtYmVyb2YgTWVldGluZ0F0dGVuZGFuY2VSb3dDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgdGltZXpvbmVEaXNwbGF5KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB0aW1lem9uZSA9IHRoaXMubWVldGluZz8udGltZXpvbmUgPz8gJyc7XHJcbiAgICByZXR1cm4gdGltZXpvbmUgPyB0aW1lem9uZSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBhY3RpdmF0aW9uIG9mIHRoZSBhdHRlbmRhbmNlIGFjdGlvbiBidXR0b24uIERlbGVnYXRlcyB0byB0aGUgcHVyZVxyXG4gICAqIGByZXNvbHZlQXR0ZW5kYW5jZUFjdGlvbmAgaGFuZGxlciBhbmQgZW1pdHMgZXhhY3RseSBvbmUgZXZlbnQgYmFzZWQgb24gdGhlXHJcbiAgICogcmVzb2x2ZWQgYWN0aW9uOiBgbG9nQXR0ZW5kYW5jZWAgZm9yIGBMT0dfQVRURU5EQU5DRWAsIGBsZWF2ZU1lZXRpbmdgIGZvclxyXG4gICAqIGBMRUFWRV9NRUVUSU5HYCwgYW5kIG5vdGhpbmcgZm9yIGBOT05FYCAoZW1wdHkgaWQgb3IgaW4tZmxpZ2h0KVxyXG4gICAqIChSZXEgNy43LCA3LjgsIDcuOSwgNy4xMCwgMTMuNikuXHJcbiAgICogQG1lbWJlcm9mIE1lZXRpbmdBdHRlbmRhbmNlUm93Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25BdHRlbmRhbmNlQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzQWN0aW9uYWJsZSB8fCAhdGhpcy5pc01lZXRpbmdBY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gVGhlIExvZyBBdHRlbmRhbmNlIC8gTGVhdmUgTWVldGluZyBwb3B1cCBsaXZlcyBvbiB0aGUgdmlldy1tZWV0aW5nIHNjcmVlbixcclxuICAgIC8vIHNvIHRoZSBkYXNoYm9hcmQgbmF2aWdhdGVzIHRoZXJlICh3aXRoIGV2ZW50SWQgKyBtZWV0aW5nSWQpIGFuZCByZXF1ZXN0c1xyXG4gICAgLy8gdGhlIG1hdGNoaW5nIGZsb3cgYXV0by1vcGVuIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgYXR0ZW5kYW5jZSBBUEkgZGlyZWN0bHkuXHJcbiAgICB0aGlzLm5hdmlnYXRlVG9NZWV0aW5nLmVtaXQoe1xyXG4gICAgICBldmVudElkOiB0aGlzLm1lZXRpbmc/LmV2ZW50SWQgPz8gJycsXHJcbiAgICAgIG1lZXRpbmdJZDogdGhpcy5tZWV0aW5nLm1lZXRpbmdJZCxcclxuICAgICAgbG9nQXR0ZW5kYW5jZTogIXRoaXMuaXNDdXJyZW50bHlBdHRlbmRpbmcsXHJcbiAgICAgIGxlYXZlTWVldGluZzogdGhpcy5pc0N1cnJlbnRseUF0dGVuZGluZyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBhY3RpdmF0aW9uIG9mIHRoZSBtZWV0aW5nLW5hbWUgbGluay4gRW1pdHMgdGhlIG1lZXRpbmcgaWQgb25seSB3aGVuXHJcbiAgICogdGhlIHJvdyBpcyBhY3Rpb25hYmxlIChub24tZW1wdHkgbWVldGluZyBpZCkgKFJlcSA3LjQsIDcuMTApLlxyXG4gICAqIEBtZW1iZXJvZiBNZWV0aW5nQXR0ZW5kYW5jZVJvd0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uT3Blbk1lZXRpbmcoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNBY3Rpb25hYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSB2aWV3LW1lZXRpbmcgc2NyZWVuIChubyBwb3B1cCBhdXRvLW9wZW4pIHdoZW4gdGhlIG1lZXRpbmdcclxuICAgIC8vIG5hbWUgbGluayBpcyBjbGlja2VkLlxyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvTWVldGluZy5lbWl0KHtcclxuICAgICAgZXZlbnRJZDogdGhpcy5tZWV0aW5nPy5ldmVudElkID8/ICcnLFxyXG4gICAgICBtZWV0aW5nSWQ6IHRoaXMubWVldGluZy5tZWV0aW5nSWQsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dcIlxyXG4gIFtjbGFzcy5pZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvdy0tY29tcGFjdF09XCJjb21wYWN0XCJcclxuPlxyXG4gIDwhLS0gTWVldGluZyBuYW1lICsgZ3JvdXAvbG9jYXRpb24gKGhpZGRlbiBpbiB0aGUgY29tcGFjdCBzdGFuZGFsb25lIHZhcmlhbnQpLiAtLT5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX25hbWUtY29sXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbXBhY3RcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX25hbWUtbGlua1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FjdGlvbmFibGVcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uc3RhbnRzLm1lZXRpbmdSb3cuYXJpYUxhYmVsLm1lZXRpbmdOYW1lTGlua1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uT3Blbk1lZXRpbmcoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBtZWV0aW5nLm1lZXRpbmdOYW1lIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPHAgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fc3VidGl0bGVcIj5cclxuICAgICAgICB7eyByZXNvbHZlRmllbGRWYWx1ZShtZWV0aW5nLmdyb3VwT3JDb21taXR0ZWUpIH19PG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgKm5nSWY9XCJtZWV0aW5nLnJvb21PckxvY2F0aW9uXCJcclxuICAgICAgICA+ICZtaWRkb3Q7IHt7IG1lZXRpbmcucm9vbU9yTG9jYXRpb24gfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9wPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gTUVFVElORyBEQVRFIGNvbHVtbi4gLS0+XHJcbiAgPGRsIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbCBpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLS1kYXRlXCI+XHJcbiAgICA8ZHQgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLWxhYmVsXCI+XHJcbiAgICAgIHt7IGNvbnN0YW50cy5ldmVudEdyb3VwQ2FyZC5tZWV0aW5nRGF0ZUxhYmVsIH19XHJcbiAgICA8L2R0PlxyXG4gICAgPGRkIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbC12YWx1ZVwiPlxyXG4gICAgICB7eyBmb3JtYXR0ZWREYXRlIH19XHJcbiAgICA8L2RkPlxyXG4gIDwvZGw+XHJcblxyXG4gIDwhLS0gVElNRSAmIFRJTUVaT05FIGNvbHVtbi4gLS0+XHJcbiAgPGRsIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbCBpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLS10aW1lXCI+XHJcbiAgICA8ZHQgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fY29sLWxhYmVsXCI+XHJcbiAgICAgIHt7IGNvbnN0YW50cy5tZWV0aW5nUm93LnRpbWVUaW1lem9uZUxhYmVsIH19XHJcbiAgICA8L2R0PlxyXG4gICAgPGRkIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2NvbC12YWx1ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1tZWV0aW5nLWF0dGVuZGFuY2Utcm93X190aW1lXCI+e3sgdGltZVJhbmdlIH19PC9zcGFuPjxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cInRpbWV6b25lRGlzcGxheVwiXHJcbiAgICAgID4gPHNwYW4gY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fdHpcIj57eyB0aW1lem9uZURpc3BsYXkgfX08L3NwYW4+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2RkPlxyXG4gIDwvZGw+XHJcblxyXG4gIDwhLS0gQXR0ZW5kYW5jZSBpbmRpY2F0b3IgKyBhY3Rpb25zIGNvbHVtbi4gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1tZWV0aW5nLWF0dGVuZGFuY2Utcm93X19hY3Rpb25zXCI+XHJcbiAgICA8IS0tIEZpeGVkLXdpZHRoIHNsb3QgcmVzZXJ2ZWQgZm9yIHRoZSBhdHRlbmRpbmcgcGlsbCBzbyB0aGUgYWN0aW9uIGJ1dHRvbnNcclxuICAgICAgICAgc3RheSBjb2x1bW4tYWxpZ25lZCB3aGV0aGVyIG9yIG5vdCB0aGUgcGlsbCBpcyBzaG93bi4gLS0+XHJcbiAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1tZWV0aW5nLWF0dGVuZGFuY2Utcm93X19hdHRlbmRpbmctc2xvdFwiPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgICpuZ0lmPVwiaXNDdXJyZW50bHlBdHRlbmRpbmdcIlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2F0dGVuZGluZy1waWxsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2F0dGVuZGluZy1kb3RcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgICAge3sgY29uc3RhbnRzLm1lZXRpbmdSb3cuY3VycmVudGx5QXR0ZW5kaW5nSW5kaWNhdG9yIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8IS0tIExvZy1hdHRlbmRhbmNlIGJ1dHRvbjogc2hvd24gZm9yIGVsaWdpYmxlIG1lZXRpbmdzLCBkaXNhYmxlZCAod2l0aCB0aGVcclxuICAgICAgICAgaW5hY3RpdmUgbWVzc2FnZSkgd2hlbiB0aGUgbWVldGluZyBpcyBub3QgSW4gUHJvZ3Jlc3MuIC0tPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dMb2dBdHRlbmRhbmNlQnV0dG9uXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2FjdGlvbi1idXR0b24gaWVlZXNhLW1lZXRpbmctYXR0ZW5kYW5jZS1yb3dfX2FjdGlvbi1idXR0b24tLWxvZ1wiXHJcbiAgICAgIFtjbGFzcy5pZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fYWN0aW9uLWJ1dHRvbi0taW5hY3RpdmVdPVwiaXNMb2dEaXNhYmxlZFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0xvZ0Rpc2FibGVkXCJcclxuICAgICAgW2F0dHIudGl0bGVdPVwiaXNMb2dEaXNhYmxlZCA/IGluYWN0aXZlTWVzc2FnZSA6IG51bGxcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnN0YW50cy5tZWV0aW5nUm93LmFyaWFMYWJlbC5sb2dBdHRlbmRhbmNlXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQXR0ZW5kYW5jZUFjdGlvbigpXCJcclxuICAgID5cclxuICAgICAge3sgY29uc3RhbnRzLm1lZXRpbmdSb3cubG9nQXR0ZW5kYW5jZUxhYmVsIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8IS0tIExlYXZlLW1lZXRpbmcgYnV0dG9uOiBzaG93biBpbiB0aGUgYXR0ZW5kaW5nIHN0YXRlIHdpdGggdGhlIHBlcm1pc3Npb24uIC0tPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dMZWF2ZU1lZXRpbmdCdXR0b25cIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fYWN0aW9uLWJ1dHRvbiBpZWVlc2EtbWVldGluZy1hdHRlbmRhbmNlLXJvd19fYWN0aW9uLWJ1dHRvbi0tbGVhdmVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNJbkZsaWdodCB8fCAhaXNBY3Rpb25hYmxlXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25zdGFudHMubWVldGluZ1Jvdy5hcmlhTGFiZWwubGVhdmVNZWV0aW5nXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQXR0ZW5kYW5jZUFjdGlvbigpXCJcclxuICAgID5cclxuICAgICAge3sgY29uc3RhbnRzLm1lZXRpbmdSb3cubGVhdmVNZWV0aW5nTGFiZWwgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|