@datarailsshared/datarailsshared 1.5.298 → 1.5.299

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.
@@ -0,0 +1,53 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export class DrSliderComponent {
5
+ constructor() {
6
+ this.max = 100;
7
+ this.min = 1;
8
+ this.step = 1;
9
+ this.rangeValue = 1;
10
+ this.onChange = () => {
11
+ };
12
+ this.onTouched = () => {
13
+ };
14
+ }
15
+ registerOnChange(fn) {
16
+ this.onChange = fn;
17
+ }
18
+ registerOnTouched(fn) {
19
+ this.onTouched = fn;
20
+ }
21
+ setDisabledState(isDisabled) {
22
+ this.disabled = isDisabled;
23
+ }
24
+ writeValue(value) {
25
+ this.rangeValue = value;
26
+ }
27
+ setValue(event) {
28
+ this.writeValue(event.target.value);
29
+ this.onChange(this.rangeValue);
30
+ this.onTouched();
31
+ }
32
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrSliderComponent, isStandalone: true, selector: "dr-slider", inputs: { disabled: "disabled", max: "max", min: "min", step: "step", rangeValue: "rangeValue" }, providers: [
34
+ { provide: NG_VALUE_ACCESSOR, useExisting: DrSliderComponent, multi: true }
35
+ ], ngImport: i0, template: "<input type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [value]=\"rangeValue\"\n (change)=\"setValue($event)\"\n/>\n", styles: ["input[type=range]{appearance:none;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background-color:#dfe0e3}input[type=range]::-webkit-slider-thumb{appearance:none;margin-top:-5px;height:14px;width:14px;border-radius:14px;background-color:#4646ce}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrSliderComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'dr-slider', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
40
+ { provide: NG_VALUE_ACCESSOR, useExisting: DrSliderComponent, multi: true }
41
+ ], standalone: true, template: "<input type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [value]=\"rangeValue\"\n (change)=\"setValue($event)\"\n/>\n", styles: ["input[type=range]{appearance:none;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background-color:#dfe0e3}input[type=range]::-webkit-slider-thumb{appearance:none;margin-top:-5px;height:14px;width:14px;border-radius:14px;background-color:#4646ce}\n"] }]
42
+ }], propDecorators: { disabled: [{
43
+ type: Input
44
+ }], max: [{
45
+ type: Input
46
+ }], min: [{
47
+ type: Input
48
+ }], step: [{
49
+ type: Input
50
+ }], rangeValue: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zbGlkZXIvZHItc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zbGlkZXIvZHItc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLGlCQUFpQjtJQVY5QjtRQVlhLFFBQUcsR0FBVyxHQUFHLENBQUM7UUFDbEIsUUFBRyxHQUFXLENBQUMsQ0FBQztRQUNoQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFeEIsYUFBUSxHQUE0QixHQUFHLEVBQUU7UUFDakQsQ0FBQyxDQUFDO1FBQ00sY0FBUyxHQUFlLEdBQUcsRUFBRTtRQUNyQyxDQUFDLENBQUM7S0F1Qkw7SUFyQkcsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztrSUFoQ1EsaUJBQWlCO3NIQUFqQixpQkFBaUIsMEpBTGY7WUFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUM5RSwwQkNWTCxzTUFRQTs7NEZES2EsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNJLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQzlFLGNBQ1csSUFBSTs4QkFHUCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXNsaWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEclNsaWRlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4OiBudW1iZXIgPSAxMDA7XG4gICAgQElucHV0KCkgbWluOiBudW1iZXIgPSAxO1xuICAgIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gICAgQElucHV0KCkgcmFuZ2VWYWx1ZTogbnVtYmVyID0gMTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIH07XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yYW5nZVZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0VmFsdWUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5yYW5nZVZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG59XG4iLCI8aW5wdXQgdHlwZT1cInJhbmdlXCJcbiAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgW21heF09XCJtYXhcIlxuICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW3ZhbHVlXT1cInJhbmdlVmFsdWVcIlxuICAgICAgIChjaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiXG4vPlxuIl19
@@ -0,0 +1,78 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { CROP_IMAGE_MODES } from './dr-image-cropper.types';
3
+ import * as i0 from "@angular/core";
4
+ export class DrImageCropperCanvasService {
5
+ constructor() {
6
+ this.ALPHA_FOR_SHADOW = 0.2;
7
+ // this param means that a side of a white square is half of a side of a canvas
8
+ this.CROP_AREA_PROPORTION = 2;
9
+ this.RECTANGULAR_SHADOW_WIDTH = 30;
10
+ this.RECTANGULAR_SHADOW_HEIGHT = 70;
11
+ }
12
+ drawShape(canvasSize, cropMode, zoomLevel, htmlImageElement) {
13
+ this.clearCanvas(canvasSize);
14
+ this.drawImageByZoom(canvasSize, zoomLevel, htmlImageElement);
15
+ this.drawShadow(cropMode, canvasSize);
16
+ }
17
+ getCoordinates(cropMode, canvasSize) {
18
+ return cropMode === CROP_IMAGE_MODES.SQUARE
19
+ ? this.getCoordinatesForSquare(canvasSize)
20
+ : this.getCoordinatesForRectangle(canvasSize);
21
+ }
22
+ getCoordinatesForSquare(canvasSize) {
23
+ const shadowLength = canvasSize / (this.CROP_AREA_PROPORTION * 2);
24
+ const bottomPosition = canvasSize - shadowLength;
25
+ return [shadowLength, shadowLength, bottomPosition, bottomPosition].join(',');
26
+ }
27
+ getCoordinatesForRectangle(canvasSize) {
28
+ return [
29
+ this.RECTANGULAR_SHADOW_WIDTH,
30
+ this.RECTANGULAR_SHADOW_HEIGHT,
31
+ canvasSize - this.RECTANGULAR_SHADOW_WIDTH,
32
+ canvasSize - this.RECTANGULAR_SHADOW_HEIGHT
33
+ ].join(',');
34
+ }
35
+ drawShadow(cropMode, canvasSize) {
36
+ this.ctx.globalAlpha = this.ALPHA_FOR_SHADOW;
37
+ this.ctx.fillStyle = 'black';
38
+ if (cropMode === CROP_IMAGE_MODES.SQUARE) {
39
+ this.drawSquareShadow(canvasSize);
40
+ }
41
+ else if (cropMode === CROP_IMAGE_MODES.RECTANGLE) {
42
+ this.drawRectangularShadow(canvasSize);
43
+ }
44
+ this.ctx.globalAlpha = 1;
45
+ }
46
+ drawSquareShadow(canvasSize) {
47
+ const shadowLength = canvasSize / (this.CROP_AREA_PROPORTION * 2);
48
+ this.ctx.fillRect(0, 0, shadowLength, canvasSize);
49
+ this.ctx.fillRect(canvasSize - shadowLength, 0, shadowLength, canvasSize);
50
+ this.ctx.fillRect(shadowLength, 0, 2 * shadowLength, shadowLength);
51
+ this.ctx.fillRect(shadowLength, canvasSize - shadowLength, 2 * shadowLength, shadowLength);
52
+ }
53
+ drawRectangularShadow(canvasSize) {
54
+ this.ctx.fillRect(0, 0, this.RECTANGULAR_SHADOW_WIDTH, canvasSize);
55
+ this.ctx.fillRect(canvasSize - this.RECTANGULAR_SHADOW_WIDTH, 0, this.RECTANGULAR_SHADOW_WIDTH, canvasSize);
56
+ this.ctx.fillRect(this.RECTANGULAR_SHADOW_WIDTH, 0, canvasSize - 2 * this.RECTANGULAR_SHADOW_WIDTH, this.RECTANGULAR_SHADOW_HEIGHT);
57
+ this.ctx.fillRect(this.RECTANGULAR_SHADOW_WIDTH, canvasSize - this.RECTANGULAR_SHADOW_HEIGHT, canvasSize - 2 * this.RECTANGULAR_SHADOW_WIDTH, this.RECTANGULAR_SHADOW_HEIGHT);
58
+ }
59
+ drawImageByZoom(canvasSize, zoomLevel, htmlImageElement) {
60
+ const maxImageDimension = Math.max(htmlImageElement.width, htmlImageElement.height);
61
+ const proportion = canvasSize / (this.CROP_AREA_PROPORTION * maxImageDimension);
62
+ const suitableWidth = htmlImageElement.width * proportion * zoomLevel;
63
+ const suitableHeight = htmlImageElement.height * proportion * zoomLevel;
64
+ const rectX = (canvasSize - suitableWidth) / 2;
65
+ const rectY = (canvasSize - suitableHeight) / 2;
66
+ this.ctx.drawImage(htmlImageElement, rectX, rectY, suitableWidth, suitableHeight);
67
+ }
68
+ clearCanvas(canvasSize) {
69
+ this.ctx.fillStyle = 'white';
70
+ this.ctx.fillRect(0, 0, canvasSize, canvasSize);
71
+ }
72
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperCanvasService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperCanvasService }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperCanvasService, decorators: [{
76
+ type: Injectable
77
+ }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW1hZ2UtY3JvcHBlci1jYW52YXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci1jYW52YXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc1RCxNQUFNLE9BQU8sMkJBQTJCO0lBRHhDO1FBSXFCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN4QywrRUFBK0U7UUFDOUQseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUM5Qiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7S0FpRm5EO0lBL0VHLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFFBQTBCLEVBQUUsU0FBaUIsRUFBRSxnQkFBa0M7UUFDM0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQTBCLEVBQUUsVUFBa0I7UUFDekQsT0FBTyxRQUFRLEtBQUssZ0JBQWdCLENBQUMsTUFBTTtZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxVQUFrQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUNqRCxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxVQUFrQjtRQUNqRCxPQUFPO1lBQ0gsSUFBSSxDQUFDLHdCQUF3QjtZQUM3QixJQUFJLENBQUMseUJBQXlCO1lBQzlCLFVBQVUsR0FBRyxJQUFJLENBQUMsd0JBQXdCO1lBQzFDLFVBQVUsR0FBRyxJQUFJLENBQUMseUJBQXlCO1NBQzlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxVQUFVLENBQUMsUUFBMEIsRUFBRSxVQUFrQjtRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzdCLElBQUksUUFBUSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUE7U0FDcEM7YUFBTSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUU7WUFDaEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUFrQjtRQUN2QyxNQUFNLFlBQVksR0FBRyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFlBQVksRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxHQUFHLFlBQVksRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxVQUFrQjtRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQ2IsSUFBSSxDQUFDLHdCQUF3QixFQUM3QixDQUFDLEVBQ0QsVUFBVSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQzlDLElBQUksQ0FBQyx5QkFBeUIsQ0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUNiLElBQUksQ0FBQyx3QkFBd0IsRUFDN0IsVUFBVSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFDM0MsVUFBVSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQzlDLElBQUksQ0FBQyx5QkFBeUIsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFTyxlQUFlLENBQUMsVUFBa0IsRUFBRSxTQUFpQixFQUFFLGdCQUFrQztRQUM3RixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3RFLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBRXhFLE1BQU0sS0FBSyxHQUFHLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFrQjtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztrSUF2RlEsMkJBQTJCO3NJQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDUk9QX0lNQUdFX01PREVTIH0gZnJvbSAnLi9kci1pbWFnZS1jcm9wcGVyLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERySW1hZ2VDcm9wcGVyQ2FudmFzU2VydmljZSB7XG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IEFMUEhBX0ZPUl9TSEFET1cgPSAwLjI7XG4gICAgLy8gdGhpcyBwYXJhbSBtZWFucyB0aGF0IGEgc2lkZSBvZiBhIHdoaXRlIHNxdWFyZSBpcyBoYWxmIG9mIGEgc2lkZSBvZiBhIGNhbnZhc1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1JPUF9BUkVBX1BST1BPUlRJT04gPSAyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgUkVDVEFOR1VMQVJfU0hBRE9XX1dJRFRIID0gMzA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBSRUNUQU5HVUxBUl9TSEFET1dfSEVJR0hUID0gNzA7XG5cbiAgICBkcmF3U2hhcGUoY2FudmFzU2l6ZTogbnVtYmVyLCBjcm9wTW9kZTogQ1JPUF9JTUFHRV9NT0RFUywgem9vbUxldmVsOiBudW1iZXIsIGh0bWxJbWFnZUVsZW1lbnQ6IEhUTUxJbWFnZUVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckNhbnZhcyhjYW52YXNTaXplKTtcbiAgICAgICAgdGhpcy5kcmF3SW1hZ2VCeVpvb20oY2FudmFzU2l6ZSwgem9vbUxldmVsLCBodG1sSW1hZ2VFbGVtZW50KTtcbiAgICAgICAgdGhpcy5kcmF3U2hhZG93KGNyb3BNb2RlLCBjYW52YXNTaXplKTtcbiAgICB9XG5cbiAgICBnZXRDb29yZGluYXRlcyhjcm9wTW9kZTogQ1JPUF9JTUFHRV9NT0RFUywgY2FudmFzU2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGNyb3BNb2RlID09PSBDUk9QX0lNQUdFX01PREVTLlNRVUFSRVxuICAgICAgICAgICAgPyB0aGlzLmdldENvb3JkaW5hdGVzRm9yU3F1YXJlKGNhbnZhc1NpemUpXG4gICAgICAgICAgICA6IHRoaXMuZ2V0Q29vcmRpbmF0ZXNGb3JSZWN0YW5nbGUoY2FudmFzU2l6ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb29yZGluYXRlc0ZvclNxdWFyZShjYW52YXNTaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzaGFkb3dMZW5ndGggPSBjYW52YXNTaXplIC8gKHRoaXMuQ1JPUF9BUkVBX1BST1BPUlRJT04gKiAyKTtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zaXRpb24gPSBjYW52YXNTaXplIC0gc2hhZG93TGVuZ3RoO1xuICAgICAgICByZXR1cm4gW3NoYWRvd0xlbmd0aCwgc2hhZG93TGVuZ3RoLCBib3R0b21Qb3NpdGlvbiwgYm90dG9tUG9zaXRpb25dLmpvaW4oJywnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvb3JkaW5hdGVzRm9yUmVjdGFuZ2xlKGNhbnZhc1NpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCxcbiAgICAgICAgICAgIHRoaXMuUkVDVEFOR1VMQVJfU0hBRE9XX0hFSUdIVCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19IRUlHSFRcbiAgICAgICAgXS5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkcmF3U2hhZG93KGNyb3BNb2RlOiBDUk9QX0lNQUdFX01PREVTLCBjYW52YXNTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSB0aGlzLkFMUEhBX0ZPUl9TSEFET1c7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9ICdibGFjayc7XG4gICAgICAgIGlmIChjcm9wTW9kZSA9PT0gQ1JPUF9JTUFHRV9NT0RFUy5TUVVBUkUpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhd1NxdWFyZVNoYWRvdyhjYW52YXNTaXplKVxuICAgICAgICB9IGVsc2UgaWYgKGNyb3BNb2RlID09PSBDUk9QX0lNQUdFX01PREVTLlJFQ1RBTkdMRSkge1xuICAgICAgICAgICAgdGhpcy5kcmF3UmVjdGFuZ3VsYXJTaGFkb3coY2FudmFzU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhd1NxdWFyZVNoYWRvdyhjYW52YXNTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2hhZG93TGVuZ3RoID0gY2FudmFzU2l6ZSAvICh0aGlzLkNST1BfQVJFQV9QUk9QT1JUSU9OICogMik7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KDAsIDAsIHNoYWRvd0xlbmd0aCwgY2FudmFzU2l6ZSk7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KGNhbnZhc1NpemUgLSBzaGFkb3dMZW5ndGgsIDAsIHNoYWRvd0xlbmd0aCwgY2FudmFzU2l6ZSk7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KHNoYWRvd0xlbmd0aCwgMCwgMiAqIHNoYWRvd0xlbmd0aCwgc2hhZG93TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3Qoc2hhZG93TGVuZ3RoLCBjYW52YXNTaXplIC0gc2hhZG93TGVuZ3RoLCAyICogc2hhZG93TGVuZ3RoLCBzaGFkb3dMZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhd1JlY3Rhbmd1bGFyU2hhZG93KGNhbnZhc1NpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN0eC5maWxsUmVjdCgwLCAwLCB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCwgY2FudmFzU2l6ZSk7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCwgMCwgdGhpcy5SRUNUQU5HVUxBUl9TSEFET1dfV0lEVEgsIGNhbnZhc1NpemUpO1xuICAgICAgICB0aGlzLmN0eC5maWxsUmVjdChcbiAgICAgICAgICAgIHRoaXMuUkVDVEFOR1VMQVJfU0hBRE9XX1dJRFRILFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSAyICogdGhpcy5SRUNUQU5HVUxBUl9TSEFET1dfV0lEVEgsXG4gICAgICAgICAgICB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19IRUlHSFRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoXG4gICAgICAgICAgICB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19IRUlHSFQsXG4gICAgICAgICAgICBjYW52YXNTaXplIC0gMiAqIHRoaXMuUkVDVEFOR1VMQVJfU0hBRE9XX1dJRFRILFxuICAgICAgICAgICAgdGhpcy5SRUNUQU5HVUxBUl9TSEFET1dfSEVJR0hUXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkcmF3SW1hZ2VCeVpvb20oY2FudmFzU2l6ZTogbnVtYmVyLCB6b29tTGV2ZWw6IG51bWJlciwgaHRtbEltYWdlRWxlbWVudDogSFRNTEltYWdlRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXhJbWFnZURpbWVuc2lvbiA9IE1hdGgubWF4KGh0bWxJbWFnZUVsZW1lbnQud2lkdGgsIGh0bWxJbWFnZUVsZW1lbnQuaGVpZ2h0KTtcbiAgICAgICAgY29uc3QgcHJvcG9ydGlvbiA9IGNhbnZhc1NpemUgLyAodGhpcy5DUk9QX0FSRUFfUFJPUE9SVElPTiAqIG1heEltYWdlRGltZW5zaW9uKTtcbiAgICAgICAgY29uc3Qgc3VpdGFibGVXaWR0aCA9IGh0bWxJbWFnZUVsZW1lbnQud2lkdGggKiBwcm9wb3J0aW9uICogem9vbUxldmVsO1xuICAgICAgICBjb25zdCBzdWl0YWJsZUhlaWdodCA9IGh0bWxJbWFnZUVsZW1lbnQuaGVpZ2h0ICogcHJvcG9ydGlvbiAqIHpvb21MZXZlbDtcblxuICAgICAgICBjb25zdCByZWN0WCA9IChjYW52YXNTaXplIC0gc3VpdGFibGVXaWR0aCkgLyAyO1xuICAgICAgICBjb25zdCByZWN0WSA9IChjYW52YXNTaXplIC0gc3VpdGFibGVIZWlnaHQpIC8gMjtcblxuICAgICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UoaHRtbEltYWdlRWxlbWVudCwgcmVjdFgsIHJlY3RZLCBzdWl0YWJsZVdpZHRoLCBzdWl0YWJsZUhlaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckNhbnZhcyhjYW52YXNTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gJ3doaXRlJztcbiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzU2l6ZSwgY2FudmFzU2l6ZSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,94 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { DrSliderComponent } from '../dr-inputs/dr-slider/dr-slider.component';
4
+ import { CROP_IMAGE_MODES } from './dr-image-cropper.types';
5
+ import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
6
+ import { DrImageCropperCanvasService } from './dr-image-cropper-canvas.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./dr-image-cropper-canvas.service";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "../dr-inputs/button/button.component";
11
+ export class DrImageCropperComponent {
12
+ constructor(canvasService) {
13
+ this.canvasService = canvasService;
14
+ this.maxZoom = 10;
15
+ this.minZoom = 0.5;
16
+ this.zoomStep = 0.1;
17
+ this.zoomLevel = 1;
18
+ this.cropChanged = new EventEmitter();
19
+ this.clearClicked = new EventEmitter();
20
+ this.cropMode = CROP_IMAGE_MODES.SQUARE;
21
+ this.CROP_IMAGE_MODES = CROP_IMAGE_MODES;
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes.imageFile && this.imageFile) {
25
+ this.readImageFile();
26
+ }
27
+ }
28
+ ngAfterViewInit() {
29
+ this.canvasService.ctx = this.canvasElement.nativeElement.getContext('2d');
30
+ }
31
+ drawImage(newZoomEvent) {
32
+ if (newZoomEvent !== undefined) {
33
+ this.zoomLevel = newZoomEvent.target.value;
34
+ }
35
+ this.onCropModeUpdated();
36
+ }
37
+ onCropModeUpdated(cropMode) {
38
+ if (cropMode) {
39
+ this.cropMode = cropMode;
40
+ }
41
+ this.canvasService.drawShape(this.cropperSize, this.cropMode, this.zoomLevel, this.htmlImageElement);
42
+ const coordinates = this.canvasService.getCoordinates(this.cropMode, this.cropperSize);
43
+ this.canvasElement.nativeElement.toBlob((blob) => {
44
+ const file = new File([blob], this.imageFile.name, { type: this.imageFile.type, lastModified: Date.now() });
45
+ this.cropChanged.emit({ file, coordinates, cropMode: this.cropMode });
46
+ }, this.imageFile.type);
47
+ }
48
+ readImageFile() {
49
+ const reader = new FileReader();
50
+ reader.onload = () => {
51
+ this.htmlImageElement = new Image();
52
+ this.htmlImageElement.src = this.getImagesStringSrc(reader);
53
+ this.htmlImageElement.onload = () => {
54
+ this.canvasElement.nativeElement.width = this.canvasElement.nativeElement.height = this.cropperSize;
55
+ this.drawImage();
56
+ };
57
+ };
58
+ reader.readAsDataURL(this.imageFile);
59
+ }
60
+ getImagesStringSrc(reader) {
61
+ if (typeof reader.result === 'string')
62
+ return reader.result;
63
+ const decoder = new TextDecoder();
64
+ return decoder.decode(reader.result);
65
+ }
66
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperComponent, deps: [{ token: i1.DrImageCropperCanvasService }], target: i0.ɵɵFactoryTarget.Component }); }
67
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrImageCropperComponent, isStandalone: true, selector: "dr-image-cropper", inputs: { cropperSize: "cropperSize", imageFile: "imageFile", maxZoom: "maxZoom", minZoom: "minZoom", zoomStep: "zoomStep", zoomLevel: "zoomLevel" }, outputs: { cropChanged: "cropChanged", clearClicked: "clearClicked" }, providers: [DrImageCropperCanvasService], viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["imageCanvas"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"crop-mode-btns-container\">\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.SQUARE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.SQUARE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__square-icon\"></div>\n Square\n </div>\n </dr-button>\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.RECTANGLE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.RECTANGLE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__rectangle-icon\"></div>\n Rectangle\n </div>\n </dr-button>\n</div>\n\n<div class=\"image-cropper\">\n <canvas #imageCanvas></canvas>\n</div>\n<dr-slider\n [(ngModel)]=\"zoomLevel\"\n [max]=\"maxZoom\"\n [min]=\"minZoom\"\n [step]=\"zoomStep\"\n [style.width]=\"cropperSize + 'px'\"\n class=\"image-crop-slider\"\n (input)=\"drawImage($event)\">\n</dr-slider>\n<dr-button [theme]=\"'ghost'\" (click)=\"clearClicked.emit()\" class=\"try-another-btn\">\n Try another image\n</dr-button>\n", styles: [":host{display:flex;flex-direction:column}:host .crop-mode-btns-container{display:flex;justify-content:center;margin-bottom:16px}:host .crop-mode-btns-container ::ng-deep dr-button.active-mode>button{background:#eaeaff}:host .crop-mode-btns-container ::ng-deep dr-button>button{height:56px;width:80px}:host .crop-mode-btns-container dr-button:not(:first-child){margin-left:8px}:host .crop-mode-btns-container .mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;height:56px;width:80px}:host .crop-mode-btns-container .mode-btn__rectangle-icon{height:8px;width:24px;margin-top:4px;margin-bottom:4px}:host .crop-mode-btns-container .mode-btn__square-icon{width:16px;height:16px}:host .crop-mode-btns-container .mode-btn__rectangle-icon,:host .crop-mode-btns-container .mode-btn__square-icon{border:1px solid #333333}:host .image-cropper{overflow:hidden;position:relative}:host .image-cropper__shadow{position:absolute}:host .image-crop-slider{margin-top:8px}:host .try-another-btn{display:flex;justify-content:center;margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DrSliderComponent, selector: "dr-slider", inputs: ["disabled", "max", "min", "step", "rangeValue"] }, { kind: "ngmodule", type: DrInputsModule }, { kind: "component", type: i3.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ selector: 'dr-image-cropper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, DrSliderComponent, DrInputsModule], standalone: true, providers: [DrImageCropperCanvasService], template: "<div class=\"crop-mode-btns-container\">\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.SQUARE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.SQUARE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__square-icon\"></div>\n Square\n </div>\n </dr-button>\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.RECTANGLE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.RECTANGLE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__rectangle-icon\"></div>\n Rectangle\n </div>\n </dr-button>\n</div>\n\n<div class=\"image-cropper\">\n <canvas #imageCanvas></canvas>\n</div>\n<dr-slider\n [(ngModel)]=\"zoomLevel\"\n [max]=\"maxZoom\"\n [min]=\"minZoom\"\n [step]=\"zoomStep\"\n [style.width]=\"cropperSize + 'px'\"\n class=\"image-crop-slider\"\n (input)=\"drawImage($event)\">\n</dr-slider>\n<dr-button [theme]=\"'ghost'\" (click)=\"clearClicked.emit()\" class=\"try-another-btn\">\n Try another image\n</dr-button>\n", styles: [":host{display:flex;flex-direction:column}:host .crop-mode-btns-container{display:flex;justify-content:center;margin-bottom:16px}:host .crop-mode-btns-container ::ng-deep dr-button.active-mode>button{background:#eaeaff}:host .crop-mode-btns-container ::ng-deep dr-button>button{height:56px;width:80px}:host .crop-mode-btns-container dr-button:not(:first-child){margin-left:8px}:host .crop-mode-btns-container .mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;height:56px;width:80px}:host .crop-mode-btns-container .mode-btn__rectangle-icon{height:8px;width:24px;margin-top:4px;margin-bottom:4px}:host .crop-mode-btns-container .mode-btn__square-icon{width:16px;height:16px}:host .crop-mode-btns-container .mode-btn__rectangle-icon,:host .crop-mode-btns-container .mode-btn__square-icon{border:1px solid #333333}:host .image-cropper{overflow:hidden;position:relative}:host .image-cropper__shadow{position:absolute}:host .image-crop-slider{margin-top:8px}:host .try-another-btn{display:flex;justify-content:center;margin-top:8px}\n"] }]
72
+ }], ctorParameters: function () { return [{ type: i1.DrImageCropperCanvasService }]; }, propDecorators: { cropperSize: [{
73
+ type: Input,
74
+ args: [{ required: true }]
75
+ }], imageFile: [{
76
+ type: Input,
77
+ args: [{ required: true }]
78
+ }], maxZoom: [{
79
+ type: Input
80
+ }], minZoom: [{
81
+ type: Input
82
+ }], zoomStep: [{
83
+ type: Input
84
+ }], zoomLevel: [{
85
+ type: Input
86
+ }], cropChanged: [{
87
+ type: Output
88
+ }], clearClicked: [{
89
+ type: Output
90
+ }], canvasElement: [{
91
+ type: ViewChild,
92
+ args: ['imageCanvas', { static: true }]
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvaW1hZ2UtY3JvcHBlci9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBV2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFpQmhDLFlBQTZCLGFBQTBDO1FBQTFDLGtCQUFhLEdBQWIsYUFBYSxDQUE2QjtRQWQ5RCxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxHQUFHLENBQUM7UUFDdEIsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDakQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS2xELGFBQVEsR0FBcUIsZ0JBQWdCLENBQUMs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TUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7a0lBcEVRLHVCQUF1QjtzSEFBdkIsdUJBQXVCLDRSQUZyQixDQUFDLDJCQUEyQixDQUFDLDJLQ3pCNUMsb3FDQWtDQSw2bUNEWGMsV0FBVywrVkFBRSxpQkFBaUIsK0dBQUUsY0FBYzs7NEZBSS9DLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsY0FDN0MsSUFBSSxhQUNMLENBQUMsMkJBQTJCLENBQUM7a0hBR2IsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFFcUMsYUFBYTtzQkFBeEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItc2xpZGVyL2RyLXNsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ1JPUF9JTUFHRV9NT0RFUywgSUNyb3BJbWFnZURhdGEgfSBmcm9tICcuL2RyLWltYWdlLWNyb3BwZXIudHlwZXMnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBEckltYWdlQ3JvcHBlckNhbnZhc1NlcnZpY2UgfSBmcm9tICcuL2RyLWltYWdlLWNyb3BwZXItY2FudmFzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWltYWdlLWNyb3BwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBEclNsaWRlckNvbXBvbmVudCwgRHJJbnB1dHNNb2R1bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbRHJJbWFnZUNyb3BwZXJDYW52YXNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEckltYWdlQ3JvcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY3JvcHBlclNpemU6IG51bWJlcjtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpbWFnZUZpbGU6IEZpbGU7XG4gICAgQElucHV0KCkgbWF4Wm9vbTogbnVtYmVyID0gMTA7XG4gICAgQElucHV0KCkgbWluWm9vbTogbnVtYmVyID0gMC41O1xuICAgIEBJbnB1dCgpIHpvb21TdGVwOiBudW1iZXIgPSAwLjE7XG4gICAgQElucHV0KCkgem9vbUxldmVsOiBudW1iZXIgPSAxO1xuXG4gICAgQE91dHB1dCgpIGNyb3BDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxJQ3JvcEltYWdlRGF0YT4oKTtcbiAgICBAT3V0cHV0KCkgY2xlYXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VDYW52YXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYW52YXNFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcblxuICAgIGh0bWxJbWFnZUVsZW1lbnQ6IEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgY3JvcE1vZGU6IENST1BfSU1BR0VfTU9ERVMgPSBDUk9QX0lNQUdFX01PREVTLlNRVUFSRTtcbiAgICByZWFkb25seSBDUk9QX0lNQUdFX01PREVTID0gQ1JPUF9JTUFHRV9NT0RFUztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2FudmFzU2VydmljZTogRHJJbWFnZUNyb3BwZXJDYW52YXNTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5pbWFnZUZpbGUgJiYgdGhpcy5pbWFnZUZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVhZEltYWdlRmlsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbnZhc1NlcnZpY2UuY3R4ID0gdGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB9XG5cbiAgICBkcmF3SW1hZ2UobmV3Wm9vbUV2ZW50Pyk6IHZvaWQge1xuICAgICAgICBpZiAobmV3Wm9vbUV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuem9vbUxldmVsID0gbmV3Wm9vbUV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uQ3JvcE1vZGVVcGRhdGVkKCk7XG4gICAgfVxuXG4gICAgb25Dcm9wTW9kZVVwZGF0ZWQoY3JvcE1vZGU/OiBDUk9QX0lNQUdFX01PREVTKTogdm9pZCB7XG4gICAgICAgIGlmIChjcm9wTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5jcm9wTW9kZSA9IGNyb3BNb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jYW52YXNTZXJ2aWNlLmRyYXdTaGFwZSh0aGlzLmNyb3BwZXJTaXplLCB0aGlzLmNyb3BNb2RlLCB0aGlzLnpvb21MZXZlbCwgdGhpcy5odG1sSW1hZ2VFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSB0aGlzLmNhbnZhc1NlcnZpY2UuZ2V0Q29vcmRpbmF0ZXModGhpcy5jcm9wTW9kZSwgdGhpcy5jcm9wcGVyU2l6ZSk7XG4gICAgICAgIHRoaXMuY2FudmFzRWxlbWVudC5uYXRpdmVFbGVtZW50LnRvQmxvYigoYmxvYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgdGhpcy5pbWFnZUZpbGUubmFtZSwgeyB0eXBlOiB0aGlzLmltYWdlRmlsZS50eXBlLCBsYXN0TW9kaWZpZWQ6IERhdGUubm93KCkgfSk7XG4gICAgICAgICAgICB0aGlzLmNyb3BDaGFuZ2VkLmVtaXQoeyBmaWxlLCBjb29yZGluYXRlcywgY3JvcE1vZGU6IHRoaXMuY3JvcE1vZGUgfSk7XG4gICAgICAgIH0sIHRoaXMuaW1hZ2VGaWxlLnR5cGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZEltYWdlRmlsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaHRtbEltYWdlRWxlbWVudCA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgdGhpcy5odG1sSW1hZ2VFbGVtZW50LnNyYyA9IHRoaXMuZ2V0SW1hZ2VzU3RyaW5nU3JjKHJlYWRlcik7XG4gICAgICAgICAgICB0aGlzLmh0bWxJbWFnZUVsZW1lbnQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzRWxlbWVudC5uYXRpdmVFbGVtZW50LndpZHRoID0gdGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gdGhpcy5jcm9wcGVyU2l6ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyYXdJbWFnZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwodGhpcy5pbWFnZUZpbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW1hZ2VzU3RyaW5nU3JjKHJlYWRlcjogRmlsZVJlYWRlcik6IHN0cmluZyB7XG4gICAgICAgIGlmICh0eXBlb2YgcmVhZGVyLnJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiByZWFkZXIucmVzdWx0O1xuXG4gICAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKTtcbiAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKHJlYWRlci5yZXN1bHQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcm9wLW1vZGUtYnRucy1jb250YWluZXJcIj5cbiAgICA8ZHItYnV0dG9uIHRoZW1lPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS1tb2RlXT1cImNyb3BNb2RlID09PSBDUk9QX0lNQUdFX01PREVTLlNRVUFSRVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Dcm9wTW9kZVVwZGF0ZWQoQ1JPUF9JTUFHRV9NT0RFUy5TUVVBUkUpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlLWJ0blwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGUtYnRuX19zcXVhcmUtaWNvblwiPjwvZGl2PlxuICAgICAgICAgICAgU3F1YXJlXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZHItYnV0dG9uPlxuICAgIDxkci1idXR0b24gdGhlbWU9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlLW1vZGVdPVwiY3JvcE1vZGUgPT09IENST1BfSU1BR0VfTU9ERVMuUkVDVEFOR0xFXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNyb3BNb2RlVXBkYXRlZChDUk9QX0lNQUdFX01PREVTLlJFQ1RBTkdMRSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGUtYnRuXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kZS1idG5fX3JlY3RhbmdsZS1pY29uXCI+PC9kaXY+XG4gICAgICAgICAgICBSZWN0YW5nbGVcbiAgICAgICAgPC9kaXY+XG4gICAgPC9kci1idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImltYWdlLWNyb3BwZXJcIj5cbiAgICA8Y2FudmFzICNpbWFnZUNhbnZhcz48L2NhbnZhcz5cbjwvZGl2PlxuPGRyLXNsaWRlclxuICAgICAgICBbKG5nTW9kZWwpXT1cInpvb21MZXZlbFwiXG4gICAgICAgIFttYXhdPVwibWF4Wm9vbVwiXG4gICAgICAgIFttaW5dPVwibWluWm9vbVwiXG4gICAgICAgIFtzdGVwXT1cInpvb21TdGVwXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImNyb3BwZXJTaXplICsgJ3B4J1wiXG4gICAgICAgIGNsYXNzPVwiaW1hZ2UtY3JvcC1zbGlkZXJcIlxuICAgICAgICAoaW5wdXQpPVwiZHJhd0ltYWdlKCRldmVudClcIj5cbjwvZHItc2xpZGVyPlxuPGRyLWJ1dHRvbiBbdGhlbWVdPVwiJ2dob3N0J1wiIChjbGljayk9XCJjbGVhckNsaWNrZWQuZW1pdCgpXCIgY2xhc3M9XCJ0cnktYW5vdGhlci1idG5cIj5cbiAgICBUcnkgYW5vdGhlciBpbWFnZVxuPC9kci1idXR0b24+XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var CROP_IMAGE_MODES;
2
+ (function (CROP_IMAGE_MODES) {
3
+ CROP_IMAGE_MODES["SQUARE"] = "square";
4
+ CROP_IMAGE_MODES["RECTANGLE"] = "rectangle";
5
+ })(CROP_IMAGE_MODES || (CROP_IMAGE_MODES = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW1hZ2UtY3JvcHBlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQ3hCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0FBQzNCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ1JPUF9JTUFHRV9NT0RFUyB7XG4gICAgU1FVQVJFID0gJ3NxdWFyZScsXG4gICAgUkVDVEFOR0xFID0gJ3JlY3RhbmdsZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyb3BJbWFnZURhdGEge1xuICAgIGZpbGU6IEZpbGU7XG4gICAgY29vcmRpbmF0ZXM6IHN0cmluZztcbiAgICBjcm9wTW9kZTogQ1JPUF9JTUFHRV9NT0RFUztcbn1cbiJdfQ==
@@ -121,6 +121,9 @@ export { DrTooltipModule } from './lib/dr-tooltip/dr-tooltip.module';
121
121
  export { DrAvatarModule } from './lib/dr-avatar/dr-avatar.module';
122
122
  export { DrSpinnerModule } from './lib/dr-spinner/dr-spinner.module';
123
123
  export { DrPopoverModule } from './lib/dr-popover/dr-popover.module';
124
+ export { DrSliderComponent } from './lib/dr-inputs/dr-slider/dr-slider.component';
125
+ export { DrImageCropperComponent } from './lib/image-cropper/dr-image-cropper.component';
126
+ export * from './lib/image-cropper/dr-image-cropper.types';
124
127
  export { DrDropdownModule } from './lib/dr-dropdown/dr-dropdown.module';
125
128
  export { DrTabsModule } from './lib/dr-tabs/dr-tabs.module';
126
129
  export { DrAccordionModule } from './lib/dr-accordion/accordion.module';
@@ -139,4 +142,4 @@ export { DrAlertModule } from './lib/dr-alert/dr-alert.module';
139
142
  export { DrTagsConstructorModule } from './lib/dr-tags-constructor/dr-tags-constructor.module';
140
143
  export { DrToastrModule } from './lib/dr-toastr/dr-toastr.module';
141
144
  export { DrCodeEditorModule } from './lib/dr-code-editor/dr-code-editor.module';
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQUEsY0FBYyxrR0FBa0csQ0FBQztBQUMvSyxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4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LDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBjb21wb25lbnRzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvYW55LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL21vbnRoLXRhZy9tb250aC10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9xdWFydGVyLXRhZy9xdWFydGVyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3dlZWstdGFnL3dlZWstdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MveWVhci10YWcveWVhci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LXRhZ3MvbGlzdC10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXktdGFnL2RheS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLWlucHV0L2RyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItbGluay9kci1saW5rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2VsZWN0L2RyLXNlbGVjdC5jb21wb25lbnQnO2V4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXJhbmdlL2RyLWRhdGUtcGlja2VyLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RpcmVjdGl2ZXMvZHItZGF0ZS1waWNrZXItZm9ybWF0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLXNob3ctdGltZWZyYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC1hZGQtaXRlbS9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWRlZmF1bHQvdG9vbHRpcC1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvL3Rvb2x0aXAtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtaW5mby1zaW1wbGUvdG9vbHRpcC1pbmZvLXNpbXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtbm8tYm9keS90b29sdGlwLW5vLWJvZHkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWFsZXJ0L2RyLWNoYXQtYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWF2YXRhci9kci1hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWF2YXRhci9kci1hdmF0YXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS9kci10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUtYnV0dG9uL2RyLXRvZ2dsZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNwaW5uZXIvZHItc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWxlcnQvZHItYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2RyLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9jb21wb25lbnRzL2RyLWNvZGVtaXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvY29kZS1lZGl0b3ItaGludC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWJzL2RyLXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWJvZHkuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWxheW91dC9kci1sYXlvdXQtYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1lcnJvci9kci1lcnJvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9jb21wb25lbnRzL2RpYWxvZy1tb2RhbC13cmFwcGVyL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2NvbXBvbmVudHMvdHJlZXZpZXcvdHJlZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L3BpcGVzL3RyZWV2aWV3LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbS10ZW1wbGF0ZS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctaGVscGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9hc3RyL2RlZmF1bHQtdG9hc3RyL2RlZmF1bHQtdG9hc3RyLmNvbXBvbmVudCc7XG5cbi8qIGVudW1zICovXG5leHBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2VudW1zL3Rvb2x0aXAtcG9zaXRpb24uZW51bSc7XG5leHBvcnQgeyBUb29sdGlwVGhlbWUgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2VudW1zL3Rvb2x0aXAtdGhlbWUuZW51bSc7XG5leHBvcnQgeyBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmV4cG9ydCB7IFRvZ2dsZUJ1dHRvbk1vZGUgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLW1vZGUnO1xuZXhwb3J0IHsgRHJBbGVydFRoZW1lIH0gZnJvbSAnLi9saWIvZHItYWxlcnQvZW51bXMvZHItYWxlcnQtdGhlbWUuZW51bSc7XG5cbi8qIGludGVyZmFjZXMgJiB0eXBlcyAqL1xuZXhwb3J0IHsgVG9vbHRpcEluZm9Db250ZXh0IH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9pbnRlcmZhY2VzL3Rvb2x0aXAtY29tcG9uZW50LWNvbnRleHQnO1xuZXhwb3J0IHsgU3RlcCB9IGZyb20gJy4vbGliL3N0ZXBwZXIvaW50ZXJmYWNlcy9zdGVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcblxuLyogZGlyZWN0aXZlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLW1vZGVsLWRlYm91bmNlLWNoYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcblxuLyogbW9kZWxzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5leHBvcnQgeyBUQUdfVFlQRVMsIElUYWcsIElEYXRlVGFnLCBJTGlzdFRhZywgSVRhZ0ZvclNlcnZlciwgSUR5bmFtaWNUYWcsIFREeW5hbWljVGFnVmFsdWUsIFREeW5hbWljVGFnLCBUYWdUeXBlcywgVGFnc0NvbmZpZ1N1YlR5cGUsIFRDb25uZWN0ZWRUYWdzIH0gZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZlclRhZ3MnO1xuZXhwb3J0IHsgSVNwaW5uZXJPcHRpb25zLCBTcGlubmVyVHlwZSwgU3Bpbm5lclNpemUgfSBmcm9tICcuL2xpYi9tb2RlbHMvc3Bpbm5lck9wdGlvbnMnO1xuZXhwb3J0IHtcbiAgICBFbFBvc2l0aW9uLFxuICAgIElEcm9wZG93bixcbiAgICBJRHJvcGRvd25JdGVtLFxuICAgIElEcm9wZG93bkFjdGlvbkljb24sXG4gICAgSURyb3Bkb3duQ29vcmRpbmF0ZSxcbiAgICBJRHJvcGRvd25DYWxsRXZlbnQsXG4gICAgSURyb3Bkb3duQWN0aW9uXG59IGZyb20gJy4vbGliL21vZGVscy9kcm9wZG93bic7XG5leHBvcnQge1xuICAgIERyUG9wb3ZlclJlZixcbiAgICBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgUG9pbnQsXG4gICAgRHJQb3BvdmVyQ29uZmlnLFxuICAgIElQb3BvdmVyTWFudWFsQ2xvc2luZyxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnQsXG4gICAgRHJQb3BvdmVyQWxpZ25tZW50RGltZW5zaW9uLFxufSBmcm9tICcuL2xpYi9tb2RlbHMvcG9wb3Zlcic7XG5leHBvcnQgeyBJVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9saWIvbW9kZWxzL3ZhbGlkYXRpb25FcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFkZ2VTdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZlZWRiYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdHInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGVQaWNrZXJSYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9tb2RlbHMvY29kZS1lZGl0b3ItaGludCc7XG5cbi8qIHNlcnZpY2VzICovXG5leHBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmV4cG9ydCB7IFRhZ3NDb25zdHJ1Y3RvclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL3RhZ3MtY29uc3RydWN0b3Iuc2VydmljZSc7XG5leHBvcnQgeyBEckF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvc2VydmljZXMvZHItYXZhdGFyLnNlcnZpY2UnO1xuZXhwb3J0IHsgRHJUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZHItdG9hc3RyL2RyLXRvYXN0ci5zZXJ2aWNlJztcblxuLyogbW9kdWxlcyAqL1xuZXhwb3J0IHsgRGF0ZVRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgTGlzdFRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWdzL2RyLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAubW9kdWxlJztcbmV4cG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLm1vZHVsZSc7XG5leHBvcnQgeyBEclBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlJztcbmV4cG9ydCB7IERyRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWJzTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdGFicy9kci10YWJzLm1vZHVsZSc7XG5leHBvcnQgeyBEckFjY29yZGlvbk1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24ubW9kdWxlJztcbmV4cG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuL2xpYi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuZXhwb3J0IHsgRHJMYXlvdXRNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0Lm1vZHVsZSc7XG5leHBvcnQgeyBEckVycm9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZXJyb3IvZHItZXJyb3IubW9kdWxlJztcbmV4cG9ydCB7IERyU3RlcHBlck1vZHVsZSB9IGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJEaWFsb2dNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgeyBEckNoYXRNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlJztcbmV4cG9ydCB7IERyRGV0YWlsc0xpc3RNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1kZXRhaWxzLWxpc3QvZHItZGV0YWlscy1saXN0Lm1vZHVsZSc7XG5leHBvcnQgeyBEclNjZW5hcmlvTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vZHItc2NlbmFyaW8ubW9kdWxlJztcbmV4cG9ydCB7IERyQmFkZ2VTdGF0dXNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1iYWRnZS1zdGF0dXMvZHItYmFkZ2Utc3RhdHVzLm1vZHVsZSc7XG5leHBvcnQgeyBUcmVldmlld01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2RyLXRyZWUtdmlldy5tb2R1bGUnO1xuZXhwb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcbmV4cG9ydCB7IERyQWxlcnRNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hbGVydC9kci1hbGVydC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWdzQ29uc3RydWN0b3JNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL2RyLXRhZ3MtY29uc3RydWN0b3IubW9kdWxlJztcbmV4cG9ydCB7IERyVG9hc3RyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdG9hc3RyL2RyLXRvYXN0ci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDb2RlRWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IubW9kdWxlJztcbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQUEsY0FBYyxrR0FBa0csQ0FBQztBQUMvSyxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4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NUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGNvbXBvbmVudHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9hbnktdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF0ZS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvbW9udGgtdGFnL21vbnRoLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3F1YXJ0ZXItdGFnL3F1YXJ0ZXItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3Mvd2Vlay10YWcvd2Vlay10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy95ZWFyLXRhZy95ZWFyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy9kci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RheS10YWcvZGF5LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXQvZHItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1saW5rL2RyLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudCc7ZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItcmFuZ2UvZHItZGF0ZS1waWNrZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZGlyZWN0aXZlcy9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItc2hvdy10aW1lZnJhbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2VsZWN0LWFkZC1pdGVtL2RyLXNlbGVjdC1hZGQtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtZGVmYXVsdC90b29sdGlwLWRlZmF1bHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWluZm8vdG9vbHRpcC1pbmZvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvLXNpbXBsZS90b29sdGlwLWluZm8tc2ltcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1uby1ib2R5L3Rvb2x0aXAtbm8tYm9keS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0L3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvY2hhdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWN1c3RvbS9jaGF0LWN1c3RvbS1tZXNzYWdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1kb3QtZmxhc2hpbmcvZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlL2RyLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vZHItdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1iYWRnZS1zdGF0dXMvZHItYmFkZ2Utc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hbGVydC9kci1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvZHItY29kZW1pcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLWl0ZW0tc2hvdy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFicy9kci10YWIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvY29tcG9uZW50cy9kaWFsb2ctd3JhcHBlci9kaWFsb2ctd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvcGlwZXMvdHJlZXZpZXcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pdGVtLXRlbXBsYXRlLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1oZWxwZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b2FzdHIvZGVmYXVsdC10b2FzdHIvZGVmYXVsdC10b2FzdHIuY29tcG9uZW50JztcblxuLyogZW51bXMgKi9cbmV4cG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC1wb3NpdGlvbi5lbnVtJztcbmV4cG9ydCB7IFRvb2x0aXBUaGVtZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC10aGVtZS5lbnVtJztcbmV4cG9ydCB7IFNjZW5hcmlvLCBUU2NlbmFyaW9EYXRhQ2hhbmdlZCB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2ludGVyZmFjZXMvc2NlbmFyaW8nO1xuZXhwb3J0IHsgVG9nZ2xlQnV0dG9uTW9kZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24tbW9kZSc7XG5leHBvcnQgeyBEckFsZXJ0VGhlbWUgfSBmcm9tICcuL2xpYi9kci1hbGVydC9lbnVtcy9kci1hbGVydC10aGVtZS5lbnVtJztcblxuLyogaW50ZXJmYWNlcyAmIHR5cGVzICovXG5leHBvcnQgeyBUb29sdGlwSW5mb0NvbnRleHQgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2ludGVyZmFjZXMvdG9vbHRpcC1jb21wb25lbnQtY29udGV4dCc7XG5leHBvcnQgeyBTdGVwIH0gZnJvbSAnLi9saWIvc3RlcHBlci9pbnRlcmZhY2VzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2ludGVyZmFjZXMvZGlhbG9nLWRhdGEnO1xuXG4vKiBkaXJlY3RpdmVzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItbW9kZWwtZGVib3VuY2UtY2hhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuXG4vKiBtb2RlbHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRlUGlja2VyJztcbmV4cG9ydCB7IFRBR19UWVBFUywgSVRhZywgSURhdGVUYWcsIElMaXN0VGFnLCBJVGFnRm9yU2VydmVyLCBJRHluYW1pY1RhZywgVER5bmFtaWNUYWdWYWx1ZSwgVER5bmFtaWNUYWcsIFRhZ1R5cGVzLCBUYWdzQ29uZmlnU3ViVHlwZSwgVENvbm5lY3RlZFRhZ3MgfSBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmVyVGFncyc7XG5leHBvcnQgeyBJU3Bpbm5lck9wdGlvbnMsIFNwaW5uZXJUeXBlLCBTcGlubmVyU2l6ZSB9IGZyb20gJy4vbGliL21vZGVscy9zcGlubmVyT3B0aW9ucyc7XG5leHBvcnQge1xuICAgIEVsUG9zaXRpb24sXG4gICAgSURyb3Bkb3duLFxuICAgIElEcm9wZG93bkl0ZW0sXG4gICAgSURyb3Bkb3duQWN0aW9uSWNvbixcbiAgICBJRHJvcGRvd25Db29yZGluYXRlLFxuICAgIElEcm9wZG93bkNhbGxFdmVudCxcbiAgICBJRHJvcGRvd25BY3Rpb25cbn0gZnJvbSAnLi9saWIvbW9kZWxzL2Ryb3Bkb3duJztcbmV4cG9ydCB7XG4gICAgRHJQb3BvdmVyUmVmLFxuICAgIElEclBvcG92ZXJDb21wb25lbnRNb2RlbCxcbiAgICBQb2ludCxcbiAgICBEclBvcG92ZXJDb25maWcsXG4gICAgSVBvcG92ZXJNYW51YWxDbG9zaW5nLFxuICAgIERyUG9wb3ZlckFsaWdubWVudCxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnREaW1lbnNpb24sXG59IGZyb20gJy4vbGliL21vZGVscy9wb3BvdmVyJztcbmV4cG9ydCB7IElWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2xpYi9tb2RlbHMvdmFsaWRhdGlvbkVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYWRnZVN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmVlZGJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvYXN0cic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlclJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcblxuLyogc2VydmljZXMgKi9cbmV4cG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuZXhwb3J0IHsgVGFnc0NvbnN0cnVjdG9yU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvdGFncy1jb25zdHJ1Y3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7IERyQXZhdGFyU2VydmljZSB9IGZyb20gJy4vbGliL2RyLWF2YXRhci9zZXJ2aWNlcy9kci1hdmF0YXIuc2VydmljZSc7XG5leHBvcnQgeyBEclRvYXN0clNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10b2FzdHIvZHItdG9hc3RyLnNlcnZpY2UnO1xuXG4vKiBtb2R1bGVzICovXG5leHBvcnQgeyBEYXRlVGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBMaXN0VGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvbGlzdC10YWdzL2xpc3QtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEclRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmV4cG9ydCB7IERyVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBdmF0YXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLm1vZHVsZSc7XG5leHBvcnQgeyBEclNwaW5uZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIubW9kdWxlJztcbmV4cG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2xpZGVyL2RyLXNsaWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci50eXBlcyc7XG5leHBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmV4cG9ydCB7IERyVGFic01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XG5leHBvcnQgeyBEclNoYXJlZFV0aWxzIH0gZnJvbSAnLi9saWIvdXRpbHMvZHItc2hhcmVkLXV0aWxzJztcbmV4cG9ydCB7IERyTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJFcnJvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclN0ZXBwZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCB7IERyRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDaGF0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0Lm1vZHVsZSc7XG5leHBvcnQgeyBEckRldGFpbHNMaXN0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTY2VuYXJpb01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2RyLXNjZW5hcmlvLm1vZHVsZSc7XG5leHBvcnQgeyBEckJhZGdlU3RhdHVzTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5tb2R1bGUnO1xuZXhwb3J0IHsgVHJlZXZpZXdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10cmVldmlldy9kci10cmVlLXZpZXcubW9kdWxlJztcbmV4cG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5leHBvcnQgeyBEckFsZXJ0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYWxlcnQvZHItYWxlcnQubW9kdWxlJztcbmV4cG9ydCB7IERyVGFnc0NvbnN0cnVjdG9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvYXN0ck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvYXN0ci9kci10b2FzdHIubW9kdWxlJztcbmV4cG9ydCB7IERyQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2RyLWNvZGUtZWRpdG9yLm1vZHVsZSc7XG4iXX0=