@wizishop/wizi-block 4.2.32-beta → 4.2.33-beta
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/bundles/wizishop-wizi-block.umd.js +118 -103
- package/bundles/wizishop-wizi-block.umd.js.map +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
- package/esm2015/lib/shared/components/editorjs/editorjs.component.js +21 -12
- package/esm2015/lib/shared/components/editorjs/tools/inline/bold-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/italic-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/link-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/strike-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/subscript-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/superscript-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +100 -64
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.js +1 -18
- package/esm2015/lib/shared/components/editorjs/tools/inline/underline-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/ordered-list-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/quote-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-align-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-type-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.js +2 -18
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/unordered-list-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.js +8 -1
- package/fesm2015/wizishop-wizi-block.js +132 -113
- package/fesm2015/wizishop-wizi-block.js.map +1 -1
- package/lib/shared/components/editorjs/editorjs.component.d.ts +1 -0
- package/lib/shared/components/editorjs/tools/inline/bold-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/italic-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/link-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/strike-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/subscript-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/superscript-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.d.ts +2 -0
- package/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.d.ts +0 -1
- package/lib/shared/components/editorjs/tools/inline/underline-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.d.ts +0 -1
- package/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.d.ts +2 -0
- package/package.json +1 -1
- package/wizishop-wizi-block.metadata.json +1 -1
|
@@ -42,6 +42,7 @@ export class EditorJsComponent {
|
|
|
42
42
|
this.timeoutHandle = null;
|
|
43
43
|
this.timeoutTextEditionHandle = null;
|
|
44
44
|
this.onChangeTimeoutHandle = null;
|
|
45
|
+
this.editorInitialized = false;
|
|
45
46
|
this.wrapperTags = 'h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote';
|
|
46
47
|
}
|
|
47
48
|
ngOnInit() {
|
|
@@ -103,7 +104,7 @@ export class EditorJsComponent {
|
|
|
103
104
|
clearTimeout(this.onChangeTimeoutHandle);
|
|
104
105
|
this.onChangeTimeoutHandle = setTimeout(() => {
|
|
105
106
|
this.contentChanged(api, event);
|
|
106
|
-
},
|
|
107
|
+
}, 200);
|
|
107
108
|
},
|
|
108
109
|
i18n: this.getI18nDictionnary(),
|
|
109
110
|
});
|
|
@@ -114,12 +115,10 @@ export class EditorJsComponent {
|
|
|
114
115
|
this.content = content;
|
|
115
116
|
this.applyContent();
|
|
116
117
|
this.checkSingleChild();
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
});
|
|
122
|
-
}, 0);
|
|
118
|
+
const editorElement = document.getElementById('editorJs-' + this.uuid);
|
|
119
|
+
editorElement.addEventListener('focusin', () => {
|
|
120
|
+
setlistApiEditor(this.editor, editorElement);
|
|
121
|
+
});
|
|
123
122
|
});
|
|
124
123
|
}
|
|
125
124
|
catch (reason) {
|
|
@@ -130,7 +129,6 @@ export class EditorJsComponent {
|
|
|
130
129
|
ngOnDestroy() {
|
|
131
130
|
const editorName = 'editorJs-' + this.uuid;
|
|
132
131
|
this.deleteSavedEditorContent(editorName);
|
|
133
|
-
this.deleteSavedEditorContent(editorName);
|
|
134
132
|
this.editor.destroy();
|
|
135
133
|
}
|
|
136
134
|
handleDefaultContentTranslation() {
|
|
@@ -147,7 +145,13 @@ export class EditorJsComponent {
|
|
|
147
145
|
.save()
|
|
148
146
|
.then(() => {
|
|
149
147
|
this.content = this.getEditorContent();
|
|
150
|
-
|
|
148
|
+
if (!this.editorInitialized) {
|
|
149
|
+
this.handleSaveEditor(this.content, this.uuid);
|
|
150
|
+
this.editorInitialized = true;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.saveEditorContent(this.content);
|
|
154
|
+
}
|
|
151
155
|
this.contentChange.emit(this.content);
|
|
152
156
|
})
|
|
153
157
|
.catch((error) => {
|
|
@@ -289,11 +293,11 @@ export class EditorJsComponent {
|
|
|
289
293
|
}
|
|
290
294
|
return null;
|
|
291
295
|
}
|
|
292
|
-
saveEditorContent(data
|
|
296
|
+
saveEditorContent(data) {
|
|
293
297
|
if (!isTextEditionTool) {
|
|
294
298
|
clearTimeout(this.timeoutHandle);
|
|
295
299
|
this.timeoutHandle = setTimeout(() => {
|
|
296
|
-
this.handleSaveEditor(data, uuid);
|
|
300
|
+
this.handleSaveEditor(data, this.uuid);
|
|
297
301
|
}, 2000);
|
|
298
302
|
}
|
|
299
303
|
else {
|
|
@@ -309,6 +313,10 @@ export class EditorJsComponent {
|
|
|
309
313
|
let savedDataIndex = this.getSavedEditorContent(editorName + '-index')
|
|
310
314
|
? parseInt(this.getSavedEditorContent(editorName + '-index'))
|
|
311
315
|
: -1;
|
|
316
|
+
if (!this.editorInitialized) {
|
|
317
|
+
savedData = null;
|
|
318
|
+
savedDataIndex = -1;
|
|
319
|
+
}
|
|
312
320
|
let parsedSavedData = [];
|
|
313
321
|
if (savedData) {
|
|
314
322
|
parsedSavedData = JSON.parse(savedData);
|
|
@@ -330,6 +338,7 @@ export class EditorJsComponent {
|
|
|
330
338
|
}
|
|
331
339
|
deleteSavedEditorContent(name) {
|
|
332
340
|
localStorage.removeItem(name);
|
|
341
|
+
localStorage.removeItem(name + '-index');
|
|
333
342
|
}
|
|
334
343
|
}
|
|
335
344
|
EditorJsComponent.decorators = [
|
|
@@ -349,4 +358,4 @@ EditorJsComponent.propDecorators = {
|
|
|
349
358
|
placeholder: [{ type: Input }],
|
|
350
359
|
position: [{ type: Input }]
|
|
351
360
|
};
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL2VkaXRvcmpzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxRQUF3QixNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FB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LENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxHQUFHLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWTtRQUN0QyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3JELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxJQUFJO1FBQ2pDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7O1lBclVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsNkdBQXdDO2FBQzNDOzs7WUFqQ1EsZ0JBQWdCO1lBMEJoQix5QkFBeUI7WUFDekIsMEJBQTBCOzs7NEJBUTlCLE1BQU07c0JBRU4sS0FBSzswQkFFTCxLQUFLO3VCQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCBFZGl0b3JKUywgeyBJMThuQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IFN0cmlrZVRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9zdHJpa2UtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0VG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3N1YnNjcmlwdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdXBlcnNjcmlwdFRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9zdXBlcnNjcmlwdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb2xkVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL2JvbGQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRhbGljVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL2l0YWxpYy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbmRlcmxpbmVUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvdW5kZXJsaW5lLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IENhcGl0YWxpemVUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvY2FwaXRhbGl6ZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29sb3JUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvdGV4dC1jb2xvci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0QmFja2dyb3VuZENvbG9yVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3RleHQtYmFja2dyb3VuZC1jb2xvci10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0VHlwZVRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC90ZXh0LXR5cGUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZnJJMThuRGljdGlvbm5hcnkgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2kxOG4vZnItaTE4bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgZW5JMThuRGljdGlvbm5hcnkgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2kxOG4vZW4taTE4bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEFsaWduVG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3RleHQtYWxpZ24tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5vcmRlcmVkTGlzdFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC91bm9yZGVyZWQtbGlzdC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmRlcmVkTGlzdFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUXVvdGVUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvcXVvdGUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua1Rvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9saW5rLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEluZGVudFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9pbmRlbnQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3V0ZGVudFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9vdXRkZW50LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IHRleHRTaXplVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3RleHQtc2l6ZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RlRWRpdFRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC9jb2RlLWVkaXQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5kb1Rvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC91bmRvLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZG9Ub29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvcmVkby10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1RleHRFZGl0aW9uVG9vbCwgc2V0SXNUZXh0RWRpdGlvblRvb2wgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRvckpTQ29udmVyc2lvblNlcnZpY2UgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLWNvbnZlcnNpb24uc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JKU1RyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdG9vbHMvdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBvbkVkaXRMaXN0LCBzZXRsaXN0QXBpRWRpdG9yIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3BhcmFncmFwaC1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd2ItZWRpdG9yanMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3Jqcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckpzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBPdXRwdXQoKSBjb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KCkgY29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XG5cbiAgICBlZGl0b3I6IGFueTtcblxuICAgIHV1aWQgPSB1dWlkKCk7XG5cbiAgICB0aW1lb3V0SGFuZGxlID0gbnVsbDtcblxuICAgIHRpbWVvdXRUZXh0RWRpdGlvbkhhbmRsZSA9IG51bGw7XG5cbiAgICBvbkNoYW5nZVRpbWVvdXRIYW5kbGUgPSBudWxsO1xuXG4gICAgd3JhcHBlclRhZ3MgPSAnaDEsaDIsaDMsaDQsaDUsaDYscCx1bCxvbCxibG9ja3F1b3RlJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZWRpdG9ySlNDb252ZXJzaW9uU2VydmljZTogRWRpdG9ySlNDb252ZXJzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JKU1RyYW5zbGF0aW9uU2VydmljZTogRWRpdG9ySlNUcmFuc2xhdGlvblNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gbmV3IEVkaXRvckpTKHtcbiAgICAgICAgICAgIGhvbGRlcjogJ2VkaXRvckpzLScgKyB0aGlzLnV1aWQsXG4gICAgICAgICAgICB0b29sczoge1xuICAgICAgICAgICAgICAgIHRleHRUeXBlOiBUZXh0VHlwZVRvb2wsXG4gICAgICAgICAgICAgICAgdGV4dFNpemU6IHRleHRTaXplVG9vbCxcbiAgICAgICAgICAgICAgICB1bmRvOiBVbmRvVG9vbCxcbiAgICAgICAgICAgICAgICByZWRvOiBSZWRvVG9vbCxcbiAgICAgICAgICAgICAgICBib2xkOiBCb2xkVG9vbCxcbiAgICAgICAgICAgICAgICBpdGFsaWM6IEl0YWxpY1Rvb2wsXG4gICAgICAgICAgICAgICAgdW5kZXJsaW5lOiBVbmRlcmxpbmVUb29sLFxuICAgICAgICAgICAgICAgIHN0cmlrZTogU3RyaWtlVG9vbCxcbiAgICAgICAgICAgICAgICBjYXBpdGFsaXplOiBDYXBpdGFsaXplVG9vbCxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHQ6IFN1YnNjcmlwdFRvb2wsXG4gICAgICAgICAgICAgICAgc3VwZXJzY3JpcHQ6IFN1cGVyc2NyaXB0VG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0Q29sb3I6IFRleHRDb2xvclRvb2wsXG4gICAgICAgICAgICAgICAgdGV4dEJhY2tncm91bmRDb2xvcjogVGV4dEJhY2tncm91bmRDb2xvclRvb2wsXG4gICAgICAgICAgICAgICAgbGluazogTGlua1Rvb2wsXG4gICAgICAgICAgICAgICAgcXVvdGU6IFF1b3RlVG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0QWxpZ246IFRleHRBbGlnblRvb2wsXG4gICAgICAgICAgICAgICAgb3JkZXJlZExpc3Q6IE9yZGVyZWRMaXN0VG9vbCxcbiAgICAgICAgICAgICAgICB1bm9yZGVyZWRMaXN0OiBVbm9yZGVyZWRMaXN0VG9vbCxcbiAgICAgICAgICAgICAgICBpbmRlbnQ6IEluZGVudFRvb2wsXG4gICAgICAgICAgICAgICAgb3V0ZGVudDogT3V0ZGVudFRvb2wsXG4gICAgICAgICAgICAgICAgY29kZUVkaXQ6IENvZGVFZGl0VG9vbCxcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lVG9vbGJhcjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHRUeXBlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0U2l6ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndW5kbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVkbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmlrZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnY2FwaXRhbGl6ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3Vic2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdXBlcnNjcmlwdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dENvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0QmFja2dyb3VuZENvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdsaW5rJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdxdW90ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dEFsaWduJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlcmVkTGlzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAndW5vcmRlcmVkTGlzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaW5kZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdvdXRkZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlRWRpdCcsXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy5wbGFjZWhvbGRlcixcbiAgICAgICAgICAgIGF1dG9mb2N1czogZmFsc2UsXG4gICAgICAgICAgICBvbkNoYW5nZTogKGFwaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5vbkNoYW5nZVRpbWVvdXRIYW5kbGUpO1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VUaW1lb3V0SGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENoYW5nZWQoYXBpLCBldmVudCk7XG4gICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpMThuOiB0aGlzLmdldEkxOG5EaWN0aW9ubmFyeSgpLFxuICAgICAgICB9KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZWRpdG9yLmlzUmVhZHk7XG4gICAgICAgICAgICB0aGlzLmVkaXRvckpTVHJhbnNsYXRpb25TZXJ2aWNlLnNldERpY3Rpb25uYXJ5KHRoaXMuZ2V0STE4bkRpY3Rpb25uYXJ5KCkpO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JKU0NvbnZlcnNpb25TZXJ2aWNlLmNvbnZlcnQodGhpcy5jb250ZW50KS50aGVuKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5Q29udGVudCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTaW5nbGVDaGlsZCgpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlZGl0b3JFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvckpzLScgKyB0aGlzLnV1aWQpO1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRsaXN0QXBpRWRpdG9yKHRoaXMuZWRpdG9yLCBlZGl0b3JFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFZGl0b3IuanMgaW5pdGlhbGl6YXRpb24gZmFpbGVkIGJlY2F1c2Ugb2YgJHtyZWFzb259YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWRpdG9yTmFtZSA9ICdlZGl0b3JKcy0nICsgdGhpcy51dWlkO1xuICAgICAgICB0aGlzLmRlbGV0ZVNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lKTtcbiAgICAgICAgdGhpcy5kZWxldGVTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yTmFtZSk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBoYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCkge1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSAvXndiXFwuLy50ZXN0KHRoaXMuY29udGVudCkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmNvbnRlbnQpIDogdGhpcy5jb250ZW50O1xuICAgIH1cblxuICAgIGNvbnRlbnRDaGFuZ2VkKGFwaSwgZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgICAvLyBhZGRlZCB0aW1lb3V0IGhlcmUgdG8gcHJldmVudCBlbXB0eSBvdXRwdXQgb24gcGFzdGVcbiAgICAgICAgICAgIC8vIHNlZSBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vY29kZXgtdGVhbS9lZGl0b3IuanMvaXNzdWVzLzE3NTVcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTaW5nbGVDaGlsZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tXcmFwcGVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgLnNhdmUoKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmdldEVkaXRvckNvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUVkaXRvckNvbnRlbnQodGhpcy5jb250ZW50LCB0aGlzLnV1aWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlLmVtaXQodGhpcy5jb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignU2F2aW5nIEVkaXRvckpTIGNvbnRlbnQgZmFpbGVkOiAnLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTaW5nbGVDaGlsZCgpIHtcbiAgICAgICAgbGV0IGN1cnJlbnRFZGl0b3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjZWRpdG9ySnMtJyArIHRoaXMudXVpZClbMF07XG4gICAgICAgIGxldCBzaW5nbGVCbG9jayA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLWJsb2NrOm9ubHktY2hpbGQnKTtcbiAgICAgICAgbGV0IHRvb2xiYXIgPSBjdXJyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS10b29sYmFyX19hY3Rpb25zJylbMF07XG4gICAgICAgIGlmIChzaW5nbGVCbG9jay5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlmICghdG9vbGJhci5jbGFzc0xpc3QuY29udGFpbnMoJ3Rvb2xzLWhpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgdG9vbGJhci5jbGFzc0xpc3QuYWRkKCd0b29scy1oaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0b29sYmFyLmNsYXNzTGlzdC5jb250YWlucygndG9vbHMtaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICB0b29sYmFyLmNsYXNzTGlzdC5yZW1vdmUoJ3Rvb2xzLWhpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1dyYXBwZXIoKSB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpO1xuICAgICAgICBsZXQgZWRpdG9yQmxvY2tzID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY29kZXgtZWRpdG9yX19yZWRhY3RvciAuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGlmIChlZGl0b3JCbG9ja3MubGVuZ3RoID09PSAxICYmICg8SFRNTEVsZW1lbnQ+ZWRpdG9yQmxvY2tzWzBdKS5pbm5lclRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWRpdG9yQmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBpZiAoYmxvY2suY2hpbGRFbGVtZW50Q291bnQgIT09IDEgfHwgIXRoaXMuaGFzV3JhcHBlcihibG9jaykpIHtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRBbmNob3JOb2RlID0gc2VsZWN0aW9uLmFuY2hvck5vZGU7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkRm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzTm9kZTtcbiAgICAgICAgICAgICAgICBsZXQgYW5jaG9yT2Zmc2V0ID0gc2VsZWN0aW9uLmFuY2hvck9mZnNldDtcbiAgICAgICAgICAgICAgICBsZXQgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7XG4gICAgICAgICAgICAgICAgbGV0IHBhcmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ1AnKTtcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGguaW5uZXJIVE1MID0gYmxvY2suaW5uZXJIVE1MO1xuICAgICAgICAgICAgICAgIGJsb2NrLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGJsb2NrLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkQW5jaG9yTm9kZSAmJiBzZWxlY3RlZEZvY3VzTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IHBhcmFncmFwaC5jaGlsZE5vZGVzWzBdID8gcGFyYWdyYXBoLmNoaWxkTm9kZXNbMF0gOiBwYXJhZ3JhcGg7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0bXBBbmNob3JPZmZzZXQgPSBwYXJhZ3JhcGguY2hpbGROb2Rlc1swXSA/IGFuY2hvck9mZnNldCA6IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0bXBGb2N1c09mZnNldCA9IHBhcmFncmFwaC5jaGlsZE5vZGVzWzBdID8gZm9jdXNPZmZzZXQgOiAwO1xuICAgICAgICAgICAgICAgICAgICByYW5nZS5zZXRTdGFydChub2RlLCB0bXBBbmNob3JPZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICByYW5nZS5zZXRFbmQobm9kZSwgdG1wRm9jdXNPZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNXcmFwcGVyKGJsb2NrOiBFbGVtZW50KSB7XG4gICAgICAgIGxldCB3cmFwcGVyID0gYmxvY2suY2hpbGRyZW5bMF07XG4gICAgICAgIGlmICh3cmFwcGVyICYmIHRoaXMud3JhcHBlclRhZ3Muc3BsaXQoJywnKS5pbmRleE9mKHdyYXBwZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpKSA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVkaXRvckNvbnRlbnQoKSB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpWzBdO1xuICAgICAgICBsZXQgZWRpdG9yQmxvY2tzID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY29kZXgtZWRpdG9yX19yZWRhY3RvciAuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGxldCBjb250ZW50ID0gJyc7XG4gICAgICAgIGVkaXRvckJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgbGV0IGNsb3NpbmdUYWcgPSAnPC8nICsgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSArICc+JztcbiAgICAgICAgICAgIGxldCByZWdleHAgPSAvKCg8XFwvKVxcdysoPikpKD8hW1xcc1xcU10qKCg8XFwvKVxcdysoPikpW1xcc1xcU10qJCkvaTtcbiAgICAgICAgICAgIGxldCBsYXN0Q29udGVudENsb3NpbmdUYWcgPSBjb250ZW50Lm1hdGNoKHJlZ2V4cCkgPyBjb250ZW50Lm1hdGNoKHJlZ2V4cClbMF0gOiAnJztcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCBibG9jay5jaGlsZHJlblswXT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSAmJlxuICAgICAgICAgICAgICAgIGxhc3RDb250ZW50Q2xvc2luZ1RhZyA9PT0gY2xvc2luZ1RhZ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKDAsIGNvbnRlbnQubGVuZ3RoIC0gY2xvc2luZ1RhZy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MLnN1YnN0cmluZyhjbG9zaW5nVGFnLnJlcGxhY2UoJy8nLCAnJykubGVuZ3RoLCBibG9jay5pbm5lckhUTUwubGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBibG9jay5pbm5lckhUTUw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29udGVudCgpIHtcbiAgICAgICAgbGV0IGNvbnRlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpWzBdO1xuICAgICAgICBsZXQgcGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGNvbnRlbnRFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuY29udGVudDtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB3aGlsZSAoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHxcbiAgICAgICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNldGxpc3RBcGlFZGl0b3IodGhpcy5lZGl0b3IuYXBpLCBjdXJyZW50RWRpdG9yKTtcbiAgICAgICAgICAgICAgICB3aGlsZSAoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRvci5ibG9ja3MuaW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICsraTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpID49IHBhcmFncmFwaC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdG1wUGFyYWdyYXBoID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250ZW50RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0STE4bkRpY3Rpb25uYXJ5KCk6IEkxOG5Db25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID09PSAnZnInID8gZnJJMThuRGljdGlvbm5hcnkgOiBlbkkxOG5EaWN0aW9ubmFyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGlvbigpOiBTZWxlY3Rpb24ge1xuICAgICAgICBpZiAod2luZG93Py5nZXRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQ/LmdldFNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50ICYmIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlRWRpdG9yQ29udGVudChkYXRhOiBzdHJpbmcsIHV1aWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIWlzVGV4dEVkaXRpb25Ub29sKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGFuZGxlKTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2F2ZUVkaXRvcihkYXRhLCB1dWlkKTtcbiAgICAgICAgICAgIH0sIDIwMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFRleHRFZGl0aW9uSGFuZGxlKTtcbiAgICAgICAgICAgIHRoaXMudGltZW91dFRleHRFZGl0aW9uSGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNUZXh0RWRpdGlvblRvb2woZmFsc2UpO1xuICAgICAgICAgICAgfSwgMjAwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNhdmVFZGl0b3IoZGF0YTogc3RyaW5nLCB1dWlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZWRpdG9yTmFtZSA9ICdlZGl0b3JKcy0nICsgdXVpZDtcbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUpO1xuICAgICAgICBsZXQgc2F2ZWREYXRhSW5kZXggPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcpXG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmIChzYXZlZERhdGEpIHtcbiAgICAgICAgICAgIHBhcnNlZFNhdmVkRGF0YSA9IEpTT04ucGFyc2Uoc2F2ZWREYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRTYXZlZERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgKytzYXZlZERhdGFJbmRleDtcbiAgICAgICAgd2hpbGUgKHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggPiAxNSkge1xuICAgICAgICAgICAgcGFyc2VkU2F2ZWREYXRhLnNoaWZ0KCk7XG4gICAgICAgICAgICAtLXNhdmVkRGF0YUluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUsIEpTT04uc3RyaW5naWZ5KHBhcnNlZFNhdmVkRGF0YSkpO1xuICAgICAgICB0aGlzLnNldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcsIHNhdmVkRGF0YUluZGV4LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2F2ZWRFZGl0b3JDb250ZW50KG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVNhdmVkRWRpdG9yQ29udGVudChuYW1lKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL2VkaXRvcmpzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxRQUF3QixNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FB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QUM7U0FDM0M7UUFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLEVBQUUsY0FBYyxDQUFDO1FBQ2pCLE9BQU8sZUFBZSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDaEMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLEVBQUUsY0FBYyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsR0FBRyxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQVk7UUFDdEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNyRCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sd0JBQXdCLENBQUMsSUFBSTtRQUNqQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OztZQTlVSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLDZHQUF3QzthQUMzQzs7O1lBakNRLGdCQUFnQjtZQTBCaEIseUJBQXlCO1lBQ3pCLDBCQUEwQjs7OzRCQVE5QixNQUFNO3NCQUVOLEtBQUs7MEJBRUwsS0FBSzt1QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgRWRpdG9ySlMsIHsgSTE4bkNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBTdHJpa2VUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvc3RyaWtlLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdFRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9zdWJzY3JpcHQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VwZXJzY3JpcHRUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvc3VwZXJzY3JpcHQtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9sZFRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9ib2xkLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEl0YWxpY1Rvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS9pdGFsaWMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5kZXJsaW5lVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3VuZGVybGluZS10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXBpdGFsaXplVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL2NhcGl0YWxpemUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbG9yVG9vbCB9IGZyb20gJy4vdG9vbHMvaW5saW5lL3RleHQtY29sb3ItdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEJhY2tncm91bmRDb2xvclRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS90ZXh0LWJhY2tncm91bmQtY29sb3ItdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dFR5cGVUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvdGV4dC10eXBlLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IGZySTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi90b29scy91dGlscy9pMThuL2ZyLWkxOG4uY29tcG9uZW50JztcbmltcG9ydCB7IGVuSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi90b29scy91dGlscy9pMThuL2VuLWkxOG4uY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRBbGlnblRvb2wgfSBmcm9tICcuL3Rvb2xzL3BhcmFncmFwaC90ZXh0LWFsaWduLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFVub3JkZXJlZExpc3RUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvdW5vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3JkZXJlZExpc3RUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvb3JkZXJlZC1saXN0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFF1b3RlVG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3F1b3RlLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtUb29sIH0gZnJvbSAnLi90b29scy9pbmxpbmUvbGluay10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmRlbnRUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvaW5kZW50LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IE91dGRlbnRUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvb3V0ZGVudC10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0ZXh0U2l6ZVRvb2wgfSBmcm9tICcuL3Rvb2xzL2lubGluZS90ZXh0LXNpemUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kZUVkaXRUb29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvY29kZS1lZGl0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFVuZG9Ub29sIH0gZnJvbSAnLi90b29scy9wYXJhZ3JhcGgvdW5kby10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWRvVG9vbCB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3JlZG8tdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNUZXh0RWRpdGlvblRvb2wsIHNldElzVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi90b29scy91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0b3JKU0NvbnZlcnNpb25TZXJ2aWNlIH0gZnJvbSAnLi90b29scy91dGlscy9lZGl0b3Jqcy1jb252ZXJzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9ySlNUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLXRyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgb25FZGl0TGlzdCwgc2V0bGlzdEFwaUVkaXRvciB9IGZyb20gJy4vdG9vbHMvcGFyYWdyYXBoL3Rvb2wtdHlwZS9wYXJhZ3JhcGgtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLWVkaXRvcmpzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yanMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JKc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAT3V0cHV0KCkgY29udGVudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIGNvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuXG4gICAgZWRpdG9yOiBhbnk7XG5cbiAgICB1dWlkID0gdXVpZCgpO1xuXG4gICAgdGltZW91dEhhbmRsZSA9IG51bGw7XG5cbiAgICB0aW1lb3V0VGV4dEVkaXRpb25IYW5kbGUgPSBudWxsO1xuXG4gICAgb25DaGFuZ2VUaW1lb3V0SGFuZGxlID0gbnVsbDtcblxuICAgIGVkaXRvckluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICB3cmFwcGVyVGFncyA9ICdoMSxoMixoMyxoNCxoNSxoNixwLHVsLG9sLGJsb2NrcXVvdGUnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JKU0NvbnZlcnNpb25TZXJ2aWNlOiBFZGl0b3JKU0NvbnZlcnNpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVkaXRvckpTVHJhbnNsYXRpb25TZXJ2aWNlOiBFZGl0b3JKU1RyYW5zbGF0aW9uU2VydmljZVxuICAgICkge31cblxuICAgIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLmhhbmRsZURlZmF1bHRDb250ZW50VHJhbnNsYXRpb24oKTtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9ySlMoe1xuICAgICAgICAgICAgaG9sZGVyOiAnZWRpdG9ySnMtJyArIHRoaXMudXVpZCxcbiAgICAgICAgICAgIHRvb2xzOiB7XG4gICAgICAgICAgICAgICAgdGV4dFR5cGU6IFRleHRUeXBlVG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0U2l6ZTogdGV4dFNpemVUb29sLFxuICAgICAgICAgICAgICAgIHVuZG86IFVuZG9Ub29sLFxuICAgICAgICAgICAgICAgIHJlZG86IFJlZG9Ub29sLFxuICAgICAgICAgICAgICAgIGJvbGQ6IEJvbGRUb29sLFxuICAgICAgICAgICAgICAgIGl0YWxpYzogSXRhbGljVG9vbCxcbiAgICAgICAgICAgICAgICB1bmRlcmxpbmU6IFVuZGVybGluZVRvb2wsXG4gICAgICAgICAgICAgICAgc3RyaWtlOiBTdHJpa2VUb29sLFxuICAgICAgICAgICAgICAgIGNhcGl0YWxpemU6IENhcGl0YWxpemVUb29sLFxuICAgICAgICAgICAgICAgIHN1YnNjcmlwdDogU3Vic2NyaXB0VG9vbCxcbiAgICAgICAgICAgICAgICBzdXBlcnNjcmlwdDogU3VwZXJzY3JpcHRUb29sLFxuICAgICAgICAgICAgICAgIHRleHRDb2xvcjogVGV4dENvbG9yVG9vbCxcbiAgICAgICAgICAgICAgICB0ZXh0QmFja2dyb3VuZENvbG9yOiBUZXh0QmFja2dyb3VuZENvbG9yVG9vbCxcbiAgICAgICAgICAgICAgICBsaW5rOiBMaW5rVG9vbCxcbiAgICAgICAgICAgICAgICBxdW90ZTogUXVvdGVUb29sLFxuICAgICAgICAgICAgICAgIHRleHRBbGlnbjogVGV4dEFsaWduVG9vbCxcbiAgICAgICAgICAgICAgICBvcmRlcmVkTGlzdDogT3JkZXJlZExpc3RUb29sLFxuICAgICAgICAgICAgICAgIHVub3JkZXJlZExpc3Q6IFVub3JkZXJlZExpc3RUb29sLFxuICAgICAgICAgICAgICAgIGluZGVudDogSW5kZW50VG9vbCxcbiAgICAgICAgICAgICAgICBvdXRkZW50OiBPdXRkZW50VG9vbCxcbiAgICAgICAgICAgICAgICBjb2RlRWRpdDogQ29kZUVkaXRUb29sLFxuICAgICAgICAgICAgICAgIHBhcmFncmFwaDoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmVUb29sYmFyOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dFR5cGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHRTaXplJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd1bmRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdib2xkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3VuZGVybGluZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3RyaWtlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdjYXBpdGFsaXplJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0Q29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHRCYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3F1b3RlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0QWxpZ24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ29yZGVyZWRMaXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd1bm9yZGVyZWRMaXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpbmRlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ291dGRlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2NvZGVFZGl0JyxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAoYXBpLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm9uQ2hhbmdlVGltZW91dEhhbmRsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVRpbWVvdXRIYW5kbGUgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlZChhcGksIGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9LCAyMDApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGkxOG46IHRoaXMuZ2V0STE4bkRpY3Rpb25uYXJ5KCksXG4gICAgICAgIH0pO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5lZGl0b3IuaXNSZWFkeTtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9ySlNUcmFuc2xhdGlvblNlcnZpY2Uuc2V0RGljdGlvbm5hcnkodGhpcy5nZXRJMThuRGljdGlvbm5hcnkoKSk7XG4gICAgICAgICAgICB0aGlzLmVkaXRvckpTQ29udmVyc2lvblNlcnZpY2UuY29udmVydCh0aGlzLmNvbnRlbnQpLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja1NpbmdsZUNoaWxkKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZWRpdG9yRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0b3JKcy0nICsgdGhpcy51dWlkKTtcbiAgICAgICAgICAgICAgICBlZGl0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldGxpc3RBcGlFZGl0b3IodGhpcy5lZGl0b3IsIGVkaXRvckVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRWRpdG9yLmpzIGluaXRpYWxpemF0aW9uIGZhaWxlZCBiZWNhdXNlIG9mICR7cmVhc29ufWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVkaXRvck5hbWUgPSAnZWRpdG9ySnMtJyArIHRoaXMudXVpZDtcbiAgICAgICAgdGhpcy5kZWxldGVTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yTmFtZSk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBoYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCkge1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSAvXndiXFwuLy50ZXN0KHRoaXMuY29udGVudCkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmNvbnRlbnQpIDogdGhpcy5jb250ZW50O1xuICAgIH1cblxuICAgIGNvbnRlbnRDaGFuZ2VkKGFwaSwgZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgICAvLyBhZGRlZCB0aW1lb3V0IGhlcmUgdG8gcHJldmVudCBlbXB0eSBvdXRwdXQgb24gcGFzdGVcbiAgICAgICAgICAgIC8vIHNlZSBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vY29kZXgtdGVhbS9lZGl0b3IuanMvaXNzdWVzLzE3NTVcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTaW5nbGVDaGlsZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tXcmFwcGVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgLnNhdmUoKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmdldEVkaXRvckNvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0b3JJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2F2ZUVkaXRvcih0aGlzLmNvbnRlbnQsIHRoaXMudXVpZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUVkaXRvckNvbnRlbnQodGhpcy5jb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENoYW5nZS5lbWl0KHRoaXMuY29udGVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NhdmluZyBFZGl0b3JKUyBjb250ZW50IGZhaWxlZDogJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU2luZ2xlQ2hpbGQoKSB7XG4gICAgICAgIGxldCBjdXJyZW50RWRpdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2VkaXRvckpzLScgKyB0aGlzLnV1aWQpWzBdO1xuICAgICAgICBsZXQgc2luZ2xlQmxvY2sgPSBjdXJyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb2RleC1lZGl0b3JfX3JlZGFjdG9yIC5jZS1ibG9jazpvbmx5LWNoaWxkJyk7XG4gICAgICAgIGxldCB0b29sYmFyID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtdG9vbGJhcl9fYWN0aW9ucycpWzBdO1xuICAgICAgICBpZiAoc2luZ2xlQmxvY2subGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBpZiAoIXRvb2xiYXIuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b29scy1oaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIHRvb2xiYXIuY2xhc3NMaXN0LmFkZCgndG9vbHMtaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodG9vbGJhci5jbGFzc0xpc3QuY29udGFpbnMoJ3Rvb2xzLWhpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgdG9vbGJhci5jbGFzc0xpc3QucmVtb3ZlKCd0b29scy1oaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tXcmFwcGVyKCkge1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGl0b3JKcy0nICsgdGhpcy51dWlkKTtcbiAgICAgICAgbGV0IGVkaXRvckJsb2NrcyA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBpZiAoZWRpdG9yQmxvY2tzLmxlbmd0aCA9PT0gMSAmJiAoPEhUTUxFbGVtZW50PmVkaXRvckJsb2Nrc1swXSkuaW5uZXJUZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvckJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgaWYgKGJsb2NrLmNoaWxkRWxlbWVudENvdW50ICE9PSAxIHx8ICF0aGlzLmhhc1dyYXBwZXIoYmxvY2spKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkQW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZEZvY3VzTm9kZSA9IHNlbGVjdGlvbi5mb2N1c05vZGU7XG4gICAgICAgICAgICAgICAgbGV0IGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQ7XG4gICAgICAgICAgICAgICAgbGV0IGZvY3VzT2Zmc2V0ID0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGxldCBwYXJhZ3JhcGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdQJyk7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLmlubmVySFRNTCA9IGJsb2NrLmlubmVySFRNTDtcbiAgICAgICAgICAgICAgICBibG9jay5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBibG9jay5hcHBlbmRDaGlsZChwYXJhZ3JhcGgpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEFuY2hvck5vZGUgJiYgc2VsZWN0ZWRGb2N1c05vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5vZGUgPSBwYXJhZ3JhcGguY2hpbGROb2Rlc1swXSA/IHBhcmFncmFwaC5jaGlsZE5vZGVzWzBdIDogcGFyYWdyYXBoO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdG1wQW5jaG9yT2Zmc2V0ID0gcGFyYWdyYXBoLmNoaWxkTm9kZXNbMF0gPyBhbmNob3JPZmZzZXQgOiAwO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdG1wRm9jdXNPZmZzZXQgPSBwYXJhZ3JhcGguY2hpbGROb2Rlc1swXSA/IGZvY3VzT2Zmc2V0IDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc2V0U3RhcnQobm9kZSwgdG1wQW5jaG9yT2Zmc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2Uuc2V0RW5kKG5vZGUsIHRtcEZvY3VzT2Zmc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzV3JhcHBlcihibG9jazogRWxlbWVudCkge1xuICAgICAgICBsZXQgd3JhcHBlciA9IGJsb2NrLmNoaWxkcmVuWzBdO1xuICAgICAgICBpZiAod3JhcHBlciAmJiB0aGlzLndyYXBwZXJUYWdzLnNwbGl0KCcsJykuaW5kZXhPZih3cmFwcGVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSkgPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFZGl0b3JDb250ZW50KCkge1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNlZGl0b3JKcy0nICsgdGhpcy51dWlkKVswXTtcbiAgICAgICAgbGV0IGVkaXRvckJsb2NrcyA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBsZXQgY29udGVudCA9ICcnO1xuICAgICAgICBlZGl0b3JCbG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGxldCBjbG9zaW5nVGFnID0gJzwvJyArIGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgKyAnPic7XG4gICAgICAgICAgICBsZXQgcmVnZXhwID0gLygoPFxcLylcXHcrKD4pKSg/IVtcXHNcXFNdKigoPFxcLylcXHcrKD4pKVtcXHNcXFNdKiQpL2k7XG4gICAgICAgICAgICBsZXQgbGFzdENvbnRlbnRDbG9zaW5nVGFnID0gY29udGVudC5tYXRjaChyZWdleHApID8gY29udGVudC5tYXRjaChyZWdleHApWzBdIDogJyc7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykgJiZcbiAgICAgICAgICAgICAgICBsYXN0Q29udGVudENsb3NpbmdUYWcgPT09IGNsb3NpbmdUYWdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZygwLCBjb250ZW50Lmxlbmd0aCAtIGNsb3NpbmdUYWcubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBjb250ZW50ICs9IGJsb2NrLmlubmVySFRNTC5zdWJzdHJpbmcoY2xvc2luZ1RhZy5yZXBsYWNlKCcvJywgJycpLmxlbmd0aCwgYmxvY2suaW5uZXJIVE1MLmxlbmd0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNvbnRlbnQoKSB7XG4gICAgICAgIGxldCBjb250ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNlZGl0b3JKcy0nICsgdGhpcy51dWlkKVswXTtcbiAgICAgICAgbGV0IHBhcmFncmFwaCA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBjb250ZW50RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQ7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgd2hpbGUgKGNvbnRlbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndWwnIHx8XG4gICAgICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBzZXRsaXN0QXBpRWRpdG9yKHRoaXMuZWRpdG9yLmFwaSwgY3VycmVudEVkaXRvcik7XG4gICAgICAgICAgICAgICAgd2hpbGUgKGNvbnRlbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGNvbnRlbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPj0gcGFyYWdyYXBoLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcFBhcmFncmFwaCA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yLmJsb2Nrcy5pbnNlcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcFBhcmFncmFwaCA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmFwcGVuZENoaWxkKGNvbnRlbnRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmNsb25lTm9kZSh0cnVlKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYXBwZW5kQ2hpbGQoY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKytpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29udGVudEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEkxOG5EaWN0aW9ubmFyeSgpOiBJMThuQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyA9PT0gJ2ZyJyA/IGZySTE4bkRpY3Rpb25uYXJ5IDogZW5JMThuRGljdGlvbm5hcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3Rpb24oKTogU2VsZWN0aW9uIHtcbiAgICAgICAgaWYgKHdpbmRvdz8uZ2V0U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50Py5nZXRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIGlmIChkb2N1bWVudCAmJiAoZG9jdW1lbnQgYXMgYW55KS5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiAoZG9jdW1lbnQgYXMgYW55KS5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKS50ZXh0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUVkaXRvckNvbnRlbnQoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghaXNUZXh0RWRpdGlvblRvb2wpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRIYW5kbGUpO1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0SGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTYXZlRWRpdG9yKGRhdGEsIHRoaXMudXVpZCk7XG4gICAgICAgICAgICB9LCAyMDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRUZXh0RWRpdGlvbkhhbmRsZSk7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXRUZXh0RWRpdGlvbkhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzVGV4dEVkaXRpb25Ub29sKGZhbHNlKTtcbiAgICAgICAgICAgIH0sIDIwMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTYXZlRWRpdG9yKGRhdGE6IHN0cmluZywgdXVpZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGVkaXRvck5hbWUgPSAnZWRpdG9ySnMtJyArIHV1aWQ7XG4gICAgICAgIGxldCBzYXZlZERhdGEgPSB0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lKTtcbiAgICAgICAgbGV0IHNhdmVkRGF0YUluZGV4ID0gdGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yTmFtZSArICctaW5kZXgnKVxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcpKVxuICAgICAgICAgICAgOiAtMTtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvckluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBzYXZlZERhdGEgPSBudWxsO1xuICAgICAgICAgICAgc2F2ZWREYXRhSW5kZXggPSAtMTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmIChzYXZlZERhdGEpIHtcbiAgICAgICAgICAgIHBhcnNlZFNhdmVkRGF0YSA9IEpTT04ucGFyc2Uoc2F2ZWREYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRTYXZlZERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgKytzYXZlZERhdGFJbmRleDtcbiAgICAgICAgd2hpbGUgKHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggPiAxNSkge1xuICAgICAgICAgICAgcGFyc2VkU2F2ZWREYXRhLnNoaWZ0KCk7XG4gICAgICAgICAgICAtLXNhdmVkRGF0YUluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvck5hbWUsIEpTT04uc3RyaW5naWZ5KHBhcnNlZFNhdmVkRGF0YSkpO1xuICAgICAgICB0aGlzLnNldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3JOYW1lICsgJy1pbmRleCcsIHNhdmVkRGF0YUluZGV4LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2F2ZWRFZGl0b3JDb250ZW50KG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVNhdmVkRWRpdG9yQ29udGVudChuYW1lKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG5hbWUpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShuYW1lICsgJy1pbmRleCcpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -72,4 +72,4 @@ export class BoldTool extends InlineStyleTool {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
BoldTool.title = 'Bold';
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9sZC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvYm9sZC10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFMUUsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQXNEekMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBcERLLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBRTdCLFFBQUcsR0FBRztZQUNuQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsY0FBYyxFQUFFLHNCQUFzQjtTQUN6QyxDQUFDO1FBRU0sVUFBSyxHQUFrQztZQUMzQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLFFBQVEsQ0FBQztRQUVmLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUUxQixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBNEJFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQTVCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUF2RmEsY0FBSyxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQm9sZFRvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ0JvbGQnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ2JvbGQnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLWJvbGQnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1RST05HJztcblxuICAgIGhhc1NlcGFyYXRvckJlZm9yZSA9IHRydWU7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiB0cnVlLFxuICAgICAgICBzdHlsZTogZmFsc2UsXG4gICAgICAgIGNsYXNzOiBmYWxzZSxcbiAgICAgICAgYXR0cmlidXRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG9ydGN1dCgpIHtcbiAgICAgICAgcmV0dXJuICdDTUQrQic7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaGFzU3R5bGUoPEhUTUxFbGVtZW50PnNlbGVjdGlvbi5hbmNob3JOb2RlKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLkNTUy5idXR0b25BY3RpdmUsIGlzQWN0aXZlKTtcblxuICAgICAgICByZXR1cm4gaXNBY3RpdmU7XG4gICAgfVxufVxuIl19
|
|
@@ -73,4 +73,4 @@ export class CapitalizeTool extends InlineStyleTool {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
CapitalizeTool.title = 'Capitalize';
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvY2FwaXRhbGl6ZS10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQWUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFMUUsV0FBVztBQUNYLE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQXNEL0MsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBcERLLGdCQUFXLEdBQVcsWUFBWSxDQUFDO1FBRW5DLFFBQUcsR0FBRztZQUNuQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsY0FBYyxFQUFFLDRCQUE0QjtTQUMvQyxDQUFDO1FBRU0sVUFBSyxHQUFrQztZQUMzQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLE1BQU0sQ0FBQztRQUViLFVBQUssR0FBZ0I7WUFDakIsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixLQUFLLEVBQUUsV0FBVztZQUNsQixPQUFPLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBRUYsYUFBUSxHQUFHO1lBQ1AsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztRQXdCRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUF4Qk0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU87WUFDSCxDQUFDLEVBQUUsRUFBRTtTQUNXLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUF2RmEsb0JBQUssR0FBRyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMsIFN0eWxlT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5saW5lU3R5bGVUb29sIH0gZnJvbSAnLi90b29sLXR5cGUvaW5saW5lLXN0eWxlLXRvb2wuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBDYXBpdGFsaXplVG9vbCBleHRlbmRzIElubGluZVN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnQ2FwaXRhbGl6ZSc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnY2FwaXRhbGl6ZSc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IENTUyA9IHtcbiAgICAgICAgYnV0dG9uOiAnY2UtaW5saW5lLXRvb2wnLFxuICAgICAgICBidXR0b25BY3RpdmU6ICdjZS1pbmxpbmUtdG9vbC0tYWN0aXZlJyxcbiAgICAgICAgYnV0dG9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtdG9vbC0tY2FwaXRhbGl6ZScsXG4gICAgfTtcblxuICAgIHByaXZhdGUgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdTUEFOJztcblxuICAgIHN0eWxlOiBTdHlsZU9iamVjdCA9IHtcbiAgICAgICAgcHJvcGVydHk6ICd0ZXh0LXRyYW5zZm9ybScsXG4gICAgICAgIHZhbHVlOiAndXBwZXJjYXNlJyxcbiAgICAgICAgZGVmYXVsdDogJ2luaXRpYWwnLFxuICAgIH07XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiBmYWxzZSxcbiAgICAgICAgc3R5bGU6IHRydWUsXG4gICAgICAgIGNsYXNzOiBmYWxzZSxcbiAgICAgICAgYXR0cmlidXRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaGFzU3R5bGUoPEhUTUxFbGVtZW50PnNlbGVjdGlvbi5hbmNob3JOb2RlKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLkNTUy5idXR0b25BY3RpdmUsIGlzQWN0aXZlKTtcblxuICAgICAgICByZXR1cm4gaXNBY3RpdmU7XG4gICAgfVxufVxuIl19
|
|
@@ -71,4 +71,4 @@ export class ItalicTool extends InlineStyleTool {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
ItalicTool.title = 'Italic';
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRhbGljLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9pdGFsaWMtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFvRDNDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQWxESyxnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUUvQixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSx3QkFBd0I7U0FDM0MsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBNEJFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQTVCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUFyRmEsZ0JBQUssR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEl0YWxpY1Rvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ0l0YWxpYyc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnaXRhbGljJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1pdGFsaWMnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnRU0nO1xuXG4gICAgbW9kaWZpZXMgPSB7XG4gICAgICAgIHRhZzogdHJ1ZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvcnRjdXQoKSB7XG4gICAgICAgIHJldHVybiAnQ01EK0knO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpO1xuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -320,4 +320,4 @@ export class LinkTool extends InlineStyleTool {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
LinkTool.title = 'Link';
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvbGluay10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFtQixjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUyxTQUFRLGVBQWU7SUEwRXpDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXhFSyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUU3QixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSxzQkFBc0I7U0FDekMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFYix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsYUFBUSxHQUFHO1lBQ1AsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLFlBQU8sR0FBVztZQUNkLFNBQVMsRUFBRSx5QkFBeUI7WUFDcEMsYUFBYSxFQUFFLG9DQUFvQztZQUNuRCxlQUFlLEVBQUUsaUNB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QUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O0FBbFdhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgQXR0cmlidXRlT2JqZWN0LCBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIExpbmtUb29sIGV4dGVuZHMgSW5saW5lU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdMaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdsaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1saW5rJyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBwcml2YXRlIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1BBTic7XG5cbiAgICBoYXNTZXBhcmF0b3JCZWZvcmUgPSB0cnVlO1xuXG4gICAgbGlua0RlbGV0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiBmYWxzZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgbGlua0NzczogT2JqZWN0ID0ge1xuICAgICAgICBjb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGluaycsXG4gICAgICAgIGxpbmtDb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fY29udGFpbmVyJyxcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX3RhcmdldCcsXG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX29iZnVzY2F0aW9uJyxcbiAgICAgICAgbGlua0lucHV0SWQ6ICdsaW5rSW5wdXQnLFxuICAgICAgICB0YXJnZXRDaGVja2JveElkOiAndGFyZ2V0Q2hlY2tib3gnLFxuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94SWQ6ICdvYmZ1c2NhdGlvbkNoZWNrYm94JyxcbiAgICAgICAgYWRkQnV0dG9uQ2xhc3M6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fYWRkJyxcbiAgICAgICAgZGVsZXRlQnV0dG9uQ2xhc3M6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fZGVsZXRlJyxcbiAgICB9O1xuXG4gICAgYXR0cmlidXRlTmFtZTogc3RyaW5nID0gJ2RhdGEtaHRhcCxocmVmLGRhdGEta25hbGInO1xuXG4gICAgYXR0cmlidXRlc1RvQXBwbHk6IEFycmF5PEF0dHJpYnV0ZU9iamVjdD4gfCBudWxsID0gW107XG5cbiAgICBpc0xpbmtEcm9wZG93bk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvcnRjdXQoKSB7XG4gICAgICAgIHJldHVybiAnQ01EK0snO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbkxpbmtEcm9wZG93bigpKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSwgYXBwbHlMaW5rOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGFwcGx5TGluaykge1xuICAgICAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmdldFNlbGVjdGlvbigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cblxuICAgIGFzeW5jIGFwcGx5TGluaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkgPSBbXTtcblxuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1sndGFyZ2V0Q2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgbGlua0lucHV0ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ2xpbmtJbnB1dElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIGlmIChvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ1NQQU4nO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEtaHRhcCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJ0b2EobGlua0lucHV0LnZhbHVlKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWtuYWxiJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd0cnVlJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ0EnO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseS5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaHJlZicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxpbmtJbnB1dC52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ19ibGFuaycsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdXJyb3VuZChudWxsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgIHRoaXMub3BlbkxpbmtEcm9wZG93bigpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlbGV0ZUxpbmsoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydvYmZ1c2NhdGlvbkNoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBsaW5rSW5wdXQgPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snbGlua0lucHV0SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmIChvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ1NQQU4nO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEtaHRhcCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJ0b2EobGlua0lucHV0LnZhbHVlKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWtuYWxiJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd0cnVlJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ0EnO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseS5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaHJlZicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxpbmtJbnB1dC52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ19ibGFuaycsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5saW5rRGVsZXRpb24gPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLnN1cnJvdW5kKG51bGwsIHRydWUpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5jdXJyZW50U2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5vcGVuTGlua0Ryb3Bkb3duKCk7XG4gICAgICAgIHRoaXMubGlua0RlbGV0aW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyQWN0aW9ucygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG4gICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10gKyAnIGhpZGRlbic7XG5cbiAgICAgICAgbGV0IGxpbmtDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGlua0NvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2xpbmtDb250YWluZXInXTtcbiAgICAgICAgbGV0IHRhcmdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWyd0YXJnZXRDb250YWluZXInXTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25Db250YWluZXInXTtcbiAgICAgICAgbGV0IGFwcGx5QnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGFwcGx5QnV0dG9uLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snYWRkQnV0dG9uQ2xhc3MnXTtcbiAgICAgICAgYXBwbHlCdXR0b24uaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1snYWRkJ107XG4gICAgICAgIGFwcGx5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5hcHBseUxpbmsoKSk7XG5cbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1sncGxhY2Vob2xkZXInXSk7XG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIHRhcmdldENoZWNrYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IHRhcmdldExhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1snZXh0ZXJuYWwnXTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuc2V0QXR0cmlidXRlKCdmb3InLCB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpO1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uTGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkxhYmVsLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ29iZnVzY2F0ZWQnXTtcbiAgICAgICAgb2JmdXNjYXRpb25MYWJlbC5zZXRBdHRyaWJ1dGUoJ2ZvcicsIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgb2JiZnVzY2F0aW9uVG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBvYmJmdXNjYXRpb25Ub29sdGlwLmlubmVySFRNTCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2luZm8nXTtcbiAgICAgICAgb2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iYmZ1c2NhdGlvblRvb2x0aXApO1xuICAgICAgICBsZXQgZGVsZXRlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2RlbGV0ZUJ1dHRvbkNsYXNzJ10gKyAnIGhpZGRlbic7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuZGVsZXRlTGluaygpKTtcblxuICAgICAgICBsaW5rQ29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtJbnB1dCk7XG4gICAgICAgIHRhcmdldENvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRDaGVja2JveCk7XG4gICAgICAgIHRhcmdldENvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRMYWJlbCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uQ2hlY2tib3gpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvbkxhYmVsKTtcbiAgICAgICAgb2JmdXNjYXRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyKTtcblxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0NvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRDb250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25Db250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYXBwbHlCdXR0b24pO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZGVsZXRlQnV0dG9uKTtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG5cbiAgICAgICAgbGV0IHRhcmdldENoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGRlbGV0ZUJ1dHRvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydkZWxldGVCdXR0b25DbGFzcyddKTtcbiAgICAgICAgbGV0IGFkZEJ1dHRvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydhZGRCdXR0b25DbGFzcyddKTtcbiAgICAgICAgbGlua0lucHV0LnZhbHVlID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSkpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBsaW5rSW5wdXQudmFsdWUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnID8gJ2hyZWYnIDogJ2RhdGEtaHRhcCcpO1xuICAgICAgICAgICAgdGFyZ2V0Q2hlY2tib3guY2hlY2tlZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuayc7XG4gICAgICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQgPSBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NwYW4nO1xuICAgICAgICAgICAgaWYgKGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhZGRCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmtJbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgdGFyZ2V0Q2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoIWRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFkZEJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgYWRkQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7fVxuXG4gICAgb3BlbkxpbmtEcm9wZG93bigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGlua0Ryb3Bkb3duID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLicgKyB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAobGlua0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAobGlua0Ryb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dBY3Rpb25zKG51bGwpO1xuICAgICAgICAgICAgICAgIGxldCB2aWV3cG9ydE9mZnNldCA9IGxpbmtEcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBpZiAodmlld3BvcnRPZmZzZXQubGVmdCArICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5vZmZzZXRXaWR0aCA+IGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxlZnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUobGlua0Ryb3Bkb3duLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdsZWZ0JykpIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3cG9ydE9mZnNldC5sZWZ0ICsgKDxIVE1MRWxlbWVudD5saW5rRHJvcGRvd24pLm9mZnNldFdpZHRoIC0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCk7XG4gICAgICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5zdHlsZS5sZWZ0ID0gbGVmdC50b1N0cmluZygpICsgJ3B4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD5saW5rRHJvcGRvd24pLnN0eWxlLnRvcCA9XG4gICAgICAgICAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+dGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLmNlLWlubGluZS10b29sYmFyX19idXR0b25zJykpLm9mZnNldEhlaWdodCAtXG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0VG9wICsgdGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0SGVpZ2h0KVxuICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCkgK1xuICAgICAgICAgICAgICAgICAgICAncHgnO1xuICAgICAgICAgICAgICAgIGxpbmtEcm9wZG93bi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5pc0xpbmtEcm9wZG93bkZvY3VzZWRPdXQoJGV2ZW50KSk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LCA0MDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgbGlua0Ryb3Bkb3duLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkge1xuICAgICAgICBsZXQgY29sb3JTZWxlY3Rpb24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10pO1xuICAgICAgICBpZiAodGhpcy5pc0xpbmtEcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gJGV2ZW50LnRhcmdldDtcbiAgICAgICAgICAgIHdoaWxlIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5pc0xpbmtEcm9wZG93bkZvY3VzZWRPdXQoJGV2ZW50KSk7XG4gICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgY29sb3JTZWxlY3Rpb24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB0aGlzLmFwaS50b29sYmFyLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvbGluay10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFtQixjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUyxTQUFRLGVBQWU7SUEwRXpDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXhFSyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUU3QixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSxzQkFBc0I7U0FDekMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFYix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsYUFBUSxHQUFHO1lBQ1AsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLFlBQU8sR0FBVztZQUNkLFNBQVMsRUFBRSx5QkFBeUI7WUFDcEMsYUFBYSxFQUFFLG9DQUFvQztZQUNuRCxlQUFlLEVBQUUsaUNB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QUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O0FBbFdhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgQXR0cmlidXRlT2JqZWN0LCBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIExpbmtUb29sIGV4dGVuZHMgSW5saW5lU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdMaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdsaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1saW5rJyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJ1NQQU4nO1xuXG4gICAgaGFzU2VwYXJhdG9yQmVmb3JlID0gdHJ1ZTtcblxuICAgIGxpbmtEZWxldGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgbW9kaWZpZXMgPSB7XG4gICAgICAgIHRhZzogZmFsc2UsXG4gICAgICAgIHN0eWxlOiBmYWxzZSxcbiAgICAgICAgY2xhc3M6IGZhbHNlLFxuICAgICAgICBhdHRyaWJ1dGU6IHRydWUsXG4gICAgfTtcblxuICAgIGxpbmtDc3M6IE9iamVjdCA9IHtcbiAgICAgICAgY29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmsnLFxuICAgICAgICBsaW5rQ29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX2NvbnRhaW5lcicsXG4gICAgICAgIHRhcmdldENvbnRhaW5lcjogJ2NlLWlubGluZS1hY3Rpb25zLS1saW5rX190YXJnZXQnLFxuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lcjogJ2NlLWlubGluZS1hY3Rpb25zLS1saW5rX19vYmZ1c2NhdGlvbicsXG4gICAgICAgIGxpbmtJbnB1dElkOiAnbGlua0lucHV0JyxcbiAgICAgICAgdGFyZ2V0Q2hlY2tib3hJZDogJ3RhcmdldENoZWNrYm94JyxcbiAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveElkOiAnb2JmdXNjYXRpb25DaGVja2JveCcsXG4gICAgICAgIGFkZEJ1dHRvbkNsYXNzOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX2FkZCcsXG4gICAgICAgIGRlbGV0ZUJ1dHRvbkNsYXNzOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX2RlbGV0ZScsXG4gICAgfTtcblxuICAgIGF0dHJpYnV0ZU5hbWU6IHN0cmluZyA9ICdkYXRhLWh0YXAsaHJlZixkYXRhLWtuYWxiJztcblxuICAgIGF0dHJpYnV0ZXNUb0FwcGx5OiBBcnJheTxBdHRyaWJ1dGVPYmplY3Q+IHwgbnVsbCA9IFtdO1xuXG4gICAgaXNMaW5rRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3J0Y3V0KCkge1xuICAgICAgICByZXR1cm4gJ0NNRCtLJztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKSk7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UsIGFwcGx5TGluazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChhcHBseUxpbmspIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICBhc3luYyBhcHBseUxpbmsoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5ID0gW107XG5cbiAgICAgICAgbGV0IHRhcmdldENoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgICAgICBpZiAob2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdTUEFOJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWh0YXAnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBidG9hKGxpbmtJbnB1dC52YWx1ZSksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YS1rbmFsYicsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndHJ1ZScsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdBJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2hyZWYnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsaW5rSW5wdXQudmFsdWUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGFyZ2V0JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfYmxhbmsnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3Vycm91bmQobnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGVMaW5rKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCB1dWlkID0gdGhpcy5wYXJlbnRFZGl0b3IuZ2V0QXR0cmlidXRlKCdpZCcpLnJlcGxhY2UoJ2VkaXRvckpzLScsICcnKTtcblxuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1sndGFyZ2V0Q2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgbGlua0lucHV0ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ2xpbmtJbnB1dElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBpZiAob2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdTUEFOJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWh0YXAnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBidG9hKGxpbmtJbnB1dC52YWx1ZSksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YS1rbmFsYicsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndHJ1ZScsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdBJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2hyZWYnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsaW5rSW5wdXQudmFsdWUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGFyZ2V0JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfYmxhbmsnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubGlua0RlbGV0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdXJyb3VuZChudWxsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgIHRoaXMub3BlbkxpbmtEcm9wZG93bigpO1xuICAgICAgICB0aGlzLmxpbmtEZWxldGlvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlckFjdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddICsgJyBoaWRkZW4nO1xuXG4gICAgICAgIGxldCBsaW5rQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxpbmtDb250YWluZXIuY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWydsaW5rQ29udGFpbmVyJ107XG4gICAgICAgIGxldCB0YXJnZXRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1sndGFyZ2V0Q29udGFpbmVyJ107XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ29udGFpbmVyJ107XG4gICAgICAgIGxldCBhcHBseUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBhcHBseUJ1dHRvbi5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2FkZEJ1dHRvbkNsYXNzJ107XG4gICAgICAgIGFwcGx5QnV0dG9uLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2FkZCddO1xuICAgICAgICBhcHBseUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYXBwbHlMaW5rKCkpO1xuXG4gICAgICAgIGxldCBsaW5rSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBsaW5rSW5wdXQuc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMubGlua0Nzc1snbGlua0lucHV0SWQnXSArIHV1aWQpO1xuICAgICAgICBsaW5rSW5wdXQuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ3BsYWNlaG9sZGVyJ10pO1xuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgdGFyZ2V0Q2hlY2tib3guc2V0QXR0cmlidXRlKCd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICAgIGxldCB0YXJnZXRMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XG4gICAgICAgIHRhcmdldExhYmVsLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2V4dGVybmFsJ107XG4gICAgICAgIHRhcmdldExhYmVsLnNldEF0dHJpYnV0ZSgnZm9yJywgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guc2V0QXR0cmlidXRlKCd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgb2JmdXNjYXRpb25MYWJlbC5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy5saW5rWydvYmZ1c2NhdGVkJ107XG4gICAgICAgIG9iZnVzY2F0aW9uTGFiZWwuc2V0QXR0cmlidXRlKCdmb3InLCB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCk7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvblRvb2x0aXBDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGV0IG9iYmZ1c2NhdGlvblRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgb2JiZnVzY2F0aW9uVG9vbHRpcC5pbm5lckhUTUwgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy5saW5rWydpbmZvJ107XG4gICAgICAgIG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lci5hcHBlbmRDaGlsZChvYmJmdXNjYXRpb25Ub29sdGlwKTtcbiAgICAgICAgbGV0IGRlbGV0ZUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBkZWxldGVCdXR0b24uY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWydkZWxldGVCdXR0b25DbGFzcyddICsgJyBoaWRkZW4nO1xuICAgICAgICBkZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmRlbGV0ZUxpbmsoKSk7XG5cbiAgICAgICAgbGlua0NvbnRhaW5lci5hcHBlbmRDaGlsZChsaW5rSW5wdXQpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuYXBwZW5kQ2hpbGQodGFyZ2V0Q2hlY2tib3gpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuYXBwZW5kQ2hpbGQodGFyZ2V0TGFiZWwpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvbkNoZWNrYm94KTtcbiAgICAgICAgb2JmdXNjYXRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25MYWJlbCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lcik7XG5cbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtDb250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGFyZ2V0Q29udGFpbmVyKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uQ29udGFpbmVyKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGFwcGx5QnV0dG9uKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRlbGV0ZUJ1dHRvbik7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBzaG93QWN0aW9ucyhtYXJrKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydvYmZ1c2NhdGlvbkNoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBsaW5rSW5wdXQgPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snbGlua0lucHV0SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBkZWxldGVCdXR0b24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snZGVsZXRlQnV0dG9uQ2xhc3MnXSk7XG4gICAgICAgIGxldCBhZGRCdXR0b24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snYWRkQnV0dG9uQ2xhc3MnXSk7XG4gICAgICAgIGxpbmtJbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpKSB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpO1xuICAgICAgICAgICAgbGlua0lucHV0LnZhbHVlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhJyA/ICdocmVmJyA6ICdkYXRhLWh0YXAnKTtcbiAgICAgICAgICAgIHRhcmdldENoZWNrYm94LmNoZWNrZWQgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgndGFyZ2V0JykgPT09ICdfYmxhbmsnO1xuICAgICAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzcGFuJztcbiAgICAgICAgICAgIGlmIChkZWxldGVCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghYWRkQnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICBhZGRCdXR0b24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaW5rSW5wdXQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIHRhcmdldENoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKCFkZWxldGVCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhZGRCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVBY3Rpb25zKCkge31cblxuICAgIG9wZW5MaW5rRHJvcGRvd24oKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxpbmtEcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydjb250YWluZXInXSk7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGxpbmtEcm9wZG93bikge1xuICAgICAgICAgICAgaWYgKGxpbmtEcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9ucyhudWxsKTtcbiAgICAgICAgICAgICAgICBsZXQgdmlld3BvcnRPZmZzZXQgPSBsaW5rRHJvcGRvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXdwb3J0T2Zmc2V0LmxlZnQgKyAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikub2Zmc2V0V2lkdGggPiBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsZWZ0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGxpbmtEcm9wZG93biwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnbGVmdCcpKSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAodmlld3BvcnRPZmZzZXQubGVmdCArICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5vZmZzZXRXaWR0aCAtIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikuc3R5bGUubGVmdCA9IGxlZnQudG9TdHJpbmcoKSArICdweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5zdHlsZS50b3AgPVxuICAgICAgICAgICAgICAgICAgICAnLScgK1xuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy5jZS1pbmxpbmUtdG9vbGJhcl9fYnV0dG9ucycpKS5vZmZzZXRIZWlnaHQgLVxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldFRvcCArIHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpICtcbiAgICAgICAgICAgICAgICAgICAgJ3B4JztcbiAgICAgICAgICAgICAgICBsaW5rRHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMuaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGxpbmtEcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzTGlua0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpIHtcbiAgICAgICAgbGV0IGNvbG9yU2VsZWN0aW9uID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLicgKyB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKTtcbiAgICAgICAgaWYgKHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9ICRldmVudC50YXJnZXQ7XG4gICAgICAgICAgICB3aGlsZSAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMuaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgdGhpcy5pc0xpbmtEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbG9yU2VsZWN0aW9uLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgdGhpcy5hcGkudG9vbGJhci5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -68,4 +68,4 @@ export class StrikeTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
StrikeTool.title = 'Strike';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaWtlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9zdHJpa2UtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFnRDNDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQTlDSyxnQkFBVyxHQUFXLGVBQWUsQ0FBQztRQUV0QyxRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSx3QkFBd0I7U0FDM0MsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBd0JFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFjLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQWpGYSxnQkFBSyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgU3RyaWtlVG9vbCBleHRlbmRzIElubGluZVN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnU3RyaWtlJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdzdHJpa2V0aHJvdWdoJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1zdHJpa2UnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnUyc7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiB0cnVlLFxuICAgICAgICBzdHlsZTogZmFsc2UsXG4gICAgICAgIGNsYXNzOiBmYWxzZSxcbiAgICAgICAgYXR0cmlidXRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaGFzU3R5bGUoPEhUTUxFbGVtZW50PnNlbGVjdGlvbi5hbmNob3JOb2RlKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLkNTUy5idXR0b25BY3RpdmUsIGlzQWN0aXZlKTtcblxuICAgICAgICByZXR1cm4gaXNBY3RpdmU7XG4gICAgfVxufVxuIl19
|