@magic-xpa/mscorelib 4.702.0 → 4.800.0-dev000.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.
Files changed (40) hide show
  1. package/bundles/magic-xpa-mscorelib.umd.js +79 -170
  2. package/bundles/magic-xpa-mscorelib.umd.js.map +1 -1
  3. package/bundles/magic-xpa-mscorelib.umd.min.js +1 -15
  4. package/bundles/magic-xpa-mscorelib.umd.min.js.map +1 -1
  5. package/esm2015/index.js +1 -1
  6. package/esm2015/magic-xpa-mscorelib.js +1 -4
  7. package/esm2015/src/ApplicationException.js +1 -1
  8. package/esm2015/src/ArrayEnumerator.js +1 -1
  9. package/esm2015/src/BitArray.js +2 -22
  10. package/esm2015/src/Char.js +1 -1
  11. package/esm2015/src/CultureInfo.js +1 -1
  12. package/esm2015/src/DateTime.js +1 -6
  13. package/esm2015/src/Debug.js +1 -1
  14. package/esm2015/src/Dictionary.js +1 -1
  15. package/esm2015/src/Encoding.js +44 -52
  16. package/esm2015/src/Exception.js +1 -14
  17. package/esm2015/src/HashTable.js +3 -20
  18. package/esm2015/src/IComparable.js +1 -1
  19. package/esm2015/src/ISO_8859_1_Encoding.js +1 -1
  20. package/esm2015/src/Int32.js +1 -1
  21. package/esm2015/src/Int64.js +1 -1
  22. package/esm2015/src/List.js +2 -6
  23. package/esm2015/src/NChar.js +1 -1
  24. package/esm2015/src/NNumber.js +2 -15
  25. package/esm2015/src/NString.js +2 -8
  26. package/esm2015/src/NotImplementedException.js +1 -1
  27. package/esm2015/src/NumberFormatInfo.js +2 -2
  28. package/esm2015/src/RefParam.js +1 -1
  29. package/esm2015/src/Stack.js +1 -1
  30. package/esm2015/src/StackFrame.js +1 -3
  31. package/esm2015/src/StackTrace.js +1 -6
  32. package/esm2015/src/StringBuilder.js +1 -15
  33. package/esm2015/src/StringUtils.js +1 -1
  34. package/esm2015/src/Thread.js +1 -5
  35. package/esm2015/src/WebException.js +1 -1
  36. package/esm2015/src/XmlConvert.js +1 -2
  37. package/fesm2015/magic-xpa-mscorelib.js +53 -167
  38. package/fesm2015/magic-xpa-mscorelib.js.map +1 -1
  39. package/magic-xpa-mscorelib.d.ts +0 -3
  40. package/package.json +1 -1
