gunsmith-common 2.1.31 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/notification/notification-bar/notification-bar.component.mjs +3 -3
- package/esm2020/public_api.mjs +2 -1
- package/esm2020/shared/controls/package-selector/package-selector.component.mjs +168 -0
- package/esm2020/shared/pipes/new-line.pipe.mjs +1 -1
- package/esm2020/shared/services/index.mjs +2 -1
- package/esm2020/shared/services/material.service.mjs +1 -1
- package/esm2020/shared/services/package.service.mjs +47 -0
- package/esm2020/shared/services/status-history.service.mjs +1 -1
- package/esm2020/shared/services/user.service.mjs +1 -1
- package/esm2020/shared/services/waitlist.service.mjs +4 -1
- package/esm2020/shared/services/work-order.service.mjs +10 -1
- package/esm2020/shared/shared.module.mjs +28 -7
- package/esm2020/shared/types/index.mjs +9 -1
- package/esm2020/shared/types/package-item.mjs +3 -0
- package/esm2020/shared/types/package-optional-item.mjs +3 -0
- package/esm2020/shared/types/package-total.mjs +3 -0
- package/esm2020/shared/types/package-variation-option.mjs +3 -0
- package/esm2020/shared/types/package-variation.mjs +6 -0
- package/esm2020/shared/types/package.mjs +10 -0
- package/esm2020/shared/types/waitlist-gun-package-detail.mjs +7 -0
- package/esm2020/shared/types/waitlist-gun.mjs +1 -1
- package/esm2020/shared/types/work-order-package-detail.mjs +7 -0
- package/esm2020/shared/types/work-order.mjs +1 -1
- package/fesm2015/gunsmith-common.mjs +294 -14
- package/fesm2015/gunsmith-common.mjs.map +1 -1
- package/fesm2020/gunsmith-common.mjs +291 -14
- package/fesm2020/gunsmith-common.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/shared/controls/package-selector/package-selector.component.d.ts +38 -0
- package/shared/services/index.d.ts +1 -0
- package/shared/services/package.service.d.ts +16 -0
- package/shared/services/waitlist.service.d.ts +2 -1
- package/shared/services/work-order.service.d.ts +2 -1
- package/shared/shared.module.d.ts +5 -1
- package/shared/types/index.d.ts +8 -0
- package/shared/types/package-item.d.ts +9 -0
- package/shared/types/package-optional-item.d.ts +6 -0
- package/shared/types/package-total.d.ts +5 -0
- package/shared/types/package-variation-option.d.ts +10 -0
- package/shared/types/package-variation.d.ts +8 -0
- package/shared/types/package.d.ts +13 -0
- package/shared/types/waitlist-gun-package-detail.d.ts +10 -0
- package/shared/types/waitlist-gun.d.ts +2 -0
- package/shared/types/work-order-package-detail.d.ts +10 -0
- package/shared/types/work-order.d.ts +2 -0
|
@@ -35,9 +35,9 @@ export class NotificationBarComponent {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
NotificationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBarComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
NotificationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NotificationBarComponent, selector: "app-notification-bar", ngImport: i0, template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:
|
|
38
|
+
NotificationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NotificationBarComponent, selector: "app-notification-bar", ngImport: i0, template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:4px;color:#000;background:rgba(0,0,0,.3);padding:8px;text-align:center}.notification-bar .error{color:#711e16!important;background:rgba(248,216,212,.3)!important}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [fadeOutAnimation] });
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBarComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
|
-
args: [{ selector: 'app-notification-bar', animations: [fadeOutAnimation], template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:
|
|
41
|
+
args: [{ selector: 'app-notification-bar', animations: [fadeOutAnimation], template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:4px;color:#000;background:rgba(0,0,0,.3);padding:8px;text-align:center}.notification-bar .error{color:#711e16!important;background:rgba(248,216,212,.3)!important}\n"] }]
|
|
42
42
|
}], ctorParameters: function () { return [{ type: i1.NotificationService }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tYmFyL25vdGlmaWNhdGlvbi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBU3pELE1BQU0sT0FBTyx3QkFBd0I7SUFXbkMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFUNUQsYUFBUSxHQUEwQixFQUFFLENBQUM7SUFTMkIsQ0FBQztJQVBqRSxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBSUYsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBNEI7UUFDdkMsT0FBTztZQUNMLHlCQUF5QixFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQztZQUM1QyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7c0hBL0JVLHdCQUF3QjswR0FBeEIsd0JBQXdCLDREQ1hyQyx1Y0FNQSxnb0JER2MsQ0FBQyxnQkFBZ0IsQ0FBQzs0RkFFbkIsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHNCQUFzQixjQUdwQixDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGZhZGVPdXRBbmltYXRpb24gfSBmcm9tICcuLi9mYWRlLW91dC5hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RpZmljYXRpb24tYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtmYWRlT3V0QW5pbWF0aW9uXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIG1lc3NhZ2VzOiBOb3RpZmljYXRpb25NZXNzYWdlW10gPSBbXTtcclxuXHJcbiAgZ2V0IHZpZXdNZXNzYWdlcygpOiBOb3RpZmljYXRpb25NZXNzYWdlW10ge1xyXG4gICAgaWYgKHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMykge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5zbGljZSgwKS5yZXZlcnNlKCkuc2xpY2UoMCwgMik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5zbGljZSgwKS5yZXZlcnNlKCk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UubWVzc2FnZVVwZGF0ZWQuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMuc2hpZnQoKTtcclxuICAgICAgfSwgNDAwMCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbkNsYXNzKG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdmYS1leGNsYW1hdGlvbi10cmlhbmdsZSc6IG1lc3NhZ2UudHlwZSA9PSAxLFxyXG4gICAgICAnZmEtaW5mby1jaXJjbGUnOiBtZXNzYWdlLnR5cGUgPT0gMCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzaG91bGRGYWRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXMubGVuZ3RoIDwgMztcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyXCIgKm5nSWY9XCJtZXNzYWdlcy5sZW5ndGhcIj5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIHZpZXdNZXNzYWdlc1wiIGNsYXNzPVwibm90aWZpY2F0aW9uLXBpbGxcIiBbY2xhc3MuZXJyb3JdPVwibWVzc2FnZS50eXBlID09IDFcIiBbQGZhZGVPdXRBbmltYXRpb25dPVwic2hvdWxkRmFkZSgpXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhXCIgW25nQ2xhc3NdPVwiZ2V0SWNvbkNsYXNzKG1lc3NhZ2UpXCI+PC9pPiA8c3BhbiBjbGFzcz1cIm1zLTFcIj57e21lc3NhZ2UubWVzc2FnZX19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJtZXNzYWdlcy5sZW5ndGggPiAzXCIgY2xhc3M9XCJub3RpZmljYXRpb24tcGlsbFwiPnt7bWVzc2FnZXMubGVuZ3RoIC0gMn19IG1vcmUuLi48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
package/esm2020/public_api.mjs
CHANGED
|
@@ -6,7 +6,8 @@ export * from './shared/types';
|
|
|
6
6
|
export * from './shared/services';
|
|
7
7
|
export * from './shared/pipes';
|
|
8
8
|
export * from './shared/directives';
|
|
9
|
+
export * from './shared/controls/package-selector/package-selector.component';
|
|
9
10
|
export * from './shared/shared.module';
|
|
10
11
|
export * from './notification/notification.module';
|
|
11
12
|
export * from './notification';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGd1bnNtaXRoLWNvbW1vblxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvdHlwZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9zZXJ2aWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3BpcGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZGlyZWN0aXZlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2NvbnRyb2xzL3BhY2thZ2Utc2VsZWN0b3IvcGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uJztcclxuIl19
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { Component, Injector, Input } from '@angular/core';
|
|
2
|
+
import { FormBuilder, NgControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
3
|
+
import { PackageService } from '../../services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "@progress/kendo-angular-dropdowns";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
export class PackageSelectorComponent {
|
|
10
|
+
constructor(packageService, fb, inj) {
|
|
11
|
+
this.packageService = packageService;
|
|
12
|
+
this.fb = fb;
|
|
13
|
+
this.inj = inj;
|
|
14
|
+
this.packages = [];
|
|
15
|
+
this.packageVariations = [];
|
|
16
|
+
this.packageOptionalItems = [];
|
|
17
|
+
this.onChangeSubs = [];
|
|
18
|
+
this.onTouched = () => { };
|
|
19
|
+
this.touched = false;
|
|
20
|
+
this.disabled = false;
|
|
21
|
+
this.createForm();
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (changes.firearmId.currentValue) {
|
|
25
|
+
this.getPackages();
|
|
26
|
+
this.packageForm.reset();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.packages = [];
|
|
30
|
+
this.packageForm.reset();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ngAfterViewInit() {
|
|
34
|
+
const outerControl = this.inj.get(NgControl).control;
|
|
35
|
+
const prevMarkAsTouched = outerControl.markAsTouched;
|
|
36
|
+
outerControl.markAsTouched = (...args) => {
|
|
37
|
+
this.packageForm.markAllAsTouched();
|
|
38
|
+
prevMarkAsTouched.bind(outerControl)(...args);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
for (let sub of this.onChangeSubs) {
|
|
43
|
+
sub.unsubscribe();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
getPackages() {
|
|
47
|
+
this.packageService.readPackagesByFirearm(this.firearmId)
|
|
48
|
+
.subscribe(packages => {
|
|
49
|
+
this.packages = packages;
|
|
50
|
+
if (this.packageForm.controls.package.value) {
|
|
51
|
+
let packagez = this.packages.find(p => p.id === this.packageForm.controls.package.value.id);
|
|
52
|
+
this.setPackageOptions(packagez);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
createForm() {
|
|
57
|
+
this.packageForm = this.fb.group({
|
|
58
|
+
package: null,
|
|
59
|
+
optionalItems: this.fb.control([]),
|
|
60
|
+
variations: this.fb.array([])
|
|
61
|
+
});
|
|
62
|
+
this.packageForm.controls.package.valueChanges
|
|
63
|
+
.subscribe(value => {
|
|
64
|
+
this.packageForm.controls.optionalItems.reset();
|
|
65
|
+
this.packageOptionalItems = [];
|
|
66
|
+
this.variations.clear({ emitEvent: false });
|
|
67
|
+
this.packageVariations = [];
|
|
68
|
+
if (value?.id) {
|
|
69
|
+
this.setPackageOptions(value);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
if (this.packageDetail) {
|
|
73
|
+
this.packageDetail.variations = null;
|
|
74
|
+
this.packageDetail.optionalItems = null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
get variations() { return this.packageForm.controls.variations; }
|
|
80
|
+
setPackageOptions(packagez) {
|
|
81
|
+
this.packageOptionalItems = packagez.optionalItems;
|
|
82
|
+
this.packageVariations = packagez.variations;
|
|
83
|
+
this.variations.clear({ emitEvent: false });
|
|
84
|
+
for (let v of this.packageVariations) {
|
|
85
|
+
let selectedVariation = this.packageDetail?.variations?.find(pv => pv.packageVariationId === v.id);
|
|
86
|
+
this.variations.push(this.fb.control(selectedVariation, Validators.required), { emitEvent: false });
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
setValue(packageDetail) {
|
|
90
|
+
this.packageForm.reset(packageDetail);
|
|
91
|
+
}
|
|
92
|
+
validate(control) {
|
|
93
|
+
if (this.packageForm.valid) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
let errors = {};
|
|
97
|
+
for (let v of this.variations.controls) {
|
|
98
|
+
if (v.invalid) {
|
|
99
|
+
return v.errors;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return errors;
|
|
103
|
+
}
|
|
104
|
+
addControlErrors(allErrors, controlName) {
|
|
105
|
+
const errors = { ...allErrors };
|
|
106
|
+
const controlErrors = this.packageForm.controls[controlName].errors;
|
|
107
|
+
if (controlErrors) {
|
|
108
|
+
errors[controlName] = controlErrors;
|
|
109
|
+
}
|
|
110
|
+
return errors;
|
|
111
|
+
}
|
|
112
|
+
writeValue(packageDetail) {
|
|
113
|
+
if (packageDetail) {
|
|
114
|
+
this.packageDetail = Object.assign({}, packageDetail);
|
|
115
|
+
this.setValue(packageDetail);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.packageForm.reset();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
registerOnChange(onChange) {
|
|
122
|
+
const sub = this.packageForm.valueChanges.subscribe(onChange);
|
|
123
|
+
this.onChangeSubs.push(sub);
|
|
124
|
+
}
|
|
125
|
+
registerOnTouched(onTouched) {
|
|
126
|
+
this.onTouched = onTouched;
|
|
127
|
+
}
|
|
128
|
+
setDisabledState(isDisabled) {
|
|
129
|
+
this.disabled = isDisabled;
|
|
130
|
+
if (isDisabled) {
|
|
131
|
+
this.packageForm.disable();
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this.packageForm.enable();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
PackageSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageSelectorComponent, deps: [{ token: i1.PackageService }, { token: i2.FormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
+
PackageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PackageSelectorComponent, selector: "cgw-package-selector", inputs: { firearmId: "firearmId" }, providers: [
|
|
140
|
+
{
|
|
141
|
+
provide: NG_VALUE_ACCESSOR,
|
|
142
|
+
multi: true,
|
|
143
|
+
useExisting: PackageSelectorComponent
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
provide: NG_VALIDATORS,
|
|
147
|
+
multi: true,
|
|
148
|
+
useExisting: PackageSelectorComponent
|
|
149
|
+
}
|
|
150
|
+
], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"packageForm\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package\">Package - <span class=\"fst-italic fs-7\">Select a model to list available packages</span></label>\r\n <kendo-dropdownlist [data]=\"packages\"\r\n [defaultItem]=\"{name: 'No Package', id: null}\"\r\n id=\"waitlist-gun-package\"\r\n formControlName=\"package\"\r\n textField=\"name\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\r\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\r\n [id]=\"'waitlist-gun-package-variation-' + i\"\r\n textField=\"optionName\"\r\n [formControl]=\"variationControl\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\r\n <div *ngIf=\"variationControl.errors.required\">\r\n {{packageVariations[i]?.name}} is required.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\r\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\r\n [data]=\"packageOptionalItems\"\r\n formControlName=\"optionalItems\"\r\n textField=\"name\"\r\n valueField=\"inventoryItemId\"\r\n size=\"small\"></kendo-multiselect>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageSelectorComponent, decorators: [{
|
|
152
|
+
type: Component,
|
|
153
|
+
args: [{ selector: 'cgw-package-selector', providers: [
|
|
154
|
+
{
|
|
155
|
+
provide: NG_VALUE_ACCESSOR,
|
|
156
|
+
multi: true,
|
|
157
|
+
useExisting: PackageSelectorComponent
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
provide: NG_VALIDATORS,
|
|
161
|
+
multi: true,
|
|
162
|
+
useExisting: PackageSelectorComponent
|
|
163
|
+
}
|
|
164
|
+
], template: "<div [formGroup]=\"packageForm\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package\">Package - <span class=\"fst-italic fs-7\">Select a model to list available packages</span></label>\r\n <kendo-dropdownlist [data]=\"packages\"\r\n [defaultItem]=\"{name: 'No Package', id: null}\"\r\n id=\"waitlist-gun-package\"\r\n formControlName=\"package\"\r\n textField=\"name\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\r\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\r\n [id]=\"'waitlist-gun-package-variation-' + i\"\r\n textField=\"optionName\"\r\n [formControl]=\"variationControl\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\r\n <div *ngIf=\"variationControl.errors.required\">\r\n {{packageVariations[i]?.name}} is required.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\r\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\r\n [data]=\"packageOptionalItems\"\r\n formControlName=\"optionalItems\"\r\n textField=\"name\"\r\n valueField=\"inventoryItemId\"\r\n size=\"small\"></kendo-multiselect>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""] }]
|
|
165
|
+
}], ctorParameters: function () { return [{ type: i1.PackageService }, { type: i2.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { firearmId: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}] } });
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9jb250cm9scy9wYWNrYWdlLXNlbGVjdG9yL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvY29udHJvbHMvcGFja2FnZS1zZWxlY3Rvci9wYWNrYWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBb0QsV0FBVyxFQUFhLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhNLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBb0JoRCxNQUFNLE9BQU8sd0JBQXdCO0lBbUJuQyxZQUNVLGNBQThCLEVBQzlCLEVBQWUsRUFDZixHQUFhO1FBRmIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBakJ2QixhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUF1QixFQUFFLENBQUM7UUFDM0MseUJBQW9CLEdBQTBCLEVBQUUsQ0FBQztRQU1qRCxpQkFBWSxHQUFtQixFQUFFLENBQUM7UUFDbEMsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPZixJQUFJLENBQUMsVUFBVSxFQUFFLENB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SUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUNJO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7O3NIQXBLVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixtRkFieEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsd0JBQXdCO1NBQ3RDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7S0FDRiwrQ0NyQkgsdXNFQTJDQTs0RkRwQmEsd0JBQXdCO2tCQWpCcEMsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVywwQkFBMEI7eUJBQ3RDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLDBCQUEwQjt5QkFDdEM7cUJBQ0Y7c0pBS0QsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOZ0NvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgUGFja2FnZSwgUGFja2FnZVZhcmlhdGlvbiwgUGFja2FnZU9wdGlvbmFsSXRlbSwgV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsLCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjZ3ctcGFja2FnZS1zZWxlY3RvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGFja2FnZVNlbGVjdG9yQ29tcG9uZW50XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFBhY2thZ2VTZWxlY3RvckNvbXBvbmVudFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhY2thZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBmaXJlYXJtSWQ6IG51bWJlcjtcclxuXHJcbiAgcGFja2FnZXM6IFBhY2thZ2VbXSA9IFtdO1xyXG4gIHBhY2thZ2VWYXJpYXRpb25zOiBQYWNrYWdlVmFyaWF0aW9uW10gPSBbXTtcclxuICBwYWNrYWdlT3B0aW9uYWxJdGVtczogUGFja2FnZU9wdGlvbmFsSXRlbVtdID0gW107XHJcblxyXG4gIHBhY2thZ2VEZXRhaWw6IFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCB8IFdvcmtPcmRlclBhY2thZ2VEZXRhaWw7XHJcblxyXG4gIHBhY2thZ2VGb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIHRvdWNoZWQgPSBmYWxzZTtcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcGFja2FnZVNlcnZpY2U6IFBhY2thZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGluajogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuZmlyZWFybUlkLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmdldFBhY2thZ2VzKCk7XHJcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBhY2thZ2VzID0gW107XHJcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG91dGVyQ29udHJvbCA9IHRoaXMuaW5qLmdldChOZ0NvbnRyb2wpLmNvbnRyb2w7XHJcbiAgICBjb25zdCBwcmV2TWFya0FzVG91Y2hlZCA9IG91dGVyQ29udHJvbC5tYXJrQXNUb3VjaGVkO1xyXG4gICAgb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQgPSAoLi4uYXJnczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgICBwcmV2TWFya0FzVG91Y2hlZC5iaW5kKG91dGVyQ29udHJvbCkoLi4uYXJncyk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBzdWIgb2YgdGhpcy5vbkNoYW5nZVN1YnMpIHtcclxuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQYWNrYWdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMucGFja2FnZVNlcnZpY2UucmVhZFBhY2thZ2VzQnlGaXJlYXJtKHRoaXMuZmlyZWFybUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKHBhY2thZ2VzID0+IHtcclxuICAgICAgICB0aGlzLnBhY2thZ2VzID0gcGFja2FnZXM7XHJcbiAgICAgICAgaWYgKHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMucGFja2FnZS52YWx1ZSkge1xyXG4gICAgICAgICAgbGV0IHBhY2thZ2V6ID0gdGhpcy5wYWNrYWdlcy5maW5kKHAgPT4gcC5pZCA9PT0gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlLmlkKTtcclxuICAgICAgICAgIHRoaXMuc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXopO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYWNrYWdlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBwYWNrYWdlOiBudWxsLFxyXG4gICAgICBvcHRpb25hbEl0ZW1zOiB0aGlzLmZiLmNvbnRyb2woW10pLFxyXG4gICAgICB2YXJpYXRpb25zOiB0aGlzLmZiLmFycmF5KFtdKVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnBhY2thZ2UudmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMub3B0aW9uYWxJdGVtcy5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMucGFja2FnZU9wdGlvbmFsSXRlbXMgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB0aGlzLnBhY2thZ2VWYXJpYXRpb25zID0gW107XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZT8uaWQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UGFja2FnZU9wdGlvbnModmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnBhY2thZ2VEZXRhaWwpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLnZhcmlhdGlvbnMgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnBhY2thZ2VEZXRhaWwub3B0aW9uYWxJdGVtcyA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0IHZhcmlhdGlvbnMoKSB7IHJldHVybiB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnZhcmlhdGlvbnMgYXMgRm9ybUFycmF5IH1cclxuXHJcbiAgc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXo6IFBhY2thZ2UpIHtcclxuICAgIHRoaXMucGFja2FnZU9wdGlvbmFsSXRlbXMgPSBwYWNrYWdlei5vcHRpb25hbEl0ZW1zO1xyXG4gICAgdGhpcy5wYWNrYWdlVmFyaWF0aW9ucyA9IHBhY2thZ2V6LnZhcmlhdGlvbnM7XHJcblxyXG4gICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICBmb3IgKGxldCB2IG9mIHRoaXMucGFja2FnZVZhcmlhdGlvbnMpIHtcclxuICAgICAgbGV0IHNlbGVjdGVkVmFyaWF0aW9uID0gdGhpcy5wYWNrYWdlRGV0YWlsPy52YXJpYXRpb25zPy5maW5kKHB2ID0+IHB2LnBhY2thZ2VWYXJpYXRpb25JZCA9PT0gdi5pZCk7XHJcbiAgICAgIHRoaXMudmFyaWF0aW9ucy5wdXNoKHRoaXMuZmIuY29udHJvbChzZWxlY3RlZFZhcmlhdGlvbiwgVmFsaWRhdG9ycy5yZXF1aXJlZCksIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShwYWNrYWdlRGV0YWlsOiBXYWl0bGlzdEd1blBhY2thZ2VEZXRhaWwgfCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsKSB7XHJcbiAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KHBhY2thZ2VEZXRhaWwpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICBpZiAodGhpcy5wYWNrYWdlRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZXJyb3JzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGxldCB2IG9mIHRoaXMudmFyaWF0aW9ucy5jb250cm9scykge1xyXG4gICAgICBpZiAodi5pbnZhbGlkKSB7XHJcbiAgICAgICAgcmV0dXJuIHYuZXJyb3JzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIGFkZENvbnRyb2xFcnJvcnMoYWxsRXJyb3JzOiBhbnksIGNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuXHJcbiAgICBjb25zdCBlcnJvcnMgPSB7IC4uLmFsbEVycm9ycyB9O1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS5lcnJvcnM7XHJcblxyXG4gICAgaWYgKGNvbnRyb2xFcnJvcnMpIHtcclxuICAgICAgZXJyb3JzW2NvbnRyb2xOYW1lXSA9IGNvbnRyb2xFcnJvcnM7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUocGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCk6IHZvaWQge1xyXG4gICAgaWYgKHBhY2thZ2VEZXRhaWwpIHtcclxuICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsID0gT2JqZWN0LmFzc2lnbih7fSxwYWNrYWdlRGV0YWlsKTtcclxuICAgICAgdGhpcy5zZXRWYWx1ZShwYWNrYWdlRGV0YWlsKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN1YiA9IHRoaXMucGFja2FnZUZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShvbkNoYW5nZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlU3Vicy5wdXNoKHN1Yik7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cInBhY2thZ2VGb3JtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvdyBtYi0yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgIDxsYWJlbCBmb3I9XCJ3YWl0bGlzdC1ndW4tcGFja2FnZVwiPlBhY2thZ2UgLSA8c3BhbiBjbGFzcz1cImZzdC1pdGFsaWMgZnMtN1wiPlNlbGVjdCBhIG1vZGVsIHRvIGxpc3QgYXZhaWxhYmxlIHBhY2thZ2VzPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgIDxrZW5kby1kcm9wZG93bmxpc3QgW2RhdGFdPVwicGFja2FnZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0SXRlbV09XCJ7bmFtZTogJ05vIFBhY2thZ2UnLCBpZDogbnVsbH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhY2thZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+PC9rZW5kby1kcm9wZG93bmxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJ2YXJpYXRpb25zXCIgKm5nRm9yPVwibGV0IHZhcmlhdGlvbkNvbnRyb2wgb2YgdmFyaWF0aW9ucy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8bGFiZWwgW2Zvcl09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCI+e3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19PC9sYWJlbD5cclxuICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5vcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm9wdGlvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiPjwva2VuZG8tZHJvcGRvd25saXN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInZhcmlhdGlvbkNvbnRyb2wuaW52YWxpZCAmJiAodmFyaWF0aW9uQ29udHJvbC5kaXJ0eSB8fCB2YXJpYXRpb25Db250cm9sLnRvdWNoZWQpXCIgY2xhc3M9XCJlcnJvci1jb250YWluZXIgdGV4dC1kYW5nZXJcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cInZhcmlhdGlvbkNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAge3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19IGlzIHJlcXVpcmVkLlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbWItMlwiICpuZ0lmPVwicGFja2FnZU9wdGlvbmFsSXRlbXM/Lmxlbmd0aFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCI+QWRkLW9ucyAoQWRkaXRpb25hbCBjaGFyZ2VzIHdpbGwgYXBwbHkpPC9sYWJlbD5cclxuICAgICAgPGtlbmRvLW11bHRpc2VsZWN0IGlkPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInBhY2thZ2VPcHRpb25hbEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbmFsSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaW52ZW50b3J5SXRlbUlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiPjwva2VuZG8tbXVsdGlzZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
13
13
|
name: 'newLine'
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWxpbmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3BpcGVzL25ldy1saW5lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxXQUFXO0lBRXRCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBVTtRQUNqQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7O3lHQUpVLFdBQVc7dUdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnbmV3TGluZSdcbn0pXG5leHBvcnQgY2xhc3MgTmV3TGluZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgYXJncz86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHZhbHVlID8gdmFsdWUucmVwbGFjZSgvKD86XFxyXFxufFxccnxcXG4pL2csICc8YnI+JykgOiAnJztcbiAgfVxuXG59XG4iXX0=
|
|
@@ -23,4 +23,5 @@ export * from './user.service';
|
|
|
23
23
|
export * from './waitlist-project.service';
|
|
24
24
|
export * from './inventory.service';
|
|
25
25
|
export * from './status-history.service';
|
|
26
|
-
|
|
26
|
+
export * from './package.service';
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbWVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpcmVhcm0uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VuLXBhcnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmVuZG9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RvdGFscy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi93b3JrLWhvbGlkYXkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29yay1vcmRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWFsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd2FpdGxpc3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1jdXN0b21lci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9vcHRpYy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpcmVhcm0tc2VyaWVzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21pbGxpbmctdHlwZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb3NtZXRpYy1taWxsaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvYXRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWF0ZXJpYWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHVyY2hhc2Utb3JkZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC1wcm9qZWN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ludmVudG9yeS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMtaGlzdG9yeS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWNrYWdlLnNlcnZpY2UnO1xyXG4iXX0=
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
27
27
|
type: Inject,
|
|
28
28
|
args: ['env']
|
|
29
29
|
}] }]; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL21hdGVyaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxlQUFlLEdBQUcsS0FBSztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDekMsTUFBTSxFQUFFO2dCQUNOLGVBQWUsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFO2FBQzVDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBaEJVLGVBQWUsNENBS2hCLEtBQUs7aUhBTEosZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gJy4uL3R5cGVzJztcclxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFNlcnZpY2Uge1xuICBwcml2YXRlIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudjogYW55XG4gICkge1xuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvbWF0ZXJpYWxzJztcbiAgfVxuXG4gIHJlYWRNYXRlcmlhbHMoaW5jbHVkZUluYWN0aXZlID0gZmFsc2UpOiBPYnNlcnZhYmxlPE1hdGVyaWFsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxNYXRlcmlhbFtdPih0aGlzLnVybCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBpbmNsdWRlSW5hY3RpdmU6IGluY2x1ZGVJbmFjdGl2ZS50b1N0cmluZygpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class PackageService {
|
|
6
|
+
constructor(http, env) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.env = env;
|
|
9
|
+
this.url = this.env.baseUrl + 'api/packages';
|
|
10
|
+
}
|
|
11
|
+
readPackages(includeInactive = false, sku = null, name = null) {
|
|
12
|
+
const params = {
|
|
13
|
+
includeInactive
|
|
14
|
+
};
|
|
15
|
+
if (sku) {
|
|
16
|
+
params['sku'] = sku;
|
|
17
|
+
}
|
|
18
|
+
if (name) {
|
|
19
|
+
params['name'] = name;
|
|
20
|
+
}
|
|
21
|
+
return this.http.get(this.url, { params: params });
|
|
22
|
+
}
|
|
23
|
+
readPackage(id) {
|
|
24
|
+
return this.http.get(`${this.url}/${id}`);
|
|
25
|
+
}
|
|
26
|
+
readPackagesByFirearm(firearmId) {
|
|
27
|
+
return this.http.get(`${this.env.baseUrl}api/firearms/${firearmId}/packages`);
|
|
28
|
+
}
|
|
29
|
+
savePackage(packagez) {
|
|
30
|
+
if (packagez.id) {
|
|
31
|
+
return this.http.put(`${this.url}/${packagez.id}`, packagez);
|
|
32
|
+
}
|
|
33
|
+
return this.http.post(this.url, packagez);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
PackageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
PackageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageService, providedIn: 'root' });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageService, decorators: [{
|
|
39
|
+
type: Injectable,
|
|
40
|
+
args: [{
|
|
41
|
+
providedIn: 'root'
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: ['env']
|
|
46
|
+
}] }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvcGFja2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQ1UsSUFBZ0IsRUFDRCxHQUFRO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLENBQUMsa0JBQTJCLEtBQUssRUFBRSxNQUFjLElBQUksRUFDL0QsT0FBZSxJQUFJO1FBRW5CLE1BQU0sTUFBTSxHQUFHO1lBQ2IsZUFBZTtTQUNoQixDQUFDO1FBRUYsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHFCQUFxQixDQUFDLFNBQWlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sZ0JBQWdCLFNBQVMsV0FBVyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdkU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFVLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7NEdBekNVLGNBQWMsNENBS2YsS0FBSztnSEFMSixjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhY2thZ2VTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcclxuICApIHtcclxuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvcGFja2FnZXMnO1xyXG4gIH1cclxuXHJcbiAgcmVhZFBhY2thZ2VzKGluY2x1ZGVJbmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLCBza3U6IHN0cmluZyA9IG51bGwsXHJcbiAgICBuYW1lOiBzdHJpbmcgPSBudWxsKTogT2JzZXJ2YWJsZTxQYWNrYWdlW10+IHtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGluY2x1ZGVJbmFjdGl2ZVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoc2t1KSB7XHJcbiAgICAgIHBhcmFtc1snc2t1J10gPSBza3U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5hbWUpIHtcclxuICAgICAgcGFyYW1zWyduYW1lJ10gPSBuYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFBhY2thZ2VbXT4odGhpcy51cmwsIHsgcGFyYW1zOiBwYXJhbXMgfSk7XHJcbiAgfVxyXG5cclxuICByZWFkUGFja2FnZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQYWNrYWdlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWNrYWdlPihgJHt0aGlzLnVybH0vJHtpZH1gKTtcclxuICB9XHJcblxyXG4gIHJlYWRQYWNrYWdlc0J5RmlyZWFybShmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8UGFja2FnZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWNrYWdlW10+KGAke3RoaXMuZW52LmJhc2VVcmx9YXBpL2ZpcmVhcm1zLyR7ZmlyZWFybUlkfS9wYWNrYWdlc2ApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZVBhY2thZ2UocGFja2FnZXo6IFBhY2thZ2UpOiBPYnNlcnZhYmxlPFBhY2thZ2U+IHtcclxuICAgIGlmIChwYWNrYWdlei5pZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxQYWNrYWdlPihgJHt0aGlzLnVybH0vJHtwYWNrYWdlei5pZH1gLCBwYWNrYWdleik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UGFja2FnZT4odGhpcy51cmwsIHBhY2thZ2V6KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
37
37
|
type: Inject,
|
|
38
38
|
args: ['env']
|
|
39
39
|
}] }]; } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhpc3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFNBQWUsRUFBRSxPQUFhO1FBQzNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUU7WUFDbkQsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUNsQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRTthQUMvQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUU7WUFDbkQsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO2FBQ3pCO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7a0hBNUJVLG9CQUFvQiw0Q0FPckIsS0FBSztzSEFQSixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvdGFsIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RhdHVzSGlzdG9yeVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHVybDogc3RyaW5nO1xyXG4gIFxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcclxuICApIHtcclxuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvc3RhdHVzLWhpc3Rvcmllcyc7IFxyXG4gIH1cclxuXHJcbiAgcmVhZFN0YXR1c0J5VXNlcih1c2VyOiBzdHJpbmcsIHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IE9ic2VydmFibGU8VG90YWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VG90YWxbXT4oYCR7dGhpcy51cmx9L2J5LXVzZXJgLCB7XHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIHVzZXI6IHVzZXIsXHJcbiAgICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUudG9VVENTdHJpbmcoKSxcclxuICAgICAgICBlbmREYXRlOiBlbmREYXRlLnRvVVRDU3RyaW5nKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWFkU3RhdHVzQnlEYXRlKGRhdGU6IERhdGUpOiBPYnNlcnZhYmxlPFRvdGFsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRvdGFsW10+KGAke3RoaXMudXJsfS9ieS1kYXRlYCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBkYXRlOiBkYXRlLnRvVVRDU3RyaW5nKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23
23
|
type: Inject,
|
|
24
24
|
args: ['env']
|
|
25
25
|
}] }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTW5ELE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsSUFBZ0IsRUFDRCxHQUFRO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO0lBQzVDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7eUdBWlUsV0FBVyw0Q0FLWixLQUFLOzZHQUxKLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSB7XG4gIHByaXZhdGUgdXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcbiAgKSB7XG4gICAgdGhpcy51cmwgPSB0aGlzLmVudi5iYXNlVXJsICsgJ2FwaS91c2Vycyc7XG4gIH1cblxuICByZWFkVXNlcnMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPih0aGlzLnVybCk7XHJcbiAgfVxufVxuIl19
|
|
@@ -68,6 +68,9 @@ export class WaitlistService {
|
|
|
68
68
|
deleteProject(waitlistId, projectId) {
|
|
69
69
|
return this.http.delete(`${this.url}/${waitlistId}/projects/${projectId}`);
|
|
70
70
|
}
|
|
71
|
+
readPackageDetailTotals() {
|
|
72
|
+
return this.http.get(`${this.url}/package-details/totals`);
|
|
73
|
+
}
|
|
71
74
|
}
|
|
72
75
|
WaitlistService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WaitlistService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
76
|
WaitlistService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WaitlistService, providedIn: 'root' });
|
|
@@ -80,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
80
83
|
type: Inject,
|
|
81
84
|
args: ['env']
|
|
82
85
|
}] }]; } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdGxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL3dhaXRsaXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztJQUNyRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsV0FBNkIsSUFBSSxFQUNyRCxLQUFhLElBQUksRUFDakIsZUFBdUIsSUFBSSxFQUMzQixnQkFBd0IsSUFBSSxFQUM1QixlQUF1QixJQUFJLEVBQzNCLGlCQUFrQyxJQUFJLEVBQ3RDLGVBQThCLElBQUk7UUFDbEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNoRTtRQUVELElBQUksRUFBRSxFQUFFO1lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZLENBQUM7U0FDdkM7UUFFRCxJQUFJLGFBQWEs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QUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCLEVBQUUsU0FBaUI7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksVUFBVSxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQzs7NkdBbEdVLGVBQWUsNENBS2hCLEtBQUs7aUhBTEosZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhY2thZ2VUb3RhbCwgUHJvamVjdFR5cGUsIFdhaXRsaXN0R3VuLCBXYWl0bGlzdEl0ZW0sIFdhaXRsaXN0U3RhdHVzLCBXb3JrT3JkZXJUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2FpdGxpc3RTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcclxuICApIHtcclxuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvd2FpdGxpc3QtaXRlbXMnO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVXYWl0bGlzdEl0ZW1zKHN0YXR1c2VzOiBXYWl0bGlzdFN0YXR1c1tdID0gbnVsbCxcclxuICAgIGlkOiBudW1iZXIgPSBudWxsLFxyXG4gICAgY3VzdG9tZXJOYW1lOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgY3VzdG9tZXJFbWFpbDogc3RyaW5nID0gbnVsbCxcclxuICAgIHNlcmlhbE51bWJlcjogc3RyaW5nID0gbnVsbCxcclxuICAgIHdvcmtPcmRlclR5cGVzOiBXb3JrT3JkZXJUeXBlW10gPSBudWxsLFxyXG4gICAgcHJvamVjdFR5cGVzOiBQcm9qZWN0VHlwZVtdID0gbnVsbCk6IE9ic2VydmFibGU8V2FpdGxpc3RJdGVtW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xyXG5cclxuICAgIGlmIChzdGF0dXNlcykge1xyXG4gICAgICBwYXJhbXNbJ3N0YXR1c2VzJ10gPSBzdGF0dXNlcy5tYXAoc3RhdHVzID0+IHN0YXR1cy50b1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaWQpIHtcclxuICAgICAgcGFyYW1zWydpZCddID0gaWQudG9TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY3VzdG9tZXJOYW1lKSB7XHJcbiAgICAgIHBhcmFtc1snY3VzdG9tZXJOYW1lJ10gPSBjdXN0b21lck5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGN1c3RvbWVyRW1haWwpIHtcclxuICAgICAgcGFyYW1zWydjdXN0b21lckVtYWlsJ10gPSBjdXN0b21lckVtYWlsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZXJpYWxOdW1iZXIpIHtcclxuICAgICAgcGFyYW1zWydzZXJpYWxOdW1iZXInXSA9IHNlcmlhbE51bWJlcjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAod29ya09yZGVyVHlwZXMpIHtcclxuICAgICAgcGFyYW1zWyd3b3JrT3JkZXJUeXBlcyddID0gd29ya09yZGVyVHlwZXMubWFwKHQgPT4gdC50b1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvamVjdFR5cGVzKSB7XHJcbiAgICAgIHBhcmFtc1sncHJvamVjdFR5cGVzJ10gPSBwcm9qZWN0VHlwZXMubWFwKHQgPT4gdC50b1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXYWl0bGlzdEl0ZW1bXT4odGhpcy51cmwsIHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVXYWl0bGlzdEl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8V2FpdGxpc3RJdGVtPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXYWl0bGlzdEl0ZW0+KGAke3RoaXMudXJsfS8ke2lkfWApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlV2FpdGxpc3RJdGVtKHdhaXRsaXN0SXRlbTogV2FpdGxpc3RJdGVtKTogT2JzZXJ2YWJsZTxXYWl0bGlzdEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxXYWl0bGlzdEl0ZW0+KHRoaXMudXJsLCB3YWl0bGlzdEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlV2FpdGxpc3RJdGVtKGlkOiBudW1iZXIsIHdhaXRsaXN0SXRlbTogV2FpdGxpc3RJdGVtKTogT2JzZXJ2YWJsZTxXYWl0bGlzdEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFdhaXRsaXN0SXRlbT4oYCR7dGhpcy51cmx9LyR7aWR9YCwgd2FpdGxpc3RJdGVtKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVdhaXRsaXN0SXRlbShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke2lkfWApO1xyXG4gIH1cclxuXHJcbiAgZG9XYWl0bGlzdEFjdGlvbihpZDogbnVtYmVyLCBhY3Rpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXYWl0bGlzdEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdhaXRsaXN0SXRlbT4oYCR7dGhpcy51cmx9LyR7aWR9L2FjdGlvbnMvJHthY3Rpb25JZH1gKTtcclxuICB9XHJcblxyXG4gIHJldHJpZXZlUHJvamVjdFBkZihpZDogbnVtYmVyLCBwcm9qZWN0SWQ6IG51bWJlcik6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QmxvYj4oYCR7dGhpcy51cmx9LyR7aWR9L3Byb2plY3RzLyR7cHJvamVjdElkfS9wZGZgLCB7IHJlc3BvbnNlVHlwZTogXCJibG9iXCIgYXMgJ2pzb24nIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVQcm9qZWN0cyh3YWl0bGlzdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdhaXRsaXN0R3VuW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdhaXRsaXN0R3VuW10+KGAke3RoaXMudXJsfS8ke3dhaXRsaXN0SWR9L3Byb2plY3RzYCk7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZVByb2plY3Qod2FpdGxpc3RJZDogbnVtYmVyLCBwcm9qZWN0SWQ6IG51bWJlcik6IE9ic2VydmFibGU8V2FpdGxpc3RHdW4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdhaXRsaXN0R3VuPihgJHt0aGlzLnVybH0vJHt3YWl0bGlzdElkfS9wcm9qZWN0cy8ke3Byb2plY3RJZH1gKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVByb2plY3Qod2FpdGxpc3RJZDogbnVtYmVyLCBwcm9qZWN0OiBXYWl0bGlzdEd1bik6IE9ic2VydmFibGU8V2FpdGxpc3RHdW4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxXYWl0bGlzdEd1bj4oYCR7dGhpcy51cmx9LyR7d2FpdGxpc3RJZH0vcHJvamVjdHNgLCBwcm9qZWN0KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb2plY3Qod2FpdGxpc3RJZDogbnVtYmVyLCBwcm9qZWN0SWQ6IG51bWJlciwgcHJvamVjdDogV2FpdGxpc3RHdW4pOiBPYnNlcnZhYmxlPFdhaXRsaXN0R3VuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxXYWl0bGlzdEd1bj4oYCR7dGhpcy51cmx9LyR7d2FpdGxpc3RJZH0vcHJvamVjdHMvJHtwcm9qZWN0SWR9YCwgcHJvamVjdCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVQcm9qZWN0KHdhaXRsaXN0SWQ6IG51bWJlciwgcHJvamVjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KGAke3RoaXMudXJsfS8ke3dhaXRsaXN0SWR9L3Byb2plY3RzLyR7cHJvamVjdElkfWApO1xyXG4gIH1cclxuXHJcbiAgcmVhZFBhY2thZ2VEZXRhaWxUb3RhbHMoKTogT2JzZXJ2YWJsZTxQYWNrYWdlVG90YWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFja2FnZVRvdGFsW10+KGAke3RoaXMudXJsfS9wYWNrYWdlLWRldGFpbHMvdG90YWxzYCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -138,6 +138,15 @@ export class WorkOrderService {
|
|
|
138
138
|
readReportRefinishItems() {
|
|
139
139
|
return this.http.get(`${this.env.baseUrl}api/report-refinish-items`);
|
|
140
140
|
}
|
|
141
|
+
readPackageDetailTotals(startDate, endDate, statuses) {
|
|
142
|
+
return this.http.get(`${this.url}/package-details/totals`, {
|
|
143
|
+
params: {
|
|
144
|
+
startDate: startDate.toUTCString(),
|
|
145
|
+
endDate: endDate.toUTCString(),
|
|
146
|
+
statuses: statuses.map(status => status.toString())
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
141
150
|
}
|
|
142
151
|
WorkOrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkOrderService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
143
152
|
WorkOrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkOrderService, providedIn: 'root' });
|
|
@@ -150,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
150
159
|
type: Inject,
|
|
151
160
|
args: ['env']
|
|
152
161
|
}] }]; } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1vcmRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvd29yay1vcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBVSxFQUFFLFFBQWdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsWUFBWSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxjQUFjLENBQ1osV0FBOEIsSUFBSSxFQUNsQyxLQUFhLElBQUksRUFDakIsZUFBdUIsSUFBSSxFQUMzQixnQkFBd0IsSUFBSSxFQUM1QixlQUF1QixJQUFJLEVBQzNCLGFBQThCLElBQUksRUFDbEMsZUFBOEIsSUFBSSxFQUNsQyxRQUFrQixJQUFJLEVBQ3RCLGVBQXdCLElBQUk7UUFFNUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENB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Q0FBQztJQUVELGVBQWU7SUFFZixzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sMEJBQTBCLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLDJCQUEyQixDQUFDLENBQUM7SUFDN0YsQ0FBQzs7OEdBak1VLGdCQUFnQiw0Q0FLakIsS0FBSztrSEFMSixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFdvcmtPcmRlclN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3dvcmstb3JkZXItc3RhdHVzJztcclxuaW1wb3J0IHsgV29ya09yZGVyLCBXb3JrT3JkZXJUeXBlLCBXb3JrQ2hhbmdlT3JkZXIsIFJlcG9ydE1pbGxpbmdJdGVtLCBQcm9qZWN0VHlwZSwgUmVwb3J0UmVmaW5pc2hJdGVtLCBXb3JrT3JkZXJSZWZpbmlzaEl0ZW0sIE1pbGxpbmdJdGVtIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya09yZGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cmw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudjogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLnVybCA9IHRoaXMuZW52LmJhc2VVcmwgKyAnYXBpL3dvcmstb3JkZXJzJztcclxuICB9XHJcblxyXG4gIGRvV29ya09yZGVyQWN0aW9uKGlkOiBudW1iZXIsIGFjdGlvbklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtPcmRlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya09yZGVyPihgJHt0aGlzLnVybH0vJHtpZH0vYWN0aW9ucy8ke2FjdGlvbklkfWApO1xyXG4gIH1cclxuXHJcbiAgcmVhZFdvcmtPcmRlcnMoXHJcbiAgICBzdGF0dXNlczogV29ya09yZGVyU3RhdHVzW10gPSBudWxsLFxyXG4gICAgaWQ6IG51bWJlciA9IG51bGwsXHJcbiAgICBjdXN0b21lck5hbWU6IHN0cmluZyA9IG51bGwsXHJcbiAgICBjdXN0b21lckVtYWlsOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgc2VyaWFsTnVtYmVyOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgb3JkZXJUeXBlczogV29ya09yZGVyVHlwZVtdID0gbnVsbCxcclxuICAgIHByb2plY3RUeXBlczogUHJvamVjdFR5cGVbXSA9IG51bGwsXHJcbiAgICB1c2Vyczogc3RyaW5nW10gPSBudWxsLFxyXG4gICAgc3BlY2lhbE9yZGVyOiBib29sZWFuID0gbnVsbCk6IE9ic2VydmFibGU8V29ya09yZGVyW10+IHtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcclxuXHJcbiAgICBpZiAoc3RhdHVzZXMpIHtcclxuICAgICAgcGFyYW1zWydzdGF0dXNlcyddID0gc3RhdHVzZXMubWFwKHN0YXR1cyA9PiBzdGF0dXMudG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIHBhcmFtc1snaWQnXSA9IGlkLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGN1c3RvbWVyTmFtZSkge1xyXG4gICAgICBwYXJhbXNbJ2N1c3RvbWVyTmFtZSddID0gY3VzdG9tZXJOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjdXN0b21lckVtYWlsKSB7XHJcbiAgICAgIHBhcmFtc1snY3VzdG9tZXJFbWFpbCddID0gY3VzdG9tZXJFbWFpbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2VyaWFsTnVtYmVyKSB7XHJcbiAgICAgIHBhcmFtc1snc2VyaWFsTnVtYmVyJ10gPSBzZXJpYWxOdW1iZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9yZGVyVHlwZXMgIT09IG51bGwpIHtcclxuICAgICAgcGFyYW1zWydvcmRlclR5cGVzJ10gPSBvcmRlclR5cGVzLm1hcCh0eXBlID0+IHR5cGUudG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHByb2plY3RUeXBlcykge1xyXG4gICAgICBwYXJhbXNbJ3Byb2plY3RUeXBlcyddID0gcHJvamVjdFR5cGVzLm1hcCh0ID0+IHQudG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVzZXJzKSB7XHJcbiAgICAgIHBhcmFtc1sndXNlcnMnXSA9IHVzZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzcGVjaWFsT3JkZXIpIHtcclxuICAgICAgcGFyYW1zWydzcGVjaWFsT3JkZXInXSA9IHNwZWNpYWxPcmRlci50b1N0cmluZygpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya09yZGVyW10+KHRoaXMudXJsLCB7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlYWRXb3JrT3JkZXIod29ya09yZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8V29ya09yZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXb3JrT3JkZXI+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfWApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlV29ya09yZGVyKHdvcmtPcmRlcjogV29ya09yZGVyKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxXb3JrT3JkZXI+KHRoaXMudXJsLCB3b3JrT3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlV29ya09yZGVyKHdvcmtPcmRlcklkOiBudW1iZXIsIHdvcmtPcmRlcjogV29ya09yZGVyKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFdvcmtPcmRlcj4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9YCwgd29ya09yZGVyKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVdvcmtPcmRlcih3b3JrT3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfWApO1xyXG4gIH1cclxuXHJcbiAgcmVjYWxjV29ya0RhdGVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51cmx9L3JlY2FsYy1kYXRlc2ApO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hhbmdlIE9yZGVyc1xyXG5cclxuICByZWFkQ2hhbmdlT3JkZXJzKHdvcmtPcmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtDaGFuZ2VPcmRlcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXb3JrQ2hhbmdlT3JkZXJbXT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L2NoYW5nZS1vcmRlcnNgKTtcclxuICB9XHJcblxyXG4gIHJlYWRDaGFuZ2VPcmRlcih3b3JrT3JkZXJJZDogbnVtYmVyLCBjaGFuZ2VPcmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtDaGFuZ2VPcmRlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya0NoYW5nZU9yZGVyPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vY2hhbmdlLW9yZGVycy8ke2NoYW5nZU9yZGVySWR9YCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDaGFuZ2VPcmRlcih3b3JrT3JkZXJJZDogbnVtYmVyLCBjaGFuZ2VPcmRlcjogV29ya0NoYW5nZU9yZGVyKTogT2JzZXJ2YWJsZTxXb3JrQ2hhbmdlT3JkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxXb3JrQ2hhbmdlT3JkZXI+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9jaGFuZ2Utb3JkZXJzYCwgY2hhbmdlT3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2hhbmdlT3JkZXIod29ya09yZGVySWQ6IG51bWJlciwgY2hhbmdlT3JkZXJJZDogbnVtYmVyLCBjaGFuZ2VPcmRlcjogV29ya0NoYW5nZU9yZGVyKTogT2JzZXJ2YWJsZTxXb3JrQ2hhbmdlT3JkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFdvcmtDaGFuZ2VPcmRlcj4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L2NoYW5nZS1vcmRlcnMvJHtjaGFuZ2VPcmRlcklkfWAsIGNoYW5nZU9yZGVyKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUNoYW5nZU9yZGVyKHdvcmtPcmRlcklkOiBudW1iZXIsIGNoYW5nZU9yZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vY2hhbmdlLW9yZGVycy8ke2NoYW5nZU9yZGVySWR9YCk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtQ2hhbmdlT3JkZXIodG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8dm9pZD4oYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvY2hhbmdlLW9yZGVycy9jdXN0b21lcmAsIHtcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgdG9rZW46IHRva2VuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsQ2hhbmdlT3JkZXIodG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudi5iYXNlVXJsfWFwaS9jaGFuZ2Utb3JkZXJzL2N1c3RvbWVyYCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICB0b2tlbjogdG9rZW5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBDaGVja2xpc3RcclxuXHJcbiAgY3JlYXRlQ2hlY2tsaXN0cyh3b3JrT3JkZXJJZDogbnVtYmVyLCByZWZpbmlzaEl0ZW1JZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxCbG9iPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxCbG9iPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vcmVmaW5pc2gtaXRlbXMvYCArIHJlZmluaXNoSXRlbUlkcy5qb2luKCcsJykgKyAnL3BkZnMnLFxyXG4gICAgICB7IHJlc3BvbnNlVHlwZTogXCJibG9iXCIgYXMgXCJqc29uXCJ9KTtcclxuICB9XHJcblxyXG4gIC8vIFJlZmluaXNoIEl0ZW1zXHJcblxyXG4gIHJlYWRSZWZpbmlzaEl0ZW1zKHdvcmtPcmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtPcmRlclJlZmluaXNoSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXb3JrT3JkZXJSZWZpbmlzaEl0ZW1bXT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L3JlZmluaXNoLWl0ZW1zYCk7XHJcbiAgfVxyXG5cclxuICByZWFkUmVmaW5pc2hJdGVtQ29sbGVjdGlvbih3b3JrT3JkZXJJZDogbnVtYmVyLCBpdGVtSWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8V29ya09yZGVyUmVmaW5pc2hJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdvcmtPcmRlclJlZmluaXNoSXRlbVtdPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vcmVmaW5pc2gtaXRlbXMvY29sbGVjdGlvbi8ke2l0ZW1JZHMuam9pbignLCcpfWApXHJcbiAgfVxyXG5cclxuICByZWFkUmVmaW5pc2hJdGVtKHdvcmtPcmRlcklkOiBudW1iZXIsIHJlZmluaXNoSXRlbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtPcmRlclJlZmluaXNoSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya09yZGVyUmVmaW5pc2hJdGVtPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vcmVmaW5pc2gtaXRlbXMvJHtyZWZpbmlzaEl0ZW1JZH1gKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVJlZmluaXNoSXRlbXMod29ya09yZGVySWQ6IG51bWJlciwgcmVmaW5pc2hJdGVtczogV29ya09yZGVyUmVmaW5pc2hJdGVtW10pOiBPYnNlcnZhYmxlPFdvcmtPcmRlclJlZmluaXNoSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8V29ya09yZGVyUmVmaW5pc2hJdGVtW10+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9yZWZpbmlzaC1pdGVtcy9jb2xsZWN0aW9uYCwgcmVmaW5pc2hJdGVtcyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZWZpbmlzaEl0ZW0od29ya09yZGVySWQ6IG51bWJlciwgcmVmaW5pc2hJdGVtSWQ6IG51bWJlciwgcmVmaW5pc2hJdGVtOiBXb3JrT3JkZXJSZWZpbmlzaEl0ZW0pOiBPYnNlcnZhYmxlPFdvcmtPcmRlclJlZmluaXNoSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8V29ya09yZGVyUmVmaW5pc2hJdGVtPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vcmVmaW5pc2gtaXRlbXMvJHtyZWZpbmlzaEl0ZW1JZH1gLCByZWZpbmlzaEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUmVmaW5pc2hJdGVtKHdvcmtPcmRlcklkOiBudW1iZXIsIHJlZmluaXNoSXRlbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L3JlZmluaXNoLWl0ZW1zLyR7cmVmaW5pc2hJdGVtSWR9YCk7XHJcbiAgfVxyXG5cclxuICAvLyBNaWxsaW5nIEl0ZW1zXHJcblxyXG4gIHJlYWRNaWxsaW5nSXRlbXMod29ya09yZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8TWlsbGluZ0l0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TWlsbGluZ0l0ZW1bXT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L21pbGxpbmctaXRlbXNgKTtcclxuICB9XHJcblxyXG4gIHJlYWRNaWxsaW5nSXRlbSh3b3JrT3JkZXJJZDogbnVtYmVyLCBtaWxsaW5nSXRlbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1pbGxpbmdJdGVtPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxNaWxsaW5nSXRlbT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L21pbGxpbmctaXRlbXMvJHttaWxsaW5nSXRlbUlkfWApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTWlsbGluZ0l0ZW0od29ya09yZGVySWQ6IG51bWJlciwgbWlsbGluZ0l0ZW06IE1pbGxpbmdJdGVtKTogT2JzZXJ2YWJsZTxNaWxsaW5nSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1pbGxpbmdJdGVtPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vbWlsbGluZy1pdGVtc2AsIG1pbGxpbmdJdGVtKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU1pbGxpbmdJdGVtKHdvcmtPcmRlcklkOiBudW1iZXIsIG1pbGxpbmdJdGVtSWQ6IG51bWJlciwgbWlsbGluZ0l0ZW06IE1pbGxpbmdJdGVtKTogT2JzZXJ2YWJsZTxNaWxsaW5nSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8TWlsbGluZ0l0ZW0+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9taWxsaW5nLWl0ZW1zLyR7bWlsbGluZ0l0ZW1JZH1gLCBtaWxsaW5nSXRlbSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVNaWxsaW5nSXRlbUNvbGxlY3Rpb24od29ya09yZGVySWQ6IG51bWJlciwgaXRlbUlkczogbnVtYmVyW10sIG1pbGxpbmdJdGVtczogTWlsbGluZ0l0ZW1bXSk6IE9ic2VydmFibGU8TWlsbGluZ0l0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8TWlsbGluZ0l0ZW1bXT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L21pbGxpbmctaXRlbXMvY29sbGVjdGlvbi8ke2l0ZW1JZHMuam9pbignLCcpfWAsIG1pbGxpbmdJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVNaWxsaW5nSXRlbSh3b3JrT3JkZXJJZDogbnVtYmVyLCBtaWxsaW5nSXRlbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L21pbGxpbmctaXRlbXMvJHttaWxsaW5nSXRlbUlkfWApO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVwb3J0IEl0ZW1zXHJcblxyXG4gIHJlYWRSZXBvcnRNaWxsaW5nSXRlbXMoKTogT2JzZXJ2YWJsZTxSZXBvcnRNaWxsaW5nSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXBvcnRNaWxsaW5nSXRlbVtdPihgJHt0aGlzLmVudi5iYXNlVXJsfWFwaS9yZXBvcnQtbWlsbGluZy1pdGVtc2ApO1xyXG4gIH1cclxuXHJcbiAgcmVhZFJlcG9ydFJlZmluaXNoSXRlbXMoKTogT2JzZXJ2YWJsZTxSZXBvcnRSZWZpbmlzaEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVwb3J0UmVmaW5pc2hJdGVtW10+KGAke3RoaXMuZW52LmJhc2VVcmx9YXBpL3JlcG9ydC1yZWZpbmlzaC1pdGVtc2ApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1vcmRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvd29yay1vcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBVSxFQUFFLFFBQWdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsWUFBWSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxjQUFjLENBQ1osV0FBOEIsSUFBSSxFQUNsQyxLQUFhLElBQUksRUFDakIsZUFBdUIsSUFBSSxFQUMzQixnQkFBd0IsSUFBSSxFQUM1QixlQUF1QixJQUFJLEVBQzNCLGFBQThCLElBQUksRUFDbEMsZUFBOEIsSUFBSSxFQUNsQyxRQUFrQixJQUFJLEVBQ3RCLGVBQXdCLElBQUk7UUFFNUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENB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Q0FBQztJQUVELGVBQWU7SUFFZixzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sMEJBQTBCLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLDJCQUEyQixDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELHVCQUF1QixDQUFDLFNBQWUsRUFBRSxPQUFhLEVBQUUsUUFBMkI7UUFDakYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyx5QkFBeUIsRUFDdkU7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sU0FBUyxFQUFFLFNBQVMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xDLE9BQU8sRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUM5QixRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNwRDtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7OzhHQTVNVSxnQkFBZ0IsNENBS2pCLEtBQUs7a0hBTEosZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBXb3JrT3JkZXJTdGF0dXMgfSBmcm9tICcuLi90eXBlcy93b3JrLW9yZGVyLXN0YXR1cyc7XHJcbmltcG9ydCB7XHJcbiAgV29ya09yZGVyLCBXb3JrT3JkZXJUeXBlLCBXb3JrQ2hhbmdlT3JkZXIsIFJlcG9ydE1pbGxpbmdJdGVtLCBQcm9qZWN0VHlwZSwgUmVwb3J0UmVmaW5pc2hJdGVtLFxyXG4gIFdvcmtPcmRlclJlZmluaXNoSXRlbSwgTWlsbGluZ0l0ZW0sIFBhY2thZ2VUb3RhbFxyXG59IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtPcmRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnY6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy51cmwgPSB0aGlzLmVudi5iYXNlVXJsICsgJ2FwaS93b3JrLW9yZGVycyc7XHJcbiAgfVxyXG5cclxuICBkb1dvcmtPcmRlckFjdGlvbihpZDogbnVtYmVyLCBhY3Rpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdvcmtPcmRlcj4oYCR7dGhpcy51cmx9LyR7aWR9L2FjdGlvbnMvJHthY3Rpb25JZH1gKTtcclxuICB9XHJcblxyXG4gIHJlYWRXb3JrT3JkZXJzKFxyXG4gICAgc3RhdHVzZXM6IFdvcmtPcmRlclN0YXR1c1tdID0gbnVsbCxcclxuICAgIGlkOiBudW1iZXIgPSBudWxsLFxyXG4gICAgY3VzdG9tZXJOYW1lOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgY3VzdG9tZXJFbWFpbDogc3RyaW5nID0gbnVsbCxcclxuICAgIHNlcmlhbE51bWJlcjogc3RyaW5nID0gbnVsbCxcclxuICAgIG9yZGVyVHlwZXM6IFdvcmtPcmRlclR5cGVbXSA9IG51bGwsXHJcbiAgICBwcm9qZWN0VHlwZXM6IFByb2plY3RUeXBlW10gPSBudWxsLFxyXG4gICAgdXNlcnM6IHN0cmluZ1tdID0gbnVsbCxcclxuICAgIHNwZWNpYWxPcmRlcjogYm9vbGVhbiA9IG51bGwpOiBPYnNlcnZhYmxlPFdvcmtPcmRlcltdPiB7XHJcblxyXG4gICAgY29uc3QgcGFyYW1zID0ge307XHJcblxyXG4gICAgaWYgKHN0YXR1c2VzKSB7XHJcbiAgICAgIHBhcmFtc1snc3RhdHVzZXMnXSA9IHN0YXR1c2VzLm1hcChzdGF0dXMgPT4gc3RhdHVzLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpZCkge1xyXG4gICAgICBwYXJhbXNbJ2lkJ10gPSBpZC50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjdXN0b21lck5hbWUpIHtcclxuICAgICAgcGFyYW1zWydjdXN0b21lck5hbWUnXSA9IGN1c3RvbWVyTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY3VzdG9tZXJFbWFpbCkge1xyXG4gICAgICBwYXJhbXNbJ2N1c3RvbWVyRW1haWwnXSA9IGN1c3RvbWVyRW1haWw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNlcmlhbE51bWJlcikge1xyXG4gICAgICBwYXJhbXNbJ3NlcmlhbE51bWJlciddID0gc2VyaWFsTnVtYmVyO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcmRlclR5cGVzICE9PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtc1snb3JkZXJUeXBlcyddID0gb3JkZXJUeXBlcy5tYXAodHlwZSA9PiB0eXBlLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9qZWN0VHlwZXMpIHtcclxuICAgICAgcGFyYW1zWydwcm9qZWN0VHlwZXMnXSA9IHByb2plY3RUeXBlcy5tYXAodCA9PiB0LnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1c2Vycykge1xyXG4gICAgICBwYXJhbXNbJ3VzZXJzJ10gPSB1c2VycztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3BlY2lhbE9yZGVyKSB7XHJcbiAgICAgIHBhcmFtc1snc3BlY2lhbE9yZGVyJ10gPSBzcGVjaWFsT3JkZXIudG9TdHJpbmcoKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdvcmtPcmRlcltdPih0aGlzLnVybCwge1xyXG4gICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWFkV29ya09yZGVyKHdvcmtPcmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtPcmRlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya09yZGVyPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH1gKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVdvcmtPcmRlcih3b3JrT3JkZXI6IFdvcmtPcmRlcik6IE9ic2VydmFibGU8V29ya09yZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8V29ya09yZGVyPih0aGlzLnVybCwgd29ya09yZGVyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVdvcmtPcmRlcih3b3JrT3JkZXJJZDogbnVtYmVyLCB3b3JrT3JkZXI6IFdvcmtPcmRlcik6IE9ic2VydmFibGU8V29ya09yZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxXb3JrT3JkZXI+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfWAsIHdvcmtPcmRlcik7XHJcbiAgfVxyXG5cclxuICBkZWxldGVXb3JrT3JkZXIod29ya09yZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH1gKTtcclxuICB9XHJcblxyXG4gIHJlY2FsY1dvcmtEYXRlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudXJsfS9yZWNhbGMtZGF0ZXNgKTtcclxuICB9XHJcblxyXG4gIC8vIENoYW5nZSBPcmRlcnNcclxuXHJcbiAgcmVhZENoYW5nZU9yZGVycyh3b3JrT3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3JrQ2hhbmdlT3JkZXJbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya0NoYW5nZU9yZGVyW10+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9jaGFuZ2Utb3JkZXJzYCk7XHJcbiAgfVxyXG5cclxuICByZWFkQ2hhbmdlT3JkZXIod29ya09yZGVySWQ6IG51bWJlciwgY2hhbmdlT3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3JrQ2hhbmdlT3JkZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdvcmtDaGFuZ2VPcmRlcj4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L2NoYW5nZS1vcmRlcnMvJHtjaGFuZ2VPcmRlcklkfWApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ2hhbmdlT3JkZXIod29ya09yZGVySWQ6IG51bWJlciwgY2hhbmdlT3JkZXI6IFdvcmtDaGFuZ2VPcmRlcik6IE9ic2VydmFibGU8V29ya0NoYW5nZU9yZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8V29ya0NoYW5nZU9yZGVyPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vY2hhbmdlLW9yZGVyc2AsIGNoYW5nZU9yZGVyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNoYW5nZU9yZGVyKHdvcmtPcmRlcklkOiBudW1iZXIsIGNoYW5nZU9yZGVySWQ6IG51bWJlciwgY2hhbmdlT3JkZXI6IFdvcmtDaGFuZ2VPcmRlcik6IE9ic2VydmFibGU8V29ya0NoYW5nZU9yZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxXb3JrQ2hhbmdlT3JkZXI+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9jaGFuZ2Utb3JkZXJzLyR7Y2hhbmdlT3JkZXJJZH1gLCBjaGFuZ2VPcmRlcik7XHJcbiAgfVxyXG5cclxuICBkZWxldGVDaGFuZ2VPcmRlcih3b3JrT3JkZXJJZDogbnVtYmVyLCBjaGFuZ2VPcmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L2NoYW5nZS1vcmRlcnMvJHtjaGFuZ2VPcmRlcklkfWApO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybUNoYW5nZU9yZGVyKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHZvaWQ+KGAke3RoaXMuZW52LmJhc2VVcmx9YXBpL2NoYW5nZS1vcmRlcnMvY3VzdG9tZXJgLCB7XHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIHRva2VuOiB0b2tlblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbENoYW5nZU9yZGVyKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvY2hhbmdlLW9yZGVycy9jdXN0b21lcmAsIHtcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgdG9rZW46IHRva2VuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2tsaXN0XHJcblxyXG4gIGNyZWF0ZUNoZWNrbGlzdHMod29ya09yZGVySWQ6IG51bWJlciwgcmVmaW5pc2hJdGVtSWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QmxvYj4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L3JlZmluaXNoLWl0ZW1zL2AgKyByZWZpbmlzaEl0ZW1JZHMuam9pbignLCcpICsgJy9wZGZzJyxcclxuICAgICAgeyByZXNwb25zZVR5cGU6IFwiYmxvYlwiIGFzIFwianNvblwifSk7XHJcbiAgfVxyXG5cclxuICAvLyBSZWZpbmlzaCBJdGVtc1xyXG5cclxuICByZWFkUmVmaW5pc2hJdGVtcyh3b3JrT3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXJSZWZpbmlzaEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8V29ya09yZGVyUmVmaW5pc2hJdGVtW10+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9yZWZpbmlzaC1pdGVtc2ApO1xyXG4gIH1cclxuXHJcbiAgcmVhZFJlZmluaXNoSXRlbUNvbGxlY3Rpb24od29ya09yZGVySWQ6IG51bWJlciwgaXRlbUlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFdvcmtPcmRlclJlZmluaXNoSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXb3JrT3JkZXJSZWZpbmlzaEl0ZW1bXT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L3JlZmluaXNoLWl0ZW1zL2NvbGxlY3Rpb24vJHtpdGVtSWRzLmpvaW4oJywnKX1gKVxyXG4gIH1cclxuXHJcbiAgcmVhZFJlZmluaXNoSXRlbSh3b3JrT3JkZXJJZDogbnVtYmVyLCByZWZpbmlzaEl0ZW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXJSZWZpbmlzaEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdvcmtPcmRlclJlZmluaXNoSXRlbT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L3JlZmluaXNoLWl0ZW1zLyR7cmVmaW5pc2hJdGVtSWR9YCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVSZWZpbmlzaEl0ZW1zKHdvcmtPcmRlcklkOiBudW1iZXIsIHJlZmluaXNoSXRlbXM6IFdvcmtPcmRlclJlZmluaXNoSXRlbVtdKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXJSZWZpbmlzaEl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFdvcmtPcmRlclJlZmluaXNoSXRlbVtdPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vcmVmaW5pc2gtaXRlbXMvY29sbGVjdGlvbmAsIHJlZmluaXNoSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUmVmaW5pc2hJdGVtKHdvcmtPcmRlcklkOiBudW1iZXIsIHJlZmluaXNoSXRlbUlkOiBudW1iZXIsIHJlZmluaXNoSXRlbTogV29ya09yZGVyUmVmaW5pc2hJdGVtKTogT2JzZXJ2YWJsZTxXb3JrT3JkZXJSZWZpbmlzaEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFdvcmtPcmRlclJlZmluaXNoSXRlbT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L3JlZmluaXNoLWl0ZW1zLyR7cmVmaW5pc2hJdGVtSWR9YCwgcmVmaW5pc2hJdGVtKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVJlZmluaXNoSXRlbSh3b3JrT3JkZXJJZDogbnVtYmVyLCByZWZpbmlzaEl0ZW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9yZWZpbmlzaC1pdGVtcy8ke3JlZmluaXNoSXRlbUlkfWApO1xyXG4gIH1cclxuXHJcbiAgLy8gTWlsbGluZyBJdGVtc1xyXG5cclxuICByZWFkTWlsbGluZ0l0ZW1zKHdvcmtPcmRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1pbGxpbmdJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE1pbGxpbmdJdGVtW10+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9taWxsaW5nLWl0ZW1zYCk7XHJcbiAgfVxyXG5cclxuICByZWFkTWlsbGluZ0l0ZW0od29ya09yZGVySWQ6IG51bWJlciwgbWlsbGluZ0l0ZW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxNaWxsaW5nSXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TWlsbGluZ0l0ZW0+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9taWxsaW5nLWl0ZW1zLyR7bWlsbGluZ0l0ZW1JZH1gKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1pbGxpbmdJdGVtKHdvcmtPcmRlcklkOiBudW1iZXIsIG1pbGxpbmdJdGVtOiBNaWxsaW5nSXRlbSk6IE9ic2VydmFibGU8TWlsbGluZ0l0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxNaWxsaW5nSXRlbT4oYCR7dGhpcy51cmx9LyR7d29ya09yZGVySWR9L21pbGxpbmctaXRlbXNgLCBtaWxsaW5nSXRlbSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVNaWxsaW5nSXRlbSh3b3JrT3JkZXJJZDogbnVtYmVyLCBtaWxsaW5nSXRlbUlkOiBudW1iZXIsIG1pbGxpbmdJdGVtOiBNaWxsaW5nSXRlbSk6IE9ic2VydmFibGU8TWlsbGluZ0l0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PE1pbGxpbmdJdGVtPihgJHt0aGlzLnVybH0vJHt3b3JrT3JkZXJJZH0vbWlsbGluZy1pdGVtcy8ke21pbGxpbmdJdGVtSWR9YCwgbWlsbGluZ0l0ZW0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTWlsbGluZ0l0ZW1Db2xsZWN0aW9uKHdvcmtPcmRlcklkOiBudW1iZXIsIGl0ZW1JZHM6IG51bWJlcltdLCBtaWxsaW5nSXRlbXM6IE1pbGxpbmdJdGVtW10pOiBPYnNlcnZhYmxlPE1pbGxpbmdJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PE1pbGxpbmdJdGVtW10+KGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9taWxsaW5nLWl0ZW1zL2NvbGxlY3Rpb24vJHtpdGVtSWRzLmpvaW4oJywnKX1gLCBtaWxsaW5nSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlTWlsbGluZ0l0ZW0od29ya09yZGVySWQ6IG51bWJlciwgbWlsbGluZ0l0ZW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke3dvcmtPcmRlcklkfS9taWxsaW5nLWl0ZW1zLyR7bWlsbGluZ0l0ZW1JZH1gKTtcclxuICB9XHJcblxyXG4gIC8vIFJlcG9ydCBJdGVtc1xyXG5cclxuICByZWFkUmVwb3J0TWlsbGluZ0l0ZW1zKCk6IE9ic2VydmFibGU8UmVwb3J0TWlsbGluZ0l0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVwb3J0TWlsbGluZ0l0ZW1bXT4oYCR7dGhpcy5lbnYuYmFzZVVybH1hcGkvcmVwb3J0LW1pbGxpbmctaXRlbXNgKTtcclxuICB9XHJcblxyXG4gIHJlYWRSZXBvcnRSZWZpbmlzaEl0ZW1zKCk6IE9ic2VydmFibGU8UmVwb3J0UmVmaW5pc2hJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlcG9ydFJlZmluaXNoSXRlbVtdPihgJHt0aGlzLmVudi5iYXNlVXJsfWFwaS9yZXBvcnQtcmVmaW5pc2gtaXRlbXNgKTtcclxuICB9XHJcblxyXG4gIHJlYWRQYWNrYWdlRGV0YWlsVG90YWxzKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSwgc3RhdHVzZXM6IFdvcmtPcmRlclN0YXR1c1tdKTogT2JzZXJ2YWJsZTxQYWNrYWdlVG90YWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFja2FnZVRvdGFsW10+KGAke3RoaXMudXJsfS9wYWNrYWdlLWRldGFpbHMvdG90YWxzYCxcclxuICAgICAge1xyXG4gICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUudG9VVENTdHJpbmcoKSxcclxuICAgICAgICAgIGVuZERhdGU6IGVuZERhdGUudG9VVENTdHJpbmcoKSxcclxuICAgICAgICAgIHN0YXR1c2VzOiBzdGF0dXNlcy5tYXAoc3RhdHVzID0+IHN0YXR1cy50b1N0cmluZygpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|