@ecodev/natural 44.0.2 → 44.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -93,4 +93,4 @@ NaturalAbstractEditableList.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.
93
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalAbstractEditableList, decorators: [{
94
94
  type: Directive
95
95
  }], ctorParameters: function () { return [{ type: undefined }]; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZWRpdGFibGUtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWVkaXRhYmxlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFaEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDRCQUE0QixFQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBRXRGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUd4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTywyQkFnQlgsU0FBUSx5QkFBeUI7SUFNL0IsWUFBc0MsT0FBaUI7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEMEIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUp2QyxjQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxJQUFJLDRCQUE0QixFQUF5QixDQUFDO1FBQzdFLGVBQVUsR0FBRyxJQUFJLGtCQUFrQixFQUFtQixDQUFDO1FBS25FLDhHQUE4RztRQUM5RyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUMsRUFBMEIsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxhQUFhO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxLQUFVO1FBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVk7UUFDZix1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7d0hBckZRLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRUYWJsZURhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtbW9kZWwuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXJ9IGZyb20gJy4vYWJzdHJhY3QtY29udHJvbGxlcic7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFF1ZXJ5VmFyaWFibGVzfSBmcm9tICcuL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHtFeHRyYWN0VGFsbE9uZSwgRXh0cmFjdFZhbGwsIExpdGVyYWx9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcbmltcG9ydCB7dmFsaWRhdGVBbGxGb3JtQ29udHJvbHN9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5pbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhZ2luYXRlZERhdGF9IGZyb20gJy4vZGF0YS1zb3VyY2UnO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaGVscHMgbWFuYWdpbmcgbm9uLXBhZ2luYXRlZCByb3dzIG9mIGl0ZW1zIHRoYXQgY2FuIGJlIGVkaXRlZCBpbi1wbGFjZSwgdHlwaWNhbGx5IGluIGEgPG1hdC10YWJsZT4uXG4gKiBCdXQgaXQgZG9lcyAqKm5vdCoqIG11dGF0ZSBhbnl0aGluZyB0byBwZXJzaXN0IHRoZSBlZGl0cyBvbiB0aGUgc2VydmVyLiBJdCBpcyB1cCB0byB0aGUgY29uc3VtaW5nIGNvbXBvbmVudCB0byBpbXBsZW1lbnRcbiAqIGN1c3RvbSBtdXRhdGlvbiBtZWNoYW5pc20uXG4gKlxuICogVG8gYWNjZXNzIGRhdGEgb2YgdGhpcyBjb21wb25lbnQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQsIHVzZTpcbiAqXG4gKiBgYGBcbiAqIEBWaWV3Q2hpbGRyZW4oQ29tcG9uZW50VHlwZSkgY21wOiBDb21wb25lbnRUeXBlO1xuICogdGhpcy5jbXAuZ2V0SXRlbXMoKTtcbiAqIGBgYFxuICpcbiAqIFRvIGFkZCBlbXB0eSBsaW5lLCBjYWxsOlxuICpcbiAqIGBgYFxuICogdGhpcy5jbXAuYWRkRW1wdHkoKTtcbiAqIGBgYFxuICpcbiAqIEBkeW5hbWljXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxBYnN0cmFjdEVkaXRhYmxlTGlzdDxcbiAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgYW55LFxuICAgICAgICBhbnksXG4gICAgICAgIFBhZ2luYXRlZERhdGE8TGl0ZXJhbD4sXG4gICAgICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgICAgICBhbnksXG4gICAgICAgIGFueSxcbiAgICAgICAgYW55LFxuICAgICAgICBhbnksXG4gICAgICAgIGFueSxcbiAgICAgICAgYW55XG4gICAgPixcbiAgICAvLyBUaGUgTGl0ZXJhbCBoZXJlIGlzIGEgYml0IHRvbyBsb29zZS4gSWRlYWxseSB3ZSB3b3VsZCBsaWtlIHRvIGV4cHJlc3NcbiAgICAvLyBcIml0IG11c3QgYmUgYSB1bmlvbiBhbmQgb25lIG9mIHRoZSB0eXBlIGluIHRoZSB1bmlvbiBtdXN0IGJlIEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPlwiXG4gICAgVCBleHRlbmRzIExpdGVyYWwgPSBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4sXG4+IGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0Q29udHJvbGxlciB7XG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm1BcnJheSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFyaWFibGVzTWFuYWdlciA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyPEV4dHJhY3RWYWxsPFRTZXJ2aWNlPj4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8QWJzdHJhY3RDb250cm9sPigpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlOiBUU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIGZvcm0gZ3JvdXAgd2l0aCBhIGxpbmUgYXR0cmlidXRlcyB0aGF0IGNvbnRhaW4gYW4gYXJyYXkgb2YgZm9ybUdyb3VwcyAob25lIGJ5IGxpbmUgPSBvbmUgYnkgbW9kZWwpXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtyb3dzOiB0aGlzLmZvcm1BcnJheX0pO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzO1xuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb246IHtwYWdlU2l6ZTogOTk5LCBwYWdlSW5kZXg6IDB9fSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgbGlzdCBvZiBpdGVtcyAob3ZlcndyaXRpbmcgd2hhdCBtYXkgaGF2ZSBleGlzdGVkKVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRJdGVtcyhpdGVtczogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUFycmF5LmNsZWFyKCk7IC8vIHJlc2V0IGxpc3RcbiAgICAgICAgdGhpcy5hZGRJdGVtcyhpdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGdpdmVuIGl0ZW1zIHRvIHRoZSBsaXN0XG4gICAgICogUmVwcm9kdWNlcyB0aGUgbW9kZWwgZGF0YSBsb2FkaW5nIHRoZSBzYW1lIHdheSBhcyBpdCB3b3VsZCBiZSBvbiBhIGRldGFpbCBwYWdlICh2aWEgQWJzdHJhY3REZXRhaWwgY29udHJvbGxlcikgYnV0IHdpdGhvdXQgcmVzb2x2aW5nXG4gICAgICovXG4gICAgcHVibGljIGFkZEl0ZW1zKGl0ZW1zOiBUW10pOiB2b2lkIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlZEl0ZW0gPSBtZXJnZSh0aGlzLnNlcnZpY2UuZ2V0Q29uc29saWRhdGVkRm9yQ2xpZW50KCksIGl0ZW0pO1xuICAgICAgICAgICAgY29uc3QgbGluZUZvcm1Hcm91cCA9IHRoaXMuc2VydmljZS5nZXRGb3JtR3JvdXAoY29tcGxldGVkSXRlbSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1BcnJheS5wdXNoKGxpbmVGb3JtR3JvdXApO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVBdChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLmZvcm1BcnJheS5jb250cm9scztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgZW1wdHkgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0XG4gICAgICovXG4gICAgcHVibGljIGFkZEVtcHR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZEl0ZW1zKFt7fSBhcyBUXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgbGlzdCBvZiBtb2RlbHMgd2l0aG91dCBhbnkgdHJlYXRtZW50LlxuICAgICAqXG4gICAgICogVG8gbXV0YXRlIG1vZGVscywgaXQgd291bGQgYmUgcmVxdWlyZWQgdG8gbWFwIHRoZW0gdXNpbmcgOlxuICAgICAqICAtIEFic3RyYWN0TW9kZWxTZXJ2aWNlLmdldElucHV0KClcbiAgICAgKiAgLSBBYnN0cmFjdE1vZGVsU2VydmljZS5nZXRQYXJ0aWFsVmFyaWFibGVzRm9yQ3JlYXRpb24oKVxuICAgICAqICAtIEFic3RyYWN0TW9kZWxTZXJ2aWNlLmdldFBhcnRpYWxWYXJpYWJsZXNGb3JVcGRhdGUoKVxuICAgICAqICAtIHNvbWUgb3RoZXIgcmVxdWlyZWQgdHJlYXRtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtcygpOiBUW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQXJyYXkuZ2V0UmF3VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JjZSB0aGUgZm9ybSB2YWxpZGF0aW9uLlxuICAgICAqXG4gICAgICogVGhlIHZhbGlkIHN0YXRlIGNhbiB0aGVuIGJlIHJlYWQgdmlhIGB0aGlzLmZvcm0udmFsaWRgXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdmFsaWRhdGVBbGxGb3JtQ29udHJvbHModGhpcy5mb3JtKTtcbiAgICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZWRpdGFibGUtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWVkaXRhYmxlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFaEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDRCQUE0QixFQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBRXRGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUd4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTywyQkFnQlgsU0FBUSx5QkFBeUI7SUFNL0IsWUFBc0MsT0FBaUI7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEMEIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUp2QyxjQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxJQUFJLDRCQUE0QixFQUF5QixDQUFDO1FBQzdFLGVBQVUsR0FBRyxJQUFJLGtCQUFrQixFQUFtQixDQUFDO1FBS25FLDhHQUE4RztRQUM5RyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUMsRUFBMEIsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxLQUFtQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsYUFBYTtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQUMsS0FBbUI7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBTyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWTtRQUNmLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOzt3SEFyRlEsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0Q29udHJvbGxlcn0gZnJvbSAnLi9hYnN0cmFjdC1jb250cm9sbGVyJztcbmltcG9ydCB7TmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlciwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4vcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0V4dHJhY3RUYWxsT25lLCBFeHRyYWN0VmFsbCwgTGl0ZXJhbH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHt2YWxpZGF0ZUFsbEZvcm1Db250cm9sc30gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7RGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGFnaW5hdGVkRGF0YX0gZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBoZWxwcyBtYW5hZ2luZyBub24tcGFnaW5hdGVkIHJvd3Mgb2YgaXRlbXMgdGhhdCBjYW4gYmUgZWRpdGVkIGluLXBsYWNlLCB0eXBpY2FsbHkgaW4gYSA8bWF0LXRhYmxlPi5cbiAqIEJ1dCBpdCBkb2VzICoqbm90KiogbXV0YXRlIGFueXRoaW5nIHRvIHBlcnNpc3QgdGhlIGVkaXRzIG9uIHRoZSBzZXJ2ZXIuIEl0IGlzIHVwIHRvIHRoZSBjb25zdW1pbmcgY29tcG9uZW50IHRvIGltcGxlbWVudFxuICogY3VzdG9tIG11dGF0aW9uIG1lY2hhbmlzbS5cbiAqXG4gKiBUbyBhY2Nlc3MgZGF0YSBvZiB0aGlzIGNvbXBvbmVudCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCwgdXNlOlxuICpcbiAqIGBgYFxuICogQFZpZXdDaGlsZHJlbihDb21wb25lbnRUeXBlKSBjbXA6IENvbXBvbmVudFR5cGU7XG4gKiB0aGlzLmNtcC5nZXRJdGVtcygpO1xuICogYGBgXG4gKlxuICogVG8gYWRkIGVtcHR5IGxpbmUsIGNhbGw6XG4gKlxuICogYGBgXG4gKiB0aGlzLmNtcC5hZGRFbXB0eSgpO1xuICogYGBgXG4gKlxuICogQGR5bmFtaWNcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmF0dXJhbEFic3RyYWN0RWRpdGFibGVMaXN0PFxuICAgIFRTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlPFxuICAgICAgICBhbnksXG4gICAgICAgIGFueSxcbiAgICAgICAgUGFnaW5hdGVkRGF0YTxMaXRlcmFsPixcbiAgICAgICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgICAgIGFueSxcbiAgICAgICAgYW55LFxuICAgICAgICBhbnksXG4gICAgICAgIGFueSxcbiAgICAgICAgYW55LFxuICAgICAgICBhbnlcbiAgICA+LFxuICAgIC8vIFRoZSBMaXRlcmFsIGhlcmUgaXMgYSBiaXQgdG9vIGxvb3NlLiBJZGVhbGx5IHdlIHdvdWxkIGxpa2UgdG8gZXhwcmVzc1xuICAgIC8vIFwiaXQgbXVzdCBiZSBhIHVuaW9uIGFuZCBvbmUgb2YgdGhlIHR5cGUgaW4gdGhlIHVuaW9uIG11c3QgYmUgRXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+XCJcbiAgICBUIGV4dGVuZHMgTGl0ZXJhbCA9IEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPixcbj4gZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybUFycmF5ID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pO1xuICAgIHB1YmxpYyByZWFkb25seSB2YXJpYWJsZXNNYW5hZ2VyID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXI8RXh0cmFjdFZhbGw8VFNlcnZpY2U+PigpO1xuICAgIHB1YmxpYyByZWFkb25seSBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxBYnN0cmFjdENvbnRyb2w+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2U6IFRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgZm9ybSBncm91cCB3aXRoIGEgbGluZSBhdHRyaWJ1dGVzIHRoYXQgY29udGFpbiBhbiBhcnJheSBvZiBmb3JtR3JvdXBzIChvbmUgYnkgbGluZSA9IG9uZSBieSBtb2RlbClcbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe3Jvd3M6IHRoaXMuZm9ybUFycmF5fSk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHM7XG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ3BhZ2luYXRpb24nLCB7cGFnaW5hdGlvbjoge3BhZ2VTaXplOiA5OTksIHBhZ2VJbmRleDogMH19IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBsaXN0IG9mIGl0ZW1zIChvdmVyd3JpdGluZyB3aGF0IG1heSBoYXZlIGV4aXN0ZWQpXG4gICAgICovXG4gICAgcHVibGljIHNldEl0ZW1zKGl0ZW1zOiByZWFkb25seSBUW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkuY2xlYXIoKTsgLy8gcmVzZXQgbGlzdFxuICAgICAgICB0aGlzLmFkZEl0ZW1zKGl0ZW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgZ2l2ZW4gaXRlbXMgdG8gdGhlIGxpc3RcbiAgICAgKiBSZXByb2R1Y2VzIHRoZSBtb2RlbCBkYXRhIGxvYWRpbmcgdGhlIHNhbWUgd2F5IGFzIGl0IHdvdWxkIGJlIG9uIGEgZGV0YWlsIHBhZ2UgKHZpYSBBYnN0cmFjdERldGFpbCBjb250cm9sbGVyKSBidXQgd2l0aG91dCByZXNvbHZpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkSXRlbXMoaXRlbXM6IHJlYWRvbmx5IFRbXSk6IHZvaWQge1xuICAgICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcGxldGVkSXRlbSA9IG1lcmdlKHRoaXMuc2VydmljZS5nZXRDb25zb2xpZGF0ZWRGb3JDbGllbnQoKSwgaXRlbSk7XG4gICAgICAgICAgICBjb25zdCBsaW5lRm9ybUdyb3VwID0gdGhpcy5zZXJ2aWNlLmdldEZvcm1Hcm91cChjb21wbGV0ZWRJdGVtKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUFycmF5LnB1c2gobGluZUZvcm1Hcm91cCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHM7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUF0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBlbXB0eSBpdGVtIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRW1wdHkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWRkSXRlbXMoW3t9IGFzIFRdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSBsaXN0IG9mIG1vZGVscyB3aXRob3V0IGFueSB0cmVhdG1lbnQuXG4gICAgICpcbiAgICAgKiBUbyBtdXRhdGUgbW9kZWxzLCBpdCB3b3VsZCBiZSByZXF1aXJlZCB0byBtYXAgdGhlbSB1c2luZyA6XG4gICAgICogIC0gQWJzdHJhY3RNb2RlbFNlcnZpY2UuZ2V0SW5wdXQoKVxuICAgICAqICAtIEFic3RyYWN0TW9kZWxTZXJ2aWNlLmdldFBhcnRpYWxWYXJpYWJsZXNGb3JDcmVhdGlvbigpXG4gICAgICogIC0gQWJzdHJhY3RNb2RlbFNlcnZpY2UuZ2V0UGFydGlhbFZhcmlhYmxlc0ZvclVwZGF0ZSgpXG4gICAgICogIC0gc29tZSBvdGhlciByZXF1aXJlZCB0cmVhdG1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldEl0ZW1zKCk6IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1BcnJheS5nZXRSYXdWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcmNlIHRoZSBmb3JtIHZhbGlkYXRpb24uXG4gICAgICpcbiAgICAgKiBUaGUgdmFsaWQgc3RhdGUgY2FuIHRoZW4gYmUgcmVhZCB2aWEgYHRoaXMuZm9ybS52YWxpZGBcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgICB2YWxpZGF0ZUFsbEZvcm1Db250cm9scyh0aGlzLmZvcm0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,9 +1,3 @@
1
- /**
2
- * Data source to provide what data should be rendered in the table. The observable provided
3
- * in connect should emit exactly the data that should be rendered by the table. If the data is
4
- * altered, the observable should emit that new set of data on the stream. In our case here,
5
- * we return a stream that contains only one set of data that doesn't change.
6
- */
7
1
  import { DataSource } from '@angular/cdk/collections';
8
2
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
9
3
  import { map, takeUntil } from 'rxjs/operators';
@@ -48,17 +42,17 @@ export class NaturalDataSource extends DataSource {
48
42
  if (!this.data) {
49
43
  return;
50
44
  }
51
- const fullList = this.data.items;
45
+ const fullList = [...this.data.items];
52
46
  fullList.push(item);
53
- this.data = Object.assign(this.data, { items: fullList, length: fullList.length });
47
+ this.data = { ...this.data, items: fullList, length: fullList.length };
54
48
  }
55
49
  pop() {
56
50
  if (!this.data) {
57
51
  return;
58
52
  }
59
- const fullList = this.data.items;
53
+ const fullList = [...this.data.items];
60
54
  const removedElement = fullList.pop();
61
- this.data = Object.assign(this.data, { items: fullList, length: fullList.length });
55
+ this.data = { ...this.data, items: fullList, length: fullList.length };
62
56
  return removedElement;
63
57
  }
64
58
  remove(item) {
@@ -67,10 +61,10 @@ export class NaturalDataSource extends DataSource {
67
61
  }
68
62
  const index = this.data.items.indexOf(item);
69
63
  if (index > -1) {
70
- this.data.items.splice(index, 1);
71
- this.data.length--;
72
- this.data = this.data;
64
+ const fullList = [...this.data.items];
65
+ fullList.splice(index, 1);
66
+ this.data = { ...this.data, items: fullList, length: fullList.length };
73
67
  }
74
68
  }
75
69
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvY2xhc3Nlcy9kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQVc5Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxpQkFBNkUsU0FBUSxVQUVqRztJQUtHLFlBQW1CLEtBQXdCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBTEssa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT2pELElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksZUFBZSxDQUFXLElBQUksQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2pGO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEtBQUssQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxJQUFjO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDTixDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0I7UUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLHdEQUF3RDtJQUMzRixDQUFDO0lBRU0sSUFBSSxDQUFDLElBQW1CO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTSxHQUFHO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixPQUFPO1NBQ1Y7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNqQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUVqRixPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQW1CO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUN6QjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGF0YSBzb3VyY2UgdG8gcHJvdmlkZSB3aGF0IGRhdGEgc2hvdWxkIGJlIHJlbmRlcmVkIGluIHRoZSB0YWJsZS4gVGhlIG9ic2VydmFibGUgcHJvdmlkZWRcbiAqIGluIGNvbm5lY3Qgc2hvdWxkIGVtaXQgZXhhY3RseSB0aGUgZGF0YSB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCBieSB0aGUgdGFibGUuIElmIHRoZSBkYXRhIGlzXG4gKiBhbHRlcmVkLCB0aGUgb2JzZXJ2YWJsZSBzaG91bGQgZW1pdCB0aGF0IG5ldyBzZXQgb2YgZGF0YSBvbiB0aGUgc3RyZWFtLiBJbiBvdXIgY2FzZSBoZXJlLFxuICogd2UgcmV0dXJuIGEgc3RyZWFtIHRoYXQgY29udGFpbnMgb25seSBvbmUgc2V0IG9mIGRhdGEgdGhhdCBkb2Vzbid0IGNoYW5nZS5cbiAqL1xuXG5pbXBvcnQge0RhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xpdGVyYWx9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWREYXRhPFQ+IHtcbiAgICBpdGVtczogVFtdO1xuICAgIG9mZnNldD86IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIHBhZ2VJbmRleDogbnVtYmVyO1xuICAgIGxlbmd0aDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgTmF0dXJhbERhdGFTb3VyY2Ugd2lsbCBjb25uZWN0IGltbWVkaWF0ZWx5LCBpbiBvcmRlciB0byBrbm93IGFzIHNvb24gYXMgcG9zc2libGUgaWZcbiAqIHdlIG5lZWQgdG8gc2hvdyBhIHRlbXBsYXRlIGF0IGFsbCAoYXMgc2VlbiBpbiBteS1pY2h0dXMpXG4gKlxuICogSXQgYWxzbyBhbGxvdyBzb21lIGV4dHJhIGRhdGEgbWFuaXB1bGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXR1cmFsRGF0YVNvdXJjZTxUIGV4dGVuZHMgUGFnaW5hdGVkRGF0YTxMaXRlcmFsPiA9IFBhZ2luYXRlZERhdGE8TGl0ZXJhbD4+IGV4dGVuZHMgRGF0YVNvdXJjZTxcbiAgICBUWydpdGVtcyddWzBdXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbERhdGE6IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodmFsdWU6IE9ic2VydmFibGU8VD4gfCBUKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPihudWxsKTtcbiAgICAgICAgICAgIHZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGludGVybmFsRGF0YU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZGF0YSB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCBieSB0aGUgdGFibGUsIHdoZXJlIGVhY2ggb2JqZWN0IHJlcHJlc2VudHMgb25lIHJvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGRhdGEoKTogVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkYXRhKGRhdGE6IFQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLm5leHQoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxUWydpdGVtcyddPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsRGF0YS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoZGF0YSA/IGRhdGEuaXRlbXMgOiBbXSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpOyAvLyB1bnN1YnNjcmliZSBldmVyeWJvZHlcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7IC8vIGNvbXBsZXRlIHRoZSBzdHJlYW0sIGJlY2F1c2Ugd2Ugd2lsbCBuZXZlciBlbWl0IGFnYWluXG4gICAgfVxuXG4gICAgcHVibGljIHB1c2goaXRlbTogVFsnaXRlbXMnXVswXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnVsbExpc3QgPSB0aGlzLmRhdGEuaXRlbXM7XG4gICAgICAgIGZ1bGxMaXN0LnB1c2goaXRlbSk7XG4gICAgICAgIHRoaXMuZGF0YSA9IE9iamVjdC5hc3NpZ24odGhpcy5kYXRhLCB7aXRlbXM6IGZ1bGxMaXN0LCBsZW5ndGg6IGZ1bGxMaXN0Lmxlbmd0aH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3AoKTogVFsnaXRlbXMnXVswXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmdWxsTGlzdCA9IHRoaXMuZGF0YS5pdGVtcztcbiAgICAgICAgY29uc3QgcmVtb3ZlZEVsZW1lbnQgPSBmdWxsTGlzdC5wb3AoKTtcbiAgICAgICAgdGhpcy5kYXRhID0gT2JqZWN0LmFzc2lnbih0aGlzLmRhdGEsIHtpdGVtczogZnVsbExpc3QsIGxlbmd0aDogZnVsbExpc3QubGVuZ3RofSk7XG5cbiAgICAgICAgcmV0dXJuIHJlbW92ZWRFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoaXRlbTogVFsnaXRlbXMnXVswXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGEuaXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YS5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5kYXRhLmxlbmd0aC0tO1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvY2xhc3Nlcy9kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFXOUM7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8saUJBQTZFLFNBQVEsVUFFakc7SUFLRyxZQUFtQixLQUF3QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUxLLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU9qRCxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQztZQUN4RCxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqRjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxLQUFLLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxJQUFJLENBQUMsSUFBYztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ04sQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDM0YsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFtQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLEdBQUc7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQztRQUVyRSxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQW1CO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xpdGVyYWx9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWREYXRhPFQ+IHtcbiAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgVFtdO1xuICAgIHJlYWRvbmx5IG9mZnNldD86IG51bWJlcjtcbiAgICByZWFkb25seSBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBhZ2VJbmRleDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgTmF0dXJhbERhdGFTb3VyY2Ugd2lsbCBjb25uZWN0IGltbWVkaWF0ZWx5LCBpbiBvcmRlciB0byBrbm93IGFzIHNvb24gYXMgcG9zc2libGUgaWZcbiAqIHdlIG5lZWQgdG8gc2hvdyBhIHRlbXBsYXRlIGF0IGFsbCAoYXMgc2VlbiBpbiBteS1pY2h0dXMpXG4gKlxuICogSXQgYWxzbyBhbGxvdyBzb21lIGV4dHJhIGRhdGEgbWFuaXB1bGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXR1cmFsRGF0YVNvdXJjZTxUIGV4dGVuZHMgUGFnaW5hdGVkRGF0YTxMaXRlcmFsPiA9IFBhZ2luYXRlZERhdGE8TGl0ZXJhbD4+IGV4dGVuZHMgRGF0YVNvdXJjZTxcbiAgICBUWydpdGVtcyddWzBdXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbERhdGE6IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodmFsdWU6IE9ic2VydmFibGU8VD4gfCBUKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPihudWxsKTtcbiAgICAgICAgICAgIHZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGludGVybmFsRGF0YU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZGF0YSB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCBieSB0aGUgdGFibGUsIHdoZXJlIGVhY2ggb2JqZWN0IHJlcHJlc2VudHMgb25lIHJvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGRhdGEoKTogVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkYXRhKGRhdGE6IFQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLm5leHQoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxUWydpdGVtcyddPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsRGF0YS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoZGF0YSA/IGRhdGEuaXRlbXMgOiBbXSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpOyAvLyB1bnN1YnNjcmliZSBldmVyeWJvZHlcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7IC8vIGNvbXBsZXRlIHRoZSBzdHJlYW0sIGJlY2F1c2Ugd2Ugd2lsbCBuZXZlciBlbWl0IGFnYWluXG4gICAgfVxuXG4gICAgcHVibGljIHB1c2goaXRlbTogVFsnaXRlbXMnXVswXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnVsbExpc3QgPSBbLi4udGhpcy5kYXRhLml0ZW1zXTtcbiAgICAgICAgZnVsbExpc3QucHVzaChpdGVtKTtcbiAgICAgICAgdGhpcy5kYXRhID0gey4uLnRoaXMuZGF0YSwgaXRlbXM6IGZ1bGxMaXN0LCBsZW5ndGg6IGZ1bGxMaXN0Lmxlbmd0aH07XG4gICAgfVxuXG4gICAgcHVibGljIHBvcCgpOiBUWydpdGVtcyddWzBdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZ1bGxMaXN0ID0gWy4uLnRoaXMuZGF0YS5pdGVtc107XG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50ID0gZnVsbExpc3QucG9wKCk7XG4gICAgICAgIHRoaXMuZGF0YSA9IHsuLi50aGlzLmRhdGEsIGl0ZW1zOiBmdWxsTGlzdCwgbGVuZ3RoOiBmdWxsTGlzdC5sZW5ndGh9O1xuXG4gICAgICAgIHJldHVybiByZW1vdmVkRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGl0ZW06IFRbJ2l0ZW1zJ11bMF0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLml0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxsTGlzdCA9IFsuLi50aGlzLmRhdGEuaXRlbXNdO1xuICAgICAgICAgICAgZnVsbExpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHsuLi50aGlzLmRhdGEsIGl0ZW1zOiBmdWxsTGlzdCwgbGVuZ3RoOiBmdWxsTGlzdC5sZW5ndGh9O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -163,4 +163,8 @@ export function copyToClipboard(document, text) {
163
163
  document.execCommand('copy');
164
164
  document.body.removeChild(input);
165
165
  }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUc3RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFpQjtJQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUV6QixPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBVTtJQUN4QyxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO0lBQ2hHLE1BQU0sSUFBSSxHQUFHLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxDQUFD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TSxDQUFDLENBQUM7SUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNBcnJheSwgaXNFbXB0eSwgaXNPYmplY3QsIHBpY2tCeX0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7TGl0ZXJhbH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuXG4vKipcbiAqIFZlcnkgYmFzaWMgZm9ybWF0dGluZyB0byBnZXQgb25seSBkYXRlLCB3aXRob3V0IHRpbWUgYW5kIGlnbm9yaW5nIGVudGlyZWx5IHRoZSB0aW1lem9uZVxuICpcbiAqIFNvIHNvbWV0aGluZyBsaWtlOiBcIjIwMjEtMDktMjNcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SXNvRGF0ZShkYXRlOiBEYXRlIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB5ID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG0gPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgIGNvbnN0IGQgPSBkYXRlLmdldERhdGUoKTtcblxuICAgIHJldHVybiB5ICsgJy0nICsgKG0gPCAxMCA/ICcwJyA6ICcnKSArIG0gKyAnLScgKyAoZCA8IDEwID8gJzAnIDogJycpICsgZDtcbn1cblxuLyoqXG4gKiBGb3JtYXQgYSBkYXRlIGFuZCB0aW1lIGluIGEgd2F5IHRoYXQgd2lsbCBwcmVzZXJ2ZSB0aGUgbG9jYWwgdGltZSB6b25lLlxuICogVGhpcyBhbGxvdyB0aGUgc2VydmVyIHNpZGUgdG8ga25vdyB0aGUgZGF5ICh3aXRob3V0IHRpbWUpIHRoYXQgd2FzIHNlbGVjdGVkIG9uIGNsaWVudCBzaWRlLlxuICpcbiAqIFNvIHNvbWV0aGluZyBsaWtlOiBcIjIwMjEtMDktMjNUMTc6NTc6MTYrMDk6MDBcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SXNvRGF0ZVRpbWUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbk1pbnV0ZXMgPSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbkhvdXJzID0gLU1hdGgudHJ1bmModGltZXpvbmVPZmZzZXRJbk1pbnV0ZXMgLyA2MCk7IC8vIFVUQyBtaW51cyBsb2NhbCB0aW1lXG4gICAgY29uc3Qgc2lnbiA9IHRpbWV6b25lT2Zmc2V0SW5Ib3VycyA+PSAwID8gJysnIDogJy0nO1xuICAgIGNvbnN0IGhvdXJzTGVhZGluZ1plcm8gPSBNYXRoLmFicyh0aW1lem9uZU9mZnNldEluSG91cnMpIDwgMTAgPyAnMCcgOiAnJztcbiAgICBjb25zdCByZW1haW5kZXJNaW51dGVzID0gLSh0aW1lem9uZU9mZnNldEluTWludXRlcyAlIDYwKTtcbiAgICBjb25zdCBtaW51dGVzTGVhZGluZ1plcm8gPSBNYXRoLmFicyhyZW1haW5kZXJNaW51dGVzKSA8IDEwID8gJzAnIDogJyc7XG5cbiAgICAvLyBJdCdzIGEgYml0IHVuZm9ydHVuYXRlIHRoYXQgd2UgbmVlZCB0byBjb25zdHJ1Y3QgYSBuZXcgRGF0ZSBpbnN0YW5jZSxcbiAgICAvLyBidXQgd2UgZG9uJ3Qgd2FudCB0aGUgb3JpZ2luYWwgRGF0ZSBpbnN0YW5jZSB0byBiZSBtb2RpZmllZFxuICAgIGNvbnN0IGNvcnJlY3RlZERhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApO1xuICAgIGNvcnJlY3RlZERhdGUuc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpICsgdGltZXpvbmVPZmZzZXRJbkhvdXJzKTtcblxuICAgIGNvbnN0IGlzbyA9IGNvcnJlY3RlZERhdGVcbiAgICAgICAgLnRvSVNPU3RyaW5nKClcbiAgICAgICAgLnJlcGxhY2UoL1xcLlxcZHszfVovLCAnJylcbiAgICAgICAgLnJlcGxhY2UoJ1onLCAnJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBpc28gK1xuICAgICAgICBzaWduICtcbiAgICAgICAgaG91cnNMZWFkaW5nWmVybyArXG4gICAgICAgIE1hdGguYWJzKHRpbWV6b25lT2Zmc2V0SW5Ib3VycykudG9TdHJpbmcoKSArXG4gICAgICAgICc6JyArXG4gICAgICAgIG1pbnV0ZXNMZWFkaW5nWmVybyArXG4gICAgICAgIHJlbWFpbmRlck1pbnV0ZXNcbiAgICApO1xufVxuXG4vKipcbiAqIFJlbGF0aW9ucyB0byBmdWxsIG9iamVjdHMgYXJlIGNvbnZlcnRlZCB0byB0aGVpciBJRHMgb25seS5cbiAqXG4gKiBTbyB7dXNlcjoge2lkOiAxMjN9fSBiZWNvbWVzIHt1c2VyOiAxMjN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWxhdGlvbnNUb0lkcyhvYmplY3Q6IExpdGVyYWwpOiBMaXRlcmFsIHtcbiAgICBjb25zdCBuZXdPYmo6IExpdGVyYWwgPSB7fTtcbiAgICBPYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgbGV0IHZhbHVlOiBzdHJpbmcgfCBMaXRlcmFsID0gb2JqZWN0W2tleV07XG4gICAgICAgIGlmIChpc09iamVjdCh2YWx1ZSkgJiYgdmFsdWUuaWQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuaWQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUubWFwKChpOiBzdHJpbmcgfCBMaXRlcmFsKSA9PiAoaXNPYmplY3QoaSkgJiYgaS5pZCA/IGkuaWQgOiBpKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QodmFsdWUpICYmICEodmFsdWUgaW5zdGFuY2VvZiBGaWxlKSAmJiAhKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcGlja0J5KHZhbHVlLCAodiwgaykgPT4gayAhPT0gJ19fdHlwZW5hbWUnKTsgLy8gb21pdCh2YWx1ZSwgWydfX3R5cGVuYW1lJ10pID9cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld09ialtrZXldID0gdmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuXG4vKipcbiAqIFJlbW92ZSBmcm9tIHNvdXJjZSBvYmplY3QgdGhlIGF0dHJpYnV0ZXMgd2l0aCBzYW1lIHZhbHVlIGFzIG1vZGlmaWVkXG4gKiBEb2VzIG5vdCBjb25zaWRlciBhcnJheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuU2FtZVZhbHVlcyhzb3VyY2U6IExpdGVyYWwsIG1vZGlmaWVkOiBMaXRlcmFsKTogTGl0ZXJhbCB7XG4gICAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChzb3VyY2Vba2V5XSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgY2xlYW5TYW1lVmFsdWVzKHNvdXJjZVtrZXldLCBtb2RpZmllZFtrZXldKTtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChtb2RpZmllZCAmJiBzb3VyY2Vba2V5XSA9PT0gbW9kaWZpZWRba2V5XSkge1xuICAgICAgICAgICAgZGVsZXRlIHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc291cmNlO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHBsdXJhbCBmb3JtIG9mIHRoZSBnaXZlbiBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUGx1cmFsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGx1cmFsID0gbmFtZSArICdzJztcblxuICAgIHJldHVybiBwbHVyYWwucmVwbGFjZSgveXMkLywgJ2llcycpLnJlcGxhY2UoL3NzJC8sICdzZXMnKS5yZXBsYWNlKC94cyQvLCAneGVzJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc3RyaW5nIHdpdGggdGhlIGZpcnN0IGxldHRlciBhcyBjYXBpdGFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cHBlckNhc2VGaXJzdExldHRlcih0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZXJtLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGVybS5zbGljZSgxKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzdHJpbmcgd2l0aCB0aGUgZmlyc3QgbGV0dGVyIGFzIGxvd2VyIGNhc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvd2VyQ2FzZUZpcnN0TGV0dGVyKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRlcm0uY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyB0ZXJtLnNsaWNlKDEpO1xufVxuXG4vKipcbiAqIFJlcGxhY2UgYWxsIGF0dHJpYnV0ZXMgb2YgZmlyc3Qgb2JqZWN0IHdpdGggdGhlIG9uZXMgcHJvdmlkZWQgYnkgdGhlIHNlY29uZCwgYnV0IGtlZXBzIHRoZSByZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VPYmplY3RLZWVwaW5nUmVmZXJlbmNlKG9iajogTGl0ZXJhbCB8IG51bGwsIG5ld09iajogTGl0ZXJhbCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIW9iaiB8fCAhbmV3T2JqKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIG9ialtrZXldID0gbmV3T2JqW2tleV07XG4gICAgfSk7XG59XG5cbi8qKlxuICogR2V0IGNvbnRyYXN0ZWQgY29sb3IgZm9yIHRleHQgaW4gdGhlIHNsaWRlciB0aHVtYlxuICogQHBhcmFtIGhleEJnQ29sb3Igc3RyaW5nIGluIGhleGFkZWNpbWFscyByZXByZXNlbnRpbmcgdGhlIGJhY2tncm91bmQgY29sb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcmVncm91bmRDb2xvcihoZXhCZ0NvbG9yOiBzdHJpbmcpOiAnYmxhY2snIHwgJ3doaXRlJyB7XG4gICAgY29uc3QgcmdiID0gaGV4VG9SZ2IoaGV4QmdDb2xvci5zbGljZSgwLCA3KSk7IC8vIHNwbGljZSByZW1vdmUgYWxwaGEgYW5kIGNvbnNpZGVyIG9ubHkgXCJ2aXNpYmxlXCIgY29sb3IgYXQgMTAwJSBhbHBoYVxuICAgIGNvbnN0IG8gPSBNYXRoLnJvdW5kKChyZ2IuciAqIDI5OSArIHJnYi5nICogNTg3ICsgcmdiLmIgKiAxMTQpIC8gMTAwMCk7XG5cbiAgICByZXR1cm4gbyA+IDEyNSA/ICdibGFjaycgOiAnd2hpdGUnO1xufVxuXG5mdW5jdGlvbiBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHtyOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyfSB7XG4gICAgLy8gRXhwYW5kIHNob3J0aGFuZCBmb3JtIChlLmcuIFwiMDNGXCIpIHRvIGZ1bGwgZm9ybSAoZS5nLiBcIjAwMzNGRlwiKVxuICAgIGNvbnN0IHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKSQvaTtcbiAgICBoZXggPSBoZXgucmVwbGFjZShzaG9ydGhhbmRSZWdleCwgKG0sIHIsIGcsIGIpID0+IHtcbiAgICAgICAgcmV0dXJuIHIgKyByICsgZyArIGcgKyBiICsgYjtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXgpO1xuICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHI6IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLFxuICAgICAgICAgICAgICBnOiBwYXJzZUludChyZXN1bHRbMl0sIDE2KSxcbiAgICAgICAgICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNiksXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgICAgcjogMCxcbiAgICAgICAgICAgICAgZzogMCxcbiAgICAgICAgICAgICAgYjogMCxcbiAgICAgICAgICB9O1xufVxuXG4vKipcbiAqIER1cmluZyBsb2Rhc2gubWVyZ2VXaXRoLCBvdmVycmlkZXMgYXJyYXlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU92ZXJyaWRlQXJyYXkoZGVzdFZhbHVlOiBhbnksIHNvdXJjZTogYW55KTogYW55IHtcbiAgICBpZiAoaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfVxufVxuXG4vKipcbiAqIENvcHkgdGV4dCB0byBjbGlwYm9hcmQuXG4gKiBBY2NlcHRzIGxpbmUgYnJlYWtzIGBcXG5gIGFzIHRleHRhcmVhIGRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29weVRvQ2xpcGJvYXJkKGRvY3VtZW50OiBEb2N1bWVudCwgdGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGlucHV0KTtcbiAgICBpbnB1dC52YWx1ZSA9IHRleHQ7XG4gICAgaW5wdXQuc2VsZWN0KCk7XG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTtcbn1cbiJdfQ==
166
+ export function deepFreeze(o) {
167
+ Object.values(o).forEach(v => Object.isFrozen(v) || deepFreeze(v));
168
+ return Object.freeze(o);
169
+ }
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUk3RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFpQjtJQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUV6QixPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBVTtJQUN4QyxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO0lBQ2hHLE1BQU0sSUFBSSxHQUFHLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxDQUFD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TSxDQUFDLENBQUM7SUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUksQ0FBSTtJQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBb0IsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FycmF5LCBpc0VtcHR5LCBpc09iamVjdCwgcGlja0J5fSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtMaXRlcmFsfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UmVhZG9ubHlEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuXG4vKipcbiAqIFZlcnkgYmFzaWMgZm9ybWF0dGluZyB0byBnZXQgb25seSBkYXRlLCB3aXRob3V0IHRpbWUgYW5kIGlnbm9yaW5nIGVudGlyZWx5IHRoZSB0aW1lem9uZVxuICpcbiAqIFNvIHNvbWV0aGluZyBsaWtlOiBcIjIwMjEtMDktMjNcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SXNvRGF0ZShkYXRlOiBEYXRlIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB5ID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG0gPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgIGNvbnN0IGQgPSBkYXRlLmdldERhdGUoKTtcblxuICAgIHJldHVybiB5ICsgJy0nICsgKG0gPCAxMCA/ICcwJyA6ICcnKSArIG0gKyAnLScgKyAoZCA8IDEwID8gJzAnIDogJycpICsgZDtcbn1cblxuLyoqXG4gKiBGb3JtYXQgYSBkYXRlIGFuZCB0aW1lIGluIGEgd2F5IHRoYXQgd2lsbCBwcmVzZXJ2ZSB0aGUgbG9jYWwgdGltZSB6b25lLlxuICogVGhpcyBhbGxvdyB0aGUgc2VydmVyIHNpZGUgdG8ga25vdyB0aGUgZGF5ICh3aXRob3V0IHRpbWUpIHRoYXQgd2FzIHNlbGVjdGVkIG9uIGNsaWVudCBzaWRlLlxuICpcbiAqIFNvIHNvbWV0aGluZyBsaWtlOiBcIjIwMjEtMDktMjNUMTc6NTc6MTYrMDk6MDBcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SXNvRGF0ZVRpbWUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbk1pbnV0ZXMgPSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbkhvdXJzID0gLU1hdGgudHJ1bmModGltZXpvbmVPZmZzZXRJbk1pbnV0ZXMgLyA2MCk7IC8vIFVUQyBtaW51cyBsb2NhbCB0aW1lXG4gICAgY29uc3Qgc2lnbiA9IHRpbWV6b25lT2Zmc2V0SW5Ib3VycyA+PSAwID8gJysnIDogJy0nO1xuICAgIGNvbnN0IGhvdXJzTGVhZGluZ1plcm8gPSBNYXRoLmFicyh0aW1lem9uZU9mZnNldEluSG91cnMpIDwgMTAgPyAnMCcgOiAnJztcbiAgICBjb25zdCByZW1haW5kZXJNaW51dGVzID0gLSh0aW1lem9uZU9mZnNldEluTWludXRlcyAlIDYwKTtcbiAgICBjb25zdCBtaW51dGVzTGVhZGluZ1plcm8gPSBNYXRoLmFicyhyZW1haW5kZXJNaW51dGVzKSA8IDEwID8gJzAnIDogJyc7XG5cbiAgICAvLyBJdCdzIGEgYml0IHVuZm9ydHVuYXRlIHRoYXQgd2UgbmVlZCB0byBjb25zdHJ1Y3QgYSBuZXcgRGF0ZSBpbnN0YW5jZSxcbiAgICAvLyBidXQgd2UgZG9uJ3Qgd2FudCB0aGUgb3JpZ2luYWwgRGF0ZSBpbnN0YW5jZSB0byBiZSBtb2RpZmllZFxuICAgIGNvbnN0IGNvcnJlY3RlZERhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICApO1xuICAgIGNvcnJlY3RlZERhdGUuc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpICsgdGltZXpvbmVPZmZzZXRJbkhvdXJzKTtcblxuICAgIGNvbnN0IGlzbyA9IGNvcnJlY3RlZERhdGVcbiAgICAgICAgLnRvSVNPU3RyaW5nKClcbiAgICAgICAgLnJlcGxhY2UoL1xcLlxcZHszfVovLCAnJylcbiAgICAgICAgLnJlcGxhY2UoJ1onLCAnJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBpc28gK1xuICAgICAgICBzaWduICtcbiAgICAgICAgaG91cnNMZWFkaW5nWmVybyArXG4gICAgICAgIE1hdGguYWJzKHRpbWV6b25lT2Zmc2V0SW5Ib3VycykudG9TdHJpbmcoKSArXG4gICAgICAgICc6JyArXG4gICAgICAgIG1pbnV0ZXNMZWFkaW5nWmVybyArXG4gICAgICAgIHJlbWFpbmRlck1pbnV0ZXNcbiAgICApO1xufVxuXG4vKipcbiAqIFJlbGF0aW9ucyB0byBmdWxsIG9iamVjdHMgYXJlIGNvbnZlcnRlZCB0byB0aGVpciBJRHMgb25seS5cbiAqXG4gKiBTbyB7dXNlcjoge2lkOiAxMjN9fSBiZWNvbWVzIHt1c2VyOiAxMjN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWxhdGlvbnNUb0lkcyhvYmplY3Q6IExpdGVyYWwpOiBMaXRlcmFsIHtcbiAgICBjb25zdCBuZXdPYmo6IExpdGVyYWwgPSB7fTtcbiAgICBPYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgbGV0IHZhbHVlOiBzdHJpbmcgfCBMaXRlcmFsID0gb2JqZWN0W2tleV07XG4gICAgICAgIGlmIChpc09iamVjdCh2YWx1ZSkgJiYgdmFsdWUuaWQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuaWQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUubWFwKChpOiBzdHJpbmcgfCBMaXRlcmFsKSA9PiAoaXNPYmplY3QoaSkgJiYgaS5pZCA/IGkuaWQgOiBpKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QodmFsdWUpICYmICEodmFsdWUgaW5zdGFuY2VvZiBGaWxlKSAmJiAhKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcGlja0J5KHZhbHVlLCAodiwgaykgPT4gayAhPT0gJ19fdHlwZW5hbWUnKTsgLy8gb21pdCh2YWx1ZSwgWydfX3R5cGVuYW1lJ10pID9cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld09ialtrZXldID0gdmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuXG4vKipcbiAqIFJlbW92ZSBmcm9tIHNvdXJjZSBvYmplY3QgdGhlIGF0dHJpYnV0ZXMgd2l0aCBzYW1lIHZhbHVlIGFzIG1vZGlmaWVkXG4gKiBEb2VzIG5vdCBjb25zaWRlciBhcnJheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuU2FtZVZhbHVlcyhzb3VyY2U6IExpdGVyYWwsIG1vZGlmaWVkOiBMaXRlcmFsKTogTGl0ZXJhbCB7XG4gICAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChzb3VyY2Vba2V5XSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgY2xlYW5TYW1lVmFsdWVzKHNvdXJjZVtrZXldLCBtb2RpZmllZFtrZXldKTtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChtb2RpZmllZCAmJiBzb3VyY2Vba2V5XSA9PT0gbW9kaWZpZWRba2V5XSkge1xuICAgICAgICAgICAgZGVsZXRlIHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc291cmNlO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHBsdXJhbCBmb3JtIG9mIHRoZSBnaXZlbiBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUGx1cmFsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGx1cmFsID0gbmFtZSArICdzJztcblxuICAgIHJldHVybiBwbHVyYWwucmVwbGFjZSgveXMkLywgJ2llcycpLnJlcGxhY2UoL3NzJC8sICdzZXMnKS5yZXBsYWNlKC94cyQvLCAneGVzJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc3RyaW5nIHdpdGggdGhlIGZpcnN0IGxldHRlciBhcyBjYXBpdGFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cHBlckNhc2VGaXJzdExldHRlcih0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZXJtLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGVybS5zbGljZSgxKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzdHJpbmcgd2l0aCB0aGUgZmlyc3QgbGV0dGVyIGFzIGxvd2VyIGNhc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvd2VyQ2FzZUZpcnN0TGV0dGVyKHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRlcm0uY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyB0ZXJtLnNsaWNlKDEpO1xufVxuXG4vKipcbiAqIFJlcGxhY2UgYWxsIGF0dHJpYnV0ZXMgb2YgZmlyc3Qgb2JqZWN0IHdpdGggdGhlIG9uZXMgcHJvdmlkZWQgYnkgdGhlIHNlY29uZCwgYnV0IGtlZXBzIHRoZSByZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VPYmplY3RLZWVwaW5nUmVmZXJlbmNlKG9iajogTGl0ZXJhbCB8IG51bGwsIG5ld09iajogTGl0ZXJhbCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIW9iaiB8fCAhbmV3T2JqKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIG9ialtrZXldID0gbmV3T2JqW2tleV07XG4gICAgfSk7XG59XG5cbi8qKlxuICogR2V0IGNvbnRyYXN0ZWQgY29sb3IgZm9yIHRleHQgaW4gdGhlIHNsaWRlciB0aHVtYlxuICogQHBhcmFtIGhleEJnQ29sb3Igc3RyaW5nIGluIGhleGFkZWNpbWFscyByZXByZXNlbnRpbmcgdGhlIGJhY2tncm91bmQgY29sb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcmVncm91bmRDb2xvcihoZXhCZ0NvbG9yOiBzdHJpbmcpOiAnYmxhY2snIHwgJ3doaXRlJyB7XG4gICAgY29uc3QgcmdiID0gaGV4VG9SZ2IoaGV4QmdDb2xvci5zbGljZSgwLCA3KSk7IC8vIHNwbGljZSByZW1vdmUgYWxwaGEgYW5kIGNvbnNpZGVyIG9ubHkgXCJ2aXNpYmxlXCIgY29sb3IgYXQgMTAwJSBhbHBoYVxuICAgIGNvbnN0IG8gPSBNYXRoLnJvdW5kKChyZ2IuciAqIDI5OSArIHJnYi5nICogNTg3ICsgcmdiLmIgKiAxMTQpIC8gMTAwMCk7XG5cbiAgICByZXR1cm4gbyA+IDEyNSA/ICdibGFjaycgOiAnd2hpdGUnO1xufVxuXG5mdW5jdGlvbiBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHtyOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyfSB7XG4gICAgLy8gRXhwYW5kIHNob3J0aGFuZCBmb3JtIChlLmcuIFwiMDNGXCIpIHRvIGZ1bGwgZm9ybSAoZS5nLiBcIjAwMzNGRlwiKVxuICAgIGNvbnN0IHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKSQvaTtcbiAgICBoZXggPSBoZXgucmVwbGFjZShzaG9ydGhhbmRSZWdleCwgKG0sIHIsIGcsIGIpID0+IHtcbiAgICAgICAgcmV0dXJuIHIgKyByICsgZyArIGcgKyBiICsgYjtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXgpO1xuICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHI6IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLFxuICAgICAgICAgICAgICBnOiBwYXJzZUludChyZXN1bHRbMl0sIDE2KSxcbiAgICAgICAgICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNiksXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgICAgcjogMCxcbiAgICAgICAgICAgICAgZzogMCxcbiAgICAgICAgICAgICAgYjogMCxcbiAgICAgICAgICB9O1xufVxuXG4vKipcbiAqIER1cmluZyBsb2Rhc2gubWVyZ2VXaXRoLCBvdmVycmlkZXMgYXJyYXlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU92ZXJyaWRlQXJyYXkoZGVzdFZhbHVlOiBhbnksIHNvdXJjZTogYW55KTogYW55IHtcbiAgICBpZiAoaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfVxufVxuXG4vKipcbiAqIENvcHkgdGV4dCB0byBjbGlwYm9hcmQuXG4gKiBBY2NlcHRzIGxpbmUgYnJlYWtzIGBcXG5gIGFzIHRleHRhcmVhIGRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29weVRvQ2xpcGJvYXJkKGRvY3VtZW50OiBEb2N1bWVudCwgdGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGlucHV0KTtcbiAgICBpbnB1dC52YWx1ZSA9IHRleHQ7XG4gICAgaW5wdXQuc2VsZWN0KCk7XG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBGcmVlemU8VD4obzogVCk6IFJlYWRvbmx5RGVlcDxUPiB7XG4gICAgT2JqZWN0LnZhbHVlcyhvKS5mb3JFYWNoKHYgPT4gT2JqZWN0LmlzRnJvemVuKHYpIHx8IGRlZXBGcmVlemUodikpO1xuXG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUobykgYXMgUmVhZG9ubHlEZWVwPFQ+O1xufVxuIl19
@@ -0,0 +1,207 @@
1
+ export function md5(string) {
2
+ const x = convertToWordArray(utf8Encode(string));
3
+ const S11 = 7;
4
+ const S12 = 12;
5
+ const S13 = 17;
6
+ const S14 = 22;
7
+ const S21 = 5;
8
+ const S22 = 9;
9
+ const S23 = 14;
10
+ const S24 = 20;
11
+ const S31 = 4;
12
+ const S32 = 11;
13
+ const S33 = 16;
14
+ const S34 = 23;
15
+ const S41 = 6;
16
+ const S42 = 10;
17
+ const S43 = 15;
18
+ const S44 = 21;
19
+ let a = 0x67452301;
20
+ let b = 0xefcdab89;
21
+ let c = 0x98badcfe;
22
+ let d = 0x10325476;
23
+ for (let k = 0; k < x.length; k += 16) {
24
+ const AA = a;
25
+ const BB = b;
26
+ const CC = c;
27
+ const DD = d;
28
+ a = FF(a, b, c, d, x[k], S11, 0xd76aa478);
29
+ d = FF(d, a, b, c, x[k + 1], S12, 0xe8c7b756);
30
+ c = FF(c, d, a, b, x[k + 2], S13, 0x242070db);
31
+ b = FF(b, c, d, a, x[k + 3], S14, 0xc1bdceee);
32
+ a = FF(a, b, c, d, x[k + 4], S11, 0xf57c0faf);
33
+ d = FF(d, a, b, c, x[k + 5], S12, 0x4787c62a);
34
+ c = FF(c, d, a, b, x[k + 6], S13, 0xa8304613);
35
+ b = FF(b, c, d, a, x[k + 7], S14, 0xfd469501);
36
+ a = FF(a, b, c, d, x[k + 8], S11, 0x698098d8);
37
+ d = FF(d, a, b, c, x[k + 9], S12, 0x8b44f7af);
38
+ c = FF(c, d, a, b, x[k + 10], S13, 0xffff5bb1);
39
+ b = FF(b, c, d, a, x[k + 11], S14, 0x895cd7be);
40
+ a = FF(a, b, c, d, x[k + 12], S11, 0x6b901122);
41
+ d = FF(d, a, b, c, x[k + 13], S12, 0xfd987193);
42
+ c = FF(c, d, a, b, x[k + 14], S13, 0xa679438e);
43
+ b = FF(b, c, d, a, x[k + 15], S14, 0x49b40821);
44
+ a = GG(a, b, c, d, x[k + 1], S21, 0xf61e2562);
45
+ d = GG(d, a, b, c, x[k + 6], S22, 0xc040b340);
46
+ c = GG(c, d, a, b, x[k + 11], S23, 0x265e5a51);
47
+ b = GG(b, c, d, a, x[k], S24, 0xe9b6c7aa);
48
+ a = GG(a, b, c, d, x[k + 5], S21, 0xd62f105d);
49
+ d = GG(d, a, b, c, x[k + 10], S22, 0x2441453);
50
+ c = GG(c, d, a, b, x[k + 15], S23, 0xd8a1e681);
51
+ b = GG(b, c, d, a, x[k + 4], S24, 0xe7d3fbc8);
52
+ a = GG(a, b, c, d, x[k + 9], S21, 0x21e1cde6);
53
+ d = GG(d, a, b, c, x[k + 14], S22, 0xc33707d6);
54
+ c = GG(c, d, a, b, x[k + 3], S23, 0xf4d50d87);
55
+ b = GG(b, c, d, a, x[k + 8], S24, 0x455a14ed);
56
+ a = GG(a, b, c, d, x[k + 13], S21, 0xa9e3e905);
57
+ d = GG(d, a, b, c, x[k + 2], S22, 0xfcefa3f8);
58
+ c = GG(c, d, a, b, x[k + 7], S23, 0x676f02d9);
59
+ b = GG(b, c, d, a, x[k + 12], S24, 0x8d2a4c8a);
60
+ a = HH(a, b, c, d, x[k + 5], S31, 0xfffa3942);
61
+ d = HH(d, a, b, c, x[k + 8], S32, 0x8771f681);
62
+ c = HH(c, d, a, b, x[k + 11], S33, 0x6d9d6122);
63
+ b = HH(b, c, d, a, x[k + 14], S34, 0xfde5380c);
64
+ a = HH(a, b, c, d, x[k + 1], S31, 0xa4beea44);
65
+ d = HH(d, a, b, c, x[k + 4], S32, 0x4bdecfa9);
66
+ c = HH(c, d, a, b, x[k + 7], S33, 0xf6bb4b60);
67
+ b = HH(b, c, d, a, x[k + 10], S34, 0xbebfbc70);
68
+ a = HH(a, b, c, d, x[k + 13], S31, 0x289b7ec6);
69
+ d = HH(d, a, b, c, x[k], S32, 0xeaa127fa);
70
+ c = HH(c, d, a, b, x[k + 3], S33, 0xd4ef3085);
71
+ b = HH(b, c, d, a, x[k + 6], S34, 0x4881d05);
72
+ a = HH(a, b, c, d, x[k + 9], S31, 0xd9d4d039);
73
+ d = HH(d, a, b, c, x[k + 12], S32, 0xe6db99e5);
74
+ c = HH(c, d, a, b, x[k + 15], S33, 0x1fa27cf8);
75
+ b = HH(b, c, d, a, x[k + 2], S34, 0xc4ac5665);
76
+ a = II(a, b, c, d, x[k], S41, 0xf4292244);
77
+ d = II(d, a, b, c, x[k + 7], S42, 0x432aff97);
78
+ c = II(c, d, a, b, x[k + 14], S43, 0xab9423a7);
79
+ b = II(b, c, d, a, x[k + 5], S44, 0xfc93a039);
80
+ a = II(a, b, c, d, x[k + 12], S41, 0x655b59c3);
81
+ d = II(d, a, b, c, x[k + 3], S42, 0x8f0ccc92);
82
+ c = II(c, d, a, b, x[k + 10], S43, 0xffeff47d);
83
+ b = II(b, c, d, a, x[k + 1], S44, 0x85845dd1);
84
+ a = II(a, b, c, d, x[k + 8], S41, 0x6fa87e4f);
85
+ d = II(d, a, b, c, x[k + 15], S42, 0xfe2ce6e0);
86
+ c = II(c, d, a, b, x[k + 6], S43, 0xa3014314);
87
+ b = II(b, c, d, a, x[k + 13], S44, 0x4e0811a1);
88
+ a = II(a, b, c, d, x[k + 4], S41, 0xf7537e82);
89
+ d = II(d, a, b, c, x[k + 11], S42, 0xbd3af235);
90
+ c = II(c, d, a, b, x[k + 2], S43, 0x2ad7d2bb);
91
+ b = II(b, c, d, a, x[k + 9], S44, 0xeb86d391);
92
+ a = addUnsigned(a, AA);
93
+ b = addUnsigned(b, BB);
94
+ c = addUnsigned(c, CC);
95
+ d = addUnsigned(d, DD);
96
+ }
97
+ const result = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d);
98
+ return result.toLowerCase();
99
+ }
100
+ function addUnsigned(lX, lY) {
101
+ const lX8 = lX & 0x80000000;
102
+ const lY8 = lY & 0x80000000;
103
+ const lX4 = lX & 0x40000000;
104
+ const lY4 = lY & 0x40000000;
105
+ const lResult = (lX & 0x3fffffff) + (lY & 0x3fffffff);
106
+ if (!!(lX4 & lY4)) {
107
+ return lResult ^ 0x80000000 ^ lX8 ^ lY8;
108
+ }
109
+ if (!!(lX4 | lY4)) {
110
+ if (!!(lResult & 0x40000000)) {
111
+ return lResult ^ 0xc0000000 ^ lX8 ^ lY8;
112
+ }
113
+ else {
114
+ return lResult ^ 0x40000000 ^ lX8 ^ lY8;
115
+ }
116
+ }
117
+ else {
118
+ return lResult ^ lX8 ^ lY8;
119
+ }
120
+ }
121
+ function rotateLeft(lValue, iShiftBits) {
122
+ return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
123
+ }
124
+ function F(x, y, z) {
125
+ return (x & y) | (~x & z);
126
+ }
127
+ function G(x, y, z) {
128
+ return (x & z) | (y & ~z);
129
+ }
130
+ function H(x, y, z) {
131
+ return x ^ y ^ z;
132
+ }
133
+ function I(x, y, z) {
134
+ return y ^ (x | ~z);
135
+ }
136
+ function FF(a, b, c, d, x, s, ac) {
137
+ a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac));
138
+ return addUnsigned(rotateLeft(a, s), b);
139
+ }
140
+ function GG(a, b, c, d, x, s, ac) {
141
+ a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac));
142
+ return addUnsigned(rotateLeft(a, s), b);
143
+ }
144
+ function HH(a, b, c, d, x, s, ac) {
145
+ a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac));
146
+ return addUnsigned(rotateLeft(a, s), b);
147
+ }
148
+ function II(a, b, c, d, x, s, ac) {
149
+ a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac));
150
+ return addUnsigned(rotateLeft(a, s), b);
151
+ }
152
+ function convertToWordArray(string) {
153
+ let lWordCount;
154
+ const lMessageLength = string.length;
155
+ const lNumberOfWords_temp1 = lMessageLength + 8;
156
+ const lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
157
+ const lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
158
+ const lWordArray = Array(lNumberOfWords - 1);
159
+ let lBytePosition = 0;
160
+ let lByteCount = 0;
161
+ while (lByteCount < lMessageLength) {
162
+ lWordCount = (lByteCount - (lByteCount % 4)) / 4;
163
+ lBytePosition = (lByteCount % 4) * 8;
164
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition);
165
+ lByteCount++;
166
+ }
167
+ lWordCount = (lByteCount - (lByteCount % 4)) / 4;
168
+ lBytePosition = (lByteCount % 4) * 8;
169
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
170
+ lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
171
+ lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
172
+ return lWordArray;
173
+ }
174
+ function wordToHex(lValue) {
175
+ let WordToHexValue = '';
176
+ let WordToHexValue_temp = '';
177
+ let lByte;
178
+ let lCount;
179
+ for (lCount = 0; lCount <= 3; lCount++) {
180
+ lByte = (lValue >>> (lCount * 8)) & 255;
181
+ WordToHexValue_temp = '0' + lByte.toString(16);
182
+ WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
183
+ }
184
+ return WordToHexValue;
185
+ }
186
+ function utf8Encode(string) {
187
+ let utftext = '';
188
+ let c;
189
+ string = string.replace(/\r\n/g, '\n');
190
+ for (let n = 0; n < string.length; n++) {
191
+ c = string.charCodeAt(n);
192
+ if (c < 128) {
193
+ utftext += String.fromCharCode(c);
194
+ }
195
+ else if (c > 127 && c < 2048) {
196
+ utftext += String.fromCharCode((c >> 6) | 192);
197
+ utftext += String.fromCharCode((c & 63) | 128);
198
+ }
199
+ else {
200
+ utftext += String.fromCharCode((c >> 12) | 224);
201
+ utftext += String.fromCharCode(((c >> 6) & 63) | 128);
202
+ utftext += String.fromCharCode((c & 63) | 128);
203
+ }
204
+ }
205
+ return utftext;
206
+ }
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWQ1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvYXZhdGFyL3NlcnZpY2UvbWQ1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBYztJQUM5QixNQUFNLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFFZixJQUFJLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDbkIsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDO0lBQ25CLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUNuQixJQUFJLENBQUMsR0FBRyxVQUFVLENBQUM7SUFFbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDYixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDYixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDYixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFYixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3QyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMs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QUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBVTtJQUNwRixDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBVTtJQUNwRixDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBVTtJQUNwRixDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVB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ZXhwb3J0IGZ1bmN0aW9uIG1kNShzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgeCA9IGNvbnZlcnRUb1dvcmRBcnJheSh1dGY4RW5jb2RlKHN0cmluZykpO1xuICAgIGNvbnN0IFMxMSA9IDc7XG4gICAgY29uc3QgUzEyID0gMTI7XG4gICAgY29uc3QgUzEzID0gMTc7XG4gICAgY29uc3QgUzE0ID0gMjI7XG4gICAgY29uc3QgUzIxID0gNTtcbiAgICBjb25zdCBTMjIgPSA5O1xuICAgIGNvbnN0IFMyMyA9IDE0O1xuICAgIGNvbnN0IFMyNCA9IDIwO1xuICAgIGNvbnN0IFMzMSA9IDQ7XG4gICAgY29uc3QgUzMyID0gMTE7XG4gICAgY29uc3QgUzMzID0gMTY7XG4gICAgY29uc3QgUzM0ID0gMjM7XG4gICAgY29uc3QgUzQxID0gNjtcbiAgICBjb25zdCBTNDIgPSAxMDtcbiAgICBjb25zdCBTNDMgPSAxNTtcbiAgICBjb25zdCBTNDQgPSAyMTtcblxuICAgIGxldCBhID0gMHg2NzQ1MjMwMTtcbiAgICBsZXQgYiA9IDB4ZWZjZGFiODk7XG4gICAgbGV0IGMgPSAweDk4YmFkY2ZlO1xuICAgIGxldCBkID0gMHgxMDMyNTQ3NjtcblxuICAgIGZvciAobGV0IGsgPSAwOyBrIDwgeC5sZW5ndGg7IGsgKz0gMTYpIHtcbiAgICAgICAgY29uc3QgQUEgPSBhO1xuICAgICAgICBjb25zdCBCQiA9IGI7XG4gICAgICAgIGNvbnN0IENDID0gYztcbiAgICAgICAgY29uc3QgREQgPSBkO1xuXG4gICAgICAgIGEgPSBGRihhLCBiLCBjLCBkLCB4W2tdLCBTMTEsIDB4ZDc2YWE0NzgpO1xuICAgICAgICBkID0gRkYoZCwgYSwgYiwgYywgeFtrICsgMV0sIFMxMiwgMHhlOGM3Yjc1Nik7XG4gICAgICAgIGMgPSBGRihjLCBkLCBhLCBiLCB4W2sgKyAyXSwgUzEzLCAweDI0MjA3MGRiKTtcbiAgICAgICAgYiA9IEZGKGIsIGMsIGQsIGEsIHhbayArIDNdLCBTMTQsIDB4YzFiZGNlZWUpO1xuICAgICAgICBhID0gRkYoYSwgYiwgYywgZCwgeFtrICsgNF0sIFMxMSwgMHhmNTdjMGZhZik7XG4gICAgICAgIGQgPSBGRihkLCBhLCBiLCBjLCB4W2sgKyA1XSwgUzEyLCAweDQ3ODdjNjJhKTtcbiAgICAgICAgYyA9IEZGKGMsIGQsIGEsIGIsIHhbayArIDZdLCBTMTMsIDB4YTgzMDQ2MTMpO1xuICAgICAgICBiID0gRkYoYiwgYywgZCwgYSwgeFtrICsgN10sIFMxNCwgMHhmZDQ2OTUwMSk7XG4gICAgICAgIGEgPSBGRihhLCBiLCBjLCBkLCB4W2sgKyA4XSwgUzExLCAweDY5ODA5OGQ4KTtcbiAgICAgICAgZCA9IEZGKGQsIGEsIGIsIGMsIHhbayArIDldLCBTMTIsIDB4OGI0NGY3YWYpO1xuICAgICAgICBjID0gRkYoYywgZCwgYSwgYiwgeFtrICsgMTBdLCBTMTMsIDB4ZmZmZjViYjEpO1xuICAgICAgICBiID0gRkYoYiwgYywgZCwgYSwgeFtrICsgMTFdLCBTMTQsIDB4ODk1Y2Q3YmUpO1xuICAgICAgICBhID0gRkYoYSwgYiwgYywgZCwgeFtrICsgMTJdLCBTMTEsIDB4NmI5MDExMjIpO1xuICAgICAgICBkID0gRkYoZCwgYSwgYiwgYywgeFtrICsgMTNdLCBTMTIsIDB4ZmQ5ODcxOTMpO1xuICAgICAgICBjID0gRkYoYywgZCwgYSwgYiwgeFtrICsgMTRdLCBTMTMsIDB4YTY3OTQzOGUpO1xuICAgICAgICBiID0gRkYoYiwgYywgZCwgYSwgeFtrICsgMTVdLCBTMTQsIDB4NDliNDA4MjEpO1xuICAgICAgICBhID0gR0coYSwgYiwgYywgZCwgeFtrICsgMV0sIFMyMSwgMHhmNjFlMjU2Mik7XG4gICAgICAgIGQgPSBHRyhkLCBhLCBiLCBjLCB4W2sgKyA2XSwgUzIyLCAweGMwNDBiMzQwKTtcbiAgICAgICAgYyA9IEdHKGMsIGQsIGEsIGIsIHhbayArIDExXSwgUzIzLCAweDI2NWU1YTUxKTtcbiAgICAgICAgYiA9IEdHKGIsIGMsIGQsIGEsIHhba10sIFMyNCwgMHhlOWI2YzdhYSk7XG4gICAgICAgIGEgPSBHRyhhLCBiLCBjLCBkLCB4W2sgKyA1XSwgUzIxLCAweGQ2MmYxMDVkKTtcbiAgICAgICAgZCA9IEdHKGQsIGEsIGIsIGMsIHhbayArIDEwXSwgUzIyLCAweDI0NDE0NTMpO1xuICAgICAgICBjID0gR0coYywgZCwgYSwgYiwgeFtrICsgMTVdLCBTMjMsIDB4ZDhhMWU2ODEpO1xuICAgICAgICBiID0gR0coYiwgYywgZCwgYSwgeFtrICsgNF0sIFMyNCwgMHhlN2QzZmJjOCk7XG4gICAgICAgIGEgPSBHRyhhLCBiLCBjLCBkLCB4W2sgKyA5XSwgUzIxLCAweDIxZTFjZGU2KTtcbiAgICAgICAgZCA9IEdHKGQsIGEsIGIsIGMsIHhbayArIDE0XSwgUzIyLCAweGMzMzcwN2Q2KTtcbiAgICAgICAgYyA9IEdHKGMsIGQsIGEsIGIsIHhbayArIDNdLCBTMjMsIDB4ZjRkNTBkODcpO1xuICAgICAgICBiID0gR0coYiwgYywgZCwgYSwgeFtrICsgOF0sIFMyNCwgMHg0NTVhMTRlZCk7XG4gICAgICAgIGEgPSBHRyhhLCBiLCBjLCBkLCB4W2sgKyAxM10sIFMyMSwgMHhhOWUzZTkwNSk7XG4gICAgICAgIGQgPSBHRyhkLCBhLCBiLCBjLCB4W2sgKyAyXSwgUzIyLCAweGZjZWZhM2Y4KTtcbiAgICAgICAgYyA9IEdHKGMsIGQsIGEsIGIsIHhbayArIDddLCBTMjMsIDB4Njc2ZjAyZDkpO1xuICAgICAgICBiID0gR0coYiwgYywgZCwgYSwgeFtrICsgMTJdLCBTMjQsIDB4OGQyYTRjOGEpO1xuICAgICAgICBhID0gSEgoYSwgYiwgYywgZCwgeFtrICsgNV0sIFMzMSwgMHhmZmZhMzk0Mik7XG4gICAgICAgIGQgPSBISChkLCBhLCBiLCBjLCB4W2sgKyA4XSwgUzMyLCAweDg3NzFmNjgxKTtcbiAgICAgICAgYyA9IEhIKGMsIGQsIGEsIGIsIHhbayArIDExXSwgUzMzLCAweDZkOWQ2MTIyKTtcbiAgICAgICAgYiA9IEhIKGIsIGMsIGQsIGEsIHhbayArIDE0XSwgUzM0LCAweGZkZTUzODBjKTtcbiAgICAgICAgYSA9IEhIKGEsIGIsIGMsIGQsIHhbayArIDFdLCBTMzEsIDB4YTRiZWVhNDQpO1xuICAgICAgICBkID0gSEgoZCwgYSwgYiwgYywgeFtrICsgNF0sIFMzMiwgMHg0YmRlY2ZhOSk7XG4gICAgICAgIGMgPSBISChjLCBkLCBhLCBiLCB4W2sgKyA3XSwgUzMzLCAweGY2YmI0YjYwKTtcbiAgICAgICAgYiA9IEhIKGIsIGMsIGQsIGEsIHhbayArIDEwXSwgUzM0LCAweGJlYmZiYzcwKTtcbiAgICAgICAgYSA9IEhIKGEsIGIsIGMsIGQsIHhbayArIDEzXSwgUzMxLCAweDI4OWI3ZWM2KTtcbiAgICAgICAgZCA9IEhIKGQsIGEsIGIsIGMsIHhba10sIFMzMiwgMHhlYWExMjdmYSk7XG4gICAgICAgIGMgPSBISChjLCBkLCBhLCBiLCB4W2sgKyAzXSwgUzMzLCAweGQ0ZWYzMDg1KTtcbiAgICAgICAgYiA9IEhIKGIsIGMsIGQsIGEsIHhbayArIDZdLCBTMzQsIDB4NDg4MWQwNSk7XG4gICAgICAgIGEgPSBISChhLCBiLCBjLCBkLCB4W2sgKyA5XSwgUzMxLCAweGQ5ZDRkMDM5KTtcbiAgICAgICAgZCA9IEhIKGQsIGEsIGIsIGMsIHhbayArIDEyXSwgUzMyLCAweGU2ZGI5OWU1KTtcbiAgICAgICAgYyA9IEhIKGMsIGQsIGEsIGIsIHhbayArIDE1XSwgUzMzLCAweDFmYTI3Y2Y4KTtcbiAgICAgICAgYiA9IEhIKGIsIGMsIGQsIGEsIHhbayArIDJdLCBTMzQsIDB4YzRhYzU2NjUpO1xuICAgICAgICBhID0gSUkoYSwgYiwgYywgZCwgeFtrXSwgUzQxLCAweGY0MjkyMjQ0KTtcbiAgICAgICAgZCA9IElJKGQsIGEsIGIsIGMsIHhbayArIDddLCBTNDIsIDB4NDMyYWZmOTcpO1xuICAgICAgICBjID0gSUkoYywgZCwgYSwgYiwgeFtrICsgMTRdLCBTNDMsIDB4YWI5NDIzYTcpO1xuICAgICAgICBiID0gSUkoYiwgYywgZCwgYSwgeFtrICsgNV0sIFM0NCwgMHhmYzkzYTAzOSk7XG4gICAgICAgIGEgPSBJSShhLCBiLCBjLCBkLCB4W2sgKyAxMl0sIFM0MSwgMHg2NTViNTljMyk7XG4gICAgICAgIGQgPSBJSShkLCBhLCBiLCBjLCB4W2sgKyAzXSwgUzQyLCAweDhmMGNjYzkyKTtcbiAgICAgICAgYyA9IElJKGMsIGQsIGEsIGIsIHhbayArIDEwXSwgUzQzLCAweGZmZWZmNDdkKTtcbiAgICAgICAgYiA9IElJKGIsIGMsIGQsIGEsIHhbayArIDFdLCBTNDQsIDB4ODU4NDVkZDEpO1xuICAgICAgICBhID0gSUkoYSwgYiwgYywgZCwgeFtrICsgOF0sIFM0MSwgMHg2ZmE4N2U0Zik7XG4gICAgICAgIGQgPSBJSShkLCBhLCBiLCBjLCB4W2sgKyAxNV0sIFM0MiwgMHhmZTJjZTZlMCk7XG4gICAgICAgIGMgPSBJSShjLCBkLCBhLCBiLCB4W2sgKyA2XSwgUzQzLCAweGEzMDE0MzE0KTtcbiAgICAgICAgYiA9IElJKGIsIGMsIGQsIGEsIHhbayArIDEzXSwgUzQ0LCAweDRlMDgxMWExKTtcbiAgICAgICAgYSA9IElJKGEsIGIsIGMsIGQsIHhbayArIDRdLCBTNDEsIDB4Zjc1MzdlODIpO1xuICAgICAgICBkID0gSUkoZCwgYSwgYiwgYywgeFtrICsgMTFdLCBTNDIsIDB4YmQzYWYyMzUpO1xuICAgICAgICBjID0gSUkoYywgZCwgYSwgYiwgeFtrICsgMl0sIFM0MywgMHgyYWQ3ZDJiYik7XG4gICAgICAgIGIgPSBJSShiLCBjLCBkLCBhLCB4W2sgKyA5XSwgUzQ0LCAweGViODZkMzkxKTtcblxuICAgICAgICBhID0gYWRkVW5zaWduZWQoYSwgQUEpO1xuICAgICAgICBiID0gYWRkVW5zaWduZWQoYiwgQkIpO1xuICAgICAgICBjID0gYWRkVW5zaWduZWQoYywgQ0MpO1xuICAgICAgICBkID0gYWRkVW5zaWduZWQoZCwgREQpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHdvcmRUb0hleChhKSArIHdvcmRUb0hleChiKSArIHdvcmRUb0hleChjKSArIHdvcmRUb0hleChkKTtcblxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcbn1cblxuZnVuY3Rpb24gYWRkVW5zaWduZWQobFg6IG51bWJlciwgbFk6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgbFg4ID0gbFggJiAweDgwMDAwMDAwO1xuICAgIGNvbnN0IGxZOCA9IGxZICYgMHg4MDAwMDAwMDtcbiAgICBjb25zdCBsWDQgPSBsWCAmIDB4NDAwMDAwMDA7XG4gICAgY29uc3QgbFk0ID0gbFkgJiAweDQwMDAwMDAwO1xuICAgIGNvbnN0IGxSZXN1bHQgPSAobFggJiAweDNmZmZmZmZmKSArIChsWSAmIDB4M2ZmZmZmZmYpO1xuXG4gICAgaWYgKCEhKGxYNCAmIGxZNCkpIHtcbiAgICAgICAgcmV0dXJuIGxSZXN1bHQgXiAweDgwMDAwMDAwIF4gbFg4IF4gbFk4O1xuICAgIH1cblxuICAgIGlmICghIShsWDQgfCBsWTQpKSB7XG4gICAgICAgIGlmICghIShsUmVzdWx0ICYgMHg0MDAwMDAwMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBsUmVzdWx0IF4gMHhjMDAwMDAwMCBeIGxYOCBeIGxZODtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsUmVzdWx0IF4gMHg0MDAwMDAwMCBeIGxYOCBeIGxZODtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBsUmVzdWx0IF4gbFg4IF4gbFk4O1xuICAgIH1cbn1cblxuZnVuY3Rpb24gcm90YXRlTGVmdChsVmFsdWU6IG51bWJlciwgaVNoaWZ0Qml0czogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGxWYWx1ZSA8PCBpU2hpZnRCaXRzKSB8IChsVmFsdWUgPj4+ICgzMiAtIGlTaGlmdEJpdHMpKTtcbn1cblxuZnVuY3Rpb24gRih4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHggJiB5KSB8ICh+eCAmIHopO1xufVxuXG5mdW5jdGlvbiBHKHg6IG51bWJlciwgeTogbnVtYmVyLCB6OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiAoeCAmIHopIHwgKHkgJiB+eik7XG59XG5cbmZ1bmN0aW9uIEgoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHggXiB5IF4gejtcbn1cblxuZnVuY3Rpb24gSSh4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4geSBeICh4IHwgfnopO1xufVxuXG5mdW5jdGlvbiBGRihhOiBudW1iZXIsIGI6IG51bWJlciwgYzogbnVtYmVyLCBkOiBudW1iZXIsIHg6IG51bWJlciwgczogbnVtYmVyLCBhYzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBhID0gYWRkVW5zaWduZWQoYSwgYWRkVW5zaWduZWQoYWRkVW5zaWduZWQoRihiLCBjLCBkKSwgeCksIGFjKSk7XG4gICAgcmV0dXJuIGFkZFVuc2lnbmVkKHJvdGF0ZUxlZnQoYSwgcyksIGIpO1xufVxuXG5mdW5jdGlvbiBHRyhhOiBudW1iZXIsIGI6IG51bWJlciwgYzogbnVtYmVyLCBkOiBudW1iZXIsIHg6IG51bWJlciwgczogbnVtYmVyLCBhYzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBhID0gYWRkVW5zaWduZWQoYSwgYWRkVW5zaWduZWQoYWRkVW5zaWduZWQoRyhiLCBjLCBkKSwgeCksIGFjKSk7XG4gICAgcmV0dXJuIGFkZFVuc2lnbmVkKHJvdGF0ZUxlZnQoYSwgcyksIGIpO1xufVxuXG5mdW5jdGlvbiBISChhOiBudW1iZXIsIGI6IG51bWJlciwgYzogbnVtYmVyLCBkOiBudW1iZXIsIHg6IG51bWJlciwgczogbnVtYmVyLCBhYzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBhID0gYWRkVW5zaWduZWQoYSwgYWRkVW5zaWduZWQoYWRkVW5zaWduZWQoSChiLCBjLCBkKSwgeCksIGFjKSk7XG4gICAgcmV0dXJuIGFkZFVuc2lnbmVkKHJvdGF0ZUxlZnQoYSwgcyksIGIpO1xufVxuXG5mdW5jdGlvbiBJSShhOiBudW1iZXIsIGI6IG51bWJlciwgYzogbnVtYmVyLCBkOiBudW1iZXIsIHg6IG51bWJlciwgczogbnVtYmVyLCBhYzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBhID0gYWRkVW5zaWduZWQoYSwgYWRkVW5zaWduZWQoYWRkVW5zaWduZWQoSShiLCBjLCBkKSwgeCksIGFjKSk7XG4gICAgcmV0dXJuIGFkZFVuc2lnbmVkKHJvdGF0ZUxlZnQoYSwgcyksIGIpO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VG9Xb3JkQXJyYXkoc3RyaW5nOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gICAgbGV0IGxXb3JkQ291bnQ6IG51bWJlcjtcbiAgICBjb25zdCBsTWVzc2FnZUxlbmd0aDogbnVtYmVyID0gc3RyaW5nLmxlbmd0aDtcbiAgICBjb25zdCBsTnVtYmVyT2ZXb3Jkc190ZW1wMTogbnVtYmVyID0gbE1lc3NhZ2VMZW5ndGggKyA4O1xuICAgIGNvbnN0IGxOdW1iZXJPZldvcmRzX3RlbXAyOiBudW1iZXIgPSAobE51bWJlck9mV29yZHNfdGVtcDEgLSAobE51bWJlck9mV29yZHNfdGVtcDEgJSA2NCkpIC8gNjQ7XG4gICAgY29uc3QgbE51bWJlck9mV29yZHM6IG51bWJlciA9IChsTnVtYmVyT2ZXb3Jkc190ZW1wMiArIDEpICogMTY7XG4gICAgY29uc3QgbFdvcmRBcnJheTogbnVtYmVyW10gPSBBcnJheShsTnVtYmVyT2ZXb3JkcyAtIDEpO1xuICAgIGxldCBsQnl0ZVBvc2l0aW9uOiBudW1iZXIgPSAwO1xuICAgIGxldCBsQnl0ZUNvdW50OiBudW1iZXIgPSAwO1xuXG4gICAgd2hpbGUgKGxCeXRlQ291bnQgPCBsTWVzc2FnZUxlbmd0aCkge1xuICAgICAgICBsV29yZENvdW50ID0gKGxCeXRlQ291bnQgLSAobEJ5dGVDb3VudCAlIDQpKSAvIDQ7XG4gICAgICAgIGxCeXRlUG9zaXRpb24gPSAobEJ5dGVDb3VudCAlIDQpICogODtcbiAgICAgICAgbFdvcmRBcnJheVtsV29yZENvdW50XSA9IGxXb3JkQXJyYXlbbFdvcmRDb3VudF0gfCAoc3RyaW5nLmNoYXJDb2RlQXQobEJ5dGVDb3VudCkgPDwgbEJ5dGVQb3NpdGlvbik7XG4gICAgICAgIGxCeXRlQ291bnQrKztcbiAgICB9XG5cbiAgICBsV29yZENvdW50ID0gKGxCeXRlQ291bnQgLSAobEJ5dGVDb3VudCAlIDQpKSAvIDQ7XG4gICAgbEJ5dGVQb3NpdGlvbiA9IChsQnl0ZUNvdW50ICUgNCkgKiA4O1xuICAgIGxXb3JkQXJyYXlbbFdvcmRDb3VudF0gPSBsV29yZEFycmF5W2xXb3JkQ291bnRdIHwgKDB4ODAgPDwgbEJ5dGVQb3NpdGlvbik7XG4gICAgbFdvcmRBcnJheVtsTnVtYmVyT2ZXb3JkcyAtIDJdID0gbE1lc3NhZ2VMZW5ndGggPDwgMztcbiAgICBsV29yZEFycmF5W2xOdW1iZXJPZldvcmRzIC0gMV0gPSBsTWVzc2FnZUxlbmd0aCA+Pj4gMjk7XG5cbiAgICByZXR1cm4gbFdvcmRBcnJheTtcbn1cblxuZnVuY3Rpb24gd29yZFRvSGV4KGxWYWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgV29yZFRvSGV4VmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIGxldCBXb3JkVG9IZXhWYWx1ZV90ZW1wOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgbEJ5dGU6IG51bWJlcjtcbiAgICBsZXQgbENvdW50OiBudW1iZXI7XG5cbiAgICBmb3IgKGxDb3VudCA9IDA7IGxDb3VudCA8PSAzOyBsQ291bnQrKykge1xuICAgICAgICBsQnl0ZSA9IChsVmFsdWUgPj4+IChsQ291bnQgKiA4KSkgJiAyNTU7XG4gICAgICAgIFdvcmRUb0hleFZhbHVlX3RlbXAgPSAnMCcgKyBsQnl0ZS50b1N0cmluZygxNik7XG4gICAgICAgIFdvcmRUb0hleFZhbHVlID0gV29yZFRvSGV4VmFsdWUgKyBXb3JkVG9IZXhWYWx1ZV90ZW1wLnN1YnN0cihXb3JkVG9IZXhWYWx1ZV90ZW1wLmxlbmd0aCAtIDIsIDIpO1xuICAgIH1cblxuICAgIHJldHVybiBXb3JkVG9IZXhWYWx1ZTtcbn1cblxuZnVuY3Rpb24gdXRmOEVuY29kZShzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHV0ZnRleHQ6IHN0cmluZyA9ICcnO1xuICAgIGxldCBjOiBudW1iZXI7XG5cbiAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKTtcblxuICAgIGZvciAobGV0IG4gPSAwOyBuIDwgc3RyaW5nLmxlbmd0aDsgbisrKSB7XG4gICAgICAgIGMgPSBzdHJpbmcuY2hhckNvZGVBdChuKTtcblxuICAgICAgICBpZiAoYyA8IDEyOCkge1xuICAgICAgICAgICAgdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpO1xuICAgICAgICB9IGVsc2UgaWYgKGMgPiAxMjcgJiYgYyA8IDIwNDgpIHtcbiAgICAgICAgICAgIHV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyA+PiA2KSB8IDE5Mik7XG4gICAgICAgICAgICB1dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKGMgJiA2MykgfCAxMjgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKChjID4+IDEyKSB8IDIyNCk7XG4gICAgICAgICAgICB1dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKChjID4+IDYpICYgNjMpIHwgMTI4KTtcbiAgICAgICAgICAgIHV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyAmIDYzKSB8IDEyOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdXRmdGV4dDtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { Md5 } from 'ts-md5';
2
1
  import { Source } from './source';