@@ -49,7 +49,7 @@ export class List extends Array {
49
49
  Insert(index, item) {
50
50
  if (index >= 0 && index < this.length)
51
51
  this.splice(index, 0, item);
52
- else if (index === this.length) // inserting at end means append
52
+ else if (index === this.length)
53
53
  this.push(item);
54
54
  else
55
55
  throw new Error("index out of bounds");
@@ -76,10 +76,6 @@ export class List extends Array {
76
76
  foundItem = null;
77
77
  return foundItem;
78
78
  }
79
- /// <summary>
80
- /// add null cells up to 'size' cells.
81
- /// </summary>
82
- /// <param name="size"></param>
83
79
  SetSize(size) {
84
80
  if (this.length > size) {
85
81
  this.RemoveRange(size, this.length - size);
@@ -88,4 +84,4 @@ export class List extends Array {
88
84
  this.length = size;
89
85
  }
90
86
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE1BQU0sT0FBTyxJQUFTLFNBQVEsS0FBUTtJQUVwQyxZQUFZLGVBQXFDO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLFdBQVcsS0FBSyxnQkFBZ0IsRUFBRTtZQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUlELFFBQVEsQ0FBQyxzQkFBMkI7UUFDbEMsSUFBSSxzQkFBc0IsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQ2hELHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFDSTtZQUNILElBQUksQ0FBQyxHQUFHLHNCQUFzQixDQUFDO1lBQy9CLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxD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e0FycmF5X0VudW1lcmF0b3J9IGZyb20gXCIuL0FycmF5RW51bWVyYXRvclwiO1xyXG5pbXBvcnQge2lzVW5kZWZpbmVkfSBmcm9tIFwidXRpbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIExpc3Q8VD4gIGV4dGVuZHMgQXJyYXk8VD4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihhcnJheUVudW1lcmF0b3I/OiBBcnJheV9FbnVtZXJhdG9yPFQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIExpc3QucHJvdG90eXBlKTtcclxuXHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBhcnJheUVudW1lcmF0b3IuY29uc3RydWN0b3IgPT09IEFycmF5X0VudW1lcmF0b3IpIHtcclxuICAgICAgdGhpcy5BZGRSYW5nZShhcnJheUVudW1lcmF0b3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQWRkUmFuZ2UoYXJyYXlFbnVtZXJhdG9yOiBBcnJheV9FbnVtZXJhdG9yPFQ+KVxyXG4gIEFkZFJhbmdlKGFycmF5OiBBcnJheTxUPilcclxuICBBZGRSYW5nZShhcnJheUVudW1lcmF0b3JPckFycmF5OiBhbnkpIHtcclxuICAgIGlmIChhcnJheUVudW1lcmF0b3JPckFycmF5LmNvbnN0cnVjdG9yID09PSBBcnJheSkge1xyXG4gICAgICBhcnJheUVudW1lcmF0b3JPckFycmF5LmZvckVhY2goKGl0ZW06IFQpID0+IHtcclxuICAgICAgICB0aGlzLnB1c2goaXRlbSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCBlID0gYXJyYXlFbnVtZXJhdG9yT3JBcnJheTtcclxuICAgICAgd2hpbGUgKGUuTW92ZU5leHQoKSkge1xyXG4gICAgICAgIHRoaXMucHVzaChlLkN1cnJlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRfSXRlbShpbmRleDogbnVtYmVyKTogVCB7XHJcbiAgICBpZiAoaXNVbmRlZmluZWQodGhpc1tpbmRleF0pKVxyXG4gICAgICB0aGlzW2luZGV4XSA9IG51bGw7XHJcbiAgICByZXR1cm4gdGhpc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBzZXRfSXRlbShpbmRleDogbnVtYmVyLCB2YWx1ZTogVCk6IHZvaWQge1xyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmxlbmd0aClcclxuICAgICAgdGhpc1tpbmRleF0gPSB2YWx1ZTtcclxuICAgIGVsc2VcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW5kZXggb3V0IG9mIGJvdW5kc1wiKTtcclxuICB9XHJcblxyXG4gIEdldEVudW1lcmF0b3IoKTogQXJyYXlfRW51bWVyYXRvcjxUPiB7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5X0VudW1lcmF0b3I8VD4odGhpcyk7XHJcbiAgfVxyXG5cclxuICBSZW1vdmUob2JqZWN0OiBUKTogdm9pZCB7XHJcbiAgICBsZXQgaW5kZXg6IG51bWJlciA9IHRoaXMuaW5kZXhPZihvYmplY3QpO1xyXG5cclxuICAgIGlmIChpbmRleCA+IC0xKVxyXG4gICAgICB0aGlzLlJlbW92ZUF0KGluZGV4KTtcclxuICB9XHJcblxyXG4gIFJlbW92ZUF0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuUmVtb3ZlUmFuZ2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgUmVtb3ZlUmFuZ2UoaW5kZXg6IG51bWJlciwgY291bnQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zcGxpY2UoaW5kZXgsIGNvdW50KTtcclxuICB9XHJcblxyXG4gIEluc2VydChpbmRleDogbnVtYmVyLCBpdGVtOiBUKTogdm9pZCB7XHJcbiAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMubGVuZ3RoKVxyXG4gICAgICB0aGlzLnNwbGljZShpbmRleCwgMCwgaXRlbSk7XHJcbiAgICBlbHNlIGlmIChpbmRleCA9PT0gdGhpcy5sZW5ndGgpIC8vIGluc2VydGluZyBhdCBlbmQgbWVhbnMgYXBwZW5kXHJcbiAgICAgIHRoaXMucHVzaChpdGVtKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW5kZXggb3V0IG9mIGJvdW5kc1wiKTtcclxuICB9XHJcblxyXG4gIEluc2VydFJhbmdlKGluZGV4OiBudW1iZXIsIGl0ZW1zOiBUW10pOiB2b2lkIHtcclxuICAgIGxldCBpZHg6IG51bWJlciA9IDA7XHJcbiAgICB3aGlsZSAoaWR4IDwgaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuSW5zZXJ0KGlkeCwgaXRlbXNbaWR4XSk7XHJcbiAgICAgIGlkeCsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQ2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwbGljZSgwLCB0aGlzLmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBUb0FycmF5KCk6IFRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5zbGljZSgwKTtcclxuICB9XHJcblxyXG4gIENvbnRhaW5zKG9iamVjdDogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5kZXhPZihvYmplY3QpID4gLTE7XHJcbiAgfVxyXG5cclxuICBmaW5kKHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBvYmo6IFRbXSkgPT4gYm9vbGVhbiwgdGhpc0FyZz86IGFueSk6IFQge1xyXG4gICAgbGV0IGZvdW5kSXRlbSA9IHN1cGVyLmZpbmQocHJlZGljYXRlKTtcclxuICAgIGlmIChpc1VuZGVmaW5lZChmb3VuZEl0ZW0pKVxyXG4gICAgICBmb3VuZEl0ZW0gPSBudWxsO1xyXG5cclxuICAgIHJldHVybiBmb3VuZEl0ZW07XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGFkZCBudWxsIGNlbGxzIHVwIHRvICdzaXplJyBjZWxscy5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInNpemVcIj48L3BhcmFtPlxyXG4gIFNldFNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sZW5ndGggPiBzaXplKSB7XHJcbiAgICAgIHRoaXMuUmVtb3ZlUmFuZ2Uoc2l6ZSwgdGhpcy5sZW5ndGggLSBzaXplKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5sZW5ndGggPSBzaXplO1xyXG4gIH1cclxufVxyXG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE1BQU0sT0FBTyxJQUFTLFNBQVEsS0FBUTtJQUVwQyxZQUFZLGVBQXFDO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLFdBQVcsS0FBSyxnQkFBZ0IsRUFBRTtZQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUlELFFBQVEsQ0FBQyxzQkFBMkI7UUFDbEMsSUFBSSxzQkFBc0IsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQ2hELHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFDSTtZQUNILElBQUksQ0FBQyxHQUFHLHNCQUFzQixDQUFDO1lBQy9CLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLEtBQVE7UUFDOUIsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDOztZQUVwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksZ0JBQWdCLENBQUksSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFTO1FBQ2QsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYSxFQUFFLElBQU87UUFDM0IsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDekIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU07WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7WUFFaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLEtBQVU7UUFDbkMsSUFBSSxHQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0IsR0FBRyxFQUFFLENBQUM7U0FDUDtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBUztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksQ0FBQyxTQUF5RCxFQUFFLE9BQWE7UUFDM0UsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDeEIsU0FBUyxHQUFHLElBQUksQ0FBQztRQUVuQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBTUQsT0FBTyxDQUFDLElBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzVDOztZQUVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJyYXlfRW51bWVyYXRvcn0gZnJvbSBcIi4vQXJyYXlFbnVtZXJhdG9yXCI7XHJcbmltcG9ydCB7aXNVbmRlZmluZWR9IGZyb20gXCJ1dGlsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTGlzdDxUPiAgZXh0ZW5kcyBBcnJheTxUPiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGFycmF5RW51bWVyYXRvcj86IEFycmF5X0VudW1lcmF0b3I8VD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgTGlzdC5wcm90b3R5cGUpO1xyXG5cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFycmF5RW51bWVyYXRvci5jb25zdHJ1Y3RvciA9PT0gQXJyYXlfRW51bWVyYXRvcikge1xyXG4gICAgICB0aGlzLkFkZFJhbmdlKGFycmF5RW51bWVyYXRvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBBZGRSYW5nZShhcnJheUVudW1lcmF0b3I6IEFycmF5X0VudW1lcmF0b3I8VD4pXHJcbiAgQWRkUmFuZ2UoYXJyYXk6IEFycmF5PFQ+KVxyXG4gIEFkZFJhbmdlKGFycmF5RW51bWVyYXRvck9yQXJyYXk6IGFueSkge1xyXG4gICAgaWYgKGFycmF5RW51bWVyYXRvck9yQXJyYXkuY29uc3RydWN0b3IgPT09IEFycmF5KSB7XHJcbiAgICAgIGFycmF5RW51bWVyYXRvck9yQXJyYXkuZm9yRWFjaCgoaXRlbTogVCkgPT4ge1xyXG4gICAgICAgIHRoaXMucHVzaChpdGVtKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IGUgPSBhcnJheUVudW1lcmF0b3JPckFycmF5O1xyXG4gICAgICB3aGlsZSAoZS5Nb3ZlTmV4dCgpKSB7XHJcbiAgICAgICAgdGhpcy5wdXNoKGUuQ3VycmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldF9JdGVtKGluZGV4OiBudW1iZXIpOiBUIHtcclxuICAgIGlmIChpc1VuZGVmaW5lZCh0aGlzW2luZGV4XSkpXHJcbiAgICAgIHRoaXNbaW5kZXhdID0gbnVsbDtcclxuICAgIHJldHVybiB0aGlzW2luZGV4XTtcclxuICB9XHJcblxyXG4gIHNldF9JdGVtKGluZGV4OiBudW1iZXIsIHZhbHVlOiBUKTogdm9pZCB7XHJcbiAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMubGVuZ3RoKVxyXG4gICAgICB0aGlzW2luZGV4XSA9IHZhbHVlO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbmRleCBvdXQgb2YgYm91bmRzXCIpO1xyXG4gIH1cclxuXHJcbiAgR2V0RW51bWVyYXRvcigpOiBBcnJheV9FbnVtZXJhdG9yPFQ+IHtcclxuICAgIHJldHVybiBuZXcgQXJyYXlfRW51bWVyYXRvcjxUPih0aGlzKTtcclxuICB9XHJcblxyXG4gIFJlbW92ZShvYmplY3Q6IFQpOiB2b2lkIHtcclxuICAgIGxldCBpbmRleDogbnVtYmVyID0gdGhpcy5pbmRleE9mKG9iamVjdCk7XHJcblxyXG4gICAgaWYgKGluZGV4ID4gLTEpXHJcbiAgICAgIHRoaXMuUmVtb3ZlQXQoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgUmVtb3ZlQXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5SZW1vdmVSYW5nZShpbmRleCwgMSk7XHJcbiAgfVxyXG5cclxuICBSZW1vdmVSYW5nZShpbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwbGljZShpbmRleCwgY291bnQpO1xyXG4gIH1cclxuXHJcbiAgSW5zZXJ0KGluZGV4OiBudW1iZXIsIGl0ZW06IFQpOiB2b2lkIHtcclxuICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy5sZW5ndGgpXHJcbiAgICAgIHRoaXMuc3BsaWNlKGluZGV4LCAwLCBpdGVtKTtcclxuICAgIGVsc2UgaWYgKGluZGV4ID09PSB0aGlzLmxlbmd0aCkgLy8gaW5zZXJ0aW5nIGF0IGVuZCBtZWFucyBhcHBlbmRcclxuICAgICAgdGhpcy5wdXNoKGl0ZW0pO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbmRleCBvdXQgb2YgYm91bmRzXCIpO1xyXG4gIH1cclxuXHJcbiAgSW5zZXJ0UmFuZ2UoaW5kZXg6IG51bWJlciwgaXRlbXM6IFRbXSk6IHZvaWQge1xyXG4gICAgbGV0IGlkeDogbnVtYmVyID0gMDtcclxuICAgIHdoaWxlIChpZHggPCBpdGVtcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5JbnNlcnQoaWR4LCBpdGVtc1tpZHhdKTtcclxuICAgICAgaWR4Kys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBDbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuc3BsaWNlKDAsIHRoaXMubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIFRvQXJyYXkoKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLnNsaWNlKDApO1xyXG4gIH1cclxuXHJcbiAgQ29udGFpbnMob2JqZWN0OiBUKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbmRleE9mKG9iamVjdCkgPiAtMTtcclxuICB9XHJcblxyXG4gIGZpbmQocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIG9iajogVFtdKSA9PiBib29sZWFuLCB0aGlzQXJnPzogYW55KTogVCB7XHJcbiAgICBsZXQgZm91bmRJdGVtID0gc3VwZXIuZmluZChwcmVkaWNhdGUpO1xyXG4gICAgaWYgKGlzVW5kZWZpbmVkKGZvdW5kSXRlbSkpXHJcbiAgICAgIGZvdW5kSXRlbSA9IG51bGw7XHJcblxyXG4gICAgcmV0dXJuIGZvdW5kSXRlbTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gYWRkIG51bGwgY2VsbHMgdXAgdG8gJ3NpemUnIGNlbGxzLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic2l6ZVwiPjwvcGFyYW0+XHJcbiAgU2V0U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxlbmd0aCA+IHNpemUpIHtcclxuICAgICAgdGhpcy5SZW1vdmVSYW5nZShzaXplLCB0aGlzLmxlbmd0aCAtIHNpemUpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxlbmd0aCA9IHNpemU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -22,4 +22,4 @@ export class NChar {
22
22
  return isUpperCase(ch);
23
23
  }
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkNoYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL05DaGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE1BQU0sT0FBTyxLQUFLO0lBQ2hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVztRQUM3QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDaEMsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixPQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN4QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVc7UUFDekIsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQVU7UUFDdkIsT0FBTyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBVTtRQUN2QixPQUFPLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmltcG9ydCB7aXNBc2NpaUxldHRlciwgaXNEaWdpdCwgaXNMb3dlckNhc2UsIGlzVXBwZXJDYXNlLCBpc1doaXRlc3BhY2V9IGZyb20gXCIuL1N0cmluZ1V0aWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTkNoYXIge1xyXG4gIHN0YXRpYyBJc1doaXRlU3BhY2Uoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGxldCBjaCA9IHN0ci5jaGFyQ29kZUF0KDApO1xyXG4gICAgcmV0dXJuIGlzV2hpdGVzcGFjZShjaCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgSXNMZXR0ZXJPckRpZ2l0KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY2ggPSBzdHIuY2hhckNvZGVBdCgwKTtcclxuICAgIHJldHVybiBpc0RpZ2l0KGNoKSB8fCBpc0FzY2lpTGV0dGVyKGNoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBJc0RpZ2l0KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY2ggPSBzdHIuY2hhckNvZGVBdCgwKTtcclxuICAgIHJldHVybiBpc0RpZ2l0KGNoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBJc0xldHRlcihsdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGlzQXNjaWlMZXR0ZXIobHRyLmNoYXJDb2RlQXQoMCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIElzTG93ZXIoY2g6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGlzTG93ZXJDYXNlKGNoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBJc1VwcGVyKGNoOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpc1VwcGVyQ2FzZShjaClcclxuICB9XHJcbn1cclxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkNoYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL05DaGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE1BQU0sT0FBTyxLQUFLO0lBQ2hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVztRQUM3QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDaEMsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixPQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN4QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVc7UUFDekIsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQVU7UUFDdkIsT0FBTyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBVTtRQUN2QixPQUFPLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmltcG9ydCB7aXNBc2NpaUxldHRlciwgaXNEaWdpdCwgaXNMb3dlckNhc2UsIGlzVXBwZXJDYXNlLCBpc1doaXRlc3BhY2V9IGZyb20gXCIuL1N0cmluZ1V0aWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTkNoYXIge1xyXG4gIHN0YXRpYyBJc1doaXRlU3BhY2Uoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGxldCBjaCA9IHN0ci5jaGFyQ29kZUF0KDApO1xyXG4gICAgcmV0dXJuIGlzV2hpdGVzcGFjZShjaCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgSXNMZXR0ZXJPckRpZ2l0KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY2ggPSBzdHIuY2hhckNvZGVBdCgwKTtcclxuICAgIHJldHVybiBpc0RpZ2l0KGNoKSB8fCBpc0FzY2lpTGV0dGVyKGNoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBJc0RpZ2l0KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY2ggPSBzdHIuY2hhckNvZGVBdCgwKTtcclxuICAgIHJldHVybiBpc0RpZ2l0KGNoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBJc0xldHRlcihsdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGlzQXNjaWlMZXR0ZXIobHRyLmNoYXJDb2RlQXQoMCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIElzTG93ZXIoY2g6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGlzTG93ZXJDYXNlKGNoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBJc1VwcGVyKGNoOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpc1VwcGVyQ2FzZShjaClcclxuICB9XHJcbn1cclxuIl19
@@ -4,11 +4,6 @@ export var NumberStyles;
4
4
  NumberStyles[NumberStyles["HexNumber"] = 0] = "HexNumber";
5
5
  })(NumberStyles || (NumberStyles = {}));
6
6
  export class NNumber {
7
- /// <summary>
8
- /// convert a string to number
9
- /// for blank string , it will return 0
10
- /// for incorrect format it will return NaN
11
- /// <summary>
12
7
  static Parse(text, style) {
13
8
  if (arguments.length === 2) {
14
9
  if (style === NumberStyles.HexNumber)
@@ -16,20 +11,12 @@ export class NNumber {
16
11
  else
17
12
  throw new NotImplementedException();
18
13
  }
19
- return +text; // use unary + operator to convert string to number.
14
+ return +text;
20
15
  }
21
- /// <summary>
22
- /// convert a string to number
23
- /// return true if string is correctly parsed i.e pvalue.value is number
24
- /// for incorrect format it will return false
25
- /// <summary>
26
16
  static TryParse(str, pvalue) {
27
17
  pvalue.value = +str;
28
18
  return !isNaN(pvalue.value);
29
19
  }
30
- /// <summary>
31
- /// convert a number to string with specified format
32
- /// <summary>
33
20
  static ToString(num, format) {
34
21
  if (format === 'X2') {
35
22
  let res = num.toString(16);
@@ -38,4 +25,4 @@ export class NNumber {
38
25
  throw new NotImplementedException();
39
26
  }
40
27
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTk51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTk51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLENBQU4sSUFBWSxZQUVYO0FBRkQsV0FBWSxZQUFZO0lBQ3RCLHlEQUFTLENBQUE7QUFDWCxDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkI7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUVsQixhQUFhO0lBQ2IsK0JBQStCO0lBQy9CLHVDQUF1QztJQUN2Qyw0Q0FBNEM7SUFDNUMsYUFBYTtJQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBWSxFQUFFLEtBQW9CO1FBQzdDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxLQUFLLEtBQUssWUFBWSxDQUFDLFNBQVM7Z0JBQ2xDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQzs7Z0JBRTFCLE1BQU0sSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1NBQ3ZDO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLHFEQUFxRDtJQUNyRSxDQUFDO0lBR0QsYUFBYTtJQUNiLCtCQUErQjtJQUMvQix5RUFBeUU7SUFDekUsOENBQThDO0lBQzlDLGFBQWE7SUFDYixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxNQUF3QjtRQUNuRCxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhO0lBQ2IscURBQXFEO0lBQ3JELGFBQWE7SUFDYixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxNQUFjO1FBQ3pDLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtZQUNuQixJQUFJLEdBQUcsR0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUMzQztRQUNELE1BQU0sSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVmUGFyYW19IGZyb20gXCIuL1JlZlBhcmFtXCI7XHJcbmltcG9ydCB7Tm90SW1wbGVtZW50ZWRFeGNlcHRpb259IGZyb20gXCIuL05vdEltcGxlbWVudGVkRXhjZXB0aW9uXCI7XHJcblxyXG5leHBvcnQgZW51bSBOdW1iZXJTdHlsZXMge1xyXG4gIEhleE51bWJlclxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTk51bWJlciB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGNvbnZlcnQgYSBzdHJpbmcgdG8gbnVtYmVyXHJcbiAgLy8vIGZvciBibGFuayBzdHJpbmcgLCBpdCB3aWxsIHJldHVybiAwXHJcbiAgLy8vICBmb3IgaW5jb3JyZWN0IGZvcm1hdCBpdCB3aWxsIHJldHVybiBOYU5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgc3RhdGljIFBhcnNlKHRleHQ6IHN0cmluZywgc3R5bGU/OiBOdW1iZXJTdHlsZXMpOiBudW1iZXIge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcclxuICAgICAgaWYgKHN0eWxlID09PSBOdW1iZXJTdHlsZXMuSGV4TnVtYmVyKVxyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0ZXh0LCAxNik7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTtcclxuICAgIH1cclxuICAgIHJldHVybiArdGV4dDsgLy8gdXNlIHVuYXJ5ICsgb3BlcmF0b3IgdG8gY29udmVydCBzdHJpbmcgIHRvIG51bWJlci5cclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBjb252ZXJ0IGEgc3RyaW5nIHRvIG51bWJlclxyXG4gIC8vLyAgcmV0dXJuIHRydWUgaWYgc3RyaW5nIGlzIGNvcnJlY3RseSBwYXJzZWQgaS5lIHB2YWx1ZS52YWx1ZSBpcyBudW1iZXJcclxuICAvLy8gIGZvciBpbmNvcnJlY3QgZm9ybWF0IGl0IHdpbGwgcmV0dXJuIGZhbHNlXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIHN0YXRpYyBUcnlQYXJzZShzdHI6IHN0cmluZywgcHZhbHVlOiBSZWZQYXJhbTxudW1iZXI+KTogYm9vbGVhbiB7XHJcbiAgICBwdmFsdWUudmFsdWUgPSArc3RyO1xyXG4gICAgcmV0dXJuICFpc05hTihwdmFsdWUudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgY29udmVydCBhIG51bWJlciB0byBzdHJpbmcgd2l0aCBzcGVjaWZpZWQgZm9ybWF0XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIHN0YXRpYyBUb1N0cmluZyhudW06IG51bWJlciwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ1gyJykge1xyXG4gICAgICBsZXQgcmVzOiBzdHJpbmcgPSBudW0udG9TdHJpbmcoMTYpO1xyXG4gICAgICByZXR1cm4gcmVzLmxlbmd0aCA9PT0gMSA/ICcwJyArIHJlcyA6IHJlcztcclxuICAgIH1cclxuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTk51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTk51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLENBQU4sSUFBWSxZQUVYO0FBRkQsV0FBWSxZQUFZO0lBQ3RCLHlEQUFTLENBQUE7QUFDWCxDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkI7QUFFRCxNQUFNLE9BQU8sT0FBTztJQU9sQixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFvQjtRQUM3QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksS0FBSyxLQUFLLFlBQVksQ0FBQyxTQUFTO2dCQUNsQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7O2dCQUUxQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztTQUN2QztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO0lBUUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFXLEVBQUUsTUFBd0I7UUFDbkQsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBS0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFXLEVBQUUsTUFBYztRQUN6QyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsSUFBSSxHQUFHLEdBQVcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDM0M7UUFDRCxNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlZlBhcmFtfSBmcm9tIFwiLi9SZWZQYXJhbVwiO1xyXG5pbXBvcnQge05vdEltcGxlbWVudGVkRXhjZXB0aW9ufSBmcm9tIFwiLi9Ob3RJbXBsZW1lbnRlZEV4Y2VwdGlvblwiO1xyXG5cclxuZXhwb3J0IGVudW0gTnVtYmVyU3R5bGVzIHtcclxuICBIZXhOdW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5OdW1iZXIge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBjb252ZXJ0IGEgc3RyaW5nIHRvIG51bWJlclxyXG4gIC8vLyBmb3IgYmxhbmsgc3RyaW5nICwgaXQgd2lsbCByZXR1cm4gMFxyXG4gIC8vLyAgZm9yIGluY29ycmVjdCBmb3JtYXQgaXQgd2lsbCByZXR1cm4gTmFOXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIHN0YXRpYyBQYXJzZSh0ZXh0OiBzdHJpbmcsIHN0eWxlPzogTnVtYmVyU3R5bGVzKTogbnVtYmVyIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gTnVtYmVyU3R5bGVzLkhleE51bWJlcilcclxuICAgICAgICByZXR1cm4gcGFyc2VJbnQodGV4dCwgMTYpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gK3RleHQ7IC8vIHVzZSB1bmFyeSArIG9wZXJhdG9yIHRvIGNvbnZlcnQgc3RyaW5nICB0byBudW1iZXIuXHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgY29udmVydCBhIHN0cmluZyB0byBudW1iZXJcclxuICAvLy8gIHJldHVybiB0cnVlIGlmIHN0cmluZyBpcyBjb3JyZWN0bHkgcGFyc2VkIGkuZSBwdmFsdWUudmFsdWUgaXMgbnVtYmVyXHJcbiAgLy8vICBmb3IgaW5jb3JyZWN0IGZvcm1hdCBpdCB3aWxsIHJldHVybiBmYWxzZVxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICBzdGF0aWMgVHJ5UGFyc2Uoc3RyOiBzdHJpbmcsIHB2YWx1ZTogUmVmUGFyYW08bnVtYmVyPik6IGJvb2xlYW4ge1xyXG4gICAgcHZhbHVlLnZhbHVlID0gK3N0cjtcclxuICAgIHJldHVybiAhaXNOYU4ocHZhbHVlLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGNvbnZlcnQgYSBudW1iZXIgdG8gc3RyaW5nIHdpdGggc3BlY2lmaWVkIGZvcm1hdFxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICBzdGF0aWMgVG9TdHJpbmcobnVtOiBudW1iZXIsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChmb3JtYXQgPT09ICdYMicpIHtcclxuICAgICAgbGV0IHJlczogc3RyaW5nID0gbnVtLnRvU3RyaW5nKDE2KTtcclxuICAgICAgcmV0dXJuIHJlcy5sZW5ndGggPT09IDEgPyAnMCcgKyByZXMgOiByZXM7XHJcbiAgICB9XHJcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,6 +1,5 @@
1
1
  import { isNullOrUndefined } from "util";
2
2
  import { Exception } from "./Exception";
3
- // @dynamic
4
3
  export class NString {
5
4
  static IndexOf(str, searchStr, startIndex, count) {
6
5
  let index = str.substr(startIndex, count).indexOf(searchStr);
@@ -49,7 +48,7 @@ export class NString {
49
48
  for (i = 0, l = str.length; i < l; i++) {
50
49
  ch = str.charCodeAt(i);
51
50
  hash = ((hash << 5) - hash) + ch;
52
- hash |= 0; // Convert to 32bit integer
51
+ hash |= 0;
53
52
  }
54
53
  return hash;
55
54
  }
@@ -104,17 +103,14 @@ export class NString {
104
103
  let lenA = strA.length;
105
104
  let lenB = strB.length;
106
105
  let len = Math.min(lenA, lenB);
107
- // compare character by character
108
106
  for (let i = 0; i < len; i++) {
109
107
  if (strA[i].charCodeAt(0) !== strB[i].charCodeAt(0)) {
110
108
  return strA[i].charCodeAt(0) - strB[i].charCodeAt(0);
111
109
  }
112
110
  }
113
- // if all characters are same , but length is different return the difference of length
114
111
  if (lenA !== lenB) {
115
112
  return lenA - lenB;
116
113
  }
117
- // all chars are same , so strings are equal
118
114
  return 0;
119
115
  }
120
116
  static PadRight(source, maxLength, fillString) {
@@ -130,8 +126,6 @@ export class NString {
130
126
  }
131
127
  static Replace(str, orgSubStr, newSubStr) {
132
128
  let resultStr = '';
133
- // fixed defect 151810: replace "*" with "\*" before we update the string so * will be as char and not reg exp
134
- // also for special chars $ ^ . ? + , [
135
129
  orgSubStr = orgSubStr.replace(new RegExp("\\\\", 'g'), "\\\\");
136
130
  orgSubStr = orgSubStr.replace(new RegExp("\\*", 'g'), "\\\*");
137
131
  orgSubStr = orgSubStr.replace(new RegExp("\\$", 'g'), "\\\$");
@@ -152,4 +146,4 @@ export class NString {
152
146
  }
153
147
  }
154
148
  NString.Empty = "";
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTlN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTlN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUd0QyxXQUFXO0FBQ1gsTUFBTSxPQUFPLE9BQU87SUFHaEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsU0FBYyxFQUFFLFVBQWtCLEVBQUUsS0FBYTtRQUN6RSxJQUFJLEtBQUssR0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckUsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFXLEVBQUUsSUFBYyxFQUFFLFVBQWtCLEVBQUUsS0FBYTtRQUM1RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNiLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDL0I7U0FDSjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxD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QyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVSxFQUFFLFNBQWlCLEVBQUUsU0FBaUI7UUFDN0QsSUFBSSxTQUFTLEdBQVUsRUFBRSxDQUFDO1FBRTFCLCtHQUErRztRQUMvRyx1Q0FBdUM7UUFDdkMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdELElBQUk7WUFDRixTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7QUFwTFEsYUFBSyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQge2lzTnVsbE9yVW5kZWZpbmVkfSBmcm9tIFwidXRpbFwiO1xyXG5pbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSBcIi4vRXhjZXB0aW9uXCI7XHJcblxyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIE5TdHJpbmcge1xyXG4gICAgc3RhdGljIEVtcHR5ID0gXCJcIjtcclxuXHJcbiAgICBzdGF0aWMgSW5kZXhPZihzdHI6IHN0cmluZywgc2VhcmNoU3RyOiBhbnksIHN0YXJ0SW5kZXg6IG51bWJlciwgY291bnQ6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IGluZGV4OiBudW1iZXIgPSBzdHIuc3Vic3RyKHN0YXJ0SW5kZXgsIGNvdW50KS5pbmRleE9mKHNlYXJjaFN0cik7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gLTEgPyBzdGFydEluZGV4ICsgaW5kZXggOiBpbmRleDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgSW5kZXhPZkFueShzdHI6IHN0cmluZywgc3Viczogc3RyaW5nW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgY291bnQ6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7XHJcbiAgICAgICAgICAgIGxldCBjID0gc3RyLmNoYXJBdChzdGFydEluZGV4ICsgaSk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgc3Vicy5sZW5ndGg7ICsraikge1xyXG4gICAgICAgICAgICAgICAgaWYgKGMgPT09IHN1YnNbal0pXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChzdGFydEluZGV4ICsgaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBDb3B5VG8oc291cmNlOiBzdHJpbmcsIHNvdXJjZUluZGV4OiBudW1iZXIsIGRlc3RpbmF0aW9uOiBzdHJpbmdbXSwgZGVzdGluYXRpb25JbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uW2Rlc3RpbmF0aW9uSW5kZXggKyBpXSA9IHNvdXJjZVtzb3VyY2VJbmRleCArIGldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQ29tcGFyZShzdHJBOiBzdHJpbmcsIHN0ckI6IHN0cmluZywgaWdub3JlQ2FzZTogYm9vbGVhbik6IG51bWJlclxyXG4gICAgc3RhdGljIENvbXBhcmUoc3RyQTogc3RyaW5nLCBzdHJCOiBzdHJpbmcsIGlnbm9yZUNhc2U6IGJvb2xlYW4sIGluZGV4QTogbnVtYmVyLCBpbmRleEI6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiBudW1iZXJcclxuICAgIHN0YXRpYyBDb21wYXJlKHN0ckE6IHN0cmluZywgc3RyQjogc3RyaW5nLCBpZ25vcmVDYXNlOiBib29sZWFuLCBpbmRleEE/OiBudW1iZXIsIGluZGV4Qj86IG51bWJlciwgbGVuZ3RoPzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9IDYpIHtcclxuICAgICAgICAgICAgc3RyQSA9IHN0ckEuc3Vic3RyKGluZGV4QSwgbGVuZ3RoKTtcclxuICAgICAgICAgICAgc3RyQiA9IHN0ckIuc3Vic3RyKGluZGV4QiwgbGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlnbm9yZUNhc2UpIHtcclxuICAgICAgICAgICAgc3RyQSA9IHN0ckEudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgc3RyQiA9IHN0ckIudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0ckEubG9jYWxlQ29tcGFyZShzdHJCKTtcclxuICAgIH1cclxuXHJcblxyXG4gIHN0YXRpYyBFcXVhbHMoc3RyQTogc3RyaW5nLCBzdHJCOiBzdHJpbmcsIGlnbm9yZUNhc2U6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICghTlN0cmluZy5Jc051bGxPckVtcHR5KHN0ckEpICYmICFOU3RyaW5nLklzTnVsbE9yRW1wdHkoc3RyQikpIHtcclxuICAgICAgaWYgKGlnbm9yZUNhc2UpIHtcclxuICAgICAgICBzdHJBID0gc3RyQS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIHN0ckIgPSBzdHJCLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0ckEgPT09IHN0ckI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAgIHN0YXRpYyBHZXRIYXNoQ29kZShzdHI6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgdmFyIGhhc2ggPSAwLCBpLCBsLCBjaDtcclxuICAgICAgICBpZiAoc3RyLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGhhc2g7XHJcbiAgICAgICAgZm9yIChpID0gMCwgbCA9IHN0ci5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICAgICAgY2ggPSBzdHIuY2hhckNvZGVBdChpKTtcclxuICAgICAgICAgICAgaGFzaCA9ICgoaGFzaCA8PCA1KSAtIGhhc2gpICsgY2g7XHJcbiAgICAgICAgICAgIGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBoYXNoO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgUmVtb3ZlKHN0cjogc3RyaW5nLCBzdGFydEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyLnN1YnN0cigwLCBzdGFydEluZGV4IC0gMSkgKyBzdHIuc3Vic3RyKHN0YXJ0SW5kZXggKyBsZW5ndGggLSAxKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVHJpbVN0YXJ0KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXHNcXHMqLywgJycpXHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIFRyaW1FbmQoc3RyaW5nOiBzdHJpbmcsIHRyaW1DaGFycz86IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSlcclxuICAgICAgICAgICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9cXHNcXHMqJC8sICcnKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB0cmltQ2hhcnMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgbGV0IHRyaW1DaGFyID0gdHJpbUNoYXJzW2pdO1xyXG4gICAgICAgICAgICBsZXQgaSA9IHN0cmluZy5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICB3aGlsZSAoIWlzTnVsbE9yVW5kZWZpbmVkKHN0cmluZ1tpXSkgJiYgc3RyaW5nW2ldLmVuZHNXaXRoKHRyaW1DaGFyKSkge1xyXG4gICAgICAgICAgICAgICAgc3RyaW5nID0gTlN0cmluZy5SZW1vdmUoc3RyaW5nLCBzdHJpbmcubGVuZ3RoLCAxKTtcclxuICAgICAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBGb3JtYXQoZm9ybWF0OiBzdHJpbmcsIGFyZzA6IGFueSwgYXJnMT86IGFueSwgYXJnMj86IGFueSwgYXJnMz86IGFueSwgYXJnND86IGFueSwgYXJnNT86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChhcmcwKSAmJiBhcmcwLmNvbnN0cnVjdG9yID09PSBBcnJheSkge1xyXG4gICAgICAgICAgICB2YXIgcyA9IGZvcm1hdCxcclxuICAgICAgICAgICAgICAgIGkgPSBhcmcwLmxlbmd0aDtcclxuICAgICAgICAgICAgd2hpbGUgKGktLSkge1xyXG4gICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZShuZXcgUmVnRXhwKCdcXFxceycgKyBpICsgJ1xcXFx9JywgJ2dtJyksIGFyZzBbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdmFyIGFyZ3MgPSBbYXJnMCwgYXJnMSwgYXJnMiwgYXJnMywgYXJnNCwgYXJnNV07XHJcbiAgICAgICAgICAgIHJldHVybiBOU3RyaW5nLkZvcm1hdChmb3JtYXQsIGFyZ3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgSXNOdWxsT3JFbXB0eShzdHIxOiBzdHJpbmcgfCBOU3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFzdHIxO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBGcm9tQ2hhcnMoY2hPckNoYXJzOiBzdHJpbmdbXSlcclxuICAgIHN0YXRpYyBGcm9tQ2hhcnMoY2hPckNoYXJzOiBzdHJpbmdbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBsZW46IG51bWJlcilcclxuICAgIHN0YXRpYyBGcm9tQ2hhcnMoY2hPckNoYXJzOiBzdHJpbmdbXSwgc3RhcnRJbmRleD86IG51bWJlciwgbGVuPzogbnVtYmVyKSB7XHJcbiAgICAgICAgbGV0IHN0cjogc3RyaW5nID0gY2hPckNoYXJzLmpvaW4oJycpO1xyXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzKVxyXG4gICAgICAgICAgICByZXR1cm4gc3RyLnN1YnN0cihzdGFydEluZGV4LCBsZW4pO1xyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEZyb21DaGFyKGNoOiBzdHJpbmcsIGNvdW50KTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gKG5ldyBBcnJheTxzdHJpbmc+KGNvdW50KS5maWxsKDxzdHJpbmc+Y2gpKS5qb2luKCcnKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVG9DaGFyQXJyYXkoc3RyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQ29tcGFyZU9yZGluYWwoc3RyQTogc3RyaW5nLCBzdHJCOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBsZW5BID0gc3RyQS5sZW5ndGg7XHJcbiAgICAgICAgbGV0IGxlbkIgPSBzdHJCLmxlbmd0aDtcclxuXHJcbiAgICAgICAgbGV0IGxlbiA9IE1hdGgubWluKGxlbkEsIGxlbkIpO1xyXG5cclxuICAgICAgICAvLyBjb21wYXJlIGNoYXJhY3RlciBieSBjaGFyYWN0ZXJcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChzdHJBW2ldLmNoYXJDb2RlQXQoMCkgIT09IHN0ckJbaV0uY2hhckNvZGVBdCgwKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0ckFbaV0uY2hhckNvZGVBdCgwKSAtIHN0ckJbaV0uY2hhckNvZGVBdCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gaWYgYWxsIGNoYXJhY3RlcnMgYXJlIHNhbWUgLCBidXQgbGVuZ3RoIGlzIGRpZmZlcmVudCByZXR1cm4gdGhlIGRpZmZlcmVuY2Ugb2YgbGVuZ3RoXHJcbiAgICAgICAgaWYgKGxlbkEgIT09IGxlbkIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxlbkEgLSBsZW5CO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gYWxsIGNoYXJzIGFyZSBzYW1lICwgc28gc3RyaW5ncyBhcmUgZXF1YWxcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgUGFkUmlnaHQoc291cmNlOiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyLCBmaWxsU3RyaW5nPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoc291cmNlLmxlbmd0aCA+PSBtYXhMZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2U7XHJcblxyXG4gICAgICAgIGxldCBmaWxsTGVuID0gbWF4TGVuZ3RoIC0gc291cmNlLmxlbmd0aDtcclxuICAgICAgICBsZXQgdGltZXNUb1JlcGVhdCA9IE1hdGguY2VpbChmaWxsTGVuIC8gZmlsbFN0cmluZy5sZW5ndGgpO1xyXG4gICAgICAgIGxldCB0cnVuY2F0ZWRTdHJpbmdGaWxsZXIgPSBmaWxsU3RyaW5nLnJlcGVhdCh0aW1lc1RvUmVwZWF0KS5zbGljZSgwLCBmaWxsTGVuKTtcclxuICAgICAgICByZXR1cm4gc291cmNlICsgdHJ1bmNhdGVkU3RyaW5nRmlsbGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBJbnNlcnQoc3RyOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIGNoOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuc3Vic3RyKDAsIGluZGV4KSArIGNoICsgc3RyLnN1YnN0cihpbmRleCwgc3RyLmxlbmd0aCAtIGluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgc3RhdGljIFJlcGxhY2Uoc3RyOnN0cmluZywgb3JnU3ViU3RyOiBzdHJpbmcsIG5ld1N1YlN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHRTdHI6c3RyaW5nID0gJyc7XHJcblxyXG4gICAgLy8gZml4ZWQgZGVmZWN0IDE1MTgxMDogIHJlcGxhY2UgXCIqXCIgd2l0aCBcIlxcKlwiIGJlZm9yZSB3ZSB1cGRhdGUgdGhlIHN0cmluZyBzbyAqIHdpbGwgYmUgYXMgY2hhciBhbmQgbm90IHJlZyBleHBcclxuICAgIC8vIGFsc28gZm9yIHNwZWNpYWwgY2hhcnMgJCBeIC4gPyArICwgW1xyXG4gICAgb3JnU3ViU3RyID0gb3JnU3ViU3RyLnJlcGxhY2UobmV3IFJlZ0V4cChcIlxcXFxcXFxcXCIsICdnJyksIFwiXFxcXFxcXFxcIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXCpcIiwnZycpLCBcIlxcXFxcXCpcIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXCRcIiwnZycpLCBcIlxcXFxcXCRcIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXF5cIiwnZycpLCBcIlxcXFxcXF5cIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXC5cIiwnZycpLCBcIlxcXFxcXC5cIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXD9cIiwnZycpLCBcIlxcXFxcXD9cIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXCtcIiwnZycpLCBcIlxcXFxcXCtcIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXCxcIiwnZycpLCBcIlxcXFxcXCxcIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXFtcIiwnZycpLCBcIlxcXFxcXFtcIik7XHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXHxcIiwnZycpLCBcIlxcXFxcXHxcIik7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmVzdWx0U3RyID0gc3RyLnJlcGxhY2UobmV3IFJlZ0V4cChvcmdTdWJTdHIsJ2cnKSwgbmV3U3ViU3RyKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oZS5tZXNzYWdlKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRTdHI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTlN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTlN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUl0QyxNQUFNLE9BQU8sT0FBTztJQUdoQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVcsRUFBRSxTQUFjLEVBQUUsVUFBa0IsRUFBRSxLQUFhO1FBQ3pFLElBQUksS0FBSyxHQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRSxPQUFPLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFjLEVBQUUsVUFBa0IsRUFBRSxLQUFhO1FBQzVFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ2IsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUMvQjtTQUNKO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7SUFF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QzdFLENBQUM7SUFFSCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVUsRUFBRSxTQUFpQixFQUFFLFNBQWlCO1FBQzdELElBQUksU0FBUyxHQUFVLEVBQUUsQ0FBQztRQUkxQixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFN0QsSUFBSTtZQUNGLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvRDtRQUNELE9BQU8sQ0FBQyxFQUFFO1lBQ1IsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQXBMUSxhQUFLLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7aXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJ1dGlsXCI7XHJcbmltcG9ydCB7RXhjZXB0aW9ufSBmcm9tIFwiLi9FeGNlcHRpb25cIjtcclxuXHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgTlN0cmluZyB7XHJcbiAgICBzdGF0aWMgRW1wdHkgPSBcIlwiO1xyXG5cclxuICAgIHN0YXRpYyBJbmRleE9mKHN0cjogc3RyaW5nLCBzZWFyY2hTdHI6IGFueSwgc3RhcnRJbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgaW5kZXg6IG51bWJlciA9IHN0ci5zdWJzdHIoc3RhcnRJbmRleCwgY291bnQpLmluZGV4T2Yoc2VhcmNoU3RyKTtcclxuICAgICAgICByZXR1cm4gaW5kZXggPiAtMSA/IHN0YXJ0SW5kZXggKyBpbmRleCA6IGluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBJbmRleE9mQW55KHN0cjogc3RyaW5nLCBzdWJzOiBzdHJpbmdbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHtcclxuICAgICAgICAgICAgbGV0IGMgPSBzdHIuY2hhckF0KHN0YXJ0SW5kZXggKyBpKTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBzdWJzLmxlbmd0aDsgKytqKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYyA9PT0gc3Vic1tqXSlcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHN0YXJ0SW5kZXggKyBpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIENvcHlUbyhzb3VyY2U6IHN0cmluZywgc291cmNlSW5kZXg6IG51bWJlciwgZGVzdGluYXRpb246IHN0cmluZ1tdLCBkZXN0aW5hdGlvbkluZGV4OiBudW1iZXIsIGNvdW50OiBudW1iZXIpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgZGVzdGluYXRpb25bZGVzdGluYXRpb25JbmRleCArIGldID0gc291cmNlW3NvdXJjZUluZGV4ICsgaV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBDb21wYXJlKHN0ckE6IHN0cmluZywgc3RyQjogc3RyaW5nLCBpZ25vcmVDYXNlOiBib29sZWFuKTogbnVtYmVyXHJcbiAgICBzdGF0aWMgQ29tcGFyZShzdHJBOiBzdHJpbmcsIHN0ckI6IHN0cmluZywgaWdub3JlQ2FzZTogYm9vbGVhbiwgaW5kZXhBOiBudW1iZXIsIGluZGV4QjogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IG51bWJlclxyXG4gICAgc3RhdGljIENvbXBhcmUoc3RyQTogc3RyaW5nLCBzdHJCOiBzdHJpbmcsIGlnbm9yZUNhc2U6IGJvb2xlYW4sIGluZGV4QT86IG51bWJlciwgaW5kZXhCPzogbnVtYmVyLCBsZW5ndGg/OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID0gNikge1xyXG4gICAgICAgICAgICBzdHJBID0gc3RyQS5zdWJzdHIoaW5kZXhBLCBsZW5ndGgpO1xyXG4gICAgICAgICAgICBzdHJCID0gc3RyQi5zdWJzdHIoaW5kZXhCLCBsZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWdub3JlQ2FzZSkge1xyXG4gICAgICAgICAgICBzdHJBID0gc3RyQS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICBzdHJCID0gc3RyQi50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyQS5sb2NhbGVDb21wYXJlKHN0ckIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgc3RhdGljIEVxdWFscyhzdHJBOiBzdHJpbmcsIHN0ckI6IHN0cmluZywgaWdub3JlQ2FzZTogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkoc3RyQSkgJiYgIU5TdHJpbmcuSXNOdWxsT3JFbXB0eShzdHJCKSkge1xyXG4gICAgICBpZiAoaWdub3JlQ2FzZSkge1xyXG4gICAgICAgIHN0ckEgPSBzdHJBLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgc3RyQiA9IHN0ckIudG9Mb3dlckNhc2UoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3RyQSA9PT0gc3RyQjtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gICAgc3RhdGljIEdldEhhc2hDb2RlKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICB2YXIgaGFzaCA9IDAsIGksIGwsIGNoO1xyXG4gICAgICAgIGlmIChzdHIubGVuZ3RoID09PSAwKSByZXR1cm4gaGFzaDtcclxuICAgICAgICBmb3IgKGkgPSAwLCBsID0gc3RyLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBjaCA9IHN0ci5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgKyBjaDtcclxuICAgICAgICAgICAgaGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGhhc2g7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBSZW1vdmUoc3RyOiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIuc3Vic3RyKDAsIHN0YXJ0SW5kZXggLSAxKSArIHN0ci5zdWJzdHIoc3RhcnRJbmRleCArIGxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBUcmltU3RhcnQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvXlxcc1xccyovLCAnJylcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgVHJpbUVuZChzdHJpbmc6IHN0cmluZywgdHJpbUNoYXJzPzogc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1xcc1xccyokLywgJycpO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHRyaW1DaGFycy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBsZXQgdHJpbUNoYXIgPSB0cmltQ2hhcnNbal07XHJcbiAgICAgICAgICAgIGxldCBpID0gc3RyaW5nLmxlbmd0aCAtIDE7XHJcbiAgICAgICAgICAgIHdoaWxlICghaXNOdWxsT3JVbmRlZmluZWQoc3RyaW5nW2ldKSAmJiBzdHJpbmdbaV0uZW5kc1dpdGgodHJpbUNoYXIpKSB7XHJcbiAgICAgICAgICAgICAgICBzdHJpbmcgPSBOU3RyaW5nLlJlbW92ZShzdHJpbmcsIHN0cmluZy5sZW5ndGgsIDEpO1xyXG4gICAgICAgICAgICAgICAgaS0tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55LCBhcmcxPzogYW55LCBhcmcyPzogYW55LCBhcmczPzogYW55LCBhcmc0PzogYW55LCBhcmc1PzogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGFyZzApICYmIGFyZzAuY29uc3RydWN0b3IgPT09IEFycmF5KSB7XHJcbiAgICAgICAgICAgIHZhciBzID0gZm9ybWF0LFxyXG4gICAgICAgICAgICAgICAgaSA9IGFyZzAubGVuZ3RoO1xyXG4gICAgICAgICAgICB3aGlsZSAoaS0tKSB7XHJcbiAgICAgICAgICAgICAgICBzID0gcy5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcXFx7JyArIGkgKyAnXFxcXH0nLCAnZ20nKSwgYXJnMFtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB2YXIgYXJncyA9IFthcmcwLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0LCBhcmc1XTtcclxuICAgICAgICAgICAgcmV0dXJuIE5TdHJpbmcuRm9ybWF0KGZvcm1hdCwgYXJncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBJc051bGxPckVtcHR5KHN0cjE6IHN0cmluZyB8IE5TdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXN0cjE7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEZyb21DaGFycyhjaE9yQ2hhcnM6IHN0cmluZ1tdKVxyXG4gICAgc3RhdGljIEZyb21DaGFycyhjaE9yQ2hhcnM6IHN0cmluZ1tdLCBzdGFydEluZGV4OiBudW1iZXIsIGxlbjogbnVtYmVyKVxyXG4gICAgc3RhdGljIEZyb21DaGFycyhjaE9yQ2hhcnM6IHN0cmluZ1tdLCBzdGFydEluZGV4PzogbnVtYmVyLCBsZW4/OiBudW1iZXIpIHtcclxuICAgICAgICBsZXQgc3RyOiBzdHJpbmcgPSBjaE9yQ2hhcnMuam9pbignJyk7XHJcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpXHJcbiAgICAgICAgICAgIHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0SW5kZXgsIGxlbik7XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgRnJvbUNoYXIoY2g6IHN0cmluZywgY291bnQpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAobmV3IEFycmF5PHN0cmluZz4oY291bnQpLmZpbGwoPHN0cmluZz5jaCkpLmpvaW4oJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBUb0NoYXJBcnJheShzdHI6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBDb21wYXJlT3JkaW5hbChzdHJBOiBzdHJpbmcsIHN0ckI6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IGxlbkEgPSBzdHJBLmxlbmd0aDtcclxuICAgICAgICBsZXQgbGVuQiA9IHN0ckIubGVuZ3RoO1xyXG5cclxuICAgICAgICBsZXQgbGVuID0gTWF0aC5taW4obGVuQSwgbGVuQik7XHJcblxyXG4gICAgICAgIC8vIGNvbXBhcmUgY2hhcmFjdGVyIGJ5IGNoYXJhY3RlclxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHN0ckFbaV0uY2hhckNvZGVBdCgwKSAhPT0gc3RyQltpXS5jaGFyQ29kZUF0KDApKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyQVtpXS5jaGFyQ29kZUF0KDApIC0gc3RyQltpXS5jaGFyQ29kZUF0KDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBpZiBhbGwgY2hhcmFjdGVycyBhcmUgc2FtZSAsIGJ1dCBsZW5ndGggaXMgZGlmZmVyZW50IHJldHVybiB0aGUgZGlmZmVyZW5jZSBvZiBsZW5ndGhcclxuICAgICAgICBpZiAobGVuQSAhPT0gbGVuQikge1xyXG4gICAgICAgICAgICByZXR1cm4gbGVuQSAtIGxlbkI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBhbGwgY2hhcnMgYXJlIHNhbWUgLCBzbyBzdHJpbmdzIGFyZSBlcXVhbFxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBQYWRSaWdodChzb3VyY2U6IHN0cmluZywgbWF4TGVuZ3RoOiBudW1iZXIsIGZpbGxTdHJpbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChzb3VyY2UubGVuZ3RoID49IG1heExlbmd0aClcclxuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuXHJcbiAgICAgICAgbGV0IGZpbGxMZW4gPSBtYXhMZW5ndGggLSBzb3VyY2UubGVuZ3RoO1xyXG4gICAgICAgIGxldCB0aW1lc1RvUmVwZWF0ID0gTWF0aC5jZWlsKGZpbGxMZW4gLyBmaWxsU3RyaW5nLmxlbmd0aCk7XHJcbiAgICAgICAgbGV0IHRydW5jYXRlZFN0cmluZ0ZpbGxlciA9IGZpbGxTdHJpbmcucmVwZWF0KHRpbWVzVG9SZXBlYXQpLnNsaWNlKDAsIGZpbGxMZW4pO1xyXG4gICAgICAgIHJldHVybiBzb3VyY2UgKyB0cnVuY2F0ZWRTdHJpbmdGaWxsZXI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEluc2VydChzdHI6IHN0cmluZywgaW5kZXg6IG51bWJlciwgY2g6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5zdWJzdHIoMCwgaW5kZXgpICsgY2ggKyBzdHIuc3Vic3RyKGluZGV4LCBzdHIubGVuZ3RoIC0gaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICBzdGF0aWMgUmVwbGFjZShzdHI6c3RyaW5nLCBvcmdTdWJTdHI6IHN0cmluZywgbmV3U3ViU3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdFN0cjpzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvLyBmaXhlZCBkZWZlY3QgMTUxODEwOiAgcmVwbGFjZSBcIipcIiB3aXRoIFwiXFwqXCIgYmVmb3JlIHdlIHVwZGF0ZSB0aGUgc3RyaW5nIHNvICogd2lsbCBiZSBhcyBjaGFyIGFuZCBub3QgcmVnIGV4cFxyXG4gICAgLy8gYWxzbyBmb3Igc3BlY2lhbCBjaGFycyAkIF4gLiA/ICsgLCBbXHJcbiAgICBvcmdTdWJTdHIgPSBvcmdTdWJTdHIucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXFxcXFxcIiwgJ2cnKSwgXCJcXFxcXFxcXFwiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcKlwiLCdnJyksIFwiXFxcXFxcKlwiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcJFwiLCdnJyksIFwiXFxcXFxcJFwiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcXlwiLCdnJyksIFwiXFxcXFxcXlwiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcLlwiLCdnJyksIFwiXFxcXFxcLlwiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcP1wiLCdnJyksIFwiXFxcXFxcP1wiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcK1wiLCdnJyksIFwiXFxcXFxcK1wiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcLFwiLCdnJyksIFwiXFxcXFxcLFwiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcW1wiLCdnJyksIFwiXFxcXFxcW1wiKTtcclxuICAgIG9yZ1N1YlN0ciA9IG9yZ1N1YlN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCJcXFxcfFwiLCdnJyksIFwiXFxcXFxcfFwiKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICByZXN1bHRTdHIgPSBzdHIucmVwbGFjZShuZXcgUmVnRXhwKG9yZ1N1YlN0ciwnZycpLCBuZXdTdWJTdHIpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihlLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdFN0cjtcclxuICB9XHJcbn1cclxuIl19
@@ -4,4 +4,4 @@ export class NotImplementedException extends Exception {
4
4
  super(message);
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90SW1wbGVtZW50ZWRFeGNlcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL05vdEltcGxlbWVudGVkRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFdEMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFNBQVM7SUFDcEQsWUFBWSxVQUFrQixpQkFBaUI7UUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhjZXB0aW9ufSBmcm9tIFwiLi9FeGNlcHRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gXCJOb3QgaW1wbGVtZW50ZWRcIikge1xyXG4gICAgc3VwZXIobWVzc2FnZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90SW1wbGVtZW50ZWRFeGNlcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL05vdEltcGxlbWVudGVkRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFdEMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFNBQVM7SUFDcEQsWUFBWSxVQUFrQixpQkFBaUI7UUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhjZXB0aW9ufSBmcm9tIFwiLi9FeGNlcHRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbiBleHRlbmRzIEV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gXCJOb3QgaW1wbGVtZW50ZWRcIikge1xyXG4gICAgc3VwZXIobWVzc2FnZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  export class NumberFormatInfo {
2
2
  static GetLocaleDecimalSeperator() {
3
- return (1.1).toLocaleString()[1]; // get the decimal seperator of current locale
3
+ return (1.1).toLocaleString()[1];
4
4
  }
5
5
  }
6
6
  NumberFormatInfo.NegativeSign = '-';
7
7
  NumberFormatInfo.NumberDecimalSeparator = NumberFormatInfo.GetLocaleDecimalSeperator();
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnVtYmVyRm9ybWF0SW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTnVtYmVyRm9ybWF0SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWdCO0lBS25CLE1BQU0sQ0FBQyx5QkFBeUI7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsOENBQThDO0lBQ2xGLENBQUM7O0FBTnNCLDZCQUFZLEdBQVcsR0FBRyxDQUFDO0FBRTNCLHVDQUFzQixHQUFXLGdCQUFnQixDQUFDLHlCQUF5QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0SW5mbyB7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOZWdhdGl2ZVNpZ246IHN0cmluZyA9ICctJztcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOdW1iZXJEZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcgPSBOdW1iZXJGb3JtYXRJbmZvLkdldExvY2FsZURlY2ltYWxTZXBlcmF0b3IoKTtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgR2V0TG9jYWxlRGVjaW1hbFNlcGVyYXRvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICgxLjEpLnRvTG9jYWxlU3RyaW5nKClbMV07IC8vIGdldCB0aGUgZGVjaW1hbCBzZXBlcmF0b3Igb2YgY3VycmVudCBsb2NhbGVcclxuICB9XHJcbn1cclxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnVtYmVyRm9ybWF0SW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvTnVtYmVyRm9ybWF0SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWdCO0lBS25CLE1BQU0sQ0FBQyx5QkFBeUI7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7O0FBTnNCLDZCQUFZLEdBQVcsR0FBRyxDQUFDO0FBRTNCLHVDQUFzQixHQUFXLGdCQUFnQixDQUFDLHlCQUF5QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0SW5mbyB7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOZWdhdGl2ZVNpZ246IHN0cmluZyA9ICctJztcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOdW1iZXJEZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcgPSBOdW1iZXJGb3JtYXRJbmZvLkdldExvY2FsZURlY2ltYWxTZXBlcmF0b3IoKTtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgR2V0TG9jYWxlRGVjaW1hbFNlcGVyYXRvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICgxLjEpLnRvTG9jYWxlU3RyaW5nKClbMV07IC8vIGdldCB0aGUgZGVjaW1hbCBzZXBlcmF0b3Igb2YgY3VycmVudCBsb2NhbGVcclxuICB9XHJcbn1cclxuIl19
@@ -3,4 +3,4 @@ export class RefParam {
3
3
  this.value = value;
4
4
  }
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVmUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL1JlZlBhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBR25CLFlBQVksS0FBUTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUmVmUGFyYW08VD4ge1xyXG4gIHZhbHVlOiBUO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogVCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVmUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL1JlZlBhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBR25CLFlBQVksS0FBUTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUmVmUGFyYW08VD4ge1xyXG4gIHZhbHVlOiBUO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogVCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -31,4 +31,4 @@ export class Stack {
31
31
  return clone;
32
32
  }
33
33
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL1N0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxLQUFLO0lBSWhCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBUyxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxJQUFJLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sR0FBRztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBaUIsSUFBSSxLQUFLLEVBQVMsQ0FBQztRQUM3QyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU3RhY2s8VERhdGE+IHtcclxuXHJcbiAgcHJpdmF0ZSBfYXJyYXk6IEFycmF5PFREYXRhPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9hcnJheSA9IG5ldyBBcnJheTxURGF0YT4oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FycmF5Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FycmF5Lmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwdXNoKHZhbHVlOiBURGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9wKCk6IFREYXRhIHtcclxuICAgIHJldHVybiB0aGlzLl9hcnJheS5wb3AoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwZWVrKCk6IFREYXRhIHtcclxuICAgIGlmICh0aGlzLl9hcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9hcnJheVt0aGlzLl9hcnJheS5sZW5ndGggLSAxXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIENsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXJyYXkuc3BsaWNlKDAsIHRoaXMuX2FycmF5Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ2xvbmUoKTogU3RhY2s8VERhdGE+IHtcclxuICAgIGxldCBjbG9uZTogU3RhY2s8VERhdGE+ID0gbmV3IFN0YWNrPFREYXRhPigpO1xyXG4gICAgY2xvbmUuX2FycmF5ID0gdGhpcy5fYXJyYXkuc2xpY2UoKTtcclxuICAgIHJldHVybiBjbG9uZTtcclxuICB9XHJcbn1cclxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL1N0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxLQUFLO0lBSWhCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBUyxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxJQUFJLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sR0FBRztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBaUIsSUFBSSxLQUFLLEVBQVMsQ0FBQztRQUM3QyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU3RhY2s8VERhdGE+IHtcclxuXHJcbiAgcHJpdmF0ZSBfYXJyYXk6IEFycmF5PFREYXRhPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9hcnJheSA9IG5ldyBBcnJheTxURGF0YT4oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FycmF5Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FycmF5Lmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwdXNoKHZhbHVlOiBURGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9wKCk6IFREYXRhIHtcclxuICAgIHJldHVybiB0aGlzLl9hcnJheS5wb3AoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwZWVrKCk6IFREYXRhIHtcclxuICAgIGlmICh0aGlzLl9hcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9hcnJheVt0aGlzLl9hcnJheS5sZW5ndGggLSAxXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIENsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXJyYXkuc3BsaWNlKDAsIHRoaXMuX2FycmF5Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ2xvbmUoKTogU3RhY2s8VERhdGE+IHtcclxuICAgIGxldCBjbG9uZTogU3RhY2s8VERhdGE+ID0gbmV3IFN0YWNrPFREYXRhPigpO1xyXG4gICAgY2xvbmUuX2FycmF5ID0gdGhpcy5fYXJyYXkuc2xpY2UoKTtcclxuICAgIHJldHVybiBjbG9uZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,6 +1,4 @@
1
1
  import * as StackTrace from 'stacktrace-js';
2
- // StackFrame uses StackTrace utility using stacktrace-js utility from npm
3
- // https://www.npmjs.com/package/stacktrace-js
4
2
  export class StackFrame {
5
3
  constructor(skipFrames, fNeedFileInfo) {
6
4
  this.stackFrame = null;
@@ -13,4 +11,4 @@ export class StackFrame {
13
11
  return this.stackFrame.fileName;
14
12
  }
15
13
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tGcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvU3RhY2tGcmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUc1QywwRUFBMEU7QUFDMUUsOENBQThDO0FBQzlDLE1BQU0sT0FBTyxVQUFVO0lBR3JCLFlBQVksVUFBa0IsRUFBRSxhQUFzQjtRQUY5QyxlQUFVLEdBQWlCLElBQUksQ0FBQztRQUl0QyxJQUFJLFdBQVcsR0FBbUIsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLElBQUksV0FBVyxDQUFDLE1BQU07WUFDcEQsTUFBTyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU3RhY2tUcmFjZSBmcm9tICdzdGFja3RyYWNlLWpzJztcclxuaW1wb3J0IEpTU3RhY2tGcmFtZSA9IFN0YWNrVHJhY2UuU3RhY2tGcmFtZTtcclxuXHJcbi8vIFN0YWNrRnJhbWUgdXNlcyBTdGFja1RyYWNlIHV0aWxpdHkgdXNpbmcgc3RhY2t0cmFjZS1qcyB1dGlsaXR5IGZyb20gbnBtXHJcbi8vIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL3N0YWNrdHJhY2UtanNcclxuZXhwb3J0IGNsYXNzIFN0YWNrRnJhbWUge1xyXG4gIHByaXZhdGUgc3RhY2tGcmFtZTogSlNTdGFja0ZyYW1lID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3Ioc2tpcEZyYW1lczogbnVtYmVyLCBmTmVlZEZpbGVJbmZvOiBib29sZWFuKSB7XHJcblxyXG4gICAgbGV0IHN0YWNrRnJhbWVzOiBKU1N0YWNrRnJhbWVbXSA9IFN0YWNrVHJhY2UuZ2V0U3luYygpO1xyXG4gICAgaWYgKHNraXBGcmFtZXMgPCAwIHx8IHNraXBGcmFtZXMgPj0gc3RhY2tGcmFtZXMubGVuZ3RoKVxyXG4gICAgICB0aHJvdyAgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIHRoaXMuc3RhY2tGcmFtZSA9IHN0YWNrRnJhbWVzW3NraXBGcmFtZXNdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEZpbGVOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGFja0ZyYW1lLmZpbGVOYW1lO1xyXG4gIH1cclxufVxyXG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tGcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvU3RhY2tGcmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUs1QyxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFZLFVBQWtCLEVBQUUsYUFBc0I7UUFGOUMsZUFBVSxHQUFpQixJQUFJLENBQUM7UUFJdEMsSUFBSSxXQUFXLEdBQW1CLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2RCxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksVUFBVSxJQUFJLFdBQVcsQ0FBQyxNQUFNO1lBQ3BELE1BQU8sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFN0YWNrVHJhY2UgZnJvbSAnc3RhY2t0cmFjZS1qcyc7XHJcbmltcG9ydCBKU1N0YWNrRnJhbWUgPSBTdGFja1RyYWNlLlN0YWNrRnJhbWU7XHJcblxyXG4vLyBTdGFja0ZyYW1lIHVzZXMgU3RhY2tUcmFjZSB1dGlsaXR5IHVzaW5nIHN0YWNrdHJhY2UtanMgdXRpbGl0eSBmcm9tIG5wbVxyXG4vLyBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9zdGFja3RyYWNlLWpzXHJcbmV4cG9ydCBjbGFzcyBTdGFja0ZyYW1lIHtcclxuICBwcml2YXRlIHN0YWNrRnJhbWU6IEpTU3RhY2tGcmFtZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHNraXBGcmFtZXM6IG51bWJlciwgZk5lZWRGaWxlSW5mbzogYm9vbGVhbikge1xyXG5cclxuICAgIGxldCBzdGFja0ZyYW1lczogSlNTdGFja0ZyYW1lW10gPSBTdGFja1RyYWNlLmdldFN5bmMoKTtcclxuICAgIGlmIChza2lwRnJhbWVzIDwgMCB8fCBza2lwRnJhbWVzID49IHN0YWNrRnJhbWVzLmxlbmd0aClcclxuICAgICAgdGhyb3cgIG5ldyBFcnJvcihcIkFyZ3VtZW50IG91dCBvZiByYW5nZVwiKTtcclxuXHJcbiAgICB0aGlzLnN0YWNrRnJhbWUgPSBzdGFja0ZyYW1lc1tza2lwRnJhbWVzXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRGaWxlTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhY2tGcmFtZS5maWxlTmFtZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,12 +1,7 @@
1
1
  import * as JSStackTrace from 'stacktrace-js';
2
- // This uses StackTrace utility using stacktrace-js utility from npm. Use this in package.json
3
- // https://www.npmjs.com/package/stacktrace-js
4
2
  export class StackTrace {
5
3
  GetFrames() {
6
- // Using getSync() method, it returns references of callstack ethod from the javascript files bindled and not typeScript file from sources.
7
- // However, if aSync method would have used, it overcomes above problems but the call to log would have been async and we would not have
8
- // received synchronous logs which would be confusing.
9
4
  return JSStackTrace.getSync();
10
5
  }
11
6
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tUcmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvU3RhY2tUcmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUc5Qyw4RkFBOEY7QUFDOUYsOENBQThDO0FBQzlDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVM7UUFDUCwySUFBMkk7UUFDM0ksd0lBQXdJO1FBQ3hJLHNEQUFzRDtRQUN0RCxPQUFPLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBKU1N0YWNrVHJhY2UgZnJvbSAnc3RhY2t0cmFjZS1qcyc7XHJcbmltcG9ydCBKU1N0YWNrRnJhbWUgPSBKU1N0YWNrVHJhY2UuU3RhY2tGcmFtZTtcclxuXHJcbi8vIFRoaXMgdXNlcyBTdGFja1RyYWNlIHV0aWxpdHkgdXNpbmcgc3RhY2t0cmFjZS1qcyB1dGlsaXR5IGZyb20gbnBtLiBVc2UgdGhpcyBpbiBwYWNrYWdlLmpzb25cclxuLy8gaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2Uvc3RhY2t0cmFjZS1qc1xyXG5leHBvcnQgY2xhc3MgU3RhY2tUcmFjZSB7XHJcbiAgR2V0RnJhbWVzKCk6IEpTU3RhY2tGcmFtZVtdIHtcclxuICAgIC8vIFVzaW5nIGdldFN5bmMoKSBtZXRob2QsIGl0IHJldHVybnMgcmVmZXJlbmNlcyBvZiBjYWxsc3RhY2sgZXRob2QgZnJvbSB0aGUgamF2YXNjcmlwdCBmaWxlcyBiaW5kbGVkIGFuZCBub3QgdHlwZVNjcmlwdCBmaWxlIGZyb20gc291cmNlcy5cclxuICAgIC8vIEhvd2V2ZXIsIGlmIGFTeW5jIG1ldGhvZCB3b3VsZCBoYXZlIHVzZWQsIGl0IG92ZXJjb21lcyBhYm92ZSBwcm9ibGVtcyBidXQgdGhlIGNhbGwgdG8gbG9nIHdvdWxkIGhhdmUgYmVlbiBhc3luYyBhbmQgd2Ugd291bGQgbm90IGhhdmVcclxuICAgIC8vIHJlY2VpdmVkIHN5bmNocm9ub3VzIGxvZ3Mgd2hpY2ggd291bGQgYmUgY29uZnVzaW5nLlxyXG4gICAgcmV0dXJuIEpTU3RhY2tUcmFjZS5nZXRTeW5jKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tUcmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvU3RhY2tUcmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUs5QyxNQUFNLE9BQU8sVUFBVTtJQUNyQixTQUFTO1FBSVAsT0FBTyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgSlNTdGFja1RyYWNlIGZyb20gJ3N0YWNrdHJhY2UtanMnO1xyXG5pbXBvcnQgSlNTdGFja0ZyYW1lID0gSlNTdGFja1RyYWNlLlN0YWNrRnJhbWU7XHJcblxyXG4vLyBUaGlzIHVzZXMgU3RhY2tUcmFjZSB1dGlsaXR5IHVzaW5nIHN0YWNrdHJhY2UtanMgdXRpbGl0eSBmcm9tIG5wbS4gVXNlIHRoaXMgaW4gcGFja2FnZS5qc29uXHJcbi8vIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL3N0YWNrdHJhY2UtanNcclxuZXhwb3J0IGNsYXNzIFN0YWNrVHJhY2Uge1xyXG4gIEdldEZyYW1lcygpOiBKU1N0YWNrRnJhbWVbXSB7XHJcbiAgICAvLyBVc2luZyBnZXRTeW5jKCkgbWV0aG9kLCBpdCByZXR1cm5zIHJlZmVyZW5jZXMgb2YgY2FsbHN0YWNrIGV0aG9kIGZyb20gdGhlIGphdmFzY3JpcHQgZmlsZXMgYmluZGxlZCBhbmQgbm90IHR5cGVTY3JpcHQgZmlsZSBmcm9tIHNvdXJjZXMuXHJcbiAgICAvLyBIb3dldmVyLCBpZiBhU3luYyBtZXRob2Qgd291bGQgaGF2ZSB1c2VkLCBpdCBvdmVyY29tZXMgYWJvdmUgcHJvYmxlbXMgYnV0IHRoZSBjYWxsIHRvIGxvZyB3b3VsZCBoYXZlIGJlZW4gYXN5bmMgYW5kIHdlIHdvdWxkIG5vdCBoYXZlXHJcbiAgICAvLyByZWNlaXZlZCBzeW5jaHJvbm91cyBsb2dzIHdoaWNoIHdvdWxkIGJlIGNvbmZ1c2luZy5cclxuICAgIHJldHVybiBKU1N0YWNrVHJhY2UuZ2V0U3luYygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,23 +1,13 @@
1
1
  import { Debug } from "./Debug";
2
2
  import { NString } from "./NString";
3
- // StringBuilder class. Its Implementation currently uses string object. It could have been string[], but it has issues when inserting string.
4
- // It would not have served purpose while inserting a string. Other could be to use string[] with one chraracter per string. Even its utility
5
- // is doubtful as while manipulation, it would be creting new objects instead pointers. So for now we have used only string and see if we have
6
- // any performance issues.
7
3
  export class StringBuilder {
8
4
  constructor(valueOrLength, length) {
9
5
  this.part = "";
10
6
  if (arguments.length > 0) {
11
7
  if (valueOrLength != null && valueOrLength.constructor === Number) {
12
- // TODO: Very low priority performance improvement - Implement this.
13
- // Debug.Assert(false, "StringBuilder: NotImplemented constructor with initial length/capacity");
14
- // throw new Error("NotImplemented constructor with initial length/capacity");
15
8
  }
16
9
  else if (valueOrLength != null && valueOrLength.constructor === String) {
17
10
  this.part = valueOrLength.toString();
18
- // TODO: Very low priority performance improvement - Implement this.
19
- // if (arguments.length === 2)
20
- // Debug.Assert(false, "NotImplemented constructor with initial length/capacity");
21
11
  }
22
12
  }
23
13
  }
@@ -38,17 +28,14 @@ export class StringBuilder {
38
28
  this.AppendNumber(textOrNum, startIndexOrNumberOfCharacters);
39
29
  return this;
40
30
  }
41
- // Append string
42
31
  AppendString(text, startIndex = 0, charCount = text.length) {
43
32
  this.part = this.part + text.substr(startIndex, charCount);
44
33
  }
45
- // Append Number
46
34
  AppendNumber(num, numberOfCharacters = 1) {
47
35
  if (numberOfCharacters <= 0)
48
36
  throw new Error("numberOfCharacters cannot be less than or equal to zero");
49
37
  this.part = this.part + num.toString().repeat(numberOfCharacters);
50
38
  }
51
- // Append Line
52
39
  AppendLine(text = null) {
53
40
  if (text !== null)
54
41
  this.part = this.part + text;
@@ -118,9 +105,8 @@ export class StringBuilder {
118
105
  }
119
106
  return this;
120
107
  }
121
- // return the string
122
108
  toString() {
123
109
  return this.ToString();
124
110
  }
125
111
  }
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvU3RyaW5nQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFbEMsOElBQThJO0FBQzlJLDhJQUE4STtBQUM5SSw4SUFBOEk7QUFDOUksMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQVksYUFBbUIsRUFBRSxNQUFlO1FBTHhDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFNeEIsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixJQUFJLGFBQWEsSUFBSSxJQUFJLElBQUssYUFBYSxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUU7Z0JBQ2xFLG9FQUFvRTtnQkFDcEUsaUdBQWlHO2dCQUNqRywrRUFBK0U7YUFDaEY7aUJBQ0ksSUFBSSxhQUFhLElBQUksSUFBSSxJQUFLLGFBQWEsQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFO2dCQUN2RSxJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckMsb0VBQW9FO2dCQUNwRSw4QkFBOEI7Z0JBQzlCLG9GQUFvRjthQUNyRjtTQUNGO0lBQ0gsQ0FBQztJQU9ELE1BQU0sQ0FBQyxTQUFjLEVBQUUsOEJBQXVDLEVBQUUsU0FBa0I7UUFFaEYsSUFBSSxTQUFTLEtBQUssSUFBSTtZQUNwQixPQUFPLElBQUksQ0FBQztRQUVkLElBQUksU0FBUyxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUU7WUFDcEMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7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R0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDaEUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLE1BQU0sR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUU3RCxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxTQUFTLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUM7U0FDM0M7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWd9IGZyb20gXCIuL0RlYnVnXCI7XHJcbmltcG9ydCB7TlN0cmluZ30gZnJvbSBcIi4vTlN0cmluZ1wiO1xyXG5cclxuLy8gU3RyaW5nQnVpbGRlciBjbGFzcy4gSXRzIEltcGxlbWVudGF0aW9uIGN1cnJlbnRseSB1c2VzIHN0cmluZyBvYmplY3QuIEl0IGNvdWxkIGhhdmUgYmVlbiBzdHJpbmdbXSwgYnV0IGl0IGhhcyBpc3N1ZXMgd2hlbiBpbnNlcnRpbmcgc3RyaW5nLlxyXG4vLyBJdCB3b3VsZCBub3QgaGF2ZSBzZXJ2ZWQgcHVycG9zZSB3aGlsZSBpbnNlcnRpbmcgYSBzdHJpbmcuIE90aGVyICBjb3VsZCBiZSB0byB1c2Ugc3RyaW5nW10gd2l0aCBvbmUgY2hyYXJhY3RlciBwZXIgc3RyaW5nLiBFdmVuIGl0cyB1dGlsaXR5XHJcbi8vIGlzIGRvdWJ0ZnVsIGFzIHdoaWxlIG1hbmlwdWxhdGlvbiwgaXQgd291bGQgYmUgY3JldGluZyBuZXcgb2JqZWN0cyBpbnN0ZWFkIHBvaW50ZXJzLiBTbyBmb3Igbm93IHdlIGhhdmUgdXNlZCBvbmx5IHN0cmluZyBhbmQgc2VlIGlmIHdlIGhhdmVcclxuLy8gYW55IHBlcmZvcm1hbmNlIGlzc3Vlcy5cclxuZXhwb3J0IGNsYXNzIFN0cmluZ0J1aWxkZXIge1xyXG4gIHByaXZhdGUgcGFydDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLy8gQ3RvclxyXG4gIGNvbnN0cnVjdG9yKGxlbmd0aD86IG51bWJlcilcclxuICBjb25zdHJ1Y3Rvcih2YWx1ZT86IHN0cmluZywgbGVuZ3RoPzogbnVtYmVyKVxyXG4gIGNvbnN0cnVjdG9yKHZhbHVlT3JMZW5ndGg/OiBhbnksIGxlbmd0aD86IG51bWJlcikge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh2YWx1ZU9yTGVuZ3RoICE9IG51bGwgICYmIHZhbHVlT3JMZW5ndGguY29uc3RydWN0b3IgPT09IE51bWJlcikge1xyXG4gICAgICAgIC8vIFRPRE86IFZlcnkgbG93IHByaW9yaXR5IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IC0gSW1wbGVtZW50IHRoaXMuXHJcbiAgICAgICAgLy8gRGVidWcuQXNzZXJ0KGZhbHNlLCBcIlN0cmluZ0J1aWxkZXI6IE5vdEltcGxlbWVudGVkIGNvbnN0cnVjdG9yIHdpdGggaW5pdGlhbCBsZW5ndGgvY2FwYWNpdHlcIik7XHJcbiAgICAgICAgLy8gdGhyb3cgIG5ldyBFcnJvcihcIk5vdEltcGxlbWVudGVkIGNvbnN0cnVjdG9yIHdpdGggaW5pdGlhbCBsZW5ndGgvY2FwYWNpdHlcIik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodmFsdWVPckxlbmd0aCAhPSBudWxsICAmJiB2YWx1ZU9yTGVuZ3RoLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnBhcnQgPSB2YWx1ZU9yTGVuZ3RoLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgLy8gVE9ETzogVmVyeSBsb3cgcHJpb3JpdHkgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgLSBJbXBsZW1lbnQgdGhpcy5cclxuICAgICAgICAvLyBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMilcclxuICAgICAgICAvLyAgIERlYnVnLkFzc2VydChmYWxzZSwgXCJOb3RJbXBsZW1lbnRlZCBjb25zdHJ1Y3RvciB3aXRoIGluaXRpYWwgbGVuZ3RoL2NhcGFjaXR5XCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBcHBlbmRzIHN0cmluZy9udW1iZXJcclxuICBBcHBlbmQobnVtOiBudW1iZXIsIG51bWJlck9mQ2hhcmFjdGVycz86IG51bWJlcik6IFN0cmluZ0J1aWxkZXI7XHJcbiAgQXBwZW5kKHRleHQ6IHN0cmluZyk6IFN0cmluZ0J1aWxkZXI7XHJcbiAgQXBwZW5kKHRleHQ6IHN0cmluZywgbnVtYmVyT2ZDaGFyYWN0ZXJzOiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyO1xyXG4gIEFwcGVuZCh0ZXh0OiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgY2hhckNvdW50OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyO1xyXG4gIEFwcGVuZCh0ZXh0T3JOdW06IGFueSwgc3RhcnRJbmRleE9yTnVtYmVyT2ZDaGFyYWN0ZXJzPzogbnVtYmVyLCBjaGFyQ291bnQ/OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyIHtcclxuXHJcbiAgICBpZiAodGV4dE9yTnVtID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdGhpcztcclxuXHJcbiAgICBpZiAodGV4dE9yTnVtLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpIHtcclxuICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgdGhpcy5BcHBlbmRTdHJpbmcodGV4dE9yTnVtLnRvU3RyaW5nKCkpO1xyXG4gICAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgRGVidWcuQXNzZXJ0KHRleHRPck51bS5sZW5ndGggPT09IDEsIFwiY2hhcmFjdGVyIGlzIGV4cGVjdGVkIG5vdCBzdHJpbmdcIik7XHJcbiAgICAgICAgdGhpcy5BcHBlbmRTdHJpbmcodGV4dE9yTnVtLmNoYXJBdCgwKS5yZXBlYXQoc3RhcnRJbmRleE9yTnVtYmVyT2ZDaGFyYWN0ZXJzKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuQXBwZW5kU3RyaW5nKHRleHRPck51bS50b1N0cmluZygpLCBzdGFydEluZGV4T3JOdW1iZXJPZkNoYXJhY3RlcnMsIGNoYXJDb3VudCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuQXBwZW5kTnVtYmVyKHRleHRPck51bSwgc3RhcnRJbmRleE9yTnVtYmVyT2ZDaGFyYWN0ZXJzKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8vIEFwcGVuZCBzdHJpbmdcclxuICBwcml2YXRlIEFwcGVuZFN0cmluZyh0ZXh0OiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciA9IDAsIGNoYXJDb3VudDogbnVtYmVyID0gdGV4dC5sZW5ndGgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFydCA9IHRoaXMucGFydCArIHRleHQuc3Vic3RyKHN0YXJ0SW5kZXgsIGNoYXJDb3VudCk7XHJcbiAgfVxyXG5cclxuICAvLyBBcHBlbmQgTnVtYmVyXHJcbiAgcHJpdmF0ZSBBcHBlbmROdW1iZXIobnVtOiBudW1iZXIsIG51bWJlck9mQ2hhcmFjdGVyczogbnVtYmVyID0gMSk6IHZvaWQge1xyXG4gICAgaWYgKG51bWJlck9mQ2hhcmFjdGVycyA8PSAwKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJudW1iZXJPZkNoYXJhY3RlcnMgY2Fubm90IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB6ZXJvXCIpO1xyXG5cclxuICAgIHRoaXMucGFydCA9IHRoaXMucGFydCArIG51bS50b1N0cmluZygpLnJlcGVhdChudW1iZXJPZkNoYXJhY3RlcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gQXBwZW5kIExpbmVcclxuICBBcHBlbmRMaW5lKHRleHQ6IHN0cmluZyA9IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICh0ZXh0ICE9PSBudWxsKVxyXG4gICAgICB0aGlzLnBhcnQgPSB0aGlzLnBhcnQgKyB0ZXh0O1xyXG4gICAgdGhpcy5wYXJ0ID0gdGhpcy5wYXJ0ICsgJ1xcbic7XHJcbiAgfVxyXG5cclxuICAvLyBBcHBlbmQgRm9ybWF0dGVkIHN0cmluZ1xyXG4gIEFwcGVuZEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55KTogU3RyaW5nQnVpbGRlclxyXG4gIEFwcGVuZEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55LCBhcmcxOiBhbnkpOiBTdHJpbmdCdWlsZGVyXHJcbiAgQXBwZW5kRm9ybWF0KGZvcm1hdDogc3RyaW5nLCBhcmcwOiBhbnksIGFyZzE6IGFueSwgYXJnMjogYW55KTogU3RyaW5nQnVpbGRlclxyXG4gIEFwcGVuZEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55LCBhcmcxPzogYW55LCBhcmcyPzogYW55KTogU3RyaW5nQnVpbGRlciB7XHJcbiAgICB0aGlzLnBhcnQgPSB0aGlzLnBhcnQgKyBOU3RyaW5nLkZvcm1hdChmb3JtYXQsIGFyZzAsIGFyZzEsIGFyZzIpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyBDb252ZXJ0IHRvIHN0cmluZ1xyXG4gIFRvU3RyaW5nKCk6IHN0cmluZztcclxuICBUb1N0cmluZyhzdGFydEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nO1xyXG4gIFRvU3RyaW5nKHN0YXJ0SW5kZXggPzogbnVtYmVyLCBsZW5ndGggPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIGlmIChzdGFydEluZGV4IDwgMCB8fCBsZW5ndGggPCAwIHx8IChzdGFydEluZGV4ICsgbGVuZ3RoKSA+IHRoaXMucGFydC5sZW5ndGgpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMucGFydC5zdWJzdHIoc3RhcnRJbmRleCwgbGVuZ3RoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBhcnQ7XHJcbiAgfVxyXG5cclxuICBnZXQgTGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJ0Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldF9JdGVtKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLnBhcnQubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucGFydC5jaGFyQXQoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2V0X0l0ZW0oaW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLnBhcnQubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7XHJcblxyXG4gICAgRGVidWcuQXNzZXJ0KHZhbHVlLmxlbmd0aCA8PSAxLCBcIkxlbmd0aCBvZiBzdHJpbmcgY2Fubm90IGJlIG1vcmUgdGhhbiAxLiBPbmx5IGNoYXJhY3RlciBpcyBleHBlY3RlZFwiKTtcclxuICAgIGxldCBsZWZ0UGFydDogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZygwLCBpbmRleCk7XHJcbiAgICBsZXQgcmlnaHRQYXJ0OiBzdHJpbmcgPSB0aGlzLnBhcnQuc3Vic3RyaW5nKGluZGV4ICsgMSwgdGhpcy5wYXJ0Lmxlbmd0aCk7XHJcbiAgICB0aGlzLnBhcnQgPSBsZWZ0UGFydCArIHZhbHVlLmNoYXJBdCgwKSArIHJpZ2h0UGFydDtcclxuICB9XHJcblxyXG4gIEluc2VydChpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogU3RyaW5nQnVpbGRlciB7XHJcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gdGhpcy5wYXJ0Lmxlbmd0aClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIGxldCBsZWZ0UGFydDogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZygwLCBpbmRleCk7XHJcbiAgICBsZXQgcmlnaHRQYXJ0OiBzdHJpbmcgPSB0aGlzLnBhcnQuc3Vic3RyaW5nKGluZGV4LCB0aGlzLnBhcnQubGVuZ3RoKTtcclxuICAgIHRoaXMucGFydCA9IGxlZnRQYXJ0ICsgdmFsdWUgKyByaWdodFBhcnQ7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBSZW1vdmUoc3RhcnRJbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IFN0cmluZ0J1aWxkZXIge1xyXG4gICAgaWYgKHN0YXJ0SW5kZXggPCAwIHx8IGxlbmd0aCA8IDAgfHwgKHN0YXJ0SW5kZXggKyBsZW5ndGgpID4gdGhpcy5wYXJ0Lmxlbmd0aClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIGxldCBsZWZ0UGFydDogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZygwLCBzdGFydEluZGV4KTtcclxuICAgIGxldCByaWdodFBhcnQ6IHN0cmluZyA9IHRoaXMucGFydC5zdWJzdHJpbmcoc3RhcnRJbmRleCArIGxlbmd0aCwgdGhpcy5wYXJ0Lmxlbmd0aCk7XHJcbiAgICB0aGlzLnBhcnQgPSBsZWZ0UGFydCArIHJpZ2h0UGFydDtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIFJlcGxhY2Uob2xkVmFsdWU6IHN0cmluZywgbmV3VmFsdWU6IHN0cmluZyk6IFN0cmluZ0J1aWxkZXI7XHJcbiAgUmVwbGFjZShvbGRWYWx1ZTogc3RyaW5nLCBuZXdWYWx1ZTogc3RyaW5nLCBzdGFydEluZGV4OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyO1xyXG4gIFJlcGxhY2Uob2xkVmFsdWU6IHN0cmluZywgbmV3VmFsdWU6IHN0cmluZywgc3RhcnRJbmRleD86IG51bWJlciwgY291bnQ/OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyIHtcclxuICAgIGlmIChvbGRWYWx1ZSA9PT0gbnVsbClcclxuICAgICAgdGhyb3cgIG5ldyBFcnJvcihcIm9sZFZhbHVlIGNhbm5vdCBiZSBudWxsXCIpO1xyXG4gICAgZWxzZSBpZiAob2xkVmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aHJvdyAgbmV3IEVycm9yKFwiTGVuZ3RoIG9mIG9sZFZhbHVlIGNhbm5vdCBiZSAwXCIpO1xyXG5cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSA0KSB7XHJcbiAgICAgIGlmIChzdGFydEluZGV4IDwgMCB8fCBjb3VudCA8IDAgfHwgKHN0YXJ0SW5kZXggKyBjb3VudCkgPiB0aGlzLnBhcnQubGVuZ3RoKVxyXG4gICAgICAgIHRocm93ICBuZXcgRXJyb3IoXCJBcmd1bWVudCBvdXQgb2YgcmFuZ2VcIik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpXHJcbiAgICAgIHRoaXMucGFydCA9IHRoaXMucGFydC5yZXBsYWNlKG5ldyBSZWdFeHAob2xkVmFsdWUsICdnJyksIG5ld1ZhbHVlKTtcclxuICAgIGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDQpIHtcclxuICAgICAgbGV0IHN1YnN0cjogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZyhzdGFydEluZGV4LCBzdGFydEluZGV4ICsgY291bnQpO1xyXG4gICAgICBzdWJzdHIgPSBzdWJzdHIucmVwbGFjZShuZXcgUmVnRXhwKG9sZFZhbHVlLCAnZycpLCBuZXdWYWx1ZSk7XHJcblxyXG4gICAgICBsZXQgbGVmdFBhcnQ6IHN0cmluZyA9IHRoaXMucGFydC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCk7XHJcbiAgICAgIGxldCByaWdodFBhcnQ6IHN0cmluZyA9IHRoaXMucGFydC5zdWJzdHJpbmcoc3RhcnRJbmRleCArIGNvdW50LCB0aGlzLnBhcnQubGVuZ3RoKTtcclxuICAgICAgdGhpcy5wYXJ0ID0gbGVmdFBhcnQgKyBzdWJzdHIgKyByaWdodFBhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm4gdGhlIHN0cmluZ1xyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5Ub1N0cmluZygpO1xyXG4gIH1cclxufVxyXG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvU3RyaW5nQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFNbEMsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFBWSxhQUFtQixFQUFFLE1BQWU7UUFMeEMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQU14QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLElBQUksYUFBYSxJQUFJLElBQUksSUFBSyxhQUFhLENBQUMsV0FBVyxLQUFLLE1BQU0sRUFBRTthQUluRTtpQkFDSSxJQUFJLGFBQWEsSUFBSSxJQUFJLElBQUssYUFBYSxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBSXRDO1NBQ0Y7SUFDSCxDQUFDO0lBT0QsTUFBTSxDQUFDLFNBQWMsRUFBRSw4QkFBdUMsRUFBRSxTQUFrQjtRQUVoRixJQUFJLFNBQVMsS0FBSyxJQUFJO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBRWQsSUFBSSxTQUFTLENBQUMsV0FBVyxLQUFLLE1BQU0sRUFBRTtZQUNwQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztpQkFDckMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUN6RSxJQUFJLENBQUMs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LEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFN0QsSUFBSSxRQUFRLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFELElBQUksU0FBUyxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR0QsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWd9IGZyb20gXCIuL0RlYnVnXCI7XHJcbmltcG9ydCB7TlN0cmluZ30gZnJvbSBcIi4vTlN0cmluZ1wiO1xyXG5cclxuLy8gU3RyaW5nQnVpbGRlciBjbGFzcy4gSXRzIEltcGxlbWVudGF0aW9uIGN1cnJlbnRseSB1c2VzIHN0cmluZyBvYmplY3QuIEl0IGNvdWxkIGhhdmUgYmVlbiBzdHJpbmdbXSwgYnV0IGl0IGhhcyBpc3N1ZXMgd2hlbiBpbnNlcnRpbmcgc3RyaW5nLlxyXG4vLyBJdCB3b3VsZCBub3QgaGF2ZSBzZXJ2ZWQgcHVycG9zZSB3aGlsZSBpbnNlcnRpbmcgYSBzdHJpbmcuIE90aGVyICBjb3VsZCBiZSB0byB1c2Ugc3RyaW5nW10gd2l0aCBvbmUgY2hyYXJhY3RlciBwZXIgc3RyaW5nLiBFdmVuIGl0cyB1dGlsaXR5XHJcbi8vIGlzIGRvdWJ0ZnVsIGFzIHdoaWxlIG1hbmlwdWxhdGlvbiwgaXQgd291bGQgYmUgY3JldGluZyBuZXcgb2JqZWN0cyBpbnN0ZWFkIHBvaW50ZXJzLiBTbyBmb3Igbm93IHdlIGhhdmUgdXNlZCBvbmx5IHN0cmluZyBhbmQgc2VlIGlmIHdlIGhhdmVcclxuLy8gYW55IHBlcmZvcm1hbmNlIGlzc3Vlcy5cclxuZXhwb3J0IGNsYXNzIFN0cmluZ0J1aWxkZXIge1xyXG4gIHByaXZhdGUgcGFydDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLy8gQ3RvclxyXG4gIGNvbnN0cnVjdG9yKGxlbmd0aD86IG51bWJlcilcclxuICBjb25zdHJ1Y3Rvcih2YWx1ZT86IHN0cmluZywgbGVuZ3RoPzogbnVtYmVyKVxyXG4gIGNvbnN0cnVjdG9yKHZhbHVlT3JMZW5ndGg/OiBhbnksIGxlbmd0aD86IG51bWJlcikge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh2YWx1ZU9yTGVuZ3RoICE9IG51bGwgICYmIHZhbHVlT3JMZW5ndGguY29uc3RydWN0b3IgPT09IE51bWJlcikge1xyXG4gICAgICAgIC8vIFRPRE86IFZlcnkgbG93IHByaW9yaXR5IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IC0gSW1wbGVtZW50IHRoaXMuXHJcbiAgICAgICAgLy8gRGVidWcuQXNzZXJ0KGZhbHNlLCBcIlN0cmluZ0J1aWxkZXI6IE5vdEltcGxlbWVudGVkIGNvbnN0cnVjdG9yIHdpdGggaW5pdGlhbCBsZW5ndGgvY2FwYWNpdHlcIik7XHJcbiAgICAgICAgLy8gdGhyb3cgIG5ldyBFcnJvcihcIk5vdEltcGxlbWVudGVkIGNvbnN0cnVjdG9yIHdpdGggaW5pdGlhbCBsZW5ndGgvY2FwYWNpdHlcIik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodmFsdWVPckxlbmd0aCAhPSBudWxsICAmJiB2YWx1ZU9yTGVuZ3RoLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnBhcnQgPSB2YWx1ZU9yTGVuZ3RoLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgLy8gVE9ETzogVmVyeSBsb3cgcHJpb3JpdHkgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgLSBJbXBsZW1lbnQgdGhpcy5cclxuICAgICAgICAvLyBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMilcclxuICAgICAgICAvLyAgIERlYnVnLkFzc2VydChmYWxzZSwgXCJOb3RJbXBsZW1lbnRlZCBjb25zdHJ1Y3RvciB3aXRoIGluaXRpYWwgbGVuZ3RoL2NhcGFjaXR5XCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBcHBlbmRzIHN0cmluZy9udW1iZXJcclxuICBBcHBlbmQobnVtOiBudW1iZXIsIG51bWJlck9mQ2hhcmFjdGVycz86IG51bWJlcik6IFN0cmluZ0J1aWxkZXI7XHJcbiAgQXBwZW5kKHRleHQ6IHN0cmluZyk6IFN0cmluZ0J1aWxkZXI7XHJcbiAgQXBwZW5kKHRleHQ6IHN0cmluZywgbnVtYmVyT2ZDaGFyYWN0ZXJzOiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyO1xyXG4gIEFwcGVuZCh0ZXh0OiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgY2hhckNvdW50OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyO1xyXG4gIEFwcGVuZCh0ZXh0T3JOdW06IGFueSwgc3RhcnRJbmRleE9yTnVtYmVyT2ZDaGFyYWN0ZXJzPzogbnVtYmVyLCBjaGFyQ291bnQ/OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyIHtcclxuXHJcbiAgICBpZiAodGV4dE9yTnVtID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdGhpcztcclxuXHJcbiAgICBpZiAodGV4dE9yTnVtLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpIHtcclxuICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgdGhpcy5BcHBlbmRTdHJpbmcodGV4dE9yTnVtLnRvU3RyaW5nKCkpO1xyXG4gICAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgRGVidWcuQXNzZXJ0KHRleHRPck51bS5sZW5ndGggPT09IDEsIFwiY2hhcmFjdGVyIGlzIGV4cGVjdGVkIG5vdCBzdHJpbmdcIik7XHJcbiAgICAgICAgdGhpcy5BcHBlbmRTdHJpbmcodGV4dE9yTnVtLmNoYXJBdCgwKS5yZXBlYXQoc3RhcnRJbmRleE9yTnVtYmVyT2ZDaGFyYWN0ZXJzKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuQXBwZW5kU3RyaW5nKHRleHRPck51bS50b1N0cmluZygpLCBzdGFydEluZGV4T3JOdW1iZXJPZkNoYXJhY3RlcnMsIGNoYXJDb3VudCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuQXBwZW5kTnVtYmVyKHRleHRPck51bSwgc3RhcnRJbmRleE9yTnVtYmVyT2ZDaGFyYWN0ZXJzKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8vIEFwcGVuZCBzdHJpbmdcclxuICBwcml2YXRlIEFwcGVuZFN0cmluZyh0ZXh0OiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciA9IDAsIGNoYXJDb3VudDogbnVtYmVyID0gdGV4dC5sZW5ndGgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFydCA9IHRoaXMucGFydCArIHRleHQuc3Vic3RyKHN0YXJ0SW5kZXgsIGNoYXJDb3VudCk7XHJcbiAgfVxyXG5cclxuICAvLyBBcHBlbmQgTnVtYmVyXHJcbiAgcHJpdmF0ZSBBcHBlbmROdW1iZXIobnVtOiBudW1iZXIsIG51bWJlck9mQ2hhcmFjdGVyczogbnVtYmVyID0gMSk6IHZvaWQge1xyXG4gICAgaWYgKG51bWJlck9mQ2hhcmFjdGVycyA8PSAwKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJudW1iZXJPZkNoYXJhY3RlcnMgY2Fubm90IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB6ZXJvXCIpO1xyXG5cclxuICAgIHRoaXMucGFydCA9IHRoaXMucGFydCArIG51bS50b1N0cmluZygpLnJlcGVhdChudW1iZXJPZkNoYXJhY3RlcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gQXBwZW5kIExpbmVcclxuICBBcHBlbmRMaW5lKHRleHQ6IHN0cmluZyA9IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICh0ZXh0ICE9PSBudWxsKVxyXG4gICAgICB0aGlzLnBhcnQgPSB0aGlzLnBhcnQgKyB0ZXh0O1xyXG4gICAgdGhpcy5wYXJ0ID0gdGhpcy5wYXJ0ICsgJ1xcbic7XHJcbiAgfVxyXG5cclxuICAvLyBBcHBlbmQgRm9ybWF0dGVkIHN0cmluZ1xyXG4gIEFwcGVuZEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55KTogU3RyaW5nQnVpbGRlclxyXG4gIEFwcGVuZEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55LCBhcmcxOiBhbnkpOiBTdHJpbmdCdWlsZGVyXHJcbiAgQXBwZW5kRm9ybWF0KGZvcm1hdDogc3RyaW5nLCBhcmcwOiBhbnksIGFyZzE6IGFueSwgYXJnMjogYW55KTogU3RyaW5nQnVpbGRlclxyXG4gIEFwcGVuZEZvcm1hdChmb3JtYXQ6IHN0cmluZywgYXJnMDogYW55LCBhcmcxPzogYW55LCBhcmcyPzogYW55KTogU3RyaW5nQnVpbGRlciB7XHJcbiAgICB0aGlzLnBhcnQgPSB0aGlzLnBhcnQgKyBOU3RyaW5nLkZvcm1hdChmb3JtYXQsIGFyZzAsIGFyZzEsIGFyZzIpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyBDb252ZXJ0IHRvIHN0cmluZ1xyXG4gIFRvU3RyaW5nKCk6IHN0cmluZztcclxuICBUb1N0cmluZyhzdGFydEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nO1xyXG4gIFRvU3RyaW5nKHN0YXJ0SW5kZXggPzogbnVtYmVyLCBsZW5ndGggPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIGlmIChzdGFydEluZGV4IDwgMCB8fCBsZW5ndGggPCAwIHx8IChzdGFydEluZGV4ICsgbGVuZ3RoKSA+IHRoaXMucGFydC5sZW5ndGgpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMucGFydC5zdWJzdHIoc3RhcnRJbmRleCwgbGVuZ3RoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBhcnQ7XHJcbiAgfVxyXG5cclxuICBnZXQgTGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJ0Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldF9JdGVtKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLnBhcnQubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucGFydC5jaGFyQXQoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2V0X0l0ZW0oaW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLnBhcnQubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7XHJcblxyXG4gICAgRGVidWcuQXNzZXJ0KHZhbHVlLmxlbmd0aCA8PSAxLCBcIkxlbmd0aCBvZiBzdHJpbmcgY2Fubm90IGJlIG1vcmUgdGhhbiAxLiBPbmx5IGNoYXJhY3RlciBpcyBleHBlY3RlZFwiKTtcclxuICAgIGxldCBsZWZ0UGFydDogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZygwLCBpbmRleCk7XHJcbiAgICBsZXQgcmlnaHRQYXJ0OiBzdHJpbmcgPSB0aGlzLnBhcnQuc3Vic3RyaW5nKGluZGV4ICsgMSwgdGhpcy5wYXJ0Lmxlbmd0aCk7XHJcbiAgICB0aGlzLnBhcnQgPSBsZWZ0UGFydCArIHZhbHVlLmNoYXJBdCgwKSArIHJpZ2h0UGFydDtcclxuICB9XHJcblxyXG4gIEluc2VydChpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogU3RyaW5nQnVpbGRlciB7XHJcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gdGhpcy5wYXJ0Lmxlbmd0aClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIGxldCBsZWZ0UGFydDogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZygwLCBpbmRleCk7XHJcbiAgICBsZXQgcmlnaHRQYXJ0OiBzdHJpbmcgPSB0aGlzLnBhcnQuc3Vic3RyaW5nKGluZGV4LCB0aGlzLnBhcnQubGVuZ3RoKTtcclxuICAgIHRoaXMucGFydCA9IGxlZnRQYXJ0ICsgdmFsdWUgKyByaWdodFBhcnQ7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBSZW1vdmUoc3RhcnRJbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcik6IFN0cmluZ0J1aWxkZXIge1xyXG4gICAgaWYgKHN0YXJ0SW5kZXggPCAwIHx8IGxlbmd0aCA8IDAgfHwgKHN0YXJ0SW5kZXggKyBsZW5ndGgpID4gdGhpcy5wYXJ0Lmxlbmd0aClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXJndW1lbnQgb3V0IG9mIHJhbmdlXCIpO1xyXG5cclxuICAgIGxldCBsZWZ0UGFydDogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZygwLCBzdGFydEluZGV4KTtcclxuICAgIGxldCByaWdodFBhcnQ6IHN0cmluZyA9IHRoaXMucGFydC5zdWJzdHJpbmcoc3RhcnRJbmRleCArIGxlbmd0aCwgdGhpcy5wYXJ0Lmxlbmd0aCk7XHJcbiAgICB0aGlzLnBhcnQgPSBsZWZ0UGFydCArIHJpZ2h0UGFydDtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIFJlcGxhY2Uob2xkVmFsdWU6IHN0cmluZywgbmV3VmFsdWU6IHN0cmluZyk6IFN0cmluZ0J1aWxkZXI7XHJcbiAgUmVwbGFjZShvbGRWYWx1ZTogc3RyaW5nLCBuZXdWYWx1ZTogc3RyaW5nLCBzdGFydEluZGV4OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyO1xyXG4gIFJlcGxhY2Uob2xkVmFsdWU6IHN0cmluZywgbmV3VmFsdWU6IHN0cmluZywgc3RhcnRJbmRleD86IG51bWJlciwgY291bnQ/OiBudW1iZXIpOiBTdHJpbmdCdWlsZGVyIHtcclxuICAgIGlmIChvbGRWYWx1ZSA9PT0gbnVsbClcclxuICAgICAgdGhyb3cgIG5ldyBFcnJvcihcIm9sZFZhbHVlIGNhbm5vdCBiZSBudWxsXCIpO1xyXG4gICAgZWxzZSBpZiAob2xkVmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aHJvdyAgbmV3IEVycm9yKFwiTGVuZ3RoIG9mIG9sZFZhbHVlIGNhbm5vdCBiZSAwXCIpO1xyXG5cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSA0KSB7XHJcbiAgICAgIGlmIChzdGFydEluZGV4IDwgMCB8fCBjb3VudCA8IDAgfHwgKHN0YXJ0SW5kZXggKyBjb3VudCkgPiB0aGlzLnBhcnQubGVuZ3RoKVxyXG4gICAgICAgIHRocm93ICBuZXcgRXJyb3IoXCJBcmd1bWVudCBvdXQgb2YgcmFuZ2VcIik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpXHJcbiAgICAgIHRoaXMucGFydCA9IHRoaXMucGFydC5yZXBsYWNlKG5ldyBSZWdFeHAob2xkVmFsdWUsICdnJyksIG5ld1ZhbHVlKTtcclxuICAgIGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDQpIHtcclxuICAgICAgbGV0IHN1YnN0cjogc3RyaW5nID0gdGhpcy5wYXJ0LnN1YnN0cmluZyhzdGFydEluZGV4LCBzdGFydEluZGV4ICsgY291bnQpO1xyXG4gICAgICBzdWJzdHIgPSBzdWJzdHIucmVwbGFjZShuZXcgUmVnRXhwKG9sZFZhbHVlLCAnZycpLCBuZXdWYWx1ZSk7XHJcblxyXG4gICAgICBsZXQgbGVmdFBhcnQ6IHN0cmluZyA9IHRoaXMucGFydC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCk7XHJcbiAgICAgIGxldCByaWdodFBhcnQ6IHN0cmluZyA9IHRoaXMucGFydC5zdWJzdHJpbmcoc3RhcnRJbmRleCArIGNvdW50LCB0aGlzLnBhcnQubGVuZ3RoKTtcclxuICAgICAgdGhpcy5wYXJ0ID0gbGVmdFBhcnQgKyBzdWJzdHIgKyByaWdodFBhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm4gdGhlIHN0cmluZ1xyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5Ub1N0cmluZygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -74,4 +74,4 @@ export function isLowerCase(str) {
74
74
  export function isUpperCase(str) {
75
75
  return str === str.toUpperCase();
76
76
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL1N0cmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUV0QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVk7SUFDbEMsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN4QyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0ICRFT0YgPSAwO1xyXG5leHBvcnQgY29uc3QgJFRBQiA9IDk7XHJcbmV4cG9ydCBjb25zdCAkTEYgPSAxMDtcclxuZXhwb3J0IGNvbnN0ICRWVEFCID0gMTE7XHJcbmV4cG9ydCBjb25zdCAkRkYgPSAxMjtcclxuZXhwb3J0IGNvbnN0ICRDUiA9IDEzO1xyXG5leHBvcnQgY29uc3QgJFNQQUNFID0gMzI7XHJcbmV4cG9ydCBjb25zdCAkQkFORyA9IDMzO1xyXG5leHBvcnQgY29uc3QgJERRID0gMzQ7XHJcbmV4cG9ydCBjb25zdCAkSEFTSCA9IDM1O1xyXG5leHBvcnQgY29uc3QgJCQgPSAzNjtcclxuZXhwb3J0IGNvbnN0ICRQRVJDRU5UID0gMzc7XHJcbmV4cG9ydCBjb25zdCAkQU1QRVJTQU5EID0gMzg7XHJcbmV4cG9ydCBjb25zdCAkU1EgPSAzOTtcclxuZXhwb3J0IGNvbnN0ICRMUEFSRU4gPSA0MDtcclxuZXhwb3J0IGNvbnN0ICRSUEFSRU4gPSA0MTtcclxuZXhwb3J0IGNvbnN0ICRTVEFSID0gNDI7XHJcbmV4cG9ydCBjb25zdCAkUExVUyA9IDQzO1xyXG5leHBvcnQgY29uc3QgJENPTU1BID0gNDQ7XHJcbmV4cG9ydCBjb25zdCAkTUlOVVMgPSA0NTtcclxuZXhwb3J0IGNvbnN0ICRQRVJJT0QgPSA0NjtcclxuZXhwb3J0IGNvbnN0ICRTTEFTSCA9IDQ3O1xyXG5leHBvcnQgY29uc3QgJENPTE9OID0gNTg7XHJcbmV4cG9ydCBjb25zdCAkU0VNSUNPTE9OID0gNTk7XHJcbmV4cG9ydCBjb25zdCAkTFQgPSA2MDtcclxuZXhwb3J0IGNvbnN0ICRFUSA9IDYxO1xyXG5leHBvcnQgY29uc3QgJEdUID0gNjI7XHJcbmV4cG9ydCBjb25zdCAkUVVFU1RJT04gPSA2MztcclxuXHJcbmV4cG9ydCBjb25zdCAkMCA9IDQ4O1xyXG5leHBvcnQgY29uc3QgJDkgPSA1NztcclxuXHJcbmV4cG9ydCBjb25zdCAkQSA9IDY1O1xyXG5leHBvcnQgY29uc3QgJEUgPSA2OTtcclxuZXhwb3J0IGNvbnN0ICRGID0gNzA7XHJcbmV4cG9ydCBjb25zdCAkWCA9IDg4O1xyXG5leHBvcnQgY29uc3QgJFogPSA5MDtcclxuXHJcbmV4cG9ydCBjb25zdCAkTEJSQUNLRVQgPSA5MTtcclxuZXhwb3J0IGNvbnN0ICRCQUNLU0xBU0ggPSA5MjtcclxuZXhwb3J0IGNvbnN0ICRSQlJBQ0tFVCA9IDkzO1xyXG5leHBvcnQgY29uc3QgJENBUkVUID0gOTQ7XHJcbmV4cG9ydCBjb25zdCAkXyA9IDk1O1xyXG5cclxuZXhwb3J0IGNvbnN0ICRhID0gOTc7XHJcbmV4cG9ydCBjb25zdCAkZSA9IDEwMTtcclxuZXhwb3J0IGNvbnN0ICRmID0gMTAyO1xyXG5leHBvcnQgY29uc3QgJG4gPSAxMTA7XHJcbmV4cG9ydCBjb25zdCAkciA9IDExNDtcclxuZXhwb3J0IGNvbnN0ICR0ID0gMTE2O1xyXG5leHBvcnQgY29uc3QgJHUgPSAxMTc7XHJcbmV4cG9ydCBjb25zdCAkdiA9IDExODtcclxuZXhwb3J0IGNvbnN0ICR4ID0gMTIwO1xyXG5leHBvcnQgY29uc3QgJHogPSAxMjI7XHJcblxyXG5leHBvcnQgY29uc3QgJExCUkFDRSA9IDEyMztcclxuZXhwb3J0IGNvbnN0ICRCQVIgPSAxMjQ7XHJcbmV4cG9ydCBjb25zdCAkUkJSQUNFID0gMTI1O1xyXG5leHBvcnQgY29uc3QgJE5CU1AgPSAxNjA7XHJcblxyXG5leHBvcnQgY29uc3QgJFBJUEUgPSAxMjQ7XHJcbmV4cG9ydCBjb25zdCAkVElMREEgPSAxMjY7XHJcbmV4cG9ydCBjb25zdCAkQVQgPSA2NDtcclxuXHJcbmV4cG9ydCBjb25zdCAkQlQgPSA5NjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1doaXRlc3BhY2UoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChjb2RlID49ICRUQUIgJiYgY29kZSA8PSAkU1BBQ0UpIHx8IGNvZGUgPT09ICROQlNQO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNEaWdpdChjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICByZXR1cm4gJDAgPD0gY29kZSAmJiBjb2RlIDw9ICQ5O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNBc2NpaUxldHRlcihjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICByZXR1cm4gKGNvZGUgPj0gJGEgJiYgY29kZSA8PSAkeikgfHwgKGNvZGUgPj0gJEEgJiYgY29kZSA8PSAkWik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0FzY2lpSGV4RGlnaXQoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChjb2RlID49ICRhICYmIGNvZGUgPD0gJGYpIHx8IChjb2RlID49ICRBICYmIGNvZGUgPD0gJEYpIHx8IGlzRGlnaXQoY29kZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0xvd2VyQ2FzZShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBzdHIgPT09IHN0ci50b0xvd2VyQ2FzZSgpO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBpc1VwcGVyQ2FzZShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBzdHIgPT09IHN0ci50b1VwcGVyQ2FzZSgpO1xyXG59XHJcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc2NvcmVsaWIvc3JjL1N0cmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUV0QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVk7SUFDbEMsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN4QyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0ICRFT0YgPSAwO1xyXG5leHBvcnQgY29uc3QgJFRBQiA9IDk7XHJcbmV4cG9ydCBjb25zdCAkTEYgPSAxMDtcclxuZXhwb3J0IGNvbnN0ICRWVEFCID0gMTE7XHJcbmV4cG9ydCBjb25zdCAkRkYgPSAxMjtcclxuZXhwb3J0IGNvbnN0ICRDUiA9IDEzO1xyXG5leHBvcnQgY29uc3QgJFNQQUNFID0gMzI7XHJcbmV4cG9ydCBjb25zdCAkQkFORyA9IDMzO1xyXG5leHBvcnQgY29uc3QgJERRID0gMzQ7XHJcbmV4cG9ydCBjb25zdCAkSEFTSCA9IDM1O1xyXG5leHBvcnQgY29uc3QgJCQgPSAzNjtcclxuZXhwb3J0IGNvbnN0ICRQRVJDRU5UID0gMzc7XHJcbmV4cG9ydCBjb25zdCAkQU1QRVJTQU5EID0gMzg7XHJcbmV4cG9ydCBjb25zdCAkU1EgPSAzOTtcclxuZXhwb3J0IGNvbnN0ICRMUEFSRU4gPSA0MDtcclxuZXhwb3J0IGNvbnN0ICRSUEFSRU4gPSA0MTtcclxuZXhwb3J0IGNvbnN0ICRTVEFSID0gNDI7XHJcbmV4cG9ydCBjb25zdCAkUExVUyA9IDQzO1xyXG5leHBvcnQgY29uc3QgJENPTU1BID0gNDQ7XHJcbmV4cG9ydCBjb25zdCAkTUlOVVMgPSA0NTtcclxuZXhwb3J0IGNvbnN0ICRQRVJJT0QgPSA0NjtcclxuZXhwb3J0IGNvbnN0ICRTTEFTSCA9IDQ3O1xyXG5leHBvcnQgY29uc3QgJENPTE9OID0gNTg7XHJcbmV4cG9ydCBjb25zdCAkU0VNSUNPTE9OID0gNTk7XHJcbmV4cG9ydCBjb25zdCAkTFQgPSA2MDtcclxuZXhwb3J0IGNvbnN0ICRFUSA9IDYxO1xyXG5leHBvcnQgY29uc3QgJEdUID0gNjI7XHJcbmV4cG9ydCBjb25zdCAkUVVFU1RJT04gPSA2MztcclxuXHJcbmV4cG9ydCBjb25zdCAkMCA9IDQ4O1xyXG5leHBvcnQgY29uc3QgJDkgPSA1NztcclxuXHJcbmV4cG9ydCBjb25zdCAkQSA9IDY1O1xyXG5leHBvcnQgY29uc3QgJEUgPSA2OTtcclxuZXhwb3J0IGNvbnN0ICRGID0gNzA7XHJcbmV4cG9ydCBjb25zdCAkWCA9IDg4O1xyXG5leHBvcnQgY29uc3QgJFogPSA5MDtcclxuXHJcbmV4cG9ydCBjb25zdCAkTEJSQUNLRVQgPSA5MTtcclxuZXhwb3J0IGNvbnN0ICRCQUNLU0xBU0ggPSA5MjtcclxuZXhwb3J0IGNvbnN0ICRSQlJBQ0tFVCA9IDkzO1xyXG5leHBvcnQgY29uc3QgJENBUkVUID0gOTQ7XHJcbmV4cG9ydCBjb25zdCAkXyA9IDk1O1xyXG5cclxuZXhwb3J0IGNvbnN0ICRhID0gOTc7XHJcbmV4cG9ydCBjb25zdCAkZSA9IDEwMTtcclxuZXhwb3J0IGNvbnN0ICRmID0gMTAyO1xyXG5leHBvcnQgY29uc3QgJG4gPSAxMTA7XHJcbmV4cG9ydCBjb25zdCAkciA9IDExNDtcclxuZXhwb3J0IGNvbnN0ICR0ID0gMTE2O1xyXG5leHBvcnQgY29uc3QgJHUgPSAxMTc7XHJcbmV4cG9ydCBjb25zdCAkdiA9IDExODtcclxuZXhwb3J0IGNvbnN0ICR4ID0gMTIwO1xyXG5leHBvcnQgY29uc3QgJHogPSAxMjI7XHJcblxyXG5leHBvcnQgY29uc3QgJExCUkFDRSA9IDEyMztcclxuZXhwb3J0IGNvbnN0ICRCQVIgPSAxMjQ7XHJcbmV4cG9ydCBjb25zdCAkUkJSQUNFID0gMTI1O1xyXG5leHBvcnQgY29uc3QgJE5CU1AgPSAxNjA7XHJcblxyXG5leHBvcnQgY29uc3QgJFBJUEUgPSAxMjQ7XHJcbmV4cG9ydCBjb25zdCAkVElMREEgPSAxMjY7XHJcbmV4cG9ydCBjb25zdCAkQVQgPSA2NDtcclxuXHJcbmV4cG9ydCBjb25zdCAkQlQgPSA5NjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1doaXRlc3BhY2UoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChjb2RlID49ICRUQUIgJiYgY29kZSA8PSAkU1BBQ0UpIHx8IGNvZGUgPT09ICROQlNQO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNEaWdpdChjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICByZXR1cm4gJDAgPD0gY29kZSAmJiBjb2RlIDw9ICQ5O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNBc2NpaUxldHRlcihjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICByZXR1cm4gKGNvZGUgPj0gJGEgJiYgY29kZSA8PSAkeikgfHwgKGNvZGUgPj0gJEEgJiYgY29kZSA8PSAkWik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0FzY2lpSGV4RGlnaXQoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChjb2RlID49ICRhICYmIGNvZGUgPD0gJGYpIHx8IChjb2RlID49ICRBICYmIGNvZGUgPD0gJEYpIHx8IGlzRGlnaXQoY29kZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0xvd2VyQ2FzZShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBzdHIgPT09IHN0ci50b0xvd2VyQ2FzZSgpO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBpc1VwcGVyQ2FzZShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBzdHIgPT09IHN0ci50b1VwcGVyQ2FzZSgpO1xyXG59XHJcbiJdfQ==
@@ -5,10 +5,6 @@ export class Thread {
5
5
  this.ManagedThreadId = 0;
6
6
  this.ManagedThreadId = Thread.nextId++;
7
7
  }
8
- /// <summary>
9
- /// Free the thread so it will be able to do other work, like gui events
10
- /// </summary>
11
- /// <param name = "millisecondsTimeout"> timeout in milliseconds</param>
12
8
  static Sleep(millisecondsTimeout) {
13
9
  return __awaiter(this, void 0, void 0, function* () {
14
10
  yield new Promise((resolve, reject) => {
@@ -20,4 +16,4 @@ export class Thread {
20
16
  }
21
17
  Thread.nextId = 1;
22
18
  Thread.CurrentThread = new Thread();
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhyZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9UaHJlYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEMsTUFBTSxPQUFPLE1BQU07SUFLakI7UUFGQSxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUcxQixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYTtJQUNiLDBFQUEwRTtJQUMxRSxjQUFjO0lBQ2Qsd0VBQXdFO0lBRWpFLE1BQU0sQ0FBTyxLQUFLLENBQUMsbUJBQTJCOztZQUVuRCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNwQyxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFFLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7WUFDeEYsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixDQUFDO0tBQUE7O0FBbkJjLGFBQU0sR0FBVyxDQUFDLENBQUM7QUFDM0Isb0JBQWEsR0FBVyxJQUFJLE1BQU0sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUaHJlYWQge1xyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZDogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgQ3VycmVudFRocmVhZDogVGhyZWFkID0gbmV3IFRocmVhZCgpO1xyXG4gIE1hbmFnZWRUaHJlYWRJZDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLk1hbmFnZWRUaHJlYWRJZCA9IFRocmVhZC5uZXh0SWQrKztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBGcmVlIHRoZSB0aHJlYWQgc28gaXQgd2lsbCBiZSBhYmxlIHRvIGRvIG90aGVyIHdvcmssIGxpa2UgZ3VpIGV2ZW50c1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtaWxsaXNlY29uZHNUaW1lb3V0XCI+IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzPC9wYXJhbT5cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBTbGVlcChtaWxsaXNlY29uZHNUaW1lb3V0OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+XHJcbiAge1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgdGltZXIgPSBpbnRlcnZhbChtaWxsaXNlY29uZHNUaW1lb3V0KTtcclxuICAgICAgbGV0IHN1YnNjcmlwdGlvbiA9IHRpbWVyLnN1YnNjcmliZShzdGF0ZSA9PiB7c3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IHJlc29sdmUoKTt9KTtcclxuICAgIH0pLnRoZW4oKTtcclxuICB9XHJcbn1cclxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhyZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9UaHJlYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEMsTUFBTSxPQUFPLE1BQU07SUFLakI7UUFGQSxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUcxQixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBT00sTUFBTSxDQUFPLEtBQUssQ0FBQyxtQkFBMkI7O1lBRW5ELE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztZQUN4RixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLENBQUM7S0FBQTs7QUFuQmMsYUFBTSxHQUFXLENBQUMsQ0FBQztBQUMzQixvQkFBYSxHQUFXLElBQUksTUFBTSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRocmVhZCB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkOiBudW1iZXIgPSAxO1xyXG4gIHN0YXRpYyBDdXJyZW50VGhyZWFkOiBUaHJlYWQgPSBuZXcgVGhyZWFkKCk7XHJcbiAgTWFuYWdlZFRocmVhZElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuTWFuYWdlZFRocmVhZElkID0gVGhyZWFkLm5leHRJZCsrO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEZyZWUgdGhlIHRocmVhZCBzbyBpdCB3aWxsIGJlIGFibGUgdG8gZG8gb3RoZXIgd29yaywgbGlrZSBndWkgZXZlbnRzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1pbGxpc2Vjb25kc1RpbWVvdXRcIj4gdGltZW91dCBpbiBtaWxsaXNlY29uZHM8L3BhcmFtPlxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFzeW5jIFNsZWVwKG1pbGxpc2Vjb25kc1RpbWVvdXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD5cclxuICB7XHJcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGxldCB0aW1lciA9IGludGVydmFsKG1pbGxpc2Vjb25kc1RpbWVvdXQpO1xyXG4gICAgICBsZXQgc3Vic2NyaXB0aW9uID0gdGltZXIuc3Vic2NyaWJlKHN0YXRlID0+IHtzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgcmVzb2x2ZSgpO30pO1xyXG4gICAgfSkudGhlbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -7,4 +7,4 @@ export class WebException extends Exception {
7
7
  this.message = error.message;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9XZWJFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUV0QyxNQUFNLE9BQU8sWUFBYSxTQUFRLFNBQVM7SUFDekMsWUFBWSxLQUFZLEVBQUUsVUFBb0I7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhjZXB0aW9ufSBmcm9tIFwiLi9FeGNlcHRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBXZWJFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKGVycm9yOiBFcnJvciwgc3RhdHVzQ29kZSA/OiBudW1iZXIpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLm5hbWUgPSBcIldlYkV4Y2VwdGlvblwiO1xyXG4gICAgdGhpcy5zdGFjayA9IGVycm9yLnN0YWNrO1xyXG4gICAgdGhpcy5tZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcclxuICB9XHJcbn1cclxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXNjb3JlbGliL3NyYy9XZWJFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUV0QyxNQUFNLE9BQU8sWUFBYSxTQUFRLFNBQVM7SUFDekMsWUFBWSxLQUFZLEVBQUUsVUFBb0I7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhjZXB0aW9ufSBmcm9tIFwiLi9FeGNlcHRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBXZWJFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKGVycm9yOiBFcnJvciwgc3RhdHVzQ29kZSA/OiBudW1iZXIpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLm5hbWUgPSBcIldlYkV4Y2VwdGlvblwiO1xyXG4gICAgdGhpcy5zdGFjayA9IGVycm9yLnN0YWNrO1xyXG4gICAgdGhpcy5tZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,8 +1,7 @@
1
1
  import { NotImplementedException } from "./NotImplementedException";
2
2
  export class XmlConvert {
3
- // TODO : Implement
4
3
  static EncodeName(name) {
5
4
  throw new NotImplementedException();
6
5
  }
7
6
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWG1sQ29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvWG1sQ29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLE9BQU8sVUFBVTtJQUNyQixtQkFBbUI7SUFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm90SW1wbGVtZW50ZWRFeGNlcHRpb259IGZyb20gXCIuL05vdEltcGxlbWVudGVkRXhjZXB0aW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgWG1sQ29udmVydCB7XHJcbiAgLy8gVE9ETyA6IEltcGxlbWVudFxyXG4gIHN0YXRpYyBFbmNvZGVOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTtcclxuICB9XHJcbn1cclxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWG1sQ29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zY29yZWxpYi9zcmMvWG1sQ29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLE9BQU8sVUFBVTtJQUVyQixNQUFNLENBQUMsVUFBVSxDQUFDLElBQVk7UUFDNUIsTUFBTSxJQUFJLHVCQUF1QixFQUFFLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbn0gZnJvbSBcIi4vTm90SW1wbGVtZW50ZWRFeGNlcHRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBYbWxDb252ZXJ0IHtcclxuICAvLyBUT0RPIDogSW1wbGVtZW50XHJcbiAgc3RhdGljIEVuY29kZU5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=