@softheon/armature 17.26.2 → 17.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,4 +18,5 @@ export * from './sof-utility-button/sof-utility-button.component';
18
18
  export * from './confirm-address/sof-confirm-address/compare-address-pipe/compare-address.pipe';
19
19
  export * from './sof-callout/sof-callout.component';
20
20
  export * from './sof-context/sof-context.component';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsYUFBYTtBQUNiLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpR0FBaUcsQ0FBQztBQUNoSCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1jb21wb25lbnQubW9kdWxlJztcclxuXHJcbi8vIGNvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtcHJvZ3Jlc3MtYmFyL3NvZi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtYmFubmVyL3NvZi1iYW5uZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtYWxlcnQvc29mLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLW1vZGFsL3NvZi1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXN0YXItcmF0aW5nL3NvZi1zdGFyLXJhdGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1iYWRnZS9zb2YtYmFkZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtaW1hZ2UtY2hlY2tib3gvc29mLWltYWdlLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXNpbXBsZS1hbGVydC9zb2Ytc2ltcGxlLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tYWRkcmVzcy9zb2YtY29uZmlybS1hZGRyZXNzLWNvdW50eS1jaGFuZ2Uvc29mLWNvbmZpcm0tYWRkcmVzcy1jb3VudHktY2hhbmdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXJhZGlvLWNhcmQvc29mLXJhZGlvLWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtaW5wdXQtc3RlcHBlci9zb2YtaW5wdXQtc3RlcHBlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1oYW5kbGUvc29mLWhhbmRsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi11dGlsaXR5LWJ1dHRvbi9zb2YtdXRpbGl0eS1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy9jb21wYXJlLWFkZHJlc3MtcGlwZS9jb21wYXJlLWFkZHJlc3MucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLWNhbGxvdXQvc29mLWNhbGxvdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtY29udGV4dC9zb2YtY29udGV4dC5jb21wb25lbnQnOyJdfQ==
