@messaia/cdk 15.0.0-rc59 → 15.0.0-rc60

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.
@@ -113,7 +113,7 @@ export class Utils {
113
113
  * @returns
114
114
  */
115
115
  static joinArray(values, maxLength = 2) {
116
- if (values?.length <= 0) {
116
+ if (!values || values?.length <= 0) {
117
117
  return null;
118
118
  }
119
119
  /* Get first 2 names */
@@ -213,4 +213,4 @@ Utils.germanMonthNames = [
213
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: Utils, decorators: [{
214
214
  type: Directive
215
215
  }] });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vZnVuY3Rpb25zL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQyxVQUFVO0FBRVYsTUFBTSxPQUFPLEtBQUs7SUFvQmQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLElBQVksRUFBRSxJQUFZO1FBQ3pELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVE7UUFDcEMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQzthQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVUsRUFBRSxXQUFX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QixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUMxQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN2QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN4QixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN0QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN2QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN2QixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN6QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUM1QixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUMzQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUM1QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtDQUMvQixDQUFDO3FIQWxCTyxLQUFLO3lHQUFMLEtBQUs7MkZBQUwsS0FBSztrQkFEakIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9AZHluYW1pY1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vbnRoIG5hbWVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2VybWFuTW9udGhOYW1lczogeyBuYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIgfVtdID0gW1xyXG4gICAgICAgIHsgbmFtZTogJ0phbnVhcicsIGlkOiAxIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnRmVicnVhcicsIGlkOiAyIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnTcOkcnonLCBpZDogMyB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0FwcmlsJywgaWQ6IDQgfSxcclxuICAgICAgICB7IG5hbWU6ICdNYWknLCBpZDogNSB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0p1bmknLCBpZDogNiB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0p1bGknLCBpZDogNyB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0F1Z3VzdCcsIGlkOiA4IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnU2VwdGVtYmVyJywgaWQ6IDkgfSxcclxuICAgICAgICB7IG5hbWU6ICdPa3RvYmVyJywgaWQ6IDEwIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnTm92ZW1iZXInLCBpZDogMTEgfSxcclxuICAgICAgICB7IG5hbWU6ICdEZXplbWJlcicsIGlkOiAxMiB9XHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIHJhbmdlXHJcbiAgICAgKiBAcGFyYW0gc2l6ZSBcclxuICAgICAqIEBwYXJhbSBzdGFydEF0IFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHJhbmdlKHN0YXJ0OiBudW1iZXIsIHN0b3A6IG51bWJlciwgc3RlcDogbnVtYmVyKTogUmVhZG9ubHlBcnJheTxudW1iZXI+IHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogKHN0b3AgLSBzdGFydCkgLyBzdGVwICsgMSB9LCAoXywgaSkgPT4gc3RhcnQgKyAoaSAqIHN0ZXApKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBlbXB0eSB2YWx1ZXMgZnJvbSB0aGUgc3BlY2lmaWVkIG9iamVjdFxyXG4gICAgICogQHBhcmFtIG9iaiBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyByZW1vdmVFbXB0eVZhbHVlcyhvYmo6IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcclxuICAgICAgICAgICAgLmZpbHRlcigoW18sIHZdKSA9PiB2ICE9IG51bGwpXHJcbiAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgW2ssIHZdKSA9PiAoeyAuLi5hY2MsIFtrXTogdiB9KSwge30pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBudW1iZXIgb2YgZGF5cyBsZWZ0IGluIHRoZSBzcGVjaWZpZWQgbW9udGhcclxuICAgICAqIEBwYXJhbSBkYXRlIFxyXG4gICAgICogQHBhcmFtIG1vbnRoT2Zmc2V0IFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRheXNMZWZ0SW5Nb250aChkYXRlOiBEYXRlLCBtb250aE9mZnNldCA9IDApOiBudW1iZXIge1xyXG4gICAgICAgIHZhciB0aW1lID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIHRpbWUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbW9udGhPZmZzZXQpO1xyXG4gICAgICAgIHRpbWUuc2V0RGF0ZSgwKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoMCwgdGltZS5nZXREYXRlKCkgPiBkYXRlLmdldERhdGUoKSA/IHRpbWUuZ2V0RGF0ZSgpIC0gZGF0ZS5nZXREYXRlKCkgOiAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZlZCBvYmplY3QgYW5kIHByb3BlcnR5XHJcbiAgICAgKiBAcGFyYW0gb2JqZWN0IFxyXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UHJvcGVydHlWYWx1ZShvYmplY3Q6IE9iamVjdCwgcHJvcGVydHk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgLyogUHJvcGVydHkgbm90IGZvdW5kICovXHJcbiAgICAgICAgaWYgKCFvYmplY3QgfHwgdHlwZW9mIG9iamVjdCA9PT0gJ3VuZGVmaW5lZCcgfHwgIXByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSW5kZXggb2YgbmV4dCBwcm9wZXJ0eSBzcGxpdCAqL1xyXG4gICAgICAgIHZhciBpbmRleCA9IHByb3BlcnR5LmluZGV4T2YoJy4nKVxyXG5cclxuICAgICAgICAvKiBQcm9wZXJ0eSBzcGxpdCBmb3VuZDsgcmVjdXJzaXZlIGNhbGwgKi9cclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKG9iamVjdFtwcm9wZXJ0eS5zdWJzdHJpbmcoMCwgaW5kZXgpXSwgcHJvcGVydHkuc3Vic3RyKGluZGV4ICsgMSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogTm8gc3BsaXQ7IGdldCBwcm9wZXJ0eSAqL1xyXG4gICAgICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU29ydHMgYW4gYXJyYXkgb2Ygb2JqZWN0IGJ5IHRoZSBzcGVjaWZpZWQgcHJvcGVydHlcclxuICAgICAqIEBwYXJhbSBhcnJheSBcclxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHNvcnRBcnJheTxUPihhcnJheTogVFtdLCBwcm9wZXJ0eTogc3RyaW5nLCByZXZlcnNlPzogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCBzb3J0RGlyID0gcmV2ZXJzZSA9PT0gdHJ1ZSA/IC0xIDogMTtcclxuICAgICAgICByZXR1cm4gYXJyYXkgPSAoYXJyYXk/LnNvcnQoKGE6IFQsIGI6IFQpID0+IChhW3Byb3BlcnR5XSA+IGJbcHJvcGVydHldKSA/IHNvcnREaXIgOiAoKGJbcHJvcGVydHldID4gYVtwcm9wZXJ0eV0pID8gKHNvcnREaXIgKiAtMSkgOiAwKSkgfHwgW10pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUYWtlcyBhbiBBcnJheTxWPiwgYW5kIGEgZ3JvdXBpbmcgZnVuY3Rpb24sXHJcbiAgICAgKiBhbmQgcmV0dXJucyBhIE1hcCBvZiB0aGUgYXJyYXkgZ3JvdXBlZCBieSB0aGUgZ3JvdXBpbmcgZnVuY3Rpb24uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGxpc3QgQW4gYXJyYXkgb2YgdHlwZSBWLlxyXG4gICAgICogQHBhcmFtIGtleUdldHRlciBBIEZ1bmN0aW9uIHRoYXQgdGFrZXMgdGhlIHRoZSBBcnJheSB0eXBlIFYgYXMgYW4gaW5wdXQsIGFuZCByZXR1cm5zIGEgdmFsdWUgb2YgdHlwZSBLLlxyXG4gICAgICogICAgICAgICAgICAgICAgICBLIGlzIGdlbmVyYWxseSBpbnRlbmRlZCB0byBiZSBhIHByb3BlcnR5IGtleSBvZiBWLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIE1hcCBvZiB0aGUgYXJyYXkgZ3JvdXBlZCBieSB0aGUgZ3JvdXBpbmcgZnVuY3Rpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ3JvdXBBcnJheUJ5PEssIFY+KGxpc3Q6IEFycmF5PFY+LCBrZXlHZXR0ZXI6IChpbnB1dDogVikgPT4gSyk6IE1hcDxLLCBBcnJheTxWPj4ge1xyXG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8SywgQXJyYXk8Vj4+KCk7XHJcbiAgICAgICAgbGlzdD8uZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBrZXlHZXR0ZXIoaXRlbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBtYXAuZ2V0KGtleSk7XHJcbiAgICAgICAgICAgIGlmICghY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgbWFwLnNldChrZXksIFtpdGVtXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1hcDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRydW5jYXRlcyBhIHRleHRcclxuICAgICAqIEBwYXJhbSB0ZXh0IFxyXG4gICAgICogQHBhcmFtIGxlbmd0aCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRydW5jYXRlVGV4dCh0ZXh0OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICAvKiBJZiB0ZXh0IGlzIG5vdCBhIHN0cmluZywgcmV0dXJuIGFuIGVtcHR5IHN0cmluZyAqL1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogUmVtb3ZlIGh0bWwgdGFncyAqL1xyXG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCBcIlwiKTtcclxuXHJcbiAgICAgICAgLyogVHJ1bmNhdGUgdGhlIHN0cmluZyAqL1xyXG4gICAgICAgIGxldCB0cnVuY2F0ZWRUZXh0OiBzdHJpbmcgPSB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpO1xyXG5cclxuICAgICAgICAvKiBBZGQgZWxsaXBzaXMgdG8gdGhlIHRleHQgKi9cclxuICAgICAgICBpZiAodGV4dC5sZW5ndGggPiBsZW5ndGgpIHtcclxuICAgICAgICAgICAgdHJ1bmNhdGVkVGV4dCA9IGAke3RydW5jYXRlZFRleHQudHJpbSgpfS4uLmA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1bmNhdGVkVGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEpvaW5zIHRleHQgYXJyYXkgZnJvIHRhYmxlIGNvbHVtblxyXG4gICAgICogQHBhcmFtIHZhbHVlcyBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGpvaW5BcnJheSh2YWx1ZXM6IHN0cmluZ1tdLCBtYXhMZW5ndGg6IG51bWJlciA9IDIpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh2YWx1ZXM/Lmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogR2V0IGZpcnN0IDIgbmFtZXMgKi9cclxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA+IG1heExlbmd0aCkge1xyXG4gICAgICAgICAgICB2YWx1ZXMgPSB2YWx1ZXMuc2xpY2UoMCwgbWF4TGVuZ3RoKTtcclxuICAgICAgICAgICAgdmFsdWVzWzFdID0gYCR7dmFsdWVzWzFdfSwgLi4uYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBgPHNtYWxsPiR7KHZhbHVlcy5qb2luKCc8YnJcXD4nKSl9PC9zbWFsbD5gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydCBPYmplY3QgdG8gSHR0cFBhcmFtc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gYm9keVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRvSHR0cFBhcmFtcyhib2R5OiBhbnkpOiBIdHRwUGFyYW1zIHtcclxuICAgICAgICBpZiAoIWJvZHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBPYmplY3Qua2V5cyhib2R5KS5mb3JFYWNoKChrZXkpID0+IChib2R5W2tleV0gPT0gbnVsbCB8fCBib2R5W2tleV0gPT0gJycgfHwgYm9keVtrZXldID09ICd1bmRlZmluZWQnKSAmJiBib2R5W2tleV0gIT0gMCAmJiBkZWxldGUgYm9keVtrZXldKTtcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiBib2R5IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYW5zIHRoZSBvYmplY3RzXHJcbiAgICAgKiBSZW1vdmVzIGVtcHR5IHByb3BlcnRpZXNcclxuICAgICAqIEBwYXJhbSBvYmogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgY2xlYW5PYmplY3Qob2JqOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIHByb3BOYW1lIGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9ialtwcm9wTmFtZV0gPT09IG51bGwgfHwgb2JqW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkIHx8IG9ialtwcm9wTmFtZV0gPT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW3Byb3BOYW1lXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9iajtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIG9iamVjdHMgYXJlIGVxdWFsXHJcbiAgICAgKiBAcGFyYW0gb2JqMSBcclxuICAgICAqIEBwYXJhbSBvYmoyIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZXF1YWxzKG9iajE6IGFueSwgb2JqMjogYW55KSB7XHJcbiAgICAgICAgdHJ5IHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iajEpID09PSBKU09OLnN0cmluZ2lmeShvYmoyKTsgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHF1ZXJ5IHBhcmFtcyBhbmQgdGhlIGhhc2ggZnJvbSB0aGUgc3BlY2lmaWVkIHVybFxyXG4gICAgICogQHBhcmFtIHVybCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFVybFBhcnRzKHVybDogc3RyaW5nKTogeyB1cmw6IHN0cmluZywgcGFyYW1zOiBPYmplY3QsIGhhc2g6IHN0cmluZyB9IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvKiBHZXQgdXJscyBwYXJ0cyAqL1xyXG4gICAgICAgICAgICB2YXIgdXJsSGFzaFBhcnRzID0gdXJsPy5zcGxpdCgnIycpID8/IFtdO1xyXG5cclxuICAgICAgICAgICAgLyogR2V0IGhhc2ggKi9cclxuICAgICAgICAgICAgdmFyIHVybEhhc2ggPSB1cmxIYXNoUGFydHNbMV0gPz8gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIC8qIEdldCBxdWVyeSBwYXJ0cyAqL1xyXG4gICAgICAgICAgICB2YXIgdXJsUXVlcnlQYXJ0cyA9IHVybEhhc2hQYXJ0c1swXT8uc3BsaXQoJz8nKTtcclxuXHJcbiAgICAgICAgICAgIC8qIEdldCBxdWVyeSBwYXJhbXMgYXMgb2JqZWN0ICovXHJcbiAgICAgICAgICAgIHZhciB1cmxQYXJhbXM6IE9iamVjdCA9IHVybFF1ZXJ5UGFydHNbMV0/LnNwbGl0KFwiJlwiKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBwID0gY3Vyci5zcGxpdChcIj1cIik7XHJcbiAgICAgICAgICAgICAgICBwcmV2W2RlY29kZVVSSUNvbXBvbmVudChwWzBdKV0gPSBkZWNvZGVVUklDb21wb25lbnQocFsxXSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcclxuICAgICAgICAgICAgfSwge30pID8/IG51bGw7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4geyB1cmw6IHVybFF1ZXJ5UGFydHNbMF0sIHBhcmFtczogdXJsUGFyYW1zLCBoYXNoOiB1cmxIYXNoIH07XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB1cmwsIHBhcmFtczogbnVsbCwgaGFzaDogbnVsbCB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vZnVuY3Rpb25zL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQyxVQUFVO0FBRVYsTUFBTSxPQUFPLEtBQUs7SUFvQmQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLElBQVksRUFBRSxJQUFZO1FBQ3pELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVE7UUFDcEMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQzthQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVUsRUFBRSxXQUFX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LENBQUMsRUFBRTtJQUN6QixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUMxQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN2QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN4QixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN0QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN2QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN2QixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUN6QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtJQUM1QixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUMzQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUM1QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtDQUMvQixDQUFDO3FIQWxCTyxLQUFLO3lHQUFMLEtBQUs7MkZBQUwsS0FBSztrQkFEakIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9AZHluYW1pY1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vbnRoIG5hbWVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2VybWFuTW9udGhOYW1lczogeyBuYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIgfVtdID0gW1xyXG4gICAgICAgIHsgbmFtZTogJ0phbnVhcicsIGlkOiAxIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnRmVicnVhcicsIGlkOiAyIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnTcOkcnonLCBpZDogMyB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0FwcmlsJywgaWQ6IDQgfSxcclxuICAgICAgICB7IG5hbWU6ICdNYWknLCBpZDogNSB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0p1bmknLCBpZDogNiB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0p1bGknLCBpZDogNyB9LFxyXG4gICAgICAgIHsgbmFtZTogJ0F1Z3VzdCcsIGlkOiA4IH0sXHJcbiAgICAgICAgeyBuYW1lOiAnU2VwdGVtYmVyJywgaWQ6IDkgfSxcclxuICAgICAgICB7IG5hbWU6ICdPa3RvYmVyJywgaWQ6IDEwIH0sXHJcbiAgICAgICAgeyBuYW1lOiAnTm92ZW1iZXInLCBpZDogMTEgfSxcclxuICAgICAgICB7IG5hbWU6ICdEZXplbWJlcicsIGlkOiAxMiB9XHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIHJhbmdlXHJcbiAgICAgKiBAcGFyYW0gc2l6ZSBcclxuICAgICAqIEBwYXJhbSBzdGFydEF0IFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHJhbmdlKHN0YXJ0OiBudW1iZXIsIHN0b3A6IG51bWJlciwgc3RlcDogbnVtYmVyKTogUmVhZG9ubHlBcnJheTxudW1iZXI+IHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogKHN0b3AgLSBzdGFydCkgLyBzdGVwICsgMSB9LCAoXywgaSkgPT4gc3RhcnQgKyAoaSAqIHN0ZXApKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBlbXB0eSB2YWx1ZXMgZnJvbSB0aGUgc3BlY2lmaWVkIG9iamVjdFxyXG4gICAgICogQHBhcmFtIG9iaiBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyByZW1vdmVFbXB0eVZhbHVlcyhvYmo6IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcclxuICAgICAgICAgICAgLmZpbHRlcigoW18sIHZdKSA9PiB2ICE9IG51bGwpXHJcbiAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgW2ssIHZdKSA9PiAoeyAuLi5hY2MsIFtrXTogdiB9KSwge30pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBudW1iZXIgb2YgZGF5cyBsZWZ0IGluIHRoZSBzcGVjaWZpZWQgbW9udGhcclxuICAgICAqIEBwYXJhbSBkYXRlIFxyXG4gICAgICogQHBhcmFtIG1vbnRoT2Zmc2V0IFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRheXNMZWZ0SW5Nb250aChkYXRlOiBEYXRlLCBtb250aE9mZnNldCA9IDApOiBudW1iZXIge1xyXG4gICAgICAgIHZhciB0aW1lID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIHRpbWUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbW9udGhPZmZzZXQpO1xyXG4gICAgICAgIHRpbWUuc2V0RGF0ZSgwKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoMCwgdGltZS5nZXREYXRlKCkgPiBkYXRlLmdldERhdGUoKSA/IHRpbWUuZ2V0RGF0ZSgpIC0gZGF0ZS5nZXREYXRlKCkgOiAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZlZCBvYmplY3QgYW5kIHByb3BlcnR5XHJcbiAgICAgKiBAcGFyYW0gb2JqZWN0IFxyXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UHJvcGVydHlWYWx1ZShvYmplY3Q6IE9iamVjdCwgcHJvcGVydHk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgLyogUHJvcGVydHkgbm90IGZvdW5kICovXHJcbiAgICAgICAgaWYgKCFvYmplY3QgfHwgdHlwZW9mIG9iamVjdCA9PT0gJ3VuZGVmaW5lZCcgfHwgIXByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSW5kZXggb2YgbmV4dCBwcm9wZXJ0eSBzcGxpdCAqL1xyXG4gICAgICAgIHZhciBpbmRleCA9IHByb3BlcnR5LmluZGV4T2YoJy4nKVxyXG5cclxuICAgICAgICAvKiBQcm9wZXJ0eSBzcGxpdCBmb3VuZDsgcmVjdXJzaXZlIGNhbGwgKi9cclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKG9iamVjdFtwcm9wZXJ0eS5zdWJzdHJpbmcoMCwgaW5kZXgpXSwgcHJvcGVydHkuc3Vic3RyKGluZGV4ICsgMSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogTm8gc3BsaXQ7IGdldCBwcm9wZXJ0eSAqL1xyXG4gICAgICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU29ydHMgYW4gYXJyYXkgb2Ygb2JqZWN0IGJ5IHRoZSBzcGVjaWZpZWQgcHJvcGVydHlcclxuICAgICAqIEBwYXJhbSBhcnJheSBcclxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHNvcnRBcnJheTxUPihhcnJheTogVFtdLCBwcm9wZXJ0eTogc3RyaW5nLCByZXZlcnNlPzogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCBzb3J0RGlyID0gcmV2ZXJzZSA9PT0gdHJ1ZSA/IC0xIDogMTtcclxuICAgICAgICByZXR1cm4gYXJyYXkgPSAoYXJyYXk/LnNvcnQoKGE6IFQsIGI6IFQpID0+IChhW3Byb3BlcnR5XSA+IGJbcHJvcGVydHldKSA/IHNvcnREaXIgOiAoKGJbcHJvcGVydHldID4gYVtwcm9wZXJ0eV0pID8gKHNvcnREaXIgKiAtMSkgOiAwKSkgfHwgW10pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUYWtlcyBhbiBBcnJheTxWPiwgYW5kIGEgZ3JvdXBpbmcgZnVuY3Rpb24sXHJcbiAgICAgKiBhbmQgcmV0dXJucyBhIE1hcCBvZiB0aGUgYXJyYXkgZ3JvdXBlZCBieSB0aGUgZ3JvdXBpbmcgZnVuY3Rpb24uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGxpc3QgQW4gYXJyYXkgb2YgdHlwZSBWLlxyXG4gICAgICogQHBhcmFtIGtleUdldHRlciBBIEZ1bmN0aW9uIHRoYXQgdGFrZXMgdGhlIHRoZSBBcnJheSB0eXBlIFYgYXMgYW4gaW5wdXQsIGFuZCByZXR1cm5zIGEgdmFsdWUgb2YgdHlwZSBLLlxyXG4gICAgICogICAgICAgICAgICAgICAgICBLIGlzIGdlbmVyYWxseSBpbnRlbmRlZCB0byBiZSBhIHByb3BlcnR5IGtleSBvZiBWLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIE1hcCBvZiB0aGUgYXJyYXkgZ3JvdXBlZCBieSB0aGUgZ3JvdXBpbmcgZnVuY3Rpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ3JvdXBBcnJheUJ5PEssIFY+KGxpc3Q6IEFycmF5PFY+LCBrZXlHZXR0ZXI6IChpbnB1dDogVikgPT4gSyk6IE1hcDxLLCBBcnJheTxWPj4ge1xyXG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8SywgQXJyYXk8Vj4+KCk7XHJcbiAgICAgICAgbGlzdD8uZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBrZXlHZXR0ZXIoaXRlbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBtYXAuZ2V0KGtleSk7XHJcbiAgICAgICAgICAgIGlmICghY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgbWFwLnNldChrZXksIFtpdGVtXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1hcDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRydW5jYXRlcyBhIHRleHRcclxuICAgICAqIEBwYXJhbSB0ZXh0IFxyXG4gICAgICogQHBhcmFtIGxlbmd0aCBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRydW5jYXRlVGV4dCh0ZXh0OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICAvKiBJZiB0ZXh0IGlzIG5vdCBhIHN0cmluZywgcmV0dXJuIGFuIGVtcHR5IHN0cmluZyAqL1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogUmVtb3ZlIGh0bWwgdGFncyAqL1xyXG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCBcIlwiKTtcclxuXHJcbiAgICAgICAgLyogVHJ1bmNhdGUgdGhlIHN0cmluZyAqL1xyXG4gICAgICAgIGxldCB0cnVuY2F0ZWRUZXh0OiBzdHJpbmcgPSB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpO1xyXG5cclxuICAgICAgICAvKiBBZGQgZWxsaXBzaXMgdG8gdGhlIHRleHQgKi9cclxuICAgICAgICBpZiAodGV4dC5sZW5ndGggPiBsZW5ndGgpIHtcclxuICAgICAgICAgICAgdHJ1bmNhdGVkVGV4dCA9IGAke3RydW5jYXRlZFRleHQudHJpbSgpfS4uLmA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1bmNhdGVkVGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEpvaW5zIHRleHQgYXJyYXkgZnJvIHRhYmxlIGNvbHVtblxyXG4gICAgICogQHBhcmFtIHZhbHVlcyBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGpvaW5BcnJheSh2YWx1ZXM6IHN0cmluZ1tdLCBtYXhMZW5ndGg6IG51bWJlciA9IDIpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdmFsdWVzIHx8IHZhbHVlcz8ubGVuZ3RoIDw9IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBHZXQgZmlyc3QgMiBuYW1lcyAqL1xyXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHZhbHVlcyA9IHZhbHVlcy5zbGljZSgwLCBtYXhMZW5ndGgpO1xyXG4gICAgICAgICAgICB2YWx1ZXNbMV0gPSBgJHt2YWx1ZXNbMV19LCAuLi5gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGA8c21hbGw+JHsodmFsdWVzLmpvaW4oJzxiclxcPicpKX08L3NtYWxsPmA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0IE9iamVjdCB0byBIdHRwUGFyYW1zXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBib2R5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgdG9IdHRwUGFyYW1zKGJvZHk6IGFueSk6IEh0dHBQYXJhbXMge1xyXG4gICAgICAgIGlmICghYm9keSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKGJvZHkpLmZvckVhY2goKGtleSkgPT4gKGJvZHlba2V5XSA9PSBudWxsIHx8IGJvZHlba2V5XSA9PSAnJyB8fCBib2R5W2tleV0gPT0gJ3VuZGVmaW5lZCcpICYmIGJvZHlba2V5XSAhPSAwICYmIGRlbGV0ZSBib2R5W2tleV0pO1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGJvZHkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGVhbnMgdGhlIG9iamVjdHNcclxuICAgICAqIFJlbW92ZXMgZW1wdHkgcHJvcGVydGllc1xyXG4gICAgICogQHBhcmFtIG9iaiBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjbGVhbk9iamVjdChvYmo6IGFueSk6IGFueSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAob2JqW3Byb3BOYW1lXSA9PT0gbnVsbCB8fCBvYmpbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgfHwgb2JqW3Byb3BOYW1lXSA9PT0gXCJcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbcHJvcE5hbWVdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgfVxyXG5cclxuICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgb2JqZWN0cyBhcmUgZXF1YWxcclxuICAgICAqIEBwYXJhbSBvYmoxIFxyXG4gICAgICogQHBhcmFtIG9iajIgXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBlcXVhbHMob2JqMTogYW55LCBvYmoyOiBhbnkpIHtcclxuICAgICAgICB0cnkgeyByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgPT09IEpTT04uc3RyaW5naWZ5KG9iajIpOyB9XHJcbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgcXVlcnkgcGFyYW1zIGFuZCB0aGUgaGFzaCBmcm9tIHRoZSBzcGVjaWZpZWQgdXJsXHJcbiAgICAgKiBAcGFyYW0gdXJsIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VXJsUGFydHModXJsOiBzdHJpbmcpOiB7IHVybDogc3RyaW5nLCBwYXJhbXM6IE9iamVjdCwgaGFzaDogc3RyaW5nIH0ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIC8qIEdldCB1cmxzIHBhcnRzICovXHJcbiAgICAgICAgICAgIHZhciB1cmxIYXNoUGFydHMgPSB1cmw/LnNwbGl0KCcjJykgPz8gW107XHJcblxyXG4gICAgICAgICAgICAvKiBHZXQgaGFzaCAqL1xyXG4gICAgICAgICAgICB2YXIgdXJsSGFzaCA9IHVybEhhc2hQYXJ0c1sxXSA/PyBudWxsO1xyXG5cclxuICAgICAgICAgICAgLyogR2V0IHF1ZXJ5IHBhcnRzICovXHJcbiAgICAgICAgICAgIHZhciB1cmxRdWVyeVBhcnRzID0gdXJsSGFzaFBhcnRzWzBdPy5zcGxpdCgnPycpO1xyXG5cclxuICAgICAgICAgICAgLyogR2V0IHF1ZXJ5IHBhcmFtcyBhcyBvYmplY3QgKi9cclxuICAgICAgICAgICAgdmFyIHVybFBhcmFtczogT2JqZWN0ID0gdXJsUXVlcnlQYXJ0c1sxXT8uc3BsaXQoXCImXCIpLnJlZHVjZSgocHJldiwgY3VycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIHAgPSBjdXJyLnNwbGl0KFwiPVwiKTtcclxuICAgICAgICAgICAgICAgIHByZXZbZGVjb2RlVVJJQ29tcG9uZW50KHBbMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChwWzFdKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xyXG4gICAgICAgICAgICB9LCB7fSkgPz8gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7IHVybDogdXJsUXVlcnlQYXJ0c1swXSwgcGFyYW1zOiB1cmxQYXJhbXMsIGhhc2g6IHVybEhhc2ggfTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4geyB1cmw6IHVybCwgcGFyYW1zOiBudWxsLCBoYXNoOiBudWxsIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -742,7 +742,7 @@ class Utils {
742
742
  * @returns
743
743
  */
744
744
  static joinArray(values, maxLength = 2) {
745
- if ((values === null || values === void 0 ? void 0 : values.length) <= 0) {
745
+ if (!values || (values === null || values === void 0 ? void 0 : values.length) <= 0) {
746
746
  return null;
747
747
  }
748
748
  /* Get first 2 names */