@tuki-io/tuki-widgets 0.0.157 → 0.0.159
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/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +22 -12
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +37 -27
- package/esm2020/user-device-manage/src/services/dns.service.mjs +34 -2
- package/esm2020/user-device-manage/src/services/line.service.mjs +4 -4
- package/esm2020/user-device-manage/src/services/user.service.mjs +68 -47
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +5 -7
- package/esm2020/users-list/src/services/dns.service.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +314 -247
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +4 -7
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +317 -248
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +4 -6
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/package.json +1 -1
- package/user-device-manage/src/classes/deviceProfile.d.ts +9 -0
- package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +6 -2
- package/user-device-manage/src/device-manage-widget.component.d.ts +8 -4
- package/user-device-manage/src/services/dns.service.d.ts +4 -0
- package/user-device-manage/src/services/user.service.d.ts +20 -18
- package/user-manage/src/user-calling/user-calling.component.d.ts +1 -1
|
@@ -7,15 +7,13 @@ export class UserCallingComponent {
|
|
|
7
7
|
return this.userService?.user?.devices[0] && this.userService?.user?.devices[0].lineAssociations[0].form;
|
|
8
8
|
}
|
|
9
9
|
get isWebex() {
|
|
10
|
-
return localStorage.getItem('webexUUID') && localStorage.getItem('webexUUID')
|
|
10
|
+
return localStorage.getItem('webexUUID') && localStorage.getItem('webexUUID') !== 'null';
|
|
11
11
|
}
|
|
12
12
|
get formControl() {
|
|
13
13
|
const control = this.form?.get('directoryNumber');
|
|
14
14
|
return control;
|
|
15
15
|
}
|
|
16
16
|
get phoneNumberValue() {
|
|
17
|
-
// const control = this.form?.get('directoryNumber') as FormControl;
|
|
18
|
-
// return control;
|
|
19
17
|
return this.userService?.user?.devices[0] && this.userService?.user?.devices[0]?.lineAssociations[0]?.mappedDids[0];
|
|
20
18
|
}
|
|
21
19
|
get lineAssociation() {
|
|
@@ -33,7 +31,7 @@ export class UserCallingComponent {
|
|
|
33
31
|
// this.getData();
|
|
34
32
|
}
|
|
35
33
|
onExtensionLineChange(event) {
|
|
36
|
-
const value = event.target.
|
|
34
|
+
const value = event.target.value.trim();
|
|
37
35
|
(this.userService?.user && this.userService?.user?.lines && this.userService?.user?.lines[0]?.mappedDids[0]) ? this.userService.user.lines[0].mappedDids[0] = value : void 0;
|
|
38
36
|
this.onExtensionChange.next(true);
|
|
39
37
|
}
|
|
@@ -75,10 +73,10 @@ export class UserCallingComponent {
|
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
75
|
UserCallingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCallingComponent, deps: [{ token: i1.UserService }, { token: i2.DnsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
UserCallingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCallingComponent, selector: "app-user-calling", inputs: { siteId: "siteId", userId: "userId" }, outputs: { onExtensionChange: "onExtensionChange" }, ngImport: i0, template: "<!-- NUMBERS BOX -->\r\n<div style=\"display: flex; flex-direction: column; padding: 24px 0; gap: 24px;\">\r\n <div class=\"user-info-box user-details-box\" style=\"display: flex;\">\r\n <h3 class=\"user-box-title\" style=\"width: 180px;\">Numbers</h3>\r\n <div style=\"flex:1; display:flex; flex-direction:column;\">\r\n <!-- Directory numbers section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0;\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Directory numbers</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1; display:flex; flex-direction:column; align-items:flex-start;\">\r\n <!-- Table -->\r\n <table style=\"width:100%; border-collapse:collapse; margin-bottom:16px;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Type</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Phone number</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Extension</th>\r\n <th style=\"padding:10px 8px; border-bottom:1px solid #e8e8e8; width:30px;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\">\r\n <td style=\"padding:12px 16px; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; background:#e8f4fc; color:#1170a8; padding:4px 14px; border-radius:14px; font-size:13px; font-weight:400; border:1px solid #b8d9ed;\">Primary</span>\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onExtensionLineChange($event)\">\r\n {{ phoneNumberValue }}\r\n </span>\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <div>\r\n <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onDirectoryNumberChange($event)\">\r\n {{ formControl.value }}\r\n </span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/copy-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </td>\r\n <td style=\"padding:19px 8px; text-align:center; border-bottom:1px solid #e8e8e8; display:flex; align-items:center; justify-content:center; line-height:0;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!-- Add secondary number button -->\r\n <button style=\"background:#fff; border:1px solid #c4c4c4; padding:8px 20px; border-radius:18px; font-size:14px; font-weight:400; cursor:pointer; color:#333;\" onmouseover=\"this.style.background='#ededed'\" onmouseout=\"this.style.background='#fff'\">Add secondary number</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Caller ID section -->\r\n <div style=\"display:flex; align-items:center; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Caller ID</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1;\"></div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Emergency callback number section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:flex-start;\">\r\n <div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>Emergency callback</span>\r\n </div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>number</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"flex:1; display:flex; align-items:flex-start; padding-top:2px;\">\r\n <i class=\"fa fa-times-circle\" style=\"color:#c62828; margin-right:8px; margin-top: 2px; font-size:14px;\"></i>\r\n <span style=\"color:#c62828; font-size:13px; line-height:1.4;\">All calls will be blocked if there's no ECBN, assign a phone number to this user or set the location default ECBN.</span>\r\n </div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- user-calling-extension\r\n *ngIf=\"formControl\"\r\n [siteId]=\"this.siteId\"\r\n [control]=\"formControl\"\r\n [routePartition]=\"this.lineAssociation.directoryNumber.routePartitionName\"\r\n [directoryNumber]=\"this.lineAssociation.directoryNumber.directoryNumber\"\r\n (onChange)=\"onDirectoryNumberChange($event)\">\r\n </app-user-calling-extension> -->\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";#user-calling{height:calc(100vh - 100px)}#user-calling table{margin:10px 0;width:100%}#user-calling th{color:#000;text-align:left;background:#efefef;font-size:14px;font-weight:500;padding:2px 5px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important;line-height:35px!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] });
|
|
76
|
+
UserCallingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCallingComponent, selector: "app-user-calling", inputs: { siteId: "siteId", userId: "userId" }, outputs: { onExtensionChange: "onExtensionChange" }, ngImport: i0, template: "<!-- NUMBERS BOX -->\r\n<div style=\"display: flex; flex-direction: column; padding: 24px 0; gap: 24px;\">\r\n <div class=\"user-info-box user-details-box\" style=\"display: flex;\">\r\n <h3 class=\"user-box-title\" style=\"width: 180px;\">Numbers</h3>\r\n <div style=\"flex:1; display:flex; flex-direction:column;\">\r\n <!-- Directory numbers section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0;\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Directory numbers</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1; display:flex; flex-direction:column; align-items:flex-start;\">\r\n <!-- Table -->\r\n <table style=\"width:100%; border-collapse:collapse; margin-bottom:16px;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Type</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Phone number</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Extension</th>\r\n <th style=\"padding:10px 8px; border-bottom:1px solid #e8e8e8; width:30px;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\">\r\n <td style=\"padding:12px 16px; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; background:#e8f4fc; color:#1170a8; padding:4px 14px; border-radius:14px; font-size:13px; font-weight:400; border:1px solid #b8d9ed;\">Primary</span>\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <input\r\n class=\"input-text\"\r\n disabled=\"true\"\r\n type=\"text\"\r\n (blur)=\"onExtensionLineChange($event)\"\r\n (keydown.enter)=\"onExtensionLineChange($event)\"\r\n [value]=\"phoneNumberValue\"\r\n autofocus\r\n />\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <div>\r\n <input\r\n class=\"input-text\"\r\n disabled=\"true\"\r\n type=\"text\"\r\n (blur)=\"onDirectoryNumberChange($event)\"\r\n (keydown.enter)=\"onDirectoryNumberChange($event)\"\r\n [value]=\"formControl.value\"\r\n autofocus\r\n />\r\n <!-- <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onDirectoryNumberChange($event)\">\r\n {{ formControl.value }}\r\n </span> -->\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/copy-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </td>\r\n <td style=\"padding:19px 8px; text-align:center; border-bottom:1px solid #e8e8e8; display:flex; align-items:center; justify-content:center; line-height:0;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!-- Add secondary number button -->\r\n <button style=\"background:#fff; border:1px solid #c4c4c4; padding:8px 20px; border-radius:18px; font-size:14px; font-weight:400; cursor:pointer; color:#333;\" onmouseover=\"this.style.background='#ededed'\" onmouseout=\"this.style.background='#fff'\">Add secondary number</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Caller ID section -->\r\n <div style=\"display:flex; align-items:center; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Caller ID</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1;\"></div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Emergency callback number section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:flex-start;\">\r\n <div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>Emergency callback</span>\r\n </div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>number</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"flex:1; display:flex; align-items:flex-start; padding-top:2px;\">\r\n <i class=\"fa fa-times-circle\" style=\"color:#c62828; margin-right:8px; margin-top: 2px; font-size:14px;\"></i>\r\n <span style=\"color:#c62828; font-size:13px; line-height:1.4;\">All calls will be blocked if there's no ECBN, assign a phone number to this user or set the location default ECBN.</span>\r\n </div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- user-calling-extension\r\n *ngIf=\"formControl\"\r\n [siteId]=\"this.siteId\"\r\n [control]=\"formControl\"\r\n [routePartition]=\"this.lineAssociation.directoryNumber.routePartitionName\"\r\n [directoryNumber]=\"this.lineAssociation.directoryNumber.directoryNumber\"\r\n (onChange)=\"onDirectoryNumberChange($event)\">\r\n </app-user-calling-extension> -->\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";#user-calling{height:calc(100vh - 100px)}#user-calling table{margin:10px 0;width:100%}#user-calling th{color:#000;text-align:left;background:#efefef;font-size:14px;font-weight:500;padding:2px 5px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}td .input-text{color:#333;font-size:14px;padding:5px;background:none}td .input-text:not(:focus){border:none}td .input-text:focus{border:.0625rem solid rgba(0,0,0,.5019607843)!important;border-radius:.5rem;color:#000000f2;font-weight:400;font-size:.875rem;max-inline-size:18rem}td .input-text:focus-visible{outline:none}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important;line-height:35px!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] });
|
|
79
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCallingComponent, decorators: [{
|
|
80
78
|
type: Component,
|
|
81
|
-
args: [{ selector: 'app-user-calling', template: "<!-- NUMBERS BOX -->\r\n<div style=\"display: flex; flex-direction: column; padding: 24px 0; gap: 24px;\">\r\n <div class=\"user-info-box user-details-box\" style=\"display: flex;\">\r\n <h3 class=\"user-box-title\" style=\"width: 180px;\">Numbers</h3>\r\n <div style=\"flex:1; display:flex; flex-direction:column;\">\r\n <!-- Directory numbers section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0;\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Directory numbers</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1; display:flex; flex-direction:column; align-items:flex-start;\">\r\n <!-- Table -->\r\n <table style=\"width:100%; border-collapse:collapse; margin-bottom:16px;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Type</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Phone number</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Extension</th>\r\n <th style=\"padding:10px 8px; border-bottom:1px solid #e8e8e8; width:30px;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\">\r\n <td style=\"padding:12px 16px; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; background:#e8f4fc; color:#1170a8; padding:4px 14px; border-radius:14px; font-size:13px; font-weight:400; border:1px solid #b8d9ed;\">Primary</span>\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onExtensionLineChange($event)\">\r\n {{ phoneNumberValue }}\r\n </span>\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <div>\r\n <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onDirectoryNumberChange($event)\">\r\n {{ formControl.value }}\r\n </span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/copy-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </td>\r\n <td style=\"padding:19px 8px; text-align:center; border-bottom:1px solid #e8e8e8; display:flex; align-items:center; justify-content:center; line-height:0;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!-- Add secondary number button -->\r\n <button style=\"background:#fff; border:1px solid #c4c4c4; padding:8px 20px; border-radius:18px; font-size:14px; font-weight:400; cursor:pointer; color:#333;\" onmouseover=\"this.style.background='#ededed'\" onmouseout=\"this.style.background='#fff'\">Add secondary number</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Caller ID section -->\r\n <div style=\"display:flex; align-items:center; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Caller ID</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1;\"></div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Emergency callback number section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:flex-start;\">\r\n <div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>Emergency callback</span>\r\n </div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>number</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"flex:1; display:flex; align-items:flex-start; padding-top:2px;\">\r\n <i class=\"fa fa-times-circle\" style=\"color:#c62828; margin-right:8px; margin-top: 2px; font-size:14px;\"></i>\r\n <span style=\"color:#c62828; font-size:13px; line-height:1.4;\">All calls will be blocked if there's no ECBN, assign a phone number to this user or set the location default ECBN.</span>\r\n </div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- user-calling-extension\r\n *ngIf=\"formControl\"\r\n [siteId]=\"this.siteId\"\r\n [control]=\"formControl\"\r\n [routePartition]=\"this.lineAssociation.directoryNumber.routePartitionName\"\r\n [directoryNumber]=\"this.lineAssociation.directoryNumber.directoryNumber\"\r\n (onChange)=\"onDirectoryNumberChange($event)\">\r\n </app-user-calling-extension> -->\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";#user-calling{height:calc(100vh - 100px)}#user-calling table{margin:10px 0;width:100%}#user-calling th{color:#000;text-align:left;background:#efefef;font-size:14px;font-weight:500;padding:2px 5px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important;line-height:35px!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] }]
|
|
79
|
+
args: [{ selector: 'app-user-calling', template: "<!-- NUMBERS BOX -->\r\n<div style=\"display: flex; flex-direction: column; padding: 24px 0; gap: 24px;\">\r\n <div class=\"user-info-box user-details-box\" style=\"display: flex;\">\r\n <h3 class=\"user-box-title\" style=\"width: 180px;\">Numbers</h3>\r\n <div style=\"flex:1; display:flex; flex-direction:column;\">\r\n <!-- Directory numbers section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0;\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Directory numbers</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1; display:flex; flex-direction:column; align-items:flex-start;\">\r\n <!-- Table -->\r\n <table style=\"width:100%; border-collapse:collapse; margin-bottom:16px;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Type</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Phone number</th>\r\n <th style=\"padding:10px 16px; font-size:13px; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Extension</th>\r\n <th style=\"padding:10px 8px; border-bottom:1px solid #e8e8e8; width:30px;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\">\r\n <td style=\"padding:12px 16px; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; background:#e8f4fc; color:#1170a8; padding:4px 14px; border-radius:14px; font-size:13px; font-weight:400; border:1px solid #b8d9ed;\">Primary</span>\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <input\r\n class=\"input-text\"\r\n disabled=\"true\"\r\n type=\"text\"\r\n (blur)=\"onExtensionLineChange($event)\"\r\n (keydown.enter)=\"onExtensionLineChange($event)\"\r\n [value]=\"phoneNumberValue\"\r\n autofocus\r\n />\r\n </td>\r\n <td style=\"padding:12px 16px; color:#333; font-size:14px; border-bottom:1px solid #e8e8e8;\">\r\n <div>\r\n <input\r\n class=\"input-text\"\r\n disabled=\"true\"\r\n type=\"text\"\r\n (blur)=\"onDirectoryNumberChange($event)\"\r\n (keydown.enter)=\"onDirectoryNumberChange($event)\"\r\n [value]=\"formControl.value\"\r\n autofocus\r\n />\r\n <!-- <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onDirectoryNumberChange($event)\">\r\n {{ formControl.value }}\r\n </span> -->\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/copy-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </td>\r\n <td style=\"padding:19px 8px; text-align:center; border-bottom:1px solid #e8e8e8; display:flex; align-items:center; justify-content:center; line-height:0;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!-- Add secondary number button -->\r\n <button style=\"background:#fff; border:1px solid #c4c4c4; padding:8px 20px; border-radius:18px; font-size:14px; font-weight:400; cursor:pointer; color:#333;\" onmouseover=\"this.style.background='#ededed'\" onmouseout=\"this.style.background='#fff'\">Add secondary number</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Caller ID section -->\r\n <div style=\"display:flex; align-items:center; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:center;\">\r\n <span>Caller ID</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n <div style=\"flex:1;\"></div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div style=\"height:1px; background:#e8e8e8; margin:8px 0;\"></div>\r\n\r\n <!-- Emergency callback number section -->\r\n <div style=\"display:flex; align-items:flex-start; padding:16px 0; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='transparent'\">\r\n <div style=\"min-width:170px; font-weight:400; font-size:14px; color:#121212; display:flex; align-items:flex-start;\">\r\n <div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>Emergency callback</span>\r\n </div>\r\n <div style=\"display:flex; align-items:center;\">\r\n <span>number</span>\r\n <img style=\"margin-left: .5rem;\" src=\"assets/icons/info-circle-regular.svg\" width=\"16\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"flex:1; display:flex; align-items:flex-start; padding-top:2px;\">\r\n <i class=\"fa fa-times-circle\" style=\"color:#c62828; margin-right:8px; margin-top: 2px; font-size:14px;\"></i>\r\n <span style=\"color:#c62828; font-size:13px; line-height:1.4;\">All calls will be blocked if there's no ECBN, assign a phone number to this user or set the location default ECBN.</span>\r\n </div>\r\n <div style=\"padding-right:8px; display:flex; align-items:center;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width:16px; height:16px; color:#222222; transform:rotate(-90deg); transform-origin:center; display:block; margin:0;\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- user-calling-extension\r\n *ngIf=\"formControl\"\r\n [siteId]=\"this.siteId\"\r\n [control]=\"formControl\"\r\n [routePartition]=\"this.lineAssociation.directoryNumber.routePartitionName\"\r\n [directoryNumber]=\"this.lineAssociation.directoryNumber.directoryNumber\"\r\n (onChange)=\"onDirectoryNumberChange($event)\">\r\n </app-user-calling-extension> -->\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";#user-calling{height:calc(100vh - 100px)}#user-calling table{margin:10px 0;width:100%}#user-calling th{color:#000;text-align:left;background:#efefef;font-size:14px;font-weight:500;padding:2px 5px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}td .input-text{color:#333;font-size:14px;padding:5px;background:none}td .input-text:not(:focus){border:none}td .input-text:focus{border:.0625rem solid rgba(0,0,0,.5019607843)!important;border-radius:.5rem;color:#000000f2;font-weight:400;font-size:.875rem;max-inline-size:18rem}td .input-text:focus-visible{outline:none}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important;line-height:35px!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] }]
|
|
82
80
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.DnsService }]; }, propDecorators: { siteId: [{
|
|
83
81
|
type: Input
|
|
84
82
|
}], userId: [{
|
|
@@ -86,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
86
84
|
}], onExtensionChange: [{
|
|
87
85
|
type: Output
|
|
88
86
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jYWxsaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXNlci1jYWxsaW5nL3VzZXItY2FsbGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItY2FsbGluZy91c2VyLWNhbGxpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWEvRSxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0csQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQWdCLENBQUM7UUFDakUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLG9FQUFvRTtRQUNwRSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFP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QUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7U0FDOUY7SUFDSCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUM3RCxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLO1NBQzVDLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQTVGVSxvQkFBb0I7c0dBQXBCLG9CQUFvQiw2SkNiakMsb2lQQTZHQTs0RkRoR2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjsySEFLbkIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNpbXBsaWZpZWRVc2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zaW1wbGlmaWVkLXVzZXInO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZG5zLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1jYWxsaW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1jYWxsaW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWNhbGxpbmcuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJDYWxsaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBzaXRlSWQhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgdXNlcklkITogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBvbkV4dGVuc2lvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHB1YmxpYyBkYXRhUGVuZGluZyE6IGJvb2xlYW47XHJcblxyXG4gIGdldCBmb3JtKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1swXSAmJiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF0uZm9ybTtcclxuICB9XHJcblxyXG4gIGdldCBpc1dlYmV4KCkge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJleFVVSUQnKSAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2ViZXhVVUlEJyk/Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldCBmb3JtQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtPy5nZXQoJ2RpcmVjdG9yeU51bWJlcicpIGFzIEZvcm1Db250cm9sO1xyXG4gICAgcmV0dXJuIGNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgcGhvbmVOdW1iZXJWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgLy8gY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KCdkaXJlY3RvcnlOdW1iZXInKSBhcyBGb3JtQ29udHJvbDtcclxuICAgIC8vIHJldHVybiBjb250cm9sO1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbMF0gJiYgdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1swXT8ubGluZUFzc29jaWF0aW9uc1swXT8ubWFwcGVkRGlkc1swXTtcclxuICB9XHJcblxyXG4gIGdldCBsaW5lQXNzb2NpYXRpb24oKTogTGluZUFzc29jaWF0aW9uIHwgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF07XHJcbiAgfVxyXG5cclxuICBnZXQgdXNlcigpOiBTaW1wbGlmaWVkVXNlciB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS51c2VyO1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgZG5zU2VydmljZTogRG5zU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG9uRXh0ZW5zaW9uTGluZUNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0LnRyaW0oKTtcclxuICAgICh0aGlzLnVzZXJTZXJ2aWNlPy51c2VyICYmIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmxpbmVzICYmIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmxpbmVzWzBdPy5tYXBwZWREaWRzWzBdKSA/IHRoaXMudXNlclNlcnZpY2UudXNlci5saW5lc1swXS5tYXBwZWREaWRzWzBdID0gdmFsdWUgOiB2b2lkIDA7XHJcbiAgICB0aGlzLm9uRXh0ZW5zaW9uQ2hhbmdlLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkRpcmVjdG9yeU51bWJlckNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuaW5uZXJUZXh0LnRyaW0oKTtcclxuXHJcbiAgICBpZiAodGhpcy5saW5lQXNzb2NpYXRpb24gJiYgdGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgdGhpcy51c2VyU2VydmljZS51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXS5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyID0gdmFsdWU7XHJcbiAgICAgIHRoaXMub25FeHRlbnNpb25DaGFuZ2UubmV4dCh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUZpZWxkKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdG9rZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgKHRoaXMudXNlclNlcnZpY2UudXNlciBhcyBhbnkpW3Rva2VuXSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyLnRvZ2dsZUVkaXRNb2RlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTYXZpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy51c2VyU2VydmljZS5oYXNVbnNhdmVkQ2hhbmdlcygpIHx8IHRoaXMudXNlclNlcnZpY2UuaGFzRXhpc3RlZFVzZXJJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUV4dGVuc2lvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5saW5lQXNzb2NpYXRpb24gJiYgdGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgdGhpcy51c2VyU2VydmljZS51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXS5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldERhdGEoKSB7XHJcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZG5zU2VydmljZS5nZXROdW1iZXJSYW5nZShTdHJpbmcodGhpcy5zaXRlSWQpLCB0aGlzLnVzZXJJZClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgY29tcGxldGU6ICh2OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZTogYW55KSA9PiB0aGlzLmRhdGFQZW5kaW5nID0gZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tICAgIE5VTUJFUlMgQk9YIC0tPlxyXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcGFkZGluZzogMjRweCAwOyBnYXA6IDI0cHg7XCI+XHJcbiAgPGRpdiBjbGFzcz1cInVzZXItaW5mby1ib3ggdXNlci1kZXRhaWxzLWJveFwiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cclxuICAgIDxoMyBjbGFzcz1cInVzZXItYm94LXRpdGxlXCIgc3R5bGU9XCJ3aWR0aDogMTgwcHg7XCI+TnVtYmVyczwvaDM+XHJcbiAgICA8ZGl2IHN0eWxlPVwiZmxleDoxOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcIj5cclxuICAgICAgPCEtLSBEaXJlY3RvcnkgbnVtYmVycyBzZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyBwYWRkaW5nOjE2cHggMDtcIj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWluLXdpZHRoOjE3MHB4OyBmb250LXdlaWdodDo0MDA7IGZvbnQtc2l6ZToxNHB4OyBjb2xvcjojMTIxMjEyOyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjtcIj5cclxuICAgICAgICAgIDxzcGFuPkRpcmVjdG9yeSBudW1iZXJzPC9zcGFuPlxyXG4gICAgICAgICAgPGltZyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAuNXJlbTtcIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiB3aWR0aD1cIjE2XCIgYWx0PVwiXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXg6MTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7XCI+XHJcbiAgICAgICAgICA8IS0tIFRhYmxlIC0tPlxyXG4gICAgICAgICAgPHRhYmxlIHN0eWxlPVwid2lkdGg6MTAwJTsgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyBtYXJnaW4tYm90dG9tOjE2cHg7XCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICA8dHIgc3R5bGU9XCJiYWNrZ3JvdW5kOiNlZGVkZWQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJwYWRkaW5nOjEwcHggMTZweDsgZm9udC1zaXplOjEzcHg7IGZvbnQtd2VpZ2h0OjQwMDsgY29sb3I6IzU0NTQ1NDsgdGV4dC1hbGlnbjpsZWZ0OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O1wiPlR5cGU8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwicGFkZGluZzoxMHB4IDE2cHg7IGZvbnQtc2l6ZToxM3B4OyBmb250LXdlaWdodDo0MDA7IGNvbG9yOiM1NDU0NTQ7IHRleHQtYWxpZ246bGVmdDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U4ZThlODtcIj5QaG9uZSBudW1iZXI8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwicGFkZGluZzoxMHB4IDE2cHg7IGZvbnQtc2l6ZToxM3B4OyBmb250LXdlaWdodDo0MDA7IGNvbG9yOiM1NDU0NTQ7IHRleHQtYWxpZ246bGVmdDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U4ZThlODtcIj5FeHRlbnNpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwicGFkZGluZzoxMHB4IDhweDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U4ZThlODsgd2lkdGg6MzBweDtcIj48L3RoPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICA8dHIgc3R5bGU9XCJiYWNrZ3JvdW5kOiNmZmY7IGN1cnNvcjpwb2ludGVyO1wiIG9ubW91c2VvdmVyPVwidGhpcy5zdHlsZS5iYWNrZ3JvdW5kPScjZmFmYWZhJ1wiIG9ubW91c2VvdXQ9XCJ0aGlzLnN0eWxlLmJhY2tncm91bmQ9JyNmZmYnXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJwYWRkaW5nOjEycHggMTZweDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U4ZThlODtcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJkaXNwbGF5OmlubGluZS1ibG9jazsgYmFja2dyb3VuZDojZThmNGZjOyBjb2xvcjojMTE3MGE4OyBwYWRkaW5nOjRweCAxNHB4OyBib3JkZXItcmFkaXVzOjE0cHg7IGZvbnQtc2l6ZToxM3B4OyBmb250LXdlaWdodDo0MDA7IGJvcmRlcjoxcHggc29saWQgI2I4ZDllZDtcIj5QcmltYXJ5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInBhZGRpbmc6MTJweCAxNnB4OyBjb2xvcjojMzMzOyBmb250LXNpemU6MTRweDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U4ZThlODtcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb250ZW50ZWRpdGFibGVdPVwiIWlzV2ViZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uRXh0ZW5zaW9uTGluZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgcGhvbmVOdW1iZXJWYWx1ZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwicGFkZGluZzoxMnB4IDE2cHg7IGNvbG9yOiMzMzM7IGZvbnQtc2l6ZToxNHB4OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb250ZW50ZWRpdGFibGVdPVwiIWlzV2ViZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25EaXJlY3RvcnlOdW1iZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZm9ybUNvbnRyb2wudmFsdWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAuNXJlbTtcIiBzcmM9XCJhc3NldHMvaWNvbnMvY29weS1yZWd1bGFyLnN2Z1wiIHdpZHRoPVwiMTZcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwicGFkZGluZzoxOXB4IDhweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlOGU4ZTg7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBsaW5lLWhlaWdodDowO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgc3R5bGU9XCJ3aWR0aDoxNnB4OyBoZWlnaHQ6MTZweDsgY29sb3I6IzIyMjIyMjsgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOyB0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsgZGlzcGxheTpibG9jazsgbWFyZ2luOjA7XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMjguNzA4IDkuMjkzYTEgMSAwIDAgMC0xLjQxNSAwTDE2IDIwLjU4NiA0LjcwNyA5LjI5M2ExIDEgMCAwIDAtMS40MTQgMS40MTRsMTIgMTJhMSAxIDAgMCAwIDEuNDE0IDBsMTItMTJhMSAxIDAgMCAwIDAtMS40MTRcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgIDwhLS0gQWRkIHNlY29uZGFyeSBudW1iZXIgYnV0dG9uIC0tPlxyXG4gICAgICAgICAgPGJ1dHRvbiBzdHlsZT1cImJhY2tncm91bmQ6I2ZmZjsgYm9yZGVyOjFweCBzb2xpZCAjYzRjNGM0OyBwYWRkaW5nOjhweCAyMHB4OyBib3JkZXItcmFkaXVzOjE4cHg7IGZvbnQtc2l6ZToxNHB4OyBmb250LXdlaWdodDo0MDA7IGN1cnNvcjpwb2ludGVyOyBjb2xvcjojMzMzO1wiIG9ubW91c2VvdmVyPVwidGhpcy5zdHlsZS5iYWNrZ3JvdW5kPScjZWRlZGVkJ1wiIG9ubW91c2VvdXQ9XCJ0aGlzLnN0eWxlLmJhY2tncm91bmQ9JyNmZmYnXCI+QWRkIHNlY29uZGFyeSBudW1iZXI8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OjFweDsgYmFja2dyb3VuZDojZThlOGU4OyBtYXJnaW46OHB4IDA7XCI+PC9kaXY+XHJcblxyXG4gICAgICA8IS0tIENhbGxlciBJRCBzZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IHBhZGRpbmc6MTZweCAwOyBjdXJzb3I6cG9pbnRlcjtcIiBvbm1vdXNlb3Zlcj1cInRoaXMuc3R5bGUuYmFja2dyb3VuZD0nI2ZhZmFmYSdcIiBvbm1vdXNlb3V0PVwidGhpcy5zdHlsZS5iYWNrZ3JvdW5kPSd0cmFuc3BhcmVudCdcIj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWluLXdpZHRoOjE3MHB4OyBmb250LXdlaWdodDo0MDA7IGZvbnQtc2l6ZToxNHB4OyBjb2xvcjojMTIxMjEyOyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjtcIj5cclxuICAgICAgICAgIDxzcGFuPkNhbGxlciBJRDwvc3Bhbj5cclxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJtYXJnaW4tbGVmdDogLjVyZW07XCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgd2lkdGg9XCIxNlwiIGFsdD1cIlwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OjE7XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6OHB4OyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjtcIj5cclxuICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBzdHlsZT1cIndpZHRoOjE2cHg7IGhlaWdodDoxNnB4OyBjb2xvcjojMjIyMjIyOyB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7IHRyYW5zZm9ybS1vcmlnaW46Y2VudGVyOyBkaXNwbGF5OmJsb2NrOyBtYXJnaW46MDtcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMjguNzA4IDkuMjkzYTEgMSAwIDAgMC0xLjQxNSAwTDE2IDIwLjU4NiA0LjcwNyA5LjI5M2ExIDEgMCAwIDAtMS40MTQgMS40MTRsMTIgMTJhMSAxIDAgMCAwIDEuNDE0IDBsMTItMTJhMSAxIDAgMCAwIDAtMS40MTRcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6MXB4OyBiYWNrZ3JvdW5kOiNlOGU4ZTg7IG1hcmdpbjo4cHggMDtcIj48L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gRW1lcmdlbmN5IGNhbGxiYWNrIG51bWJlciBzZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyBwYWRkaW5nOjE2cHggMDsgY3Vyc29yOnBvaW50ZXI7XCIgb25tb3VzZW92ZXI9XCJ0aGlzLnN0eWxlLmJhY2tncm91bmQ9JyNmYWZhZmEnXCIgb25tb3VzZW91dD1cInRoaXMuc3R5bGUuYmFja2dyb3VuZD0ndHJhbnNwYXJlbnQnXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIm1pbi13aWR0aDoxNzBweDsgZm9udC13ZWlnaHQ6NDAwOyBmb250LXNpemU6MTRweDsgY29sb3I6IzEyMTIxMjsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0O1wiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyO1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPkVtZXJnZW5jeSBjYWxsYmFjazwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj5udW1iZXI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGltZyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAuNXJlbTtcIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiB3aWR0aD1cIjE2XCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXg6MTsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyBwYWRkaW5nLXRvcDoycHg7XCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzLWNpcmNsZVwiIHN0eWxlPVwiY29sb3I6I2M2MjgyODsgbWFyZ2luLXJpZ2h0OjhweDsgbWFyZ2luLXRvcDogMnB4OyBmb250LXNpemU6MTRweDtcIj48L2k+XHJcbiAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiNjNjI4Mjg7IGZvbnQtc2l6ZToxM3B4OyBsaW5lLWhlaWdodDoxLjQ7XCI+QWxsIGNhbGxzIHdpbGwgYmUgYmxvY2tlZCBpZiB0aGVyZSdzIG5vIEVDQk4sIGFzc2lnbiBhIHBob25lIG51bWJlciB0byB0aGlzIHVzZXIgb3Igc2V0IHRoZSBsb2NhdGlvbiBkZWZhdWx0IEVDQk4uPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjhweDsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7XCI+XHJcbiAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgc3R5bGU9XCJ3aWR0aDoxNnB4OyBoZWlnaHQ6MTZweDsgY29sb3I6IzIyMjIyMjsgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOyB0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsgZGlzcGxheTpibG9jazsgbWFyZ2luOjA7XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTI4LjcwOCA5LjI5M2ExIDEgMCAwIDAtMS40MTUgMEwxNiAyMC41ODYgNC43MDcgOS4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0bDEyIDEyYTEgMSAwIDAgMCAxLjQxNCAwbDEyLTEyYTEgMSAwIDAgMCAwLTEuNDE0XCIvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSB1c2VyLWNhbGxpbmctZXh0ZW5zaW9uXHJcbiAgICAqbmdJZj1cImZvcm1Db250cm9sXCJcclxuICAgIFtzaXRlSWRdPVwidGhpcy5zaXRlSWRcIlxyXG4gICAgICAgICAgICAgIFtjb250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgICBbcm91dGVQYXJ0aXRpb25dPVwidGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyLnJvdXRlUGFydGl0aW9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgW2RpcmVjdG9yeU51bWJlcl09XCJ0aGlzLmxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25EaXJlY3RvcnlOdW1iZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2FwcC11c2VyLWNhbGxpbmctZXh0ZW5zaW9uPiAtLT5cclxuIl19
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jYWxsaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXNlci1jYWxsaW5nL3VzZXItY2FsbGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItY2FsbGluZy91c2VyLWNhbGxpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWEvRSxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0csQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLE1BQU0sQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQWdCLENBQUM7UUFDakUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUks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QyxlQUFlLEdBQUcsS0FBSyxDQUFDO1NBQzlGO0lBQ0gsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDN0QsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSztTQUM1QyxDQUFDLENBQUM7SUFDUCxDQUFDOztrSEExRlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsNkpDYmpDLDBvUUEwSEE7NEZEN0dhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7MkhBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTaW1wbGlmaWVkVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvc2ltcGxpZmllZC11c2VyJztcclxuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uJztcclxuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG5zU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Rucy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItY2FsbGluZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItY2FsbGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1jYWxsaW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyQ2FsbGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgc2l0ZUlkITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHVzZXJJZCE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgb25FeHRlbnNpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwdWJsaWMgZGF0YVBlbmRpbmchOiBib29sZWFuO1xyXG5cclxuICBnZXQgZm9ybSgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbMF0gJiYgdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmZvcm07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNXZWJleCgpIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2ViZXhVVUlEJykgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYmV4VVVJRCcpICE9PSAnbnVsbCc7XHJcbiAgfVxyXG5cclxuICBnZXQgZm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KCdkaXJlY3RvcnlOdW1iZXInKSBhcyBGb3JtQ29udHJvbDtcclxuICAgIHJldHVybiBjb250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBob25lTnVtYmVyVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5kZXZpY2VzWzBdICYmIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbMF0/LmxpbmVBc3NvY2lhdGlvbnNbMF0/Lm1hcHBlZERpZHNbMF07XHJcbiAgfVxyXG5cclxuICBnZXQgbGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRuc1NlcnZpY2U6IERuc1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBvbkV4dGVuc2lvbkxpbmVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUudHJpbSgpO1xyXG4gICAgKHRoaXMudXNlclNlcnZpY2U/LnVzZXIgJiYgdGhpcy51c2VyU2VydmljZT8udXNlcj8ubGluZXMgJiYgdGhpcy51c2VyU2VydmljZT8udXNlcj8ubGluZXNbMF0/Lm1hcHBlZERpZHNbMF0pID8gdGhpcy51c2VyU2VydmljZS51c2VyLmxpbmVzWzBdLm1hcHBlZERpZHNbMF0gPSB2YWx1ZSA6IHZvaWQgMDtcclxuICAgIHRoaXMub25FeHRlbnNpb25DaGFuZ2UubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIG9uRGlyZWN0b3J5TnVtYmVyQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5pbm5lclRleHQudHJpbSgpO1xyXG5cclxuICAgIGlmICh0aGlzLmxpbmVBc3NvY2lhdGlvbiAmJiB0aGlzLmxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIpIHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXIgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5vbkV4dGVuc2lvbkNoYW5nZS5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlRmllbGQodG9rZW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0b2tlbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAodGhpcy51c2VyU2VydmljZS51c2VyIGFzIGFueSlbdG9rZW5dID0gdGhpcy5mb3JtPy5nZXQodG9rZW4pPy52YWx1ZTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlRWRpdE1vZGUoKSB7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIudG9nZ2xlRWRpdE1vZGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1NhdmluZ0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLnVzZXJTZXJ2aWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzKCkgfHwgdGhpcy51c2VyU2VydmljZS5oYXNFeGlzdGVkVXNlcklkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlRXh0ZW5zaW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxpbmVBc3NvY2lhdGlvbiAmJiB0aGlzLmxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIpIHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXIgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YSgpIHtcclxuICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kbnNTZXJ2aWNlLmdldE51bWJlclJhbmdlKFN0cmluZyh0aGlzLnNpdGVJZCksIHRoaXMudXNlcklkKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBjb21wbGV0ZTogKHY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlOiBhbnkpID0+IHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gICAgTlVNQkVSUyBCT1ggLS0+XHJcbjxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBwYWRkaW5nOiAyNHB4IDA7IGdhcDogMjRweDtcIj5cclxuICA8ZGl2IGNsYXNzPVwidXNlci1pbmZvLWJveCB1c2VyLWRldGFpbHMtYm94XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG4gICAgPGgzIGNsYXNzPVwidXNlci1ib3gtdGl0bGVcIiBzdHlsZT1cIndpZHRoOiAxODBweDtcIj5OdW1iZXJzPC9oMz5cclxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OjE7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246Y29sdW1uO1wiPlxyXG4gICAgICA8IS0tIERpcmVjdG9yeSBudW1iZXJzIHNlY3Rpb24gLS0+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7IHBhZGRpbmc6MTZweCAwO1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJtaW4td2lkdGg6MTcwcHg7IGZvbnQtd2VpZ2h0OjQwMDsgZm9udC1zaXplOjE0cHg7IGNvbG9yOiMxMjEyMTI7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyO1wiPlxyXG4gICAgICAgICAgPHNwYW4+RGlyZWN0b3J5IG51bWJlcnM8L3NwYW4+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC41cmVtO1wiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIHdpZHRoPVwiMTZcIiBhbHQ9XCJcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgYWxpZ24taXRlbXM6ZmxleC1zdGFydDtcIj5cclxuICAgICAgICAgIDwhLS0gVGFibGUgLS0+XHJcbiAgICAgICAgICA8dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlOyBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7IG1hcmdpbi1ib3R0b206MTZweDtcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgIDx0ciBzdHlsZT1cImJhY2tncm91bmQ6I2VkZWRlZDtcIj5cclxuICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cInBhZGRpbmc6MTBweCAxNnB4OyBmb250LXNpemU6MTNweDsgZm9udC13ZWlnaHQ6NDAwOyBjb2xvcjojNTQ1NDU0OyB0ZXh0LWFsaWduOmxlZnQ7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlOGU4ZTg7XCI+VHlwZTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJwYWRkaW5nOjEwcHggMTZweDsgZm9udC1zaXplOjEzcHg7IGZvbnQtd2VpZ2h0OjQwMDsgY29sb3I6IzU0NTQ1NDsgdGV4dC1hbGlnbjpsZWZ0OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O1wiPlBob25lIG51bWJlcjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJwYWRkaW5nOjEwcHggMTZweDsgZm9udC1zaXplOjEzcHg7IGZvbnQtd2VpZ2h0OjQwMDsgY29sb3I6IzU0NTQ1NDsgdGV4dC1hbGlnbjpsZWZ0OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O1wiPkV4dGVuc2lvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJwYWRkaW5nOjEwcHggOHB4OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4OyB3aWR0aDozMHB4O1wiPjwvdGg+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgIDx0ciBzdHlsZT1cImJhY2tncm91bmQ6I2ZmZjsgY3Vyc29yOnBvaW50ZXI7XCIgb25tb3VzZW92ZXI9XCJ0aGlzLnN0eWxlLmJhY2tncm91bmQ9JyNmYWZhZmEnXCIgb25tb3VzZW91dD1cInRoaXMuc3R5bGUuYmFja2dyb3VuZD0nI2ZmZidcIj5cclxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInBhZGRpbmc6MTJweCAxNnB4OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImRpc3BsYXk6aW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiNlOGY0ZmM7IGNvbG9yOiMxMTcwYTg7IHBhZGRpbmc6NHB4IDE0cHg7IGJvcmRlci1yYWRpdXM6MTRweDsgZm9udC1zaXplOjEzcHg7IGZvbnQtd2VpZ2h0OjQwMDsgYm9yZGVyOjFweCBzb2xpZCAjYjhkOWVkO1wiPlByaW1hcnk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwicGFkZGluZzoxMnB4IDE2cHg7IGNvbG9yOiMzMzM7IGZvbnQtc2l6ZToxNHB4OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25FeHRlbnNpb25MaW5lQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25FeHRlbnNpb25MaW5lQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInBob25lTnVtYmVyVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJwYWRkaW5nOjEycHggMTZweDsgY29sb3I6IzMzMzsgZm9udC1zaXplOjE0cHg7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlOGU4ZTg7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LXRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uRGlyZWN0b3J5TnVtYmVyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EaXJlY3RvcnlOdW1iZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZm9ybUNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb250ZW50ZWRpdGFibGVdPVwiIWlzV2ViZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25EaXJlY3RvcnlOdW1iZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZm9ybUNvbnRyb2wudmFsdWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJtYXJnaW4tbGVmdDogLjVyZW07XCIgc3JjPVwiYXNzZXRzL2ljb25zL2NvcHktcmVndWxhci5zdmdcIiB3aWR0aD1cIjE2XCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInBhZGRpbmc6MTlweCA4cHg7IHRleHQtYWxpZ246Y2VudGVyOyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4OyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgbGluZS1oZWlnaHQ6MDtcIj5cclxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIHN0eWxlPVwid2lkdGg6MTZweDsgaGVpZ2h0OjE2cHg7IGNvbG9yOiMyMjIyMjI7IHRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTsgdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjowO1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTI4LjcwOCA5LjI5M2ExIDEgMCAwIDAtMS40MTUgMEwxNiAyMC41ODYgNC43MDcgOS4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0bDEyIDEyYTEgMSAwIDAgMCAxLjQxNCAwbDEyLTEyYTEgMSAwIDAgMCAwLTEuNDE0XCIvPlxyXG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICA8IS0tIEFkZCBzZWNvbmRhcnkgbnVtYmVyIGJ1dHRvbiAtLT5cclxuICAgICAgICAgIDxidXR0b24gc3R5bGU9XCJiYWNrZ3JvdW5kOiNmZmY7IGJvcmRlcjoxcHggc29saWQgI2M0YzRjNDsgcGFkZGluZzo4cHggMjBweDsgYm9yZGVyLXJhZGl1czoxOHB4OyBmb250LXNpemU6MTRweDsgZm9udC13ZWlnaHQ6NDAwOyBjdXJzb3I6cG9pbnRlcjsgY29sb3I6IzMzMztcIiBvbm1vdXNlb3Zlcj1cInRoaXMuc3R5bGUuYmFja2dyb3VuZD0nI2VkZWRlZCdcIiBvbm1vdXNlb3V0PVwidGhpcy5zdHlsZS5iYWNrZ3JvdW5kPScjZmZmJ1wiPkFkZCBzZWNvbmRhcnkgbnVtYmVyPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBzdHlsZT1cImhlaWdodDoxcHg7IGJhY2tncm91bmQ6I2U4ZThlODsgbWFyZ2luOjhweCAwO1wiPjwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBDYWxsZXIgSUQgc2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBwYWRkaW5nOjE2cHggMDsgY3Vyc29yOnBvaW50ZXI7XCIgb25tb3VzZW92ZXI9XCJ0aGlzLnN0eWxlLmJhY2tncm91bmQ9JyNmYWZhZmEnXCIgb25tb3VzZW91dD1cInRoaXMuc3R5bGUuYmFja2dyb3VuZD0ndHJhbnNwYXJlbnQnXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIm1pbi13aWR0aDoxNzBweDsgZm9udC13ZWlnaHQ6NDAwOyBmb250LXNpemU6MTRweDsgY29sb3I6IzEyMTIxMjsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7XCI+XHJcbiAgICAgICAgICA8c3Bhbj5DYWxsZXIgSUQ8L3NwYW4+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC41cmVtO1wiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIHdpZHRoPVwiMTZcIiBhbHQ9XCJcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxO1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjhweDsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7XCI+XHJcbiAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgc3R5bGU9XCJ3aWR0aDoxNnB4OyBoZWlnaHQ6MTZweDsgY29sb3I6IzIyMjIyMjsgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOyB0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsgZGlzcGxheTpibG9jazsgbWFyZ2luOjA7XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTI4LjcwOCA5LjI5M2ExIDEgMCAwIDAtMS40MTUgMEwxNiAyMC41ODYgNC43MDcgOS4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0bDEyIDEyYTEgMSAwIDAgMCAxLjQxNCAwbDEyLTEyYTEgMSAwIDAgMCAwLTEuNDE0XCIvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OjFweDsgYmFja2dyb3VuZDojZThlOGU4OyBtYXJnaW46OHB4IDA7XCI+PC9kaXY+XHJcblxyXG4gICAgICA8IS0tIEVtZXJnZW5jeSBjYWxsYmFjayBudW1iZXIgc2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6ZmxleC1zdGFydDsgcGFkZGluZzoxNnB4IDA7IGN1cnNvcjpwb2ludGVyO1wiIG9ubW91c2VvdmVyPVwidGhpcy5zdHlsZS5iYWNrZ3JvdW5kPScjZmFmYWZhJ1wiIG9ubW91c2VvdXQ9XCJ0aGlzLnN0eWxlLmJhY2tncm91bmQ9J3RyYW5zcGFyZW50J1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJtaW4td2lkdGg6MTcwcHg7IGZvbnQtd2VpZ2h0OjQwMDsgZm9udC1zaXplOjE0cHg7IGNvbG9yOiMxMjEyMTI7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6ZmxleC1zdGFydDtcIj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj5FbWVyZ2VuY3kgY2FsbGJhY2s8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+bnVtYmVyPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJtYXJnaW4tbGVmdDogLjVyZW07XCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgd2lkdGg9XCIxNlwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OjE7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6ZmxleC1zdGFydDsgcGFkZGluZy10b3A6MnB4O1wiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lcy1jaXJjbGVcIiBzdHlsZT1cImNvbG9yOiNjNjI4Mjg7IG1hcmdpbi1yaWdodDo4cHg7IG1hcmdpbi10b3A6IDJweDsgZm9udC1zaXplOjE0cHg7XCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjojYzYyODI4OyBmb250LXNpemU6MTNweDsgbGluZS1oZWlnaHQ6MS40O1wiPkFsbCBjYWxscyB3aWxsIGJlIGJsb2NrZWQgaWYgdGhlcmUncyBubyBFQ0JOLCBhc3NpZ24gYSBwaG9uZSBudW1iZXIgdG8gdGhpcyB1c2VyIG9yIHNldCB0aGUgbG9jYXRpb24gZGVmYXVsdCBFQ0JOLjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1yaWdodDo4cHg7IGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyO1wiPlxyXG4gICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIHN0eWxlPVwid2lkdGg6MTZweDsgaGVpZ2h0OjE2cHg7IGNvbG9yOiMyMjIyMjI7IHRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTsgdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjowO1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk0yOC43MDggOS4yOTNhMSAxIDAgMCAwLTEuNDE1IDBMMTYgMjAuNTg2IDQuNzA3IDkuMjkzYTEgMSAwIDAgMC0xLjQxNCAxLjQxNGwxMiAxMmExIDEgMCAwIDAgMS40MTQgMGwxMi0xMmExIDEgMCAwIDAgMC0xLjQxNFwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gdXNlci1jYWxsaW5nLWV4dGVuc2lvblxyXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbFwiXHJcbiAgICBbc2l0ZUlkXT1cInRoaXMuc2l0ZUlkXCJcclxuICAgICAgICAgICAgICBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgICAgICAgW3JvdXRlUGFydGl0aW9uXT1cInRoaXMubGluZUFzc29jaWF0aW9uLmRpcmVjdG9yeU51bWJlci5yb3V0ZVBhcnRpdGlvbk5hbWVcIlxyXG4gICAgICAgICAgICAgIFtkaXJlY3RvcnlOdW1iZXJdPVwidGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlclwiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uRGlyZWN0b3J5TnVtYmVyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtdXNlci1jYWxsaW5nLWV4dGVuc2lvbj4gLS0+XHJcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { API } from '../app.constants';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
|
-
import
|
|
4
|
+
import Big from 'big.js';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
6
|
import { DnRangeType } from '../classes/line';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -117,4 +117,4 @@ DnsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
|
117
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, decorators: [{
|
|
118
118
|
type: Injectable
|
|
119
119
|
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.ApiWebexService }]; } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvZG5zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUlsRixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTjFDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUV0QixpQkFBWSxHQUFhLEVBQUUsQ0FBQztJQU81QixDQUFDO0lBQ00sY0FBYyxDQUFDLE1BQWMsRUFBRSxjQUFzQixFQUFFLFFBQWtCLEVBQUUsSUFBYSxFQUFFLFFBQWlCO1FBQ2hILGFBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDakQsT0FBTyxJQUFJLFVBQVUsQ0FBTSxRQUFRLENBQUMsRUFBRTtnQkFDcEMsYUFBYTtnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsRUFB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QUFDLENBQUMsQ0FBQzthQUN2QztZQUNELE9BQU8sWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzdELE1BQU0sTUFBTSxHQUFHO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUUsUUFBUTtTQUNyQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUM7YUFDdkksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ3hCLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakU7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7d0dBbkhVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIEJpZyBmcm9tICdiaWcuanMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS13ZWJleC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSwgRG5SYW5nZVR5cGUgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERuc1NlcnZpY2Uge1xyXG4gIGF2YWlsYWJsZU51bWJlcnMgPSB7fTtcclxuICBhdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG4hOiBhbnk7XHJcbiAgcGhvbmVOdW1iZXJzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQVBJU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpV2ViZXhTZXJ2aWNlOiBBcGlXZWJleFNlcnZpY2VcclxuICApIHtcclxuXHJcbiAgfVxyXG4gIHB1YmxpYyBnZXROdW1iZXJSYW5nZShzaXRlSWQ6IHN0cmluZywgcm91dGVQYXJ0aXRpb246IHN0cmluZywgd2l0aGRpZHM/OiBib29sZWFuLCBmcm9tPzogc3RyaW5nLCBwYWdlU2l6ZT86IG51bWJlcik6IGFueSB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICBpZiAodGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXT8ubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmVyID0+IHtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG4gPSB7fTtcclxuICAgIHBhZ2VTaXplID0gcGFnZVNpemUgPyBwYWdlU2l6ZSA6IDIwO1xyXG4gICAgY29uc3QgcGFyYW1zID0ge2RudHlwZTogRG5SYW5nZVR5cGUuZXh0ZW5zaW9uLCByb3V0ZXBhcnRpdGlvbjogcm91dGVQYXJ0aXRpb24sIHNpemU6IHBhZ2VTaXplLCBwYWdlOiAwfTtcclxuICAgIGlmICh3aXRoZGlkcykge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIHBhcmFtc1snd2l0aGRpZHMnXSA9ICd0cnVlJztcclxuICAgIH1cclxuICAgIGlmIChmcm9tKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcGFyYW1zWydmcm9tJ10gPSBmcm9tO1xyXG4gICAgfVxyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXSA9IHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gfHwgW107XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuQVZBSUxBQkxFX0ROX0lOX1JBTkdFUy5yZXBsYWNlKCc6c2l0ZUlkJywgc2l0ZUlkKSwgcGFyYW1zKVxyXG4gICAgICAucGlwZShtYXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXMuYXZhaWxhYmxlTnVtYmVyTGlzdC5mb3JFYWNoKChhdmFpbGFibGVOdW1iZXI6IEF2YWlsYWJsZVBob25lTnVtYmVyUmFuZ2VJbnRlcmZhY2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRBdmFpbGFibGVEaWRNYXBwZWRUb0RuKGF2YWlsYWJsZU51bWJlcik7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXSA9IFsuLi50aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dLCAuLi50aGlzLmdldFVud3JhcE51bWJlclJhbmdlKGF2YWlsYWJsZU51bWJlcildO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIGZhbHNlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0QXZhaWxhYmxlRGlkTWFwcGVkVG9EbihhdmFpbGFibGVOdW1iZXI6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMgJiYgYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcy5sZW5ndGgpIHtcclxuXHJcbiAgICAgIGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMuZm9yRWFjaCgobnVtYmVyV2l0aERpZHM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRuID0gbnVtYmVyV2l0aERpZHNbJ3VuVXNlZE51bWJlciddO1xyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXSA9IFt7fV07XHJcbiAgICAgICAgaWYgKG51bWJlcldpdGhEaWRzWyd0cmFuc2xhdGlvblBhdHRlcm5MaXN0J10gJiYgbnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl0gPSBudW1iZXJXaXRoRGlkc1sndHJhbnNsYXRpb25QYXR0ZXJuTGlzdCddO1xyXG4gICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10gPSBbe31dO1xyXG4gICAgICAgICAgaWYgKG51bWJlcldpdGhEaWRzWydtYXBwZWREaWRzJ10gJiYgbnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddID0gbnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWyd2bSddID0gbnVtYmVyV2l0aERpZHNbJ3ZtJ107XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFVud3JhcE51bWJlclJhbmdlKGF2YWlsYWJsZU51bWJlcjogYW55KTogc3RyaW5nW10ge1xyXG4gICAgbGV0IHVud3JhcE51bWJlclJhbmdlID0gdGhpcy51bndyYXBOdW1iZXJSYW5nZShhdmFpbGFibGVOdW1iZXIucGhvbmVOdW1iZXJSYW5nZS5mcm9tLCBhdmFpbGFibGVOdW1iZXIucGhvbmVOdW1iZXJSYW5nZS50bylcclxuICAgICAgLm1hcCgodW53cmFwcGVkTnVtYmVyOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBkbiA9IGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLnByZWZpeCArIHVud3JhcHBlZE51bWJlcjtcclxuICAgICAgICBsZXQgc3RyID0gZG47XHJcbiAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXSAmJiB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgc3RyICs9ICcgICAgICAgIERJRDogICcgKyAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10ubGVuZ3RoID4gMSA/ICdtdWx0aXBsZScgOlxyXG4gICAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddWzBdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ3ZtJ10pIHtcclxuICAgICAgICAgICAgc3RyICs9ICcgICAgICAgIEluIFVzZSAtIFZNJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgfSk7XHJcbiAgICB1bndyYXBOdW1iZXJSYW5nZSA9IHVud3JhcE51bWJlclJhbmdlLmZpbHRlcigodW53cmFwcGVkTnVtYmVyOiBzdHJpbmcpID0+ICFhdmFpbGFibGVOdW1iZXIudXNlZE51bWJlcnMuaW5jbHVkZXModW53cmFwcGVkTnVtYmVyKSk7XHJcbiAgICByZXR1cm4gdW53cmFwTnVtYmVyUmFuZ2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW53cmFwTnVtYmVyUmFuZ2Uoc3RhcnQ6IHN0cmluZywgZW5kOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCByZWdFeHAgPSAvKF4wKykvO1xyXG4gICAgbGV0IGxlYWRpbmdaZXJvcyA9ICcnO1xyXG4gICAgY29uc3QgbWF0Y2hlcyA9IHN0YXJ0Lm1hdGNoKHJlZ0V4cCk7XHJcbiAgICBpZiAobWF0Y2hlcykge1xyXG4gICAgICBsZWFkaW5nWmVyb3MgPSBtYXRjaGVzWzFdO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RhcnROdW1lcmljID0gbmV3IEJpZyhzdGFydCk7XHJcbiAgICBjb25zdCBlbmROdW1lcmljID0gbmV3IEJpZyhlbmQpO1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDogKGVuZE51bWVyaWMubWludXMoc3RhcnROdW1lcmljKS5wbHVzKG5ldyBCaWcoMSkpLnRvRml4ZWQoMCkpfSwgKHYsIGspID0+IHtcclxuICAgICAgY29uc3QgbnVtYmVyID0gU3RyaW5nKHN0YXJ0TnVtZXJpYy5wbHVzKG5ldyBCaWcoaykpLnRvRml4ZWQoMCkpO1xyXG4gICAgICBpZiAoKGxlYWRpbmdaZXJvcyArIG51bWJlcikubGVuZ3RoID4gc3RhcnQubGVuZ3RoKSB7XHJcbiAgICAgICAgbGVhZGluZ1plcm9zID0gbGVhZGluZ1plcm9zLnN1YnN0cigxKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbGVhZGluZ1plcm9zICsgbnVtYmVyO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmV0Y2hQaG9uZU51bWJlcnMoY3VzdG9tZXJJZDogbnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBhdmFpbGFibGU6IHRydWUsXHJcbiAgICAgIG51bWJlclR5cGU6ICdOVU1CRVInXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLmZldGNoKEFQSS5QSE9ORV9OVU1CRVJTLnJlcGxhY2UoJzpjdXN0b21lcklkJywgU3RyaW5nKGN1c3RvbWVySWQpKS5yZXBsYWNlKCc6bG9jYXRpb25JZCcsIGxvY2F0aW9uSWQpLCBwYXJhbXMpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0Py5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMucGhvbmVOdW1iZXJzID0gcmVzdWx0Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLnBob25lTnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfSkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvZG5zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQztBQUN6QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBc0MsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFJbEYsTUFBTSxPQUFPLFVBQVU7SUFLckIsWUFDVSxVQUFzQixFQUN0QixlQUFnQztRQURoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQU4xQyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFdEIsaUJBQVksR0FBYSxFQUFFLENBQUM7SUFPNUIsQ0FBQztJQUNNLGNBQWMsQ0FBQyxNQUFjLEVBQUUsY0FBc0IsRUFBRSxRQUFrQixFQUFFLElBQWEsRUFBRSxRQUFpQjtRQUNoSCxhQUFhO1FBQ2IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFO1lBQ2pELE9BQU8sSUFBSSxVQUFVLENBQU0sUUFBUSxDQUFDLEVBQUU7Z0JBQ3BDLGFBQWE7Z0JBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEVBQUUsQ0FB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QUFDLENBQUM7YUFDdkM7WUFDRCxPQUFPLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsVUFBa0IsRUFBRSxVQUFrQjtRQUM3RCxNQUFNLE1BQU0sR0FBRztZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsVUFBVSxFQUFFLFFBQVE7U0FDckIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDO2FBQ3ZJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN4QixJQUFJLE1BQU0sRUFBRSxNQUFNLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7O3dHQW5IVSxVQUFVOzRHQUFWLFVBQVU7NEZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgQmlnIGZyb20gJ2JpZy5qcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBpV2ViZXhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBpLXdlYmV4LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdmFpbGFibGVQaG9uZU51bWJlclJhbmdlSW50ZXJmYWNlLCBEblJhbmdlVHlwZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRG5zU2VydmljZSB7XHJcbiAgYXZhaWxhYmxlTnVtYmVycyA9IHt9O1xyXG4gIGF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9EbiE6IGFueTtcclxuICBwaG9uZU51bWJlcnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlXZWJleFNlcnZpY2U6IEFwaVdlYmV4U2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcbiAgcHVibGljIGdldE51bWJlclJhbmdlKHNpdGVJZDogc3RyaW5nLCByb3V0ZVBhcnRpdGlvbjogc3RyaW5nLCB3aXRoZGlkcz86IGJvb2xlYW4sIGZyb20/OiBzdHJpbmcsIHBhZ2VTaXplPzogbnVtYmVyKTogYW55IHtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIGlmICh0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9EbiA9IHt9O1xyXG4gICAgcGFnZVNpemUgPSBwYWdlU2l6ZSA/IHBhZ2VTaXplIDogMjA7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7ZG50eXBlOiBEblJhbmdlVHlwZS5leHRlbnNpb24sIHJvdXRlcGFydGl0aW9uOiByb3V0ZVBhcnRpdGlvbiwgc2l6ZTogcGFnZVNpemUsIHBhZ2U6IDB9O1xyXG4gICAgaWYgKHdpdGhkaWRzKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcGFyYW1zWyd3aXRoZGlkcyddID0gJ3RydWUnO1xyXG4gICAgfVxyXG4gICAgaWYgKGZyb20pIHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBwYXJhbXNbJ2Zyb20nXSA9IGZyb207XHJcbiAgICB9XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dID0gdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXSB8fCBbXTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5BVkFJTEFCTEVfRE5fSU5fUkFOR0VTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJlcy5hdmFpbGFibGVOdW1iZXJMaXN0LmZvckVhY2goKGF2YWlsYWJsZU51bWJlcjogQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldEF2YWlsYWJsZURpZE1hcHBlZFRvRG4oYXZhaWxhYmxlTnVtYmVyKTtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dID0gWy4uLnRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0sIC4uLnRoaXMuZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyKV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRBdmFpbGFibGVEaWRNYXBwZWRUb0RuKGF2YWlsYWJsZU51bWJlcjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcyAmJiBhdmFpbGFibGVOdW1iZXIudW5Vc2VkTnVtYmVyc1dpdGhEaWRzLmxlbmd0aCkge1xyXG5cclxuICAgICAgYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcy5mb3JFYWNoKChudW1iZXJXaXRoRGlkczogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZG4gPSBudW1iZXJXaXRoRGlkc1sndW5Vc2VkTnVtYmVyJ107XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dID0gW3t9XTtcclxuICAgICAgICBpZiAobnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXSAmJiBudW1iZXJXaXRoRGlkc1sndHJhbnNsYXRpb25QYXR0ZXJuTGlzdCddLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXSA9IG51bWJlcldpdGhEaWRzWyd0cmFuc2xhdGlvblBhdHRlcm5MaXN0J107XHJcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXSA9IFt7fV07XHJcbiAgICAgICAgICBpZiAobnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXSAmJiBudW1iZXJXaXRoRGlkc1snbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10gPSBudW1iZXJXaXRoRGlkc1snbWFwcGVkRGlkcyddO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ3ZtJ10gPSBudW1iZXJXaXRoRGlkc1sndm0nXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyOiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgdW53cmFwTnVtYmVyUmFuZ2UgPSB0aGlzLnVud3JhcE51bWJlclJhbmdlKGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLmZyb20sIGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLnRvKVxyXG4gICAgICAubWFwKCh1bndyYXBwZWROdW1iZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRuID0gYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UucHJlZml4ICsgdW53cmFwcGVkTnVtYmVyO1xyXG4gICAgICAgIGxldCBzdHIgPSBkbjtcclxuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10gJiYgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBzdHIgKz0gJyAgICAgICAgRElEOiAgJyArICh0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXS5sZW5ndGggPiAxID8gJ211bHRpcGxlJyA6XHJcbiAgICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ11bMF0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsndm0nXSkge1xyXG4gICAgICAgICAgICBzdHIgKz0gJyAgICAgICAgSW4gVXNlIC0gVk0nO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgICB9KTtcclxuICAgIHVud3JhcE51bWJlclJhbmdlID0gdW53cmFwTnVtYmVyUmFuZ2UuZmlsdGVyKCh1bndyYXBwZWROdW1iZXI6IHN0cmluZykgPT4gIWF2YWlsYWJsZU51bWJlci51c2VkTnVtYmVycy5pbmNsdWRlcyh1bndyYXBwZWROdW1iZXIpKTtcclxuICAgIHJldHVybiB1bndyYXBOdW1iZXJSYW5nZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1bndyYXBOdW1iZXJSYW5nZShzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHJlZ0V4cCA9IC8oXjArKS87XHJcbiAgICBsZXQgbGVhZGluZ1plcm9zID0gJyc7XHJcbiAgICBjb25zdCBtYXRjaGVzID0gc3RhcnQubWF0Y2gocmVnRXhwKTtcclxuICAgIGlmIChtYXRjaGVzKSB7XHJcbiAgICAgIGxlYWRpbmdaZXJvcyA9IG1hdGNoZXNbMV07XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdGFydE51bWVyaWMgPSBuZXcgQmlnKHN0YXJ0KTtcclxuICAgIGNvbnN0IGVuZE51bWVyaWMgPSBuZXcgQmlnKGVuZCk7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOiAoZW5kTnVtZXJpYy5taW51cyhzdGFydE51bWVyaWMpLnBsdXMobmV3IEJpZygxKSkudG9GaXhlZCgwKSl9LCAodiwgaykgPT4ge1xyXG4gICAgICBjb25zdCBudW1iZXIgPSBTdHJpbmcoc3RhcnROdW1lcmljLnBsdXMobmV3IEJpZyhrKSkudG9GaXhlZCgwKSk7XHJcbiAgICAgIGlmICgobGVhZGluZ1plcm9zICsgbnVtYmVyKS5sZW5ndGggPiBzdGFydC5sZW5ndGgpIHtcclxuICAgICAgICBsZWFkaW5nWmVyb3MgPSBsZWFkaW5nWmVyb3Muc3Vic3RyKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBsZWFkaW5nWmVyb3MgKyBudW1iZXI7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmZXRjaFBob25lTnVtYmVycyhjdXN0b21lcklkOiBudW1iZXIsIGxvY2F0aW9uSWQ6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGF2YWlsYWJsZTogdHJ1ZSxcclxuICAgICAgbnVtYmVyVHlwZTogJ05VTUJFUidcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2goQVBJLlBIT05FX05VTUJFUlMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLnJlcGxhY2UoJzpsb2NhdGlvbklkJywgbG9jYXRpb25JZCksIHBhcmFtcylcclxuICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQ/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5waG9uZU51bWJlcnMgPSByZXN1bHQubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ucGhvbmVOdW1iZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|