@stemy/ngx-utils 17.3.15 → 17.4.0

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.
@@ -119,4 +119,4 @@ export const ERROR_HANDLER = new InjectionToken("error-handler-callback");
119
119
  // --- Valued promise ---
120
120
  export class ValuedPromise extends Promise {
121
121
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25neC11dGlscy9jb21tb24tdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixjQUFjLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBSXRILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFnQmpELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBUXhFLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQW1CLENBQVMsRUFBUyxDQUFTLEVBQVMsQ0FBUyxFQUFTLElBQVksR0FBRztRQUFyRSxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFjO0lBRXhGLENBQUM7Q0FDSjtBQVNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBaUMsSUFBSSxjQUFjLENBQWUsY0FBYyxDQUFDLENBQUM7QUF5QzNHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQyxJQUFJLGNBQWMsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQztBQW9CM0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQyxJQUFJLGNBQWMsQ0FBZSxjQUFjLENBQUMsQ0FBQztBQW1CM0csMEJBQTBCO0FBQzFCLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsK0NBQUssQ0FBQTtJQUNMLG1EQUFPLENBQUE7QUFDWCxDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFVRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQW9DLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDO0FBY3ZILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQztBQTJDdEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQWMscUJBQXFCLENBQUMsQ0FBQztBQW1EMUYsd0JBQXdCO0FBQ3hCLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFHLFlBQW1EO0lBQ3RGLE9BQU8sVUFBVSxNQUFXLEVBQUUsTUFBYztRQUN4QyxZQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckYsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNuQyxPQUFPLFVBQVUsTUFBVztRQUN4QixZQUFZLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQXdDRCxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLFlBQW1CLElBQVMsRUFBUyxZQUFpQixFQUFTLEtBQWEsRUFBUyxLQUFhLEVBQVMsU0FBaUI7UUFBekcsU0FBSSxHQUFKLElBQUksQ0FBSztRQUFTLGlCQUFZLEdBQVosWUFBWSxDQUFLO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQVE7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQzVILENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsK0NBQStDO0lBQy9DLElBQUksR0FBRztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELCtDQUErQztJQUMvQyxJQUFJLFdBQVc7UUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7UUFDL0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBZ0I7UUFDbkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUFFLFNBQVM7WUFDbEYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekUsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBc0NELE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBWTtJQU96QyxZQUFZLGFBQW1ELEVBQUUsUUFBeUI7UUFDdEYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLENBQXFCLFdBQXFGLEVBQ3JGLFVBQW1HO1FBQ3hILElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuRCxDQUFDLEVBQUUsQ0FBQyxNQUF5QixFQUFFLEVBQUU7WUFDN0IsTUFBTSxNQUFNLEdBQVEsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEcsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFrQixVQUFpRztRQUNwSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQVFELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBVSxpQkFBaUIsQ0FBQyxDQUFDO0FBZ0I5RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdDLElBQUksY0FBYyxDQUFjLGFBQWEsQ0FBQyxDQUFDO0FBZ0V2RyxzQkFBc0I7QUFDdEIsTUFBTSxPQUFPLGlCQUFpQjtDQUc3QjtBQUVELHdCQUF3QjtBQUN4QixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQVMsY0FBYyxDQUFDLENBQUM7QUFFdkUsTUFBTSxPQUFPLGNBQWM7Q0FNMUI7QUFhRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFFbkYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLENBQUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0sZUFBZSxDQUFDLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFjLGtCQUFrQixDQUFDLENBQUM7QUFFaEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUM7QUFJN0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFzQix1QkFBdUIsQ0FBQyxDQUFDO0FBS2hHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsd0JBQXdCLENBQUMsQ0FBQztBQXdCaEcseUJBQXlCO0FBQ3pCLE1BQU0sT0FBTyxhQUFpQixTQUFRLE9BQVU7Q0FFL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBOZ1pvbmUsIFByb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgUm91dGUsIFVybFRyZWV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7UmVxdWVzdH0gZnJvbSBcImV4cHJlc3NcIjtcbmltcG9ydCB7UmVmbGVjdFV0aWxzfSBmcm9tIFwiLi91dGlscy9yZWZsZWN0LnV0aWxzXCI7XG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi91dGlscy9vYmplY3QudXRpbHNcIjtcblxuLy8gLS0tIFV0aWxcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRGYWN0b3J5UHJvdmlkZXI8VD4ge1xuICAgIHVzZUZhY3Rvcnk6ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbiAgICBkZXBzOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlZFZhbHVlUHJvdmlkZXI8VD4ge1xuICAgIHVzZVZhbHVlOiBUO1xufVxuXG5leHBvcnQgdHlwZSBDYWNoZWRQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBUeXBlZEZhY3RvcnlQcm92aWRlcjxUPiB8IFR5cGVkVmFsdWVQcm92aWRlcjxUPjtcblxuZXhwb3J0IHR5cGUgQ2FjaGVkRmFjdG9yeTxUPiA9IChpbmplY3RvcjogSW5qZWN0b3IpID0+IFJlYWRvbmx5QXJyYXk8VD47XG5cbmV4cG9ydCBjb25zdCBPUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuKFwiY3VzdG9tLW9wdGlvbnMtdG9rZW5cIik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc29sdmVGYWN0b3J5IHtcbiAgICBmdW5jOiBGdW5jdGlvbjtcbiAgICB0eXBlPzogYW55O1xuICAgIHBhcmFtcz86IGFueVtdO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FudmFzQ29sb3Ige1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByOiBudW1iZXIsIHB1YmxpYyBnOiBudW1iZXIsIHB1YmxpYyBiOiBudW1iZXIsIHB1YmxpYyBhOiBudW1iZXIgPSAyNTUpIHtcblxuICAgIH1cbn1cblxuLy8gLS0tIEljb24gc2VydmljZSAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSUljb25TZXJ2aWNlIHtcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAgIGljb25zTG9hZGVkOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgICBnZXRJY29uKGljb246IHN0cmluZywgYWN0aXZlSWNvbjogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCBJQ09OX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElJY29uU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUljb25TZXJ2aWNlPihcImljb24tc2VydmljZVwiKTtcblxuLy8gLS0tIExhbmd1YWdlIHNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbiB7XG4gICAgbGFuZzogc3RyaW5nO1xuICAgIHRyYW5zbGF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0aW9ucyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYW5ndWFnZVNldHRpbmcge1xuICAgIHVuYXZhaWxhYmxlPzogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxhbmd1YWdlU2V0dGluZ3Mge1xuICAgIGxhbmd1YWdlczogc3RyaW5nW107XG4gICAgZGV2TGFuZ3VhZ2VzOiBzdHJpbmdbXTtcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZztcbiAgICBzZXR0aW5ncz86IHtbbGFuZzogc3RyaW5nXTogSUxhbmd1YWdlU2V0dGluZ307XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxhbmd1YWdlU2VydmljZSB7XG4gICAgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XG4gICAgZWRpdExhbmd1YWdlOiBzdHJpbmc7XG4gICAgZGlzYWJsZVRyYW5zbGF0aW9uczogYm9vbGVhbjtcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZztcbiAgICBkaWN0aW9uYXJ5OiBJVHJhbnNsYXRpb25zO1xuICAgIHJlYWRvbmx5IGxhbmd1YWdlczogUmVhZG9ubHlBcnJheTxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQ7XG4gICAgcmVwbGFjZUxhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZDtcbiAgICBhZGRMYW5ndWFnZXMobGFuZ3VhZ2VzOiBzdHJpbmdbXSk6IHZvaWQ7XG4gICAgZ2V0VHJhbnNsYXRpb25TeW5jKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBzdHJpbmc7XG4gICAgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IFByb21pc2U8c3RyaW5nPjtcbiAgICBnZXRUcmFuc2xhdGlvbnMoLi4ua2V5czogc3RyaW5nW10pOiBQcm9taXNlPElUcmFuc2xhdGlvbnM+O1xuICAgIGdldFRyYW5zbGF0aW9uRnJvbU9iamVjdCh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbnMsIHBhcmFtcz86IGFueSwgbGFuZz86IHN0cmluZyk6IHN0cmluZztcbiAgICBnZXRUcmFuc2xhdGlvbkZyb21BcnJheSh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbltdLCBwYXJhbXM/OiBhbnksIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9TRVJWSUNFOiBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPihcImxhbmd1YWdlLXNlcnZpY2VcIik7XG5cbi8vIC0tLSBBdXRoIFNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoU2VydmljZSB7XG4gICAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICAgIHVzZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgICBjaGVja0F1dGhlbnRpY2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPjtcbn1cblxuZXhwb3J0IHR5cGUgUm91dGVWYWxpZGF0b3IgPSAoYXV0aDogSUF1dGhTZXJ2aWNlLCByb3V0ZT86IElSb3V0ZSwgbmV4dD86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IFByb21pc2U8Ym9vbGVhbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlRGF0YSBleHRlbmRzIERhdGEge1xuICAgIHJldHVyblN0YXRlPzogc3RyaW5nW107XG4gICAgZ3VhcmRzPzogQXJyYXk8SVJlc29sdmVGYWN0b3J5IHwgUm91dGVWYWxpZGF0b3I+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3V0ZSBleHRlbmRzIFJvdXRlIHtcbiAgICBkYXRhPzogSVJvdXRlRGF0YTtcbn1cblxuZXhwb3J0IGNvbnN0IEFVVEhfU0VSVklDRTogSW5qZWN0aW9uVG9rZW48SUF1dGhTZXJ2aWNlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQXV0aFNlcnZpY2U+KFwiYXV0aC1zZXJ2aWNlXCIpO1xuXG4vLyAtLS0gQWNsIFNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElBY2xDb21wb25lbnQge1xuICAgIG9uVXNlckluaXRpYWxpemVkKCk6IHZvaWQ7XG4gICAgb25Vc2VyQ2hhbmdlZCgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3V0ZVN0YXRlSW5mbyB7XG4gICAgcm91dGU6IElSb3V0ZTtcbiAgICBndWFyZDogYW55O1xuICAgIGRpcnR5OiBib29sZWFuO1xuICAgIGZpcnN0OiBib29sZWFuO1xuICAgIGNvbXBvbmVudD86IGFueTtcbn1cblxuLy8gLS0tIFN0YXRlIFNlcnZpY2UgLS0tXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uVXJsUGFyYW0gPSBhbnlbXSB8IHN0cmluZyB8IFVybFRyZWU7XG5cbi8vIC0tLSBTdG9yYWdlIFNlcnZpY2UgLS0tXG5leHBvcnQgZW51bSBTdG9yYWdlTW9kZSB7XG4gICAgTG9jYWwsXG4gICAgU2Vzc2lvblxufVxuXG4vLyAtLS0gVG9hc3RlciBTZXJ2aWNlIC0tLVxuZXhwb3J0IGludGVyZmFjZSBJVG9hc3RlclNlcnZpY2Uge1xuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHRpdGxlPzogc3RyaW5nKTogdm9pZDtcbiAgICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBUT0FTVEVSX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElUb2FzdGVyU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SVRvYXN0ZXJTZXJ2aWNlPihcInRvYXN0ZXItc2VydmljZVwiKTtcblxuLy8gLS0tIFByb21pc2UgU2VydmljZSAtLS1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJvbWlzZVNlcnZpY2Uge1xuICAgIHpvbmU6IE5nWm9uZTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj47XG4gICAgY3JlYXRlPFQ+KGV4ZWN1dG9yOiAocmVzb2x2ZTogKHZhbHVlPzogVCB8IFByb21pc2VMaWtlPFQ+KSA9PiB2b2lkLCByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQpID0+IHZvaWQpOiBQcm9taXNlPFQ+O1xuICAgIGFsbChwcm9taXNlczogUHJvbWlzZTxhbnk+W10pOiBQcm9taXNlPGFueT47XG4gICAgcmVzb2x2ZTxUPih2YWx1ZTogVCB8IFByb21pc2VMaWtlPFQ+KTogUHJvbWlzZTxUPjtcbiAgICByZWplY3Q8VD4odmFsdWU6IFQgfCBQcm9taXNlTGlrZTxUPik6IFByb21pc2U8VD47XG59XG5cbmV4cG9ydCBjb25zdCBQUk9NSVNFX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVByb21pc2VTZXJ2aWNlPihcInByb21pc2Utc2VydmljZVwiKTtcblxuLy8gLS0tIFdhc20gc2VydmljZSAtLS1cbmV4cG9ydCB0eXBlIFR5cGVkQXJyYXkgPVxuICAgIHwgSW50OEFycmF5XG4gICAgfCBJbnQxNkFycmF5XG4gICAgfCBJbnQzMkFycmF5XG4gICAgfCBVaW50OEFycmF5XG4gICAgfCBVaW50OENsYW1wZWRBcnJheVxuICAgIHwgVWludDE2QXJyYXlcbiAgICB8IFVpbnQzMkFycmF5XG4gICAgfCBGbG9hdDMyQXJyYXlcbiAgICB8IEZsb2F0NjRBcnJheTtcblxuZXhwb3J0IGludGVyZmFjZSBJV2FzbUV4cG9ydHMge1xuICAgIEhFQVA4OiBJbnQ4QXJyYXk7XG4gICAgSEVBUDE2OiBJbnQxNkFycmF5LFxuICAgIEhFQVAzMjogSW50MzJBcnJheSxcbiAgICBIRUFQVTg6IFVpbnQ4QXJyYXk7XG4gICAgSEVBUFUxNjogVWludDE2QXJyYXksXG4gICAgSEVBUFUzMjogVWludDMyQXJyYXksXG4gICAgSEVBUEYzMjogRmxvYXQzMkFycmF5LFxuICAgIEhFQVBGNjQ6IEZsb2F0NjRBcnJheSxcbiAgICBtZW1vcnk6IFdlYkFzc2VtYmx5Lk1lbW9yeTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVdhc2kge1xuICAgIGluc3RhbnRpYXRlKGJ5dGVzOiBBcnJheUJ1ZmZlcik6IFByb21pc2U8SVdhc21FeHBvcnRzPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2FzbSB7XG4gICAgd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5OiBUeXBlZEFycmF5KTogUHJvbWlzZTxudW1iZXI+IHwgbnVtYmVyO1xuICAgIHJlYWRBcnJheUZyb21NZW1vcnk8VCA9IFR5cGVkQXJyYXk+KHBvaW50ZXI6IG51bWJlciwgYXJyYXk6IFQpOiBQcm9taXNlPFQ+IHwgVDtcbiAgICBba2V5OiBzdHJpbmddOiAoLi4uYXJnczogYW55W10pID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2FzbUFzeW5jIHtcbiAgICB3cml0ZUFycmF5VG9NZW1vcnkoYXJyYXk6IFR5cGVkQXJyYXkpOiBQcm9taXNlPG51bWJlcj47XG4gICAgcmVhZEFycmF5RnJvbU1lbW9yeTxUID0gVHlwZWRBcnJheT4ocG9pbnRlcjogbnVtYmVyLCBhcnJheTogVCk6IFQ7XG4gICAgW2tleTogc3RyaW5nXTogKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBjb25zdCBXQVNJX0lNUExFTUVOVEFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPFR5cGU8SVdhc2k+PihcIndhc2ktaW1wbGVtZW50YXRpb25cIik7XG5cbi8vIC0tLSBBc3luYyBtZXRob2QgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElBc3luY01lc3NhZ2Uge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb250ZXh0PzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBBc3luY01ldGhvZCA9IChjb250ZXh0PzogYW55KSA9PiBQcm9taXNlPElBc3luY01lc3NhZ2U+O1xuXG4vLyAtLS0gRHJvcGRvd24gLS0tXG5leHBvcnQgdHlwZSBEcm9wZG93bkF0dGFjaFRvID0gXCJyb290XCIgfCBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbDtcblxuLy8gLS0tIFVub3JkZXJlZCBsaXN0IC0tLVxuZXhwb3J0IGludGVyZmFjZSBVbm9yZGVyZWRMaXN0VGVtcGxhdGUge1xuICAgIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgICByZWFkb25seSBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5vcmRlcmVkTGlzdFRlbXBsYXRlcyB7XG4gICAgW3R5cGU6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFVub3JkZXJlZExpc3RTdHlsZSA9IFwidGFibGVcIiB8IFwibGlzdFwiO1xuXG4vLyAtLS0gQWpheCByZXF1ZXN0ICAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSUFqYXhSZXF1ZXN0RGV0YWlscyB7XG4gICAgcmVxdWVzdDogWE1MSHR0cFJlcXVlc3QsXG4gICAgbWV0aG9kOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFqYXhSZXF1ZXN0Q2FsbGJhY2sgPSAoZGV0YWlsczogSUFqYXhSZXF1ZXN0RGV0YWlscywgcGFyYW1zOiBhbnkpID0+IHZvaWQ7XG5cbi8vIC0tLSBMb2FkZXIgdXRpbHMgLS0tXG5leHBvcnQgdHlwZSBTY3JpcHRUeXBlID0gXCJ0ZXh0L2phdmFzY3JpcHRcIiB8IFwibW9kdWxlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmlwdFByb21pc2VzIHtcbiAgICBbc3JjOiBzdHJpbmddOiBQcm9taXNlPEhUTUxTY3JpcHRFbGVtZW50Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVN0eWxlUHJvbWlzZXMge1xuICAgIFtzcmM6IHN0cmluZ106IFByb21pc2U8SFRNTExpbmtFbGVtZW50Pjtcbn1cblxuLy8gLS0tIE9ic2VydmFibGUgdXRpbHMgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElTZWFyY2hPYnNlcnZhYmxlIHtcbiAgICBzZWFyY2g6IHN0cmluZztcbiAgICBnZXRTZWFyY2hSZXN1bHRzKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPGFueVtdPjtcbn1cblxuLy8gLS0tIFJlZmxlY3QgdXRpbHMgLS0tXG5leHBvcnQgZnVuY3Rpb24gRmFjdG9yeURlcGVuZGVuY2llcyguLi5kZXBlbmRlbmNpZXM6IEFycmF5PEluamVjdGlvblRva2VuPGFueT4gfCBQcm92aWRlcj4pOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIFJlZmxlY3RVdGlscy5kZWZpbmVNZXRhZGF0YShcImZhY3RvcnlEZXBlbmRlbmNpZXNcIiwgZGVwZW5kZW5jaWVzLCB0YXJnZXQsIG1ldGhvZCk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE9iamVjdFR5cGUodHlwZTogc3RyaW5nKTogQ2xhc3NEZWNvcmF0b3Ige1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgUmVmbGVjdFV0aWxzLmRlZmluZU1ldGFkYXRhKFwib2JqZWN0VHlwZVwiLCB0eXBlLCB0YXJnZXQpO1xuICAgIH07XG59XG5cbi8vIC0tLSBUaW1lciB1dGlscyAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVyIHtcbiAgICBpZD86IGFueTtcbiAgICBmdW5jPzogRnVuY3Rpb247XG4gICAgdGltZT86IG51bWJlcjtcbiAgICBydW4/OiAoKSA9PiB2b2lkO1xuICAgIHNldD86IChmdW5jOiBGdW5jdGlvbiwgdGltZTogbnVtYmVyKSA9PiB2b2lkO1xuICAgIGNsZWFyPzogKCkgPT4gdm9pZDtcbn1cblxuLy8gLS0tIEV4dHJhSXRlbVByb3BlcnRpZXMgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElFeHRyYVByb3BlcnRpZXMge1xuICAgIFtwcm9wOiBzdHJpbmddOiBhbnk7XG59XG5cbi8vIC0tLSBHcm91cCBieSAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSUdyb3VwTWFwIHtcbiAgICBbY29sdW1uOiBzdHJpbmddOiBhbnk7XG59XG5cbi8vIC0tLSBUcmFuc2xhdGUgLS0tXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvblF1ZXJ5ID0gc3RyaW5nIHwgSVRyYW5zbGF0aW9ucyB8IElUcmFuc2xhdGlvbltdO1xuXG4vLyAtLS0gUGFnaW5hdGlvbiAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2VJbmZvIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgbnVtYmVyOiBudW1iZXI7XG4gICAgYWN0aXZlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uRGF0YSB7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBpdGVtczogYW55W107XG4gICAgbWV0YT86IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkRhdGFMb2FkZXIgPSAocGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlcikgPT4gUHJvbWlzZTxJUGFnaW5hdGlvbkRhdGE+O1xuXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkl0ZW1Db250ZXh0IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtOiBhbnksIHB1YmxpYyBwYXJhbGxlbEl0ZW06IGFueSwgcHVibGljIGNvdW50OiBudW1iZXIsIHB1YmxpYyBpbmRleDogbnVtYmVyLCBwdWJsaWMgZGF0YUluZGV4OiBudW1iZXIpIHtcbiAgICB9XG5cbiAgICBnZXQgZmlyc3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIGdldCBsYXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gdGhpcy5jb3VudCAtIDE7XG4gICAgfVxuXG4gICAgZ2V0IGV2ZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ICUgMiA9PT0gMDtcbiAgICB9XG5cbiAgICBnZXQgb2RkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZXZlbjtcbiAgICB9XG5cbiAgICAvLyBTdXBwb3J0IGZvciBvbGQgZHluYW1pYyB0YWJsZSBpbXBsZW1lbnRhdGlvblxuICAgIGdldCByb3coKTogYW55IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJEeW5hbWljVGFibGUgcm93IGlzIGRlcHJlY2F0ZWQgdXNlIGl0ZW0gaW5zdGVhZFwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbTtcbiAgICB9XG5cbiAgICAvLyBTdXBwb3J0IGZvciBvbGQgZHluYW1pYyB0YWJsZSBpbXBsZW1lbnRhdGlvblxuICAgIGdldCBwYXJhbGxlbFJvdygpOiBhbnkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkR5bmFtaWNUYWJsZSBwYXJhbGxlbFJvdyBpcyBkZXByZWNhdGVkIHVzZSBwYXJhbGxlbEl0ZW0gaW5zdGVhZFwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyYWxsZWxJdGVtO1xuICAgIH1cblxuICAgIGZpbHRlcihmaWx0ZXJSeDogUmVnRXhwKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLml0ZW0pO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaXRlbVtrZXldO1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCBPYmplY3RVdGlscy5pc09iamVjdCh2YWx1ZSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgdGVzdFZhbHVlID0gT2JqZWN0VXRpbHMuaXNTdHJpbmcodmFsdWUpID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKHRlc3RWYWx1ZS5tYXRjaChmaWx0ZXJSeCkpIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbi8vIC0tLSBIdHRwIHNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElIdHRwSGVhZGVycyB7XG4gICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUh0dHBQYXJhbXMge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVxdWVzdE9wdGlvbnMge1xuICAgIG1ldGhvZD86IHN0cmluZztcbiAgICBib2R5PzogYW55O1xuICAgIGhlYWRlcnM/OiBJSHR0cEhlYWRlcnMgfCBIdHRwSGVhZGVycztcbiAgICBvcmlnaW5hbEhlYWRlcnM/OiBJSHR0cEhlYWRlcnM7XG4gICAgcGFyYW1zPzogSUh0dHBQYXJhbXM7XG4gICAgb2JzZXJ2ZT86IFwiYm9keVwiIHwgXCJyZXNwb25zZVwiO1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICByZXNwb25zZVR5cGU/OiBcImFycmF5YnVmZmVyXCIgfCBcImJsb2JcIiB8IFwianNvblwiIHwgXCJ0ZXh0XCI7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB0aW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJc3N1ZUNvbnRleHQge1xuICAgIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XG4gICAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgICBsb2FkZWQ/OiBudW1iZXI7XG4gICAgdG90YWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFByb2dyZXNzTGlzdGVuZXIgPSAocHJvZ3Jlc3M6IElQcm9ncmVzcykgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgUHJvbWlzZUV4ZWN1dG9yID0gKHJlc29sdmU6ICh2YWx1ZT86IGFueSB8IFByb21pc2VMaWtlPGFueT4pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIEh0dHBQcm9taXNlIGV4dGVuZHMgUHJvbWlzZTxhbnk+IHtcblxuICAgIHByb3RlY3RlZCByZWplY3RIYW5kbGVyOiAocmVhc29uPzogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XG4gICAgcHJvdGVjdGVkIGhhc1JlamVjdEhhbmRsZXI6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIGF0dGFjaENvdW50OiBudW1iZXI7XG4gICAgcHJvdGVjdGVkIHJ1bkNvdW50OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWplY3RIYW5kbGVyOiAocmVhc29uPzogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsIGV4ZWN1dG9yOiBQcm9taXNlRXhlY3V0b3IpIHtcbiAgICAgICAgc3VwZXIoZXhlY3V0b3IpO1xuICAgICAgICB0aGlzLnJlamVjdEhhbmRsZXIgPSByZWplY3RIYW5kbGVyO1xuICAgICAgICB0aGlzLmF0dGFjaENvdW50ID0gMDtcbiAgICAgICAgdGhpcy5ydW5Db3VudCA9IDA7XG4gICAgfVxuXG4gICAgdGhlbjxUUmVzdWx0MSwgVFJlc3VsdDI+KG9uRnVsZmlsbGVkPzogKCh2YWx1ZTogYW55KSA9PiAoUHJvbWlzZUxpa2U8VFJlc3VsdDE+IHwgVFJlc3VsdDEpKSB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVqZWN0ZWQ/OiAoKHJlYXNvbjogSHR0cEVycm9yUmVzcG9uc2UpID0+IChQcm9taXNlTGlrZTxUUmVzdWx0Mj4gfCBUUmVzdWx0MikpIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFByb21pc2U8VFJlc3VsdDEgfCBUUmVzdWx0Mj4ge1xuICAgICAgICB0aGlzLmF0dGFjaENvdW50Kys7XG4gICAgICAgIHJldHVybiBzdXBlci50aGVuKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMucnVuQ291bnQrKztcbiAgICAgICAgICAgIHJldHVybiBvbkZ1bGZpbGxlZCA/IG9uRnVsZmlsbGVkKHZhbHVlKSA6IG51bGw7XG4gICAgICAgIH0sIChyZWFzb246IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IG9uUmVqZWN0ZWQgPyBvblJlamVjdGVkKHJlYXNvbikgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5oYXNSZWplY3RIYW5kbGVyID0gdGhpcy5oYXNSZWplY3RIYW5kbGVyIHx8IChvblJlamVjdGVkICYmIHJlc3VsdCAhPT0gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5ydW5Db3VudCsrO1xuICAgICAgICAgICAgdGhpcy5yZWplY3RIYW5kbGVyKHRoaXMucnVuQ291bnQgPT0gdGhpcy5hdHRhY2hDb3VudCAmJiAhdGhpcy5oYXNSZWplY3RIYW5kbGVyID8gcmVhc29uIDogbnVsbCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjYXRjaDxUUmVzdWx0ID0gbmV2ZXI+KG9uUmVqZWN0ZWQ/OiAoKHJlYXNvbjogSHR0cEVycm9yUmVzcG9uc2UpID0+IChQcm9taXNlTGlrZTxUUmVzdWx0PiB8IFRSZXN1bHQpKSB8IG51bGwgfCB1bmRlZmluZWQpOiBQcm9taXNlPGFueSB8IFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlbihudWxsLCBvblJlamVjdGVkKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUh0dHBTZXJ2aWNlIHtcbiAgICBsYW5ndWFnZTogSUxhbmd1YWdlU2VydmljZTtcbiAgICB1cmwodXJsOiBzdHJpbmcpOiBzdHJpbmc7XG4gICAgbWFrZUxpc3RQYXJhbXMocGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlciwgb3JkZXJCeT86IHN0cmluZywgb3JkZXJEZXNjZW5kaW5nPzogYm9vbGVhbiwgZmlsdGVyPzogc3RyaW5nKTogSUh0dHBQYXJhbXM7XG59XG5cbmV4cG9ydCBjb25zdCBFWFBSRVNTX1JFUVVFU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVxdWVzdD4oXCJleHByZXNzLXJlcXVlc3RcIik7XG5cbi8vIC0tLSBBcGkgc2VydmljZSAtLS1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBpU2VydmljZSBleHRlbmRzIElIdHRwU2VydmljZSB7XG4gICAgY2FjaGU6IGFueTtcbiAgICBjbGllbnQ6IEh0dHBDbGllbnQ7XG4gICAgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICAgIGRlbGV0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgICBwb3N0KHVybDogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICAgIHB1dCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgICBwYXRjaCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgICB1cGxvYWQodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgbGlzdGVuZXI/OiBQcm9ncmVzc0xpc3RlbmVyLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICAgIGxpc3QodXJsOiBzdHJpbmcsIHBhcmFtczogSUh0dHBQYXJhbXMpOiBQcm9taXNlPElQYWdpbmF0aW9uRGF0YT47XG59XG5cbmV4cG9ydCBjb25zdCBBUElfU0VSVklDRTogSW5qZWN0aW9uVG9rZW48SUFwaVNlcnZpY2U+ID0gbmV3IEluamVjdGlvblRva2VuPElBcGlTZXJ2aWNlPihcImFwaS1zZXJ2aWNlXCIpO1xuXG4vLyAtLS0gT3BlbkFwaSBzZXJ2aWNlIC0tLVxuZXhwb3J0IGludGVyZmFjZSBJT3BlbkFwaVNjaGVtYVByb3BlcnR5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIGNvbHVtbj86IGJvb2xlYW47XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM/OiBhbnk7XG4gICAgJHJlZj86IHN0cmluZztcbiAgICBhbGxPZj86IFJlYWRvbmx5QXJyYXk8eyRyZWY/OiBzdHJpbmd9PlxuICAgIGl0ZW1zPzogSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eTtcbiAgICBlbnVtPzogc3RyaW5nW107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hIHtcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFtuYW1lOiBzdHJpbmddOiBJT3BlbkFwaVNjaGVtYVByb3BlcnR5O1xuICAgIH07XG4gICAgcmVxdWlyZWQ6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hcyB7XG4gICAgW25hbWU6IHN0cmluZ106IElPcGVuQXBpU2NoZW1hO1xufVxuXG4vLyAtLS0gRHluYW1pYyB0YWJsZSAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlT3JkZXJzIHtcbiAgICBbY29sdW1uOiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlQ29sdW1uIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzb3J0Pzogc3RyaW5nO1xuICAgIGZpbHRlcj86IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUNvbHVtbnMge1xuICAgIFtjb2x1bW46IHN0cmluZ106IElUYWJsZUNvbHVtbjtcbn1cblxuZXhwb3J0IHR5cGUgVGFibGVDb2x1bW5zID0gSVRhYmxlT3JkZXJzIHwgSVRhYmxlQ29sdW1ucyB8IHN0cmluZ1tdO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVRlbXBsYXRlIHtcbiAgICBjb2x1bW46IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIHB1cmU6IGJvb2xlYW47XG4gICAgcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVRlbXBsYXRlcyB7XG4gICAgW2NvbHVtbjogc3RyaW5nXTogSVRhYmxlVGVtcGxhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlRGF0YVF1ZXJ5IHtcbiAgICBbY29sdW1uOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlRGF0YUxvYWRlciA9IChcbiAgICBwYWdlOiBudW1iZXIsIHJvd3NQZXJQYWdlOiBudW1iZXIsIG9yZGVyQnk6IHN0cmluZywgb3JkZXJEZXNjZW5kaW5nOiBib29sZWFuLFxuICAgIGZpbHRlcjogc3RyaW5nLCBxdWVyeTogSVRhYmxlRGF0YVF1ZXJ5XG4pID0+IFByb21pc2U8SVBhZ2luYXRpb25EYXRhPjtcblxuLy8gLS0tIFJlc291cmNlIGlmIC0tLVxuZXhwb3J0IGNsYXNzIFJlc291cmNlSWZDb250ZXh0IHtcbiAgICByZXNvdXJjZTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufVxuXG4vLyAtLS0gQ29uZmlnU2VydmljZSAtLS1cbmV4cG9ydCBjb25zdCBBUFBfQkFTRV9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcImFwcC1iYXNlLXVybFwiKTtcblxuZXhwb3J0IGNsYXNzIElDb25maWd1cmF0aW9uIHtcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgYmFzZVVybD86IHN0cmluZztcbiAgICBiYXNlRG9tYWluPzogc3RyaW5nO1xuICAgIHRyYW5zbGF0aW9uVXJsPzogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgY29uZmlnOiBJQ29uZmlndXJhdGlvbjtcbiAgICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcmVhZG9ubHkgbG9hZDogKCkgPT4gUHJvbWlzZTxJQ29uZmlndXJhdGlvbj47XG4gICAgcmVhZG9ubHkgcm9vdEVsZW1lbnQ6IGFueTtcbiAgICBjbG9uZVJvb3RFbGVtKCk6IGFueTtcbiAgICBwcmVwYXJlVXJsKHVybDogc3RyaW5nLCBlbmRpbmc6IHN0cmluZyk6IHN0cmluZztcbiAgICBnZXRDb25maWdWYWx1ZShrZXk6IHN0cmluZyk6IGFueTtcbiAgICBnZXRRdWVyeVBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IENPTkZJR19TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElDb25maWdTZXJ2aWNlPihcImNvbmZpZy1zZXJ2aWNlXCIpO1xuXG5leHBvcnQgY29uc3QgQkFTRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUNvbmZpZ3VyYXRpb24+KFwiYmFzZS1jb25maWdcIik7XG5cbmV4cG9ydCBjb25zdCBTQ1JJUFRfUEFSQU1TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oXCJzY3JpcHQtcGFyYW1zXCIpO1xuXG5leHBvcnQgY29uc3QgUk9PVF9FTEVNRU5UID0gbmV3IEluamVjdGlvblRva2VuPEhUTUxFbGVtZW50PihcImFwcC1yb290LWVsZW1lbnRcIik7XG5cbmV4cG9ydCBjb25zdCBSRVNJWkVfREVMQVkgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPihcInJlc2l6ZS1ldmVudC1kZWxheVwiKTtcblxuZXhwb3J0IHR5cGUgUmVzaXplRXZlbnRTdHJhdGVneSA9IFwic2Nyb2xsXCIgfCBcIm9iamVjdFwiO1xuXG5leHBvcnQgY29uc3QgUkVTSVpFX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPFJlc2l6ZUV2ZW50U3RyYXRlZ3k+KFwicmVzaXplLWV2ZW50LXN0cmF0ZWd5XCIpO1xuXG4vLyAtLS0gRXJyb3IgaGFuZGxlciBzZXJ2aWNlIC0tLVxuZXhwb3J0IHR5cGUgRXJyb3JIYW5kbGVyQ2FsbGJhY2sgPSAoZXJyb3I6IHN0cmluZykgPT4gYW55O1xuXG5leHBvcnQgY29uc3QgRVJST1JfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFcnJvckhhbmRsZXJDYWxsYmFjaz4oXCJlcnJvci1oYW5kbGVyLWNhbGxiYWNrXCIpO1xuXG4vLyAtLS0gR2xvYmFsIHRlbXBsYXRlcyBzZXJ2aWNlXG5cbmV4cG9ydCB0eXBlIEdsb2JhbENvbXBvbmVudE1vZGlmaWVyID0gKGNvbXBvbmVudDogYW55KSA9PiBhbnk7XG5cbi8vIC0tLSBNb2R1bGUgLS0tXG5leHBvcnQgdHlwZSBBcHBJbml0aWFsaXplckZ1bmMgPSAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBJTW9kdWxlQ29uZmlnIHtcbiAgICBhcGlTZXJ2aWNlPzogVHlwZTxJQXBpU2VydmljZT5cbiAgICBhdXRoU2VydmljZT86IFR5cGU8SUF1dGhTZXJ2aWNlPjtcbiAgICBpY29uU2VydmljZT86IFR5cGU8SUljb25TZXJ2aWNlPjtcbiAgICBsYW5ndWFnZVNlcnZpY2U/OiBUeXBlPElMYW5ndWFnZVNlcnZpY2U+O1xuICAgIHRvYXN0ZXJTZXJ2aWNlPzogVHlwZTxJVG9hc3RlclNlcnZpY2U+O1xuICAgIHByb21pc2VTZXJ2aWNlPzogVHlwZTxJUHJvbWlzZVNlcnZpY2U+O1xuICAgIGNvbmZpZ1NlcnZpY2U/OiBUeXBlPElDb25maWdTZXJ2aWNlPjtcbiAgICB3YXNpSW1wbGVtZW50YXRpb24/OiBUeXBlPElXYXNpPjtcbiAgICBpbml0aWFsaXplQXBwPzogKGluamVjdG9yOiBJbmplY3RvcikgPT4gQXBwSW5pdGlhbGl6ZXJGdW5jO1xuICAgIGJhc2VVcmw/OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBzdHJpbmc7XG4gICAgcmVzaXplRGVsYXk/OiBudW1iZXI7XG4gICAgcmVzaXplU3RyYXRlZ3k/OiBSZXNpemVFdmVudFN0cmF0ZWd5O1xufVxuXG4vLyAtLS0gVmFsdWVkIHByb21pc2UgLS0tXG5leHBvcnQgY2xhc3MgVmFsdWVkUHJvbWlzZTxUPiBleHRlbmRzIFByb21pc2U8VD4ge1xuICAgIHZhbHVlOiBUO1xufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25neC11dGlscy9jb21tb24tdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixjQUFjLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBSXRILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFnQmpELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBUXhFLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQW1CLENBQVMsRUFBUyxDQUFTLEVBQVMsQ0FBUyxFQUFTLElBQVksR0FBRztRQUFyRSxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFjO0lBRXhGLENBQUM7Q0FDSjtBQVNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBaUMsSUFBSSxjQUFjLENBQWUsY0FBYyxDQUFDLENBQUM7QUF5QzNHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQyxJQUFJLGNBQWMsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQztBQW9CM0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQyxJQUFJLGNBQWMsQ0FBZSxjQUFjLENBQUMsQ0FBQztBQW1CM0csMEJBQTBCO0FBQzFCLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsK0NBQUssQ0FBQTtJQUNMLG1EQUFPLENBQUE7QUFDWCxDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFVRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQW9DLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDO0FBY3ZILE1B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QUMsTUFBTSxXQUFXLEdBQWdDLElBQUksY0FBYyxDQUFjLGFBQWEsQ0FBQyxDQUFDO0FBZ0V2RyxzQkFBc0I7QUFDdEIsTUFBTSxPQUFPLGlCQUFpQjtDQUc3QjtBQUVELHdCQUF3QjtBQUN4QixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQVMsY0FBYyxDQUFDLENBQUM7QUFFdkUsTUFBTSxPQUFPLGNBQWM7Q0FNMUI7QUFhRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFFbkYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLENBQUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0sZUFBZSxDQUFDLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFjLGtCQUFrQixDQUFDLENBQUM7QUFFaEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUM7QUFJN0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFzQix1QkFBdUIsQ0FBQyxDQUFDO0FBS2hHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsd0JBQXdCLENBQUMsQ0FBQztBQXdCaEcseUJBQXlCO0FBQ3pCLE1BQU0sT0FBTyxhQUFpQixTQUFRLE9BQVU7Q0FFL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBOZ1pvbmUsIFByb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgUm91dGUsIFVybFRyZWV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7UmVxdWVzdH0gZnJvbSBcImV4cHJlc3NcIjtcbmltcG9ydCB7UmVmbGVjdFV0aWxzfSBmcm9tIFwiLi91dGlscy9yZWZsZWN0LnV0aWxzXCI7XG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi91dGlscy9vYmplY3QudXRpbHNcIjtcblxuLy8gLS0tIFV0aWxcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRGYWN0b3J5UHJvdmlkZXI8VD4ge1xuICAgIHVzZUZhY3Rvcnk6ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbiAgICBkZXBzOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlZFZhbHVlUHJvdmlkZXI8VD4ge1xuICAgIHVzZVZhbHVlOiBUO1xufVxuXG5leHBvcnQgdHlwZSBDYWNoZWRQcm92aWRlcjxUPiA9IFR5cGU8VD4gfCBUeXBlZEZhY3RvcnlQcm92aWRlcjxUPiB8IFR5cGVkVmFsdWVQcm92aWRlcjxUPjtcblxuZXhwb3J0IHR5cGUgQ2FjaGVkRmFjdG9yeTxUPiA9IChpbmplY3RvcjogSW5qZWN0b3IpID0+IFJlYWRvbmx5QXJyYXk8VD47XG5cbmV4cG9ydCBjb25zdCBPUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuKFwiY3VzdG9tLW9wdGlvbnMtdG9rZW5cIik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc29sdmVGYWN0b3J5IHtcbiAgICBmdW5jOiBGdW5jdGlvbjtcbiAgICB0eXBlPzogYW55O1xuICAgIHBhcmFtcz86IGFueVtdO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FudmFzQ29sb3Ige1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByOiBudW1iZXIsIHB1YmxpYyBnOiBudW1iZXIsIHB1YmxpYyBiOiBudW1iZXIsIHB1YmxpYyBhOiBudW1iZXIgPSAyNTUpIHtcblxuICAgIH1cbn1cblxuLy8gLS0tIEljb24gc2VydmljZSAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSUljb25TZXJ2aWNlIHtcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAgIGljb25zTG9hZGVkOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgICBnZXRJY29uKGljb246IHN0cmluZywgYWN0aXZlSWNvbjogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCBJQ09OX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElJY29uU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUljb25TZXJ2aWNlPihcImljb24tc2VydmljZVwiKTtcblxuLy8gLS0tIExhbmd1YWdlIHNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbiB7XG4gICAgbGFuZzogc3RyaW5nO1xuICAgIHRyYW5zbGF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0aW9ucyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYW5ndWFnZVNldHRpbmcge1xuICAgIHVuYXZhaWxhYmxlPzogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxhbmd1YWdlU2V0dGluZ3Mge1xuICAgIGxhbmd1YWdlczogc3RyaW5nW107XG4gICAgZGV2TGFuZ3VhZ2VzOiBzdHJpbmdbXTtcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZztcbiAgICBzZXR0aW5ncz86IHtbbGFuZzogc3RyaW5nXTogSUxhbmd1YWdlU2V0dGluZ307XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxhbmd1YWdlU2VydmljZSB7XG4gICAgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XG4gICAgZWRpdExhbmd1YWdlOiBzdHJpbmc7XG4gICAgZGlzYWJsZVRyYW5zbGF0aW9uczogYm9vbGVhbjtcbiAgICBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZztcbiAgICBkaWN0aW9uYXJ5OiBJVHJhbnNsYXRpb25zO1xuICAgIHJlYWRvbmx5IGxhbmd1YWdlczogUmVhZG9ubHlBcnJheTxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQ7XG4gICAgcmVwbGFjZUxhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZDtcbiAgICBhZGRMYW5ndWFnZXMobGFuZ3VhZ2VzOiBzdHJpbmdbXSk6IHZvaWQ7XG4gICAgZ2V0VHJhbnNsYXRpb25TeW5jKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBzdHJpbmc7XG4gICAgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IFByb21pc2U8c3RyaW5nPjtcbiAgICBnZXRUcmFuc2xhdGlvbnMoLi4ua2V5czogc3RyaW5nW10pOiBQcm9taXNlPElUcmFuc2xhdGlvbnM+O1xuICAgIGdldFRyYW5zbGF0aW9uRnJvbU9iamVjdCh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbnMsIHBhcmFtcz86IGFueSwgbGFuZz86IHN0cmluZyk6IHN0cmluZztcbiAgICBnZXRUcmFuc2xhdGlvbkZyb21BcnJheSh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbltdLCBwYXJhbXM/OiBhbnksIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9TRVJWSUNFOiBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPihcImxhbmd1YWdlLXNlcnZpY2VcIik7XG5cbi8vIC0tLSBBdXRoIFNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoU2VydmljZSB7XG4gICAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICAgIHVzZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgICBjaGVja0F1dGhlbnRpY2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPjtcbn1cblxuZXhwb3J0IHR5cGUgUm91dGVWYWxpZGF0b3IgPSAoYXV0aDogSUF1dGhTZXJ2aWNlLCByb3V0ZT86IElSb3V0ZSwgbmV4dD86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IFByb21pc2U8Ym9vbGVhbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlRGF0YSBleHRlbmRzIERhdGEge1xuICAgIHJldHVyblN0YXRlPzogc3RyaW5nW107XG4gICAgZ3VhcmRzPzogQXJyYXk8SVJlc29sdmVGYWN0b3J5IHwgUm91dGVWYWxpZGF0b3I+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3V0ZSBleHRlbmRzIFJvdXRlIHtcbiAgICBkYXRhPzogSVJvdXRlRGF0YTtcbn1cblxuZXhwb3J0IGNvbnN0IEFVVEhfU0VSVklDRTogSW5qZWN0aW9uVG9rZW48SUF1dGhTZXJ2aWNlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQXV0aFNlcnZpY2U+KFwiYXV0aC1zZXJ2aWNlXCIpO1xuXG4vLyAtLS0gQWNsIFNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElBY2xDb21wb25lbnQge1xuICAgIG9uVXNlckluaXRpYWxpemVkKCk6IHZvaWQ7XG4gICAgb25Vc2VyQ2hhbmdlZCgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3V0ZVN0YXRlSW5mbyB7XG4gICAgcm91dGU6IElSb3V0ZTtcbiAgICBndWFyZDogYW55O1xuICAgIGRpcnR5OiBib29sZWFuO1xuICAgIGZpcnN0OiBib29sZWFuO1xuICAgIGNvbXBvbmVudD86IGFueTtcbn1cblxuLy8gLS0tIFN0YXRlIFNlcnZpY2UgLS0tXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uVXJsUGFyYW0gPSBhbnlbXSB8IHN0cmluZyB8IFVybFRyZWU7XG5cbi8vIC0tLSBTdG9yYWdlIFNlcnZpY2UgLS0tXG5leHBvcnQgZW51bSBTdG9yYWdlTW9kZSB7XG4gICAgTG9jYWwsXG4gICAgU2Vzc2lvblxufVxuXG4vLyAtLS0gVG9hc3RlciBTZXJ2aWNlIC0tLVxuZXhwb3J0IGludGVyZmFjZSBJVG9hc3RlclNlcnZpY2Uge1xuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHRpdGxlPzogc3RyaW5nKTogdm9pZDtcbiAgICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBUT0FTVEVSX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElUb2FzdGVyU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SVRvYXN0ZXJTZXJ2aWNlPihcInRvYXN0ZXItc2VydmljZVwiKTtcblxuLy8gLS0tIFByb21pc2UgU2VydmljZSAtLS1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJvbWlzZVNlcnZpY2Uge1xuICAgIHpvbmU6IE5nWm9uZTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj47XG4gICAgY3JlYXRlPFQ+KGV4ZWN1dG9yOiAocmVzb2x2ZTogKHZhbHVlPzogVCB8IFByb21pc2VMaWtlPFQ+KSA9PiB2b2lkLCByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQpID0+IHZvaWQpOiBQcm9taXNlPFQ+O1xuICAgIGFsbChwcm9taXNlczogUHJvbWlzZTxhbnk+W10pOiBQcm9taXNlPGFueT47XG4gICAgcmVzb2x2ZTxUPih2YWx1ZTogVCB8IFByb21pc2VMaWtlPFQ+KTogUHJvbWlzZTxUPjtcbiAgICByZWplY3Q8VD4odmFsdWU6IFQgfCBQcm9taXNlTGlrZTxUPik6IFByb21pc2U8VD47XG59XG5cbmV4cG9ydCBjb25zdCBQUk9NSVNFX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVByb21pc2VTZXJ2aWNlPihcInByb21pc2Utc2VydmljZVwiKTtcblxuLy8gLS0tIFdhc20gc2VydmljZSAtLS1cbmV4cG9ydCB0eXBlIFR5cGVkQXJyYXkgPVxuICAgIHwgSW50OEFycmF5XG4gICAgfCBJbnQxNkFycmF5XG4gICAgfCBJbnQzMkFycmF5XG4gICAgfCBVaW50OEFycmF5XG4gICAgfCBVaW50OENsYW1wZWRBcnJheVxuICAgIHwgVWludDE2QXJyYXlcbiAgICB8IFVpbnQzMkFycmF5XG4gICAgfCBGbG9hdDMyQXJyYXlcbiAgICB8IEZsb2F0NjRBcnJheTtcblxuZXhwb3J0IGludGVyZmFjZSBJV2FzbUV4cG9ydHMge1xuICAgIEhFQVA4OiBJbnQ4QXJyYXk7XG4gICAgSEVBUDE2OiBJbnQxNkFycmF5LFxuICAgIEhFQVAzMjogSW50MzJBcnJheSxcbiAgICBIRUFQVTg6IFVpbnQ4QXJyYXk7XG4gICAgSEVBUFUxNjogVWludDE2QXJyYXksXG4gICAgSEVBUFUzMjogVWludDMyQXJyYXksXG4gICAgSEVBUEYzMjogRmxvYXQzMkFycmF5LFxuICAgIEhFQVBGNjQ6IEZsb2F0NjRBcnJheSxcbiAgICBtZW1vcnk6IFdlYkFzc2VtYmx5Lk1lbW9yeTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVdhc2kge1xuICAgIGluc3RhbnRpYXRlKGJ5dGVzOiBBcnJheUJ1ZmZlcik6IFByb21pc2U8SVdhc21FeHBvcnRzPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2FzbSB7XG4gICAgd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5OiBUeXBlZEFycmF5KTogUHJvbWlzZTxudW1iZXI+IHwgbnVtYmVyO1xuICAgIHJlYWRBcnJheUZyb21NZW1vcnk8VCA9IFR5cGVkQXJyYXk+KHBvaW50ZXI6IG51bWJlciwgYXJyYXk6IFQpOiBQcm9taXNlPFQ+IHwgVDtcbiAgICBba2V5OiBzdHJpbmddOiAoLi4uYXJnczogYW55W10pID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2FzbUFzeW5jIHtcbiAgICB3cml0ZUFycmF5VG9NZW1vcnkoYXJyYXk6IFR5cGVkQXJyYXkpOiBQcm9taXNlPG51bWJlcj47XG4gICAgcmVhZEFycmF5RnJvbU1lbW9yeTxUID0gVHlwZWRBcnJheT4ocG9pbnRlcjogbnVtYmVyLCBhcnJheTogVCk6IFQ7XG4gICAgW2tleTogc3RyaW5nXTogKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBjb25zdCBXQVNJX0lNUExFTUVOVEFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPFR5cGU8SVdhc2k+PihcIndhc2ktaW1wbGVtZW50YXRpb25cIik7XG5cbi8vIC0tLSBBc3luYyBtZXRob2QgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElBc3luY01lc3NhZ2Uge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb250ZXh0PzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBBc3luY01ldGhvZCA9IChjb250ZXh0PzogYW55KSA9PiBQcm9taXNlPElBc3luY01lc3NhZ2U+O1xuXG4vLyAtLS0gRHJvcGRvd24gLS0tXG5leHBvcnQgdHlwZSBEcm9wZG93bkF0dGFjaFRvID0gXCJyb290XCIgfCBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbDtcblxuLy8gLS0tIFVub3JkZXJlZCBsaXN0IC0tLVxuZXhwb3J0IGludGVyZmFjZSBVbm9yZGVyZWRMaXN0VGVtcGxhdGUge1xuICAgIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgICByZWFkb25seSBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5vcmRlcmVkTGlzdFRlbXBsYXRlcyB7XG4gICAgW3R5cGU6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFVub3JkZXJlZExpc3RTdHlsZSA9IFwidGFibGVcIiB8IFwibGlzdFwiO1xuXG4vLyAtLS0gQWpheCByZXF1ZXN0ICAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSUFqYXhSZXF1ZXN0RGV0YWlscyB7XG4gICAgcmVxdWVzdDogWE1MSHR0cFJlcXVlc3QsXG4gICAgbWV0aG9kOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFqYXhSZXF1ZXN0Q2FsbGJhY2sgPSAoZGV0YWlsczogSUFqYXhSZXF1ZXN0RGV0YWlscywgcGFyYW1zOiBhbnkpID0+IHZvaWQ7XG5cbi8vIC0tLSBMb2FkZXIgdXRpbHMgLS0tXG5leHBvcnQgdHlwZSBTY3JpcHRUeXBlID0gXCJ0ZXh0L2phdmFzY3JpcHRcIiB8IFwibW9kdWxlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmlwdFByb21pc2VzIHtcbiAgICBbc3JjOiBzdHJpbmddOiBQcm9taXNlPEhUTUxTY3JpcHRFbGVtZW50Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVN0eWxlUHJvbWlzZXMge1xuICAgIFtzcmM6IHN0cmluZ106IFByb21pc2U8SFRNTExpbmtFbGVtZW50Pjtcbn1cblxuLy8gLS0tIE9ic2VydmFibGUgdXRpbHMgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElTZWFyY2hPYnNlcnZhYmxlIHtcbiAgICBzZWFyY2g6IHN0cmluZztcbiAgICBnZXRTZWFyY2hSZXN1bHRzKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPGFueVtdPjtcbn1cblxuLy8gLS0tIFJlZmxlY3QgdXRpbHMgLS0tXG5leHBvcnQgZnVuY3Rpb24gRmFjdG9yeURlcGVuZGVuY2llcyguLi5kZXBlbmRlbmNpZXM6IEFycmF5PEluamVjdGlvblRva2VuPGFueT4gfCBQcm92aWRlcj4pOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIFJlZmxlY3RVdGlscy5kZWZpbmVNZXRhZGF0YShcImZhY3RvcnlEZXBlbmRlbmNpZXNcIiwgZGVwZW5kZW5jaWVzLCB0YXJnZXQsIG1ldGhvZCk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE9iamVjdFR5cGUodHlwZTogc3RyaW5nKTogQ2xhc3NEZWNvcmF0b3Ige1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgUmVmbGVjdFV0aWxzLmRlZmluZU1ldGFkYXRhKFwib2JqZWN0VHlwZVwiLCB0eXBlLCB0YXJnZXQpO1xuICAgIH07XG59XG5cbi8vIC0tLSBUaW1lciB1dGlscyAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVyIHtcbiAgICBpZD86IGFueTtcbiAgICBmdW5jPzogRnVuY3Rpb247XG4gICAgdGltZT86IG51bWJlcjtcbiAgICBydW4/OiAoKSA9PiB2b2lkO1xuICAgIHNldD86IChmdW5jOiBGdW5jdGlvbiwgdGltZTogbnVtYmVyKSA9PiB2b2lkO1xuICAgIGNsZWFyPzogKCkgPT4gdm9pZDtcbn1cblxuLy8gLS0tIEV4dHJhSXRlbVByb3BlcnRpZXMgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElFeHRyYVByb3BlcnRpZXMge1xuICAgIFtwcm9wOiBzdHJpbmddOiBhbnk7XG59XG5cbi8vIC0tLSBHcm91cCBieSAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSUdyb3VwTWFwIHtcbiAgICBbY29sdW1uOiBzdHJpbmddOiBhbnk7XG59XG5cbi8vIC0tLSBUcmFuc2xhdGUgLS0tXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvblF1ZXJ5ID0gc3RyaW5nIHwgSVRyYW5zbGF0aW9ucyB8IElUcmFuc2xhdGlvbltdO1xuXG4vLyAtLS0gUGFnaW5hdGlvbiAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2VJbmZvIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgbnVtYmVyOiBudW1iZXI7XG4gICAgYWN0aXZlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uRGF0YSB7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBpdGVtczogYW55W107XG4gICAgbWV0YT86IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkRhdGFMb2FkZXIgPSAocGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlcikgPT4gUHJvbWlzZTxJUGFnaW5hdGlvbkRhdGE+O1xuXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkl0ZW1Db250ZXh0IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtOiBhbnksIHB1YmxpYyBwYXJhbGxlbEl0ZW06IGFueSwgcHVibGljIGNvdW50OiBudW1iZXIsIHB1YmxpYyBpbmRleDogbnVtYmVyLCBwdWJsaWMgZGF0YUluZGV4OiBudW1iZXIpIHtcbiAgICB9XG5cbiAgICBnZXQgZmlyc3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIGdldCBsYXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gdGhpcy5jb3VudCAtIDE7XG4gICAgfVxuXG4gICAgZ2V0IGV2ZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ICUgMiA9PT0gMDtcbiAgICB9XG5cbiAgICBnZXQgb2RkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZXZlbjtcbiAgICB9XG5cbiAgICAvLyBTdXBwb3J0IGZvciBvbGQgZHluYW1pYyB0YWJsZSBpbXBsZW1lbnRhdGlvblxuICAgIGdldCByb3coKTogYW55IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJEeW5hbWljVGFibGUgcm93IGlzIGRlcHJlY2F0ZWQgdXNlIGl0ZW0gaW5zdGVhZFwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbTtcbiAgICB9XG5cbiAgICAvLyBTdXBwb3J0IGZvciBvbGQgZHluYW1pYyB0YWJsZSBpbXBsZW1lbnRhdGlvblxuICAgIGdldCBwYXJhbGxlbFJvdygpOiBhbnkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkR5bmFtaWNUYWJsZSBwYXJhbGxlbFJvdyBpcyBkZXByZWNhdGVkIHVzZSBwYXJhbGxlbEl0ZW0gaW5zdGVhZFwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyYWxsZWxJdGVtO1xuICAgIH1cblxuICAgIGZpbHRlcihmaWx0ZXJSeDogUmVnRXhwKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLml0ZW0pO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaXRlbVtrZXldO1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCBPYmplY3RVdGlscy5pc09iamVjdCh2YWx1ZSkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgdGVzdFZhbHVlID0gT2JqZWN0VXRpbHMuaXNTdHJpbmcodmFsdWUpID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKHRlc3RWYWx1ZS5tYXRjaChmaWx0ZXJSeCkpIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbi8vIC0tLSBIdHRwIHNlcnZpY2UgLS0tXG5leHBvcnQgaW50ZXJmYWNlIElIdHRwSGVhZGVycyB7XG4gICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUh0dHBQYXJhbXMge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVxdWVzdE9wdGlvbnMge1xuICAgIG1ldGhvZD86IHN0cmluZztcbiAgICBib2R5PzogYW55O1xuICAgIGhlYWRlcnM/OiBJSHR0cEhlYWRlcnMgfCBIdHRwSGVhZGVycztcbiAgICBvcmlnaW5hbEhlYWRlcnM/OiBJSHR0cEhlYWRlcnM7XG4gICAgcGFyYW1zPzogSUh0dHBQYXJhbXM7XG4gICAgb2JzZXJ2ZT86IFwiYm9keVwiIHwgXCJyZXNwb25zZVwiO1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICByZXNwb25zZVR5cGU/OiBcImFycmF5YnVmZmVyXCIgfCBcImJsb2JcIiB8IFwianNvblwiIHwgXCJ0ZXh0XCI7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgICB0aW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJc3N1ZUNvbnRleHQge1xuICAgIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XG4gICAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgICBsb2FkZWQ/OiBudW1iZXI7XG4gICAgdG90YWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFByb2dyZXNzTGlzdGVuZXIgPSAocHJvZ3Jlc3M6IElQcm9ncmVzcykgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgUHJvbWlzZUV4ZWN1dG9yID0gKHJlc29sdmU6ICh2YWx1ZT86IGFueSB8IFByb21pc2VMaWtlPGFueT4pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIEh0dHBQcm9taXNlIGV4dGVuZHMgUHJvbWlzZTxhbnk+IHtcblxuICAgIHByb3RlY3RlZCByZWplY3RIYW5kbGVyOiAocmVhc29uPzogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XG4gICAgcHJvdGVjdGVkIGhhc1JlamVjdEhhbmRsZXI6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIGF0dGFjaENvdW50OiBudW1iZXI7XG4gICAgcHJvdGVjdGVkIHJ1bkNvdW50OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWplY3RIYW5kbGVyOiAocmVhc29uPzogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsIGV4ZWN1dG9yOiBQcm9taXNlRXhlY3V0b3IpIHtcbiAgICAgICAgc3VwZXIoZXhlY3V0b3IpO1xuICAgICAgICB0aGlzLnJlamVjdEhhbmRsZXIgPSByZWplY3RIYW5kbGVyO1xuICAgICAgICB0aGlzLmF0dGFjaENvdW50ID0gMDtcbiAgICAgICAgdGhpcy5ydW5Db3VudCA9IDA7XG4gICAgfVxuXG4gICAgdGhlbjxUUmVzdWx0MSwgVFJlc3VsdDI+KG9uRnVsZmlsbGVkPzogKCh2YWx1ZTogYW55KSA9PiAoUHJvbWlzZUxpa2U8VFJlc3VsdDE+IHwgVFJlc3VsdDEpKSB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVqZWN0ZWQ/OiAoKHJlYXNvbjogSHR0cEVycm9yUmVzcG9uc2UpID0+IChQcm9taXNlTGlrZTxUUmVzdWx0Mj4gfCBUUmVzdWx0MikpIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFByb21pc2U8VFJlc3VsdDEgfCBUUmVzdWx0Mj4ge1xuICAgICAgICB0aGlzLmF0dGFjaENvdW50Kys7XG4gICAgICAgIHJldHVybiBzdXBlci50aGVuKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMucnVuQ291bnQrKztcbiAgICAgICAgICAgIHJldHVybiBvbkZ1bGZpbGxlZCA/IG9uRnVsZmlsbGVkKHZhbHVlKSA6IG51bGw7XG4gICAgICAgIH0sIChyZWFzb246IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IG9uUmVqZWN0ZWQgPyBvblJlamVjdGVkKHJlYXNvbikgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5oYXNSZWplY3RIYW5kbGVyID0gdGhpcy5oYXNSZWplY3RIYW5kbGVyIHx8IChvblJlamVjdGVkICYmIHJlc3VsdCAhPT0gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5ydW5Db3VudCsrO1xuICAgICAgICAgICAgdGhpcy5yZWplY3RIYW5kbGVyKHRoaXMucnVuQ291bnQgPT0gdGhpcy5hdHRhY2hDb3VudCAmJiAhdGhpcy5oYXNSZWplY3RIYW5kbGVyID8gcmVhc29uIDogbnVsbCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjYXRjaDxUUmVzdWx0ID0gbmV2ZXI+KG9uUmVqZWN0ZWQ/OiAoKHJlYXNvbjogSHR0cEVycm9yUmVzcG9uc2UpID0+IChQcm9taXNlTGlrZTxUUmVzdWx0PiB8IFRSZXN1bHQpKSB8IG51bGwgfCB1bmRlZmluZWQpOiBQcm9taXNlPGFueSB8IFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlbihudWxsLCBvblJlamVjdGVkKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUh0dHBTZXJ2aWNlIHtcbiAgICBsYW5ndWFnZTogSUxhbmd1YWdlU2VydmljZTtcbiAgICB1cmwodXJsOiBzdHJpbmcpOiBzdHJpbmc7XG4gICAgbWFrZUxpc3RQYXJhbXMocGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlciwgb3JkZXJCeT86IHN0cmluZywgb3JkZXJEZXNjZW5kaW5nPzogYm9vbGVhbiwgZmlsdGVyPzogc3RyaW5nKTogSUh0dHBQYXJhbXM7XG59XG5cbmV4cG9ydCBjb25zdCBFWFBSRVNTX1JFUVVFU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVxdWVzdD4oXCJleHByZXNzLXJlcXVlc3RcIik7XG5cbi8vIC0tLSBBcGkgc2VydmljZSAtLS1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBpU2VydmljZSBleHRlbmRzIElIdHRwU2VydmljZSB7XG4gICAgY2FjaGU6IGFueTtcbiAgICBjbGllbnQ6IEh0dHBDbGllbnQ7XG4gICAgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICAgIGRlbGV0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgICBwb3N0KHVybDogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICAgIHB1dCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgICBwYXRjaCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgICB1cGxvYWQodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgbGlzdGVuZXI/OiBQcm9ncmVzc0xpc3RlbmVyLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICAgIGxpc3QodXJsOiBzdHJpbmcsIHBhcmFtczogSUh0dHBQYXJhbXMpOiBQcm9taXNlPElQYWdpbmF0aW9uRGF0YT47XG59XG5cbmV4cG9ydCBjb25zdCBBUElfU0VSVklDRTogSW5qZWN0aW9uVG9rZW48SUFwaVNlcnZpY2U+ID0gbmV3IEluamVjdGlvblRva2VuPElBcGlTZXJ2aWNlPihcImFwaS1zZXJ2aWNlXCIpO1xuXG4vLyAtLS0gT3BlbkFwaSBzZXJ2aWNlIC0tLVxuZXhwb3J0IGludGVyZmFjZSBJT3BlbkFwaVNjaGVtYVByb3BlcnR5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIGNvbHVtbj86IGJvb2xlYW47XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM/OiBhbnk7XG4gICAgJHJlZj86IHN0cmluZztcbiAgICBhbGxPZj86IFJlYWRvbmx5QXJyYXk8eyRyZWY/OiBzdHJpbmd9PlxuICAgIGl0ZW1zPzogSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eTtcbiAgICBlbnVtPzogc3RyaW5nW107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hIHtcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFtuYW1lOiBzdHJpbmddOiBJT3BlbkFwaVNjaGVtYVByb3BlcnR5O1xuICAgIH07XG4gICAgcmVxdWlyZWQ6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hcyB7XG4gICAgW25hbWU6IHN0cmluZ106IElPcGVuQXBpU2NoZW1hO1xufVxuXG4vLyAtLS0gRHluYW1pYyB0YWJsZSAtLS1cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlT3JkZXJzIHtcbiAgICBbY29sdW1uOiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlQ29sdW1uIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzb3J0Pzogc3RyaW5nO1xuICAgIGZpbHRlcj86IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUNvbHVtbnMge1xuICAgIFtjb2x1bW46IHN0cmluZ106IElUYWJsZUNvbHVtbjtcbn1cblxuZXhwb3J0IHR5cGUgVGFibGVDb2x1bW5zID0gSVRhYmxlT3JkZXJzIHwgSVRhYmxlQ29sdW1ucyB8IHN0cmluZ1tdO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVRlbXBsYXRlIHtcbiAgICBjb2x1bW46IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIHB1cmU6IGJvb2xlYW47XG4gICAgcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVRlbXBsYXRlcyB7XG4gICAgW2NvbHVtbjogc3RyaW5nXTogSVRhYmxlVGVtcGxhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlRGF0YVF1ZXJ5IHtcbiAgICBbY29sdW1uOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlRGF0YUxvYWRlciA9IChcbiAgICBwYWdlOiBudW1iZXIsIHJvd3NQZXJQYWdlOiBudW1iZXIsIG9yZGVyQnk6IHN0cmluZywgb3JkZXJEZXNjZW5kaW5nOiBib29sZWFuLFxuICAgIGZpbHRlcjogc3RyaW5nLCBxdWVyeTogSVRhYmxlRGF0YVF1ZXJ5XG4pID0+IFByb21pc2U8SVBhZ2luYXRpb25EYXRhPjtcblxuLy8gLS0tIFJlc291cmNlIGlmIC0tLVxuZXhwb3J0IGNsYXNzIFJlc291cmNlSWZDb250ZXh0IHtcbiAgICByZXNvdXJjZTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufVxuXG4vLyAtLS0gQ29uZmlnU2VydmljZSAtLS1cbmV4cG9ydCBjb25zdCBBUFBfQkFTRV9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcImFwcC1iYXNlLXVybFwiKTtcblxuZXhwb3J0IGNsYXNzIElDb25maWd1cmF0aW9uIHtcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgYmFzZVVybD86IHN0cmluZztcbiAgICBiYXNlRG9tYWluPzogc3RyaW5nO1xuICAgIHRyYW5zbGF0aW9uVXJsPzogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgY29uZmlnOiBJQ29uZmlndXJhdGlvbjtcbiAgICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcmVhZG9ubHkgbG9hZDogKCkgPT4gUHJvbWlzZTxJQ29uZmlndXJhdGlvbj47XG4gICAgcmVhZG9ubHkgcm9vdEVsZW1lbnQ6IGFueTtcbiAgICBjbG9uZVJvb3RFbGVtKCk6IGFueTtcbiAgICBwcmVwYXJlVXJsKHVybDogc3RyaW5nLCBlbmRpbmc6IHN0cmluZyk6IHN0cmluZztcbiAgICBnZXRDb25maWdWYWx1ZShrZXk6IHN0cmluZyk6IGFueTtcbiAgICBnZXRRdWVyeVBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IENPTkZJR19TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElDb25maWdTZXJ2aWNlPihcImNvbmZpZy1zZXJ2aWNlXCIpO1xuXG5leHBvcnQgY29uc3QgQkFTRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUNvbmZpZ3VyYXRpb24+KFwiYmFzZS1jb25maWdcIik7XG5cbmV4cG9ydCBjb25zdCBTQ1JJUFRfUEFSQU1TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oXCJzY3JpcHQtcGFyYW1zXCIpO1xuXG5leHBvcnQgY29uc3QgUk9PVF9FTEVNRU5UID0gbmV3IEluamVjdGlvblRva2VuPEhUTUxFbGVtZW50PihcImFwcC1yb290LWVsZW1lbnRcIik7XG5cbmV4cG9ydCBjb25zdCBSRVNJWkVfREVMQVkgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPihcInJlc2l6ZS1ldmVudC1kZWxheVwiKTtcblxuZXhwb3J0IHR5cGUgUmVzaXplRXZlbnRTdHJhdGVneSA9IFwic2Nyb2xsXCIgfCBcIm9iamVjdFwiIHwgXCJvYnNlcnZlclwiO1xuXG5leHBvcnQgY29uc3QgUkVTSVpFX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPFJlc2l6ZUV2ZW50U3RyYXRlZ3k+KFwicmVzaXplLWV2ZW50LXN0cmF0ZWd5XCIpO1xuXG4vLyAtLS0gRXJyb3IgaGFuZGxlciBzZXJ2aWNlIC0tLVxuZXhwb3J0IHR5cGUgRXJyb3JIYW5kbGVyQ2FsbGJhY2sgPSAoZXJyb3I6IHN0cmluZykgPT4gYW55O1xuXG5leHBvcnQgY29uc3QgRVJST1JfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFcnJvckhhbmRsZXJDYWxsYmFjaz4oXCJlcnJvci1oYW5kbGVyLWNhbGxiYWNrXCIpO1xuXG4vLyAtLS0gR2xvYmFsIHRlbXBsYXRlcyBzZXJ2aWNlXG5cbmV4cG9ydCB0eXBlIEdsb2JhbENvbXBvbmVudE1vZGlmaWVyID0gKGNvbXBvbmVudDogYW55KSA9PiBhbnk7XG5cbi8vIC0tLSBNb2R1bGUgLS0tXG5leHBvcnQgdHlwZSBBcHBJbml0aWFsaXplckZ1bmMgPSAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBJTW9kdWxlQ29uZmlnIHtcbiAgICBhcGlTZXJ2aWNlPzogVHlwZTxJQXBpU2VydmljZT5cbiAgICBhdXRoU2VydmljZT86IFR5cGU8SUF1dGhTZXJ2aWNlPjtcbiAgICBpY29uU2VydmljZT86IFR5cGU8SUljb25TZXJ2aWNlPjtcbiAgICBsYW5ndWFnZVNlcnZpY2U/OiBUeXBlPElMYW5ndWFnZVNlcnZpY2U+O1xuICAgIHRvYXN0ZXJTZXJ2aWNlPzogVHlwZTxJVG9hc3RlclNlcnZpY2U+O1xuICAgIHByb21pc2VTZXJ2aWNlPzogVHlwZTxJUHJvbWlzZVNlcnZpY2U+O1xuICAgIGNvbmZpZ1NlcnZpY2U/OiBUeXBlPElDb25maWdTZXJ2aWNlPjtcbiAgICB3YXNpSW1wbGVtZW50YXRpb24/OiBUeXBlPElXYXNpPjtcbiAgICBpbml0aWFsaXplQXBwPzogKGluamVjdG9yOiBJbmplY3RvcikgPT4gQXBwSW5pdGlhbGl6ZXJGdW5jO1xuICAgIGJhc2VVcmw/OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBzdHJpbmc7XG4gICAgcmVzaXplRGVsYXk/OiBudW1iZXI7XG4gICAgcmVzaXplU3RyYXRlZ3k/OiBSZXNpemVFdmVudFN0cmF0ZWd5O1xufVxuXG4vLyAtLS0gVmFsdWVkIHByb21pc2UgLS0tXG5leHBvcnQgY2xhc3MgVmFsdWVkUHJvbWlzZTxUPiBleHRlbmRzIFByb21pc2U8VD4ge1xuICAgIHZhbHVlOiBUO1xufVxuIl19
@@ -50,17 +50,18 @@ export class DropdownDirective {
50
50
  setTimeout(() => this.hide(), event.type == "touchend" ? 250 : 100);
51
51
  };
52
52
  this.onKeyDown = (event) => {
53
- const input = event.target;
54
- const notInput = input && input.tagName !== "INPUT" && input.tagName !== "TEXTAREA";
55
- if ("Tab" === event.key || !input || notInput) {
53
+ const input = (event.composedPath()?.shift() || event.target);
54
+ const notInput = !input || (input.tagName !== "INPUT" && input.tagName !== "TEXTAREA");
55
+ if ("Tab" === event.key || notInput) {
56
56
  event.stopPropagation();
57
57
  event.preventDefault();
58
58
  }
59
59
  if ("Esc" === event.key || "Escape" === event.key) {
60
60
  this.hide();
61
- return;
61
+ return false;
62
62
  }
63
63
  this.onKeyboard.emit(event);
64
+ return true;
64
65
  };
65
66
  }
66
67
  ngOnDestroy() {
@@ -160,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
160
161
  type: HostListener,
161
162
  args: ["keydown.space", ["$event"]]
162
163
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVN2SCxNQUFNLE9BQU8saUJBQWlCO2FBRVQsV0FBTSxHQUFzQixJQUFJLEFBQTFCLENBQTJCO0lBNERsRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFzQixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUks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b3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0F1dG9QbGFjZW1lbnRPcHRpb25zLCBCb3VuZGFyeSwgUGxhY2VtZW50fSBmcm9tIFwiQGZsb2F0aW5nLXVpL2RvbVwiO1xuaW1wb3J0IHtEcm9wZG93bkF0dGFjaFRvfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxuICAgIHNlbGVjdG9yOiBcIltkZF0sW2Ryb3AtZG93bl1cIixcbiAgICBleHBvcnRBczogXCJkcm9wZG93blwiXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBzdGF0aWMgYWN0aXZlOiBEcm9wZG93bkRpcmVjdGl2ZSA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgb3BlbmVkOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIGRyb3Bkb3duIHNob3VsZCBiZSBjbG9zZWQgZXZlbiBpZiB3ZSBjbGljayBpbnNpZGUgaXRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjbG9zZUluc2lkZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgd2hlcmUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgbmVlZHMgdG8gYmUgcGxhY2VkXG4gICAgICovXG4gICAgQElucHV0KCkgYXR0YWNoVG86IERyb3Bkb3duQXR0YWNoVG87XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHRoZSBib3VuZGFyeSBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHdoZW4gc2hpZnRpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBib3VuZGFyeTogQm91bmRhcnk7XG5cbiAgICAvKipcbiAgICAgKiBXaGVyZSB0byBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudCByZWxhdGl2ZSB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBQbGFjZW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgY2hvb3NpbmcgdGhlIHBsYWNlbWVudFxuICAgICAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gICAgICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICAgICAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hdXRvUGxhY2VtZW50XG4gICAgICovXG4gICAgQElucHV0KCkgYXV0b1BsYWNlbWVudDogQXV0b1BsYWNlbWVudE9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBkcm9wZG93biBjb250ZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gYSBmaXhlZCBmdWxsIHNjcmVlbiB2aWV3IHVuZGVyIHRoaXMgd2luZG93IHdpZHRoXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1vYmlsZVZpZXdVbmRlcjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgZHJvcGRvd24gY29udGVudCBzaG91bGQgYWx3YXlzIGJlIGRpc3BsYXllZCBpbiBhIGZpeGVkIGZ1bGwgc2NyZWVuIHZpZXdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZpeGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgZHJvcGRvd24gc2hvdWxkIHJlYWN0IHRvIGtleXMgdG8gY2xvc2UgbGlrZSAnRXNjJ1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBrZXlib2FyZEhhbmRsZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgb25TaG93bjogRXZlbnRFbWl0dGVyPERyb3Bkb3duRGlyZWN0aXZlPjtcbiAgICBAT3V0cHV0KCkgb25IaWRkZW46IEV2ZW50RW1pdHRlcjxEcm9wZG93bkRpcmVjdGl2ZT47XG4gICAgQE91dHB1dCgpIG9uS2V5Ym9hcmQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PjtcblxuICAgIGNvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb25DbGljazogKGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uS2V5RG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuXG4gICAgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3Mub3BlblwiKVxuICAgIGdldCBpc09wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmRpc2FibGVkXCIpXG4gICAgZ2V0IGdldERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc0Rpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hdHRhY2hUbyA9IG51bGw7XG4gICAgICAgIHRoaXMuYm91bmRhcnkgPSBcImNsaXBwaW5nQW5jZXN0b3JzXCI7XG4gICAgICAgIHRoaXMubW9iaWxlVmlld1VuZGVyID0gMDtcbiAgICAgICAgdGhpcy5maXhlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmtleWJvYXJkSGFuZGxlciA9IHRydWU7XG4gICAgICAgIHRoaXMub25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgICAgICB0aGlzLm9uSGlkZGVuID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgICAgIHRoaXMub25LZXlib2FyZCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICAgICAgdGhpcy5vbkNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAvLyBXZSBkb24ndCBjYXJlIGFib3V0IGNsaWNrcyB3aXRoIHJpZ2h0L2NlbnRlciBtb3VzZSBidXR0b25zXG4gICAgICAgICAgICBpZiAoZXZlbnQuYnV0dG9uKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSAoZXZlbnQuY29tcG9zZWRQYXRoKCk/LnNoaWZ0KCkgfHwgZXZlbnQudGFyZ2V0KSBhcyBOb2RlO1xuICAgICAgICAgICAgLy8gSWYgYmxvY2tlZCBjbG9zaW5nIGluc2lkZSB3ZSBvbmx5IGNvbnNpZGVyIGluc2lkZSBpZiB0aGUgdGFyZ2V0IGlzIG5vdCBkaXJlY3RseSB0aGUgY29udGVudEVsZW1lbnRcbiAgICAgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBhIGNvbnRlbnRFbGVtZW50IGluIGNhc2Ugd2hlbiB3ZSBhcmUgdXNpbmcgKmRyb3Bkb3duQ29udGVudCBkaXJlY3RpdmVcbiAgICAgICAgICAgIGlmICghdGhpcy5jbG9zZUluc2lkZSAmJiAoIXRoaXMuY29udGVudEVsZW1lbnQgfHwgdGFyZ2V0ICE9PSB0aGlzLmNvbnRlbnRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgaWYgd2UgYXJlIGluc2lkZSBieSBjb2xsZWN0aW5nIHRoZSBwb3NzaWJsZSBwYXJlbnQgZWxlbWVudHMgdG8gY2hlY2tcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRzID0gIXRoaXMuY29udGVudEVsZW1lbnQgPyBbXSA6IEFycmF5LmZyb20odGhpcy5jb250ZW50RWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudHMucHVzaCh0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZiBvbmUgb2YgdGhlIHBhcmVudHMgY29udGFpbnMgdGhlIHRhcmdldCB0aGVuIHdlIGNsaWNrZWQgaW5zaWRlXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudHMuc29tZShjaGlsZCA9PiBjaGlsZC5jb250YWlucyh0YXJnZXQpKSkgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgZXZlbnQudHlwZSA9PSBcInRvdWNoZW5kXCIgPyAyNTAgOiAxMDApO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IG5vdElucHV0ID0gaW5wdXQgJiYgaW5wdXQudGFnTmFtZSAhPT0gXCJJTlBVVFwiICYmIGlucHV0LnRhZ05hbWUgIT09IFwiVEVYVEFSRUFcIjtcbiAgICAgICAgICAgIGlmIChcIlRhYlwiID09PSBldmVudC5rZXkgfHwgIWlucHV0IHx8IG5vdElucHV0KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChcIkVzY1wiID09PSBldmVudC5rZXkgfHwgXCJFc2NhcGVcIiA9PT0gZXZlbnQua2V5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbktleWJvYXJkLmVtaXQoZXZlbnQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID09PSB0aGlzKSB7XG4gICAgICAgICAgICBEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5vbkhpZGRlbi5lbWl0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd0V2ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uU2hvd24uZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBoaWRlRXZlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25IaWRkZW4uZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwia2V5ZG93bi5lbnRlclwiLCBbXCIkZXZlbnRcIl0pXG4gICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd24uc3BhY2VcIiwgW1wiJGV2ZW50XCJdKVxuICAgIHNob3coJGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbmVkKSByZXR1cm47XG4gICAgICAgIGlmICgkZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5rZXlib2FyZEhhbmRsZXIpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybiB0cnVlO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2hvd0V2ZW50KCk7XG4gICAgICAgIERyb3Bkb3duRGlyZWN0aXZlLmFjdGl2ZSA9IHRoaXM7XG4gICAgICAgIC8vIFByZXZlbnQgdG9nZ2xlIGZyb20gc2VsZWN0aW5nIGFuIGl0ZW0gcmlnaHQgYWZ0ZXIgaXQgaXMgc2hvd25cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMub3BlbmVkKSByZXR1cm47XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5vbkNsaWNrKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25LZXlEb3duKTtcbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICBpZiAoIXRoaXMub3BlbmVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlRXZlbnQoKTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25LZXlEb3duKTtcbiAgICAgICAgLy8gUHJldmVudCB0b2dnbGUgZnJvbSByZWZvY3VzIGl0c2VsZiBhZnRlciBpdCBpcyBoaWRkZW4gYmVjYXVzZSBvZiBhbm90aGVyIHRvZ2dsZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPT09IHRoaXMpIHtcbiAgICAgICAgICAgICAgICBEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVN2SCxNQUFNLE9BQU8saUJBQWlCO2FBRVQsV0FBTSxHQUFzQixJQUFJLEFBQTFCLENBQTJCO0lBNERsRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFzQixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUks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LENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtBdXRvUGxhY2VtZW50T3B0aW9ucywgQm91bmRhcnksIFBsYWNlbWVudH0gZnJvbSBcIkBmbG9hdGluZy11aS9kb21cIjtcbmltcG9ydCB7RHJvcGRvd25BdHRhY2hUb30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogXCJbZGRdLFtkcm9wLWRvd25dXCIsXG4gICAgZXhwb3J0QXM6IFwiZHJvcGRvd25cIlxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcm90ZWN0ZWQgc3RhdGljIGFjdGl2ZTogRHJvcGRvd25EaXJlY3RpdmUgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIG9wZW5lZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBkcm9wZG93biBzaG91bGQgYmUgY2xvc2VkIGV2ZW4gaWYgd2UgY2xpY2sgaW5zaWRlIGl0XG4gICAgICovXG4gICAgQElucHV0KCkgY2xvc2VJbnNpZGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXJlIHRoZSBmbG9hdGluZyBlbGVtZW50IG5lZWRzIHRvIGJlIHBsYWNlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGF0dGFjaFRvOiBEcm9wZG93bkF0dGFjaFRvO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyB0aGUgYm91bmRhcnkgZWxlbWVudCBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIHNoaWZ0aW5nXG4gICAgICovXG4gICAgQElucHV0KCkgYm91bmRhcnk6IEJvdW5kYXJ5O1xuXG4gICAgLyoqXG4gICAgICogV2hlcmUgdG8gcGxhY2UgdGhlIGZsb2F0aW5nIGVsZW1lbnQgcmVsYXRpdmUgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogUGxhY2VtZW50O1xuXG4gICAgLyoqXG4gICAgICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcbiAgICAgKiB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseSwgd2l0aG91dCBuZWVkaW5nIHRvIHNwZWNpZnkgYVxuICAgICAqIHByZWZlcnJlZCBwbGFjZW1lbnQuIEFsdGVybmF0aXZlIHRvIGBmbGlwYC5cbiAgICAgKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGF1dG9QbGFjZW1lbnQ6IEF1dG9QbGFjZW1lbnRPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgZHJvcGRvd24gY29udGVudCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGEgZml4ZWQgZnVsbCBzY3JlZW4gdmlldyB1bmRlciB0aGlzIHdpbmRvdyB3aWR0aFxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtb2JpbGVWaWV3VW5kZXI6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIGRyb3Bkb3duIGNvbnRlbnQgc2hvdWxkIGFsd2F5cyBiZSBkaXNwbGF5ZWQgaW4gYSBmaXhlZCBmdWxsIHNjcmVlbiB2aWV3XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaXhlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIGRyb3Bkb3duIHNob3VsZCByZWFjdCB0byBrZXlzIHRvIGNsb3NlIGxpa2UgJ0VzYydcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KCkga2V5Ym9hcmRIYW5kbGVyOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIG9uU2hvd246IEV2ZW50RW1pdHRlcjxEcm9wZG93bkRpcmVjdGl2ZT47XG4gICAgQE91dHB1dCgpIG9uSGlkZGVuOiBFdmVudEVtaXR0ZXI8RHJvcGRvd25EaXJlY3RpdmU+O1xuICAgIEBPdXRwdXQoKSBvbktleWJvYXJkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD47XG5cbiAgICBjb250ZW50RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uQ2xpY2s6IChldmVudDogRXZlbnQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvbktleURvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbjtcblxuICAgIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLm9wZW5cIilcbiAgICBnZXQgaXNPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5kaXNhYmxlZFwiKVxuICAgIGdldCBnZXREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jbG9zZUluc2lkZSA9IHRydWU7XG4gICAgICAgIHRoaXMuYXR0YWNoVG8gPSBudWxsO1xuICAgICAgICB0aGlzLmJvdW5kYXJ5ID0gXCJjbGlwcGluZ0FuY2VzdG9yc1wiO1xuICAgICAgICB0aGlzLm1vYmlsZVZpZXdVbmRlciA9IDA7XG4gICAgICAgIHRoaXMuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5rZXlib2FyZEhhbmRsZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uU2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgICAgdGhpcy5vbkhpZGRlbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgICAgICB0aGlzLm9uS2V5Ym9hcmQgPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgICAgIHRoaXMub25DbGljayA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgLy8gV2UgZG9uJ3QgY2FyZSBhYm91dCBjbGlja3Mgd2l0aCByaWdodC9jZW50ZXIgbW91c2UgYnV0dG9uc1xuICAgICAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbikgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gKGV2ZW50LmNvbXBvc2VkUGF0aCgpPy5zaGlmdCgpIHx8IGV2ZW50LnRhcmdldCkgYXMgTm9kZTtcbiAgICAgICAgICAgIC8vIElmIGJsb2NrZWQgY2xvc2luZyBpbnNpZGUgd2Ugb25seSBjb25zaWRlciBpbnNpZGUgaWYgdGhlIHRhcmdldCBpcyBub3QgZGlyZWN0bHkgdGhlIGNvbnRlbnRFbGVtZW50XG4gICAgICAgICAgICAvLyBXZSBvbmx5IGhhdmUgYSBjb250ZW50RWxlbWVudCBpbiBjYXNlIHdoZW4gd2UgYXJlIHVzaW5nICpkcm9wZG93bkNvbnRlbnQgZGlyZWN0aXZlXG4gICAgICAgICAgICBpZiAoIXRoaXMuY2xvc2VJbnNpZGUgJiYgKCF0aGlzLmNvbnRlbnRFbGVtZW50IHx8IHRhcmdldCAhPT0gdGhpcy5jb250ZW50RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAvLyBUcnkgdG8gZGV0ZXJtaW5lIGlmIHdlIGFyZSBpbnNpZGUgYnkgY29sbGVjdGluZyB0aGUgcG9zc2libGUgcGFyZW50IGVsZW1lbnRzIHRvIGNoZWNrXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50cyA9ICF0aGlzLmNvbnRlbnRFbGVtZW50ID8gW10gOiBBcnJheS5mcm9tKHRoaXMuY29udGVudEVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2godGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gSWYgb25lIG9mIHRoZSBwYXJlbnRzIGNvbnRhaW5zIHRoZSB0YXJnZXQgdGhlbiB3ZSBjbGlja2VkIGluc2lkZVxuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRzLnNvbWUoY2hpbGQgPT4gY2hpbGQuY29udGFpbnModGFyZ2V0KSkpIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWRlKCksIGV2ZW50LnR5cGUgPT0gXCJ0b3VjaGVuZFwiID8gMjUwIDogMTAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5vbktleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gKGV2ZW50LmNvbXBvc2VkUGF0aCgpPy5zaGlmdCgpIHx8IGV2ZW50LnRhcmdldCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IG5vdElucHV0ID0gIWlucHV0IHx8IChpbnB1dC50YWdOYW1lICE9PSBcIklOUFVUXCIgJiYgaW5wdXQudGFnTmFtZSAhPT0gXCJURVhUQVJFQVwiKTtcbiAgICAgICAgICAgIGlmIChcIlRhYlwiID09PSBldmVudC5rZXkgfHwgbm90SW5wdXQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFwiRXNjXCIgPT09IGV2ZW50LmtleSB8fCBcIkVzY2FwZVwiID09PSBldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uS2V5Ym9hcmQuZW1pdChldmVudCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKERyb3Bkb3duRGlyZWN0aXZlLmFjdGl2ZSA9PT0gdGhpcykge1xuICAgICAgICAgICAgRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMub25IaWRkZW4uZW1pdCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblNob3duLmVtaXQodGhpcyk7XG4gICAgfVxuXG4gICAgaGlkZUV2ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uSGlkZGVuLmVtaXQodGhpcyk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd24uZW50ZXJcIiwgW1wiJGV2ZW50XCJdKVxuICAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duLnNwYWNlXCIsIFtcIiRldmVudFwiXSlcbiAgICBzaG93KCRldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCkgcmV0dXJuO1xuICAgICAgICBpZiAoJGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMua2V5Ym9hcmRIYW5kbGVyKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNob3dFdmVudCgpO1xuICAgICAgICBEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPSB0aGlzO1xuICAgICAgICAvLyBQcmV2ZW50IHRvZ2dsZSBmcm9tIHNlbGVjdGluZyBhbiBpdGVtIHJpZ2h0IGFmdGVyIGl0IGlzIHNob3duXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm9wZW5lZCkgcmV0dXJuO1xuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm9uS2V5RG93bik7XG4gICAgICAgIH0sIDEwKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaGlkZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wZW5lZCkgcmV0dXJuIHRydWU7XG4gICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGlkZUV2ZW50KCk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLm9uQ2xpY2spO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm9uS2V5RG93bik7XG4gICAgICAgIC8vIFByZXZlbnQgdG9nZ2xlIGZyb20gcmVmb2N1cyBpdHNlbGYgYWZ0ZXIgaXQgaXMgaGlkZGVuIGJlY2F1c2Ugb2YgYW5vdGhlciB0b2dnbGVcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID09PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
@@ -156,7 +156,7 @@ export class NgxUtilsModule {
156
156
  },
157
157
  {
158
158
  provide: RESIZE_STRATEGY,
159
- useValue: (!config ? null : config.resizeStrategy) ?? "object",
159
+ useValue: (!config ? null : config.resizeStrategy) ?? "observer",
160
160
  },
161
161
  {
162
162
  provide: APP_INITIALIZER,
@@ -209,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
209
209
  providers: pipes
210
210
  }]
211
211
  }], ctorParameters: () => [] });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFFBQVEsRUFDUix3QkFBd0IsRUFFeEIsUUFBUSxFQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixjQUFjLEVBQ2QsWUFBWSxFQUVaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osZUFBZSxFQUNmLG1CQUFtQixFQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7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QUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO2FBQzlFO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFVBQVUsRUFBRSxZQUFZO2dCQUN4QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDdkI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDakMsT0FBTztZQUNILFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBc0I7UUFDdEMsT0FBTyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEO0lBRUEsQ0FBQzsrR0FqRlEsY0FBYztnSEFBZCxjQUFjLHFqQ0FYbkIsWUFBWTtZQUNaLFdBQVcsc2lDQU1YLFdBQVc7Z0hBSU4sY0FBYyxhQUZaLEtBQUssWUFUWixZQUFZO1lBQ1osV0FBVyxFQU1YLFdBQVc7OzRGQUlOLGNBQWM7a0JBbEIxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixHQUFHLEtBQUs7d0JBQ1IsR0FBRyxVQUFVO3dCQUNiLEdBQUcsVUFBVTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVztxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsR0FBRyxLQUFLO3dCQUNSLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7d0JBQ2IsV0FBVztxQkFDZDtvQkFDRCxTQUFTLEVBQUUsS0FBSztpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFQUF9JTklUSUFMSVpFUiwgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gICAgSW5qZWN0b3IsXG4gICAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgUHJvdmlkZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QVBQX0JBU0VfSFJFRiwgQ29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7XG4gICAgQVBJX1NFUlZJQ0UsXG4gICAgQVBQX0JBU0VfVVJMLFxuICAgIEFVVEhfU0VSVklDRSxcbiAgICBDT05GSUdfU0VSVklDRSxcbiAgICBJQ09OX1NFUlZJQ0UsXG4gICAgSU1vZHVsZUNvbmZpZyxcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxuICAgIFBST01JU0VfU0VSVklDRSxcbiAgICBSRVNJWkVfREVMQVksXG4gICAgUkVTSVpFX1NUUkFURUdZLFxuICAgIFJPT1RfRUxFTUVOVCxcbiAgICBUT0FTVEVSX1NFUlZJQ0UsXG4gICAgV0FTSV9JTVBMRU1FTlRBVElPTlxufSBmcm9tIFwiLi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7Y29tcG9uZW50cywgZGlyZWN0aXZlcywgbG9hZENvbmZpZywgcGlwZXMsIHByb3ZpZGVyc30gZnJvbSBcIi4vbmd4LXV0aWxzLmltcG9ydHNcIjtcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7U3RhdGljQXV0aFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RhdGljLWxhbmd1YWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29uc29sZVRvYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZVwiO1xuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2dsb2JhbC10ZW1wbGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1dhc2l9IGZyb20gXCIuL3V0aWxzL3dhc2lcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiAoZG9jdW1lbnQpID09PSBcInVuZGVmaW5lZFwiIHx8IHR5cGVvZiAobG9jYXRpb24pID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCIvXCI7XG4gICAgY29uc3Qgc2NyaXB0cyA9IEFycmF5LmZyb20oZG9jdW1lbnQuc2NyaXB0cyk7XG4gICAgY29uc3QgY3VycmVudFNjcmlwdCA9IChkb2N1bWVudC5jdXJyZW50U2NyaXB0IGFzIEhUTUxTY3JpcHRFbGVtZW50KTtcbiAgICBsZXQgY3VycmVudFVybCA9IG5ldyBVUkwoY3VycmVudFNjcmlwdD8uc3JjID8/IFwiaHR0cDovL2xvY2FsaG9zdDo0MjAwL1wiKTtcbiAgICBpZiAoIWN1cnJlbnRTY3JpcHQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIG5vaW5zcGVjdGlvbiBFeGNlcHRpb25DYXVnaHRMb2NhbGx5SlNcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zdCBxdWFsaWZpZWRVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gICAgICAgICAgICBjb25zdCBzdGFjayA9IChlLnN0YWNrIHx8IFwiXCIpIGFzIHN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IHNyY1VybCA9IChcbiAgICAgICAgICAgICAgICBzdGFjay5tYXRjaChuZXcgUmVnRXhwKHF1YWxpZmllZFVybCArIFwiLio/XFxcXC5qc1wiLCBcImdcIikpIHx8XG4gICAgICAgICAgICAgICAgc3RhY2subWF0Y2goL2h0dHAoW0EtWjAtOTpcXC9cXC0uXSspXFwuanMvZ2kpIHx8XG4gICAgICAgICAgICAgICAgW2Ake3F1YWxpZmllZFVybH0vbWFpbi5qc2BdXG4gICAgICAgICAgICApLnNoaWZ0KCk7XG4gICAgICAgICAgICBjdXJyZW50VXJsID0gbmV3IFVSTChzcmNVcmwgPz8gXCJcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbWFpblNjcmlwdCA9IHNjcmlwdHMuZmluZChzID0+IHtcbiAgICAgICAgaWYgKCFzLnNyYykgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBzVXJsID0gbmV3IFVSTChzLnNyYyk7XG4gICAgICAgIHJldHVybiBjdXJyZW50VXJsLmhvc3QgPT09IHNVcmwuaG9zdCAmJiBzVXJsLnBhdGhuYW1lLmluY2x1ZGVzKFwibWFpblwiKTtcbiAgICB9KTtcbiAgICBjb25zdCBzY3JpcHRVcmwgPSAhbWFpblNjcmlwdCA/IGN1cnJlbnRVcmwgOiBuZXcgVVJMKG1haW5TY3JpcHQuc3JjKTtcbiAgICBjb25zdCBwYXRoID0gc2NyaXB0VXJsLnBhdGhuYW1lPy5zcGxpdChcIi9cIikgPz8gW107XG4gICAgcGF0aC5wb3AoKTtcbiAgICByZXR1cm4gYCR7c2NyaXB0VXJsLnByb3RvY29sfS8vJHtzY3JpcHRVcmwuaG9zdH0ke3BhdGguam9pbihcIi9cIil9L2A7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQmFzZUhyZWYoYmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IFVSTChiYXNlVXJsKS5wYXRobmFtZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICByZXR1cm4gXCIvXCI7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0eXBlb2YgZG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCIgPyBkb2N1bWVudC5ib2R5IDogbnVsbDtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgLi4ucGlwZXMsXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXG4gICAgICAgIC4uLmNvbXBvbmVudHNcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICAuLi5waXBlcyxcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcbiAgICAgICAgLi4uY29tcG9uZW50cyxcbiAgICAgICAgRm9ybXNNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogcGlwZXNcbn0pXG5leHBvcnQgY2xhc3MgTmd4VXRpbHNNb2R1bGUge1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0UHJvdmlkZXJzKGNvbmZpZz86IElNb2R1bGVDb25maWcpOiBQcm92aWRlcltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnByb3ZpZGVycyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBBUElfU0VSVklDRSxcbiAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmFwaVNlcnZpY2UpIHx8IEFwaVNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVVUSF9TRVJWSUNFLFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuYXV0aFNlcnZpY2UpIHx8IFN0YXRpY0F1dGhTZXJ2aWNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IElDT05fU0VSVklDRSxcbiAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmljb25TZXJ2aWNlKSB8fCBJY29uU2VydmljZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBMQU5HVUFHRV9TRVJWSUNFLFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcubGFuZ3VhZ2VTZXJ2aWNlKSB8fCBTdGF0aWNMYW5ndWFnZVNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVE9BU1RFUl9TRVJWSUNFLFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcudG9hc3RlclNlcnZpY2UpIHx8IENvbnNvbGVUb2FzdGVyU2VydmljZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBQUk9NSVNFX1NFUlZJQ0UsXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5wcm9taXNlU2VydmljZSkgfHwgUHJvbWlzZVNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQ09ORklHX1NFUlZJQ0UsXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5jb25maWdTZXJ2aWNlKSB8fCBDb25maWdTZXJ2aWNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFdBU0lfSU1QTEVNRU5UQVRJT04sXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy53YXNpSW1wbGVtZW50YXRpb24pIHx8IFdhc2lcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfVVJMLFxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5iYXNlVXJsKSB8fCBsb2FkQmFzZVVybCxcbiAgICAgICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJPT1RfRUxFTUVOVCxcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRSb290RWxlbWVudFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBSRVNJWkVfREVMQVksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5yZXNpemVEZWxheSkgPz8gNTAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJFU0laRV9TVFJBVEVHWSxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnJlc2l6ZVN0cmF0ZWd5KSA/PyBcIm9iamVjdFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApIHx8IGxvYWRDb25maWcsXG4gICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVwczogWyghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pbml0aWFsaXplQXBwKSA/IEluamVjdG9yIDogQ09ORklHX1NFUlZJQ0VdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9CQVNFX0hSRUYsXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9hZEJhc2VIcmVmLFxuICAgICAgICAgICAgICAgIGRlcHM6IFtBUFBfQkFTRV9VUkxdXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogSU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VXRpbHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hVdGlsc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogTmd4VXRpbHNNb2R1bGUuZ2V0UHJvdmlkZXJzKGNvbmZpZylcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcHJvdmlkZVV0aWxzKGNvbmZpZz86IElNb2R1bGVDb25maWcpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gICAgICAgIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoTmd4VXRpbHNNb2R1bGUuZ2V0UHJvdmlkZXJzKGNvbmZpZykpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgfVxufVxuIl19
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFFBQVEsRUFDUix3QkFBd0IsRUFFeEIsUUFBUSxFQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixjQUFjLEVBQ2QsWUFBWSxFQUVaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osZUFBZSxFQUNmLG1CQUFtQixFQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7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QUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO2FBQzlFO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFVBQVUsRUFBRSxZQUFZO2dCQUN4QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDdkI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDakMsT0FBTztZQUNILFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBc0I7UUFDdEMsT0FBTyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEO0lBRUEsQ0FBQzsrR0FqRlEsY0FBYztnSEFBZCxjQUFjLHFqQ0FYbkIsWUFBWTtZQUNaLFdBQVcsc2lDQU1YLFdBQVc7Z0hBSU4sY0FBYyxhQUZaLEtBQUssWUFUWixZQUFZO1lBQ1osV0FBVyxFQU1YLFdBQVc7OzRGQUlOLGNBQWM7a0JBbEIxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixHQUFHLEtBQUs7d0JBQ1IsR0FBRyxVQUFVO3dCQUNiLEdBQUcsVUFBVTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVztxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsR0FBRyxLQUFLO3dCQUNSLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7d0JBQ2IsV0FBVztxQkFDZDtvQkFDRCxTQUFTLEVBQUUsS0FBSztpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFQUF9JTklUSUFMSVpFUiwgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gICAgSW5qZWN0b3IsXG4gICAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgUHJvdmlkZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QVBQX0JBU0VfSFJFRiwgQ29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7XG4gICAgQVBJX1NFUlZJQ0UsXG4gICAgQVBQX0JBU0VfVVJMLFxuICAgIEFVVEhfU0VSVklDRSxcbiAgICBDT05GSUdfU0VSVklDRSxcbiAgICBJQ09OX1NFUlZJQ0UsXG4gICAgSU1vZHVsZUNvbmZpZyxcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxuICAgIFBST01JU0VfU0VSVklDRSxcbiAgICBSRVNJWkVfREVMQVksXG4gICAgUkVTSVpFX1NUUkFURUdZLFxuICAgIFJPT1RfRUxFTUVOVCxcbiAgICBUT0FTVEVSX1NFUlZJQ0UsXG4gICAgV0FTSV9JTVBMRU1FTlRBVElPTlxufSBmcm9tIFwiLi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7Y29tcG9uZW50cywgZGlyZWN0aXZlcywgbG9hZENvbmZpZywgcGlwZXMsIHByb3ZpZGVyc30gZnJvbSBcIi4vbmd4LXV0aWxzLmltcG9ydHNcIjtcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7U3RhdGljQXV0aFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RhdGljLWxhbmd1YWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29uc29sZVRvYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZVwiO1xuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2dsb2JhbC10ZW1wbGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1dhc2l9IGZyb20gXCIuL3V0aWxzL3dhc2lcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiAoZG9jdW1lbnQpID09PSBcInVuZGVmaW5lZFwiIHx8IHR5cGVvZiAobG9jYXRpb24pID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCIvXCI7XG4gICAgY29uc3Qgc2NyaXB0cyA9IEFycmF5LmZyb20oZG9jdW1lbnQuc2NyaXB0cyk7XG4gICAgY29uc3QgY3VycmVudFNjcmlwdCA9IChkb2N1bWVudC5jdXJyZW50U2NyaXB0IGFzIEhUTUxTY3JpcHRFbGVtZW50KTtcbiAgICBsZXQgY3VycmVudFVybCA9IG5ldyBVUkwoY3VycmVudFNjcmlwdD8uc3JjID8/IFwiaHR0cDovL2xvY2FsaG9zdDo0MjAwL1wiKTtcbiAgICBpZiAoIWN1cnJlbnRTY3JpcHQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIG5vaW5zcGVjdGlvbiBFeGNlcHRpb25DYXVnaHRMb2NhbGx5SlNcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zdCBxdWFsaWZpZWRVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gICAgICAgICAgICBjb25zdCBzdGFjayA9IChlLnN0YWNrIHx8IFwiXCIpIGFzIHN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IHNyY1VybCA9IChcbiAgICAgICAgICAgICAgICBzdGFjay5tYXRjaChuZXcgUmVnRXhwKHF1YWxpZmllZFVybCArIFwiLio/XFxcXC5qc1wiLCBcImdcIikpIHx8XG4gICAgICAgICAgICAgICAgc3RhY2subWF0Y2goL2h0dHAoW0EtWjAtOTpcXC9cXC0uXSspXFwuanMvZ2kpIHx8XG4gICAgICAgICAgICAgICAgW2Ake3F1YWxpZmllZFVybH0vbWFpbi5qc2BdXG4gICAgICAgICAgICApLnNoaWZ0KCk7XG4gICAgICAgICAgICBjdXJyZW50VXJsID0gbmV3IFVSTChzcmNVcmwgPz8gXCJcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbWFpblNjcmlwdCA9IHNjcmlwdHMuZmluZChzID0+IHtcbiAgICAgICAgaWYgKCFzLnNyYykgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBzVXJsID0gbmV3IFVSTChzLnNyYyk7XG4gICAgICAgIHJldHVybiBjdXJyZW50VXJsLmhvc3QgPT09IHNVcmwuaG9zdCAmJiBzVXJsLnBhdGhuYW1lLmluY2x1ZGVzKFwibWFpblwiKTtcbiAgICB9KTtcbiAgICBjb25zdCBzY3JpcHRVcmwgPSAhbWFpblNjcmlwdCA/IGN1cnJlbnRVcmwgOiBuZXcgVVJMKG1haW5TY3JpcHQuc3JjKTtcbiAgICBjb25zdCBwYXRoID0gc2NyaXB0VXJsLnBhdGhuYW1lPy5zcGxpdChcIi9cIikgPz8gW107XG4gICAgcGF0aC5wb3AoKTtcbiAgICByZXR1cm4gYCR7c2NyaXB0VXJsLnByb3RvY29sfS8vJHtzY3JpcHRVcmwuaG9zdH0ke3BhdGguam9pbihcIi9cIil9L2A7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQmFzZUhyZWYoYmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IFVSTChiYXNlVXJsKS5wYXRobmFtZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICByZXR1cm4gXCIvXCI7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0eXBlb2YgZG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCIgPyBkb2N1bWVudC5ib2R5IDogbnVsbDtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgLi4ucGlwZXMsXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXG4gICAgICAgIC4uLmNvbXBvbmVudHNcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICAuLi5waXBlcyxcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcbiAgICAgICAgLi4uY29tcG9uZW50cyxcbiAgICAgICAgRm9ybXNNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogcGlwZXNcbn0pXG5leHBvcnQgY2xhc3MgTmd4VXRpbHNNb2R1bGUge1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0UHJvdmlkZXJzKGNvbmZpZz86IElNb2R1bGVDb25maWcpOiBQcm92aWRlcltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnByb3ZpZGVycyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBBUElfU0VSVklDRSxcbiAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmFwaVNlcnZpY2UpIHx8IEFwaVNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVVUSF9TRVJWSUNFLFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuYXV0aFNlcnZpY2UpIHx8IFN0YXRpY0F1dGhTZXJ2aWNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IElDT05fU0VSVklDRSxcbiAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmljb25TZXJ2aWNlKSB8fCBJY29uU2VydmljZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBMQU5HVUFHRV9TRVJWSUNFLFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcubGFuZ3VhZ2VTZXJ2aWNlKSB8fCBTdGF0aWNMYW5ndWFnZVNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVE9BU1RFUl9TRVJWSUNFLFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcudG9hc3RlclNlcnZpY2UpIHx8IENvbnNvbGVUb2FzdGVyU2VydmljZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBQUk9NSVNFX1NFUlZJQ0UsXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5wcm9taXNlU2VydmljZSkgfHwgUHJvbWlzZVNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQ09ORklHX1NFUlZJQ0UsXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5jb25maWdTZXJ2aWNlKSB8fCBDb25maWdTZXJ2aWNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFdBU0lfSU1QTEVNRU5UQVRJT04sXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy53YXNpSW1wbGVtZW50YXRpb24pIHx8IFdhc2lcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfVVJMLFxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5iYXNlVXJsKSB8fCBsb2FkQmFzZVVybCxcbiAgICAgICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJPT1RfRUxFTUVOVCxcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRSb290RWxlbWVudFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBSRVNJWkVfREVMQVksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5yZXNpemVEZWxheSkgPz8gNTAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJFU0laRV9TVFJBVEVHWSxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnJlc2l6ZVN0cmF0ZWd5KSA/PyBcIm9ic2VydmVyXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaW5pdGlhbGl6ZUFwcCkgfHwgbG9hZENvbmZpZyxcbiAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXBzOiBbKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApID8gSW5qZWN0b3IgOiBDT05GSUdfU0VSVklDRV1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfSFJFRixcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2FkQmFzZUhyZWYsXG4gICAgICAgICAgICAgICAgZGVwczogW0FQUF9CQVNFX1VSTF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hVdGlsc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5neFV0aWxzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBOZ3hVdGlsc01vZHVsZS5nZXRQcm92aWRlcnMoY29uZmlnKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBwcm92aWRlVXRpbHMoY29uZmlnPzogSU1vZHVsZUNvbmZpZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgICAgICAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhOZ3hVdGlsc01vZHVsZS5nZXRQcm92aWRlcnMoY29uZmlnKSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG5cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import elementResizeDetectorMaker from "element-resize-detector";
2
+ export class ResizeDetector {
3
+ constructor(resizeStrategy) {
4
+ this.resizeStrategy = resizeStrategy;
5
+ this.detector = elementResizeDetectorMaker({
6
+ strategy: resizeStrategy === "observer" ? "object" : resizeStrategy
7
+ });
8
+ this.isObservable = resizeStrategy === "observer" && typeof ResizeObserver === "function";
9
+ this.observers = new Map();
10
+ }
11
+ listenTo(elem, cb) {
12
+ if (!this.isObservable) {
13
+ this.detector.listenTo(elem, cb);
14
+ return;
15
+ }
16
+ if (this.observers.has(elem))
17
+ return;
18
+ const observer = new ResizeObserver(() => {
19
+ requestAnimationFrame(() => {
20
+ cb(elem);
21
+ });
22
+ });
23
+ observer.observe(elem);
24
+ this.observers.set(elem, observer);
25
+ }
26
+ uninstall(elem) {
27
+ if (!this.isObservable) {
28
+ this.detector.uninstall(elem);
29
+ return;
30
+ }
31
+ if (!this.observers.has(elem))
32
+ return;
33
+ const observer = this.observers.get(elem);
34
+ observer.unobserve(elem);
35
+ this.observers.delete(elem);
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWRldGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9wbHVnaW5zL3Jlc2l6ZS1kZXRlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLDBCQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBSWpFLE1BQU0sT0FBTyxjQUFjO0lBTXZCLFlBQXNCLGNBQW1DO1FBQW5DLG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLDBCQUEwQixDQUFDO1lBQ3ZDLFFBQVEsRUFBRSxjQUFjLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWM7U0FDdEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLEtBQUssVUFBVSxJQUFJLE9BQU8sY0FBYyxLQUFLLFVBQVUsQ0FBQztRQUMxRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFpQixFQUFFLEVBQTZCO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBlbGVtZW50UmVzaXplRGV0ZWN0b3JNYWtlciBmcm9tIFwiZWxlbWVudC1yZXNpemUtZGV0ZWN0b3JcIjtcclxuaW1wb3J0IHR5cGUge0VyZH0gZnJvbSBcImVsZW1lbnQtcmVzaXplLWRldGVjdG9yXCI7XHJcbmltcG9ydCB7UmVzaXplRXZlbnRTdHJhdGVneX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlc2l6ZURldGVjdG9yIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGV0ZWN0b3I6IEVyZDtcclxuICAgIHByb3RlY3RlZCBpc09ic2VydmFibGU6IGJvb2xlYW47XHJcbiAgICBwcm90ZWN0ZWQgb2JzZXJ2ZXJzOiBNYXA8SFRNTEVsZW1lbnQsIFJlc2l6ZU9ic2VydmVyPjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVzaXplU3RyYXRlZ3k6IFJlc2l6ZUV2ZW50U3RyYXRlZ3kpIHtcclxuICAgICAgICB0aGlzLmRldGVjdG9yID0gZWxlbWVudFJlc2l6ZURldGVjdG9yTWFrZXIoe1xyXG4gICAgICAgICAgICBzdHJhdGVneTogcmVzaXplU3RyYXRlZ3kgPT09IFwib2JzZXJ2ZXJcIiA/IFwib2JqZWN0XCIgOiByZXNpemVTdHJhdGVneVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaXNPYnNlcnZhYmxlID0gcmVzaXplU3RyYXRlZ3kgPT09IFwib2JzZXJ2ZXJcIiAmJiB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09IFwiZnVuY3Rpb25cIjtcclxuICAgICAgICB0aGlzLm9ic2VydmVycyA9IG5ldyBNYXAoKTtcclxuICAgIH1cclxuXHJcbiAgICBsaXN0ZW5UbyhlbGVtOiBIVE1MRWxlbWVudCwgY2I6IChlbDogSFRNTEVsZW1lbnQpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNPYnNlcnZhYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0ZWN0b3IubGlzdGVuVG8oZWxlbSwgY2IpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm9ic2VydmVycy5oYXMoZWxlbSkpIHJldHVybjtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjYihlbGVtKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtKTtcclxuICAgICAgICB0aGlzLm9ic2VydmVycy5zZXQoZWxlbSwgb2JzZXJ2ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHVuaW5zdGFsbChlbGVtOiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc09ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3Rvci51bmluc3RhbGwoZWxlbSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLm9ic2VydmVycy5oYXMoZWxlbSkpIHJldHVybjtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IHRoaXMub2JzZXJ2ZXJzLmdldChlbGVtKTtcclxuICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZWxlbSk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlcnMuZGVsZXRlKGVsZW0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { ɵDomEventsPlugin as EventManagerPlugin } from "@angular/platform-browser";
2
2
  import { Inject, Injectable } from "@angular/core";
3
3
  import { DOCUMENT } from "@angular/common";
4
- import elementResizeDetectorMaker from "element-resize-detector";
5
4
  import { RESIZE_DELAY, RESIZE_STRATEGY } from "../common-types";
6
- import { UniversalService } from "../services/universal.service";
7
5
  import { TimerUtils } from "../utils/timer.utils";
6
+ import { UniversalService } from "../services/universal.service";
7
+ import { ResizeDetector } from "./resize-detector";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../services/universal.service";
10
10
  function emptyRemove() {
@@ -19,9 +19,7 @@ export class ResizeEventPlugin extends EventManagerPlugin {
19
19
  this.resizeDelay = resizeDelay;
20
20
  this.resizeStrategy = resizeStrategy;
21
21
  this.universal = universal;
22
- this.detector = elementResizeDetectorMaker({
23
- strategy: resizeStrategy
24
- });
22
+ this.detector = new ResizeDetector(resizeStrategy);
25
23
  }
26
24
  supports(eventName) {
27
25
  return eventName === ResizeEventPlugin.EVENT_NAME;
@@ -32,7 +30,7 @@ export class ResizeEventPlugin extends EventManagerPlugin {
32
30
  if (this.universal.isServer)
33
31
  return emptyRemove;
34
32
  const timer = TimerUtils.createTimeout();
35
- const cb = el => {
33
+ const cb = (el) => {
36
34
  timer.set(() => {
37
35
  zone.run(() => handler(el));
38
36
  }, this.resizeDelay);
@@ -75,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
75
73
  type: Inject,
76
74
  args: [RESIZE_STRATEGY]
77
75
  }] }, { type: i1.UniversalService }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWV2ZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLDBCQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBR2pFLE9BQU8sRUFBQyxZQUFZLEVBQUUsZUFBZSxFQUFzQixNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRWhELFNBQVMsV0FBVztBQUVwQixDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsRUFBTztJQUNyQixPQUFPLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxFQUFFLEtBQUssTUFBTSxDQUFDO0FBQzFELENBQUM7QUFHRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO2FBRXJDLGVBQVUsR0FBVyxRQUFRLEFBQW5CLENBQW9CO0lBSTlDLFlBQThCLEdBQVEsRUFDTSxXQUFtQixFQUNoQixjQUFtQyxFQUM3RCxTQUEyQjtRQUM1QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFINkIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQzdELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBRTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsMEJBQTBCLENBQUM7WUFDdkMsUUFBUSxFQUFFLGNBQWM7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFpQjtRQUN0QixPQUFPLFNBQVMsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7SUFDdEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsU0FBaUIsRUFBRSxPQUFpQjtRQUN2RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxXQUFXLENBQUM7WUFDdkIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO2dCQUNaLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDO1lBQ0YsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFDRCxPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUM7b0JBQ0QsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDcEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDL0MsQ0FBQzt5QkFDSSxDQUFDO3dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxDQUFDO3dCQUFTLENBQUM7b0JBQ1AsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQixDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXBEUSxpQkFBaUIsa0JBTU4sUUFBUSxhQUNSLFlBQVksYUFDWixlQUFlO21IQVIxQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQU9NLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHvJtURvbUV2ZW50c1BsdWdpbiBhcyBFdmVudE1hbmFnZXJQbHVnaW59IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCBlbGVtZW50UmVzaXplRGV0ZWN0b3JNYWtlciBmcm9tIFwiZWxlbWVudC1yZXNpemUtZGV0ZWN0b3JcIjtcbmltcG9ydCB0eXBlIHtFcmR9IGZyb20gXCJlbGVtZW50LXJlc2l6ZS1kZXRlY3RvclwiO1xuXG5pbXBvcnQge1JFU0laRV9ERUxBWSwgUkVTSVpFX1NUUkFURUdZLCBSZXNpemVFdmVudFN0cmF0ZWd5fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xuaW1wb3J0IHtUaW1lclV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvdGltZXIudXRpbHNcIjtcblxuZnVuY3Rpb24gZW1wdHlSZW1vdmUoKTogdm9pZCB7XG5cbn1cblxuZnVuY3Rpb24gaXNXaW5kb3coZWw6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIGVsID09PSB3aW5kb3c7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXNpemVFdmVudFBsdWdpbiBleHRlbmRzIEV2ZW50TWFuYWdlclBsdWdpbiB7XG5cbiAgICBzdGF0aWMgcmVhZG9ubHkgRVZFTlRfTkFNRTogc3RyaW5nID0gXCJyZXNpemVcIjtcblxuICAgIHJlYWRvbmx5IGRldGVjdG9yOiBFcmQ7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M6IGFueSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFJFU0laRV9ERUxBWSkgcHJvdGVjdGVkIHJlc2l6ZURlbGF5OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgQEluamVjdChSRVNJWkVfU1RSQVRFR1kpIHByb3RlY3RlZCByZXNpemVTdHJhdGVneTogUmVzaXplRXZlbnRTdHJhdGVneSxcbiAgICAgICAgICAgICAgICByZWFkb25seSB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoZG9jKTtcbiAgICAgICAgdGhpcy5kZXRlY3RvciA9IGVsZW1lbnRSZXNpemVEZXRlY3Rvck1ha2VyKHtcbiAgICAgICAgICAgIHN0cmF0ZWd5OiByZXNpemVTdHJhdGVneVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdXBwb3J0cyhldmVudE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gZXZlbnROYW1lID09PSBSZXNpemVFdmVudFBsdWdpbi5FVkVOVF9OQU1FO1xuICAgIH1cblxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcbiAgICAgICAgY29uc3Qgem9uZSA9IHRoaXMubWFuYWdlci5nZXRab25lKCk7XG4gICAgICAgIHJldHVybiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVuaXZlcnNhbC5pc1NlcnZlcilcbiAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHlSZW1vdmU7XG4gICAgICAgICAgICBjb25zdCB0aW1lciA9IFRpbWVyVXRpbHMuY3JlYXRlVGltZW91dCgpO1xuICAgICAgICAgICAgY29uc3QgY2IgPSBlbCA9PiB7XG4gICAgICAgICAgICAgICAgdGltZXIuc2V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgem9uZS5ydW4oKCkgPT4gaGFuZGxlcihlbCkpO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMucmVzaXplRGVsYXkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChpc1dpbmRvdyhlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV0ZWN0b3IubGlzdGVuVG8oZWxlbWVudCwgY2IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNXaW5kb3coZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGV0ZWN0b3IudW5pbnN0YWxsKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgdGltZXIuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWV2ZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsWUFBWSxFQUFFLGVBQWUsRUFBc0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7QUFFakQsU0FBUyxXQUFXO0FBRXBCLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxFQUFPO0lBQ3JCLE9BQU8sT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLEVBQUUsS0FBSyxNQUFNLENBQUM7QUFDMUQsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7YUFFckMsZUFBVSxHQUFXLFFBQVEsQUFBbkIsQ0FBb0I7SUFJOUMsWUFBOEIsR0FBUSxFQUNNLFdBQW1CLEVBQ2hCLGNBQW1DLEVBQzdELFNBQTJCO1FBQzVDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUg2QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDN0QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFFNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWlCO1FBQ3RCLE9BQU8sU0FBUyxLQUFLLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBb0IsRUFBRSxTQUFpQixFQUFFLE9BQWlCO1FBQ3ZFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUN2QixPQUFPLFdBQVcsQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFPLEVBQUUsRUFBRTtnQkFDbkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUM7WUFDRixJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNwQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQ0ksQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQztvQkFDRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO3dCQUNwQixPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxDQUFDO3lCQUNJLENBQUM7d0JBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3JDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLENBQUM7d0JBQVMsQ0FBQztvQkFDUCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLENBQUM7WUFDTCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbERRLGlCQUFpQixrQkFNTixRQUFRLGFBQ1IsWUFBWSxhQUNaLGVBQWU7bUhBUjFCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBT00sTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge8m1RG9tRXZlbnRzUGx1Z2luIGFzIEV2ZW50TWFuYWdlclBsdWdpbn0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQge1JFU0laRV9ERUxBWSwgUkVTSVpFX1NUUkFURUdZLCBSZXNpemVFdmVudFN0cmF0ZWd5fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XG5pbXBvcnQge1RpbWVyVXRpbHN9IGZyb20gXCIuLi91dGlscy90aW1lci51dGlsc1wiO1xuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2VcIjtcbmltcG9ydCB7UmVzaXplRGV0ZWN0b3J9IGZyb20gXCIuL3Jlc2l6ZS1kZXRlY3RvclwiO1xuXG5mdW5jdGlvbiBlbXB0eVJlbW92ZSgpOiB2b2lkIHtcblxufVxuXG5mdW5jdGlvbiBpc1dpbmRvdyhlbDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgZWwgPT09IHdpbmRvdztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlc2l6ZUV2ZW50UGx1Z2luIGV4dGVuZHMgRXZlbnRNYW5hZ2VyUGx1Z2luIHtcblxuICAgIHN0YXRpYyByZWFkb25seSBFVkVOVF9OQU1FOiBzdHJpbmcgPSBcInJlc2l6ZVwiO1xuXG4gICAgcmVhZG9ubHkgZGV0ZWN0b3I6IFJlc2l6ZURldGVjdG9yO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jOiBhbnksXG4gICAgICAgICAgICAgICAgQEluamVjdChSRVNJWkVfREVMQVkpIHByb3RlY3RlZCByZXNpemVEZWxheTogbnVtYmVyLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoUkVTSVpFX1NUUkFURUdZKSBwcm90ZWN0ZWQgcmVzaXplU3RyYXRlZ3k6IFJlc2l6ZUV2ZW50U3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGRvYyk7XG4gICAgICAgIHRoaXMuZGV0ZWN0b3IgPSBuZXcgUmVzaXplRGV0ZWN0b3IocmVzaXplU3RyYXRlZ3kpO1xuICAgIH1cblxuICAgIHN1cHBvcnRzKGV2ZW50TmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBldmVudE5hbWUgPT09IFJlc2l6ZUV2ZW50UGx1Z2luLkVWRU5UX05BTUU7XG4gICAgfVxuXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xuICAgICAgICBjb25zdCB6b25lID0gdGhpcy5tYW5hZ2VyLmdldFpvbmUoKTtcbiAgICAgICAgcmV0dXJuIHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKVxuICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eVJlbW92ZTtcbiAgICAgICAgICAgIGNvbnN0IHRpbWVyID0gVGltZXJVdGlscy5jcmVhdGVUaW1lb3V0KCk7XG4gICAgICAgICAgICBjb25zdCBjYiA9IChlbDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGltZXIuc2V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgem9uZS5ydW4oKCkgPT4gaGFuZGxlcihlbCkpO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMucmVzaXplRGVsYXkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChpc1dpbmRvdyhlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV0ZWN0b3IubGlzdGVuVG8oZWxlbWVudCwgY2IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNXaW5kb3coZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGV0ZWN0b3IudW5pbnN0YWxsKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgdGltZXIuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -3723,6 +3723,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3723
3723
  args: [NgZone]
3724
3724
  }] }] });