21
+ export * from './sof-bottom-sheet/sof-bottom-sheet.component';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsYUFBYTtBQUNiLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpR0FBaUcsQ0FBQztBQUNoSCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtY29tcG9uZW50Lm1vZHVsZSc7XHJcbi8vIGNvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtcHJvZ3Jlc3MtYmFyL3NvZi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtYmFubmVyL3NvZi1iYW5uZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtYWxlcnQvc29mLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLW1vZGFsL3NvZi1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwL3NvZi1idXR0b24tdG9nZ2xlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXN0YXItcmF0aW5nL3NvZi1zdGFyLXJhdGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1iYWRnZS9zb2YtYmFkZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtaW1hZ2UtY2hlY2tib3gvc29mLWltYWdlLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXNpbXBsZS1hbGVydC9zb2Ytc2ltcGxlLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlybS1hZGRyZXNzL3NvZi1jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tYWRkcmVzcy9zb2YtY29uZmlybS1hZGRyZXNzLWNvdW50eS1jaGFuZ2Uvc29mLWNvbmZpcm0tYWRkcmVzcy1jb3VudHktY2hhbmdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLXJhZGlvLWNhcmQvc29mLXJhZGlvLWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtaW5wdXQtc3RlcHBlci9zb2YtaW5wdXQtc3RlcHBlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1oYW5kbGUvc29mLWhhbmRsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi11dGlsaXR5LWJ1dHRvbi9zb2YtdXRpbGl0eS1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLWFkZHJlc3Mvc29mLWNvbmZpcm0tYWRkcmVzcy9jb21wYXJlLWFkZHJlc3MtcGlwZS9jb21wYXJlLWFkZHJlc3MucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29mLWNhbGxvdXQvc29mLWNhbGxvdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2YtY29udGV4dC9zb2YtY29udGV4dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvZi1ib3R0b20tc2hlZXQvc29mLWJvdHRvbS1zaGVldC5jb21wb25lbnQnOyJdfQ==
@@ -0,0 +1,152 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, inject, Renderer2, ViewChild } from '@angular/core';
3
+ import { MAT_BOTTOM_SHEET_DATA, MatBottomSheetModule, MatBottomSheetRef } from '@angular/material/bottom-sheet';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@ngx-translate/core";
8
+ /**
9
+ * The mobile bottom sheet
10
+ * @note while designed for mobile/tablet will work on desktop as well.
11
+ */
12
+ export class SofBottomSheetComponent {
13
+ constructor() {
14
+ /** Sheet header height */
15
+ this.bottomSheetHeaderHeight = 56;
16
+ /** 25% of the viewport height, minus the headers height */
17
+ this.minHeight = Math.round(window.innerHeight * 0.25 - this.bottomSheetHeaderHeight);
18
+ /** 95% of the viewport height, minus the headers height */
19
+ this.maxHeight = Math.round(window.innerHeight * 0.95 - this.bottomSheetHeaderHeight);
20
+ /** 60% of the viewport height, minus the headers height */
21
+ this.defaultHeight = Math.round(window.innerHeight * 0.6 - this.bottomSheetHeaderHeight);
22
+ /** Initial sheet content height */
23
+ this.sheetHeight = this.defaultHeight;
24
+ /** Area tolerance for snapping to default height (in px) */
25
+ this.defaultHeightTolerance = Math.round((window.innerHeight / 4) - (this.bottomSheetHeaderHeight * 2));
26
+ /** Is the user dragging the target (header) */
27
+ this.isDragging = false;
28
+ /** Is the user dragging the bottom sheets content element */
29
+ this.isContentDrag = false;
30
+ /** ID for the dismiss button */
31
+ this.dismissButtonId = "dismiss-bottom-sheet";
32
+ /** Implement custom rendering */
33
+ this.renderer = inject(Renderer2);
34
+ /** Provide custom change detection functionality when using 'ChangeDetectionStrategy.OnPush' */
35
+ this.cdr = inject(ChangeDetectorRef);
36
+ /** The bottom sheets data */
37
+ this.data = inject(MAT_BOTTOM_SHEET_DATA);
38
+ /** The bottom sheet reference */
39
+ this.bottomSheetRef = inject(MatBottomSheetRef);
40
+ /** Handle the drag movement event */
41
+ this.onDrag = (event) => {
42
+ if (!this.isDragging) {
43
+ return;
44
+ }
45
+ const currentY = this.getYPosition(event);
46
+ const deltaY = this.startY - currentY;
47
+ const newHeight = this.initialHeight + deltaY;
48
+ if (this.isContentDrag && newHeight > this.initialHeight) {
49
+ return;
50
+ }
51
+ this.sheetHeight = newHeight > this.maxHeight ? this.maxHeight : newHeight;
52
+ this.cdr.detectChanges();
53
+ };
54
+ }
55
+ /** Ensure the bottom sheet starts at the default height (60% of the viewport) */
56
+ ngAfterViewInit() {
57
+ this.sheetHeight = this.defaultHeight;
58
+ }
59
+ /** Start the drag operation (handles both mouse and touch events) */
60
+ startDrag(event, isContentDrag = false) {
61
+ if (isContentDrag) {
62
+ const isContentScrolledToTop = this.sheetContent.nativeElement.scrollTop === 0;
63
+ if (isContentScrolledToTop) {
64
+ this.isContentDrag = true;
65
+ }
66
+ else {
67
+ return;
68
+ }
69
+ }
70
+ this.isDragging = true;
71
+ this.startY = this.getYPosition(event);
72
+ this.initialHeight = this.sheetHeight;
73
+ if (event instanceof MouseEvent) {
74
+ const mouseMoveListener = this.renderer.listen('document', 'mousemove', this.onDrag);
75
+ const mouseUpListener = this.renderer.listen('document', 'mouseup', () => {
76
+ mouseMoveListener();
77
+ mouseUpListener();
78
+ this.endDrag(event);
79
+ });
80
+ }
81
+ else if (event.touches && event.touches.length) {
82
+ const touchMoveListener = this.renderer.listen('document', 'touchmove', this.onDrag);
83
+ const touchEndListener = this.renderer.listen('document', 'touchend', () => {
84
+ touchMoveListener();
85
+ touchEndListener();
86
+ this.endDrag(event);
87
+ });
88
+ }
89
+ }
90
+ /** End the drag operation and snap to the nearest state */
91
+ endDrag(event) {
92
+ if (!this.isDragging) {
93
+ return;
94
+ }
95
+ this.isDragging = false;
96
+ if (
97
+ // If the close button is the target element & not dragged (mousedown/up (click) w/o moving), dismiss the bottom sheet,
98
+ event.target['id'] === this.dismissButtonId && this.sheetHeight === this.initialHeight ||
99
+ // If dragging on the content & content is scrolled to the top & dragging down, dismiss the bottom sheet,
100
+ this.isContentDrag && (this.sheetHeight + this.defaultHeightTolerance) < this.initialHeight ||
101
+ // If dragged below the minimum threshold (25%), dismiss the bottom sheet.
102
+ this.sheetHeight < this.minHeight) {
103
+ this.bottomSheetRef.dismiss();
104
+ return;
105
+ }
106
+ // If the current height is within defaultHeightTolerance of the default height, snap to default.
107
+ if (Math.round(Math.abs(this.sheetHeight - this.defaultHeight)) <= this.defaultHeightTolerance) {
108
+ this.sheetHeight = this.defaultHeight;
109
+ }
110
+ else {
111
+ // Determine snapping based on position relative to the midpoint.
112
+ const midPoint = Math.round((this.minHeight + this.maxHeight) / 2);
113
+ this.sheetHeight = this.sheetHeight > midPoint ? this.maxHeight : this.minHeight;
114
+ }
115
+ this.cdr.detectChanges();
116
+ }
117
+ /** Utility method to extract the Y position from mouse or touch events */
118
+ getYPosition(event) {
119
+ if (event instanceof MouseEvent) {
120
+ return event.clientY;
121
+ }
122
+ else if (event.touches && event.touches.length) {
123
+ return event.touches[0].clientY;
124
+ }
125
+ return 0;
126
+ }
127
+ /** Update the height variables on window resize */
128
+ onResize() {
129
+ this.minHeight = window.innerHeight * 0.25 - this.bottomSheetHeaderHeight;
130
+ this.maxHeight = window.innerHeight * 0.95 - this.bottomSheetHeaderHeight;
131
+ this.defaultHeight = window.innerHeight * 0.6 - this.bottomSheetHeaderHeight;
132
+ // Ensure the current height is within bounds.
133
+ this.sheetHeight = Math.max(this.minHeight, Math.min(this.sheetHeight, this.maxHeight));
134
+ }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofBottomSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: SofBottomSheetComponent, isStandalone: true, selector: "sof-bottom-sheet", host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "sheetContent", first: true, predicate: ["sheetContent"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"bottom-sheet\">\r\n <div \r\n class=\"header\"\r\n (mousedown)=\"startDrag($event)\" \r\n (touchstart)=\"startDrag($event)\">\r\n <div class=\"handle\"></div>\r\n <i class=\"{{data.headerIconClass}}\" aria-hidden=\"true\"></i>\r\n <h4>{{data.headerTitle | translate}}</h4>\r\n <button \r\n class=\"dismiss-bottom-sheet\" \r\n m-l-auto [id]=\"dismissButtonId\"\r\n aria-label=\"dismiss\">\r\n <i class=\"ph-bold ph-x\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n <div \r\n class=\"content\" #sheetContent \r\n (mousedown)=\"startDrag($event, true)\" \r\n (touchstart)=\"startDrag($event, true)\"\r\n [style.height.px]=\"sheetHeight\">\r\n @if (data.template) {\r\n <ng-container [ngTemplateOutlet]=\"data.template\"/>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20}::ng-deep .mat-bottom-sheet-container{border-top-left-radius:24px!important;border-top-right-radius:24px!important;padding:0!important;box-shadow:none!important;color:#000000de!important;font-family:Poppins,sans-serif!important;letter-spacing:0px!important;overflow-y:hidden!important;max-height:unset!important;width:100%!important;min-width:100%!important;max-width:100%!important}::ng-deep .mat-bottom-sheet-container *{box-sizing:border-box!important}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header{height:56px;border-bottom:1px solid #F5F5F5;display:flex;align-items:center;padding:0 16px 0 24px;gap:16px}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .handle{position:absolute;top:8px;left:calc(50% - 36px);width:72px;height:4px;background-color:#e9e9e9;border-radius:4px}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header i{font-size:20px}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header h4{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet{cursor:pointer;display:flex;align-items:center;justify-content:center;height:40px;width:40px;min-height:40px;min-width:40px;background-color:transparent;border:none;border-radius:50%}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet:hover{background-color:var(--neutral-color-A100-parts)}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet:active{background-color:var(--neutral-color-A200-parts)}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet:focus{outline:3px solid;outline-offset:2px;outline-color:var(--primary-color-300-parts)}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet i{font-size:20px;pointer-events:none!important}::ng-deep .mat-bottom-sheet-container .bottom-sheet .content{padding:16px;overflow-y:auto;scrollbar-width:thin!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatBottomSheetModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
137
+ }
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofBottomSheetComponent, decorators: [{
139
+ type: Component,
140
+ args: [{ selector: 'sof-bottom-sheet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
141
+ CommonModule,
142
+ MatBottomSheetModule,
143
+ TranslateModule
144
+ ], template: "<div class=\"bottom-sheet\">\r\n <div \r\n class=\"header\"\r\n (mousedown)=\"startDrag($event)\" \r\n (touchstart)=\"startDrag($event)\">\r\n <div class=\"handle\"></div>\r\n <i class=\"{{data.headerIconClass}}\" aria-hidden=\"true\"></i>\r\n <h4>{{data.headerTitle | translate}}</h4>\r\n <button \r\n class=\"dismiss-bottom-sheet\" \r\n m-l-auto [id]=\"dismissButtonId\"\r\n aria-label=\"dismiss\">\r\n <i class=\"ph-bold ph-x\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n <div \r\n class=\"content\" #sheetContent \r\n (mousedown)=\"startDrag($event, true)\" \r\n (touchstart)=\"startDrag($event, true)\"\r\n [style.height.px]=\"sheetHeight\">\r\n @if (data.template) {\r\n <ng-container [ngTemplateOutlet]=\"data.template\"/>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20}::ng-deep .mat-bottom-sheet-container{border-top-left-radius:24px!important;border-top-right-radius:24px!important;padding:0!important;box-shadow:none!important;color:#000000de!important;font-family:Poppins,sans-serif!important;letter-spacing:0px!important;overflow-y:hidden!important;max-height:unset!important;width:100%!important;min-width:100%!important;max-width:100%!important}::ng-deep .mat-bottom-sheet-container *{box-sizing:border-box!important}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header{height:56px;border-bottom:1px solid #F5F5F5;display:flex;align-items:center;padding:0 16px 0 24px;gap:16px}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .handle{position:absolute;top:8px;left:calc(50% - 36px);width:72px;height:4px;background-color:#e9e9e9;border-radius:4px}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header i{font-size:20px}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header h4{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet{cursor:pointer;display:flex;align-items:center;justify-content:center;height:40px;width:40px;min-height:40px;min-width:40px;background-color:transparent;border:none;border-radius:50%}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet:hover{background-color:var(--neutral-color-A100-parts)}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet:active{background-color:var(--neutral-color-A200-parts)}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet:focus{outline:3px solid;outline-offset:2px;outline-color:var(--primary-color-300-parts)}::ng-deep .mat-bottom-sheet-container .bottom-sheet .header .dismiss-bottom-sheet i{font-size:20px;pointer-events:none!important}::ng-deep .mat-bottom-sheet-container .bottom-sheet .content{padding:16px;overflow-y:auto;scrollbar-width:thin!important}\n"] }]
145
+ }], propDecorators: { sheetContent: [{
146
+ type: ViewChild,
147
+ args: ['sheetContent', { static: true }]
148
+ }], onResize: [{
149
+ type: HostListener,
150
+ args: ['window:resize']
151
+ }] } });
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mLWJvdHRvbS1zaGVldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2Jhc2UtY29tcG9uZW50cy9zb2YtYm90dG9tLXNoZWV0L3NvZi1ib3R0b20tc2hlZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvc29mLWJvdHRvbS1zaGVldC9zb2YtYm90dG9tLXNoZWV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNsQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUV0RDs7O0VBR0U7QUFhRixNQUFNLE9BQU8sdUJBQXVCO0lBWnBDO1FBaUJFLDBCQUEwQjtRQUNULDRCQUF1QixHQUFXLEVBQUUsQ0FBQztRQUV0RCwyREFBMkQ7UUFDbkQsY0FBUyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFakcsMkRBQTJEO1FBQ25ELGNBQVMsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWpHLDJEQUEy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LFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDMUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDN0UsOENBQThDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDOzhHQWxKVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixnUUNwQ3BDLDQwQkF5QkEsK21rQkRNSSxZQUFZLHFNQUNaLG9CQUFvQiw4QkFDcEIsZUFBZTs7MkZBR04sdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsZUFBZTtxQkFDaEI7OEJBSzRDLFlBQVk7c0JBQXhELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkF5STNDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgXHJcbiAgQWZ0ZXJWaWV3SW5pdCwgXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFxyXG4gIENoYW5nZURldGVjdG9yUmVmLCBcclxuICBDb21wb25lbnQsIFxyXG4gIEVsZW1lbnRSZWYsIFxyXG4gIEhvc3RMaXN0ZW5lciwgXHJcbiAgaW5qZWN0LCBcclxuICBSZW5kZXJlcjIsIFxyXG4gIFRlbXBsYXRlUmVmLCBcclxuICBWaWV3Q2hpbGQgXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFxyXG4gIE1BVF9CT1RUT01fU0hFRVRfREFUQSwgXHJcbiAgTWF0Qm90dG9tU2hlZXRNb2R1bGUsIFxyXG4gIE1hdEJvdHRvbVNoZWV0UmVmIFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuLyoqIFxyXG4gKiBUaGUgbW9iaWxlIGJvdHRvbSBzaGVldCBcclxuICogQG5vdGUgd2hpbGUgZGVzaWduZWQgZm9yIG1vYmlsZS90YWJsZXQgd2lsbCB3b3JrIG9uIGRlc2t0b3AgYXMgd2VsbC5cclxuKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYm90dG9tLXNoZWV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc29mLWJvdHRvbS1zaGVldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3NvZi1ib3R0b20tc2hlZXQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Qm90dG9tU2hlZXRNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUgXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU29mQm90dG9tU2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgYm90dG9tIHNoZWV0cyBjb250ZW50IGVsZW1lbnQgKi9cclxuICBAVmlld0NoaWxkKCdzaGVldENvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzaGVldENvbnRlbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgLyoqIFNoZWV0IGhlYWRlciBoZWlnaHQgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGJvdHRvbVNoZWV0SGVhZGVySGVpZ2h0OiBudW1iZXIgPSA1NjtcclxuXHJcbiAgLyoqIDI1JSBvZiB0aGUgdmlld3BvcnQgaGVpZ2h0LCBtaW51cyB0aGUgaGVhZGVycyBoZWlnaHQgKi8gXHJcbiAgcHJpdmF0ZSBtaW5IZWlnaHQ6IG51bWJlciA9IE1hdGgucm91bmQod2luZG93LmlubmVySGVpZ2h0ICogMC4yNSAtIHRoaXMuYm90dG9tU2hlZXRIZWFkZXJIZWlnaHQpO1xyXG5cclxuICAvKiogOTUlIG9mIHRoZSB2aWV3cG9ydCBoZWlnaHQsIG1pbnVzIHRoZSBoZWFkZXJzIGhlaWdodCAqLyBcclxuICBwcml2YXRlIG1heEhlaWdodDogbnVtYmVyID0gTWF0aC5yb3VuZCh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk1IC0gdGhpcy5ib3R0b21TaGVldEhlYWRlckhlaWdodCk7XHJcblxyXG4gIC8qKiA2MCUgb2YgdGhlIHZpZXdwb3J0IGhlaWdodCwgbWludXMgdGhlIGhlYWRlcnMgaGVpZ2h0ICovIFxyXG4gIHByaXZhdGUgZGVmYXVsdEhlaWdodDogbnVtYmVyID0gTWF0aC5yb3VuZCh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjYgLSB0aGlzLmJvdHRvbVNoZWV0SGVhZGVySGVpZ2h0KTtcclxuXHJcbiAgLyoqIEluaXRpYWwgc2hlZXQgY29udGVudCBoZWlnaHQgKi8gXHJcbiAgcHVibGljIHNoZWV0SGVpZ2h0OiBudW1iZXIgPSB0aGlzLmRlZmF1bHRIZWlnaHQ7XHJcblxyXG4gIC8qKiBBcmVhIHRvbGVyYW5jZSBmb3Igc25hcHBpbmcgdG8gZGVmYXVsdCBoZWlnaHQgKGluIHB4KSAqLyBcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRIZWlnaHRUb2xlcmFuY2U6IG51bWJlciA9IE1hdGgucm91bmQoKHdpbmRvdy5pbm5lckhlaWdodCAvIDQpIC0gKHRoaXMuYm90dG9tU2hlZXRIZWFkZXJIZWlnaHQgKiAyKSk7XHJcblxyXG4gIC8qKiBJcyB0aGUgdXNlciBkcmFnZ2luZyB0aGUgdGFyZ2V0IChoZWFkZXIpICovXHJcbiAgcHJpdmF0ZSBpc0RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBUaGUgc3RhcnRpbmcgWSBheGlzIHBvc2l0aW9uIHdoZW4gZHJhZ2dpbmcgKi9cclxuICBwcml2YXRlIHN0YXJ0WTogbnVtYmVyO1xyXG5cclxuICAvKiogSW5pdGlhbCBoZWlnaHQgd2hlbiBkcmFnIHN0YXJ0ZWQgKi9cclxuICBwcml2YXRlIGluaXRpYWxIZWlnaHQ6IG51bWJlcjtcclxuXHJcbiAgLyoqIElzIHRoZSB1c2VyIGRyYWdnaW5nIHRoZSBib3R0b20gc2hlZXRzIGNvbnRlbnQgZWxlbWVudCAqL1xyXG4gIHByaXZhdGUgaXNDb250ZW50RHJhZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogSUQgZm9yIHRoZSBkaXNtaXNzIGJ1dHRvbiAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBkaXNtaXNzQnV0dG9uSWQ6IHN0cmluZyA9IFwiZGlzbWlzcy1ib3R0b20tc2hlZXRcIjtcclxuXHJcbiAgLyoqIEltcGxlbWVudCBjdXN0b20gcmVuZGVyaW5nICovXHJcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcblxyXG4gIC8qKiBQcm92aWRlIGN1c3RvbSBjaGFuZ2UgZGV0ZWN0aW9uIGZ1bmN0aW9uYWxpdHkgd2hlbiB1c2luZyAnQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoJyAqL1xyXG4gIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gIC8qKiBUaGUgYm90dG9tIHNoZWV0cyBkYXRhICovXHJcbiAgcHVibGljIGRhdGE6IEJvdHRvbVNoZWV0RGF0YSA9IGluamVjdChNQVRfQk9UVE9NX1NIRUVUX0RBVEEpO1xyXG5cclxuICAvKiogVGhlIGJvdHRvbSBzaGVldCByZWZlcmVuY2UgKi9cclxuICBwdWJsaWMgYm90dG9tU2hlZXRSZWY6IE1hdEJvdHRvbVNoZWV0UmVmID0gaW5qZWN0KE1hdEJvdHRvbVNoZWV0UmVmKTtcclxuXHJcbiAgLyoqIEVuc3VyZSB0aGUgYm90dG9tIHNoZWV0IHN0YXJ0cyBhdCB0aGUgZGVmYXVsdCBoZWlnaHQgKDYwJSBvZiB0aGUgdmlld3BvcnQpICovXHJcbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2hlZXRIZWlnaHQgPSB0aGlzLmRlZmF1bHRIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKiogU3RhcnQgdGhlIGRyYWcgb3BlcmF0aW9uIChoYW5kbGVzIGJvdGggbW91c2UgYW5kIHRvdWNoIGV2ZW50cykgKi9cclxuICBwdWJsaWMgc3RhcnREcmFnKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgaXNDb250ZW50RHJhZzogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAoaXNDb250ZW50RHJhZykge1xyXG4gICAgICBjb25zdCBpc0NvbnRlbnRTY3JvbGxlZFRvVG9wOiBib29sZWFuID0gdGhpcy5zaGVldENvbnRlbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IDA7XHJcbiAgICAgIGlmIChpc0NvbnRlbnRTY3JvbGxlZFRvVG9wKSB7XHJcbiAgICAgICAgdGhpcy5pc0NvbnRlbnREcmFnID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XHJcbiAgICB0aGlzLnN0YXJ0WSA9IHRoaXMuZ2V0WVBvc2l0aW9uKGV2ZW50KTtcclxuICAgIHRoaXMuaW5pdGlhbEhlaWdodCA9IHRoaXMuc2hlZXRIZWlnaHQ7XHJcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgIGNvbnN0IG1vdXNlTW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNlbW92ZScsIHRoaXMub25EcmFnKTtcclxuICAgICAgY29uc3QgbW91c2VVcExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNldXAnLCAoKSA9PiB7XHJcbiAgICAgICAgbW91c2VNb3ZlTGlzdGVuZXIoKTtcclxuICAgICAgICBtb3VzZVVwTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLmVuZERyYWcoZXZlbnQpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCB0b3VjaE1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICd0b3VjaG1vdmUnLCB0aGlzLm9uRHJhZyk7XHJcbiAgICAgIGNvbnN0IHRvdWNoRW5kTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2hlbmQnLCAoKSA9PiB7XHJcbiAgICAgICAgdG91Y2hNb3ZlTGlzdGVuZXIoKTtcclxuICAgICAgICB0b3VjaEVuZExpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5lbmREcmFnKGV2ZW50KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogSGFuZGxlIHRoZSBkcmFnIG1vdmVtZW50IGV2ZW50ICovXHJcbiAgcHJpdmF0ZSBvbkRyYWcgPSAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXJyZW50WTogbnVtYmVyID0gdGhpcy5nZXRZUG9zaXRpb24oZXZlbnQpO1xyXG4gICAgY29uc3QgZGVsdGFZOiBudW1iZXIgPSB0aGlzLnN0YXJ0WSAtIGN1cnJlbnRZO1xyXG4gICAgY29uc3QgbmV3SGVpZ2h0OiBudW1iZXIgPSB0aGlzLmluaXRpYWxIZWlnaHQgKyBkZWx0YVk7XHJcbiAgICBpZiAodGhpcy5pc0NvbnRlbnREcmFnICYmIG5ld0hlaWdodCA+IHRoaXMuaW5pdGlhbEhlaWdodCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNoZWV0SGVpZ2h0ID0gbmV3SGVpZ2h0ID4gdGhpcy5tYXhIZWlnaHQgPyB0aGlzLm1heEhlaWdodCA6IG5ld0hlaWdodDtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKiBFbmQgdGhlIGRyYWcgb3BlcmF0aW9uIGFuZCBzbmFwIHRvIHRoZSBuZWFyZXN0IHN0YXRlICovXHJcbiAgcHJpdmF0ZSBlbmREcmFnKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XHJcbiAgICBpZiAoXHJcbiAgICAgIC8vIElmIHRoZSBjbG9zZSBidXR0b24gaXMgdGhlIHRhcmdldCBlbGVtZW50ICYgbm90IGRyYWdnZWQgKG1vdXNlZG93bi91cCAoY2xpY2spIHcvbyBtb3ZpbmcpLCBkaXNtaXNzIHRoZSBib3R0b20gc2hlZXQsXHJcbiAgICAgIGV2ZW50LnRhcmdldFsnaWQnXSA9PT0gdGhpcy5kaXNtaXNzQnV0dG9uSWQgJiYgdGhpcy5zaGVldEhlaWdodCA9PT0gdGhpcy5pbml0aWFsSGVpZ2h0IHx8IFxyXG4gICAgICAvLyBJZiBkcmFnZ2luZyBvbiB0aGUgY29udGVudCAmIGNvbnRlbnQgaXMgc2Nyb2xsZWQgdG8gdGhlIHRvcCAmIGRyYWdnaW5nIGRvd24sIGRpc21pc3MgdGhlIGJvdHRvbSBzaGVldCxcclxuICAgICAgdGhpcy5pc0NvbnRlbnREcmFnICYmICh0aGlzLnNoZWV0SGVpZ2h0ICsgdGhpcy5kZWZhdWx0SGVpZ2h0VG9sZXJhbmNlKSA8IHRoaXMuaW5pdGlhbEhlaWdodCB8fCBcclxuICAgICAgLy8gSWYgZHJhZ2dlZCBiZWxvdyB0aGUgbWluaW11bSB0aHJlc2hvbGQgKDI1JSksIGRpc21pc3MgdGhlIGJvdHRvbSBzaGVldC5cclxuICAgICAgdGhpcy5zaGVldEhlaWdodCA8IHRoaXMubWluSGVpZ2h0XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5ib3R0b21TaGVldFJlZi5kaXNtaXNzKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIElmIHRoZSBjdXJyZW50IGhlaWdodCBpcyB3aXRoaW4gZGVmYXVsdEhlaWdodFRvbGVyYW5jZSBvZiB0aGUgZGVmYXVsdCBoZWlnaHQsIHNuYXAgdG8gZGVmYXVsdC5cclxuICAgIGlmIChNYXRoLnJvdW5kKE1hdGguYWJzKHRoaXMuc2hlZXRIZWlnaHQgLSB0aGlzLmRlZmF1bHRIZWlnaHQpKSA8PSB0aGlzLmRlZmF1bHRIZWlnaHRUb2xlcmFuY2UpIHtcclxuICAgICAgdGhpcy5zaGVldEhlaWdodCA9IHRoaXMuZGVmYXVsdEhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIERldGVybWluZSBzbmFwcGluZyBiYXNlZCBvbiBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbWlkcG9pbnQuXHJcbiAgICAgIGNvbnN0IG1pZFBvaW50OiBudW1iZXIgPSBNYXRoLnJvdW5kKCh0aGlzLm1pbkhlaWdodCArIHRoaXMubWF4SGVpZ2h0KSAvIDIpO1xyXG4gICAgICB0aGlzLnNoZWV0SGVpZ2h0ID0gdGhpcy5zaGVldEhlaWdodCA+IG1pZFBvaW50ID8gdGhpcy5tYXhIZWlnaHQgOiB0aGlzLm1pbkhlaWdodDtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKiBVdGlsaXR5IG1ldGhvZCB0byBleHRyYWN0IHRoZSBZIHBvc2l0aW9uIGZyb20gbW91c2Ugb3IgdG91Y2ggZXZlbnRzICovXHJcbiAgcHJpdmF0ZSBnZXRZUG9zaXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogbnVtYmVyIHtcclxuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcclxuICAgICAgcmV0dXJuIGV2ZW50LmNsaWVudFk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqIFVwZGF0ZSB0aGUgaGVpZ2h0IHZhcmlhYmxlcyBvbiB3aW5kb3cgcmVzaXplICovXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICB0aGlzLm1pbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAqIDAuMjUgLSB0aGlzLmJvdHRvbVNoZWV0SGVhZGVySGVpZ2h0O1xyXG4gICAgdGhpcy5tYXhIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk1IC0gdGhpcy5ib3R0b21TaGVldEhlYWRlckhlaWdodDtcclxuICAgIHRoaXMuZGVmYXVsdEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAqIDAuNiAtIHRoaXMuYm90dG9tU2hlZXRIZWFkZXJIZWlnaHQ7XHJcbiAgICAvLyBFbnN1cmUgdGhlIGN1cnJlbnQgaGVpZ2h0IGlzIHdpdGhpbiBib3VuZHMuXHJcbiAgICB0aGlzLnNoZWV0SGVpZ2h0ID0gTWF0aC5tYXgodGhpcy5taW5IZWlnaHQsIE1hdGgubWluKHRoaXMuc2hlZXRIZWlnaHQsIHRoaXMubWF4SGVpZ2h0KSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiogXHJcbiAqIFRoZSBib3R0b20gc2hlZXQgZGF0YVxyXG4gKiBAbm90ZSBhbGwgcHJvcGVydGllcyBhcmUgcmVxdWlyZWRcclxuKi9cclxuZXhwb3J0IGludGVyZmFjZSBCb3R0b21TaGVldERhdGEge1xyXG4gIGhlYWRlckljb25DbGFzczogc3RyaW5nO1xyXG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJvdHRvbS1zaGVldFwiPlxyXG4gIDxkaXYgXHJcbiAgICBjbGFzcz1cImhlYWRlclwiXHJcbiAgICAobW91c2Vkb3duKT1cInN0YXJ0RHJhZygkZXZlbnQpXCIgXHJcbiAgICAodG91Y2hzdGFydCk9XCJzdGFydERyYWcoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImhhbmRsZVwiPjwvZGl2PlxyXG4gICAgPGkgY2xhc3M9XCJ7e2RhdGEuaGVhZGVySWNvbkNsYXNzfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICA8aDQ+e3tkYXRhLmhlYWRlclRpdGxlIHwgdHJhbnNsYXRlfX08L2g0PlxyXG4gICAgPGJ1dHRvbiBcclxuICAgICAgY2xhc3M9XCJkaXNtaXNzLWJvdHRvbS1zaGVldFwiIFxyXG4gICAgICBtLWwtYXV0byBbaWRdPVwiZGlzbWlzc0J1dHRvbklkXCJcclxuICAgICAgYXJpYS1sYWJlbD1cImRpc21pc3NcIj5cclxuICAgICAgPGkgY2xhc3M9XCJwaC1ib2xkIHBoLXhcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IFxyXG4gICAgY2xhc3M9XCJjb250ZW50XCIgI3NoZWV0Q29udGVudCBcclxuICAgIChtb3VzZWRvd24pPVwic3RhcnREcmFnKCRldmVudCwgdHJ1ZSlcIiBcclxuICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0RHJhZygkZXZlbnQsIHRydWUpXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2hlZXRIZWlnaHRcIj5cclxuICAgIEBpZiAoZGF0YS50ZW1wbGF0ZSkge1xyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGEudGVtcGxhdGVcIi8+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=