@skyux/core 8.10.4 → 8.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +4 -1
- package/esm2020/lib/modules/numeric/numeric.service.mjs +2 -2
- package/fesm2015/skyux-core.mjs +4 -1
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +4 -1
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/lib/modules/numeric/numeric.pipe.d.ts +1 -1
- package/lib/modules/numeric/numeric.service.d.ts +1 -1
- package/package.json +2 -2
@@ -40,6 +40,9 @@ export class SkyNumericPipe {
|
|
40
40
|
* Formats a number based on the provided options.
|
41
41
|
*/
|
42
42
|
transform(value, config) {
|
43
|
+
if (value === undefined || value === null || isNaN(value)) {
|
44
|
+
return '';
|
45
|
+
}
|
43
46
|
const newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') +
|
44
47
|
`${value}_${config?.locale || __classPrivateFieldGet(this, _SkyNumericPipe_providerLocale, "f")}`;
|
45
48
|
/* If the value and locale are the same as the last transform then return the previous value
|
@@ -81,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
81
84
|
pure: false,
|
82
85
|
}]
|
83
86
|
}], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }, { type: i2.SkyNumericService }, { type: i0.ChangeDetectorRef }]; } });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUdMLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFxQixNQUFNLG1CQUFtQixDQUFDOzs7O0FBR3RFOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLGNBQWM7SUFhekIsWUFDRSxjQUFvQyxFQUNwQyxVQUE2QixFQUM3QixjQUFpQztRQWZuQywyQ0FBOEI7UUFFOUIsaURBQW1DO1FBRW5DLGlEQUFvQztRQUVwQyx3Q0FBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyw2Q0FBK0I7UUFFL0IsaURBQW9DO1FBT2xDLHVCQUFBLElBQUksOEJBQWUsVUFBVSxNQUFBLENBQUM7UUFDOUIsdUJBQUEsSUFBSSxrQ0FBbUIsY0FBYyxNQUFBLENBQUM7UUFFdEMsY0FBYzthQUNYLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsdUJBQUEsSUFBSSxrQ0FBbUIsVUFBVSxDQUFDLE1BQU0sTUFBQSxDQUFDO1lBQ3pDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsdUJBQUEsSUFBSSxzQ0FBZ0IsQ0FBQztZQUNoRCx1QkFBQSxJQUFJLHNDQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLHVCQUFBLElBQUkscUNBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQ2QsS0FBZ0MsRUFDaEMsTUFBMEI7UUFFMUIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLFdBQVcsR0FDZixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsR0FBRyxLQUFLLElBQUksTUFBTSxFQUFFLE1BQU0sSUFBSSx1QkFBQSxJQUFJLHNDQUFnQixFQUFFLENBQUM7UUFFdkQ7bUNBQzJCO1FBQzNCLElBQUksdUJBQUEsSUFBSSxzQ0FBZ0IsSUFBSSx1QkFBQSxJQUFJLGdDQUFVLEtBQUssV0FBVyxFQUFFO1lBQzFELE9BQU8sdUJBQUEsSUFBSSxzQ0FBZ0IsQ0FBQztTQUM3QjtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFFckMsNkVBQTZFO1FBQzdFLHVGQUF1RjtRQUN2RixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN0RSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUVELGdGQUFnRjtRQUNoRixJQUNFLE1BQU07WUFDTixNQUFNLENBQUMsU0FBUztZQUNoQixNQUFNLENBQUMsTUFBTTtZQUNiLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFDaEM7WUFDQSxNQUFNLElBQUksS0FBSyxDQUNiLGlGQUFpRixDQUNsRixDQUFDO1lBRUYsK0ZBQStGO1NBQ2hHO2FBQU0sSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDdkQsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBQ25DO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFL0IsK0NBQStDO1FBQy9DLHVCQUFBLElBQUksNEJBQWEsV0FBVyxNQUFBLENBQUM7UUFFN0IsdUJBQUEsSUFBSSxrQ0FBbUIsdUJBQUEsSUFBSSxrQ0FBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQUEsQ0FBQztRQUNyRSxPQUFPLHVCQUFBLElBQUksc0NBQWdCLENBQUM7SUFDOUIsQ0FBQzs7OzJHQXhGVSxjQUFjO3lHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE51bWVyaWNPcHRpb25zLCBTa3lOdW1lcmljT3B0aW9ucyB9IGZyb20gJy4vbnVtZXJpYy5vcHRpb25zJztcbmltcG9ydCB7IFNreU51bWVyaWNTZXJ2aWNlIH0gZnJvbSAnLi9udW1lcmljLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNob3J0ZW5zIG51bWJlcnMgdG8gcm91bmRlZCBudW1iZXJzIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVycyBzdWNoIGFzIEsgZm9yIHRob3VzYW5kcyxcbiAqIE0gZm9yIG1pbGxpb25zLCBCIGZvciBiaWxsaW9ucywgYW5kIFQgZm9yIHRyaWxsaW9ucy4gVGhlIHBpcGUgYWxzbyBmb3JtYXRzIGZvciBjdXJyZW5jeS5cbiAqIEJlIHN1cmUgeW91IGhhdmUgYSBzcGFjZSBhZnRlciB0aGUgdHdvIGN1cmx5IGJyYWNrZXRzIG9wZW5pbmcgdGhlIHBpcGUgYW5kXG4gKiBhIHNwYWNlIGJlZm9yZSB0aGUgdHdvIGN1cmx5IGJyYWNrZXRzIGNsb3NpbmcgdGhlIHBpcGUgb3IgaXQgd2lsbCBub3Qgd29yay5cbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnc2t5TnVtZXJpYycsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gICNjYWNoZUtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2Zvcm1hdHRlZFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNudW1lcmljU3ZjOiBTa3lOdW1lcmljU2VydmljZTtcblxuICAjcHJvdmlkZXJMb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXIsXG4gICAgbnVtZXJpY1N2YzogU2t5TnVtZXJpY1NlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuI251bWVyaWNTdmMgPSBudW1lcmljU3ZjO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG5cbiAgICBsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICB0aGlzLiNwcm92aWRlckxvY2FsZSA9IGxvY2FsZUluZm8ubG9jYWxlO1xuICAgICAgICBudW1lcmljU3ZjLmN1cnJlbnRMb2NhbGUgPSB0aGlzLiNwcm92aWRlckxvY2FsZTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0cyBhIG51bWJlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgY29uZmlnPzogU2t5TnVtZXJpY09wdGlvbnNcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCBpc05hTih2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBuZXdDYWNoZUtleSA9XG4gICAgICAoY29uZmlnID8gSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBPYmplY3Qua2V5cyhjb25maWcpLnNvcnQoKSkgOiAnJykgK1xuICAgICAgYCR7dmFsdWV9XyR7Y29uZmlnPy5sb2NhbGUgfHwgdGhpcy4jcHJvdmlkZXJMb2NhbGV9YDtcblxuICAgIC8qIElmIHRoZSB2YWx1ZSBhbmQgbG9jYWxlIGFyZSB0aGUgc2FtZSBhcyB0aGUgbGFzdCB0cmFuc2Zvcm0gdGhlbiByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlXG4gICAgaW5zdGVhZCBvZiByZWZvcm1hdHRpbmcuICovXG4gICAgaWYgKHRoaXMuI2Zvcm1hdHRlZFZhbHVlICYmIHRoaXMuI2NhY2hlS2V5ID09PSBuZXdDYWNoZUtleSkge1xuICAgICAgcmV0dXJuIHRoaXMuI2Zvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSBuZXcgTnVtZXJpY09wdGlvbnMoKTtcblxuICAgIC8vIFRoZSBkZWZhdWx0IG51bWJlciBvZiBkaWdpdHMgaXMgYDFgLiBXaGVuIHRydW5jYXRlIGlzIGRpc2FibGVkLCBzZXQgZGlnaXRzXG4gICAgLy8gdG8gYDBgIHRvIGF2b2lkIHRoZSB1bm5lY2Vzc2FyeSBhZGRpdGlvbiBvZiBgLjBgIGF0IHRoZSBlbmQgb2YgdGhlIGZvcm1hdHRlZCBudW1iZXIuXG4gICAgaWYgKGNvbmZpZyAmJiBjb25maWcudHJ1bmNhdGUgPT09IGZhbHNlICYmIGNvbmZpZy5kaWdpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3B0aW9ucy5kaWdpdHMgPSAwO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBtaW5pbXVtIGRpZ2l0cyBpcyBsZXNzIHRoYW4gdGhlIHNldCBtYXhpbXVtIGRpZ2l0cyB0aGVuIHRocm93IGFuIGVycm9yXG4gICAgaWYgKFxuICAgICAgY29uZmlnICYmXG4gICAgICBjb25maWcubWluRGlnaXRzICYmXG4gICAgICBjb25maWcuZGlnaXRzICYmXG4gICAgICBjb25maWcubWluRGlnaXRzID4gY29uZmlnLmRpZ2l0c1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGBkaWdpdHNgIHByb3BlcnR5IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBgbWluRGlnaXRzYCBwcm9wZXJ0eSdcbiAgICAgICk7XG5cbiAgICAgIC8vIElmIHRoZXJlIGlzIGEgbWluaW11bSBkaWdpdHMgZ2l2ZW4gYnV0IG5vdCBhIG1heGltdW0gdGhlbiBkZWZhdWx0IHRoZSBtYXhpbXVtIHRvIHRoZSBtaW5pbXVtXG4gICAgfSBlbHNlIGlmIChjb25maWcgJiYgY29uZmlnLm1pbkRpZ2l0cyAmJiAhY29uZmlnLmRpZ2l0cykge1xuICAgICAgb3B0aW9ucy5kaWdpdHMgPSBjb25maWcubWluRGlnaXRzO1xuICAgIH1cblxuICAgIE9iamVjdC5hc3NpZ24ob3B0aW9ucywgY29uZmlnKTtcblxuICAgIC8vIEFzc2lnbiBwcm9wZXJ0aWVzIGZvciBwcm9wZXIgcmVzdWx0IGNhY2hpbmcuXG4gICAgdGhpcy4jY2FjaGVLZXkgPSBuZXdDYWNoZUtleTtcblxuICAgIHRoaXMuI2Zvcm1hdHRlZFZhbHVlID0gdGhpcy4jbnVtZXJpY1N2Yy5mb3JtYXROdW1iZXIodmFsdWUsIG9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLiNmb3JtYXR0ZWRWYWx1ZTtcbiAgfVxufVxuIl19
|
@@ -33,7 +33,7 @@ export class SkyNumericService {
|
|
33
33
|
* @param options Format options.
|
34
34
|
*/
|
35
35
|
formatNumber(value, options) {
|
36
|
-
if (
|
36
|
+
if (value === undefined || value === null || isNaN(value)) {
|
37
37
|
return '';
|
38
38
|
}
|
39
39
|
const numericOptions = {
|
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
176
176
|
providedIn: 'any',
|
177
177
|
}]
|
178
178
|
}], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }]; } });
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFRdkYsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFBWSxZQUFvQzs7UUFmaEQ7OztXQUdHO1FBQ0ksa0JBQWEsR0FBRyxPQUFPLENBQUM7UUFFL0I7O1dBRUc7UUFDSSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUV4QixrREFBc0M7UUFFdEMsaURBQWlDO1FBRy9CLHVCQUFBLElBQUksbUNBQWlCLFlBQVksTUFBQSxDQUFDO1FBRWxDLHVCQUFBLElBQUksa0NBQWdCO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3pFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3pFLE1BQUEsQ0FBQztJ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QzdFLE9BQU8sdUJBQUEsSUFBSSx1Q0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7OEdBdFBVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLEtBQUs7MkZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSwgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU2t5TnVtYmVyRm9ybWF0VXRpbGl0eSB9IGZyb20gJy4uL3NoYXJlZC9udW1iZXItZm9ybWF0L251bWJlci1mb3JtYXQtdXRpbGl0eSc7XG5cbmltcG9ydCB7IFNreU51bWVyaWNTeW1ib2wgfSBmcm9tICcuL251bWVyaWMtc3ltYm9sJztcbmltcG9ydCB7IFNreU51bWVyaWNPcHRpb25zIH0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljU2VydmljZSB7XG4gIC8qKlxuICAgKiBUaGUgYnJvd3NlcidzIGN1cnJlbnQgbG9jYWxlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjdXJyZW50TG9jYWxlID0gJ2VuLVVTJztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2hvcnRTeW1ib2wgPSAnJztcblxuICAjcmVzb3VyY2VzU3ZjOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuXG4gICNzeW1ib2xJbmRleDogU2t5TnVtZXJpY1N5bWJvbFtdO1xuXG4gIGNvbnN0cnVjdG9yKHJlc291cmNlc1N2YzogU2t5TGliUmVzb3VyY2VzU2VydmljZSkge1xuICAgIHRoaXMuI3Jlc291cmNlc1N2YyA9IHJlc291cmNlc1N2YztcblxuICAgIHRoaXMuI3N5bWJvbEluZGV4ID0gW1xuICAgICAgeyB2YWx1ZTogMWUxMiwgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY190cmlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICAgIHsgdmFsdWU6IDFlOSwgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY19iaWxsaW9uc19zeW1ib2wnKSB9LFxuICAgICAgeyB2YWx1ZTogMWU2LCBsYWJlbDogdGhpcy4jZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX21pbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgICB7IHZhbHVlOiAxZTMsIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfdGhvdXNhbmRzX3N5bWJvbCcpIH0sXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXRzIGEgbnVtYmVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIEZvcm1hdCBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyLCBvcHRpb25zOiBTa3lOdW1lcmljT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IG51bWVyaWNPcHRpb25zOiBTa3lOdW1lcmljT3B0aW9ucyA9IHtcbiAgICAgIGRpZ2l0czogMCxcbiAgICAgIGZvcm1hdDogJ251bWJlcicsXG4gICAgICBjdXJyZW5jeVNpZ246ICdzdGFuZGFyZCcsXG4gICAgICBpc286ICdVU0QnLFxuICAgICAgdHJ1bmNhdGVBZnRlcjogMTAwMCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGRlY2ltYWxQbGFjZVJlZ0V4cCA9IC9cXC4wKyR8KFxcLlswLTldKlsxLTldKTArJC87XG4gICAgY29uc3QgbG9jYWxlID0gbnVtZXJpY09wdGlvbnMubG9jYWxlIHx8IHRoaXMuY3VycmVudExvY2FsZTtcbiAgICBjb25zdCBkaWdpdHMgPSBudW1lcmljT3B0aW9ucy5kaWdpdHMgfHwgMDtcblxuICAgIC8vIEdldCB0aGUgc3ltYm9sIGZvciB0aGUgbnVtYmVyIGFmdGVyIHJvdW5kaW5nLCBzaW5jZSByb3VuZGluZyBjb3VsZCBwdXNoIHRoZSBudW1iZXJcbiAgICAvLyBpbnRvIGEgZGlmZmVyZW50IHN5bWJvbCByYW5nZS5cbiAgICBsZXQgcm91bmRlZE51bWJlciA9IHRoaXMuI3JvdW5kTnVtYmVyKHZhbHVlLCBkaWdpdHMpO1xuICAgIGNvbnN0IHJvdW5kZWROdW1iZXJBYnMgPSBNYXRoLmFicyhyb3VuZGVkTnVtYmVyKTtcblxuICAgIGxldCBzdWZmaXggPSAnJztcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy4jc3ltYm9sSW5kZXgubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzeW1ib2wgPSB0aGlzLiNzeW1ib2xJbmRleFtpXTtcblxuICAgICAgaWYgKFxuICAgICAgICBudW1lcmljT3B0aW9ucy50cnVuY2F0ZSAmJlxuICAgICAgICBudW1lcmljT3B0aW9ucy50cnVuY2F0ZUFmdGVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgcm91bmRlZE51bWJlckFicyA+PSBudW1lcmljT3B0aW9ucy50cnVuY2F0ZUFmdGVyICYmXG4gICAgICAgIHJvdW5kZWROdW1iZXJBYnMgPj0gc3ltYm9sLnZhbHVlXG4gICAgICApIHtcbiAgICAgICAgcm91bmRlZE51bWJlciA9IHRoaXMuI3JvdW5kTnVtYmVyKHZhbHVlIC8gc3ltYm9sLnZhbHVlLCBkaWdpdHMpO1xuXG4gICAgICAgIGlmIChNYXRoLmFicyhyb3VuZGVkTnVtYmVyKSA9PT0gMTAwMCAmJiBpID4gMCkge1xuICAgICAgICAgIC8vIFJvdW5kaW5nIGNhdXNlZCB0aGUgbnVtYmVyIHRvIGNyb3NzIGludG8gdGhlIHJhbmdlIG9mIHRoZSBuZXh0IHN5bWJvbC5cbiAgICAgICAgICBzeW1ib2wgPSB0aGlzLiNzeW1ib2xJbmRleFtpIC0gMV07XG4gICAgICAgICAgcm91bmRlZE51bWJlciAvPSAxMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VmZml4ID0gc3ltYm9sLmxhYmVsO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvdXRwdXQ6IHN0cmluZyA9XG4gICAgICByb3VuZGVkTnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZShkZWNpbWFsUGxhY2VSZWdFeHAsICckMScpICsgc3VmZml4O1xuXG4gICAgdGhpcy4jc3RvcmVTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG5cbiAgICBsZXQgZGlnaXRzRm9ybWF0dGVkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGlzRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgLy8gQ2hlY2tzIHRoZSBzdHJpbmcgZW50ZXJlZCBmb3IgZm9ybWF0LiBVc2luZyB0b0xvd2VyQ2FzZSB0byBpZ25vcmUgY2FzZS5cbiAgICBzd2l0Y2ggKG51bWVyaWNPcHRpb25zLmZvcm1hdD8udG9Mb3dlckNhc2UoKSkge1xuICAgICAgLy8gSW4gYSBjYXNlIHdoZXJlIGEgZGVjaW1hbCB2YWx1ZSB3YXMgbm90IHNob3J0ZW5lZCBhbmRcbiAgICAgIC8vIHRoZSBkaWdpdCBpbnB1dCBpcyAyIG9yIGhpZ2hlciwgaXQgZm9yY2VzIDIgZGlnaXRzLlxuICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoaXMgcHJldmVudHMgYSB2YWx1ZSBsaWtlICQxNS41MCBmcm9tIGRpc3BsYXlpbmcgYXMgJDE1LjUuXG4gICAgICAvLyBOb3RlOiBUaGlzIHdpbGwgbmVlZCB0byBiZSByZXZpZXdlZCBpZiB3ZSBzdXBwb3J0IGN1cnJlbmNpZXMgd2l0aFxuICAgICAgLy8gdGhyZWUgZGVjaW1hbCBkaWdpdHMuXG4gICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgIGlzRGVjaW1hbCA9IHZhbHVlICUgMSAhPT0gMDtcblxuICAgICAgICBpZiAobnVtZXJpY09wdGlvbnMubWluRGlnaXRzKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtudW1lcmljT3B0aW9ucy5taW5EaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEZWNpbWFsICYmIGRpZ2l0cyA+PSAyKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuMi0ke2RpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLjAtJHtkaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5LFxuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCxcbiAgICAgICAgICBudW1lcmljT3B0aW9ucy5pc28sXG4gICAgICAgICAgLy8gQW5ndWxhciA1KyBuZWVkcyBhIHN0cmluZyBmb3IgdGhpcyBwYXJhbWV0ZXIsIGJ1dCBBbmd1bGFyIDQgbmVlZHMgYSBib29sZWFuLlxuICAgICAgICAgIC8vIFRvIHN1cHBvcnQgYm90aCB2ZXJzaW9ucyB3ZSBjYW4gc3VwcGx5ICdzeW1ib2wnIHdoaWNoIHdpbGwgZXZhbHVhdGUgdHJ1dGh5IGZvciBBbmd1bGFyIDRcbiAgICAgICAgICAvLyBhbmQgdGhlIGFwcHJvcHJpYXRlIHN0cmluZyB2YWx1ZSBmb3IgQW5ndWxhciA1Ky5cbiAgICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29tbW9uL0N1cnJlbmN5UGlwZSNwYXJhbWV0ZXJzXG4gICAgICAgICAgJ3N5bWJvbCcgYXMgYW55LFxuICAgICAgICAgIG51bWVyaWNPcHRpb25zLmN1cnJlbmN5U2lnblxuICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgLy8gICBeXl5eXl4gUmVzdWx0IGNhbid0IGJlIG51bGwgc2luY2UgdGhlIHNhbml0aXplZCBpbnB1dCBpcyBhbHdheXMgYSBudW1iZXIuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgY2F0Y2gtYWxsIHRvIGVuc3VyZSB0aGF0IGlmXG4gICAgICAvLyBhbnl0aGluZyBidXQgY3VycmVuY3kgKG9yIGEgZnV0dXJlIG9wdGlvbikgYXJlIGVudGVyZWQsXG4gICAgICAvLyBpdCB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG51bWJlci5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEVuc3VyZXMgbG9jYWxpemF0aW9uIG9mIHRoZSBudW1iZXIgdG8gZW5zdXJlIGNvbW1hIGFuZFxuICAgICAgICAvLyBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICBpZiAobnVtZXJpY09wdGlvbnMubWluRGlnaXRzKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtudW1lcmljT3B0aW9ucy5taW5EaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAobnVtZXJpY09wdGlvbnMudHJ1bmNhdGUpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4wLSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtkaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH1cblxuICAgICAgICBvdXRwdXQgPSBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGFyc2VGbG9hdChvdXRwdXQpLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5EZWNpbWFsLFxuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZFxuICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgLy8gICBeXl5eXl4gUmVzdWx0IGNhbid0IGJlIG51bGwgc2luY2UgdGhlIHNhbml0aXplZCBpbnB1dCBpcyBhbHdheXMgYSBudW1iZXIuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljT3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgb3V0cHV0ID0gdGhpcy4jcmVwbGFjZVNob3J0ZW5TeW1ib2wob3V0cHV0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdW5kcyBhIGdpdmVuIG51bWJlclxuICAgKlxuICAgKiBKUydzIGxpbWl0YXRpb24gLSBudW1iZXJzIGJpZ2dlciB0aGFuIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSIG9yIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAqIGFyZSBub3QgZ3VhcmFudGVlZCB0byBiZSByZXByZXNlbnRlZCBvciByb3VuZGVkIGNvcnJlY3RseVxuICAgKiBAcGFyYW0gdmFsdWUgLSB2YWx1ZSB0byByb3VuZFxuICAgKiBAcGFyYW0gcHJlY2lzaW9uIC0gd2hhdCBwcmVjaXNpb24gdG8gcm91bmQgd2l0aCwgZGVmYXVsdHMgdG8gMCBkZWNpbWFsIHBsYWNlc1xuICAgKi9cbiAgI3JvdW5kTnVtYmVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAocHJlY2lzaW9uIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTa3lJbnZhbGlkQXJndW1lbnQ6IHByZWNpc2lvbiBtdXN0IGJlID49IDAnKTtcbiAgICB9XG5cbiAgICAvKiBTYW5pdHkgY2hlY2sgLSBpZ25vcmluZyBjb3ZlcmFnZSBidXQgc2hvdWxkIG5vdCBpZ25vcmUgaWYgd2UgbWFrZSB0aGlzIG1ldGhvZCBwdWJsaWMgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHNjYWxlZFZhbHVlOiBudW1iZXIgPSB0aGlzLiNzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICAgIHZhbHVlLFxuICAgICAgcHJlY2lzaW9uLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gICAgY29uc3Qgc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSBNYXRoLnJvdW5kKHNjYWxlZFZhbHVlKTtcbiAgICBjb25zdCB1bnNjYWxlZFJvdW5kZWRWYWx1ZTogbnVtYmVyID0gdGhpcy4jc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4oXG4gICAgICBzY2FsZWRSb3VuZGVkVmFsdWUsXG4gICAgICBwcmVjaXNpb24sXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICByZXR1cm4gdW5zY2FsZWRSb3VuZGVkVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGVzIGEgZ2l2ZW4gbnVtYmVyIGJ5IGEgcG93ZXIgb2YgMTBcbiAgICogQHBhcmFtIHZhbHVlIC0gdmFsdWUgdG8gc2NhbGVcbiAgICogQHBhcmFtIHNjYWxhciAtIDEwXnNjYWxhclxuICAgKiBAcGFyYW0gc2NhbGVVcCAtIHdoZXRoZXIgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHZhbHVlXG4gICAqL1xuICAjc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4oXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBzY2FsYXI6IG51bWJlcixcbiAgICBzY2FsZVVwOiBib29sZWFuXG4gICk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWVTdHI6IHN0cmluZyA9IHZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBpc0V4cG9uZW50Rm9ybWF0OiBib29sZWFuID0gdmFsdWVTdHIuaW5jbHVkZXMoJ2UnKTtcblxuICAgIGlmIChpc0V4cG9uZW50Rm9ybWF0KSB7XG4gICAgICBjb25zdCBbYmFzZSwgZXhwXSA9IHZhbHVlU3RyLnNwbGl0KCdlJyk7XG4gICAgICBjb25zdCBuZXdFeHAgPSBzY2FsZVVwID8gTnVtYmVyKGV4cCkgKyBzY2FsYXIgOiBOdW1iZXIoZXhwKSAtIHNjYWxhcjtcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7YmFzZX1lJHtuZXdFeHB9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGUgPSBzY2FsZVVwID8gJ2UnIDogJ2UtJztcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7dmFsdWV9JHtlfSR7c2NhbGFyfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHN5bWJvbCBhZGRlZCBmcm9tIHNob3J0ZW5pbmcgdG8gcmVhcHBseSBsYXRlci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gZGVyaXZlIHRoZSBzaG9ydGVuIHN5bWJvbCBmcm9tLlxuICAgKi9cbiAgI3N0b3JlU2hvcnRlblN5bWJvbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc3ltYm9sczogc3RyaW5nW10gPSB0aGlzLiNzeW1ib2xJbmRleC5tYXAoKHMpID0+IHMubGFiZWwpO1xuICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoc3ltYm9scy5qb2luKCd8JyksICdpZycpO1xuICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmVnZXhwKTtcbiAgICB0aGlzLnNob3J0U3ltYm9sID0gbWF0Y2ggPyBtYXRjaC50b1N0cmluZygpIDogJyc7XG4gIH1cblxuICAvKipcbiAgICogTXVzdCBoYXZlIHByZXZpb3VzbHkgY2FsbGVkIHN0b3JlU2hvcnRlblN5bWJvbCB0byBoYXZlIHNvbWV0aGluZyB0byByZXBsYWNlLlxuICAgKiBGaW5kcyB0aGUgbGFzdCBudW1iZXIgaW4gdGhlIGZvcm1hdHRlZCBudW1iZXIsIGdldHMgdGhlIGluZGV4IG9mIHRoZSBwb3NpdGlvblxuICAgKiBhZnRlciB0aGF0IGNoYXJhY3RlciBhbmQgcmUtaW5zZXJ0cyB0aGUgc3ltYm9sLlxuICAgKiBXb3JrcyByZWdhcmRsZXNzIG9mIGN1cnJlbmN5IHN5bWJvbCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gbW9kaWZ5LlxuICAgKi9cbiAgI3JlcGxhY2VTaG9ydGVuU3ltYm9sKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlc3VsdCA9IC8oXFxkKSg/IS4qXFxkKS9nLmV4ZWModmFsdWUpO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGNvbnN0IHBvcyA9IHJlc3VsdC5pbmRleCArIHJlc3VsdC5sZW5ndGg7XG4gICAgICBjb25zdCBvdXRwdXQgPVxuICAgICAgICB2YWx1ZS5zdWJzdHJpbmcoMCwgcG9zKSArIHRoaXMuc2hvcnRTeW1ib2wgKyB2YWx1ZS5zdWJzdHJpbmcocG9zKTtcblxuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gICNnZXRTeW1ib2woa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IE5lZWQgdG8gaW1wbGVtZW50IHRoZSBhc3luYyBgZ2V0U3RyaW5nYCBtZXRob2QgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAgcmV0dXJuIHRoaXMuI3Jlc291cmNlc1N2Yy5nZXRTdHJpbmdGb3JMb2NhbGUoeyBsb2NhbGU6ICdlbl9VUycgfSwga2V5KTtcbiAgfVxufVxuIl19
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFRdkYsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFBWSxZQUFvQzs7UUFmaEQ7OztXQUdHO1FBQ0ksa0JBQWEsR0FBRyxPQUFPLENBQUM7UUFFL0I7O1dBRUc7UUFDSSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUV4QixrREFBc0M7UUFFdEMsaURBQWlDO1FBRy9CLHVCQUFBLElBQUksbUNBQWlCLFlBQVksTUFBQSxDQUFDO1FBRWxDLHVCQUFBLElBQUksa0NBQWdCO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3pFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3pFLE1BQUEsQ0FBQztJ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RVUsR0FBVztJQUNwQiw2RUFBNkU7SUFDN0UsT0FBTyx1QkFBQSxJQUFJLHVDQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDekUsQ0FBQzs4R0F6UFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsS0FBSzsyRkFFTixpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLCBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5IH0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuaW1wb3J0IHsgU2t5TnVtZXJpY1N5bWJvbCB9IGZyb20gJy4vbnVtZXJpYy1zeW1ib2wnO1xuaW1wb3J0IHsgU2t5TnVtZXJpY09wdGlvbnMgfSBmcm9tICcuL251bWVyaWMub3B0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreU51bWVyaWNTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFRoZSBicm93c2VyJ3MgY3VycmVudCBsb2NhbGUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGN1cnJlbnRMb2NhbGUgPSAnZW4tVVMnO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzaG9ydFN5bWJvbCA9ICcnO1xuXG4gICNyZXNvdXJjZXNTdmM6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG5cbiAgI3N5bWJvbEluZGV4OiBTa3lOdW1lcmljU3ltYm9sW107XG5cbiAgY29uc3RydWN0b3IocmVzb3VyY2VzU3ZjOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlKSB7XG4gICAgdGhpcy4jcmVzb3VyY2VzU3ZjID0gcmVzb3VyY2VzU3ZjO1xuXG4gICAgdGhpcy4jc3ltYm9sSW5kZXggPSBbXG4gICAgICB7IHZhbHVlOiAxZTEyLCBsYWJlbDogdGhpcy4jZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX3RyaWxsaW9uc19zeW1ib2wnKSB9LFxuICAgICAgeyB2YWx1ZTogMWU5LCBsYWJlbDogdGhpcy4jZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX2JpbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgICB7IHZhbHVlOiAxZTYsIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfbWlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICAgIHsgdmFsdWU6IDFlMywgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY190aG91c2FuZHNfc3ltYm9sJykgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdHMgYSBudW1iZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgbnVtYmVyIHRvIGZvcm1hdC5cbiAgICogQHBhcmFtIG9wdGlvbnMgRm9ybWF0IG9wdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgZm9ybWF0TnVtYmVyKFxuICAgIHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsLFxuICAgIG9wdGlvbnM6IFNreU51bWVyaWNPcHRpb25zXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgbnVtZXJpY09wdGlvbnM6IFNreU51bWVyaWNPcHRpb25zID0ge1xuICAgICAgZGlnaXRzOiAwLFxuICAgICAgZm9ybWF0OiAnbnVtYmVyJyxcbiAgICAgIGN1cnJlbmN5U2lnbjogJ3N0YW5kYXJkJyxcbiAgICAgIGlzbzogJ1VTRCcsXG4gICAgICB0cnVuY2F0ZUFmdGVyOiAxMDAwLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVjaW1hbFBsYWNlUmVnRXhwID0gL1xcLjArJHwoXFwuWzAtOV0qWzEtOV0pMCskLztcbiAgICBjb25zdCBsb2NhbGUgPSBudW1lcmljT3B0aW9ucy5sb2NhbGUgfHwgdGhpcy5jdXJyZW50TG9jYWxlO1xuICAgIGNvbnN0IGRpZ2l0cyA9IG51bWVyaWNPcHRpb25zLmRpZ2l0cyB8fCAwO1xuXG4gICAgLy8gR2V0IHRoZSBzeW1ib2wgZm9yIHRoZSBudW1iZXIgYWZ0ZXIgcm91bmRpbmcsIHNpbmNlIHJvdW5kaW5nIGNvdWxkIHB1c2ggdGhlIG51bWJlclxuICAgIC8vIGludG8gYSBkaWZmZXJlbnQgc3ltYm9sIHJhbmdlLlxuICAgIGxldCByb3VuZGVkTnVtYmVyID0gdGhpcy4jcm91bmROdW1iZXIodmFsdWUsIGRpZ2l0cyk7XG4gICAgY29uc3Qgcm91bmRlZE51bWJlckFicyA9IE1hdGguYWJzKHJvdW5kZWROdW1iZXIpO1xuXG4gICAgbGV0IHN1ZmZpeCA9ICcnO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLiNzeW1ib2xJbmRleC5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHN5bWJvbCA9IHRoaXMuI3N5bWJvbEluZGV4W2ldO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG51bWVyaWNPcHRpb25zLnRydW5jYXRlICYmXG4gICAgICAgIG51bWVyaWNPcHRpb25zLnRydW5jYXRlQWZ0ZXIgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICByb3VuZGVkTnVtYmVyQWJzID49IG51bWVyaWNPcHRpb25zLnRydW5jYXRlQWZ0ZXIgJiZcbiAgICAgICAgcm91bmRlZE51bWJlckFicyA+PSBzeW1ib2wudmFsdWVcbiAgICAgICkge1xuICAgICAgICByb3VuZGVkTnVtYmVyID0gdGhpcy4jcm91bmROdW1iZXIodmFsdWUgLyBzeW1ib2wudmFsdWUsIGRpZ2l0cyk7XG5cbiAgICAgICAgaWYgKE1hdGguYWJzKHJvdW5kZWROdW1iZXIpID09PSAxMDAwICYmIGkgPiAwKSB7XG4gICAgICAgICAgLy8gUm91bmRpbmcgY2F1c2VkIHRoZSBudW1iZXIgdG8gY3Jvc3MgaW50byB0aGUgcmFuZ2Ugb2YgdGhlIG5leHQgc3ltYm9sLlxuICAgICAgICAgIHN5bWJvbCA9IHRoaXMuI3N5bWJvbEluZGV4W2kgLSAxXTtcbiAgICAgICAgICByb3VuZGVkTnVtYmVyIC89IDEwMDA7XG4gICAgICAgIH1cblxuICAgICAgICBzdWZmaXggPSBzeW1ib2wubGFiZWw7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG91dHB1dDogc3RyaW5nID1cbiAgICAgIHJvdW5kZWROdW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKGRlY2ltYWxQbGFjZVJlZ0V4cCwgJyQxJykgKyBzdWZmaXg7XG5cbiAgICB0aGlzLiNzdG9yZVNob3J0ZW5TeW1ib2wob3V0cHV0KTtcblxuICAgIGxldCBkaWdpdHNGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgaXNEZWNpbWFsID0gZmFsc2U7XG5cbiAgICAvLyBDaGVja3MgdGhlIHN0cmluZyBlbnRlcmVkIGZvciBmb3JtYXQuIFVzaW5nIHRvTG93ZXJDYXNlIHRvIGlnbm9yZSBjYXNlLlxuICAgIHN3aXRjaCAobnVtZXJpY09wdGlvbnMuZm9ybWF0Py50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAvLyBJbiBhIGNhc2Ugd2hlcmUgYSBkZWNpbWFsIHZhbHVlIHdhcyBub3Qgc2hvcnRlbmVkIGFuZFxuICAgICAgLy8gdGhlIGRpZ2l0IGlucHV0IGlzIDIgb3IgaGlnaGVyLCBpdCBmb3JjZXMgMiBkaWdpdHMuXG4gICAgICAvLyBGb3IgZXhhbXBsZSwgdGhpcyBwcmV2ZW50cyBhIHZhbHVlIGxpa2UgJDE1LjUwIGZyb20gZGlzcGxheWluZyBhcyAkMTUuNS5cbiAgICAgIC8vIE5vdGU6IFRoaXMgd2lsbCBuZWVkIHRvIGJlIHJldmlld2VkIGlmIHdlIHN1cHBvcnQgY3VycmVuY2llcyB3aXRoXG4gICAgICAvLyB0aHJlZSBkZWNpbWFsIGRpZ2l0cy5cbiAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgaXNEZWNpbWFsID0gdmFsdWUgJSAxICE9PSAwO1xuXG4gICAgICAgIGlmIChudW1lcmljT3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4ke251bWVyaWNPcHRpb25zLm1pbkRpZ2l0c30tJHtkaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlY2ltYWwgJiYgZGlnaXRzID49IDIpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4yLSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuMC0ke2RpZ2l0c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgb3V0cHV0ID0gU2t5TnVtYmVyRm9ybWF0VXRpbGl0eS5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhcnNlRmxvYXQob3V0cHV0KSxcbiAgICAgICAgICBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUuQ3VycmVuY3ksXG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkLFxuICAgICAgICAgIG51bWVyaWNPcHRpb25zLmlzbyxcbiAgICAgICAgICAvLyBBbmd1bGFyIDUrIG5lZWRzIGEgc3RyaW5nIGZvciB0aGlzIHBhcmFtZXRlciwgYnV0IEFuZ3VsYXIgNCBuZWVkcyBhIGJvb2xlYW4uXG4gICAgICAgICAgLy8gVG8gc3VwcG9ydCBib3RoIHZlcnNpb25zIHdlIGNhbiBzdXBwbHkgJ3N5bWJvbCcgd2hpY2ggd2lsbCBldmFsdWF0ZSB0cnV0aHkgZm9yIEFuZ3VsYXIgNFxuICAgICAgICAgIC8vIGFuZCB0aGUgYXBwcm9wcmlhdGUgc3RyaW5nIHZhbHVlIGZvciBBbmd1bGFyIDUrLlxuICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vQ3VycmVuY3lQaXBlI3BhcmFtZXRlcnNcbiAgICAgICAgICAnc3ltYm9sJyBhcyBhbnksXG4gICAgICAgICAgbnVtZXJpY09wdGlvbnMuY3VycmVuY3lTaWduXG4gICAgICAgICkgYXMgc3RyaW5nO1xuICAgICAgICAvLyAgIF5eXl5eXiBSZXN1bHQgY2FuJ3QgYmUgbnVsbCBzaW5jZSB0aGUgc2FuaXRpemVkIGlucHV0IGlzIGFsd2F5cyBhIG51bWJlci5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYSBjYXRjaC1hbGwgdG8gZW5zdXJlIHRoYXQgaWZcbiAgICAgIC8vIGFueXRoaW5nIGJ1dCBjdXJyZW5jeSAob3IgYSBmdXR1cmUgb3B0aW9uKSBhcmUgZW50ZXJlZCxcbiAgICAgIC8vIGl0IHdpbGwgYmUgdHJlYXRlZCBsaWtlIGEgbnVtYmVyLlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gRW5zdXJlcyBsb2NhbGl6YXRpb24gb2YgdGhlIG51bWJlciB0byBlbnN1cmUgY29tbWEgYW5kXG4gICAgICAgIC8vIGRlY2ltYWwgc2VwYXJhdG9yXG4gICAgICAgIGlmIChudW1lcmljT3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4ke251bWVyaWNPcHRpb25zLm1pbkRpZ2l0c30tJHtkaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIGlmIChudW1lcmljT3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLjAtJHtkaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4ke2RpZ2l0c30tJHtkaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkRlY2ltYWwsXG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkXG4gICAgICAgICkgYXMgc3RyaW5nO1xuICAgICAgICAvLyAgIF5eXl5eXiBSZXN1bHQgY2FuJ3QgYmUgbnVsbCBzaW5jZSB0aGUgc2FuaXRpemVkIGlucHV0IGlzIGFsd2F5cyBhIG51bWJlci5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKG51bWVyaWNPcHRpb25zLnRydW5jYXRlKSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLiNyZXBsYWNlU2hvcnRlblN5bWJvbChvdXRwdXQpO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cblxuICAvKipcbiAgICogUm91bmRzIGEgZ2l2ZW4gbnVtYmVyXG4gICAqXG4gICAqIEpTJ3MgbGltaXRhdGlvbiAtIG51bWJlcnMgYmlnZ2VyIHRoYW4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIgb3IgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICogYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIHJlcHJlc2VudGVkIG9yIHJvdW5kZWQgY29ycmVjdGx5XG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHJvdW5kXG4gICAqIEBwYXJhbSBwcmVjaXNpb24gLSB3aGF0IHByZWNpc2lvbiB0byByb3VuZCB3aXRoLCBkZWZhdWx0cyB0byAwIGRlY2ltYWwgcGxhY2VzXG4gICAqL1xuICAjcm91bmROdW1iZXIodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChwcmVjaXNpb24gPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NreUludmFsaWRBcmd1bWVudDogcHJlY2lzaW9uIG11c3QgYmUgPj0gMCcpO1xuICAgIH1cblxuICAgIC8qIFNhbml0eSBjaGVjayAtIGlnbm9yaW5nIGNvdmVyYWdlIGJ1dCBzaG91bGQgbm90IGlnbm9yZSBpZiB3ZSBtYWtlIHRoaXMgbWV0aG9kIHB1YmxpYyAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhbGVkVmFsdWU6IG51bWJlciA9IHRoaXMuI3NjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgICAgdmFsdWUsXG4gICAgICBwcmVjaXNpb24sXG4gICAgICB0cnVlXG4gICAgKTtcbiAgICBjb25zdCBzY2FsZWRSb3VuZGVkVmFsdWU6IG51bWJlciA9IE1hdGgucm91bmQoc2NhbGVkVmFsdWUpO1xuICAgIGNvbnN0IHVuc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSB0aGlzLiNzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICAgIHNjYWxlZFJvdW5kZWRWYWx1ZSxcbiAgICAgIHByZWNpc2lvbixcbiAgICAgIGZhbHNlXG4gICAgKTtcblxuICAgIHJldHVybiB1bnNjYWxlZFJvdW5kZWRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY2FsZXMgYSBnaXZlbiBudW1iZXIgYnkgYSBwb3dlciBvZiAxMFxuICAgKiBAcGFyYW0gdmFsdWUgLSB2YWx1ZSB0byBzY2FsZVxuICAgKiBAcGFyYW0gc2NhbGFyIC0gMTBec2NhbGFyXG4gICAqIEBwYXJhbSBzY2FsZVVwIC0gd2hldGhlciB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgdmFsdWVcbiAgICovXG4gICNzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHNjYWxhcjogbnVtYmVyLFxuICAgIHNjYWxlVXA6IGJvb2xlYW5cbiAgKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZVN0cjogc3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzRXhwb25lbnRGb3JtYXQ6IGJvb2xlYW4gPSB2YWx1ZVN0ci5pbmNsdWRlcygnZScpO1xuXG4gICAgaWYgKGlzRXhwb25lbnRGb3JtYXQpIHtcbiAgICAgIGNvbnN0IFtiYXNlLCBleHBdID0gdmFsdWVTdHIuc3BsaXQoJ2UnKTtcbiAgICAgIGNvbnN0IG5ld0V4cCA9IHNjYWxlVXAgPyBOdW1iZXIoZXhwKSArIHNjYWxhciA6IE51bWJlcihleHApIC0gc2NhbGFyO1xuICAgICAgcmV0dXJuIE51bWJlcihgJHtiYXNlfWUke25ld0V4cH1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZSA9IHNjYWxlVXAgPyAnZScgOiAnZS0nO1xuICAgICAgcmV0dXJuIE51bWJlcihgJHt2YWx1ZX0ke2V9JHtzY2FsYXJ9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlcyB0aGUgc3ltYm9sIGFkZGVkIGZyb20gc2hvcnRlbmluZyB0byByZWFwcGx5IGxhdGVyLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB0byBkZXJpdmUgdGhlIHNob3J0ZW4gc3ltYm9sIGZyb20uXG4gICAqL1xuICAjc3RvcmVTaG9ydGVuU3ltYm9sKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzeW1ib2xzOiBzdHJpbmdbXSA9IHRoaXMuI3N5bWJvbEluZGV4Lm1hcCgocykgPT4gcy5sYWJlbCk7XG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChzeW1ib2xzLmpvaW4oJ3wnKSwgJ2lnJyk7XG4gICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChyZWdleHApO1xuICAgIHRoaXMuc2hvcnRTeW1ib2wgPSBtYXRjaCA/IG1hdGNoLnRvU3RyaW5nKCkgOiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXN0IGhhdmUgcHJldmlvdXNseSBjYWxsZWQgc3RvcmVTaG9ydGVuU3ltYm9sIHRvIGhhdmUgc29tZXRoaW5nIHRvIHJlcGxhY2UuXG4gICAqIEZpbmRzIHRoZSBsYXN0IG51bWJlciBpbiB0aGUgZm9ybWF0dGVkIG51bWJlciwgZ2V0cyB0aGUgaW5kZXggb2YgdGhlIHBvc2l0aW9uXG4gICAqIGFmdGVyIHRoYXQgY2hhcmFjdGVyIGFuZCByZS1pbnNlcnRzIHRoZSBzeW1ib2wuXG4gICAqIFdvcmtzIHJlZ2FyZGxlc3Mgb2YgY3VycmVuY3kgc3ltYm9sIHBvc2l0aW9uLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB0byBtb2RpZnkuXG4gICAqL1xuICAjcmVwbGFjZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVzdWx0ID0gLyhcXGQpKD8hLipcXGQpL2cuZXhlYyh2YWx1ZSk7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgY29uc3QgcG9zID0gcmVzdWx0LmluZGV4ICsgcmVzdWx0Lmxlbmd0aDtcbiAgICAgIGNvbnN0IG91dHB1dCA9XG4gICAgICAgIHZhbHVlLnN1YnN0cmluZygwLCBwb3MpICsgdGhpcy5zaG9ydFN5bWJvbCArIHZhbHVlLnN1YnN0cmluZyhwb3MpO1xuXG4gICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgI2dldFN5bWJvbChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU3ZjLmdldFN0cmluZ0ZvckxvY2FsZSh7IGxvY2FsZTogJ2VuX1VTJyB9LCBrZXkpO1xuICB9XG59XG4iXX0=
|
package/fesm2015/skyux-core.mjs
CHANGED
@@ -2128,7 +2128,7 @@ class SkyNumericService {
|
|
2128
2128
|
*/
|
2129
2129
|
formatNumber(value, options) {
|
2130
2130
|
var _a;
|
2131
|
-
if (
|
2131
|
+
if (value === undefined || value === null || isNaN(value)) {
|
2132
2132
|
return '';
|
2133
2133
|
}
|
2134
2134
|
const numericOptions = Object.assign({ digits: 0, format: 'number', currencySign: 'standard', iso: 'USD', truncateAfter: 1000 }, options);
|
@@ -2299,6 +2299,9 @@ class SkyNumericPipe {
|
|
2299
2299
|
* Formats a number based on the provided options.
|
2300
2300
|
*/
|
2301
2301
|
transform(value, config) {
|
2302
|
+
if (value === undefined || value === null || isNaN(value)) {
|
2303
|
+
return '';
|
2304
|
+
}
|
2302
2305
|
const newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') +
|
2303
2306
|
`${value}_${(config === null || config === void 0 ? void 0 : config.locale) || __classPrivateFieldGet(this, _SkyNumericPipe_providerLocale, "f")}`;
|
2304
2307
|
/* If the value and locale are the same as the last transform then return the previous value
|