cty-mui-angular 1.0.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.
- package/README.md +59 -0
- package/app-initialize.d.ts +3 -0
- package/common/directives/control-value-accessors/index.d.ts +1 -0
- package/common/directives/control-value-accessors/value-accessor.d.ts +36 -0
- package/common/index.d.ts +19 -0
- package/common/providers/audio-recorder.d.ts +7 -0
- package/common/providers/config.d.ts +9 -0
- package/common/providers/device-info.d.ts +7 -0
- package/common/providers/image-picker.d.ts +7 -0
- package/common/providers/keyboard.d.ts +7 -0
- package/common/providers/media-downloader.d.ts +7 -0
- package/common/providers/network.d.ts +7 -0
- package/common/providers/payment.d.ts +7 -0
- package/common/providers/screen-orientation.d.ts +7 -0
- package/common/providers/share.d.ts +7 -0
- package/common/providers/status-bar.d.ts +7 -0
- package/common/providers/utils.d.ts +10 -0
- package/common/providers/video-capture.d.ts +7 -0
- package/common/providers/volume-control.d.ts +7 -0
- package/common/providers/wechat.d.ts +7 -0
- package/common/types/interfaces.d.ts +6 -0
- package/common/utils/overlay.d.ts +21 -0
- package/common/utils/util.d.ts +1 -0
- package/css/core.css +1 -0
- package/css/core.css.map +1 -0
- package/css/cty-mui.bundle.css +1 -0
- package/css/cty-mui.bundle.css.map +1 -0
- package/css/normalize.css +1 -0
- package/css/normalize.css.map +1 -0
- package/css/variables.css +1 -0
- package/css/variables.css.map +1 -0
- package/css/variables.font.css +1 -0
- package/css/variables.font.css.map +1 -0
- package/cty-mui-module.d.ts +11 -0
- package/directives/angular-component-lib/utils.d.ts +9 -0
- package/directives/proxies-list.d.ts +2 -0
- package/directives/proxies.d.ts +612 -0
- package/esm2022/app-initialize.mjs +26 -0
- package/esm2022/common/cty-mui-angular-common.mjs +5 -0
- package/esm2022/common/directives/control-value-accessors/index.mjs +2 -0
- package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +133 -0
- package/esm2022/common/index.mjs +19 -0
- package/esm2022/common/providers/audio-recorder.mjs +17 -0
- package/esm2022/common/providers/config.mjs +30 -0
- package/esm2022/common/providers/device-info.mjs +17 -0
- package/esm2022/common/providers/image-picker.mjs +17 -0
- package/esm2022/common/providers/keyboard.mjs +17 -0
- package/esm2022/common/providers/media-downloader.mjs +17 -0
- package/esm2022/common/providers/network.mjs +17 -0
- package/esm2022/common/providers/payment.mjs +17 -0
- package/esm2022/common/providers/screen-orientation.mjs +17 -0
- package/esm2022/common/providers/share.mjs +17 -0
- package/esm2022/common/providers/status-bar.mjs +17 -0
- package/esm2022/common/providers/utils.mjs +24 -0
- package/esm2022/common/providers/video-capture.mjs +17 -0
- package/esm2022/common/providers/volume-control.mjs +17 -0
- package/esm2022/common/providers/wechat.mjs +17 -0
- package/esm2022/common/types/interfaces.mjs +2 -0
- package/esm2022/common/utils/overlay.mjs +25 -0
- package/esm2022/common/utils/util.mjs +10 -0
- package/esm2022/cty-mui-angular.mjs +5 -0
- package/esm2022/cty-mui-module.mjs +41 -0
- package/esm2022/directives/angular-component-lib/utils.mjs +59 -0
- package/esm2022/directives/proxies-list.mjs +51 -0
- package/esm2022/directives/proxies.mjs +1336 -0
- package/esm2022/index.mjs +19 -0
- package/esm2022/providers/action-sheet-controller.mjs +18 -0
- package/esm2022/providers/alert-controller.mjs +18 -0
- package/esm2022/providers/camera-photo-controller.mjs +18 -0
- package/esm2022/providers/cascader-controller.mjs +18 -0
- package/esm2022/providers/ionic-controller.mjs +81 -0
- package/esm2022/providers/loading-controller.mjs +18 -0
- package/esm2022/providers/overlay-controller.mjs +18 -0
- package/esm2022/providers/record-controller.mjs +18 -0
- package/esm2022/providers/share-sheet-controller.mjs +18 -0
- package/esm2022/providers/tutorial-controller.mjs +18 -0
- package/esm2022/standalone/cty-mui-angular-standalone.mjs +5 -0
- package/esm2022/standalone/directives/agree.mjs +60 -0
- package/esm2022/standalone/directives/angular-component-lib/utils.mjs +59 -0
- package/esm2022/standalone/directives/index.mjs +6 -0
- package/esm2022/standalone/directives/proxies.mjs +1321 -0
- package/esm2022/standalone/directives/rate.mjs +60 -0
- package/esm2022/standalone/directives/segment-slides.mjs +41 -0
- package/esm2022/standalone/directives/stepper.mjs +61 -0
- package/esm2022/standalone/directives/swiper.mjs +41 -0
- package/esm2022/standalone/index.mjs +21 -0
- package/esm2022/standalone/providers/action-sheet-controller.mjs +20 -0
- package/esm2022/standalone/providers/alert-controller.mjs +20 -0
- package/esm2022/standalone/providers/camera-photo-controller.mjs +20 -0
- package/esm2022/standalone/providers/cascader-controller.mjs +20 -0
- package/esm2022/standalone/providers/cty-mui-angular.mjs +23 -0
- package/esm2022/standalone/providers/image-viewer-controller.mjs +20 -0
- package/esm2022/standalone/providers/ionic-controller.mjs +81 -0
- package/esm2022/standalone/providers/loading-controller.mjs +20 -0
- package/esm2022/standalone/providers/overlay-controller.mjs +20 -0
- package/esm2022/standalone/providers/record-controller.mjs +20 -0
- package/esm2022/standalone/providers/share-sheet-controller.mjs +20 -0
- package/esm2022/standalone/providers/tutorial-controller.mjs +20 -0
- package/fesm2022/cty-mui-angular-common.mjs +406 -0
- package/fesm2022/cty-mui-angular-common.mjs.map +1 -0
- package/fesm2022/cty-mui-angular-standalone.mjs +1834 -0
- package/fesm2022/cty-mui-angular-standalone.mjs.map +1 -0
- package/fesm2022/cty-mui-angular.mjs +1671 -0
- package/fesm2022/cty-mui-angular.mjs.map +1 -0
- package/index.d.ts +14 -0
- package/package.json +48 -0
- package/providers/action-sheet-controller.d.ts +8 -0
- package/providers/alert-controller.d.ts +8 -0
- package/providers/camera-photo-controller.d.ts +8 -0
- package/providers/cascader-controller.d.ts +8 -0
- package/providers/ionic-controller.d.ts +16 -0
- package/providers/loading-controller.d.ts +8 -0
- package/providers/overlay-controller.d.ts +8 -0
- package/providers/record-controller.d.ts +8 -0
- package/providers/share-sheet-controller.d.ts +8 -0
- package/providers/tutorial-controller.d.ts +8 -0
- package/standalone/directives/agree.d.ts +19 -0
- package/standalone/directives/angular-component-lib/utils.d.ts +9 -0
- package/standalone/directives/index.d.ts +5 -0
- package/standalone/directives/proxies.d.ts +550 -0
- package/standalone/directives/rate.d.ts +19 -0
- package/standalone/directives/segment-slides.d.ts +17 -0
- package/standalone/directives/stepper.d.ts +29 -0
- package/standalone/directives/swiper.d.ts +18 -0
- package/standalone/index.d.ts +16 -0
- package/standalone/providers/action-sheet-controller.d.ts +8 -0
- package/standalone/providers/alert-controller.d.ts +8 -0
- package/standalone/providers/camera-photo-controller.d.ts +8 -0
- package/standalone/providers/cascader-controller.d.ts +8 -0
- package/standalone/providers/cty-mui-angular.d.ts +3 -0
- package/standalone/providers/image-viewer-controller.d.ts +8 -0
- package/standalone/providers/ionic-controller.d.ts +16 -0
- package/standalone/providers/loading-controller.d.ts +8 -0
- package/standalone/providers/overlay-controller.d.ts +8 -0
- package/standalone/providers/record-controller.d.ts +8 -0
- package/standalone/providers/share-sheet-controller.d.ts +8 -0
- package/standalone/providers/tutorial-controller.d.ts +8 -0
|
@@ -0,0 +1,1336 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* auto-generated angular directive proxies */
|
|
4
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
5
|
+
import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
let CtyActionSheet = class CtyActionSheet {
|
|
8
|
+
z;
|
|
9
|
+
el;
|
|
10
|
+
constructor(c, r, z) {
|
|
11
|
+
this.z = z;
|
|
12
|
+
c.detach();
|
|
13
|
+
this.el = r.nativeElement;
|
|
14
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyTap', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
15
|
+
}
|
|
16
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyActionSheet, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyActionSheet, selector: "cty-action-sheet", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", cancelText: "cancelText", closeIcon: "closeIcon", closeable: "closeable", cssClass: "cssClass", enterAnimation: "enterAnimation", leaveAnimation: "leaveAnimation", options: "options", root: "root", subtitle: "subtitle", title: "title", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
|
+
};
|
|
19
|
+
CtyActionSheet = __decorate([
|
|
20
|
+
ProxyCmp({
|
|
21
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'closeIcon', 'closeable', 'cssClass', 'enterAnimation', 'leaveAnimation', 'options', 'root', 'subtitle', 'title', 'trigger'],
|
|
22
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
23
|
+
})
|
|
24
|
+
], CtyActionSheet);
|
|
25
|
+
export { CtyActionSheet };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyActionSheet, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'cty-action-sheet',
|
|
30
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
|
+
template: '<ng-content></ng-content>',
|
|
32
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
33
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'closeIcon', 'closeable', 'cssClass', 'enterAnimation', 'leaveAnimation', 'options', 'root', 'subtitle', 'title', 'trigger'],
|
|
34
|
+
}]
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
36
|
+
let CtyAgree = class CtyAgree {
|
|
37
|
+
z;
|
|
38
|
+
el;
|
|
39
|
+
constructor(c, r, z) {
|
|
40
|
+
this.z = z;
|
|
41
|
+
c.detach();
|
|
42
|
+
this.el = r.nativeElement;
|
|
43
|
+
proxyOutputs(this, this.el, ['ctyChange']);
|
|
44
|
+
}
|
|
45
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAgree, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyAgree, selector: "cty-agree", inputs: { disabled: "disabled", spinner: "spinner", triggerArea: "triggerArea", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
+
};
|
|
48
|
+
CtyAgree = __decorate([
|
|
49
|
+
ProxyCmp({
|
|
50
|
+
inputs: ['disabled', 'spinner', 'triggerArea', 'value']
|
|
51
|
+
})
|
|
52
|
+
], CtyAgree);
|
|
53
|
+
export { CtyAgree };
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAgree, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{
|
|
57
|
+
selector: 'cty-agree',
|
|
58
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
59
|
+
template: '<ng-content></ng-content>',
|
|
60
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
61
|
+
inputs: ['disabled', 'spinner', 'triggerArea', 'value'],
|
|
62
|
+
}]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
64
|
+
let CtyAlert = class CtyAlert {
|
|
65
|
+
z;
|
|
66
|
+
el;
|
|
67
|
+
constructor(c, r, z) {
|
|
68
|
+
this.z = z;
|
|
69
|
+
c.detach();
|
|
70
|
+
this.el = r.nativeElement;
|
|
71
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyTap', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
72
|
+
}
|
|
73
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyAlert, selector: "cty-alert", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", buttons: "buttons", closeable: "closeable", content: "content", cssClass: "cssClass", enterAnimation: "enterAnimation", img: "img", leaveAnimation: "leaveAnimation", root: "root", title: "title", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
75
|
+
};
|
|
76
|
+
CtyAlert = __decorate([
|
|
77
|
+
ProxyCmp({
|
|
78
|
+
inputs: ['animated', 'backdropDismiss', 'buttons', 'closeable', 'content', 'cssClass', 'enterAnimation', 'img', 'leaveAnimation', 'root', 'title', 'trigger'],
|
|
79
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
80
|
+
})
|
|
81
|
+
], CtyAlert);
|
|
82
|
+
export { CtyAlert };
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAlert, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{
|
|
86
|
+
selector: 'cty-alert',
|
|
87
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
88
|
+
template: '<ng-content></ng-content>',
|
|
89
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
90
|
+
inputs: ['animated', 'backdropDismiss', 'buttons', 'closeable', 'content', 'cssClass', 'enterAnimation', 'img', 'leaveAnimation', 'root', 'title', 'trigger'],
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
93
|
+
let CtyAnswerSheet = class CtyAnswerSheet {
|
|
94
|
+
z;
|
|
95
|
+
el;
|
|
96
|
+
constructor(c, r, z) {
|
|
97
|
+
this.z = z;
|
|
98
|
+
c.detach();
|
|
99
|
+
this.el = r.nativeElement;
|
|
100
|
+
proxyOutputs(this, this.el, ['ctyTap']);
|
|
101
|
+
}
|
|
102
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAnswerSheet, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyAnswerSheet, selector: "cty-answer-sheet", inputs: { answers: "answers", categories: "categories", displayTotal: "displayTotal", distinguish: "distinguish", placement: "placement", props: "props", results: "results", totalText: "totalText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
104
|
+
};
|
|
105
|
+
CtyAnswerSheet = __decorate([
|
|
106
|
+
ProxyCmp({
|
|
107
|
+
inputs: ['answers', 'categories', 'displayTotal', 'distinguish', 'placement', 'props', 'results', 'totalText']
|
|
108
|
+
})
|
|
109
|
+
], CtyAnswerSheet);
|
|
110
|
+
export { CtyAnswerSheet };
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAnswerSheet, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{
|
|
114
|
+
selector: 'cty-answer-sheet',
|
|
115
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
116
|
+
template: '<ng-content></ng-content>',
|
|
117
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
118
|
+
inputs: ['answers', 'categories', 'displayTotal', 'distinguish', 'placement', 'props', 'results', 'totalText'],
|
|
119
|
+
}]
|
|
120
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
121
|
+
let CtyArticleCard = class CtyArticleCard {
|
|
122
|
+
z;
|
|
123
|
+
el;
|
|
124
|
+
constructor(c, r, z) {
|
|
125
|
+
this.z = z;
|
|
126
|
+
c.detach();
|
|
127
|
+
this.el = r.nativeElement;
|
|
128
|
+
}
|
|
129
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyArticleCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyArticleCard, selector: "cty-article-card", inputs: { layout: "layout", thumbnails: "thumbnails", title: "title" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
131
|
+
};
|
|
132
|
+
CtyArticleCard = __decorate([
|
|
133
|
+
ProxyCmp({
|
|
134
|
+
inputs: ['layout', 'thumbnails', 'title']
|
|
135
|
+
})
|
|
136
|
+
], CtyArticleCard);
|
|
137
|
+
export { CtyArticleCard };
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyArticleCard, decorators: [{
|
|
139
|
+
type: Component,
|
|
140
|
+
args: [{
|
|
141
|
+
selector: 'cty-article-card',
|
|
142
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
143
|
+
template: '<ng-content></ng-content>',
|
|
144
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
145
|
+
inputs: ['layout', 'thumbnails', 'title'],
|
|
146
|
+
}]
|
|
147
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
148
|
+
let CtyAudio = class CtyAudio {
|
|
149
|
+
z;
|
|
150
|
+
el;
|
|
151
|
+
constructor(c, r, z) {
|
|
152
|
+
this.z = z;
|
|
153
|
+
c.detach();
|
|
154
|
+
this.el = r.nativeElement;
|
|
155
|
+
proxyOutputs(this, this.el, ['ctyEnd', 'ctyTimeupdate', 'ctyProgress', 'ctyCanplay', 'ctyPlay', 'ctyPause', 'ctyError']);
|
|
156
|
+
}
|
|
157
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAudio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyAudio, selector: "cty-audio", inputs: { allowBackward: "allowBackward", allowForward: "allowForward", autoplay: "autoplay", cycleRate: "cycleRate", initialTime: "initialTime", playCtrl: "playCtrl", rate: "rate", rateVisible: "rateVisible", rates: "rates", trafficMsg: "trafficMsg", unAllowForwardMsg: "unAllowForwardMsg", unAllowRateMsg: "unAllowRateMsg", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
159
|
+
};
|
|
160
|
+
CtyAudio = __decorate([
|
|
161
|
+
ProxyCmp({
|
|
162
|
+
inputs: ['allowBackward', 'allowForward', 'autoplay', 'cycleRate', 'initialTime', 'playCtrl', 'rate', 'rateVisible', 'rates', 'trafficMsg', 'unAllowForwardMsg', 'unAllowRateMsg', 'url'],
|
|
163
|
+
methods: ['switchAudio', 'play', 'pause', 'setPlayRate', 'getAudioElement']
|
|
164
|
+
})
|
|
165
|
+
], CtyAudio);
|
|
166
|
+
export { CtyAudio };
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyAudio, decorators: [{
|
|
168
|
+
type: Component,
|
|
169
|
+
args: [{
|
|
170
|
+
selector: 'cty-audio',
|
|
171
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
172
|
+
template: '<ng-content></ng-content>',
|
|
173
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
174
|
+
inputs: ['allowBackward', 'allowForward', 'autoplay', 'cycleRate', 'initialTime', 'playCtrl', 'rate', 'rateVisible', 'rates', 'trafficMsg', 'unAllowForwardMsg', 'unAllowRateMsg', 'url'],
|
|
175
|
+
}]
|
|
176
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
177
|
+
let CtyBanner = class CtyBanner {
|
|
178
|
+
z;
|
|
179
|
+
el;
|
|
180
|
+
constructor(c, r, z) {
|
|
181
|
+
this.z = z;
|
|
182
|
+
c.detach();
|
|
183
|
+
this.el = r.nativeElement;
|
|
184
|
+
proxyOutputs(this, this.el, ['ctySwipeChange', 'ctySwipeTap']);
|
|
185
|
+
}
|
|
186
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyBanner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
187
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyBanner, selector: "cty-banner", inputs: { autoplay: "autoplay", banners: "banners", duration: "duration", indicator: "indicator", initialIndex: "initialIndex", loop: "loop", props: "props", touchable: "touchable", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
188
|
+
};
|
|
189
|
+
CtyBanner = __decorate([
|
|
190
|
+
ProxyCmp({
|
|
191
|
+
inputs: ['autoplay', 'banners', 'duration', 'indicator', 'initialIndex', 'loop', 'props', 'touchable', 'vertical'],
|
|
192
|
+
methods: ['swipeNext', 'swipePrev', 'swipeTo']
|
|
193
|
+
})
|
|
194
|
+
], CtyBanner);
|
|
195
|
+
export { CtyBanner };
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyBanner, decorators: [{
|
|
197
|
+
type: Component,
|
|
198
|
+
args: [{
|
|
199
|
+
selector: 'cty-banner',
|
|
200
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
201
|
+
template: '<ng-content></ng-content>',
|
|
202
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
203
|
+
inputs: ['autoplay', 'banners', 'duration', 'indicator', 'initialIndex', 'loop', 'props', 'touchable', 'vertical'],
|
|
204
|
+
}]
|
|
205
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
206
|
+
let CtyCameraPhoto = class CtyCameraPhoto {
|
|
207
|
+
z;
|
|
208
|
+
el;
|
|
209
|
+
constructor(c, r, z) {
|
|
210
|
+
this.z = z;
|
|
211
|
+
c.detach();
|
|
212
|
+
this.el = r.nativeElement;
|
|
213
|
+
proxyOutputs(this, this.el, ['ctyTapStart', 'ctyTap', 'ctyDismiss', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
214
|
+
}
|
|
215
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCameraPhoto, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCameraPhoto, selector: "cty-camera-photo", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", cancelText: "cancelText", clipCancelText: "clipCancelText", clipCconfirmText: "clipCconfirmText", clipImageBg: "clipImageBg", clipImageQuality: "clipImageQuality", clipImageSuffix: "clipImageSuffix", clipImageWidth: "clipImageWidth", clipMaxScale: "clipMaxScale", clipMinScale: "clipMinScale", clipPt: "clipPt", closeIcon: "closeIcon", closeable: "closeable", count: "count", cssClass: "cssClass", enterAnimation: "enterAnimation", file: "file", leaveAnimation: "leaveAnimation", options: "options", overlay: "overlay", permissionPurpose: "permissionPurpose", photoOption: "photoOption", root: "root", title: "title", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
217
|
+
};
|
|
218
|
+
CtyCameraPhoto = __decorate([
|
|
219
|
+
ProxyCmp({
|
|
220
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'clipCancelText', 'clipCconfirmText', 'clipImageBg', 'clipImageQuality', 'clipImageSuffix', 'clipImageWidth', 'clipMaxScale', 'clipMinScale', 'clipPt', 'closeIcon', 'closeable', 'count', 'cssClass', 'enterAnimation', 'file', 'leaveAnimation', 'options', 'overlay', 'permissionPurpose', 'photoOption', 'root', 'title', 'trigger'],
|
|
221
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
222
|
+
})
|
|
223
|
+
], CtyCameraPhoto);
|
|
224
|
+
export { CtyCameraPhoto };
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCameraPhoto, decorators: [{
|
|
226
|
+
type: Component,
|
|
227
|
+
args: [{
|
|
228
|
+
selector: 'cty-camera-photo',
|
|
229
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
230
|
+
template: '<ng-content></ng-content>',
|
|
231
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
232
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'clipCancelText', 'clipCconfirmText', 'clipImageBg', 'clipImageQuality', 'clipImageSuffix', 'clipImageWidth', 'clipMaxScale', 'clipMinScale', 'clipPt', 'closeIcon', 'closeable', 'count', 'cssClass', 'enterAnimation', 'file', 'leaveAnimation', 'options', 'overlay', 'permissionPurpose', 'photoOption', 'root', 'title', 'trigger'],
|
|
233
|
+
}]
|
|
234
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
235
|
+
let CtyCanvasBoard = class CtyCanvasBoard {
|
|
236
|
+
z;
|
|
237
|
+
el;
|
|
238
|
+
constructor(c, r, z) {
|
|
239
|
+
this.z = z;
|
|
240
|
+
c.detach();
|
|
241
|
+
this.el = r.nativeElement;
|
|
242
|
+
proxyOutputs(this, this.el, ['ctyClear', 'ctyStart', 'ctyMove', 'ctyEnd', 'ctyConfirm']);
|
|
243
|
+
}
|
|
244
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCanvasBoard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
245
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCanvasBoard, selector: "cty-canvas-board", inputs: { bgColor: "bgColor", bgIcon: "bgIcon", clearIcon: "clearIcon", clearLabel: "clearLabel", confirmLabel: "confirmLabel", dpr: "dpr", eraserIcon: "eraserIcon", footerOpn: "footerOpn", headerOpn: "headerOpn", lineCap: "lineCap", lineWidths: "lineWidths", pencilIcon: "pencilIcon", quality: "quality", redoIcon: "redoIcon", showButtons: "showButtons", strokeColor: "strokeColor", strokeWidth: "strokeWidth", suffix: "suffix", undoIcon: "undoIcon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
246
|
+
};
|
|
247
|
+
CtyCanvasBoard = __decorate([
|
|
248
|
+
ProxyCmp({
|
|
249
|
+
inputs: ['bgColor', 'bgIcon', 'clearIcon', 'clearLabel', 'confirmLabel', 'dpr', 'eraserIcon', 'footerOpn', 'headerOpn', 'lineCap', 'lineWidths', 'pencilIcon', 'quality', 'redoIcon', 'showButtons', 'strokeColor', 'strokeWidth', 'suffix', 'undoIcon'],
|
|
250
|
+
methods: ['undo', 'redo', 'clear', 'getDataURL']
|
|
251
|
+
})
|
|
252
|
+
], CtyCanvasBoard);
|
|
253
|
+
export { CtyCanvasBoard };
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCanvasBoard, decorators: [{
|
|
255
|
+
type: Component,
|
|
256
|
+
args: [{
|
|
257
|
+
selector: 'cty-canvas-board',
|
|
258
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
259
|
+
template: '<ng-content></ng-content>',
|
|
260
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
261
|
+
inputs: ['bgColor', 'bgIcon', 'clearIcon', 'clearLabel', 'confirmLabel', 'dpr', 'eraserIcon', 'footerOpn', 'headerOpn', 'lineCap', 'lineWidths', 'pencilIcon', 'quality', 'redoIcon', 'showButtons', 'strokeColor', 'strokeWidth', 'suffix', 'undoIcon'],
|
|
262
|
+
}]
|
|
263
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
264
|
+
let CtyCanvasVideo = class CtyCanvasVideo {
|
|
265
|
+
z;
|
|
266
|
+
el;
|
|
267
|
+
constructor(c, r, z) {
|
|
268
|
+
this.z = z;
|
|
269
|
+
c.detach();
|
|
270
|
+
this.el = r.nativeElement;
|
|
271
|
+
proxyOutputs(this, this.el, ['ctySlideChange', 'ctySlidePrev', 'ctySlideNext', 'ctyLongPress', 'ctyVideoUpdate', 'ctyVideoEnd', 'ctyTapName', 'ctyTapAvatar', 'ctyTapLike', 'ctyTapCollect', 'ctyTapShare']);
|
|
272
|
+
}
|
|
273
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCanvasVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
274
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCanvasVideo, selector: "cty-canvas-video", inputs: { autoplay: "autoplay", avatarButton: "avatarButton", next: "next", preload: "preload", props: "props", slice: "slice", videos: "videos" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
275
|
+
};
|
|
276
|
+
CtyCanvasVideo = __decorate([
|
|
277
|
+
ProxyCmp({
|
|
278
|
+
inputs: ['autoplay', 'avatarButton', 'next', 'preload', 'props', 'slice', 'videos'],
|
|
279
|
+
methods: ['slideToPrev', 'slideToNext']
|
|
280
|
+
})
|
|
281
|
+
], CtyCanvasVideo);
|
|
282
|
+
export { CtyCanvasVideo };
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCanvasVideo, decorators: [{
|
|
284
|
+
type: Component,
|
|
285
|
+
args: [{
|
|
286
|
+
selector: 'cty-canvas-video',
|
|
287
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
288
|
+
template: '<ng-content></ng-content>',
|
|
289
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
290
|
+
inputs: ['autoplay', 'avatarButton', 'next', 'preload', 'props', 'slice', 'videos'],
|
|
291
|
+
}]
|
|
292
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
293
|
+
let CtyCascader = class CtyCascader {
|
|
294
|
+
z;
|
|
295
|
+
el;
|
|
296
|
+
constructor(c, r, z) {
|
|
297
|
+
this.z = z;
|
|
298
|
+
c.detach();
|
|
299
|
+
this.el = r.nativeElement;
|
|
300
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyChange', 'ctyComfirm', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
301
|
+
}
|
|
302
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCascader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
303
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCascader, selector: "cty-cascader", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", cancelText: "cancelText", cascade: "cascade", childrenKey: "childrenKey", columns: "columns", columnsCount: "columnsCount", confirmText: "confirmText", cssClass: "cssClass", defaultValues: "defaultValues", enterAnimation: "enterAnimation", leaveAnimation: "leaveAnimation", optionCount: "optionCount", optionHeight: "optionHeight", root: "root", textKey: "textKey", title: "title", trigger: "trigger", type: "type", valueKey: "valueKey" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
304
|
+
};
|
|
305
|
+
CtyCascader = __decorate([
|
|
306
|
+
ProxyCmp({
|
|
307
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'cascade', 'childrenKey', 'columns', 'columnsCount', 'confirmText', 'cssClass', 'defaultValues', 'enterAnimation', 'leaveAnimation', 'optionCount', 'optionHeight', 'root', 'textKey', 'title', 'trigger', 'type', 'valueKey'],
|
|
308
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
309
|
+
})
|
|
310
|
+
], CtyCascader);
|
|
311
|
+
export { CtyCascader };
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCascader, decorators: [{
|
|
313
|
+
type: Component,
|
|
314
|
+
args: [{
|
|
315
|
+
selector: 'cty-cascader',
|
|
316
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
317
|
+
template: '<ng-content></ng-content>',
|
|
318
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
319
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'cascade', 'childrenKey', 'columns', 'columnsCount', 'confirmText', 'cssClass', 'defaultValues', 'enterAnimation', 'leaveAnimation', 'optionCount', 'optionHeight', 'root', 'textKey', 'title', 'trigger', 'type', 'valueKey'],
|
|
320
|
+
}]
|
|
321
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
322
|
+
let CtyCircle = class CtyCircle {
|
|
323
|
+
z;
|
|
324
|
+
el;
|
|
325
|
+
constructor(c, r, z) {
|
|
326
|
+
this.z = z;
|
|
327
|
+
c.detach();
|
|
328
|
+
this.el = r.nativeElement;
|
|
329
|
+
}
|
|
330
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCircle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
331
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCircle, selector: "cty-circle", inputs: { clockwise: "clockwise", color: "color", rad: "rad", rate: "rate", text: "text", width: "width", zeroTransparent: "zeroTransparent" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
332
|
+
};
|
|
333
|
+
CtyCircle = __decorate([
|
|
334
|
+
ProxyCmp({
|
|
335
|
+
inputs: ['clockwise', 'color', 'rad', 'rate', 'text', 'width', 'zeroTransparent']
|
|
336
|
+
})
|
|
337
|
+
], CtyCircle);
|
|
338
|
+
export { CtyCircle };
|
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCircle, decorators: [{
|
|
340
|
+
type: Component,
|
|
341
|
+
args: [{
|
|
342
|
+
selector: 'cty-circle',
|
|
343
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
344
|
+
template: '<ng-content></ng-content>',
|
|
345
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
346
|
+
inputs: ['clockwise', 'color', 'rad', 'rate', 'text', 'width', 'zeroTransparent'],
|
|
347
|
+
}]
|
|
348
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
349
|
+
let CtyCountDown = class CtyCountDown {
|
|
350
|
+
z;
|
|
351
|
+
el;
|
|
352
|
+
constructor(c, r, z) {
|
|
353
|
+
this.z = z;
|
|
354
|
+
c.detach();
|
|
355
|
+
this.el = r.nativeElement;
|
|
356
|
+
proxyOutputs(this, this.el, ['ctyChange', 'ctyFinish']);
|
|
357
|
+
}
|
|
358
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCountDown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
359
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCountDown, selector: "cty-count-down", inputs: { autoStart: "autoStart", dateFormatUnit: "dateFormatUnit", format: "format", millisecond: "millisecond", time: "time", unit: "unit" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
360
|
+
};
|
|
361
|
+
CtyCountDown = __decorate([
|
|
362
|
+
ProxyCmp({
|
|
363
|
+
inputs: ['autoStart', 'dateFormatUnit', 'format', 'millisecond', 'time', 'unit'],
|
|
364
|
+
methods: ['start', 'reset', 'pause']
|
|
365
|
+
})
|
|
366
|
+
], CtyCountDown);
|
|
367
|
+
export { CtyCountDown };
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCountDown, decorators: [{
|
|
369
|
+
type: Component,
|
|
370
|
+
args: [{
|
|
371
|
+
selector: 'cty-count-down',
|
|
372
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
373
|
+
template: '<ng-content></ng-content>',
|
|
374
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
375
|
+
inputs: ['autoStart', 'dateFormatUnit', 'format', 'millisecond', 'time', 'unit'],
|
|
376
|
+
}]
|
|
377
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
378
|
+
let CtyCropImage = class CtyCropImage {
|
|
379
|
+
z;
|
|
380
|
+
el;
|
|
381
|
+
constructor(c, r, z) {
|
|
382
|
+
this.z = z;
|
|
383
|
+
c.detach();
|
|
384
|
+
this.el = r.nativeElement;
|
|
385
|
+
proxyOutputs(this, this.el, ['ctyCancel', 'ctyConfirm']);
|
|
386
|
+
}
|
|
387
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCropImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
388
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyCropImage, selector: "cty-crop-image", inputs: { cancelText: "cancelText", confirmText: "confirmText", imageBackground: "imageBackground", imageWidth: "imageWidth", maxScale: "maxScale", minScale: "minScale", quality: "quality", suffix: "suffix", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
389
|
+
};
|
|
390
|
+
CtyCropImage = __decorate([
|
|
391
|
+
ProxyCmp({
|
|
392
|
+
inputs: ['cancelText', 'confirmText', 'imageBackground', 'imageWidth', 'maxScale', 'minScale', 'quality', 'suffix', 'url'],
|
|
393
|
+
methods: ['getCanvasImg']
|
|
394
|
+
})
|
|
395
|
+
], CtyCropImage);
|
|
396
|
+
export { CtyCropImage };
|
|
397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyCropImage, decorators: [{
|
|
398
|
+
type: Component,
|
|
399
|
+
args: [{
|
|
400
|
+
selector: 'cty-crop-image',
|
|
401
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
402
|
+
template: '<ng-content></ng-content>',
|
|
403
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
404
|
+
inputs: ['cancelText', 'confirmText', 'imageBackground', 'imageWidth', 'maxScale', 'minScale', 'quality', 'suffix', 'url'],
|
|
405
|
+
}]
|
|
406
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
407
|
+
let CtyDivider = class CtyDivider {
|
|
408
|
+
z;
|
|
409
|
+
el;
|
|
410
|
+
constructor(c, r, z) {
|
|
411
|
+
this.z = z;
|
|
412
|
+
c.detach();
|
|
413
|
+
this.el = r.nativeElement;
|
|
414
|
+
}
|
|
415
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
416
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyDivider, selector: "cty-divider", inputs: { placement: "placement", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
417
|
+
};
|
|
418
|
+
CtyDivider = __decorate([
|
|
419
|
+
ProxyCmp({
|
|
420
|
+
inputs: ['placement', 'vertical']
|
|
421
|
+
})
|
|
422
|
+
], CtyDivider);
|
|
423
|
+
export { CtyDivider };
|
|
424
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyDivider, decorators: [{
|
|
425
|
+
type: Component,
|
|
426
|
+
args: [{
|
|
427
|
+
selector: 'cty-divider',
|
|
428
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
429
|
+
template: '<ng-content></ng-content>',
|
|
430
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
431
|
+
inputs: ['placement', 'vertical'],
|
|
432
|
+
}]
|
|
433
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
434
|
+
let CtyEmpty = class CtyEmpty {
|
|
435
|
+
z;
|
|
436
|
+
el;
|
|
437
|
+
constructor(c, r, z) {
|
|
438
|
+
this.z = z;
|
|
439
|
+
c.detach();
|
|
440
|
+
this.el = r.nativeElement;
|
|
441
|
+
}
|
|
442
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyEmpty, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
443
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyEmpty, selector: "cty-empty", inputs: { description: "description", image: "image" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
444
|
+
};
|
|
445
|
+
CtyEmpty = __decorate([
|
|
446
|
+
ProxyCmp({
|
|
447
|
+
inputs: ['description', 'image']
|
|
448
|
+
})
|
|
449
|
+
], CtyEmpty);
|
|
450
|
+
export { CtyEmpty };
|
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyEmpty, decorators: [{
|
|
452
|
+
type: Component,
|
|
453
|
+
args: [{
|
|
454
|
+
selector: 'cty-empty',
|
|
455
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
456
|
+
template: '<ng-content></ng-content>',
|
|
457
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
458
|
+
inputs: ['description', 'image'],
|
|
459
|
+
}]
|
|
460
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
461
|
+
let CtyFloatingBubble = class CtyFloatingBubble {
|
|
462
|
+
z;
|
|
463
|
+
el;
|
|
464
|
+
constructor(c, r, z) {
|
|
465
|
+
this.z = z;
|
|
466
|
+
c.detach();
|
|
467
|
+
this.el = r.nativeElement;
|
|
468
|
+
proxyOutputs(this, this.el, ['ctyMoveStart', 'ctyMove', 'ctyMoveEnd', 'ctyClick']);
|
|
469
|
+
}
|
|
470
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyFloatingBubble, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
471
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyFloatingBubble, selector: "cty-floating-bubble", inputs: { axis: "axis", gap: "gap", icon: "icon", magnetic: "magnetic", offset: "offset" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
472
|
+
};
|
|
473
|
+
CtyFloatingBubble = __decorate([
|
|
474
|
+
ProxyCmp({
|
|
475
|
+
inputs: ['axis', 'gap', 'icon', 'magnetic', 'offset']
|
|
476
|
+
})
|
|
477
|
+
], CtyFloatingBubble);
|
|
478
|
+
export { CtyFloatingBubble };
|
|
479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyFloatingBubble, decorators: [{
|
|
480
|
+
type: Component,
|
|
481
|
+
args: [{
|
|
482
|
+
selector: 'cty-floating-bubble',
|
|
483
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
484
|
+
template: '<ng-content></ng-content>',
|
|
485
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
486
|
+
inputs: ['axis', 'gap', 'icon', 'magnetic', 'offset'],
|
|
487
|
+
}]
|
|
488
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
489
|
+
let CtyFloatingPanel = class CtyFloatingPanel {
|
|
490
|
+
z;
|
|
491
|
+
el;
|
|
492
|
+
constructor(c, r, z) {
|
|
493
|
+
this.z = z;
|
|
494
|
+
c.detach();
|
|
495
|
+
this.el = r.nativeElement;
|
|
496
|
+
proxyOutputs(this, this.el, ['ctyHeightChange']);
|
|
497
|
+
}
|
|
498
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyFloatingPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
499
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyFloatingPanel, selector: "cty-floating-panel", inputs: { anchors: "anchors", contentDraggable: "contentDraggable", damp: "damp", endAnchor: "endAnchor", icon: "icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
500
|
+
};
|
|
501
|
+
CtyFloatingPanel = __decorate([
|
|
502
|
+
ProxyCmp({
|
|
503
|
+
inputs: ['anchors', 'contentDraggable', 'damp', 'endAnchor', 'icon']
|
|
504
|
+
})
|
|
505
|
+
], CtyFloatingPanel);
|
|
506
|
+
export { CtyFloatingPanel };
|
|
507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyFloatingPanel, decorators: [{
|
|
508
|
+
type: Component,
|
|
509
|
+
args: [{
|
|
510
|
+
selector: 'cty-floating-panel',
|
|
511
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
512
|
+
template: '<ng-content></ng-content>',
|
|
513
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
514
|
+
inputs: ['anchors', 'contentDraggable', 'damp', 'endAnchor', 'icon'],
|
|
515
|
+
}]
|
|
516
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
517
|
+
let CtyIcon = class CtyIcon {
|
|
518
|
+
z;
|
|
519
|
+
el;
|
|
520
|
+
constructor(c, r, z) {
|
|
521
|
+
this.z = z;
|
|
522
|
+
c.detach();
|
|
523
|
+
this.el = r.nativeElement;
|
|
524
|
+
}
|
|
525
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
526
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyIcon, selector: "cty-icon", inputs: { color: "color", flipRtl: "flipRtl", lazy: "lazy", name: "name", sanitize: "sanitize", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
527
|
+
};
|
|
528
|
+
CtyIcon = __decorate([
|
|
529
|
+
ProxyCmp({
|
|
530
|
+
inputs: ['color', 'flipRtl', 'lazy', 'name', 'sanitize', 'size']
|
|
531
|
+
})
|
|
532
|
+
], CtyIcon);
|
|
533
|
+
export { CtyIcon };
|
|
534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyIcon, decorators: [{
|
|
535
|
+
type: Component,
|
|
536
|
+
args: [{
|
|
537
|
+
selector: 'cty-icon',
|
|
538
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
539
|
+
template: '<ng-content></ng-content>',
|
|
540
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
541
|
+
inputs: ['color', 'flipRtl', 'lazy', 'name', 'sanitize', 'size'],
|
|
542
|
+
}]
|
|
543
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
544
|
+
let CtyImageUpload = class CtyImageUpload {
|
|
545
|
+
z;
|
|
546
|
+
el;
|
|
547
|
+
constructor(c, r, z) {
|
|
548
|
+
this.z = z;
|
|
549
|
+
c.detach();
|
|
550
|
+
this.el = r.nativeElement;
|
|
551
|
+
proxyOutputs(this, this.el, ['ctyImagePicker', 'ctyAddImageTap', 'ctyImageTap', 'ctyDeleteImage', 'ctImageViewerDismiss']);
|
|
552
|
+
}
|
|
553
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyImageUpload, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
554
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyImageUpload, selector: "cty-image-upload", inputs: { addIcon: "addIcon", addImage: "addImage", cameraPhotoOptions: "cameraPhotoOptions", count: "count", deleteable: "deleteable", imageViewer: "imageViewer", imageViewerOptions: "imageViewerOptions", images: "images" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
555
|
+
};
|
|
556
|
+
CtyImageUpload = __decorate([
|
|
557
|
+
ProxyCmp({
|
|
558
|
+
inputs: ['addIcon', 'addImage', 'cameraPhotoOptions', 'count', 'deleteable', 'imageViewer', 'imageViewerOptions', 'images']
|
|
559
|
+
})
|
|
560
|
+
], CtyImageUpload);
|
|
561
|
+
export { CtyImageUpload };
|
|
562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyImageUpload, decorators: [{
|
|
563
|
+
type: Component,
|
|
564
|
+
args: [{
|
|
565
|
+
selector: 'cty-image-upload',
|
|
566
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
567
|
+
template: '<ng-content></ng-content>',
|
|
568
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
569
|
+
inputs: ['addIcon', 'addImage', 'cameraPhotoOptions', 'count', 'deleteable', 'imageViewer', 'imageViewerOptions', 'images'],
|
|
570
|
+
}]
|
|
571
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
572
|
+
let CtyImageViewer = class CtyImageViewer {
|
|
573
|
+
z;
|
|
574
|
+
el;
|
|
575
|
+
constructor(c, r, z) {
|
|
576
|
+
this.z = z;
|
|
577
|
+
c.detach();
|
|
578
|
+
this.el = r.nativeElement;
|
|
579
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctySlideChange', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
580
|
+
}
|
|
581
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyImageViewer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
582
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyImageViewer, selector: "cty-image-viewer", inputs: { animated: "animated", attrs: "attrs", backdropDismiss: "backdropDismiss", closeable: "closeable", cssClass: "cssClass", enterAnimation: "enterAnimation", images: "images", initialSlide: "initialSlide", leaveAnimation: "leaveAnimation", loop: "loop", pager: "pager", root: "root", speed: "speed", trigger: "trigger", zoom: "zoom" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
583
|
+
};
|
|
584
|
+
CtyImageViewer = __decorate([
|
|
585
|
+
ProxyCmp({
|
|
586
|
+
inputs: ['animated', 'attrs', 'backdropDismiss', 'closeable', 'cssClass', 'enterAnimation', 'images', 'initialSlide', 'leaveAnimation', 'loop', 'pager', 'root', 'speed', 'trigger', 'zoom'],
|
|
587
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss', 'slideTo']
|
|
588
|
+
})
|
|
589
|
+
], CtyImageViewer);
|
|
590
|
+
export { CtyImageViewer };
|
|
591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyImageViewer, decorators: [{
|
|
592
|
+
type: Component,
|
|
593
|
+
args: [{
|
|
594
|
+
selector: 'cty-image-viewer',
|
|
595
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
596
|
+
template: '<ng-content></ng-content>',
|
|
597
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
598
|
+
inputs: ['animated', 'attrs', 'backdropDismiss', 'closeable', 'cssClass', 'enterAnimation', 'images', 'initialSlide', 'leaveAnimation', 'loop', 'pager', 'root', 'speed', 'trigger', 'zoom'],
|
|
599
|
+
}]
|
|
600
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
601
|
+
let CtyIndexBar = class CtyIndexBar {
|
|
602
|
+
z;
|
|
603
|
+
el;
|
|
604
|
+
constructor(c, r, z) {
|
|
605
|
+
this.z = z;
|
|
606
|
+
c.detach();
|
|
607
|
+
this.el = r.nativeElement;
|
|
608
|
+
proxyOutputs(this, this.el, ['ctyScrollToPoint']);
|
|
609
|
+
}
|
|
610
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyIndexBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
611
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyIndexBar, selector: "cty-index-bar", inputs: { alphabet: "alphabet", alphabets: "alphabets", duration: "duration", indexList: "indexList", offsetDiff: "offsetDiff", sticky: "sticky", stickyTop: "stickyTop", sum: "sum" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
612
|
+
};
|
|
613
|
+
CtyIndexBar = __decorate([
|
|
614
|
+
ProxyCmp({
|
|
615
|
+
inputs: ['alphabet', 'alphabets', 'duration', 'indexList', 'offsetDiff', 'sticky', 'stickyTop', 'sum'],
|
|
616
|
+
methods: ['scrollToIndex']
|
|
617
|
+
})
|
|
618
|
+
], CtyIndexBar);
|
|
619
|
+
export { CtyIndexBar };
|
|
620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyIndexBar, decorators: [{
|
|
621
|
+
type: Component,
|
|
622
|
+
args: [{
|
|
623
|
+
selector: 'cty-index-bar',
|
|
624
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
625
|
+
template: '<ng-content></ng-content>',
|
|
626
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
627
|
+
inputs: ['alphabet', 'alphabets', 'duration', 'indexList', 'offsetDiff', 'sticky', 'stickyTop', 'sum'],
|
|
628
|
+
}]
|
|
629
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
630
|
+
let CtyKeyboard = class CtyKeyboard {
|
|
631
|
+
z;
|
|
632
|
+
el;
|
|
633
|
+
constructor(c, r, z) {
|
|
634
|
+
this.z = z;
|
|
635
|
+
c.detach();
|
|
636
|
+
this.el = r.nativeElement;
|
|
637
|
+
}
|
|
638
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyKeyboard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
639
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyKeyboard, selector: "cty-keyboard", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
640
|
+
};
|
|
641
|
+
CtyKeyboard = __decorate([
|
|
642
|
+
ProxyCmp({})
|
|
643
|
+
], CtyKeyboard);
|
|
644
|
+
export { CtyKeyboard };
|
|
645
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyKeyboard, decorators: [{
|
|
646
|
+
type: Component,
|
|
647
|
+
args: [{
|
|
648
|
+
selector: 'cty-keyboard',
|
|
649
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
650
|
+
template: '<ng-content></ng-content>',
|
|
651
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
652
|
+
inputs: [],
|
|
653
|
+
}]
|
|
654
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
655
|
+
let CtyLoading = class CtyLoading {
|
|
656
|
+
z;
|
|
657
|
+
el;
|
|
658
|
+
constructor(c, r, z) {
|
|
659
|
+
this.z = z;
|
|
660
|
+
c.detach();
|
|
661
|
+
this.el = r.nativeElement;
|
|
662
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
663
|
+
}
|
|
664
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyLoading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
665
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyLoading, selector: "cty-loading", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", cssClass: "cssClass", enterAnimation: "enterAnimation", img: "img", leaveAnimation: "leaveAnimation", root: "root", spinner: "spinner", trigger: "trigger", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
666
|
+
};
|
|
667
|
+
CtyLoading = __decorate([
|
|
668
|
+
ProxyCmp({
|
|
669
|
+
inputs: ['animated', 'backdropDismiss', 'cssClass', 'enterAnimation', 'img', 'leaveAnimation', 'root', 'spinner', 'trigger', 'vertical'],
|
|
670
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
671
|
+
})
|
|
672
|
+
], CtyLoading);
|
|
673
|
+
export { CtyLoading };
|
|
674
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyLoading, decorators: [{
|
|
675
|
+
type: Component,
|
|
676
|
+
args: [{
|
|
677
|
+
selector: 'cty-loading',
|
|
678
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
679
|
+
template: '<ng-content></ng-content>',
|
|
680
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
681
|
+
inputs: ['animated', 'backdropDismiss', 'cssClass', 'enterAnimation', 'img', 'leaveAnimation', 'root', 'spinner', 'trigger', 'vertical'],
|
|
682
|
+
}]
|
|
683
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
684
|
+
let CtyMediaCapture = class CtyMediaCapture {
|
|
685
|
+
z;
|
|
686
|
+
el;
|
|
687
|
+
constructor(c, r, z) {
|
|
688
|
+
this.z = z;
|
|
689
|
+
c.detach();
|
|
690
|
+
this.el = r.nativeElement;
|
|
691
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyComplete', 'ctyStart', 'ctyStop']);
|
|
692
|
+
}
|
|
693
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyMediaCapture, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
694
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyMediaCapture, selector: "cty-media-capture", inputs: { autoplay: "autoplay", captureTime: "captureTime", closeIcon: "closeIcon", confirmText: "confirmText", controls: "controls", loop: "loop", options: "options", poster: "poster", revocationIcon: "revocationIcon", timeLimit: "timeLimit" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
695
|
+
};
|
|
696
|
+
CtyMediaCapture = __decorate([
|
|
697
|
+
ProxyCmp({
|
|
698
|
+
inputs: ['autoplay', 'captureTime', 'closeIcon', 'confirmText', 'controls', 'loop', 'options', 'poster', 'revocationIcon', 'timeLimit'],
|
|
699
|
+
methods: ['startVideoCapture', 'stopVideoCapture']
|
|
700
|
+
})
|
|
701
|
+
], CtyMediaCapture);
|
|
702
|
+
export { CtyMediaCapture };
|
|
703
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyMediaCapture, decorators: [{
|
|
704
|
+
type: Component,
|
|
705
|
+
args: [{
|
|
706
|
+
selector: 'cty-media-capture',
|
|
707
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
708
|
+
template: '<ng-content></ng-content>',
|
|
709
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
710
|
+
inputs: ['autoplay', 'captureTime', 'closeIcon', 'confirmText', 'controls', 'loop', 'options', 'poster', 'revocationIcon', 'timeLimit'],
|
|
711
|
+
}]
|
|
712
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
713
|
+
let CtyNavBar = class CtyNavBar {
|
|
714
|
+
z;
|
|
715
|
+
el;
|
|
716
|
+
constructor(c, r, z) {
|
|
717
|
+
this.z = z;
|
|
718
|
+
c.detach();
|
|
719
|
+
this.el = r.nativeElement;
|
|
720
|
+
proxyOutputs(this, this.el, ['ctyDismiss']);
|
|
721
|
+
}
|
|
722
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyNavBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
723
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyNavBar, selector: "cty-nav-bar", inputs: { arrow: "arrow", end: "end", start: "start", title: "title", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
724
|
+
};
|
|
725
|
+
CtyNavBar = __decorate([
|
|
726
|
+
ProxyCmp({
|
|
727
|
+
inputs: ['arrow', 'end', 'start', 'title', 'type']
|
|
728
|
+
})
|
|
729
|
+
], CtyNavBar);
|
|
730
|
+
export { CtyNavBar };
|
|
731
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyNavBar, decorators: [{
|
|
732
|
+
type: Component,
|
|
733
|
+
args: [{
|
|
734
|
+
selector: 'cty-nav-bar',
|
|
735
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
736
|
+
template: '<ng-content></ng-content>',
|
|
737
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
738
|
+
inputs: ['arrow', 'end', 'start', 'title', 'type'],
|
|
739
|
+
}]
|
|
740
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
741
|
+
let CtyNoticeBar = class CtyNoticeBar {
|
|
742
|
+
z;
|
|
743
|
+
el;
|
|
744
|
+
constructor(c, r, z) {
|
|
745
|
+
this.z = z;
|
|
746
|
+
c.detach();
|
|
747
|
+
this.el = r.nativeElement;
|
|
748
|
+
proxyOutputs(this, this.el, ['ctyIconTap']);
|
|
749
|
+
}
|
|
750
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyNoticeBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
751
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyNoticeBar, selector: "cty-notice-bar", inputs: { endIcon: "endIcon", scrollable: "scrollable", speed: "speed", startIcon: "startIcon", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
752
|
+
};
|
|
753
|
+
CtyNoticeBar = __decorate([
|
|
754
|
+
ProxyCmp({
|
|
755
|
+
inputs: ['endIcon', 'scrollable', 'speed', 'startIcon', 'text']
|
|
756
|
+
})
|
|
757
|
+
], CtyNoticeBar);
|
|
758
|
+
export { CtyNoticeBar };
|
|
759
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyNoticeBar, decorators: [{
|
|
760
|
+
type: Component,
|
|
761
|
+
args: [{
|
|
762
|
+
selector: 'cty-notice-bar',
|
|
763
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
764
|
+
template: '<ng-content></ng-content>',
|
|
765
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
766
|
+
inputs: ['endIcon', 'scrollable', 'speed', 'startIcon', 'text'],
|
|
767
|
+
}]
|
|
768
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
769
|
+
let CtyOverlay = class CtyOverlay {
|
|
770
|
+
z;
|
|
771
|
+
el;
|
|
772
|
+
constructor(c, r, z) {
|
|
773
|
+
this.z = z;
|
|
774
|
+
c.detach();
|
|
775
|
+
this.el = r.nativeElement;
|
|
776
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
777
|
+
}
|
|
778
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyOverlay, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
779
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyOverlay, selector: "cty-overlay", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", cssClass: "cssClass", enterAnimation: "enterAnimation", html: "html", leaveAnimation: "leaveAnimation", position: "position", root: "root", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
780
|
+
};
|
|
781
|
+
CtyOverlay = __decorate([
|
|
782
|
+
ProxyCmp({
|
|
783
|
+
inputs: ['animated', 'backdropDismiss', 'cssClass', 'enterAnimation', 'html', 'leaveAnimation', 'position', 'root', 'trigger'],
|
|
784
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
785
|
+
})
|
|
786
|
+
], CtyOverlay);
|
|
787
|
+
export { CtyOverlay };
|
|
788
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyOverlay, decorators: [{
|
|
789
|
+
type: Component,
|
|
790
|
+
args: [{
|
|
791
|
+
selector: 'cty-overlay',
|
|
792
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
793
|
+
template: '<ng-content></ng-content>',
|
|
794
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
795
|
+
inputs: ['animated', 'backdropDismiss', 'cssClass', 'enterAnimation', 'html', 'leaveAnimation', 'position', 'root', 'trigger'],
|
|
796
|
+
}]
|
|
797
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
798
|
+
let CtyPdfViewer = class CtyPdfViewer {
|
|
799
|
+
z;
|
|
800
|
+
el;
|
|
801
|
+
constructor(c, r, z) {
|
|
802
|
+
this.z = z;
|
|
803
|
+
c.detach();
|
|
804
|
+
this.el = r.nativeElement;
|
|
805
|
+
proxyOutputs(this, this.el, ['ctyInit', 'ctyEnd']);
|
|
806
|
+
}
|
|
807
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyPdfViewer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
808
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyPdfViewer, selector: "cty-pdf-viewer", inputs: { url: "url", viewerUrl: "viewerUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
809
|
+
};
|
|
810
|
+
CtyPdfViewer = __decorate([
|
|
811
|
+
ProxyCmp({
|
|
812
|
+
inputs: ['url', 'viewerUrl']
|
|
813
|
+
})
|
|
814
|
+
], CtyPdfViewer);
|
|
815
|
+
export { CtyPdfViewer };
|
|
816
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyPdfViewer, decorators: [{
|
|
817
|
+
type: Component,
|
|
818
|
+
args: [{
|
|
819
|
+
selector: 'cty-pdf-viewer',
|
|
820
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
821
|
+
template: '<ng-content></ng-content>',
|
|
822
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
823
|
+
inputs: ['url', 'viewerUrl'],
|
|
824
|
+
}]
|
|
825
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
826
|
+
let CtyPermissionPurpose = class CtyPermissionPurpose {
|
|
827
|
+
z;
|
|
828
|
+
el;
|
|
829
|
+
constructor(c, r, z) {
|
|
830
|
+
this.z = z;
|
|
831
|
+
c.detach();
|
|
832
|
+
this.el = r.nativeElement;
|
|
833
|
+
proxyOutputs(this, this.el, ['ctyDismiss']);
|
|
834
|
+
}
|
|
835
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyPermissionPurpose, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
836
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyPermissionPurpose, selector: "cty-permission-purpose", inputs: { backdropDismiss: "backdropDismiss", description: "description" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
837
|
+
};
|
|
838
|
+
CtyPermissionPurpose = __decorate([
|
|
839
|
+
ProxyCmp({
|
|
840
|
+
inputs: ['backdropDismiss', 'description']
|
|
841
|
+
})
|
|
842
|
+
], CtyPermissionPurpose);
|
|
843
|
+
export { CtyPermissionPurpose };
|
|
844
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyPermissionPurpose, decorators: [{
|
|
845
|
+
type: Component,
|
|
846
|
+
args: [{
|
|
847
|
+
selector: 'cty-permission-purpose',
|
|
848
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
849
|
+
template: '<ng-content></ng-content>',
|
|
850
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
851
|
+
inputs: ['backdropDismiss', 'description'],
|
|
852
|
+
}]
|
|
853
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
854
|
+
let CtyProgress = class CtyProgress {
|
|
855
|
+
z;
|
|
856
|
+
el;
|
|
857
|
+
constructor(c, r, z) {
|
|
858
|
+
this.z = z;
|
|
859
|
+
c.detach();
|
|
860
|
+
this.el = r.nativeElement;
|
|
861
|
+
}
|
|
862
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
863
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyProgress, selector: "cty-progress", inputs: { percentage: "percentage", pivot: "pivot", pivotText: "pivotText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
864
|
+
};
|
|
865
|
+
CtyProgress = __decorate([
|
|
866
|
+
ProxyCmp({
|
|
867
|
+
inputs: ['percentage', 'pivot', 'pivotText']
|
|
868
|
+
})
|
|
869
|
+
], CtyProgress);
|
|
870
|
+
export { CtyProgress };
|
|
871
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyProgress, decorators: [{
|
|
872
|
+
type: Component,
|
|
873
|
+
args: [{
|
|
874
|
+
selector: 'cty-progress',
|
|
875
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
876
|
+
template: '<ng-content></ng-content>',
|
|
877
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
878
|
+
inputs: ['percentage', 'pivot', 'pivotText'],
|
|
879
|
+
}]
|
|
880
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
881
|
+
let CtyQuickAccess = class CtyQuickAccess {
|
|
882
|
+
z;
|
|
883
|
+
el;
|
|
884
|
+
constructor(c, r, z) {
|
|
885
|
+
this.z = z;
|
|
886
|
+
c.detach();
|
|
887
|
+
this.el = r.nativeElement;
|
|
888
|
+
proxyOutputs(this, this.el, ['ctyTap', 'ctySlide', 'ctySlideEnd', 'ctyInit']);
|
|
889
|
+
}
|
|
890
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyQuickAccess, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
891
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyQuickAccess, selector: "cty-quick-access", inputs: { col: "col", options: "options", paper: "paper", props: "props", quickThreshold: "quickThreshold", row: "row", slideThreshold: "slideThreshold", transition: "transition" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
892
|
+
};
|
|
893
|
+
CtyQuickAccess = __decorate([
|
|
894
|
+
ProxyCmp({
|
|
895
|
+
inputs: ['col', 'options', 'paper', 'props', 'quickThreshold', 'row', 'slideThreshold', 'transition'],
|
|
896
|
+
methods: ['getCurrentPage']
|
|
897
|
+
})
|
|
898
|
+
], CtyQuickAccess);
|
|
899
|
+
export { CtyQuickAccess };
|
|
900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyQuickAccess, decorators: [{
|
|
901
|
+
type: Component,
|
|
902
|
+
args: [{
|
|
903
|
+
selector: 'cty-quick-access',
|
|
904
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
905
|
+
template: '<ng-content></ng-content>',
|
|
906
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
907
|
+
inputs: ['col', 'options', 'paper', 'props', 'quickThreshold', 'row', 'slideThreshold', 'transition'],
|
|
908
|
+
}]
|
|
909
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
910
|
+
let CtyRate = class CtyRate {
|
|
911
|
+
z;
|
|
912
|
+
el;
|
|
913
|
+
constructor(c, r, z) {
|
|
914
|
+
this.z = z;
|
|
915
|
+
c.detach();
|
|
916
|
+
this.el = r.nativeElement;
|
|
917
|
+
proxyOutputs(this, this.el, ['ctyChange']);
|
|
918
|
+
}
|
|
919
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyRate, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
920
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyRate, selector: "cty-rate", inputs: { clearable: "clearable", count: "count", disabled: "disabled", half: "half", icon: "icon", readonly: "readonly", touchable: "touchable", value: "value", voidIcon: "voidIcon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
921
|
+
};
|
|
922
|
+
CtyRate = __decorate([
|
|
923
|
+
ProxyCmp({
|
|
924
|
+
inputs: ['clearable', 'count', 'disabled', 'half', 'icon', 'readonly', 'touchable', 'value', 'voidIcon']
|
|
925
|
+
})
|
|
926
|
+
], CtyRate);
|
|
927
|
+
export { CtyRate };
|
|
928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyRate, decorators: [{
|
|
929
|
+
type: Component,
|
|
930
|
+
args: [{
|
|
931
|
+
selector: 'cty-rate',
|
|
932
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
933
|
+
template: '<ng-content></ng-content>',
|
|
934
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
935
|
+
inputs: ['clearable', 'count', 'disabled', 'half', 'icon', 'readonly', 'touchable', 'value', 'voidIcon'],
|
|
936
|
+
}]
|
|
937
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
938
|
+
let CtyRecord = class CtyRecord {
|
|
939
|
+
z;
|
|
940
|
+
el;
|
|
941
|
+
constructor(c, r, z) {
|
|
942
|
+
this.z = z;
|
|
943
|
+
c.detach();
|
|
944
|
+
this.el = r.nativeElement;
|
|
945
|
+
proxyOutputs(this, this.el, ['ctyRecordStart', 'ctyRecording', 'ctyRecordEnd', 'ctyRecordComplete', 'ctyDismiss', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
946
|
+
}
|
|
947
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyRecord, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
948
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyRecord, selector: "cty-record", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", circleColor: "circleColor", circleWidth: "circleWidth", closeable: "closeable", cssClass: "cssClass", enterAnimation: "enterAnimation", leaveAnimation: "leaveAnimation", maxSeconds: "maxSeconds", minSeconds: "minSeconds", root: "root", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
949
|
+
};
|
|
950
|
+
CtyRecord = __decorate([
|
|
951
|
+
ProxyCmp({
|
|
952
|
+
inputs: ['animated', 'backdropDismiss', 'circleColor', 'circleWidth', 'closeable', 'cssClass', 'enterAnimation', 'leaveAnimation', 'maxSeconds', 'minSeconds', 'root', 'trigger'],
|
|
953
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss', 'resetRecordState', 'startRecord', 'stopRecording']
|
|
954
|
+
})
|
|
955
|
+
], CtyRecord);
|
|
956
|
+
export { CtyRecord };
|
|
957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyRecord, decorators: [{
|
|
958
|
+
type: Component,
|
|
959
|
+
args: [{
|
|
960
|
+
selector: 'cty-record',
|
|
961
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
962
|
+
template: '<ng-content></ng-content>',
|
|
963
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
964
|
+
inputs: ['animated', 'backdropDismiss', 'circleColor', 'circleWidth', 'closeable', 'cssClass', 'enterAnimation', 'leaveAnimation', 'maxSeconds', 'minSeconds', 'root', 'trigger'],
|
|
965
|
+
}]
|
|
966
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
967
|
+
let CtySegmentSlides = class CtySegmentSlides {
|
|
968
|
+
z;
|
|
969
|
+
el;
|
|
970
|
+
constructor(c, r, z) {
|
|
971
|
+
this.z = z;
|
|
972
|
+
c.detach();
|
|
973
|
+
this.el = r.nativeElement;
|
|
974
|
+
proxyOutputs(this, this.el, ['ctySlideChange']);
|
|
975
|
+
}
|
|
976
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySegmentSlides, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
977
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtySegmentSlides, selector: "cty-segment-slides", inputs: { autoHeight: "autoHeight", layout: "layout", observer: "observer", observerParents: "observerParents", segmentProps: "segmentProps", segments: "segments", top: "top" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
978
|
+
};
|
|
979
|
+
CtySegmentSlides = __decorate([
|
|
980
|
+
ProxyCmp({
|
|
981
|
+
inputs: ['autoHeight', 'layout', 'observer', 'observerParents', 'segmentProps', 'segments', 'top'],
|
|
982
|
+
methods: ['doSlideTo', 'getActiveIndex']
|
|
983
|
+
})
|
|
984
|
+
], CtySegmentSlides);
|
|
985
|
+
export { CtySegmentSlides };
|
|
986
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySegmentSlides, decorators: [{
|
|
987
|
+
type: Component,
|
|
988
|
+
args: [{
|
|
989
|
+
selector: 'cty-segment-slides',
|
|
990
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
991
|
+
template: '<ng-content></ng-content>',
|
|
992
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
993
|
+
inputs: ['autoHeight', 'layout', 'observer', 'observerParents', 'segmentProps', 'segments', 'top'],
|
|
994
|
+
}]
|
|
995
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
996
|
+
let CtyShareSheet = class CtyShareSheet {
|
|
997
|
+
z;
|
|
998
|
+
el;
|
|
999
|
+
constructor(c, r, z) {
|
|
1000
|
+
this.z = z;
|
|
1001
|
+
c.detach();
|
|
1002
|
+
this.el = r.nativeElement;
|
|
1003
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyTap', 'ctyShareSuccess', 'ctyShareFail', 'ctyGuide', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
1004
|
+
}
|
|
1005
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyShareSheet, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1006
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyShareSheet, selector: "cty-share-sheet", inputs: { animated: "animated", backdropDismiss: "backdropDismiss", cancelText: "cancelText", cssClass: "cssClass", description: "description", enterAnimation: "enterAnimation", guide: "guide", guideImg: "guideImg", hiddenSheet: "hiddenSheet", leaveAnimation: "leaveAnimation", legacyCopy: "legacyCopy", options: "options", permissionDescription: "permissionDescription", permissionPurpose: "permissionPurpose", root: "root", shareOption: "shareOption", title: "title", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1007
|
+
};
|
|
1008
|
+
CtyShareSheet = __decorate([
|
|
1009
|
+
ProxyCmp({
|
|
1010
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'cssClass', 'description', 'enterAnimation', 'guide', 'guideImg', 'hiddenSheet', 'leaveAnimation', 'legacyCopy', 'options', 'permissionDescription', 'permissionPurpose', 'root', 'shareOption', 'title', 'trigger'],
|
|
1011
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
1012
|
+
})
|
|
1013
|
+
], CtyShareSheet);
|
|
1014
|
+
export { CtyShareSheet };
|
|
1015
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyShareSheet, decorators: [{
|
|
1016
|
+
type: Component,
|
|
1017
|
+
args: [{
|
|
1018
|
+
selector: 'cty-share-sheet',
|
|
1019
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1020
|
+
template: '<ng-content></ng-content>',
|
|
1021
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1022
|
+
inputs: ['animated', 'backdropDismiss', 'cancelText', 'cssClass', 'description', 'enterAnimation', 'guide', 'guideImg', 'hiddenSheet', 'leaveAnimation', 'legacyCopy', 'options', 'permissionDescription', 'permissionPurpose', 'root', 'shareOption', 'title', 'trigger'],
|
|
1023
|
+
}]
|
|
1024
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1025
|
+
let CtyStep = class CtyStep {
|
|
1026
|
+
z;
|
|
1027
|
+
el;
|
|
1028
|
+
constructor(c, r, z) {
|
|
1029
|
+
this.z = z;
|
|
1030
|
+
c.detach();
|
|
1031
|
+
this.el = r.nativeElement;
|
|
1032
|
+
}
|
|
1033
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyStep, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1034
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyStep, selector: "cty-step", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1035
|
+
};
|
|
1036
|
+
CtyStep = __decorate([
|
|
1037
|
+
ProxyCmp({})
|
|
1038
|
+
], CtyStep);
|
|
1039
|
+
export { CtyStep };
|
|
1040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyStep, decorators: [{
|
|
1041
|
+
type: Component,
|
|
1042
|
+
args: [{
|
|
1043
|
+
selector: 'cty-step',
|
|
1044
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1045
|
+
template: '<ng-content></ng-content>',
|
|
1046
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1047
|
+
inputs: [],
|
|
1048
|
+
}]
|
|
1049
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1050
|
+
let CtyStepper = class CtyStepper {
|
|
1051
|
+
z;
|
|
1052
|
+
el;
|
|
1053
|
+
constructor(c, r, z) {
|
|
1054
|
+
this.z = z;
|
|
1055
|
+
c.detach();
|
|
1056
|
+
this.el = r.nativeElement;
|
|
1057
|
+
proxyOutputs(this, this.el, ['ctyMinus', 'ctyPlus', 'ctyBlur', 'ctyChange', 'ctyFocus']);
|
|
1058
|
+
}
|
|
1059
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1060
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyStepper, selector: "cty-stepper", inputs: { disableInput: "disableInput", disableMinus: "disableMinus", disablePlus: "disablePlus", disabled: "disabled", integer: "integer", max: "max", min: "min", minusText: "minusText", plusText: "plusText", readonly: "readonly", showInput: "showInput", showMinus: "showMinus", showPlus: "showPlus", step: "step", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1061
|
+
};
|
|
1062
|
+
CtyStepper = __decorate([
|
|
1063
|
+
ProxyCmp({
|
|
1064
|
+
inputs: ['disableInput', 'disableMinus', 'disablePlus', 'disabled', 'integer', 'max', 'min', 'minusText', 'plusText', 'readonly', 'showInput', 'showMinus', 'showPlus', 'step', 'value'],
|
|
1065
|
+
methods: ['handleMinus', 'handlePlus']
|
|
1066
|
+
})
|
|
1067
|
+
], CtyStepper);
|
|
1068
|
+
export { CtyStepper };
|
|
1069
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyStepper, decorators: [{
|
|
1070
|
+
type: Component,
|
|
1071
|
+
args: [{
|
|
1072
|
+
selector: 'cty-stepper',
|
|
1073
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1074
|
+
template: '<ng-content></ng-content>',
|
|
1075
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1076
|
+
inputs: ['disableInput', 'disableMinus', 'disablePlus', 'disabled', 'integer', 'max', 'min', 'minusText', 'plusText', 'readonly', 'showInput', 'showMinus', 'showPlus', 'step', 'value'],
|
|
1077
|
+
}]
|
|
1078
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1079
|
+
let CtySteps = class CtySteps {
|
|
1080
|
+
z;
|
|
1081
|
+
el;
|
|
1082
|
+
constructor(c, r, z) {
|
|
1083
|
+
this.z = z;
|
|
1084
|
+
c.detach();
|
|
1085
|
+
this.el = r.nativeElement;
|
|
1086
|
+
proxyOutputs(this, this.el, ['ctyStepTap', 'ctyChange']);
|
|
1087
|
+
}
|
|
1088
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySteps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1089
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtySteps, selector: "cty-steps", inputs: { active: "active", activeIcon: "activeIcon", direction: "direction", finishIcon: "finishIcon", inactiveIcon: "inactiveIcon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1090
|
+
};
|
|
1091
|
+
CtySteps = __decorate([
|
|
1092
|
+
ProxyCmp({
|
|
1093
|
+
inputs: ['active', 'activeIcon', 'direction', 'finishIcon', 'inactiveIcon'],
|
|
1094
|
+
methods: ['onClickStep']
|
|
1095
|
+
})
|
|
1096
|
+
], CtySteps);
|
|
1097
|
+
export { CtySteps };
|
|
1098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySteps, decorators: [{
|
|
1099
|
+
type: Component,
|
|
1100
|
+
args: [{
|
|
1101
|
+
selector: 'cty-steps',
|
|
1102
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1103
|
+
template: '<ng-content></ng-content>',
|
|
1104
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1105
|
+
inputs: ['active', 'activeIcon', 'direction', 'finishIcon', 'inactiveIcon'],
|
|
1106
|
+
}]
|
|
1107
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1108
|
+
let CtySwipe = class CtySwipe {
|
|
1109
|
+
z;
|
|
1110
|
+
el;
|
|
1111
|
+
constructor(c, r, z) {
|
|
1112
|
+
this.z = z;
|
|
1113
|
+
c.detach();
|
|
1114
|
+
this.el = r.nativeElement;
|
|
1115
|
+
proxyOutputs(this, this.el, ['ctyChange', 'ctyDragStart', 'ctyDragEnd']);
|
|
1116
|
+
}
|
|
1117
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySwipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1118
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtySwipe, selector: "cty-swipe", inputs: { autoplay: "autoplay", duration: "duration", indicator: "indicator", initialSwipe: "initialSwipe", loop: "loop", touchable: "touchable", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1119
|
+
};
|
|
1120
|
+
CtySwipe = __decorate([
|
|
1121
|
+
ProxyCmp({
|
|
1122
|
+
inputs: ['autoplay', 'duration', 'indicator', 'initialSwipe', 'loop', 'touchable', 'vertical'],
|
|
1123
|
+
methods: ['prev', 'next', 'swipeTo']
|
|
1124
|
+
})
|
|
1125
|
+
], CtySwipe);
|
|
1126
|
+
export { CtySwipe };
|
|
1127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySwipe, decorators: [{
|
|
1128
|
+
type: Component,
|
|
1129
|
+
args: [{
|
|
1130
|
+
selector: 'cty-swipe',
|
|
1131
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1132
|
+
template: '<ng-content></ng-content>',
|
|
1133
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1134
|
+
inputs: ['autoplay', 'duration', 'indicator', 'initialSwipe', 'loop', 'touchable', 'vertical'],
|
|
1135
|
+
}]
|
|
1136
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1137
|
+
let CtySwipeItem = class CtySwipeItem {
|
|
1138
|
+
z;
|
|
1139
|
+
el;
|
|
1140
|
+
constructor(c, r, z) {
|
|
1141
|
+
this.z = z;
|
|
1142
|
+
c.detach();
|
|
1143
|
+
this.el = r.nativeElement;
|
|
1144
|
+
}
|
|
1145
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySwipeItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1146
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtySwipeItem, selector: "cty-swipe-item", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1147
|
+
};
|
|
1148
|
+
CtySwipeItem = __decorate([
|
|
1149
|
+
ProxyCmp({
|
|
1150
|
+
methods: ['setOffset']
|
|
1151
|
+
})
|
|
1152
|
+
], CtySwipeItem);
|
|
1153
|
+
export { CtySwipeItem };
|
|
1154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySwipeItem, decorators: [{
|
|
1155
|
+
type: Component,
|
|
1156
|
+
args: [{
|
|
1157
|
+
selector: 'cty-swipe-item',
|
|
1158
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1159
|
+
template: '<ng-content></ng-content>',
|
|
1160
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1161
|
+
inputs: [],
|
|
1162
|
+
}]
|
|
1163
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1164
|
+
let CtySwiper = class CtySwiper {
|
|
1165
|
+
z;
|
|
1166
|
+
el;
|
|
1167
|
+
constructor(c, r, z) {
|
|
1168
|
+
this.z = z;
|
|
1169
|
+
c.detach();
|
|
1170
|
+
this.el = r.nativeElement;
|
|
1171
|
+
proxyOutputs(this, this.el, ['ctySlideChange', 'ctySlideClick']);
|
|
1172
|
+
}
|
|
1173
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySwiper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1174
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtySwiper, selector: "cty-swiper", inputs: { attrs: "attrs", autoplay: "autoplay", direction: "direction", loop: "loop", observer: "observer", observerParents: "observerParents", pagination: "pagination", props: "props", swiperModules: "swiperModules", swipers: "swipers" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1175
|
+
};
|
|
1176
|
+
CtySwiper = __decorate([
|
|
1177
|
+
ProxyCmp({
|
|
1178
|
+
inputs: ['attrs', 'autoplay', 'direction', 'loop', 'observer', 'observerParents', 'pagination', 'props', 'swiperModules', 'swipers'],
|
|
1179
|
+
methods: ['refreshSwiper', 'next', 'prev', 'slideTo', 'getSwiper']
|
|
1180
|
+
})
|
|
1181
|
+
], CtySwiper);
|
|
1182
|
+
export { CtySwiper };
|
|
1183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtySwiper, decorators: [{
|
|
1184
|
+
type: Component,
|
|
1185
|
+
args: [{
|
|
1186
|
+
selector: 'cty-swiper',
|
|
1187
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1188
|
+
template: '<ng-content></ng-content>',
|
|
1189
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1190
|
+
inputs: ['attrs', 'autoplay', 'direction', 'loop', 'observer', 'observerParents', 'pagination', 'props', 'swiperModules', 'swipers'],
|
|
1191
|
+
}]
|
|
1192
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1193
|
+
let CtyTextEllipsis = class CtyTextEllipsis {
|
|
1194
|
+
z;
|
|
1195
|
+
el;
|
|
1196
|
+
constructor(c, r, z) {
|
|
1197
|
+
this.z = z;
|
|
1198
|
+
c.detach();
|
|
1199
|
+
this.el = r.nativeElement;
|
|
1200
|
+
proxyOutputs(this, this.el, ['ctyExpandChange']);
|
|
1201
|
+
}
|
|
1202
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyTextEllipsis, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1203
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyTextEllipsis, selector: "cty-text-ellipsis", inputs: { collapseText: "collapseText", content: "content", dots: "dots", expandText: "expandText", position: "position", rows: "rows" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1204
|
+
};
|
|
1205
|
+
CtyTextEllipsis = __decorate([
|
|
1206
|
+
ProxyCmp({
|
|
1207
|
+
inputs: ['collapseText', 'content', 'dots', 'expandText', 'position', 'rows']
|
|
1208
|
+
})
|
|
1209
|
+
], CtyTextEllipsis);
|
|
1210
|
+
export { CtyTextEllipsis };
|
|
1211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyTextEllipsis, decorators: [{
|
|
1212
|
+
type: Component,
|
|
1213
|
+
args: [{
|
|
1214
|
+
selector: 'cty-text-ellipsis',
|
|
1215
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1216
|
+
template: '<ng-content></ng-content>',
|
|
1217
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1218
|
+
inputs: ['collapseText', 'content', 'dots', 'expandText', 'position', 'rows'],
|
|
1219
|
+
}]
|
|
1220
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1221
|
+
let CtyTour = class CtyTour {
|
|
1222
|
+
z;
|
|
1223
|
+
el;
|
|
1224
|
+
constructor(c, r, z) {
|
|
1225
|
+
this.z = z;
|
|
1226
|
+
c.detach();
|
|
1227
|
+
this.el = r.nativeElement;
|
|
1228
|
+
proxyOutputs(this, this.el, ['ctyChange', 'ctyDismiss']);
|
|
1229
|
+
}
|
|
1230
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyTour, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1231
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyTour, selector: "cty-tour", inputs: { arrow: "arrow", backdropDismiss: "backdropDismiss", closeable: "closeable", completeText: "completeText", cssClass: "cssClass", initialIndex: "initialIndex", nextText: "nextText", placement: "placement", popoverAttrs: "popoverAttrs", prevText: "prevText", showPrev: "showPrev", steps: "steps" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1232
|
+
};
|
|
1233
|
+
CtyTour = __decorate([
|
|
1234
|
+
ProxyCmp({
|
|
1235
|
+
inputs: ['arrow', 'backdropDismiss', 'closeable', 'completeText', 'cssClass', 'initialIndex', 'nextText', 'placement', 'popoverAttrs', 'prevText', 'showPrev', 'steps'],
|
|
1236
|
+
methods: ['present', 'dismiss', 'prevStep', 'nextStep', 'complete']
|
|
1237
|
+
})
|
|
1238
|
+
], CtyTour);
|
|
1239
|
+
export { CtyTour };
|
|
1240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyTour, decorators: [{
|
|
1241
|
+
type: Component,
|
|
1242
|
+
args: [{
|
|
1243
|
+
selector: 'cty-tour',
|
|
1244
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1245
|
+
template: '<ng-content></ng-content>',
|
|
1246
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1247
|
+
inputs: ['arrow', 'backdropDismiss', 'closeable', 'completeText', 'cssClass', 'initialIndex', 'nextText', 'placement', 'popoverAttrs', 'prevText', 'showPrev', 'steps'],
|
|
1248
|
+
}]
|
|
1249
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1250
|
+
let CtyTutorial = class CtyTutorial {
|
|
1251
|
+
z;
|
|
1252
|
+
el;
|
|
1253
|
+
constructor(c, r, z) {
|
|
1254
|
+
this.z = z;
|
|
1255
|
+
c.detach();
|
|
1256
|
+
this.el = r.nativeElement;
|
|
1257
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctySlideChange', 'ctySlideTap', 'ctyDidPresent', 'ctyWillPresent', 'ctyWillDismiss', 'ctyDidDismiss']);
|
|
1258
|
+
}
|
|
1259
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyTutorial, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1260
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyTutorial, selector: "cty-tutorial", inputs: { animated: "animated", autoplay: "autoplay", backdropDismiss: "backdropDismiss", banners: "banners", closeable: "closeable", cssClass: "cssClass", duration: "duration", enterAnimation: "enterAnimation", indicator: "indicator", initialIndex: "initialIndex", leaveAnimation: "leaveAnimation", loop: "loop", props: "props", root: "root", touchable: "touchable", trigger: "trigger", vertical: "vertical" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1261
|
+
};
|
|
1262
|
+
CtyTutorial = __decorate([
|
|
1263
|
+
ProxyCmp({
|
|
1264
|
+
inputs: ['animated', 'autoplay', 'backdropDismiss', 'banners', 'closeable', 'cssClass', 'duration', 'enterAnimation', 'indicator', 'initialIndex', 'leaveAnimation', 'loop', 'props', 'root', 'touchable', 'trigger', 'vertical'],
|
|
1265
|
+
methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']
|
|
1266
|
+
})
|
|
1267
|
+
], CtyTutorial);
|
|
1268
|
+
export { CtyTutorial };
|
|
1269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyTutorial, decorators: [{
|
|
1270
|
+
type: Component,
|
|
1271
|
+
args: [{
|
|
1272
|
+
selector: 'cty-tutorial',
|
|
1273
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1274
|
+
template: '<ng-content></ng-content>',
|
|
1275
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1276
|
+
inputs: ['animated', 'autoplay', 'backdropDismiss', 'banners', 'closeable', 'cssClass', 'duration', 'enterAnimation', 'indicator', 'initialIndex', 'leaveAnimation', 'loop', 'props', 'root', 'touchable', 'trigger', 'vertical'],
|
|
1277
|
+
}]
|
|
1278
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1279
|
+
let CtyVideo = class CtyVideo {
|
|
1280
|
+
z;
|
|
1281
|
+
el;
|
|
1282
|
+
constructor(c, r, z) {
|
|
1283
|
+
this.z = z;
|
|
1284
|
+
c.detach();
|
|
1285
|
+
this.el = r.nativeElement;
|
|
1286
|
+
proxyOutputs(this, this.el, ['ctyDismiss', 'ctyVideoCanplay', 'ctyVideoTimeupdate', 'ctyVideoPlaying', 'ctyVideoPlay', 'ctyVideoPause', 'ctyVideoStalled', 'ctyVideoWaiting', 'ctyVideoEnded', 'ctyVideoError', 'ctyVideoChangeVolume', 'ctyVideoProgress', 'ctyVideoScreenChange', 'ctyVideoIAEnter', 'ctyVideoIAAction', 'ctyVideoCtrlChange', 'ctyVideoRateChange']);
|
|
1287
|
+
}
|
|
1288
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1289
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyVideo, selector: "cty-video", inputs: { allowBackward: "allowBackward", allowForward: "allowForward", autoplay: "autoplay", controls: "controls", defaultFullscreen: "defaultFullscreen", directRate: "directRate", direction: "direction", errorMsg: "errorMsg", exitFullscreenIcon: "exitFullscreenIcon", footerCtrl: "footerCtrl", fullscreenIcon: "fullscreenIcon", fullscreenOnly: "fullscreenOnly", headerCtrl: "headerCtrl", interactiveActions: "interactiveActions", landscapeEnterTimer: "landscapeEnterTimer", landscapeLeaveTimer: "landscapeLeaveTimer", loading: "loading", loadingImg: "loadingImg", markers: "markers", orientation: "orientation", player: "player", poster: "poster", preload: "preload", progressPosition: "progressPosition", rate: "rate", rates: "rates", startTime: "startTime", title: "title", togglePlayTimer: "togglePlayTimer", trafficAutoplay: "trafficAutoplay", trafficMsg: "trafficMsg", unAllowForwardMsg: "unAllowForwardMsg", unAllowRateMsg: "unAllowRateMsg", updateNow: "updateNow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1290
|
+
};
|
|
1291
|
+
CtyVideo = __decorate([
|
|
1292
|
+
ProxyCmp({
|
|
1293
|
+
inputs: ['allowBackward', 'allowForward', 'autoplay', 'controls', 'defaultFullscreen', 'directRate', 'direction', 'errorMsg', 'exitFullscreenIcon', 'footerCtrl', 'fullscreenIcon', 'fullscreenOnly', 'headerCtrl', 'interactiveActions', 'landscapeEnterTimer', 'landscapeLeaveTimer', 'loading', 'loadingImg', 'markers', 'orientation', 'player', 'poster', 'preload', 'progressPosition', 'rate', 'rates', 'startTime', 'title', 'togglePlayTimer', 'trafficAutoplay', 'trafficMsg', 'unAllowForwardMsg', 'unAllowRateMsg', 'updateNow', 'url'],
|
|
1294
|
+
methods: ['play', 'setCtrlShow', 'pause', 'setVideoCurrentTime', 'toggleVideo', 'toggleVolume', 'setPlayRate', 'getVideoElement']
|
|
1295
|
+
})
|
|
1296
|
+
], CtyVideo);
|
|
1297
|
+
export { CtyVideo };
|
|
1298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyVideo, decorators: [{
|
|
1299
|
+
type: Component,
|
|
1300
|
+
args: [{
|
|
1301
|
+
selector: 'cty-video',
|
|
1302
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1303
|
+
template: '<ng-content></ng-content>',
|
|
1304
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1305
|
+
inputs: ['allowBackward', 'allowForward', 'autoplay', 'controls', 'defaultFullscreen', 'directRate', 'direction', 'errorMsg', 'exitFullscreenIcon', 'footerCtrl', 'fullscreenIcon', 'fullscreenOnly', 'headerCtrl', 'interactiveActions', 'landscapeEnterTimer', 'landscapeLeaveTimer', 'loading', 'loadingImg', 'markers', 'orientation', 'player', 'poster', 'preload', 'progressPosition', 'rate', 'rates', 'startTime', 'title', 'togglePlayTimer', 'trafficAutoplay', 'trafficMsg', 'unAllowForwardMsg', 'unAllowRateMsg', 'updateNow', 'url'],
|
|
1306
|
+
}]
|
|
1307
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1308
|
+
let CtyVirtualList = class CtyVirtualList {
|
|
1309
|
+
z;
|
|
1310
|
+
el;
|
|
1311
|
+
constructor(c, r, z) {
|
|
1312
|
+
this.z = z;
|
|
1313
|
+
c.detach();
|
|
1314
|
+
this.el = r.nativeElement;
|
|
1315
|
+
proxyOutputs(this, this.el, ['ctyScroll']);
|
|
1316
|
+
}
|
|
1317
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyVirtualList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1318
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtyVirtualList, selector: "cty-virtual-list", inputs: { containerHeight: "containerHeight", direction: "direction", itemKey: "itemKey", itemRender: "itemRender", items: "items", preloadItemCount: "preloadItemCount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1319
|
+
};
|
|
1320
|
+
CtyVirtualList = __decorate([
|
|
1321
|
+
ProxyCmp({
|
|
1322
|
+
inputs: ['containerHeight', 'direction', 'itemKey', 'itemRender', 'items', 'preloadItemCount']
|
|
1323
|
+
})
|
|
1324
|
+
], CtyVirtualList);
|
|
1325
|
+
export { CtyVirtualList };
|
|
1326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtyVirtualList, decorators: [{
|
|
1327
|
+
type: Component,
|
|
1328
|
+
args: [{
|
|
1329
|
+
selector: 'cty-virtual-list',
|
|
1330
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1331
|
+
template: '<ng-content></ng-content>',
|
|
1332
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1333
|
+
inputs: ['containerHeight', 'direction', 'itemKey', 'itemRender', 'items', 'preloadItemCount'],
|
|
1334
|
+
}]
|
|
1335
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL3Byb3hpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBZ0JoRSxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBRWtDO0lBRGpELEVBQUUsQ0FBNEI7SUFDeEMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM5SCxDQUFDOzJIQU5VLGNBQWM7K0dBQWQsY0FBYyw4WEFKZiwyQkFBMkI7O0FBSTFCLGNBQWM7SUFYMUIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO1FBQ2xMLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQztLQUNqRSxDQUFDO0dBUVcsY0FBYyxDQU8xQjtTQVBZLGNB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IGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRzIH0gZnJvbSAnY3R5LW11aS1jb3JlJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2NhbmNlbFRleHQnLCAnY2xvc2VJY29uJywgJ2Nsb3NlYWJsZScsICdjc3NDbGFzcycsICdlbnRlckFuaW1hdGlvbicsICdsZWF2ZUFuaW1hdGlvbicsICdvcHRpb25zJywgJ3Jvb3QnLCAnc3VidGl0bGUnLCAndGl0bGUnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdvbkRpZERpc21pc3MnLCAnb25XaWxsRGlzbWlzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWFjdGlvbi1zaGVldCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2NhbmNlbFRleHQnLCAnY2xvc2VJY29uJywgJ2Nsb3NlYWJsZScsICdjc3NDbGFzcycsICdlbnRlckFuaW1hdGlvbicsICdsZWF2ZUFuaW1hdGlvbicsICdvcHRpb25zJywgJ3Jvb3QnLCAnc3VidGl0bGUnLCAndGl0bGUnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlBY3Rpb25TaGVldCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUFjdGlvblNoZWV0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5RGlzbWlzcycsICdjdHlUYXAnLCAnY3R5RGlkUHJlc2VudCcsICdjdHlXaWxsUHJlc2VudCcsICdjdHlXaWxsRGlzbWlzcycsICdjdHlEaWREaXNtaXNzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBBY3Rpb25TaGVldFRhcEV2ZW50RGV0YWlsIGFzIElDdHlBY3Rpb25TaGVldEFjdGlvblNoZWV0VGFwRXZlbnREZXRhaWwgfSBmcm9tICdjdHktbXVpLWNvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5QWN0aW9uU2hlZXQgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUFjdGlvblNoZWV0IHtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVRhcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlBY3Rpb25TaGVldEFjdGlvblNoZWV0VGFwRXZlbnREZXRhaWw+PjtcblxuICBjdHlEaWRQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eURpZERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3NwaW5uZXInLCAndHJpZ2dlckFyZWEnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1hZ3JlZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnc3Bpbm5lcicsICd0cmlnZ2VyQXJlYScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlBZ3JlZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUFncmVlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUFncmVlIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlBZ3JlZSB7XG5cbiAgY3R5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdiYWNrZHJvcERpc21pc3MnLCAnYnV0dG9ucycsICdjbG9zZWFibGUnLCAnY29udGVudCcsICdjc3NDbGFzcycsICdlbnRlckFuaW1hdGlvbicsICdpbWcnLCAnbGVhdmVBbmltYXRpb24nLCAncm9vdCcsICd0aXRsZScsICd0cmlnZ2VyJ10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ29uRGlkRGlzbWlzcycsICdvbldpbGxEaXNtaXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2JhY2tkcm9wRGlzbWlzcycsICdidXR0b25zJywgJ2Nsb3NlYWJsZScsICdjb250ZW50JywgJ2Nzc0NsYXNzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2ltZycsICdsZWF2ZUFuaW1hdGlvbicsICdyb290JywgJ3RpdGxlJywgJ3RyaWdnZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5QWxlcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlBbGVydEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eURpc21pc3MnLCAnY3R5VGFwJywgJ2N0eURpZFByZXNlbnQnLCAnY3R5V2lsbFByZXNlbnQnLCAnY3R5V2lsbERpc21pc3MnLCAnY3R5RGlkRGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQWxlcnRUYXBFdmVudERldGFpbCBhcyBJQ3R5QWxlcnRBbGVydFRhcEV2ZW50RGV0YWlsIH0gZnJvbSAnY3R5LW11aS1jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUFsZXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5DdHlBbGVydCB7XG5cbiAgY3R5RGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlUYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5QWxlcnRBbGVydFRhcEV2ZW50RGV0YWlsPj47XG5cbiAgY3R5RGlkUHJlc2VudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlXaWxsUHJlc2VudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlXaWxsRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlEaWREaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbnN3ZXJzJywgJ2NhdGVnb3JpZXMnLCAnZGlzcGxheVRvdGFsJywgJ2Rpc3Rpbmd1aXNoJywgJ3BsYWNlbWVudCcsICdwcm9wcycsICdyZXN1bHRzJywgJ3RvdGFsVGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWFuc3dlci1zaGVldCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5zd2VycycsICdjYXRlZ29yaWVzJywgJ2Rpc3BsYXlUb3RhbCcsICdkaXN0aW5ndWlzaCcsICdwbGFjZW1lbnQnLCAncHJvcHMnLCAncmVzdWx0cycsICd0b3RhbFRleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5QW5zd2VyU2hlZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlBbnN3ZXJTaGVldEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eVRhcCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQW5zd2VyRW50cnkgYXMgSUN0eUFuc3dlclNoZWV0QW5zd2VyRW50cnkgfSBmcm9tICdjdHktbXVpLWNvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5QW5zd2VyU2hlZXQgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUFuc3dlclNoZWV0IHtcblxuICBjdHlUYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5QW5zd2VyU2hlZXRBbnN3ZXJFbnRyeT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYXlvdXQnLCAndGh1bWJuYWlscycsICd0aXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWFydGljbGUtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGF5b3V0JywgJ3RodW1ibmFpbHMnLCAndGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5QXJ0aWNsZUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlBcnRpY2xlQ2FyZEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUFydGljbGVDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlBcnRpY2xlQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd0JhY2t3YXJkJywgJ2FsbG93Rm9yd2FyZCcsICdhdXRvcGxheScsICdjeWNsZVJhdGUnLCAnaW5pdGlhbFRpbWUnLCAncGxheUN0cmwnLCAncmF0ZScsICdyYXRlVmlzaWJsZScsICdyYXRlcycsICd0cmFmZmljTXNnJywgJ3VuQWxsb3dGb3J3YXJkTXNnJywgJ3VuQWxsb3dSYXRlTXNnJywgJ3VybCddLFxuICBtZXRob2RzOiBbJ3N3aXRjaEF1ZGlvJywgJ3BsYXknLCAncGF1c2UnLCAnc2V0UGxheVJhdGUnLCAnZ2V0QXVkaW9FbGVtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktYXVkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93QmFja3dhcmQnLCAnYWxsb3dGb3J3YXJkJywgJ2F1dG9wbGF5JywgJ2N5Y2xlUmF0ZScsICdpbml0aWFsVGltZScsICdwbGF5Q3RybCcsICdyYXRlJywgJ3JhdGVWaXNpYmxlJywgJ3JhdGVzJywgJ3RyYWZmaWNNc2cnLCAndW5BbGxvd0ZvcndhcmRNc2cnLCAndW5BbGxvd1JhdGVNc2cnLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eUF1ZGlvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5QXVkaW9FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlFbmQnLCAnY3R5VGltZXVwZGF0ZScsICdjdHlQcm9ncmVzcycsICdjdHlDYW5wbGF5JywgJ2N0eVBsYXknLCAnY3R5UGF1c2UnLCAnY3R5RXJyb3InXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5QXVkaW8gZXh0ZW5kcyBDb21wb25lbnRzLkN0eUF1ZGlvIHtcblxuICBjdHlFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5VGltZXVwZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlQcm9ncmVzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE51bWJlcj4+O1xuXG4gIGN0eUNhbnBsYXk6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5UGxheTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlQYXVzZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlFcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnYmFubmVycycsICdkdXJhdGlvbicsICdpbmRpY2F0b3InLCAnaW5pdGlhbEluZGV4JywgJ2xvb3AnLCAncHJvcHMnLCAndG91Y2hhYmxlJywgJ3ZlcnRpY2FsJ10sXG4gIG1ldGhvZHM6IFsnc3dpcGVOZXh0JywgJ3N3aXBlUHJldicsICdzd2lwZVRvJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktYmFubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheScsICdiYW5uZXJzJywgJ2R1cmF0aW9uJywgJ2luZGljYXRvcicsICdpbml0aWFsSW5kZXgnLCAnbG9vcCcsICdwcm9wcycsICd0b3VjaGFibGUnLCAndmVydGljYWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5QmFubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5QmFubmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5U3dpcGVDaGFuZ2UnLCAnY3R5U3dpcGVUYXAnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5QmFubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlCYW5uZXIge1xuXG4gIGN0eVN3aXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5U3dpcGVUYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2NhbmNlbFRleHQnLCAnY2xpcENhbmNlbFRleHQnLCAnY2xpcENjb25maXJtVGV4dCcsICdjbGlwSW1hZ2VCZycsICdjbGlwSW1hZ2VRdWFsaXR5JywgJ2NsaXBJbWFnZVN1ZmZpeCcsICdjbGlwSW1hZ2VXaWR0aCcsICdjbGlwTWF4U2NhbGUnLCAnY2xpcE1pblNjYWxlJywgJ2NsaXBQdCcsICdjbG9zZUljb24nLCAnY2xvc2VhYmxlJywgJ2NvdW50JywgJ2Nzc0NsYXNzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2ZpbGUnLCAnbGVhdmVBbmltYXRpb24nLCAnb3B0aW9ucycsICdvdmVybGF5JywgJ3Blcm1pc3Npb25QdXJwb3NlJywgJ3Bob3RvT3B0aW9uJywgJ3Jvb3QnLCAndGl0bGUnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdvbkRpZERpc21pc3MnLCAnb25XaWxsRGlzbWlzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWNhbWVyYS1waG90bycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2NhbmNlbFRleHQnLCAnY2xpcENhbmNlbFRleHQnLCAnY2xpcENjb25maXJtVGV4dCcsICdjbGlwSW1hZ2VCZycsICdjbGlwSW1hZ2VRdWFsaXR5JywgJ2NsaXBJbWFnZVN1ZmZpeCcsICdjbGlwSW1hZ2VXaWR0aCcsICdjbGlwTWF4U2NhbGUnLCAnY2xpcE1pblNjYWxlJywgJ2NsaXBQdCcsICdjbG9zZUljb24nLCAnY2xvc2VhYmxlJywgJ2NvdW50JywgJ2Nzc0NsYXNzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2ZpbGUnLCAnbGVhdmVBbmltYXRpb24nLCAnb3B0aW9ucycsICdvdmVybGF5JywgJ3Blcm1pc3Npb25QdXJwb3NlJywgJ3Bob3RvT3B0aW9uJywgJ3Jvb3QnLCAndGl0bGUnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlDYW1lcmFQaG90byB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUNhbWVyYVBob3RvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5VGFwU3RhcnQnLCAnY3R5VGFwJywgJ2N0eURpc21pc3MnLCAnY3R5RGlkUHJlc2VudCcsICdjdHlXaWxsUHJlc2VudCcsICdjdHlXaWxsRGlzbWlzcycsICdjdHlEaWREaXNtaXNzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVJlc3VsdCBhcyBJQ3R5Q2FtZXJhUGhvdG9SZXNvdXJjZVJlc3VsdCB9IGZyb20gJ2N0eS1tdWktY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlDYW1lcmFQaG90byBleHRlbmRzIENvbXBvbmVudHMuQ3R5Q2FtZXJhUGhvdG8ge1xuXG4gIGN0eVRhcFN0YXJ0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5VGFwOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBpbmRleDogbnVtYmVyOyBpbWFnZUxpc3Q6IElDdHlDYW1lcmFQaG90b1Jlc291cmNlUmVzdWx0W10gfT4+O1xuXG4gIGN0eURpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5RGlkUHJlc2VudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlXaWxsUHJlc2VudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlXaWxsRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlEaWREaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiZ0NvbG9yJywgJ2JnSWNvbicsICdjbGVhckljb24nLCAnY2xlYXJMYWJlbCcsICdjb25maXJtTGFiZWwnLCAnZHByJywgJ2VyYXNlckljb24nLCAnZm9vdGVyT3BuJywgJ2hlYWRlck9wbicsICdsaW5lQ2FwJywgJ2xpbmVXaWR0aHMnLCAncGVuY2lsSWNvbicsICdxdWFsaXR5JywgJ3JlZG9JY29uJywgJ3Nob3dCdXR0b25zJywgJ3N0cm9rZUNvbG9yJywgJ3N0cm9rZVdpZHRoJywgJ3N1ZmZpeCcsICd1bmRvSWNvbiddLFxuICBtZXRob2RzOiBbJ3VuZG8nLCAncmVkbycsICdjbGVhcicsICdnZXREYXRhVVJMJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktY2FudmFzLWJvYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiZ0NvbG9yJywgJ2JnSWNvbicsICdjbGVhckljb24nLCAnY2xlYXJMYWJlbCcsICdjb25maXJtTGFiZWwnLCAnZHByJywgJ2VyYXNlckljb24nLCAnZm9vdGVyT3BuJywgJ2hlYWRlck9wbicsICdsaW5lQ2FwJywgJ2xpbmVXaWR0aHMnLCAncGVuY2lsSWNvbicsICdxdWFsaXR5JywgJ3JlZG9JY29uJywgJ3Nob3dCdXR0b25zJywgJ3N0cm9rZUNvbG9yJywgJ3N0cm9rZVdpZHRoJywgJ3N1ZmZpeCcsICd1bmRvSWNvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlDYW52YXNCb2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUNhbnZhc0JvYXJkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5Q2xlYXInLCAnY3R5U3RhcnQnLCAnY3R5TW92ZScsICdjdHlFbmQnLCAnY3R5Q29uZmlybSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlDYW52YXNCb2FyZCBleHRlbmRzIENvbXBvbmVudHMuQ3R5Q2FudmFzQm9hcmQge1xuXG4gIGN0eUNsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVN0YXJ0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8VG91Y2hFdmVudCB8IE1vdXNlRXZlbnQ+PjtcblxuICBjdHlNb3ZlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8VG91Y2hFdmVudCB8IE1vdXNlRXZlbnQ+PjtcblxuICBjdHlFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxUb3VjaEV2ZW50IHwgTW91c2VFdmVudD4+O1xuXG4gIGN0eUNvbmZpcm06IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnYXZhdGFyQnV0dG9uJywgJ25leHQnLCAncHJlbG9hZCcsICdwcm9wcycsICdzbGljZScsICd2aWRlb3MnXSxcbiAgbWV0aG9kczogWydzbGlkZVRvUHJldicsICdzbGlkZVRvTmV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWNhbnZhcy12aWRlbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnYXZhdGFyQnV0dG9uJywgJ25leHQnLCAncHJlbG9hZCcsICdwcm9wcycsICdzbGljZScsICd2aWRlb3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5Q2FudmFzVmlkZW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlDYW52YXNWaWRlb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eVNsaWRlQ2hhbmdlJywgJ2N0eVNsaWRlUHJldicsICdjdHlTbGlkZU5leHQnLCAnY3R5TG9uZ1ByZXNzJywgJ2N0eVZpZGVvVXBkYXRlJywgJ2N0eVZpZGVvRW5kJywgJ2N0eVRhcE5hbWUnLCAnY3R5VGFwQXZhdGFyJywgJ2N0eVRhcExpa2UnLCAnY3R5VGFwQ29sbGVjdCcsICdjdHlUYXBTaGFyZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVmlkZW9DdXN0b21FdmVudERldGFpbCBhcyBJQ3R5Q2FudmFzVmlkZW9WaWRlb0N1c3RvbUV2ZW50RGV0YWlsIH0gZnJvbSAnY3R5LW11aS1jb3JlJztcbmltcG9ydCB0eXBlIHsgVmlkZW9Db21tb25DdXN0b21FdmVudERldGFpbCBhcyBJQ3R5Q2FudmFzVmlkZW9WaWRlb0NvbW1vbkN1c3RvbUV2ZW50RGV0YWlsIH0gZnJvbSAnY3R5LW11aS1jb3JlJztcbmltcG9ydCB0eXBlIHsgVmlkZW9TdGF0ZURldGFpbCBhcyBJQ3R5Q2FudmFzVmlkZW9WaWRlb1N0YXRlRGV0YWlsIH0gZnJvbSAnY3R5LW11aS1jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUNhbnZhc1ZpZGVvIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlDYW52YXNWaWRlbyB7XG5cbiAgY3R5U2xpZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5Q2FudmFzVmlkZW9WaWRlb0N1c3RvbUV2ZW50RGV0YWlsPj47XG5cbiAgY3R5U2xpZGVQcmV2OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVNsaWRlTmV4dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlMb25nUHJlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5Q2FudmFzVmlkZW9WaWRlb0NvbW1vbkN1c3RvbUV2ZW50RGV0YWlsPj47XG5cbiAgY3R5VmlkZW9VcGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5Q2FudmFzVmlkZW9WaWRlb1N0YXRlRGV0YWlsPj47XG5cbiAgY3R5VmlkZW9FbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5VGFwTmFtZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlDYW52YXNWaWRlb1ZpZGVvQ29tbW9uQ3VzdG9tRXZlbnREZXRhaWw+PjtcblxuICBjdHlUYXBBdmF0YXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5Q2FudmFzVmlkZW9WaWRlb0NvbW1vbkN1c3RvbUV2ZW50RGV0YWlsPj47XG5cbiAgY3R5VGFwTGlrZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlDYW52YXNWaWRlb1ZpZGVvQ29tbW9uQ3VzdG9tRXZlbnREZXRhaWw+PjtcblxuICBjdHlUYXBDb2xsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUN0eUNhbnZhc1ZpZGVvVmlkZW9Db21tb25DdXN0b21FdmVudERldGFpbD4+O1xuXG4gIGN0eVRhcFNoYXJlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUN0eUNhbnZhc1ZpZGVvVmlkZW9Db21tb25DdXN0b21FdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdiYWNrZHJvcERpc21pc3MnLCAnY2FuY2VsVGV4dCcsICdjYXNjYWRlJywgJ2NoaWxkcmVuS2V5JywgJ2NvbHVtbnMnLCAnY29sdW1uc0NvdW50JywgJ2NvbmZpcm1UZXh0JywgJ2Nzc0NsYXNzJywgJ2RlZmF1bHRWYWx1ZXMnLCAnZW50ZXJBbmltYXRpb24nLCAnbGVhdmVBbmltYXRpb24nLCAnb3B0aW9uQ291bnQnLCAnb3B0aW9uSGVpZ2h0JywgJ3Jvb3QnLCAndGV4dEtleScsICd0aXRsZScsICd0cmlnZ2VyJywgJ3R5cGUnLCAndmFsdWVLZXknXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAnb25EaWREaXNtaXNzJywgJ29uV2lsbERpc21pc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1jYXNjYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2NhbmNlbFRleHQnLCAnY2FzY2FkZScsICdjaGlsZHJlbktleScsICdjb2x1bW5zJywgJ2NvbHVtbnNDb3VudCcsICdjb25maXJtVGV4dCcsICdjc3NDbGFzcycsICdkZWZhdWx0VmFsdWVzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2xlYXZlQW5pbWF0aW9uJywgJ29wdGlvbkNvdW50JywgJ29wdGlvbkhlaWdodCcsICdyb290JywgJ3RleHRLZXknLCAndGl0bGUnLCAndHJpZ2dlcicsICd0eXBlJywgJ3ZhbHVlS2V5J10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eUNhc2NhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5Q2FzY2FkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlEaXNtaXNzJywgJ2N0eUNoYW5nZScsICdjdHlDb21maXJtJywgJ2N0eURpZFByZXNlbnQnLCAnY3R5V2lsbFByZXNlbnQnLCAnY3R5V2lsbERpc21pc3MnLCAnY3R5RGlkRGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ2FzY2FkZXJPcHRpb24gYXMgSUN0eUNhc2NhZGVyQ2FzY2FkZXJPcHRpb24gfSBmcm9tICdjdHktbXVpLWNvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5Q2FzY2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUNhc2NhZGVyIHtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PChzdHJpbmcgfCBudW1iZXIpW10+PjtcblxuICBjdHlDb21maXJtOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZXM6IChzdHJpbmcgfCBudW1iZXIpW107IGluZGV4ZXM6IG51bWJlcltdOyBvcHRpb25zOiBJQ3R5Q2FzY2FkZXJDYXNjYWRlck9wdGlvbltdOyB9Pj47XG5cbiAgY3R5RGlkUHJlc2VudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlXaWxsUHJlc2VudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlXaWxsRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlEaWREaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9ja3dpc2UnLCAnY29sb3InLCAncmFkJywgJ3JhdGUnLCAndGV4dCcsICd3aWR0aCcsICd6ZXJvVHJhbnNwYXJlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1jaXJjbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb2Nrd2lzZScsICdjb2xvcicsICdyYWQnLCAncmF0ZScsICd0ZXh0JywgJ3dpZHRoJywgJ3plcm9UcmFuc3BhcmVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlDaXJjbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlDaXJjbGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlDaXJjbGUgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUNpcmNsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvU3RhcnQnLCAnZGF0ZUZvcm1hdFVuaXQnLCAnZm9ybWF0JywgJ21pbGxpc2Vjb25kJywgJ3RpbWUnLCAndW5pdCddLFxuICBtZXRob2RzOiBbJ3N0YXJ0JywgJ3Jlc2V0JywgJ3BhdXNlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktY291bnQtZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b1N0YXJ0JywgJ2RhdGVGb3JtYXRVbml0JywgJ2Zvcm1hdCcsICdtaWxsaXNlY29uZCcsICd0aW1lJywgJ3VuaXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5Q291bnREb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5Q291bnREb3duRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5Q2hhbmdlJywgJ2N0eUZpbmlzaCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZUZvcm1hdCBhcyBJQ3R5Q291bnREb3duRGF0ZUZvcm1hdCB9IGZyb20gJ2N0eS1tdWktY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlDb3VudERvd24gZXh0ZW5kcyBDb21wb25lbnRzLkN0eUNvdW50RG93biB7XG5cbiAgY3R5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUN0eUNvdW50RG93bkRhdGVGb3JtYXQ+PjtcblxuICBjdHlGaW5pc2g6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhbmNlbFRleHQnLCAnY29uZmlybVRleHQnLCAnaW1hZ2VCYWNrZ3JvdW5kJywgJ2ltYWdlV2lkdGgnLCAnbWF4U2NhbGUnLCAnbWluU2NhbGUnLCAncXVhbGl0eScsICdzdWZmaXgnLCAndXJsJ10sXG4gIG1ldGhvZHM6IFsnZ2V0Q2FudmFzSW1nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktY3JvcC1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FuY2VsVGV4dCcsICdjb25maXJtVGV4dCcsICdpbWFnZUJhY2tncm91bmQnLCAnaW1hZ2VXaWR0aCcsICdtYXhTY2FsZScsICdtaW5TY2FsZScsICdxdWFsaXR5JywgJ3N1ZmZpeCcsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5Q3JvcEltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5Q3JvcEltYWdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5Q2FuY2VsJywgJ2N0eUNvbmZpcm0nXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFJlc291cmNlUmVzdWx0IGFzIElDdHlDcm9wSW1hZ2VSZXNvdXJjZVJlc3VsdCB9IGZyb20gJ2N0eS1tdWktY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlDcm9wSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUNyb3BJbWFnZSB7XG5cbiAgY3R5Q2FuY2VsOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eUNvbmZpcm06IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5Q3JvcEltYWdlUmVzb3VyY2VSZXN1bHQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGxhY2VtZW50JywgJ3ZlcnRpY2FsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncGxhY2VtZW50JywgJ3ZlcnRpY2FsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eURpdmlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlEaXZpZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5RGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuQ3R5RGl2aWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdpbWFnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWVtcHR5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdpbWFnZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlFbXB0eSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUVtcHR5RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5RW1wdHkgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUVtcHR5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F4aXMnLCAnZ2FwJywgJ2ljb24nLCAnbWFnbmV0aWMnLCAnb2Zmc2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktZmxvYXRpbmctYnViYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydheGlzJywgJ2dhcCcsICdpY29uJywgJ21hZ25ldGljJywgJ29mZnNldCddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlGbG9hdGluZ0J1YmJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUZsb2F0aW5nQnViYmxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5TW92ZVN0YXJ0JywgJ2N0eU1vdmUnLCAnY3R5TW92ZUVuZCcsICdjdHlDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRmxvYXRpbmdCdWJibGVPZmZzZXQgYXMgSUN0eUZsb2F0aW5nQnViYmxlRmxvYXRpbmdCdWJibGVPZmZzZXQgfSBmcm9tICdjdHktbXVpLWNvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5RmxvYXRpbmdCdWJibGUgZXh0ZW5kcyBDb21wb25lbnRzLkN0eUZsb2F0aW5nQnViYmxlIHtcblxuICBjdHlNb3ZlU3RhcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5RmxvYXRpbmdCdWJibGVGbG9hdGluZ0J1YmJsZU9mZnNldD4+O1xuXG4gIGN0eU1vdmU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5RmxvYXRpbmdCdWJibGVGbG9hdGluZ0J1YmJsZU9mZnNldD4+O1xuXG4gIGN0eU1vdmVFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5RmxvYXRpbmdCdWJibGVGbG9hdGluZ0J1YmJsZU9mZnNldD4+O1xuXG4gIGN0eUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUN0eUZsb2F0aW5nQnViYmxlRmxvYXRpbmdCdWJibGVPZmZzZXQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5jaG9ycycsICdjb250ZW50RHJhZ2dhYmxlJywgJ2RhbXAnLCAnZW5kQW5jaG9yJywgJ2ljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1mbG9hdGluZy1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5jaG9ycycsICdjb250ZW50RHJhZ2dhYmxlJywgJ2RhbXAnLCAnZW5kQW5jaG9yJywgJ2ljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5RmxvYXRpbmdQYW5lbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUZsb2F0aW5nUGFuZWxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlIZWlnaHRDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5RmxvYXRpbmdQYW5lbCBleHRlbmRzIENvbXBvbmVudHMuQ3R5RmxvYXRpbmdQYW5lbCB7XG5cbiAgY3R5SGVpZ2h0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2ZsaXBSdGwnLCAnbGF6eScsICduYW1lJywgJ3Nhbml0aXplJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xvcicsICdmbGlwUnRsJywgJ2xhenknLCAnbmFtZScsICdzYW5pdGl6ZScsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlJY29uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5SWNvbiBleHRlbmRzIENvbXBvbmVudHMuQ3R5SWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRJY29uJywgJ2FkZEltYWdlJywgJ2NhbWVyYVBob3RvT3B0aW9ucycsICdjb3VudCcsICdkZWxldGVhYmxlJywgJ2ltYWdlVmlld2VyJywgJ2ltYWdlVmlld2VyT3B0aW9ucycsICdpbWFnZXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1pbWFnZS11cGxvYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZEljb24nLCAnYWRkSW1hZ2UnLCAnY2FtZXJhUGhvdG9PcHRpb25zJywgJ2NvdW50JywgJ2RlbGV0ZWFibGUnLCAnaW1hZ2VWaWV3ZXInLCAnaW1hZ2VWaWV3ZXJPcHRpb25zJywgJ2ltYWdlcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlJbWFnZVVwbG9hZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUltYWdlVXBsb2FkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5SW1hZ2VQaWNrZXInLCAnY3R5QWRkSW1hZ2VUYXAnLCAnY3R5SW1hZ2VUYXAnLCAnY3R5RGVsZXRlSW1hZ2UnLCAnY3RJbWFnZVZpZXdlckRpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEltYWdlT3B0aW9uIGFzIElDdHlJbWFnZVVwbG9hZEltYWdlT3B0aW9uIH0gZnJvbSAnY3R5LW11aS1jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUltYWdlVXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlJbWFnZVVwbG9hZCB7XG5cbiAgY3R5SW1hZ2VQaWNrZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5SW1hZ2VVcGxvYWRJbWFnZU9wdGlvbltdPj47XG5cbiAgY3R5QWRkSW1hZ2VUYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5SW1hZ2VUYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxuICBjdHlEZWxldGVJbWFnZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlJbWFnZVVwbG9hZEltYWdlT3B0aW9uW10+PjtcblxuICBjdEltYWdlVmlld2VyRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYXR0cnMnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NlYWJsZScsICdjc3NDbGFzcycsICdlbnRlckFuaW1hdGlvbicsICdpbWFnZXMnLCAnaW5pdGlhbFNsaWRlJywgJ2xlYXZlQW5pbWF0aW9uJywgJ2xvb3AnLCAncGFnZXInLCAncm9vdCcsICdzcGVlZCcsICd0cmlnZ2VyJywgJ3pvb20nXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAnb25EaWREaXNtaXNzJywgJ29uV2lsbERpc21pc3MnLCAnc2xpZGVUbyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWltYWdlLXZpZXdlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYXR0cnMnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NlYWJsZScsICdjc3NDbGFzcycsICdlbnRlckFuaW1hdGlvbicsICdpbWFnZXMnLCAnaW5pdGlhbFNsaWRlJywgJ2xlYXZlQW5pbWF0aW9uJywgJ2xvb3AnLCAncGFnZXInLCAncm9vdCcsICdzcGVlZCcsICd0cmlnZ2VyJywgJ3pvb20nXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5SW1hZ2VWaWV3ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlJbWFnZVZpZXdlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eURpc21pc3MnLCAnY3R5U2xpZGVDaGFuZ2UnLCAnY3R5RGlkUHJlc2VudCcsICdjdHlXaWxsUHJlc2VudCcsICdjdHlXaWxsRGlzbWlzcycsICdjdHlEaWREaXNtaXNzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUltYWdlVmlld2VyIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlJbWFnZVZpZXdlciB7XG5cbiAgY3R5RGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlTbGlkZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG4gIGN0eURpZFByZXNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5V2lsbFByZXNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5V2lsbERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5RGlkRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxwaGFiZXQnLCAnYWxwaGFiZXRzJywgJ2R1cmF0aW9uJywgJ2luZGV4TGlzdCcsICdvZmZzZXREaWZmJywgJ3N0aWNreScsICdzdGlja3lUb3AnLCAnc3VtJ10sXG4gIG1ldGhvZHM6IFsnc2Nyb2xsVG9JbmRleCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWluZGV4LWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxwaGFiZXQnLCAnYWxwaGFiZXRzJywgJ2R1cmF0aW9uJywgJ2luZGV4TGlzdCcsICdvZmZzZXREaWZmJywgJ3N0aWNreScsICdzdGlja3lUb3AnLCAnc3VtJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eUluZGV4QmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5SW5kZXhCYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlTY3JvbGxUb1BvaW50J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eUluZGV4QmFyIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlJbmRleEJhciB7XG5cbiAgY3R5U2Nyb2xsVG9Qb2ludDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWtleWJvYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eUtleWJvYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5S2V5Ym9hcmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlLZXlib2FyZCBleHRlbmRzIENvbXBvbmVudHMuQ3R5S2V5Ym9hcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nzc0NsYXNzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2ltZycsICdsZWF2ZUFuaW1hdGlvbicsICdyb290JywgJ3NwaW5uZXInLCAndHJpZ2dlcicsICd2ZXJ0aWNhbCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdvbkRpZERpc21pc3MnLCAnb25XaWxsRGlzbWlzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LWxvYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2JhY2tkcm9wRGlzbWlzcycsICdjc3NDbGFzcycsICdlbnRlckFuaW1hdGlvbicsICdpbWcnLCAnbGVhdmVBbmltYXRpb24nLCAncm9vdCcsICdzcGlubmVyJywgJ3RyaWdnZXInLCAndmVydGljYWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5TG9hZGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eUxvYWRpbmdFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlEaXNtaXNzJywgJ2N0eURpZFByZXNlbnQnLCAnY3R5V2lsbFByZXNlbnQnLCAnY3R5V2lsbERpc21pc3MnLCAnY3R5RGlkRGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlMb2FkaW5nIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlMb2FkaW5nIHtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eURpZFByZXNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5V2lsbFByZXNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5V2lsbERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5RGlkRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnY2FwdHVyZVRpbWUnLCAnY2xvc2VJY29uJywgJ2NvbmZpcm1UZXh0JywgJ2NvbnRyb2xzJywgJ2xvb3AnLCAnb3B0aW9ucycsICdwb3N0ZXInLCAncmV2b2NhdGlvbkljb24nLCAndGltZUxpbWl0J10sXG4gIG1ldGhvZHM6IFsnc3RhcnRWaWRlb0NhcHR1cmUnLCAnc3RvcFZpZGVvQ2FwdHVyZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LW1lZGlhLWNhcHR1cmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9wbGF5JywgJ2NhcHR1cmVUaW1lJywgJ2Nsb3NlSWNvbicsICdjb25maXJtVGV4dCcsICdjb250cm9scycsICdsb29wJywgJ29wdGlvbnMnLCAncG9zdGVyJywgJ3Jldm9jYXRpb25JY29uJywgJ3RpbWVMaW1pdCddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlNZWRpYUNhcHR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlNZWRpYUNhcHR1cmVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlEaXNtaXNzJywgJ2N0eUNvbXBsZXRlJywgJ2N0eVN0YXJ0JywgJ2N0eVN0b3AnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFJlc291cmNlUmVzdWx0IGFzIElDdHlNZWRpYUNhcHR1cmVSZXNvdXJjZVJlc3VsdCB9IGZyb20gJ2N0eS1tdWktY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlNZWRpYUNhcHR1cmUgZXh0ZW5kcyBDb21wb25lbnRzLkN0eU1lZGlhQ2FwdHVyZSB7XG5cbiAgY3R5RGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlNZWRpYUNhcHR1cmVSZXNvdXJjZVJlc3VsdD4+O1xuXG4gIGN0eVN0YXJ0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVN0b3A6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2VuZCcsICdzdGFydCcsICd0aXRsZScsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktbmF2LWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJyb3cnLCAnZW5kJywgJ3N0YXJ0JywgJ3RpdGxlJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5TmF2QmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5TmF2QmFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5RGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlOYXZCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkN0eU5hdkJhciB7XG5cbiAgY3R5RGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZW5kSWNvbicsICdzY3JvbGxhYmxlJywgJ3NwZWVkJywgJ3N0YXJ0SWNvbicsICd0ZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktbm90aWNlLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZW5kSWNvbicsICdzY3JvbGxhYmxlJywgJ3NwZWVkJywgJ3N0YXJ0SWNvbicsICd0ZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eU5vdGljZUJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eU5vdGljZUJhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eUljb25UYXAnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5Tm90aWNlQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlOb3RpY2VCYXIge1xuXG4gIGN0eUljb25UYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nzc0NsYXNzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2h0bWwnLCAnbGVhdmVBbmltYXRpb24nLCAncG9zaXRpb24nLCAncm9vdCcsICd0cmlnZ2VyJ10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ29uRGlkRGlzbWlzcycsICdvbldpbGxEaXNtaXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktb3ZlcmxheScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nzc0NsYXNzJywgJ2VudGVyQW5pbWF0aW9uJywgJ2h0bWwnLCAnbGVhdmVBbmltYXRpb24nLCAncG9zaXRpb24nLCAncm9vdCcsICd0cmlnZ2VyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eU92ZXJsYXkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlPdmVybGF5RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5RGlzbWlzcycsICdjdHlEaWRQcmVzZW50JywgJ2N0eVdpbGxQcmVzZW50JywgJ2N0eVdpbGxEaXNtaXNzJywgJ2N0eURpZERpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5T3ZlcmxheSBleHRlbmRzIENvbXBvbmVudHMuQ3R5T3ZlcmxheSB7XG5cbiAgY3R5RGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlEaWRQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eURpZERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3VybCcsICd2aWV3ZXJVcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1wZGYtdmlld2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd1cmwnLCAndmlld2VyVXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVBkZlZpZXdlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVBkZlZpZXdlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eUluaXQnLCAnY3R5RW5kJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVBkZlZpZXdlciBleHRlbmRzIENvbXBvbmVudHMuQ3R5UGRmVmlld2VyIHtcblxuICBjdHlJbml0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eUVuZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1lc3NhZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZHJvcERpc21pc3MnLCAnZGVzY3JpcHRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1wZXJtaXNzaW9uLXB1cnBvc2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tkcm9wRGlzbWlzcycsICdkZXNjcmlwdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlQZXJtaXNzaW9uUHVycG9zZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVBlcm1pc3Npb25QdXJwb3NlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5RGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlQZXJtaXNzaW9uUHVycG9zZSBleHRlbmRzIENvbXBvbmVudHMuQ3R5UGVybWlzc2lvblB1cnBvc2Uge1xuXG4gIGN0eURpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3BlcmNlbnRhZ2UnLCAncGl2b3QnLCAncGl2b3RUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktcHJvZ3Jlc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3BlcmNlbnRhZ2UnLCAncGl2b3QnLCAncGl2b3RUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVByb2dyZXNzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5UHJvZ3Jlc3NFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlQcm9ncmVzcyBleHRlbmRzIENvbXBvbmVudHMuQ3R5UHJvZ3Jlc3Mge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sJywgJ29wdGlvbnMnLCAncGFwZXInLCAncHJvcHMnLCAncXVpY2tUaHJlc2hvbGQnLCAncm93JywgJ3NsaWRlVGhyZXNob2xkJywgJ3RyYW5zaXRpb24nXSxcbiAgbWV0aG9kczogWydnZXRDdXJyZW50UGFnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LXF1aWNrLWFjY2VzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sJywgJ29wdGlvbnMnLCAncGFwZXInLCAncHJvcHMnLCAncXVpY2tUaHJlc2hvbGQnLCAncm93JywgJ3NsaWRlVGhyZXNob2xkJywgJ3RyYW5zaXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5UXVpY2tBY2Nlc3Mge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlRdWlja0FjY2Vzc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eVRhcCcsICdjdHlTbGlkZScsICdjdHlTbGlkZUVuZCcsICdjdHlJbml0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVF1aWNrQWNjZXNzIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlRdWlja0FjY2VzcyB7XG5cbiAgY3R5VGFwOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8b2JqZWN0Pj47XG5cbiAgY3R5U2xpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5U2xpZGVFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxuICBjdHlJbml0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyYWJsZScsICdjb3VudCcsICdkaXNhYmxlZCcsICdoYWxmJywgJ2ljb24nLCAncmVhZG9ubHknLCAndG91Y2hhYmxlJywgJ3ZhbHVlJywgJ3ZvaWRJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktcmF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xlYXJhYmxlJywgJ2NvdW50JywgJ2Rpc2FibGVkJywgJ2hhbGYnLCAnaWNvbicsICdyZWFkb25seScsICd0b3VjaGFibGUnLCAndmFsdWUnLCAndm9pZEljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5UmF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVJhdGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5UmF0ZSBleHRlbmRzIENvbXBvbmVudHMuQ3R5UmF0ZSB7XG5cbiAgY3R5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2JhY2tkcm9wRGlzbWlzcycsICdjaXJjbGVDb2xvcicsICdjaXJjbGVXaWR0aCcsICdjbG9zZWFibGUnLCAnY3NzQ2xhc3MnLCAnZW50ZXJBbmltYXRpb24nLCAnbGVhdmVBbmltYXRpb24nLCAnbWF4U2Vjb25kcycsICdtaW5TZWNvbmRzJywgJ3Jvb3QnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdvbkRpZERpc21pc3MnLCAnb25XaWxsRGlzbWlzcycsICdyZXNldFJlY29yZFN0YXRlJywgJ3N0YXJ0UmVjb3JkJywgJ3N0b3BSZWNvcmRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1yZWNvcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2JhY2tkcm9wRGlzbWlzcycsICdjaXJjbGVDb2xvcicsICdjaXJjbGVXaWR0aCcsICdjbG9zZWFibGUnLCAnY3NzQ2xhc3MnLCAnZW50ZXJBbmltYXRpb24nLCAnbGVhdmVBbmltYXRpb24nLCAnbWF4U2Vjb25kcycsICdtaW5TZWNvbmRzJywgJ3Jvb3QnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlSZWNvcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlSZWNvcmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlSZWNvcmRTdGFydCcsICdjdHlSZWNvcmRpbmcnLCAnY3R5UmVjb3JkRW5kJywgJ2N0eVJlY29yZENvbXBsZXRlJywgJ2N0eURpc21pc3MnLCAnY3R5RGlkUHJlc2VudCcsICdjdHlXaWxsUHJlc2VudCcsICdjdHlXaWxsRGlzbWlzcycsICdjdHlEaWREaXNtaXNzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVJlY29yZCBleHRlbmRzIENvbXBvbmVudHMuQ3R5UmVjb3JkIHtcblxuICBjdHlSZWNvcmRTdGFydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlSZWNvcmRpbmc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5UmVjb3JkRW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8b2JqZWN0Pj47XG5cbiAgY3R5UmVjb3JkQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxvYmplY3Q+PjtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eURpZFByZXNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5V2lsbFByZXNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5V2lsbERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5RGlkRGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0hlaWdodCcsICdsYXlvdXQnLCAnb2JzZXJ2ZXInLCAnb2JzZXJ2ZXJQYXJlbnRzJywgJ3NlZ21lbnRQcm9wcycsICdzZWdtZW50cycsICd0b3AnXSxcbiAgbWV0aG9kczogWydkb1NsaWRlVG8nLCAnZ2V0QWN0aXZlSW5kZXgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1zZWdtZW50LXNsaWRlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b0hlaWdodCcsICdsYXlvdXQnLCAnb2JzZXJ2ZXInLCAnb2JzZXJ2ZXJQYXJlbnRzJywgJ3NlZ21lbnRQcm9wcycsICdzZWdtZW50cycsICd0b3AnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5U2VnbWVudFNsaWRlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVNlZ21lbnRTbGlkZXNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlTbGlkZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlTZWdtZW50U2xpZGVzIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlTZWdtZW50U2xpZGVzIHtcblxuICBjdHlTbGlkZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdiYWNrZHJvcERpc21pc3MnLCAnY2FuY2VsVGV4dCcsICdjc3NDbGFzcycsICdkZXNjcmlwdGlvbicsICdlbnRlckFuaW1hdGlvbicsICdndWlkZScsICdndWlkZUltZycsICdoaWRkZW5TaGVldCcsICdsZWF2ZUFuaW1hdGlvbicsICdsZWdhY3lDb3B5JywgJ29wdGlvbnMnLCAncGVybWlzc2lvbkRlc2NyaXB0aW9uJywgJ3Blcm1pc3Npb25QdXJwb3NlJywgJ3Jvb3QnLCAnc2hhcmVPcHRpb24nLCAndGl0bGUnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdvbkRpZERpc21pc3MnLCAnb25XaWxsRGlzbWlzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LXNoYXJlLXNoZWV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRlZCcsICdiYWNrZHJvcERpc21pc3MnLCAnY2FuY2VsVGV4dCcsICdjc3NDbGFzcycsICdkZXNjcmlwdGlvbicsICdlbnRlckFuaW1hdGlvbicsICdndWlkZScsICdndWlkZUltZycsICdoaWRkZW5TaGVldCcsICdsZWF2ZUFuaW1hdGlvbicsICdsZWdhY3lDb3B5JywgJ29wdGlvbnMnLCAncGVybWlzc2lvbkRlc2NyaXB0aW9uJywgJ3Blcm1pc3Npb25QdXJwb3NlJywgJ3Jvb3QnLCAnc2hhcmVPcHRpb24nLCAndGl0bGUnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlTaGFyZVNoZWV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5U2hhcmVTaGVldEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eURpc21pc3MnLCAnY3R5VGFwJywgJ2N0eVNoYXJlU3VjY2VzcycsICdjdHlTaGFyZUZhaWwnLCAnY3R5R3VpZGUnLCAnY3R5RGlkUHJlc2VudCcsICdjdHlXaWxsUHJlc2VudCcsICdjdHlXaWxsRGlzbWlzcycsICdjdHlEaWREaXNtaXNzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaGFyZVNoZWV0RXZlbnREZXRhaWwgYXMgSUN0eVNoYXJlU2hlZXRTaGFyZVNoZWV0RXZlbnREZXRhaWwgfSBmcm9tICdjdHktbXVpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBTaGFyZVNoZWV0RmFpbEV2ZW50RGV0YWlsIGFzIElDdHlTaGFyZVNoZWV0U2hhcmVTaGVldEZhaWxFdmVudERldGFpbCB9IGZyb20gJ2N0eS1tdWktY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlTaGFyZVNoZWV0IGV4dGVuZHMgQ29tcG9uZW50cy5DdHlTaGFyZVNoZWV0IHtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVRhcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlTaGFyZVNoZWV0U2hhcmVTaGVldEV2ZW50RGV0YWlsPj47XG5cbiAgY3R5U2hhcmVTdWNjZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUN0eVNoYXJlU2hlZXRTaGFyZVNoZWV0RXZlbnREZXRhaWw+PjtcblxuICBjdHlTaGFyZUZhaWw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJQ3R5U2hhcmVTaGVldFNoYXJlU2hlZXRGYWlsRXZlbnREZXRhaWw+PjtcblxuICBjdHlHdWlkZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlEaWRQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eURpZERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktc3RlcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlTdGVwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5U3RlcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVN0ZXAgZXh0ZW5kcyBDb21wb25lbnRzLkN0eVN0ZXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZUlucHV0JywgJ2Rpc2FibGVNaW51cycsICdkaXNhYmxlUGx1cycsICdkaXNhYmxlZCcsICdpbnRlZ2VyJywgJ21heCcsICdtaW4nLCAnbWludXNUZXh0JywgJ3BsdXNUZXh0JywgJ3JlYWRvbmx5JywgJ3Nob3dJbnB1dCcsICdzaG93TWludXMnLCAnc2hvd1BsdXMnLCAnc3RlcCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2hhbmRsZU1pbnVzJywgJ2hhbmRsZVBsdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1zdGVwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlSW5wdXQnLCAnZGlzYWJsZU1pbnVzJywgJ2Rpc2FibGVQbHVzJywgJ2Rpc2FibGVkJywgJ2ludGVnZXInLCAnbWF4JywgJ21pbicsICdtaW51c1RleHQnLCAncGx1c1RleHQnLCAncmVhZG9ubHknLCAnc2hvd0lucHV0JywgJ3Nob3dNaW51cycsICdzaG93UGx1cycsICdzdGVwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlTdGVwcGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5TWludXMnLCAnY3R5UGx1cycsICdjdHlCbHVyJywgJ2N0eUNoYW5nZScsICdjdHlGb2N1cyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlTdGVwcGVyIHtcblxuICBjdHlNaW51czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlciB8IHN0cmluZz4+O1xuXG4gIGN0eVBsdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXIgfCBzdHJpbmc+PjtcblxuICBjdHlCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8e3ZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGV2ZW50OiBGb2N1c0V2ZW50fT4+O1xuXG4gIGN0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlciB8IHN0cmluZz4+O1xuXG4gIGN0eUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8e3ZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGV2ZW50OiBGb2N1c0V2ZW50fT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWN0aXZlSWNvbicsICdkaXJlY3Rpb24nLCAnZmluaXNoSWNvbicsICdpbmFjdGl2ZUljb24nXSxcbiAgbWV0aG9kczogWydvbkNsaWNrU3RlcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWN0aXZlSWNvbicsICdkaXJlY3Rpb24nLCAnZmluaXNoSWNvbicsICdpbmFjdGl2ZUljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3R5U3RlcHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlTdGVwc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eVN0ZXBUYXAnLCAnY3R5Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVN0ZXBzIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlTdGVwcyB7XG5cbiAgY3R5U3RlcFRhcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG4gIGN0eUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvcGxheScsICdkdXJhdGlvbicsICdpbmRpY2F0b3InLCAnaW5pdGlhbFN3aXBlJywgJ2xvb3AnLCAndG91Y2hhYmxlJywgJ3ZlcnRpY2FsJ10sXG4gIG1ldGhvZHM6IFsncHJldicsICduZXh0JywgJ3N3aXBlVG8nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0eS1zd2lwZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnZHVyYXRpb24nLCAnaW5kaWNhdG9yJywgJ2luaXRpYWxTd2lwZScsICdsb29wJywgJ3RvdWNoYWJsZScsICd2ZXJ0aWNhbCddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlTd2lwZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVN3aXBlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5Q2hhbmdlJywgJ2N0eURyYWdTdGFydCcsICdjdHlEcmFnRW5kJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVN3aXBlIGV4dGVuZHMgQ29tcG9uZW50cy5DdHlTd2lwZSB7XG5cbiAgY3R5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5RHJhZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5RHJhZ0VuZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIG1ldGhvZHM6IFsnc2V0T2Zmc2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktc3dpcGUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlTd2lwZUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlTd2lwZUl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlTd2lwZUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkN0eVN3aXBlSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdHRycycsICdhdXRvcGxheScsICdkaXJlY3Rpb24nLCAnbG9vcCcsICdvYnNlcnZlcicsICdvYnNlcnZlclBhcmVudHMnLCAncGFnaW5hdGlvbicsICdwcm9wcycsICdzd2lwZXJNb2R1bGVzJywgJ3N3aXBlcnMnXSxcbiAgbWV0aG9kczogWydyZWZyZXNoU3dpcGVyJywgJ25leHQnLCAncHJldicsICdzbGlkZVRvJywgJ2dldFN3aXBlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LXN3aXBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXR0cnMnLCAnYXV0b3BsYXknLCAnZGlyZWN0aW9uJywgJ2xvb3AnLCAnb2JzZXJ2ZXInLCAnb2JzZXJ2ZXJQYXJlbnRzJywgJ3BhZ2luYXRpb24nLCAncHJvcHMnLCAnc3dpcGVyTW9kdWxlcycsICdzd2lwZXJzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVN3aXBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVN3aXBlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eVNsaWRlQ2hhbmdlJywgJ2N0eVNsaWRlQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN3aXBlclJlc3VsdCBhcyBJQ3R5U3dpcGVyU3dpcGVyUmVzdWx0IH0gZnJvbSAnY3R5LW11aS1jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEN0eVN3aXBlciBleHRlbmRzIENvbXBvbmVudHMuQ3R5U3dpcGVyIHtcblxuICBjdHlTbGlkZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElDdHlTd2lwZXJTd2lwZXJSZXN1bHQ+PjtcblxuICBjdHlTbGlkZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUN0eVN3aXBlclN3aXBlclJlc3VsdD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xsYXBzZVRleHQnLCAnY29udGVudCcsICdkb3RzJywgJ2V4cGFuZFRleHQnLCAncG9zaXRpb24nLCAncm93cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LXRleHQtZWxsaXBzaXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlVGV4dCcsICdjb250ZW50JywgJ2RvdHMnLCAnZXhwYW5kVGV4dCcsICdwb3NpdGlvbicsICdyb3dzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVRleHRFbGxpcHNpcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVRleHRFbGxpcHNpc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0eUV4cGFuZENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdHlUZXh0RWxsaXBzaXMgZXh0ZW5kcyBDb21wb25lbnRzLkN0eVRleHRFbGxpcHNpcyB7XG5cbiAgY3R5RXhwYW5kQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcnJvdycsICdiYWNrZHJvcERpc21pc3MnLCAnY2xvc2VhYmxlJywgJ2NvbXBsZXRlVGV4dCcsICdjc3NDbGFzcycsICdpbml0aWFsSW5kZXgnLCAnbmV4dFRleHQnLCAncGxhY2VtZW50JywgJ3BvcG92ZXJBdHRycycsICdwcmV2VGV4dCcsICdzaG93UHJldicsICdzdGVwcyddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdwcmV2U3RlcCcsICduZXh0U3RlcCcsICdjb21wbGV0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3R5LXRvdXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2JhY2tkcm9wRGlzbWlzcycsICdjbG9zZWFibGUnLCAnY29tcGxldGVUZXh0JywgJ2Nzc0NsYXNzJywgJ2luaXRpYWxJbmRleCcsICduZXh0VGV4dCcsICdwbGFjZW1lbnQnLCAncG9wb3ZlckF0dHJzJywgJ3ByZXZUZXh0JywgJ3Nob3dQcmV2JywgJ3N0ZXBzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVRvdXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxDdHlUb3VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5Q2hhbmdlJywgJ2N0eURpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5VG91ciBleHRlbmRzIENvbXBvbmVudHMuQ3R5VG91ciB7XG5cbiAgY3R5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5RGlzbWlzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYXV0b3BsYXknLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Jhbm5lcnMnLCAnY2xvc2VhYmxlJywgJ2Nzc0NsYXNzJywgJ2R1cmF0aW9uJywgJ2VudGVyQW5pbWF0aW9uJywgJ2luZGljYXRvcicsICdpbml0aWFsSW5kZXgnLCAnbGVhdmVBbmltYXRpb24nLCAnbG9vcCcsICdwcm9wcycsICdyb290JywgJ3RvdWNoYWJsZScsICd0cmlnZ2VyJywgJ3ZlcnRpY2FsJ10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ29uRGlkRGlzbWlzcycsICdvbldpbGxEaXNtaXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktdHV0b3JpYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJywgJ2F1dG9wbGF5JywgJ2JhY2tkcm9wRGlzbWlzcycsICdiYW5uZXJzJywgJ2Nsb3NlYWJsZScsICdjc3NDbGFzcycsICdkdXJhdGlvbicsICdlbnRlckFuaW1hdGlvbicsICdpbmRpY2F0b3InLCAnaW5pdGlhbEluZGV4JywgJ2xlYXZlQW5pbWF0aW9uJywgJ2xvb3AnLCAncHJvcHMnLCAncm9vdCcsICd0b3VjaGFibGUnLCAndHJpZ2dlcicsICd2ZXJ0aWNhbCddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlUdXRvcmlhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVR1dG9yaWFsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5RGlzbWlzcycsICdjdHlTbGlkZUNoYW5nZScsICdjdHlTbGlkZVRhcCcsICdjdHlEaWRQcmVzZW50JywgJ2N0eVdpbGxQcmVzZW50JywgJ2N0eVdpbGxEaXNtaXNzJywgJ2N0eURpZERpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5VHV0b3JpYWwgZXh0ZW5kcyBDb21wb25lbnRzLkN0eVR1dG9yaWFsIHtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVNsaWRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5U2xpZGVUYXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxuICBjdHlEaWRQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxQcmVzZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVdpbGxEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eURpZERpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93QmFja3dhcmQnLCAnYWxsb3dGb3J3YXJkJywgJ2F1dG9wbGF5JywgJ2NvbnRyb2xzJywgJ2RlZmF1bHRGdWxsc2NyZWVuJywgJ2RpcmVjdFJhdGUnLCAnZGlyZWN0aW9uJywgJ2Vycm9yTXNnJywgJ2V4aXRGdWxsc2NyZWVuSWNvbicsICdmb290ZXJDdHJsJywgJ2Z1bGxzY3JlZW5JY29uJywgJ2Z1bGxzY3JlZW5Pbmx5JywgJ2hlYWRlckN0cmwnLCAnaW50ZXJhY3RpdmVBY3Rpb25zJywgJ2xhbmRzY2FwZUVudGVyVGltZXInLCAnbGFuZHNjYXBlTGVhdmVUaW1lcicsICdsb2FkaW5nJywgJ2xvYWRpbmdJbWcnLCAnbWFya2VycycsICdvcmllbnRhdGlvbicsICdwbGF5ZXInLCAncG9zdGVyJywgJ3ByZWxvYWQnLCAncHJvZ3Jlc3NQb3NpdGlvbicsICdyYXRlJywgJ3JhdGVzJywgJ3N0YXJ0VGltZScsICd0aXRsZScsICd0b2dnbGVQbGF5VGltZXInLCAndHJhZmZpY0F1dG9wbGF5JywgJ3RyYWZmaWNNc2cnLCAndW5BbGxvd0ZvcndhcmRNc2cnLCAndW5BbGxvd1JhdGVNc2cnLCAndXBkYXRlTm93JywgJ3VybCddLFxuICBtZXRob2RzOiBbJ3BsYXknLCAnc2V0Q3RybFNob3cnLCAncGF1c2UnLCAnc2V0VmlkZW9DdXJyZW50VGltZScsICd0b2dnbGVWaWRlbycsICd0b2dnbGVWb2x1bWUnLCAnc2V0UGxheVJhdGUnLCAnZ2V0VmlkZW9FbGVtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktdmlkZW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93QmFja3dhcmQnLCAnYWxsb3dGb3J3YXJkJywgJ2F1dG9wbGF5JywgJ2NvbnRyb2xzJywgJ2RlZmF1bHRGdWxsc2NyZWVuJywgJ2RpcmVjdFJhdGUnLCAnZGlyZWN0aW9uJywgJ2Vycm9yTXNnJywgJ2V4aXRGdWxsc2NyZWVuSWNvbicsICdmb290ZXJDdHJsJywgJ2Z1bGxzY3JlZW5JY29uJywgJ2Z1bGxzY3JlZW5Pbmx5JywgJ2hlYWRlckN0cmwnLCAnaW50ZXJhY3RpdmVBY3Rpb25zJywgJ2xhbmRzY2FwZUVudGVyVGltZXInLCAnbGFuZHNjYXBlTGVhdmVUaW1lcicsICdsb2FkaW5nJywgJ2xvYWRpbmdJbWcnLCAnbWFya2VycycsICdvcmllbnRhdGlvbicsICdwbGF5ZXInLCAncG9zdGVyJywgJ3ByZWxvYWQnLCAncHJvZ3Jlc3NQb3NpdGlvbicsICdyYXRlJywgJ3JhdGVzJywgJ3N0YXJ0VGltZScsICd0aXRsZScsICd0b2dnbGVQbGF5VGltZXInLCAndHJhZmZpY0F1dG9wbGF5JywgJ3RyYWZmaWNNc2cnLCAndW5BbGxvd0ZvcndhcmRNc2cnLCAndW5BbGxvd1JhdGVNc2cnLCAndXBkYXRlTm93JywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBDdHlWaWRlbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEN0eVZpZGVvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3R5RGlzbWlzcycsICdjdHlWaWRlb0NhbnBsYXknLCAnY3R5VmlkZW9UaW1ldXBkYXRlJywgJ2N0eVZpZGVvUGxheWluZycsICdjdHlWaWRlb1BsYXknLCAnY3R5VmlkZW9QYXVzZScsICdjdHlWaWRlb1N0YWxsZWQnLCAnY3R5VmlkZW9XYWl0aW5nJywgJ2N0eVZpZGVvRW5kZWQnLCAnY3R5VmlkZW9FcnJvcicsICdjdHlWaWRlb0NoYW5nZVZvbHVtZScsICdjdHlWaWRlb1Byb2dyZXNzJywgJ2N0eVZpZGVvU2NyZWVuQ2hhbmdlJywgJ2N0eVZpZGVvSUFFbnRlcicsICdjdHlWaWRlb0lBQWN0aW9uJywgJ2N0eVZpZGVvQ3RybENoYW5nZScsICdjdHlWaWRlb1JhdGVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5VmlkZW8gZXh0ZW5kcyBDb21wb25lbnRzLkN0eVZpZGVvIHtcblxuICBjdHlEaXNtaXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG4gIGN0eVZpZGVvQ2FucGxheTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlWaWRlb1RpbWV1cGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxuICBjdHlWaWRlb1BsYXlpbmc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5VmlkZW9QbGF5OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVZpZGVvUGF1c2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5VmlkZW9TdGFsbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVZpZGVvV2FpdGluZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG4gIGN0eVZpZGVvRW5kZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5VmlkZW9FcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxuICBjdHlWaWRlb0NoYW5nZVZvbHVtZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjdHlWaWRlb1Byb2dyZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgY3R5VmlkZW9TY3JlZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbiAgY3R5VmlkZW9JQUVudGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGN0eVZpZGVvSUFBY3Rpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG5cbiAgY3R5VmlkZW9DdHJsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG4gIGN0eVZpZGVvUmF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXJIZWlnaHQnLCAnZGlyZWN0aW9uJywgJ2l0ZW1LZXknLCAnaXRlbVJlbmRlcicsICdpdGVtcycsICdwcmVsb2FkSXRlbUNvdW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdHktdmlydHVhbC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXJIZWlnaHQnLCAnZGlyZWN0aW9uJywgJ2l0ZW1LZXknLCAnaXRlbVJlbmRlcicsICdpdGVtcycsICdwcmVsb2FkSXRlbUNvdW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEN0eVZpcnR1YWxMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQ3R5VmlydHVhbExpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdHlTY3JvbGwnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3R5VmlydHVhbExpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkN0eVZpcnR1YWxMaXN0IHtcblxuICBjdHlTY3JvbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuIl19
|