3725
3725
 
3726
+ class ResizeDetector {
3727
+ constructor(resizeStrategy) {
3728
+ this.resizeStrategy = resizeStrategy;
3729
+ this.detector = elementResizeDetectorMaker({
3730
+ strategy: resizeStrategy === "observer" ? "object" : resizeStrategy
3731
+ });
3732
+ this.isObservable = resizeStrategy === "observer" && typeof ResizeObserver === "function";
3733
+ this.observers = new Map();
3734
+ }
3735
+ listenTo(elem, cb) {
3736
+ if (!this.isObservable) {
3737
+ this.detector.listenTo(elem, cb);
3738
+ return;
3739
+ }
3740
+ if (this.observers.has(elem))
3741
+ return;
3742
+ const observer = new ResizeObserver(() => {
3743
+ requestAnimationFrame(() => {
3744
+ cb(elem);
3745
+ });
3746
+ });
3747
+ observer.observe(elem);
3748
+ this.observers.set(elem, observer);
3749
+ }
3750
+ uninstall(elem) {
3751
+ if (!this.isObservable) {
3752
+ this.detector.uninstall(elem);
3753
+ return;
3754
+ }
3755
+ if (!this.observers.has(elem))
3756
+ return;
3757
+ const observer = this.observers.get(elem);
3758
+ observer.unobserve(elem);
3759
+ this.observers.delete(elem);
3760
+ }
3761
+ }
3762
+
3726
3763
  function emptyRemove$1() {
3727
3764
  }