2
+ import { md5 } from '../service/md5';
3
3
  function isRetina() {
4
4
  // We cannot reasonably inject `DOCUMENT` here, but we are extra
5
5
  // careful about usage of `window` and its possible non-existence in SSR,
@@ -18,12 +18,12 @@ function isRetina() {
18
18
  export class Gravatar extends Source {
19
19
  getAvatar(size) {
20
20
  const value = this.getValue();
21
- const md5 = value.match('^[a-f0-9]{32}$') ? value : Md5.hashStr(value.trim().toLowerCase()).toString();
21
+ const hash = value.match('^[a-f0-9]{32}$') ? value : md5(value.trim().toLowerCase()).toString();
22
22
  const avatarSize = isRetina() ? size * 2 : size;
23
- return `https://secure.gravatar.com/avatar/${md5}?s=${avatarSize}&d=404`;
23
+ return `https://secure.gravatar.com/avatar/${hash}?s=${avatarSize}&d=404`;
24
24
  }
25
25
  isTextual() {
26
26
  return false;
27
27
  }
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhdmF0YXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9ncmF2YXRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFaEMsU0FBUyxRQUFRO0lBQ2IsZ0VBQWdFO0lBQ2hFLHlFQUF5RTtJQUN6RSx3QkFBd0I7SUFDeEIsaURBQWlEO0lBQ2pELE1BQU0sUUFBUSxHQUF1QixNQUFNLENBQUM7SUFFNUMsSUFBSSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsSUFBSSxFQUFFO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLFVBQVUsR0FDWiwySUFBMkksQ0FBQztJQUVoSixPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUyxTQUFRLE1BQU07SUFDekIsU0FBUyxDQUFDLElBQVk7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXZHLE1BQU0sVUFBVSxHQUFHLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEQsT0FBTyxzQ0FBc0MsR0FBRyxNQUFNLFVBQVUsUUFBUSxDQUFDO0lBQzdFLENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNZDV9IGZyb20gJ3RzLW1kNSc7XG5pbXBvcnQge1NvdXJjZX0gZnJvbSAnLi9zb3VyY2UnO1xuXG5mdW5jdGlvbiBpc1JldGluYSgpOiBib29sZWFuIHtcbiAgICAvLyBXZSBjYW5ub3QgcmVhc29uYWJseSBpbmplY3QgYERPQ1VNRU5UYCBoZXJlLCBidXQgd2UgYXJlIGV4dHJhXG4gICAgLy8gY2FyZWZ1bCBhYm91dCB1c2FnZSBvZiBgd2luZG93YCBhbmQgaXRzIHBvc3NpYmxlIG5vbi1leGlzdGVuY2UgaW4gU1NSLFxuICAgIC8vIHNvIHdlIHNob3VsZCBiZSBmaW5lLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbiAgICBjb25zdCBteVdpbmRvdzogV2luZG93IHwgdW5kZWZpbmVkID0gd2luZG93O1xuXG4gICAgaWYgKG15V2luZG93Py5kZXZpY2VQaXhlbFJhdGlvID4gMS4yNSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtZWRpYVF1ZXJ5ID1cbiAgICAgICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSwgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDUvNCksIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpJztcblxuICAgIHJldHVybiAhIW15V2luZG93Py5tYXRjaE1lZGlhKG1lZGlhUXVlcnkpLm1hdGNoZXM7XG59XG5cbi8qKlxuICogUmV0dXJuIFVSTCB0byBHcmF2YXRhciBpbWFnZSBmcm9tIGVpdGhlciBhbiBlbWFpbCBvciBhIE1ENVxuICovXG5leHBvcnQgY2xhc3MgR3JhdmF0YXIgZXh0ZW5kcyBTb3VyY2Uge1xuICAgIHB1YmxpYyBnZXRBdmF0YXIoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG1kNSA9IHZhbHVlLm1hdGNoKCdeW2EtZjAtOV17MzJ9JCcpID8gdmFsdWUgOiBNZDUuaGFzaFN0cih2YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKSkudG9TdHJpbmcoKTtcblxuICAgICAgICBjb25zdCBhdmF0YXJTaXplID0gaXNSZXRpbmEoKSA/IHNpemUgKiAyIDogc2l6ZTtcbiAgICAgICAgcmV0dXJuIGBodHRwczovL3NlY3VyZS5ncmF2YXRhci5jb20vYXZhdGFyLyR7bWQ1fT9zPSR7YXZhdGFyU2l6ZX0mZD00MDRgO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1RleHR1YWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhdmF0YXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9ncmF2YXRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxTQUFTLFFBQVE7SUFDYixnRUFBZ0U7SUFDaEUseUVBQXlFO0lBQ3pFLHdCQUF3QjtJQUN4QixpREFBaUQ7SUFDakQsTUFBTSxRQUFRLEdBQXVCLE1BQU0sQ0FBQztJQUU1QyxJQUFJLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxJQUFJLEVBQUU7UUFDbkMsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sVUFBVSxHQUNaLDJJQUEySSxDQUFDO0lBRWhKLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3RELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsTUFBTTtJQUN6QixTQUFTLENBQUMsSUFBWTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVoRyxNQUFNLFVBQVUsR0FBRyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hELE9BQU8sc0NBQXNDLElBQUksTUFBTSxVQUFVLFFBQVEsQ0FBQztJQUM5RSxDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U291cmNlfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQge21kNX0gZnJvbSAnLi4vc2VydmljZS9tZDUnO1xuXG5mdW5jdGlvbiBpc1JldGluYSgpOiBib29sZWFuIHtcbiAgICAvLyBXZSBjYW5ub3QgcmVhc29uYWJseSBpbmplY3QgYERPQ1VNRU5UYCBoZXJlLCBidXQgd2UgYXJlIGV4dHJhXG4gICAgLy8gY2FyZWZ1bCBhYm91dCB1c2FnZSBvZiBgd2luZG93YCBhbmQgaXRzIHBvc3NpYmxlIG5vbi1leGlzdGVuY2UgaW4gU1NSLFxuICAgIC8vIHNvIHdlIHNob3VsZCBiZSBmaW5lLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbiAgICBjb25zdCBteVdpbmRvdzogV2luZG93IHwgdW5kZWZpbmVkID0gd2luZG93O1xuXG4gICAgaWYgKG15V2luZG93Py5kZXZpY2VQaXhlbFJhdGlvID4gMS4yNSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtZWRpYVF1ZXJ5ID1cbiAgICAgICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSwgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDUvNCksIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpJztcblxuICAgIHJldHVybiAhIW15V2luZG93Py5tYXRjaE1lZGlhKG1lZGlhUXVlcnkpLm1hdGNoZXM7XG59XG5cbi8qKlxuICogUmV0dXJuIFVSTCB0byBHcmF2YXRhciBpbWFnZSBmcm9tIGVpdGhlciBhbiBlbWFpbCBvciBhIE1ENVxuICovXG5leHBvcnQgY2xhc3MgR3JhdmF0YXIgZXh0ZW5kcyBTb3VyY2Uge1xuICAgIHB1YmxpYyBnZXRBdmF0YXIoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB2YWx1ZS5tYXRjaCgnXlthLWYwLTldezMyfSQnKSA/IHZhbHVlIDogbWQ1KHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKS50b1N0cmluZygpO1xuXG4gICAgICAgIGNvbnN0IGF2YXRhclNpemUgPSBpc1JldGluYSgpID8gc2l6ZSAqIDIgOiBzaXplO1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vc2VjdXJlLmdyYXZhdGFyLmNvbS9hdmF0YXIvJHtoYXNofT9zPSR7YXZhdGFyU2l6ZX0mZD00MDRgO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1RleHR1YWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -26,10 +26,10 @@ export class NaturalGroupComponent {
26
26
  }
27
27
  }
28
28
  NaturalGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- NaturalGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalGroupComponent, selector: "natural-group", inputs: { placeholder: "placeholder", facets: "facets", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "newValueInput", first: true, predicate: ["newValueInput"], descendants: true }], ngImport: i0, template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.NaturalInputComponent, selector: "natural-input", inputs: ["placeholder", "searchFieldName", "selection", "facets"], outputs: ["selectionChange", "cleared"] }] });
29
+ NaturalGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalGroupComponent, selector: "natural-group", inputs: { placeholder: "placeholder", facets: "facets", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "newValueInput", first: true, predicate: ["newValueInput"], descendants: true }], ngImport: i0, template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.NaturalInputComponent, selector: "natural-input", inputs: ["placeholder", "searchFieldName", "selection", "facets"], outputs: ["selectionChange", "cleared"] }] });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalGroupComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'natural-group', template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}\n"] }]
32
+ args: [{ selector: 'natural-group', template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"] }]
33
33
  }], propDecorators: { newValueInput: [{
34
34
  type: ViewChild,
35
35
  args: ['newValueInput']