@arsedizioni/ars-utils 18.2.495 → 18.2.496
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.
|
@@ -54,7 +54,7 @@ export class ClipperDocumentMenuComponent {
|
|
|
54
54
|
this.canAddToCalendar = () => {
|
|
55
55
|
let canAdd = true;
|
|
56
56
|
this.getMultipleSelection()?.forEach(n => {
|
|
57
|
-
if (n.model !== 9 && n.model !== 2) {
|
|
57
|
+
if (n.model !== 9 && n.model !== 2 && n.model !== 10 && n.model !== 20) {
|
|
58
58
|
canAdd = false;
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
204
204
|
type: Component,
|
|
205
205
|
args: [{ selector: 'clipper-document-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatMenuModule, MatIconModule, MatDividerModule, MatTooltipModule], template: "@if (canDeselectAll()) {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (canManageBag()) {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection())\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (canAddToWorkingDocuments()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(getMultipleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent().print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent().find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if (canSendByEmail()) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(getMultipleSelection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (canAddToArchive()) {\r\n<button mat-menu-item (click)=\"parent().addToArchive(getMultipleSelection())\" [attr.aria-label]=\"'Archivia'\">\r\n <mat-icon>account_tree</mat-icon>Archivia\r\n</button>\r\n}\r\n@if (canSaveAsPdf()) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(getSingleSelection())\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Copia metadati negli appunti'\"\r\n (click)=\"parent().copyMetadataToClipboard(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>content_copy</mat-icon>Copia metadati\r\n</button>\r\n}\r\n@if (!isReference() && canOpen()) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\">\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"openReferences(getSingleSelection(), 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"openReferences(getSingleSelection(), 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n@if (canAddToCalendar()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi al calendario'\"\r\n (click)=\"parent().addToCalendar(getSingleSelection())\">\r\n <mat-icon>alarm</mat-icon> Crea scadenza\r\n</button>\r\n}\r\n@if (canExportCalendar()) {\r\n@if(useSelections()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportResults(2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n} @else if (item()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportItems([item().documentId], null, 2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n}\r\n}\r\n@if (canSetAsUnread()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"setRead(false)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (canSetAsRead()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"setRead(true)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n\r\n\r\n@if (isLawInForce() && canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\" (click)=\"parent().report(getSingleSelection())\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if (canAccessRS()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\"\r\n (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw(getMultipleSelection())\">\r\n Nuova legge\r\n </button>\r\n @if (canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(getSingleSelection())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\"\r\n (click)=\"parent().RS_usageReport(getSingleSelection())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}" }]
|
|
206
206
|
}] });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUF1QixZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFZeEcsTUFBTSxPQUFPLDRCQUE0QjtJQVR6QztRQVdVLGtCQUFhLEdBQXVDLFNBQVMsQ0FBaUIsZUFBZSxDQUFDLENBQUM7UUFDL0YscUJBQWdCLEdBQXVDLFNBQVMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztRQUNyRyxvQkFBZSxHQUF5QztZQUM5RCxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FB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QztJQUNILENBQUM7SUFFRDs7OztLQUlDO0lBQ1MsY0FBYyxDQUFDLElBQXlCLEVBQUUsSUFBWTtRQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7OEdBL0xVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHl5RENuQnpDLHc2TkFxS0MseUREckpXLFVBQVUsdTZFQUFFLGFBQWEsNnZCQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGdCQUFnQjs7MkZBRzNFLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgU2lnbmFsLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTW9kZWwsIENsaXBwZXJVdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5pbXBvcnQgeyBDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlciB9IGZyb20gJy4uL3NlYXJjaC1yZXN1bHQtbWFuYWdlci9zZWFyY2gtcmVzdWx0LW1hbmFnZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLWRvY3VtZW50LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbRmxleE1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyRG9jdW1lbnRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIHJzTWVudVRyaWdnZXI6IFNpZ25hbDxNYXRNZW51VHJpZ2dlciB8IHVuZGVmaW5lZD4gPSB2aWV3Q2hpbGQ8TWF0TWVudVRyaWdnZXI+KCdyc01lbnVUcmlnZ2VyJyk7XHJcbiAgcHJpdmF0ZSBsaW5rc01lbnVUcmlnZ2VyOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+ID0gdmlld0NoaWxkPE1hdE1lbnVUcmlnZ2VyPignbGlua3NNZW51VHJpZ2dlcicpO1xyXG4gIHByaXZhdGUgYWxsTWVudVRyaWdnZXJzOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+W10gPSBbXHJcbiAgICB0aGlzLmxpbmtzTWVudVRyaWdnZXIsXHJcbiAgICB0aGlzLnJzTWVudVRyaWdnZXJcclxuICBdXHJcbiAgcHJpdmF0ZSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICBwcm90ZWN0ZWQgdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgdXNlU2VsZWN0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBzZWxlY3Rpb25Tb3VyY2UgPSBpbnB1dDwnYmFnJyB8ICdzZWxlY3Rpb24nIHwgJ25vbmUnIHwgbnVsbD4oJ3NlbGVjdGlvbicpO1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rpb24gPSAoKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdID0+IHtcclxuICAgIGlmICh0aGlzLnVzZVNlbGVjdGlvbnMoKSkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0aW9uU291cmNlKCkpIHtcclxuICAgICAgICBjYXNlICdiYWcnOlxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LmNsaXBwZXJTZXJ2aWNlLmJhZygpID8/IFtdO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGwgPz8gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9O1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGlzUmVmZXJlbmNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzUmVhZGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBpc0xhd0luRm9yY2UgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuUHJpbnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuRmluZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VDYWxlbmRhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VBcmNoaXZlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHByb3RlY3RlZCBjYW5EZXNlbGVjdEFsbCA9ICgpOiBib29sZWFuID0+IHRoaXMuc2VsZWN0aW9uU291cmNlKCkgPT09ICdzZWxlY3Rpb24nICYmIHRoaXMuc2VsZWN0aW9uKCkubGVuZ3RoID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuTWFuYWdlQmFnID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSA9PT0gJ2JhZyc7XHJcbiAgcHJvdGVjdGVkIGNhbk9wZW4gPSAoKTogYm9vbGVhbiA9PiAodGhpcy5nZXRTaW5nbGVTZWxlY3Rpb24oKT8uZG9jdW1lbnRJZD8ubGVuZ3RoID8/IDApID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSAhPT0gJ2JhZycgJiYgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhblNlbmRCeUVtYWlsID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhbkFkZFRvQXJjaGl2ZSA9ICgpOiBib29sZWFuID0+IHRoaXMuY2FuVXNlQXJjaGl2ZSgpICYmIHRoaXMuY2FuU2VuZEJ5RW1haWwoKTtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9DYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5BZGQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gOSAmJiBuLm1vZGVsICE9PSAyKSB7XHJcbiAgICAgICAgY2FuQWRkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjYW5BZGQgJiYgdGhpcy5jYW5Vc2VDYWxlbmRhcigpICYmICF0aGlzLmlzUmVmZXJlbmNlKCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBjYW5FeHBvcnRDYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5FeHBvcnQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gMTAgJiYgbi5tb2RlbCAhPT0gMjApIHtcclxuICAgICAgICBjYW5FeHBvcnQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNhbkV4cG9ydCAmJiB0aGlzLmNhblVzZUNhbGVuZGFyKCkgJiYgIXRoaXMuaXNSZWZlcmVuY2UoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIGNhblNhdmVBc1BkZiA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIGl0ZW0gIT09IG51bGwgJiYgaXRlbT8ubW9kZWwgIT09IENsaXBwZXJNb2RlbC5Db29yZGluYW1lbnRvO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNSZWFkID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldE11bHRpcGxlU2VsZWN0aW9uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgKGl0ZW1zLmxlbmd0aCA+IDEgfHwgKGl0ZW1zLmxlbmd0aCA9PT0gMSAmJiBpdGVtc1swXS5pc1JlYWQgIT09IHRydWUgJiZcclxuICAgICAgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUoaXRlbXNbMF0ubW9kZWwpKSk7XHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNVbnJlYWQgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiAoaXRlbXMubGVuZ3RoID4gMSB8fCAoaXRlbXMubGVuZ3RoID09PSAxICYmIGl0ZW1zWzBdLmlzUmVhZCA9PT0gdHJ1ZSAmJlxyXG4gICAgICBDbGlwcGVyVXRpbHMuaXNDbGlwcGVyTW9kZWxSZWFkYWJsZShpdGVtc1swXS5tb2RlbCkpKTtcclxuICB9O1xyXG4gIHByb3RlY3RlZCBjYW5BY2Nlc3NSUyA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LlJTX2VuYWJsZWQoaXRlbXMpID09PSB0cnVlICYmICF0aGlzLnVzZVNlbGVjdGlvbnMoKTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblNvdXJjZSgpID09PSBcInNlbGVjdGlvblwiKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uY2hhbmdlZFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBzaW5nbGUgc2VsZWN0aW9uXHJcbiAgICogQHJldHVybnMgdGhlIHNpbmdsZSBzZWxlY3Rpb24gb3IgbnVsbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRTaW5nbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mbyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuaXRlbSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW0oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3Rpb24oKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKClbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBtdWx0aXBsZSBzZWxlY3Rpb25cclxuICAgKiBAcmV0dXJucyA6IHRoZSBtdWx0aXBsZSBzZWxlY3Rpb24gb3IgYXJyYXkgZW1wdHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgcmV0dXJuIFtpdGVtXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGlvbigpLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogU2hvdyBhbmQgaGlkZSBzdWIgbWVudXNcclxuICAgKiBAcGFyYW0gdHJpZ2dlcjogdGhlIHRyaWdnZXIgdG8gdXNlIG9yIG51bGwgdG8gZGVzZWxlY3RcclxuICAqL1xyXG4gIHByb3RlY3RlZCBzaG93U3ViTWVudSh0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlciB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLmFsbE1lbnVUcmlnZ2Vycy5mb3JFYWNoKG1lbnVUcmlnZ2VyID0+IHtcclxuICAgICAgY29uc3QgbWVudSA9IG1lbnVUcmlnZ2VyKCk7XHJcbiAgICAgIGlmIChtZW51KSB7XHJcbiAgICAgICAgaWYgKG1lbnUubWVudU9wZW4pIHtcclxuICAgICAgICAgIG1lbnUuY2xvc2VNZW51KCk7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0U3ViTWVudShtZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHN1YiBtZW51XHJcbiAgICogQHBhcmFtIHRyaWdnZXI6IHRoZSB0cmlnZ2VyIHRvIHVzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZXNldFN1Yk1lbnUodHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpIHtcclxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRyaWdnZXJbJ19lbGVtZW50J10ubmF0aXZlRWxlbWVudCwgJ2Nkay1mb2N1c2VkJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0cmlnZ2VyWydfZWxlbWVudCddLm5hdGl2ZUVsZW1lbnQsICdjZGstcHJvZ3JhbS1mb2N1c2VkJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjdXJyZW50IGl0ZW0gb3Igc2VsZWN0aW9uIGlzIHJlYWRcclxuICAgKiBAcmV0dXJucyAwIGlmIG5vdCByZWFkLCAxIGlmIHJlYWQsIDIgaWYgdW5rbm93blxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1JlYWQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkgcmV0dXJuIHRoaXMuaXRlbSgpPy5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIGlmICh0aGlzLnBhcmVudCgpPy5oYXNBbnlTZWxlY3Rpb24oKSkgcmV0dXJuIDI7XHJcbiAgICBjb25zdCBmaXJzdFNlbGVjdGlvbiA9IHRoaXMucGFyZW50KCk/LmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgaWYgKGZpcnN0U2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGlvbi5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBpcyByZWFkIGZsYWcgdmFsdWVcclxuICAgKiBAcGFyYW0gdmFsdWU6IHRydWUgb3IgZmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2V0UmVhZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2V0UmVhZCh2YWx1ZSwgdGhpcy5pdGVtKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBhIGRvY3VtZW50XHJcbiAgICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3BlbihpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvKSB7XHJcbiAgICBpZiAoaXRlbS5kb2N1bWVudElkKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/Lm9wZW4oaXRlbS5kb2N1bWVudElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBPcGVuIGRvY3VtZW50IHJlZmVyZW5jZXNcclxuICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICogQHBhcmFtIG1vZGU6IHRoZSBtb2RlXHJcbiAqL1xyXG4gIHByb3RlY3RlZCBvcGVuUmVmZXJlbmNlcyhpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvLCBtb2RlOiBudW1iZXIpIHtcclxuICAgIGlmIChpdGVtLmRvY3VtZW50SWQpIHtcclxuICAgICAgdGhpcy5wYXJlbnQoKT8ub3BlblJlZmVyZW5jZXMoaXRlbS5kb2N1bWVudElkLCBtb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoY2FuRGVzZWxlY3RBbGwoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLnNlbGVjdGlvbj8uY2xlYXIoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rlc2VsZXppb25hIHR1dHRpJ1wiXHJcbiAgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+RGVzZWxlemlvbmEgdHV0dGlcclxuPC9idXR0b24+XHJcbn0gQGVsc2UgaWYgKGNhbk1hbmFnZUJhZygpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkub3BlbkJhZygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlzY2kgZG9jdW1lbnRpIGRpIGxhdm9ybydcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5HZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpIGRvY3VtZW50bydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICAoY2xpY2spPVwib3BlbihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICA8bWF0LWljb24+PC9tYXQtaWNvbj5BcHJpXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FnZ2l1bmdpIGFpIGRvY3VtZW50aSBkaSBsYXZvcm8nXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkuYWRkSXRlbXNUb0JhZyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5BZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZihjYW5QcmludCgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkucHJpbnQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N0YW1wYSBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG4gICAgICA8ZGl2PlN0YW1wYTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjZW50IHNtYWxsIGJvbGRcIj5DVFJMK1A8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9idXR0b24+XHJcbn1cclxuQGlmKGNhbkZpbmQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmZpbmQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Ryb3ZhIG5lbCBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPGRpdj5Ucm92YSBuZWwgZG9jdW1lbnRvPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NlbnQgc21hbGwgYm9sZFwiPkNUUkwrRjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhblNlbmRCeUVtYWlsKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5zZW5kSXRlbXNUbyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCInSW52aWEgZG9jdW1lbnRvIHBlciBlbWFpbCdcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPkludmlhIHBlciBlbWFpbFxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbkFkZFRvQXJjaGl2ZSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkuYWRkVG9BcmNoaXZlKGdldE11bHRpcGxlU2VsZWN0aW9uKCkpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQXJjaGl2aWEnXCI+XHJcbiAgPG1hdC1pY29uPmFjY291bnRfdHJlZTwvbWF0LWljb24+QXJjaGl2aWFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5TYXZlQXNQZGYoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydFBkZihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTYWx2YSBkb2N1bWVudG8gaW4gcGRmJ1wiPlxyXG4gIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+U2FsdmEgaW4gcGRmXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZW5lcmEgdW4gbGluayBwZXJtYW5lbnRlIGRhIHV0aWxpenphcmUgZXN0ZXJuYW1lbnRlJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLnNob3dMaW5rKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+bGluazwvbWF0LWljb24+TGlua1xyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbk9wZW4oKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQ29waWEgbWV0YWRhdGkgbmVnbGkgYXBwdW50aSdcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5jb3B5TWV0YWRhdGFUb0NsaXBib2FyZChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+Q29waWEgbWV0YWRhdGlcclxuPC9idXR0b24+XHJcbn1cclxuQGlmICghaXNSZWZlcmVuY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJsaW5rc01lbnVcIiAjbGlua3NNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5jb21wYXJlX2Fycm93czwvbWF0LWljb24+Q29sbGVnYW1lbnRpXHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI2xpbmtzTWVudT1cIm1hdE1lbnVcIj5cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgcmljaGlhbWF0aSBkYSBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMSlcIj5cclxuICAgIERvY3VtZW50aSByaWNoaWFtYXRpXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgY2FuT3BlbigpKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBpIGRvY3VtZW50aSBjaGUgcmljaGlhbWFubyBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMilcIj5cclxuICAgIERvY3VtZW50aSBjaGUgcmljaGlhbWFub1xyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzTGF3SW5Gb3JjZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgZ2l1cmlzcHJ1ZGVuemEnXCIgKGNsaWNrKT1cIm9wZW5SZWZlcmVuY2VzKGdldFNpbmdsZVNlbGVjdGlvbigpLCA0KVwiPlxyXG4gICAgSnVyaXNcclxuICA8L2J1dHRvbj5cclxuICB9XHJcbiAgQGlmICghaXNSZWZlcmVuY2UoKSAmJiBpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIG1vZGlmaWNoZSBub3JtYXRpdmUnXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMylcIj5cclxuICAgIE1vZGlmaWNoZVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufVxyXG5AaWYgKGNhbkFkZFRvQ2FsZW5kYXIoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWwgY2FsZW5kYXJpbydcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5hZGRUb0NhbGVuZGFyKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybTwvbWF0LWljb24+IENyZWEgc2NhZGVuemFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5FeHBvcnRDYWxlbmRhcigpKSB7XHJcbkBpZih1c2VTZWxlY3Rpb25zKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0ltcG9ydGEgaW4gT3VsdG9vayAoaUNhbGFuZGFyKSdcIiAoY2xpY2spPVwicGFyZW50KCkuZXhwb3J0UmVzdWx0cygyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufSBAZWxzZSBpZiAoaXRlbSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidJbXBvcnRhIGluIE91bHRvb2sgKGlDYWxhbmRhciknXCIgKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydEl0ZW1zKFtpdGVtKCkuZG9jdW1lbnRJZF0sIG51bGwsICAyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufVxyXG59XHJcbkBpZiAoY2FuU2V0QXNVbnJlYWQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBkYSBsZWdnZXJlJ1wiIChjbGljayk9XCJzZXRSZWFkKGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+b3V0bGluZWRfZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBkYSBsZWdnZXJlXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuU2V0QXNSZWFkKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlZ25hIGNvbWUgZ2nDoCBsZXR0bydcIiAoY2xpY2spPVwic2V0UmVhZCh0cnVlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBnacOgIGxldHRvXHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5cclxuQGlmIChpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSByZXBvcnQgdXRpbGl6em8nXCIgKGNsaWNrKT1cInBhcmVudCgpLnJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+YXNzaWdubWVudDwvbWF0LWljb24+UmVwb3J0XHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5AaWYgKGNhbkFjY2Vzc1JTKCkpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBtYXRUb29sdGlwPVwiUmVnaXN0cm8gJiBTY2FkZW56YXJpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wemlvbmkgZGkgUmVnaXN0cm8gJiBTY2FkZW56YXJpbydcIlxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJyc01lbnVcIiAjcnNNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUocnNNZW51VHJpZ2dlcilcIlxyXG4gIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShyc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybV9vbjwvbWF0LWljb24+XHJcbiAgUmVnaXN0cm8gZSBzY2FkZW56YXJpb1xyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNyc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ051b3ZhIGxlZ2dlJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdMYXcoZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGxlZ2dlXHJcbiAgPC9idXR0b24+XHJcbiAgQGlmIChjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTnVvdmEgYXR0aXZpdMOgJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdBY3Rpdml0eShnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGF0dGl2aXTDoFxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnQgdXRpbGl6em8gbm9ybWEnXCJcclxuICAgIChjbGljayk9XCJwYXJlbnQoKS5SU191c2FnZVJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIFJlcG9ydCB1dGlsaXp6byBub3JtYVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufSJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUF1QixZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFZeEcsTUFBTSxPQUFPLDRCQUE0QjtJQVR6QztRQVdVLGtCQUFhLEdBQXVDLFNBQVMsQ0FBaUIsZUFBZSxDQUFDLENBQUM7UUFDL0YscUJBQWdCLEdBQXVDLFNBQVMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztRQUNyRyxvQkFBZSxHQUF5QztZQUM5RCxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FB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LE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztLQUlDO0lBQ1MsY0FBYyxDQUFDLElBQXlCLEVBQUUsSUFBWTtRQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7OEdBL0xVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHl5RENuQnpDLHc2TkFxS0MseUREckpXLFVBQVUsdTZFQUFFLGFBQWEsNnZCQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGdCQUFnQjs7MkZBRzNFLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgU2lnbmFsLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTW9kZWwsIENsaXBwZXJVdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5pbXBvcnQgeyBDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlciB9IGZyb20gJy4uL3NlYXJjaC1yZXN1bHQtbWFuYWdlci9zZWFyY2gtcmVzdWx0LW1hbmFnZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLWRvY3VtZW50LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbRmxleE1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyRG9jdW1lbnRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIHJzTWVudVRyaWdnZXI6IFNpZ25hbDxNYXRNZW51VHJpZ2dlciB8IHVuZGVmaW5lZD4gPSB2aWV3Q2hpbGQ8TWF0TWVudVRyaWdnZXI+KCdyc01lbnVUcmlnZ2VyJyk7XHJcbiAgcHJpdmF0ZSBsaW5rc01lbnVUcmlnZ2VyOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+ID0gdmlld0NoaWxkPE1hdE1lbnVUcmlnZ2VyPignbGlua3NNZW51VHJpZ2dlcicpO1xyXG4gIHByaXZhdGUgYWxsTWVudVRyaWdnZXJzOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+W10gPSBbXHJcbiAgICB0aGlzLmxpbmtzTWVudVRyaWdnZXIsXHJcbiAgICB0aGlzLnJzTWVudVRyaWdnZXJcclxuICBdXHJcbiAgcHJpdmF0ZSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICBwcm90ZWN0ZWQgdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgdXNlU2VsZWN0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBzZWxlY3Rpb25Tb3VyY2UgPSBpbnB1dDwnYmFnJyB8ICdzZWxlY3Rpb24nIHwgJ25vbmUnIHwgbnVsbD4oJ3NlbGVjdGlvbicpO1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rpb24gPSAoKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdID0+IHtcclxuICAgIGlmICh0aGlzLnVzZVNlbGVjdGlvbnMoKSkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0aW9uU291cmNlKCkpIHtcclxuICAgICAgICBjYXNlICdiYWcnOlxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LmNsaXBwZXJTZXJ2aWNlLmJhZygpID8/IFtdO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGwgPz8gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9O1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGlzUmVmZXJlbmNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzUmVhZGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBpc0xhd0luRm9yY2UgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuUHJpbnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuRmluZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VDYWxlbmRhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VBcmNoaXZlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHByb3RlY3RlZCBjYW5EZXNlbGVjdEFsbCA9ICgpOiBib29sZWFuID0+IHRoaXMuc2VsZWN0aW9uU291cmNlKCkgPT09ICdzZWxlY3Rpb24nICYmIHRoaXMuc2VsZWN0aW9uKCkubGVuZ3RoID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuTWFuYWdlQmFnID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSA9PT0gJ2JhZyc7XHJcbiAgcHJvdGVjdGVkIGNhbk9wZW4gPSAoKTogYm9vbGVhbiA9PiAodGhpcy5nZXRTaW5nbGVTZWxlY3Rpb24oKT8uZG9jdW1lbnRJZD8ubGVuZ3RoID8/IDApID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSAhPT0gJ2JhZycgJiYgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhblNlbmRCeUVtYWlsID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhbkFkZFRvQXJjaGl2ZSA9ICgpOiBib29sZWFuID0+IHRoaXMuY2FuVXNlQXJjaGl2ZSgpICYmIHRoaXMuY2FuU2VuZEJ5RW1haWwoKTtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9DYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5BZGQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gOSAmJiBuLm1vZGVsICE9PSAyICYmIG4ubW9kZWwgIT09IDEwICYmIG4ubW9kZWwgIT09IDIwKSB7XHJcbiAgICAgICAgY2FuQWRkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjYW5BZGQgJiYgdGhpcy5jYW5Vc2VDYWxlbmRhcigpICYmICF0aGlzLmlzUmVmZXJlbmNlKCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBjYW5FeHBvcnRDYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5FeHBvcnQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gMTAgJiYgbi5tb2RlbCAhPT0gMjApIHtcclxuICAgICAgICBjYW5FeHBvcnQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNhbkV4cG9ydCAmJiB0aGlzLmNhblVzZUNhbGVuZGFyKCkgJiYgIXRoaXMuaXNSZWZlcmVuY2UoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIGNhblNhdmVBc1BkZiA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIGl0ZW0gIT09IG51bGwgJiYgaXRlbT8ubW9kZWwgIT09IENsaXBwZXJNb2RlbC5Db29yZGluYW1lbnRvO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNSZWFkID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldE11bHRpcGxlU2VsZWN0aW9uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgKGl0ZW1zLmxlbmd0aCA+IDEgfHwgKGl0ZW1zLmxlbmd0aCA9PT0gMSAmJiBpdGVtc1swXS5pc1JlYWQgIT09IHRydWUgJiZcclxuICAgICAgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUoaXRlbXNbMF0ubW9kZWwpKSk7XHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNVbnJlYWQgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiAoaXRlbXMubGVuZ3RoID4gMSB8fCAoaXRlbXMubGVuZ3RoID09PSAxICYmIGl0ZW1zWzBdLmlzUmVhZCA9PT0gdHJ1ZSAmJlxyXG4gICAgICBDbGlwcGVyVXRpbHMuaXNDbGlwcGVyTW9kZWxSZWFkYWJsZShpdGVtc1swXS5tb2RlbCkpKTtcclxuICB9O1xyXG4gIHByb3RlY3RlZCBjYW5BY2Nlc3NSUyA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LlJTX2VuYWJsZWQoaXRlbXMpID09PSB0cnVlICYmICF0aGlzLnVzZVNlbGVjdGlvbnMoKTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblNvdXJjZSgpID09PSBcInNlbGVjdGlvblwiKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uY2hhbmdlZFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBzaW5nbGUgc2VsZWN0aW9uXHJcbiAgICogQHJldHVybnMgdGhlIHNpbmdsZSBzZWxlY3Rpb24gb3IgbnVsbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRTaW5nbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mbyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuaXRlbSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW0oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3Rpb24oKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKClbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBtdWx0aXBsZSBzZWxlY3Rpb25cclxuICAgKiBAcmV0dXJucyA6IHRoZSBtdWx0aXBsZSBzZWxlY3Rpb24gb3IgYXJyYXkgZW1wdHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgcmV0dXJuIFtpdGVtXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGlvbigpLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogU2hvdyBhbmQgaGlkZSBzdWIgbWVudXNcclxuICAgKiBAcGFyYW0gdHJpZ2dlcjogdGhlIHRyaWdnZXIgdG8gdXNlIG9yIG51bGwgdG8gZGVzZWxlY3RcclxuICAqL1xyXG4gIHByb3RlY3RlZCBzaG93U3ViTWVudSh0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlciB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLmFsbE1lbnVUcmlnZ2Vycy5mb3JFYWNoKG1lbnVUcmlnZ2VyID0+IHtcclxuICAgICAgY29uc3QgbWVudSA9IG1lbnVUcmlnZ2VyKCk7XHJcbiAgICAgIGlmIChtZW51KSB7XHJcbiAgICAgICAgaWYgKG1lbnUubWVudU9wZW4pIHtcclxuICAgICAgICAgIG1lbnUuY2xvc2VNZW51KCk7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0U3ViTWVudShtZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHN1YiBtZW51XHJcbiAgICogQHBhcmFtIHRyaWdnZXI6IHRoZSB0cmlnZ2VyIHRvIHVzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZXNldFN1Yk1lbnUodHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpIHtcclxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRyaWdnZXJbJ19lbGVtZW50J10ubmF0aXZlRWxlbWVudCwgJ2Nkay1mb2N1c2VkJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0cmlnZ2VyWydfZWxlbWVudCddLm5hdGl2ZUVsZW1lbnQsICdjZGstcHJvZ3JhbS1mb2N1c2VkJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjdXJyZW50IGl0ZW0gb3Igc2VsZWN0aW9uIGlzIHJlYWRcclxuICAgKiBAcmV0dXJucyAwIGlmIG5vdCByZWFkLCAxIGlmIHJlYWQsIDIgaWYgdW5rbm93blxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1JlYWQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkgcmV0dXJuIHRoaXMuaXRlbSgpPy5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIGlmICh0aGlzLnBhcmVudCgpPy5oYXNBbnlTZWxlY3Rpb24oKSkgcmV0dXJuIDI7XHJcbiAgICBjb25zdCBmaXJzdFNlbGVjdGlvbiA9IHRoaXMucGFyZW50KCk/LmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgaWYgKGZpcnN0U2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGlvbi5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBpcyByZWFkIGZsYWcgdmFsdWVcclxuICAgKiBAcGFyYW0gdmFsdWU6IHRydWUgb3IgZmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2V0UmVhZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2V0UmVhZCh2YWx1ZSwgdGhpcy5pdGVtKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBhIGRvY3VtZW50XHJcbiAgICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3BlbihpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvKSB7XHJcbiAgICBpZiAoaXRlbS5kb2N1bWVudElkKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/Lm9wZW4oaXRlbS5kb2N1bWVudElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBPcGVuIGRvY3VtZW50IHJlZmVyZW5jZXNcclxuICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICogQHBhcmFtIG1vZGU6IHRoZSBtb2RlXHJcbiAqL1xyXG4gIHByb3RlY3RlZCBvcGVuUmVmZXJlbmNlcyhpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvLCBtb2RlOiBudW1iZXIpIHtcclxuICAgIGlmIChpdGVtLmRvY3VtZW50SWQpIHtcclxuICAgICAgdGhpcy5wYXJlbnQoKT8ub3BlblJlZmVyZW5jZXMoaXRlbS5kb2N1bWVudElkLCBtb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoY2FuRGVzZWxlY3RBbGwoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLnNlbGVjdGlvbj8uY2xlYXIoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rlc2VsZXppb25hIHR1dHRpJ1wiXHJcbiAgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+RGVzZWxlemlvbmEgdHV0dGlcclxuPC9idXR0b24+XHJcbn0gQGVsc2UgaWYgKGNhbk1hbmFnZUJhZygpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkub3BlbkJhZygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlzY2kgZG9jdW1lbnRpIGRpIGxhdm9ybydcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5HZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpIGRvY3VtZW50bydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICAoY2xpY2spPVwib3BlbihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICA8bWF0LWljb24+PC9tYXQtaWNvbj5BcHJpXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FnZ2l1bmdpIGFpIGRvY3VtZW50aSBkaSBsYXZvcm8nXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkuYWRkSXRlbXNUb0JhZyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5BZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZihjYW5QcmludCgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkucHJpbnQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N0YW1wYSBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG4gICAgICA8ZGl2PlN0YW1wYTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjZW50IHNtYWxsIGJvbGRcIj5DVFJMK1A8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9idXR0b24+XHJcbn1cclxuQGlmKGNhbkZpbmQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmZpbmQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Ryb3ZhIG5lbCBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPGRpdj5Ucm92YSBuZWwgZG9jdW1lbnRvPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NlbnQgc21hbGwgYm9sZFwiPkNUUkwrRjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhblNlbmRCeUVtYWlsKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5zZW5kSXRlbXNUbyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCInSW52aWEgZG9jdW1lbnRvIHBlciBlbWFpbCdcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPkludmlhIHBlciBlbWFpbFxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbkFkZFRvQXJjaGl2ZSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkuYWRkVG9BcmNoaXZlKGdldE11bHRpcGxlU2VsZWN0aW9uKCkpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQXJjaGl2aWEnXCI+XHJcbiAgPG1hdC1pY29uPmFjY291bnRfdHJlZTwvbWF0LWljb24+QXJjaGl2aWFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5TYXZlQXNQZGYoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydFBkZihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTYWx2YSBkb2N1bWVudG8gaW4gcGRmJ1wiPlxyXG4gIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+U2FsdmEgaW4gcGRmXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZW5lcmEgdW4gbGluayBwZXJtYW5lbnRlIGRhIHV0aWxpenphcmUgZXN0ZXJuYW1lbnRlJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLnNob3dMaW5rKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+bGluazwvbWF0LWljb24+TGlua1xyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbk9wZW4oKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQ29waWEgbWV0YWRhdGkgbmVnbGkgYXBwdW50aSdcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5jb3B5TWV0YWRhdGFUb0NsaXBib2FyZChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+Q29waWEgbWV0YWRhdGlcclxuPC9idXR0b24+XHJcbn1cclxuQGlmICghaXNSZWZlcmVuY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJsaW5rc01lbnVcIiAjbGlua3NNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5jb21wYXJlX2Fycm93czwvbWF0LWljb24+Q29sbGVnYW1lbnRpXHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI2xpbmtzTWVudT1cIm1hdE1lbnVcIj5cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgcmljaGlhbWF0aSBkYSBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMSlcIj5cclxuICAgIERvY3VtZW50aSByaWNoaWFtYXRpXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgY2FuT3BlbigpKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBpIGRvY3VtZW50aSBjaGUgcmljaGlhbWFubyBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMilcIj5cclxuICAgIERvY3VtZW50aSBjaGUgcmljaGlhbWFub1xyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzTGF3SW5Gb3JjZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgZ2l1cmlzcHJ1ZGVuemEnXCIgKGNsaWNrKT1cIm9wZW5SZWZlcmVuY2VzKGdldFNpbmdsZVNlbGVjdGlvbigpLCA0KVwiPlxyXG4gICAgSnVyaXNcclxuICA8L2J1dHRvbj5cclxuICB9XHJcbiAgQGlmICghaXNSZWZlcmVuY2UoKSAmJiBpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIG1vZGlmaWNoZSBub3JtYXRpdmUnXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMylcIj5cclxuICAgIE1vZGlmaWNoZVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufVxyXG5AaWYgKGNhbkFkZFRvQ2FsZW5kYXIoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWwgY2FsZW5kYXJpbydcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5hZGRUb0NhbGVuZGFyKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybTwvbWF0LWljb24+IENyZWEgc2NhZGVuemFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5FeHBvcnRDYWxlbmRhcigpKSB7XHJcbkBpZih1c2VTZWxlY3Rpb25zKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0ltcG9ydGEgaW4gT3VsdG9vayAoaUNhbGFuZGFyKSdcIiAoY2xpY2spPVwicGFyZW50KCkuZXhwb3J0UmVzdWx0cygyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufSBAZWxzZSBpZiAoaXRlbSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidJbXBvcnRhIGluIE91bHRvb2sgKGlDYWxhbmRhciknXCIgKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydEl0ZW1zKFtpdGVtKCkuZG9jdW1lbnRJZF0sIG51bGwsICAyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufVxyXG59XHJcbkBpZiAoY2FuU2V0QXNVbnJlYWQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBkYSBsZWdnZXJlJ1wiIChjbGljayk9XCJzZXRSZWFkKGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+b3V0bGluZWRfZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBkYSBsZWdnZXJlXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuU2V0QXNSZWFkKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlZ25hIGNvbWUgZ2nDoCBsZXR0bydcIiAoY2xpY2spPVwic2V0UmVhZCh0cnVlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBnacOgIGxldHRvXHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5cclxuQGlmIChpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSByZXBvcnQgdXRpbGl6em8nXCIgKGNsaWNrKT1cInBhcmVudCgpLnJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+YXNzaWdubWVudDwvbWF0LWljb24+UmVwb3J0XHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5AaWYgKGNhbkFjY2Vzc1JTKCkpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBtYXRUb29sdGlwPVwiUmVnaXN0cm8gJiBTY2FkZW56YXJpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wemlvbmkgZGkgUmVnaXN0cm8gJiBTY2FkZW56YXJpbydcIlxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJyc01lbnVcIiAjcnNNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUocnNNZW51VHJpZ2dlcilcIlxyXG4gIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShyc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybV9vbjwvbWF0LWljb24+XHJcbiAgUmVnaXN0cm8gZSBzY2FkZW56YXJpb1xyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNyc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ051b3ZhIGxlZ2dlJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdMYXcoZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGxlZ2dlXHJcbiAgPC9idXR0b24+XHJcbiAgQGlmIChjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTnVvdmEgYXR0aXZpdMOgJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdBY3Rpdml0eShnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGF0dGl2aXTDoFxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnQgdXRpbGl6em8gbm9ybWEnXCJcclxuICAgIChjbGljayk9XCJwYXJlbnQoKS5SU191c2FnZVJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIFJlcG9ydCB1dGlsaXp6byBub3JtYVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufSJdfQ==
|
|
@@ -101,7 +101,7 @@ class ClipperDocumentMenuComponent {
|
|
|
101
101
|
this.canAddToCalendar = () => {
|
|
102
102
|
let canAdd = true;
|
|
103
103
|
this.getMultipleSelection()?.forEach(n => {
|
|
104
|
-
if (n.model !== 9 && n.model !== 2) {
|
|
104
|
+
if (n.model !== 9 && n.model !== 2 && n.model !== 10 && n.model !== 20) {
|
|
105
105
|
canAdd = false;
|
|
106
106
|
return;
|
|
107
107
|
}
|