3728
3765
  function isWindow(el) {
@@ -3735,9 +3772,7 @@ class ResizeEventPlugin extends _DomEventsPlugin {
3735
3772
  this.resizeDelay = resizeDelay;
3736
3773
  this.resizeStrategy = resizeStrategy;
3737
3774
  this.universal = universal;
3738
- this.detector = elementResizeDetectorMaker({
3739
- strategy: resizeStrategy
3740
- });
3775
+ this.detector = new ResizeDetector(resizeStrategy);
3741
3776
  }
3742
3777
  supports(eventName) {
3743
3778
  return eventName === ResizeEventPlugin.EVENT_NAME;
@@ -3748,7 +3783,7 @@ class ResizeEventPlugin extends _DomEventsPlugin {
3748
3783
  if (this.universal.isServer)
3749
3784
  return emptyRemove$1;
3750
3785
  const timer = TimerUtils.createTimeout();
3751
- const cb = el => {
3786
+ const cb = (el) => {
3752
3787
  timer.set(() => {
3753
3788
  zone.run(() => handler(el));
3754
3789
  }, this.resizeDelay);
@@ -4696,17 +4731,18 @@ class DropdownDirective {
4696
4731
  setTimeout(() => this.hide(), event.type == "touchend" ? 250 : 100);
4697
4732
  };
4698
4733
  this.onKeyDown = (event) => {
4699
- const input = event.target;
4700
- const notInput = input && input.tagName !== "INPUT" && input.tagName !== "TEXTAREA";
4701
- if ("Tab" === event.key || !input || notInput) {
4734
+ const input = (event.composedPath()?.shift() || event.target);
4735
+ const notInput = !input || (input.tagName !== "INPUT" && input.tagName !== "TEXTAREA");
4736
+ if ("Tab" === event.key || notInput) {
4702
4737
  event.stopPropagation();
4703
4738
  event.preventDefault();
4704
4739
  }
4705
4740
  if ("Esc" === event.key || "Escape" === event.key) {
4706
4741
  this.hide();
4707
- return;
4742
+ return false;
4708
4743
  }
4709
4744
  this.onKeyboard.emit(event);
4745
+ return true;
4710
4746
  };
4711
4747
  }
4712
4748
  ngOnDestroy() {
@@ -6354,7 +6390,7 @@ class NgxUtilsModule {
6354
6390
  },
6355
6391
  {
6356
6392
  provide: RESIZE_STRATEGY,
6357
- useValue: (!config ? null : config.resizeStrategy) ?? "object",
6393
+ useValue: (!config ? null : config.resizeStrategy) ?? "observer",
6358
6394
  },
6359
6395
  {
6360
6396
  provide: APP_INITIALIZER,