monkey-style-guide 2.0.123 → 2.0.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs +27 -24
- package/fesm2015/monkey-style-guide.mjs +26 -23
- package/fesm2015/monkey-style-guide.mjs.map +1 -1
- package/fesm2020/monkey-style-guide.mjs +26 -23
- package/fesm2020/monkey-style-guide.mjs.map +1 -1
- package/lib/core/services/snackbar/mokey-style-guide-snackbar.service.d.ts +5 -4
- package/monkey-style-guide-2.0.126.tgz +0 -0
- package/package.json +1 -1
- package/monkey-style-guide-2.0.123.tgz +0 -0
|
@@ -75,7 +75,7 @@ export class MonkeyStyleGuideSnackbarService {
|
|
|
75
75
|
this.timeoutBlinkTab = null;
|
|
76
76
|
this.snackbarElements = new SnackbarElements();
|
|
77
77
|
this.locationRouter.onUrlChange(() => {
|
|
78
|
-
if (this.config && !this.config?.
|
|
78
|
+
if (this.config && !this.config?.keepOnUrlChange) {
|
|
79
79
|
this.closeAll();
|
|
80
80
|
}
|
|
81
81
|
});
|
|
@@ -127,31 +127,33 @@ export class MonkeyStyleGuideSnackbarService {
|
|
|
127
127
|
buildAction(id) {
|
|
128
128
|
const { config: { type, action }, } = this;
|
|
129
129
|
if (action) {
|
|
130
|
-
const {
|
|
130
|
+
const { confirm, cancel } = action;
|
|
131
131
|
const actionElement = document.createElement('div');
|
|
132
132
|
let actionCancelElement = null, actionConfirmElement = null;
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
actionCancelElement.href = 'javascript:void(0)';
|
|
137
|
-
actionCancelElement.innerText = cancel.label;
|
|
138
|
-
}
|
|
139
|
-
if (confirm) {
|
|
133
|
+
if (confirm) {
|
|
134
|
+
const { style, label } = confirm;
|
|
135
|
+
if (style === 'link') {
|
|
140
136
|
actionConfirmElement = document.createElement('a');
|
|
141
137
|
actionConfirmElement.href = 'javascript:void(0)';
|
|
142
|
-
actionConfirmElement.innerText =
|
|
138
|
+
actionConfirmElement.innerText = label;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
actionConfirmElement = document.createElement('button');
|
|
142
|
+
actionConfirmElement.className = `mecx-button-primary mecx-button-primary__${type}`;
|
|
143
|
+
actionConfirmElement.innerText = label;
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
if (cancel) {
|
|
147
|
+
const { style, label } = cancel;
|
|
148
|
+
if (style === 'link') {
|
|
149
|
+
actionCancelElement = document.createElement('a');
|
|
150
|
+
actionCancelElement.href = 'javascript:void(0)';
|
|
151
|
+
actionCancelElement.innerText = label;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
147
154
|
actionCancelElement = document.createElement('button');
|
|
148
155
|
actionCancelElement.className = `mecx-button-tertiary mecx-button-tertiary__${type}`;
|
|
149
|
-
actionCancelElement.innerText =
|
|
150
|
-
}
|
|
151
|
-
if (confirm) {
|
|
152
|
-
actionConfirmElement = document.createElement('button');
|
|
153
|
-
actionConfirmElement.className = `mecx-button-primary mecx-button-primary__${type}`;
|
|
154
|
-
actionConfirmElement.innerText = confirm.label;
|
|
156
|
+
actionCancelElement.innerText = label;
|
|
155
157
|
}
|
|
156
158
|
}
|
|
157
159
|
if (actionCancelElement) {
|
|
@@ -187,11 +189,6 @@ export class MonkeyStyleGuideSnackbarService {
|
|
|
187
189
|
snackbarElement.appendChild(snackbarBodyElement);
|
|
188
190
|
this.snackbarElements.add(snackbarElement, duration, () => (!keepOpen ? this.close(id) : null), verticalPosition);
|
|
189
191
|
}
|
|
190
|
-
close(id) {
|
|
191
|
-
const { snackbarElements } = this;
|
|
192
|
-
snackbarElements.remove(id);
|
|
193
|
-
this.stopBlinking();
|
|
194
|
-
}
|
|
195
192
|
show(config) {
|
|
196
193
|
this.config = config;
|
|
197
194
|
const id = `monkey-snackbar-${MonkeyUtils.getRandomString(30)}`;
|
|
@@ -205,15 +202,21 @@ export class MonkeyStyleGuideSnackbarService {
|
|
|
205
202
|
if (config?.blinkTab) {
|
|
206
203
|
this.blinkTab();
|
|
207
204
|
}
|
|
205
|
+
return id;
|
|
208
206
|
}
|
|
209
207
|
closeAll() {
|
|
210
208
|
const { snackbarElements } = this;
|
|
211
209
|
snackbarElements.removeAll();
|
|
212
210
|
}
|
|
211
|
+
close(id) {
|
|
212
|
+
const { snackbarElements } = this;
|
|
213
|
+
snackbarElements.remove(id);
|
|
214
|
+
this.stopBlinking();
|
|
215
|
+
}
|
|
213
216
|
}
|
|
214
217
|
MonkeyStyleGuideSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyStyleGuideSnackbarService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
215
218
|
MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyStyleGuideSnackbarService });
|
|
216
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyStyleGuideSnackbarService, decorators: [{
|
|
217
220
|
type: Injectable
|
|
218
221
|
}], ctorParameters: function () { return [{ type: i1.Location }]; } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMkJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUNoQixJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7NEhBMUxVLCtCQUErQjtnSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5jb25zdCBpY29ucyA9IHtcclxuICBzdWNjZXNzOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjdcIiBmaWxsPVwiIzAwODc1QVwiLz5cclxuICAgICAgPHBhdGggZD1cIk0xMSA1TDcgMTFMNCA4LjI3MjczXCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICA8L3N2Zz5gLFxyXG4gIHdhcm5pbmc6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk02Ljg1NDMzIDIuNjM4MTlMMS4xNzk1NyAxMi4wMTE0QzEuMDYyNTcgMTIuMjExOCAxLjAwMDY2IDEyLjQzOTEgMS4wMDAwMSAxMi42NzA2QzAuOTk5MzUgMTIuOTAyMSAxLjA1OTk3IDEzLjEyOTcgMS4xNzU4MyAxMy4zMzA4QzEuMjkxNyAxMy41MzIgMS40NTg3NyAxMy42OTk1IDEuNjYwNDIgMTMuODE2OUMxLjg2MjA3IDEzLjkzNDMgMi4wOTEyOCAxMy45OTc1IDIuMzI1MjQgMTRIMTMuNjc0OEMxMy45MDg3IDEzLjk5NzUgMTQuMTM3OSAxMy45MzQzIDE0LjMzOTYgMTMuODE2OUMxNC41NDEyIDEzLjY5OTUgMTQuNzA4MyAxMy41MzIgMTQuODI0MiAxMy4zMzA4QzE0Ljk0IDEzLjEyOTcgMTUuMDAwNiAxMi45MDIxIDE1IDEyLjY3MDZDMTQuOTk5MyAxMi40MzkxIDE0LjkzNzQgMTIuMjExOCAxNC44MjA0IDEyLjAxMTRMOS4xNDU2NyAyLjYzODE5QzkuMDI2MjMgMi40NDMzNyA4Ljg1ODA2IDIuMjgyMyA4LjY1NzM4IDIuMTcwNTFDOC40NTY3MSAyLjA1ODczIDguMjMwMyAyIDggMkM3Ljc2OTcgMiA3LjU0MzI5IDIuMDU4NzMgNy4zNDI2MiAyLjE3MDUxQzcuMTQxOTQgMi4yODIzIDYuOTczNzcgMi40NDMzNyA2Ljg1NDMzIDIuNjM4MTlaXCIgZmlsbD1cIiNFRkEzMEVcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA2VjEwXCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk04IDEySDguMDA2NjdcIiBzdHJva2U9XCIjMDAwRjFFXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBlcnJvcjogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8cGF0aCBkPVwiTTUuMTAyIDFIMTAuODk4TDE1IDUuMTAyVjEwLjg5OEwxMC44OTggMTVINS4xMDJMMSAxMC44OThWNS4xMDJMNS4xMDIgMVpcIiBmaWxsPVwiI0ZBMzgzOFwiLz5cclxuICAgICAgPHBhdGggZD1cIk04IDUuMzMzMzNWNy45OTk5OVwiIHN0cm9rZT1cIiNGNUZBRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMC42NjY3SDguMDA2NjdcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBxdWVzdGlvbjogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8cGF0aCBkPVwiTTguMDAwMDQgMTQuNjY2OEMxMS42ODE5IDE0LjY2NjggMTQuNjY2NyAxMS42ODIxIDE0LjY2NjcgOC4wMDAxNkMxNC42NjY3IDQuMzE4MjYgMTEuNjgxOSAxLjMzMzUgOC4wMDAwNCAxLjMzMzVDNC4zMTgxNCAxLjMzMzUgMS4zMzMzNyA0LjMxODI2IDEuMzMzMzcgOC4wMDAxNkMxLjMzMzM3IDExLjY4MjEgNC4zMTgxNCAxNC42NjY4IDguMDAwMDQgMTQuNjY2OFpcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTYuMDU5OTQgNS45OTk4OUM2LjIxNjY3IDUuNTU0MzQgNi41MjYwNCA1LjE3ODYzIDYuOTMzMjQgNC45MzkzMUM3LjM0MDQ0IDQuNyA3LjgxOTIgNC42MTI1MiA4LjI4NDcyIDQuNjkyMzdDOC43NTAyNCA0Ljc3MjIyIDkuMTcyNDggNS4wMTQyNCA5LjQ3NjY1IDUuMzc1NThDOS43ODA4MyA1LjczNjkxIDkuOTQ3MzEgNi4xOTQyNCA5Ljk0NjYgNi42NjY1NkM5Ljk0NjYgNy45OTk4OSA3Ljk0NjYgOC42NjY1NiA3Ljk0NjYgOC42NjY1NlY5LjQ5OTg5XCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk04IDExLjMzMzVIOC4wMDY2N1wiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICA8L3N2Zz5gLFxyXG4gIGxvYWRpbmc6IGA8c3ZnIGNsYXNzPVwiY2lyY3VsYXItbG9hZGVyXCIgdmlld0JveD1cIjI1IDI1IDUwIDUwXCIgPlxyXG4gICAgPGNpcmNsZSBjbGFzcz1cImxvYWRlci1wYXRoXCIgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiMjBcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiM1NzU3NTdcIiBzdHJva2Utd2lkdGg9XCI1XCIgLz5cclxuICA8L3N2Zz5gLFxyXG59O1xyXG5cclxuaW50ZXJmYWNlIFNuYWNrYmFyQWN0aW9uQ29uZmlnIHtcclxuICBzdHlsZTogJ2xpbmsnIHwgJ2J1dHRvbic7XHJcbiAgY29uZmlybT86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbiAgY2FuY2VsPzoge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGFjdGlvbjogRnVuY3Rpb247XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNuYWNrYmFyQ29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gIHR5cGU/OiAndGhlbWUnIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdxdWVzdGlvbicgfCAnbG9hZGluZyc7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgaG9yaXpvbnRhbFBvc2l0aW9uPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIHZlcnRpY2FsUG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nO1xyXG4gIGFjdGlvbj86IFNuYWNrYmFyQWN0aW9uQ29uZmlnO1xyXG4gIGtlZXBPcGVuPzogYm9vbGVhbjtcclxuICBibGlua1RhYj86IGJvb2xlYW47XHJcbiAgY2xvc2VPblVybENoYW5nZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmNsYXNzIFNuYWNrYmFyRWxlbWVudHMge1xyXG4gIGVsZW1lbnRzOiB7XHJcbiAgICBlbGVtZW50PzogSFRNTERpdkVsZW1lbnQ7XHJcbiAgICBpbnRlcnZhbD86IGFueTtcclxuICB9W10gPSBbXTtcclxuICBsYXN0U2Nyb2xsVG9wOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBhZGQoZWxlbWVudDogSFRNTERpdkVsZW1lbnQsIGR1cmF0aW9uOiBudW1iZXIsIGNhbGxiYWNrOiBGdW5jdGlvbiwgdmVydGljYWxQb3NpdGlvbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50cyAmJiB0aGlzLmVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIH1cclxuICAgIGVsZW1lbnQuc3R5bGVbdmVydGljYWxQb3NpdGlvbl0gPSBgJHt0aGlzLmxhc3RTY3JvbGxUb3B9cHhgO1xyXG5cclxuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICBjYWxsYmFjaygpO1xyXG4gICAgfSwgZHVyYXRpb24pO1xyXG5cclxuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XHJcbiAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXHJcbiAgICAgIGludGVydmFsOiBpbnRlcnZhbCxcclxuICAgIH0pO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcclxuICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9IHRoaXMubGFzdFNjcm9sbFRvcCArIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQuaWQpLm9mZnNldEhlaWdodCArIDE1O1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHJlbW92ZUlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRzLmZpbmQoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkID09PSByZW1vdmVJZCk7XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICB0aGlzLmVsZW1lbnRzID1cclxuICAgICAgICB0aGlzLmVsZW1lbnRzLmZpbHRlcigoeyBlbGVtZW50OiB7IGlkIH0gfSkgPT4gaWQgIT09IGVsZW1lbnQuZWxlbWVudC5pZCkgfHwgW107XHJcbiAgICAgIGVsZW1lbnQuZWxlbWVudC5jbGFzc05hbWUgPSBgJHtlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lfSBmYWRlLW91dCBoaWRlYDtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID1cclxuICAgICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCAtIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyZW1vdmVJZCkub2Zmc2V0SGVpZ2h0ICsgMTUpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudC5lbGVtZW50KTtcclxuICAgICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZUFsbCgpIHtcclxuICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoZWxlbWVudC5pbnRlcnZhbCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9IDE1O1xyXG4gICAgdGhpcy5lbGVtZW50cyA9IFtdO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5U3R5bGVHdWlkZVNuYWNrYmFyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb25maWc6IFNuYWNrYmFyQ29uZmlnO1xyXG4gIHByaXZhdGUgc25hY2tiYXJFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudHM6IFNuYWNrYmFyRWxlbWVudHM7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcclxuICBwcml2YXRlIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcclxuICBwcml2YXRlIG9sZFRpdGxlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB0aW1lb3V0QmxpbmtUYWIgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uUm91dGVyOiBMb2NhdGlvbikge1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnRzID0gbmV3IFNuYWNrYmFyRWxlbWVudHMoKTtcclxuICAgIHRoaXMubG9jYXRpb25Sb3V0ZXIub25VcmxDaGFuZ2UoKCkgPT4ge1xyXG4gICAgICBpZih0aGlzLmNvbmZpZyAmJiAhdGhpcy5jb25maWc/LmNsb3NlT25VcmxDaGFuZ2Upe1xyXG4gICAgICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBNEJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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LFFBQVE7UUFDYixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDbEMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxFQUFVO1FBQ3JCLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNsQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7OzRIQTVMVSwrQkFBK0I7Z0lBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuY29uc3QgaWNvbnMgPSB7XHJcbiAgc3VjY2VzczogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI3XCIgZmlsbD1cIiMwMDg3NUFcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTEgNUw3IDExTDQgOC4yNzI3M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICB3YXJuaW5nOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNi44NTQzMyAyLjYzODE5TDEuMTc5NTcgMTIuMDExNEMxLjA2MjU3IDEyLjIxMTggMS4wMDA2NiAxMi40MzkxIDEuMDAwMDEgMTIuNjcwNkMwLjk5OTM1IDEyLjkwMjEgMS4wNTk5NyAxMy4xMjk3IDEuMTc1ODMgMTMuMzMwOEMxLjI5MTcgMTMuNTMyIDEuNDU4NzcgMTMuNjk5NSAxLjY2MDQyIDEzLjgxNjlDMS44NjIwNyAxMy45MzQzIDIuMDkxMjggMTMuOTk3NSAyLjMyNTI0IDE0SDEzLjY3NDhDMTMuOTA4NyAxMy45OTc1IDE0LjEzNzkgMTMuOTM0MyAxNC4zMzk2IDEzLjgxNjlDMTQuNTQxMiAxMy42OTk1IDE0LjcwODMgMTMuNTMyIDE0LjgyNDIgMTMuMzMwOEMxNC45NCAxMy4xMjk3IDE1LjAwMDYgMTIuOTAyMSAxNSAxMi42NzA2QzE0Ljk5OTMgMTIuNDM5MSAxNC45Mzc0IDEyLjIxMTggMTQuODIwNCAxMi4wMTE0TDkuMTQ1NjcgMi42MzgxOUM5LjAyNjIzIDIuNDQzMzcgOC44NTgwNiAyLjI4MjMgOC42NTczOCAyLjE3MDUxQzguNDU2NzEgMi4wNTg3MyA4LjIzMDMgMiA4IDJDNy43Njk3IDIgNy41NDMyOSAyLjA1ODczIDcuMzQyNjIgMi4xNzA1MUM3LjE0MTk0IDIuMjgyMyA2Ljk3Mzc3IDIuNDQzMzcgNi44NTQzMyAyLjYzODE5WlwiIGZpbGw9XCIjRUZBMzBFXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggNlYxMFwiIHN0cm9rZT1cIiMwMDBGMUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMkg4LjAwNjY3XCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgZXJyb3I6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk01LjEwMiAxSDEwLjg5OEwxNSA1LjEwMlYxMC44OThMMTAuODk4IDE1SDUuMTAyTDEgMTAuODk4VjUuMTAyTDUuMTAyIDFaXCIgZmlsbD1cIiNGQTM4MzhcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA1LjMzMzMzVjcuOTk5OTlcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggMTAuNjY2N0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0Y1RkFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgcXVlc3Rpb246IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk04LjAwMDA0IDE0LjY2NjhDMTEuNjgxOSAxNC42NjY4IDE0LjY2NjcgMTEuNjgyMSAxNC42NjY3IDguMDAwMTZDMTQuNjY2NyA0LjMxODI2IDExLjY4MTkgMS4zMzM1IDguMDAwMDQgMS4zMzM1QzQuMzE4MTQgMS4zMzM1IDEuMzMzMzcgNC4zMTgyNiAxLjMzMzM3IDguMDAwMTZDMS4zMzMzNyAxMS42ODIxIDQuMzE4MTQgMTQuNjY2OCA4LjAwMDA0IDE0LjY2NjhaXCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk02LjA1OTk0IDUuOTk5ODlDNi4yMTY2NyA1LjU1NDM0IDYuNTI2MDQgNS4xNzg2MyA2LjkzMzI0IDQuOTM5MzFDNy4zNDA0NCA0LjcgNy44MTkyIDQuNjEyNTIgOC4yODQ3MiA0LjY5MjM3QzguNzUwMjQgNC43NzIyMiA5LjE3MjQ4IDUuMDE0MjQgOS40NzY2NSA1LjM3NTU4QzkuNzgwODMgNS43MzY5MSA5Ljk0NzMxIDYuMTk0MjQgOS45NDY2IDYuNjY2NTZDOS45NDY2IDcuOTk5ODkgNy45NDY2IDguNjY2NTYgNy45NDY2IDguNjY2NTZWOS40OTk4OVwiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMS4zMzM1SDguMDA2NjdcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBsb2FkaW5nOiBgPHN2ZyBjbGFzcz1cImNpcmN1bGFyLWxvYWRlclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiID5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkZXItcGF0aFwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNTc1NzU3XCIgc3Ryb2tlLXdpZHRoPVwiNVwiIC8+XHJcbiAgPC9zdmc+YCxcclxufTtcclxuXHJcbmludGVyZmFjZSBTbmFja2JhckFjdGlvbkNvbmZpZyB7XHJcbiAgY29uZmlybT86IHtcclxuICAgIHN0eWxlOiAnbGluaycgfCAnYnV0dG9uJztcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbiAgY2FuY2VsPzoge1xyXG4gICAgc3R5bGU6ICdsaW5rJyB8ICdidXR0b24nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGFjdGlvbjogRnVuY3Rpb247XHJcbiAgfTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNuYWNrYmFyQ29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gIHR5cGU/OiAndGhlbWUnIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdxdWVzdGlvbicgfCAnbG9hZGluZyc7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgaG9yaXpvbnRhbFBvc2l0aW9uPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIHZlcnRpY2FsUG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nO1xyXG4gIGFjdGlvbj86IFNuYWNrYmFyQWN0aW9uQ29uZmlnO1xyXG4gIGtlZXBPcGVuPzogYm9vbGVhbjtcclxuICBibGlua1RhYj86IGJvb2xlYW47XHJcbiAga2VlcE9uVXJsQ2hhbmdlPzogYm9vbGVhbjtcclxufVxyXG5cclxuY2xhc3MgU25hY2tiYXJFbGVtZW50cyB7XHJcbiAgZWxlbWVudHM6IHtcclxuICAgIGVsZW1lbnQ/OiBIVE1MRGl2RWxlbWVudDtcclxuICAgIGludGVydmFsPzogYW55O1xyXG4gIH1bXSA9IFtdO1xyXG4gIGxhc3RTY3JvbGxUb3A6IG51bWJlciA9IDE1O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGFkZChlbGVtZW50OiBIVE1MRGl2RWxlbWVudCwgZHVyYXRpb246IG51bWJlciwgY2FsbGJhY2s6IEZ1bmN0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnRzICYmIHRoaXMuZWxlbWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9IDE1O1xyXG4gICAgfVxyXG4gICAgZWxlbWVudC5zdHlsZVt2ZXJ0aWNhbFBvc2l0aW9uXSA9IGAke3RoaXMubGFzdFNjcm9sbFRvcH1weGA7XHJcblxyXG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICB9LCBkdXJhdGlvbik7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcclxuICAgICAgZWxlbWVudDogZWxlbWVudCxcclxuICAgICAgaW50ZXJ2YWw6IGludGVydmFsLFxyXG4gICAgfSk7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xyXG4gICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gdGhpcy5sYXN0U2Nyb2xsVG9wICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudC5pZCkub2Zmc2V0SGVpZ2h0ICsgMTU7XHJcbiAgfVxyXG5cclxuICByZW1vdmUocmVtb3ZlSWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudHMuZmluZCgoeyBlbGVtZW50OiB7IGlkIH0gfSkgPT4gaWQgPT09IHJlbW92ZUlkKTtcclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudHMgPVxyXG4gICAgICAgIHRoaXMuZWxlbWVudHMuZmlsdGVyKCh7IGVsZW1lbnQ6IHsgaWQgfSB9KSA9PiBpZCAhPT0gZWxlbWVudC5lbGVtZW50LmlkKSB8fCBbXTtcclxuICAgICAgZWxlbWVudC5lbGVtZW50LmNsYXNzTmFtZSA9IGAke2VsZW1lbnQuZWxlbWVudC5jbGFzc05hbWV9IGZhZGUtb3V0IGhpZGVgO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPVxyXG4gICAgICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wIC0gKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHJlbW92ZUlkKS5vZmZzZXRIZWlnaHQgKyAxNSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50LmVsZW1lbnQpO1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwoZWxlbWVudC5pbnRlcnZhbCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQWxsKCkge1xyXG4gICAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudC5lbGVtZW50KTtcclxuICAgICAgY2xlYXJJbnRlcnZhbChlbGVtZW50LmludGVydmFsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gMTU7XHJcbiAgICB0aGlzLmVsZW1lbnRzID0gW107XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNvbmZpZzogU25hY2tiYXJDb25maWc7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIHByaXZhdGUgc25hY2tiYXJFbGVtZW50czogU25hY2tiYXJFbGVtZW50cztcclxuICBwcml2YXRlIHNuYWNrYmFyQm9keUVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIHByaXZhdGUgc25hY2tiYXJCb2R5TWVzc2FnZUVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIHByaXZhdGUgb2xkVGl0bGU6IHN0cmluZztcclxuICBwcml2YXRlIHRpbWVvdXRCbGlua1RhYiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYXRpb25Sb3V0ZXI6IExvY2F0aW9uKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMgPSBuZXcgU25hY2tiYXJFbGVtZW50cygpO1xyXG4gICAgdGhpcy5sb2NhdGlvblJvdXRlci5vblVybENoYW5nZSgoKSA9PiB7XHJcbiAgICAgIGlmKHRoaXMuY29uZmlnICYmICF0aGlzLmNvbmZpZz8ua2VlcE9uVXJsQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmNsb3NlQWxsKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdG9wQmxpbmtpbmcoKSB7XHJcbiAgICBpZiAodGhpcy5vbGRUaXRsZSkge1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IHRoaXMub2xkVGl0bGU7XHJcbiAgICAgIGlmICh0aGlzLnNuYWNrYmFyRWxlbWVudHMuZWxlbWVudHMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGltZW91dEJsaW5rVGFiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBibGlua1RhYigpIHtcclxuICAgIHRoaXMub2xkVGl0bGUgPSB0aGlzLm9sZFRpdGxlIHx8IGRvY3VtZW50LnRpdGxlO1xyXG5cclxuICAgIGNvbnN0IHN0YXJ0QmxpbmtpbmcgPSAoKSA9PiB7XHJcbiAgICAgIGxldCBtZXNzYWdlID0gYCgke3RoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGh9KSAke3RoaXMub2xkVGl0bGV9YDtcclxuICAgICAgZG9jdW1lbnQudGl0bGUgPSBkb2N1bWVudC50aXRsZSA9PT0gbWVzc2FnZSA/IHRoaXMub2xkVGl0bGUgOiBtZXNzYWdlO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy50aW1lb3V0QmxpbmtUYWIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgdGhpcy50aW1lb3V0QmxpbmtUYWIgPSBzZXRJbnRlcnZhbChzdGFydEJsaW5raW5nLCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdChpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB7IGNvbmZpZyB9ID0gdGhpcztcclxuICAgIGxldCB7IGhvcml6b250YWxQb3NpdGlvbiwgdmVydGljYWxQb3NpdGlvbiwgdHlwZSB9ID0gY29uZmlnO1xyXG4gICAgaG9yaXpvbnRhbFBvc2l0aW9uID0gaG9yaXpvbnRhbFBvc2l0aW9uIHx8ICdjZW50ZXInO1xyXG4gICAgdmVydGljYWxQb3NpdGlvbiA9IHZlcnRpY2FsUG9zaXRpb24gfHwgJ3RvcCc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50LmlkID0gYCR7aWR9YDtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LXNuYWNrYmFyLWNvbnRhaW5lciAke2hvcml6b250YWxQb3NpdGlvbn0tJHt2ZXJ0aWNhbFBvc2l0aW9ufSAke3R5cGV9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRCb2R5KCkge1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuY2xhc3NOYW1lID0gJ21lY3gtc25hY2tiYXItY29udGFpbmVyLWJvZHknO1xyXG5cclxuICAgIHRoaXMuc25hY2tiYXJCb2R5TWVzc2FnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5TWVzc2FnZUVsZW1lbnQuY2xhc3NOYW1lID0gJ21lY3gtc25hY2tiYXItY29udGFpbmVyLWJvZHktY29udGVudCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkVGl0bGVBbmRNZXNzYWdlKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHRpdGxlLCBtZXNzYWdlLCBhY3Rpb24gfSxcclxuICAgIH0gPSB0aGlzO1xyXG4gICAgY29uc3QgdGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aXRsZUVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7dGl0bGV9YDtcclxuICAgIHRpdGxlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LXRpdGxlJztcclxuXHJcbiAgICBjb25zdCBtZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgbWVzc2FnZUVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7bWVzc2FnZX1gO1xyXG4gICAgbWVzc2FnZUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyLWJvZHktY29udGVudC1tZXNzYWdlICR7XHJcbiAgICAgIGFjdGlvbiA/ICd3aXRoLWFjdGlvbicgOiAnJ1xyXG4gICAgfWA7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZCh0aXRsZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChtZXNzYWdlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQWN0aW9uKGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHsgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcblxyXG4gICAgICBpZihjb25maXJtKXtcclxuICAgICAgICBjb25zdCB7IHN0eWxlLCBsYWJlbCB9ID0gY29uZmlybTtcclxuICAgICAgICBpZiAoc3R5bGUgPT09ICdsaW5rJykge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBsYWJlbDtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBsYWJlbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmKGNhbmNlbCl7ICAgICAgICBcclxuICAgICAgICBjb25zdCB7IHN0eWxlLCBsYWJlbCB9ID0gY2FuY2VsO1xyXG4gICAgICAgIGlmKHN0eWxlID09PSAnbGluaycpe1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBsYWJlbDtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXRlcnRpYXJ5IG1lY3gtYnV0dG9uLXRlcnRpYXJ5X18ke3R5cGV9YDtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaW5uZXJUZXh0ID0gbGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYWN0aW9uQ2FuY2VsRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlKGlkKTtcclxuICAgICAgICAgIGNhbmNlbC5hY3Rpb24oKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgYWN0aW9uRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25DYW5jZWxFbGVtZW50KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNvbmZpcm1FbGVtZW50KSB7XHJcbiAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlKGlkKTtcclxuICAgICAgICAgIGNvbmZpcm0uYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYWN0aW9uRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25Db25maXJtRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGFjdGlvbkVsZW1lbnQuY2xhc3NOYW1lID0gJ21lY3gtc25hY2tiYXItY29udGFpbmVyLWJvZHktY29udGVudC1hY3Rpb24nO1xyXG4gICAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKGFjdGlvbkVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEljb24oKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSB9LFxyXG4gICAgfSA9IHRoaXM7XHJcblxyXG4gICAgY29uc3Qgc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWljb24nO1xyXG4gICAgc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQuaW5uZXJIVE1MID0gYCR7aWNvbnNbdHlwZV19YDtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlJY29uRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmlzaChpZDogc3RyaW5nKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgZHVyYXRpb24sIGtlZXBPcGVuLCB2ZXJ0aWNhbFBvc2l0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGR1cmF0aW9uID0gZHVyYXRpb24gfHwgNDAwMDtcclxuICAgIGNvbnN0IHsgc25hY2tiYXJCb2R5RWxlbWVudCwgc25hY2tiYXJCb2R5TWVzc2FnZUVsZW1lbnQsIHNuYWNrYmFyRWxlbWVudCB9ID0gdGhpcztcclxuICAgIHNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5TWVzc2FnZUVsZW1lbnQpO1xyXG4gICAgc25hY2tiYXJFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keUVsZW1lbnQpO1xyXG5cclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50cy5hZGQoXHJcbiAgICAgIHNuYWNrYmFyRWxlbWVudCxcclxuICAgICAgZHVyYXRpb24sXHJcbiAgICAgICgpID0+ICgha2VlcE9wZW4gPyB0aGlzLmNsb3NlKGlkKSA6IG51bGwpLFxyXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3coY29uZmlnOiBTbmFja2JhckNvbmZpZyk6IHN0cmluZyB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcclxuICAgIGNvbnN0IGlkID0gYG1vbmtleS1zbmFja2Jhci0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygzMCl9YDtcclxuICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgIHRoaXMuaW5pdChpZCk7XHJcbiAgICB0aGlzLmJ1aWxkQm9keSgpO1xyXG4gICAgdGhpcy5idWlsZFRpdGxlQW5kTWVzc2FnZSgpO1xyXG4gICAgdGhpcy5idWlsZEFjdGlvbihpZCk7XHJcbiAgICB0aGlzLmJ1aWxkSWNvbigpO1xyXG4gICAgdGhpcy5maW5pc2goaWQpO1xyXG4gICAgaWYgKGNvbmZpZz8uYmxpbmtUYWIpIHtcclxuICAgICAgdGhpcy5ibGlua1RhYigpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlQWxsKCkge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmVBbGwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZShpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZShpZCk7XHJcbiAgICB0aGlzLnN0b3BCbGlua2luZygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -443,7 +443,7 @@ class MonkeyStyleGuideSnackbarService {
|
|
|
443
443
|
this.snackbarElements = new SnackbarElements();
|
|
444
444
|
this.locationRouter.onUrlChange(() => {
|
|
445
445
|
var _a;
|
|
446
|
-
if (this.config && !((_a = this.config) === null || _a === void 0 ? void 0 : _a.
|
|
446
|
+
if (this.config && !((_a = this.config) === null || _a === void 0 ? void 0 : _a.keepOnUrlChange)) {
|
|
447
447
|
this.closeAll();
|
|
448
448
|
}
|
|
449
449
|
});
|
|
@@ -495,31 +495,33 @@ class MonkeyStyleGuideSnackbarService {
|
|
|
495
495
|
buildAction(id) {
|
|
496
496
|
const { config: { type, action }, } = this;
|
|
497
497
|
if (action) {
|
|
498
|
-
const {
|
|
498
|
+
const { confirm, cancel } = action;
|
|
499
499
|
const actionElement = document.createElement('div');
|
|
500
500
|
let actionCancelElement = null, actionConfirmElement = null;
|
|
501
|
-
if (
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
actionCancelElement.href = 'javascript:void(0)';
|
|
505
|
-
actionCancelElement.innerText = cancel.label;
|
|
506
|
-
}
|
|
507
|
-
if (confirm) {
|
|
501
|
+
if (confirm) {
|
|
502
|
+
const { style, label } = confirm;
|
|
503
|
+
if (style === 'link') {
|
|
508
504
|
actionConfirmElement = document.createElement('a');
|
|
509
505
|
actionConfirmElement.href = 'javascript:void(0)';
|
|
510
|
-
actionConfirmElement.innerText =
|
|
506
|
+
actionConfirmElement.innerText = label;
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
actionConfirmElement = document.createElement('button');
|
|
510
|
+
actionConfirmElement.className = `mecx-button-primary mecx-button-primary__${type}`;
|
|
511
|
+
actionConfirmElement.innerText = label;
|
|
511
512
|
}
|
|
512
513
|
}
|
|
513
|
-
|
|
514
|
-
|
|
514
|
+
if (cancel) {
|
|
515
|
+
const { style, label } = cancel;
|
|
516
|
+
if (style === 'link') {
|
|
517
|
+
actionCancelElement = document.createElement('a');
|
|
518
|
+
actionCancelElement.href = 'javascript:void(0)';
|
|
519
|
+
actionCancelElement.innerText = label;
|
|
520
|
+
}
|
|
521
|
+
else {
|
|
515
522
|
actionCancelElement = document.createElement('button');
|
|
516
523
|
actionCancelElement.className = `mecx-button-tertiary mecx-button-tertiary__${type}`;
|
|
517
|
-
actionCancelElement.innerText =
|
|
518
|
-
}
|
|
519
|
-
if (confirm) {
|
|
520
|
-
actionConfirmElement = document.createElement('button');
|
|
521
|
-
actionConfirmElement.className = `mecx-button-primary mecx-button-primary__${type}`;
|
|
522
|
-
actionConfirmElement.innerText = confirm.label;
|
|
524
|
+
actionCancelElement.innerText = label;
|
|
523
525
|
}
|
|
524
526
|
}
|
|
525
527
|
if (actionCancelElement) {
|
|
@@ -555,11 +557,6 @@ class MonkeyStyleGuideSnackbarService {
|
|
|
555
557
|
snackbarElement.appendChild(snackbarBodyElement);
|
|
556
558
|
this.snackbarElements.add(snackbarElement, duration, () => (!keepOpen ? this.close(id) : null), verticalPosition);
|
|
557
559
|
}
|
|
558
|
-
close(id) {
|
|
559
|
-
const { snackbarElements } = this;
|
|
560
|
-
snackbarElements.remove(id);
|
|
561
|
-
this.stopBlinking();
|
|
562
|
-
}
|
|
563
560
|
show(config) {
|
|
564
561
|
this.config = config;
|
|
565
562
|
const id = `monkey-snackbar-${MonkeyUtils.getRandomString(30)}`;
|
|
@@ -573,11 +570,17 @@ class MonkeyStyleGuideSnackbarService {
|
|
|
573
570
|
if (config === null || config === void 0 ? void 0 : config.blinkTab) {
|
|
574
571
|
this.blinkTab();
|
|
575
572
|
}
|
|
573
|
+
return id;
|
|
576
574
|
}
|
|
577
575
|
closeAll() {
|
|
578
576
|
const { snackbarElements } = this;
|
|
579
577
|
snackbarElements.removeAll();
|
|
580
578
|
}
|
|
579
|
+
close(id) {
|
|
580
|
+
const { snackbarElements } = this;
|
|
581
|
+
snackbarElements.remove(id);
|
|
582
|
+
this.stopBlinking();
|
|
583
|
+
}
|
|
581
584
|
}
|
|
582
585
|
MonkeyStyleGuideSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyStyleGuideSnackbarService, deps: [{ token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
583
586
|
MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyStyleGuideSnackbarService });
|