@net7/boilerplate-muruca 5.2.20 → 5.2.22
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.
|
@@ -11,6 +11,27 @@ export class MrTextViewerDS extends DataSource {
|
|
|
11
11
|
data.facsimile.options[key] = this.options.facsimileOptions[key];
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
+
// Gestione libOptions
|
|
15
|
+
if (this.options.libOptions) {
|
|
16
|
+
if (!data.libOptions || typeof data.libOptions !== 'object') {
|
|
17
|
+
data.libOptions = {};
|
|
18
|
+
}
|
|
19
|
+
Object.keys(this.options.libOptions).forEach((key) => {
|
|
20
|
+
if (!data.libOptions[key] || typeof data.libOptions[key] !== 'object') {
|
|
21
|
+
data.libOptions[key] = {};
|
|
22
|
+
}
|
|
23
|
+
Object.keys(this.options.libOptions[key]).forEach((subKey) => {
|
|
24
|
+
data.libOptions[key][subKey] = this.options.libOptions[key][subKey];
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
// Debug libOptions
|
|
28
|
+
/* console.log(' DEBUG libOptions:', {
|
|
29
|
+
'this.options.libOptions': this.options.libOptions,
|
|
30
|
+
'data.libOptions': data.libOptions,
|
|
31
|
+
'data.libOptions.pbPage': data.libOptions.pbPage,
|
|
32
|
+
'urlIgnore': data.libOptions.pbPage?.urlIgnore
|
|
33
|
+
}); */
|
|
34
|
+
}
|
|
14
35
|
const { enableClickOnEntities, toggleColumn, searchId, searchApi } = this.options || {};
|
|
15
36
|
data.toggleColumn = toggleColumn;
|
|
16
37
|
// force tei publisher endpoint value
|
|
@@ -274,4 +295,4 @@ export class MrTextViewerDS extends DataSource {
|
|
|
274
295
|
}, 600);
|
|
275
296
|
}
|
|
276
297
|
}
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC12aWV3ZXIuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9kYXRhLXNvdXJjZXMvdGV4dC12aWV3ZXIuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV4QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFHbEMsU0FBUyxDQUFDLElBQW9CO1FBQ3RDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLEVBQ0oscUJBQXFCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQ3pELEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMscUNBQXFDO1FBQ3JDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDdkIsZUFBZSxFQUNmLENBQUMsRUFB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QyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekMsQ0FBQztpQkFBTSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxHQUFHLFFBQVE7cUJBQ2YsYUFBYSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztxQkFDeEMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0Q7Ozs7Ozs7O2NBUUU7WUFFRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0Vmlld2VyRGF0YSB9IGZyb20gJ0BuZXQ3L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTXJUZXh0Vmlld2VyRFMgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgaWQ6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtKGRhdGE6IFRleHRWaWV3ZXJEYXRhKTogVGV4dFZpZXdlckRhdGEge1xuICAgIGlmICghZGF0YSkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmZhY3NpbWlsZU9wdGlvbnMgJiYgZGF0YS5mYWNzaW1pbGUpIHtcbiAgICAgIGlmICghZGF0YS5mYWNzaW1pbGUub3B0aW9ucykge1xuICAgICAgICBkYXRhLmZhY3NpbWlsZS5vcHRpb25zID0ge307XG4gICAgICB9XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuZmFjc2ltaWxlT3B0aW9ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGRhdGEuZmFjc2ltaWxlLm9wdGlvbnNba2V5XSA9IHRoaXMub3B0aW9ucy5mYWNzaW1pbGVPcHRpb25zW2tleV07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBlbmFibGVDbGlja09uRW50aXRpZXMsIHRvZ2dsZUNvbHVtbiwgc2VhcmNoSWQsIHNlYXJjaEFwaVxuICAgIH0gPSB0aGlzLm9wdGlvbnMgfHwge307XG4gICAgZGF0YS50b2dnbGVDb2x1bW4gPSB0b2dnbGVDb2x1bW47XG4gICAgLy8gZm9yY2UgdGVpIHB1Ymxpc2hlciBlbmRwb2ludCB2YWx1ZVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAncGItcGFnZS1yZWFkeScsXG4gICAgICAoZXY6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGV0YWlsIH0gPSBldjtcbiAgICAgICAgZGV0YWlsLmVuZHBvaW50ID0gZGF0YS5lbmRwb2ludDtcbiAgICAgIH0sXG4gICAgICB7IG9uY2U6IHRydWUgfVxuICAgICk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgY29uc3QgaWQgPSBwYXJhbXMuZ2V0KCdpZCcpO1xuXG4gICAgLy8gTmFzY29uZGVyZSB0ZWktYXBwIGUgbm90ZS1pdGVtIHNlIGwnT0REIG5vbiBoYSBnacOgIGwnZWxlbWVudG8gaW4gZGlzcGxheSBOT05FXG4gICAgLyogIGNvbnN0IGhpZGVFbGVtZW50cyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcGFyYXR1c1ZpZXcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubjctdGV4dC12aWV3ZXIgI2FwcGFyYXR1cy12aWV3MCcpO1xuICAgICAgaWYgKGFwcGFyYXR1c1ZpZXc/LnNoYWRvd1Jvb3QpIHtcbiAgICAgICAgY29uc3QgdGVpQXBwRWxlbWVudHMgPSBhcHBhcmF0dXNWaWV3LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgnLnRlaS1hcHAnKTtcbiAgICAgICAgY29uc3QgdGVpTm90ZUVsZW1lbnRzID0gYXBwYXJhdHVzVmlldy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ub3RlLWl0ZW0nKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1Ryb3ZhdGkgZWxlbWVudGkgdGVpLWFwcDonLCB0ZWlBcHBFbGVtZW50cy5sZW5ndGgpO1xuICAgICAgICBjb25zb2xlLmxvZygnVHJvdmF0aSBlbGVtZW50aSB0ZWktbm90ZTonLCB0ZWlOb3RlRWxlbWVudHMubGVuZ3RoKTtcbiAgICAgICAgdGVpQXBwRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9KTtcbiAgICAgICAgdGVpTm90ZUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAoZWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwYi1lbmQtdXBkYXRlJywgKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ0V2ZW50byBwYi1lbmQtdXBkYXRlIHJpY2V2dXRvJyk7XG4gICAgICBoaWRlRWxlbWVudHMoKTtcbiAgICB9KTsgKi9cblxuICAgIGlmIChkYXRhLmRvY3NbMF0/LnZpZXcgPT09ICdwYWdlJyAmJiBpZCkge1xuICAgICAgZGF0YS5kb2NzWzBdLnZpZXcgPSAnZGl2JztcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdwYi1lbmQtdXBkYXRlJyxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdwYi10b2dnbGUnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHZpZXc6ICdwYWdlJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3Rpb246ICdyZWZyZXNoJyxcbiAgICAgICAgICAgICAgICAgIGtleTogJ3RyYW5zY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdwYi10b2dnbGUnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHZpZXc6ICdzaW5nbGUnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ3JlZnJlc2gnLFxuICAgICAgICAgICAgICAgICAga2V5OiAnYWRkQ2hhbm5lbCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ3BiLXRvZ2dsZScsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgdmlldzogJ3NpbmdsZScsXG4gICAgICAgICAgICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3Rpb246ICdyZWZyZXNoJyxcbiAgICAgICAgICAgICAgICAgIGtleTogJ2luZGV4JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9LFxuICAgICAgICB7IG9uY2U6IHRydWUgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlQ2xpY2tPbkVudGl0aWVzKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwYi1lbmQtdXBkYXRlJywgKGV2OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxFbGVtZW50c0ludG9WaWV3KGV2LmRldGFpbCwgJ2NoYXB0ZXInLCAnI3ZpZXcxJyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmdldCgnaHEnKSkge1xuICAgICAgaWYgKHNlYXJjaEFwaSkge1xuICAgICAgICBjb25zdCB4bWxRdWVyeVVybCA9IGAke3NlYXJjaEFwaS51cmxcbiAgICAgICAgfT9yZXNvdXJjZS1pZD0ke3NlYXJjaEFwaVsncmVzb3VyY2UtaWQnXVxuICAgICAgICB9JnNlYXJjaElkPSR7c2VhcmNoSWRcbiAgICAgICAgfSZ4bWw9JHtkYXRhLmRvY3NbMF0/LnhtbFxuICAgICAgICB9JiR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgICAgICAgZGF0YS5kb2NzWzBdLnVybCA9IHhtbFF1ZXJ5VXJsO1xuICAgICAgICBkYXRhLmRvY3NbMF0ucm9vdFBhdGggPSAnYXBpL21yY3BhcnRzJztcbiAgICAgIH1cbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BiLWVuZC11cGRhdGUnLCAoZXY6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbEVsZW1lbnRzSW50b1ZpZXcoZXYuZGV0YWlsLCAnaHEnLCAnI3ZpZXcwJyk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBkaXNwbGF5SW5kZXgoKSB7XG4gICAgaWYgKHRoaXMub3V0cHV0LnRvZ2dsZUNvbHVtbikge1xuICAgICAgdGhpcy5vdXRwdXQudG9nZ2xlQ29sdW1uID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3V0cHV0LnRvZ2dsZUNvbHVtbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgbGV0IHRhcmdldCA9IG51bGw7XG4gICAgY29uc3QgY2xpY2tQYXRoID0gcGF5bG9hZC5wYXRoIHx8IHBheWxvYWQuY29tcG9zZWRQYXRoKCk7XG5cbiAgICAvLyBjaGl1c3VyYSBhcHBhcmF0byBjb24gdGFzdG9cbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGNsaWNrUGF0aC5maW5kKChlbCkgPT4gZWwuY2xhc3NOYW1lXG4gICAgICAmJiB0eXBlb2YgZWwuY2xhc3NOYW1lID09PSAnc3RyaW5nJ1xuICAgICAgJiYgZWwuY2xhc3NOYW1lLmluY2x1ZGVzKCdjbG9zZV9hcHAnKSk7XG5cbiAgICBpZiAoY2xvc2VCdXR0b24pIHtcbiAgICAvLyAgY29uc29sZS5sb2coJ0NsaWNrIHJpbGV2YXRvIHN1bCBib3R0b25lIGRpIGNoaXVzdXJhOicsIGNsb3NlQnV0dG9uKTtcblxuICAgICAgY29uc3QgcGFyZW50QXBwSXRlbSA9IGNsb3NlQnV0dG9uLmNsb3Nlc3QoJy50ZWktYXBwJyk7XG4gICAgICBpZiAocGFyZW50QXBwSXRlbSAmJiBwYXJlbnRBcHBJdGVtLnN0eWxlKSB7XG4gICAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdDaGl1c3VyYSBkZWxsXFwnZWxlbWVudG8gdGVpLWFwcCcpO1xuICAgICAgICBwYXJlbnRBcHBJdGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIChwYXJlbnRBcHBJdGVtIGFzIEhUTUxFbGVtZW50KS5zdHlsZS50cmFuc2Zvcm0gPSAnJztcbiAgICAgICAgcGF5bG9hZC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENoaXVzdXJhIG5vdGUgY29uIHRhc3RvXG4gICAgY29uc3QgY2xvc2VOb3RlQnV0dG9uID0gY2xpY2tQYXRoLmZpbmQoKGVsKSA9PiBlbC5jbGFzc05hbWVcbiAgICAgICYmIHR5cGVvZiBlbC5jbGFzc05hbWUgPT09ICdzdHJpbmcnXG4gICAgICAmJiBlbC5jbGFzc05hbWUuaW5jbHVkZXMoJ2Nsb3NlX25vdGUnKSk7XG5cbiAgICBpZiAoY2xvc2VOb3RlQnV0dG9uKSB7XG4gICAgLy8gIGNvbnNvbGUubG9nKCdDbGljayByaWxldmF0byBzdWwgYm90dG9uZSBkaSBjaGl1c3VyYSBub3RhOicsIGNsb3NlTm90ZUJ1dHRvbik7XG5cbiAgICAgIGNvbnN0IHBhcmVudE5vdGVJdGVtID0gY2xvc2VOb3RlQnV0dG9uLmNsb3Nlc3QoJy5ub3RlLWl0ZW0nKTtcbiAgICAgIGlmIChwYXJlbnROb3RlSXRlbSAmJiBwYXJlbnROb3RlSXRlbS5zdHlsZSkge1xuICAgICAgICAvLyAgICBjb25zb2xlLmxvZygnQ2hpdXN1cmEgZGVsbFxcJ2VsZW1lbnRvIG5vdGUtaXRlbScpO1xuICAgICAgICBwYXJlbnROb3RlSXRlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAocGFyZW50Tm90ZUl0ZW0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9ICcnO1xuICAgICAgICBwYXlsb2FkLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBheWxvYWQucGF0aCkge1xuICAgICAgdGFyZ2V0ID0gcGF5bG9hZC5wYXRoLmZpbmQoXG4gICAgICAgICh7IHRhZ05hbWUgfSkgPT4gdGFnTmFtZSA9PT0gJ1BCLUhJR0hMSUdIVCdcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhcmdldCA9IHBheWxvYWQuY29tcG9zZWRQYXRoKCkuZmluZChcbiAgICAgICAgKHsgdGFnTmFtZSB9KSA9PiB0YWdOYW1lID09PSAnUEItSElHSExJR0hUJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSA9PT0gJ2FwcF9sZW0nKSB7XG4gICAgICBjb25zdCBhcHBJZCA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2tleScpO1xuICAgICAgLy8gY29uc29sZS5sb2coJ2FwcElkJywgYXBwSWQpO1xuXG4gICAgICAvLyBQb3NpemlvbmUgZWxlbWVudG8gY2xpY2NhdG9cbiAgICAgIGNvbnN0IGNsaWNrZWRFbGVtZW50UG9zaXRpb24gPSAodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cbiAgICAgIGNvbnN0IGFwcGFyYXR1c1ZpZXcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubjctdGV4dC12aWV3ZXIgI2FwcGFyYXR1cy12aWV3MCcpO1xuICAgICAgLyogICAgICAgY29uc29sZS5sb2coJ2FwcGFyYXR1c1ZpZXcnLCBhcHBhcmF0dXNWaWV3KTtcbiAgICAgIGNvbnNvbGUubG9nKCdzaGFkb3dSb290JywgYXBwYXJhdHVzVmlldz8uc2hhZG93Um9vdCk7ICovXG5cbiAgICAgIGNvbnN0IGFuY2hvckVsZW1lbnQgPSBhcHBhcmF0dXNWaWV3XG4gICAgICAgID8uc2hhZG93Um9vdFxuICAgICAgICA/LnF1ZXJ5U2VsZWN0b3IoYCMke2FwcElkfWApO1xuXG4gICAgICBjb25zdCB0ZWlBcHBFbGVtZW50ID0gYW5jaG9yRWxlbWVudFxuICAgICAgICA/IGFuY2hvckVsZW1lbnQuY2xvc2VzdCgnLnRlaS1hcHAnKVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh0ZWlBcHBFbGVtZW50KSB7XG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIMOoIHZpc2liaWxlXG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9ICh0ZWlBcHBFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID09PSAnYmxvY2snO1xuXG4gICAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAodGVpQXBwRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcblxuICAgICAgICAgICh0ZWlBcHBFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS50cmFuc2Zvcm0gPSAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAodGVpQXBwRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICAgICAgICAvLyBwb3NpemlvbmUgYXR0dWFsZVxuICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbiA9IHRlaUFwcEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuXG4gICAgICAgICAgLy8gZGlmZmVyZW56YVxuICAgICAgICAgIGNvbnN0IHBvc2l0aW9uRGlmZmVyZW5jZSA9IGNsaWNrZWRFbGVtZW50UG9zaXRpb24gLSBlbGVtZW50UG9zaXRpb247XG5cbiAgICAgICAgICAvLyBzcG9zdGFtZW50b1xuICAgICAgICAgICh0ZWlBcHBFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke3Bvc2l0aW9uRGlmZmVyZW5jZX1weClgO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0YXJnZXQgJiYgdGFyZ2V0LmdldEF0dHJpYnV0ZSgndHlwZScpID09PSAnbm90ZV9saW5lJykge1xuICAgICAgY29uc3Qgbm90ZUlkID0gdGFyZ2V0LmdldEF0dHJpYnV0ZSgna2V5Jyk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnbm90ZUlkJywgbm90ZUlkKTtcblxuICAgICAgY29uc3QgY2xpY2tlZEVsZW1lbnRQb3NpdGlvbiA9ICh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblxuICAgICAgY29uc3QgYXBwYXJhdHVzVmlldyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uNy10ZXh0LXZpZXdlciAjYXBwYXJhdHVzLXZpZXcwJyk7XG5cbiAgICAgIGNvbnN0IGFuY2hvckVsZW1lbnQgPSBhcHBhcmF0dXNWaWV3XG4gICAgICAgID8uc2hhZG93Um9vdFxuICAgICAgICA/LnF1ZXJ5U2VsZWN0b3IoYCMke25vdGVJZH1gKTtcblxuICAgICAgY29uc3QgdGVpTm90ZUVsZW1lbnQgPSBhbmNob3JFbGVtZW50XG4gICAgICAgID8gYW5jaG9yRWxlbWVudC5jbG9zZXN0KCcubm90ZS1pdGVtJylcbiAgICAgICAgOiBudWxsO1xuICAgICAgaWYgKHRlaU5vdGVFbGVtZW50KSB7XG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIMOoIHZpc2liaWxlXG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9ICh0ZWlOb3RlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9PT0gJ2Jsb2NrJztcblxuICAgICAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICAgICAgKHRlaU5vdGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgKHRlaU5vdGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS50cmFuc2Zvcm0gPSAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAodGVpTm90ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gICAgICAgICAgLy8gcG9zaXppb25lIGF0dHVhbGVcbiAgICAgICAgICBjb25zdCBlbGVtZW50UG9zaXRpb24gPSB0ZWlOb3RlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cbiAgICAgICAgICAvLyBkaWZmZXJlbnphXG4gICAgICAgICAgY29uc3QgcG9zaXRpb25EaWZmZXJlbmNlID0gY2xpY2tlZEVsZW1lbnRQb3NpdGlvbiAtIGVsZW1lbnRQb3NpdGlvbjtcblxuICAgICAgICAgIC8vIHNwb3N0YW1lbnRvXG4gICAgICAgICAgKHRlaU5vdGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke3Bvc2l0aW9uRGlmZmVyZW5jZX1weClgO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0YXJnZXQgJiYgdGhpcy5vdXRwdXQudG9nZ2xlQ29sdW1uID09PSBmYWxzZSkge1xuICAgICAgaWYgKFxuICAgICAgICB0YXJnZXQuX19rZXlcbiAgICAgICAgJiYgKHRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3BlcnNvbicpXG4gICAgICAgICAgfHwgdGFyZ2V0LmNsYXNzTmFtZS5pbmNsdWRlcygncGxhY2UnKSlcbiAgICAgICkge1xuICAgICAgICB0aGlzLm91dHB1dC50b2dnbGVDb2x1bW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnNjcm9sbEVsZW1lbnRzSW50b1ZpZXcodGFyZ2V0LCAnZW50aXR5JywgJyN0ZXh0LXZpZXdlci1pbmRleCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB0aGlzLm91dHB1dC50b2dnbGVDb2x1bW4gPSBmYWxzZTtcbiAgfVxuXG4gIHZpZXdMaXN0ZW5lclVwZGF0ZSgpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3BiLXN0YXJ0LXVwZGF0ZScsXG4gICAgICBmdW5jdGlvbiBfbGlzdGVuZXIoKSB7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BiLXN0YXJ0LXVwZGF0ZScsIF9saXN0ZW5lciwgdHJ1ZSk7XG4gICAgICB9LFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBjaGFuZ2VWaWV3KHZpZXcsIHJlZnJlc2gpIHtcbiAgICBzZXRUaW1lb3V0KFxuICAgICAgKHYsIHIpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYFRFU1QgQ0hBTkdFIFZJRVc6ICR7dmlld31gKTtcbiAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ3BiLXRvZ2dsZScsIHtcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgdmlldzogdixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYWN0aW9uOiByID8gJ3JlZnJlc2gnIDogJycsXG4gICAgICAgICAgICAgIGtleTogJ3RyYW5zY3JpcHRpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIDYwMCxcbiAgICAgIHZpZXcsXG4gICAgICByZWZyZXNoXG4gICAgKTtcbiAgfVxuXG4gIHNjcm9sbEVsZW1lbnRzSW50b1ZpZXcodGFyZ2V0LCB0eXBlLCB2aWV3KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBsZXQgZWxlbWVudDogYW55O1xuICAgICAgaWYgKHR5cGUgPT09ICdjaGFwdGVyJykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yKCcubjctdGV4dC12aWV3ZXIgI3ZpZXcwJylcbiAgICAgICAgICAgIC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ3BiLWhpZ2hsaWdodCcpXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IGhpZ2hsaWdodCA9IGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvcignLm43LXRleHQtdmlld2VyICN2aWV3MCcpXG4gICAgICAgICAgICAuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdwYi1oaWdobGlnaHQnKTtcblxuICAgICAgICAgIGNvbnN0IGhpZ2hsaWdodElkID0gaGlnaGxpZ2h0W2hpZ2hsaWdodC5sZW5ndGggLSAxXS5pZDsgLy8gcy54XG5cbiAgICAgICAgICBjb25zdCBmcmFnbWVudE51bWJlciA9IGhpZ2hsaWdodElkLnJlcGxhY2UoJy4nLCAnXFxcXC4nKTtcblxuICAgICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3IodmlldylcbiAgICAgICAgICAgIC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYCMke2ZyYWdtZW50TnVtYmVyfWApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdlbnRpdHknKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRhcmdldC5fX2tleTtcbiAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50XG4gICAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoYC5uNy10ZXh0LXZpZXdlciAke3ZpZXd9YClcbiAgICAgICAgICAuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGAjJHtrZXl9YCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdocScpIHtcbiAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50XG4gICAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoYC5uNy10ZXh0LXZpZXdlciAke3ZpZXd9YClcbiAgICAgICAgICAuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcudGVpLWVtJyk7XG4gICAgICB9XG4gICAgICAvKlxuICAgICAgZWxzZSBpZiAodHlwZSA9PT0gJ2FwcGFyYXR1cycpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGFyZ2V0LmdldEF0dHJpYnV0ZShcImtleVwiKTtcbiAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50XG4gICAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoYC5uNy10ZXh0LXZpZXdlciAjYXBwYXJhdHVzLXZpZXcwYClcbiAgICAgICAgICA/LnNoYWRvd1Jvb3RcbiAgICAgICAgICA/LnF1ZXJ5U2VsZWN0b3IoYCMke2tleX1gKTtcbiAgICAgIH1cbiAgICAgICovXG5cbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC5uNy10ZXh0LXZpZXdlciAke3ZpZXd9YCk7XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gZWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICB9XG4gICAgfSwgNjAwKTtcbiAgfVxufVxuIl19
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC12aWV3ZXIuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9kYXRhLXNvdXJjZXMvdGV4dC12aWV3ZXIuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV4QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFHbEMsU0FBUyxDQUFDLElBQW9CO1FBQ3RDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDdkIsQ0FBQztZQUNELE1B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YSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFDRDs7Ozs7Ozs7Y0FRRTtZQUVGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixTQUFTLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRWaWV3ZXJEYXRhIH0gZnJvbSAnQG5ldDcvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBNclRleHRWaWV3ZXJEUyBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBpZDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm0oZGF0YTogVGV4dFZpZXdlckRhdGEpOiBUZXh0Vmlld2VyRGF0YSB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuZmFjc2ltaWxlT3B0aW9ucyAmJiBkYXRhLmZhY3NpbWlsZSkge1xuICAgICAgaWYgKCFkYXRhLmZhY3NpbWlsZS5vcHRpb25zKSB7XG4gICAgICAgIGRhdGEuZmFjc2ltaWxlLm9wdGlvbnMgPSB7fTtcbiAgICAgIH1cbiAgICAgIE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5mYWNzaW1pbGVPcHRpb25zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgZGF0YS5mYWNzaW1pbGUub3B0aW9uc1trZXldID0gdGhpcy5vcHRpb25zLmZhY3NpbWlsZU9wdGlvbnNba2V5XTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdlc3Rpb25lIGxpYk9wdGlvbnNcbiAgICBpZiAodGhpcy5vcHRpb25zLmxpYk9wdGlvbnMpIHtcbiAgICAgIGlmICghZGF0YS5saWJPcHRpb25zIHx8IHR5cGVvZiBkYXRhLmxpYk9wdGlvbnMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIGRhdGEubGliT3B0aW9ucyA9IHt9O1xuICAgICAgfVxuICAgICAgT2JqZWN0LmtleXModGhpcy5vcHRpb25zLmxpYk9wdGlvbnMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBpZiAoIWRhdGEubGliT3B0aW9uc1trZXldIHx8IHR5cGVvZiBkYXRhLmxpYk9wdGlvbnNba2V5XSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBkYXRhLmxpYk9wdGlvbnNba2V5XSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5saWJPcHRpb25zW2tleV0pLmZvckVhY2goKHN1YktleSkgPT4ge1xuICAgICAgICAgIGRhdGEubGliT3B0aW9uc1trZXldW3N1YktleV0gPSB0aGlzLm9wdGlvbnMubGliT3B0aW9uc1trZXldW3N1YktleV07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIERlYnVnIGxpYk9wdGlvbnNcbiAgICAgIC8qICAgICAgIGNvbnNvbGUubG9nKCcgREVCVUcgbGliT3B0aW9uczonLCB7XG4gICAgICAgICd0aGlzLm9wdGlvbnMubGliT3B0aW9ucyc6IHRoaXMub3B0aW9ucy5saWJPcHRpb25zLFxuICAgICAgICAnZGF0YS5saWJPcHRpb25zJzogZGF0YS5saWJPcHRpb25zLFxuICAgICAgICAnZGF0YS5saWJPcHRpb25zLnBiUGFnZSc6IGRhdGEubGliT3B0aW9ucy5wYlBhZ2UsXG4gICAgICAgICd1cmxJZ25vcmUnOiBkYXRhLmxpYk9wdGlvbnMucGJQYWdlPy51cmxJZ25vcmVcbiAgICAgIH0pOyAqL1xuICAgIH1cblxuICAgIGNvbnN0IHtcbiAgICAgIGVuYWJsZUNsaWNrT25FbnRpdGllcywgdG9nZ2xlQ29sdW1uLCBzZWFyY2hJZCwgc2VhcmNoQXBpXG4gICAgfSA9IHRoaXMub3B0aW9ucyB8fCB7fTtcbiAgICBkYXRhLnRvZ2dsZUNvbHVtbiA9IHRvZ2dsZUNvbHVtbjtcbiAgICAvLyBmb3JjZSB0ZWkgcHVibGlzaGVyIGVuZHBvaW50IHZhbHVlXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdwYi1wYWdlLXJlYWR5JyxcbiAgICAgIChldjogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeyBkZXRhaWwgfSA9IGV2O1xuICAgICAgICBkZXRhaWwuZW5kcG9pbnQgPSBkYXRhLmVuZHBvaW50O1xuICAgICAgfSxcbiAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoKTtcbiAgICBjb25zdCBpZCA9IHBhcmFtcy5nZXQoJ2lkJyk7XG5cbiAgICAvLyBOYXNjb25kZXJlIHRlaS1hcHAgZSBub3RlLWl0ZW0gc2UgbCdPREQgbm9uIGhhIGdpw6AgbCdlbGVtZW50byBpbiBkaXNwbGF5IE5PTkVcbiAgICAvKiAgY29uc3QgaGlkZUVsZW1lbnRzID0gKCkgPT4ge1xuICAgICAgY29uc3QgYXBwYXJhdHVzVmlldyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uNy10ZXh0LXZpZXdlciAjYXBwYXJhdHVzLXZpZXcwJyk7XG4gICAgICBpZiAoYXBwYXJhdHVzVmlldz8uc2hhZG93Um9vdCkge1xuICAgICAgICBjb25zdCB0ZWlBcHBFbGVtZW50cyA9IGFwcGFyYXR1c1ZpZXcuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCcudGVpLWFwcCcpO1xuICAgICAgICBjb25zdCB0ZWlOb3RlRWxlbWVudHMgPSBhcHBhcmF0dXNWaWV3LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgnLm5vdGUtaXRlbScpO1xuICAgICAgICBjb25zb2xlLmxvZygnVHJvdmF0aSBlbGVtZW50aSB0ZWktYXBwOicsIHRlaUFwcEVsZW1lbnRzLmxlbmd0aCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdUcm92YXRpIGVsZW1lbnRpIHRlaS1ub3RlOicsIHRlaU5vdGVFbGVtZW50cy5sZW5ndGgpO1xuICAgICAgICB0ZWlBcHBFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgKGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIH0pO1xuICAgICAgICB0ZWlOb3RlRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BiLWVuZC11cGRhdGUnLCAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnRXZlbnRvIHBiLWVuZC11cGRhdGUgcmljZXZ1dG8nKTtcbiAgICAgIGhpZGVFbGVtZW50cygpO1xuICAgIH0pOyAqL1xuXG4gICAgaWYgKGRhdGEuZG9jc1swXT8udmlldyA9PT0gJ3BhZ2UnICYmIGlkKSB7XG4gICAgICBkYXRhLmRvY3NbMF0udmlldyA9ICdkaXYnO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ3BiLWVuZC11cGRhdGUnLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ3BiLXRvZ2dsZScsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgdmlldzogJ3BhZ2UnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ3JlZnJlc2gnLFxuICAgICAgICAgICAgICAgICAga2V5OiAndHJhbnNjcmlwdGlvbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ3BiLXRvZ2dsZScsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgdmlldzogJ3NpbmdsZScsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgYWN0aW9uOiAncmVmcmVzaCcsXG4gICAgICAgICAgICAgICAgICBrZXk6ICdhZGRDaGFubmVsJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgncGItdG9nZ2xlJywge1xuICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICB2aWV3OiAnc2luZ2xlJyxcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICcnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ3JlZnJlc2gnLFxuICAgICAgICAgICAgICAgICAga2V5OiAnaW5kZXgnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH0sXG4gICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVDbGlja09uRW50aXRpZXMpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BiLWVuZC11cGRhdGUnLCAoZXY6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbEVsZW1lbnRzSW50b1ZpZXcoZXYuZGV0YWlsLCAnY2hhcHRlcicsICcjdmlldzEnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuZ2V0KCdocScpKSB7XG4gICAgICBpZiAoc2VhcmNoQXBpKSB7XG4gICAgICAgIGNvbnN0IHhtbFF1ZXJ5VXJsID0gYCR7c2VhcmNoQXBpLnVybFxuICAgICAgICB9P3Jlc291cmNlLWlkPSR7c2VhcmNoQXBpWydyZXNvdXJjZS1pZCddXG4gICAgICAgIH0mc2VhcmNoSWQ9JHtzZWFyY2hJZFxuICAgICAgICB9JnhtbD0ke2RhdGEuZG9jc1swXT8ueG1sXG4gICAgICAgIH0mJHtwYXJhbXMudG9TdHJpbmcoKX1gO1xuICAgICAgICBkYXRhLmRvY3NbMF0udXJsID0geG1sUXVlcnlVcmw7XG4gICAgICAgIGRhdGEuZG9jc1swXS5yb290UGF0aCA9ICdhcGkvbXJjcGFydHMnO1xuICAgICAgfVxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncGItZW5kLXVwZGF0ZScsIChldjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsRWxlbWVudHNJbnRvVmlldyhldi5kZXRhaWwsICdocScsICcjdmlldzAnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGRpc3BsYXlJbmRleCgpIHtcbiAgICBpZiAodGhpcy5vdXRwdXQudG9nZ2xlQ29sdW1uKSB7XG4gICAgICB0aGlzLm91dHB1dC50b2dnbGVDb2x1bW4gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdXRwdXQudG9nZ2xlQ29sdW1uID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBsZXQgdGFyZ2V0ID0gbnVsbDtcbiAgICBjb25zdCBjbGlja1BhdGggPSBwYXlsb2FkLnBhdGggfHwgcGF5bG9hZC5jb21wb3NlZFBhdGgoKTtcblxuICAgIC8vIGNoaXVzdXJhIGFwcGFyYXRvIGNvbiB0YXN0b1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gY2xpY2tQYXRoLmZpbmQoKGVsKSA9PiBlbC5jbGFzc05hbWVcbiAgICAgICYmIHR5cGVvZiBlbC5jbGFzc05hbWUgPT09ICdzdHJpbmcnXG4gICAgICAmJiBlbC5jbGFzc05hbWUuaW5jbHVkZXMoJ2Nsb3NlX2FwcCcpKTtcblxuICAgIGlmIChjbG9zZUJ1dHRvbikge1xuICAgIC8vICBjb25zb2xlLmxvZygnQ2xpY2sgcmlsZXZhdG8gc3VsIGJvdHRvbmUgZGkgY2hpdXN1cmE6JywgY2xvc2VCdXR0b24pO1xuXG4gICAgICBjb25zdCBwYXJlbnRBcHBJdGVtID0gY2xvc2VCdXR0b24uY2xvc2VzdCgnLnRlaS1hcHAnKTtcbiAgICAgIGlmIChwYXJlbnRBcHBJdGVtICYmIHBhcmVudEFwcEl0ZW0uc3R5bGUpIHtcbiAgICAgICAgLy8gICAgY29uc29sZS5sb2coJ0NoaXVzdXJhIGRlbGxcXCdlbGVtZW50byB0ZWktYXBwJyk7XG4gICAgICAgIHBhcmVudEFwcEl0ZW0uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgKHBhcmVudEFwcEl0ZW0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9ICcnO1xuICAgICAgICBwYXlsb2FkLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hpdXN1cmEgbm90ZSBjb24gdGFzdG9cbiAgICBjb25zdCBjbG9zZU5vdGVCdXR0b24gPSBjbGlja1BhdGguZmluZCgoZWwpID0+IGVsLmNsYXNzTmFtZVxuICAgICAgJiYgdHlwZW9mIGVsLmNsYXNzTmFtZSA9PT0gJ3N0cmluZydcbiAgICAgICYmIGVsLmNsYXNzTmFtZS5pbmNsdWRlcygnY2xvc2Vfbm90ZScpKTtcblxuICAgIGlmIChjbG9zZU5vdGVCdXR0b24pIHtcbiAgICAvLyAgY29uc29sZS5sb2coJ0NsaWNrIHJpbGV2YXRvIHN1bCBib3R0b25lIGRpIGNoaXVzdXJhIG5vdGE6JywgY2xvc2VOb3RlQnV0dG9uKTtcblxuICAgICAgY29uc3QgcGFyZW50Tm90ZUl0ZW0gPSBjbG9zZU5vdGVCdXR0b24uY2xvc2VzdCgnLm5vdGUtaXRlbScpO1xuICAgICAgaWYgKHBhcmVudE5vdGVJdGVtICYmIHBhcmVudE5vdGVJdGVtLnN0eWxlKSB7XG4gICAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdDaGl1c3VyYSBkZWxsXFwnZWxlbWVudG8gbm90ZS1pdGVtJyk7XG4gICAgICAgIHBhcmVudE5vdGVJdGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIChwYXJlbnROb3RlSXRlbSBhcyBIVE1MRWxlbWVudCkuc3R5bGUudHJhbnNmb3JtID0gJyc7XG4gICAgICAgIHBheWxvYWQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGF5bG9hZC5wYXRoKSB7XG4gICAgICB0YXJnZXQgPSBwYXlsb2FkLnBhdGguZmluZChcbiAgICAgICAgKHsgdGFnTmFtZSB9KSA9PiB0YWdOYW1lID09PSAnUEItSElHSExJR0hUJ1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0ID0gcGF5bG9hZC5jb21wb3NlZFBhdGgoKS5maW5kKFxuICAgICAgICAoeyB0YWdOYW1lIH0pID0+IHRhZ05hbWUgPT09ICdQQi1ISUdITElHSFQnXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LmdldEF0dHJpYnV0ZSgndHlwZScpID09PSAnYXBwX2xlbScpIHtcbiAgICAgIGNvbnN0IGFwcElkID0gdGFyZ2V0LmdldEF0dHJpYnV0ZSgna2V5Jyk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnYXBwSWQnLCBhcHBJZCk7XG5cbiAgICAgIC8vIFBvc2l6aW9uZSBlbGVtZW50byBjbGljY2F0b1xuICAgICAgY29uc3QgY2xpY2tlZEVsZW1lbnRQb3NpdGlvbiA9ICh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblxuICAgICAgY29uc3QgYXBwYXJhdHVzVmlldyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uNy10ZXh0LXZpZXdlciAjYXBwYXJhdHVzLXZpZXcwJyk7XG4gICAgICAvKiAgICAgICBjb25zb2xlLmxvZygnYXBwYXJhdHVzVmlldycsIGFwcGFyYXR1c1ZpZXcpO1xuICAgICAgY29uc29sZS5sb2coJ3NoYWRvd1Jvb3QnLCBhcHBhcmF0dXNWaWV3Py5zaGFkb3dSb290KTsgKi9cblxuICAgICAgY29uc3QgYW5jaG9yRWxlbWVudCA9IGFwcGFyYXR1c1ZpZXdcbiAgICAgICAgPy5zaGFkb3dSb290XG4gICAgICAgID8ucXVlcnlTZWxlY3RvcihgIyR7YXBwSWR9YCk7XG5cbiAgICAgIGNvbnN0IHRlaUFwcEVsZW1lbnQgPSBhbmNob3JFbGVtZW50XG4gICAgICAgID8gYW5jaG9yRWxlbWVudC5jbG9zZXN0KCcudGVpLWFwcCcpXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgaWYgKHRlaUFwcEVsZW1lbnQpIHtcbiAgICAgICAgLy8gVmVyaWZpY2Egc2Ugw6ggdmlzaWJpbGVcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gKHRlaUFwcEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPT09ICdibG9jayc7XG5cbiAgICAgICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgICh0ZWlBcHBFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgKHRlaUFwcEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICh0ZWlBcHBFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgICAgICAgIC8vIHBvc2l6aW9uZSBhdHR1YWxlXG4gICAgICAgICAgY29uc3QgZWxlbWVudFBvc2l0aW9uID0gdGVpQXBwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cbiAgICAgICAgICAvLyBkaWZmZXJlbnphXG4gICAgICAgICAgY29uc3QgcG9zaXRpb25EaWZmZXJlbmNlID0gY2xpY2tlZEVsZW1lbnRQb3NpdGlvbiAtIGVsZW1lbnRQb3NpdGlvbjtcblxuICAgICAgICAgIC8vIHNwb3N0YW1lbnRvXG4gICAgICAgICAgKHRlaUFwcEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7cG9zaXRpb25EaWZmZXJlbmNlfXB4KWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRhcmdldCAmJiB0YXJnZXQuZ2V0QXR0cmlidXRlKCd0eXBlJykgPT09ICdub3RlX2xpbmUnKSB7XG4gICAgICBjb25zdCBub3RlSWQgPSB0YXJnZXQuZ2V0QXR0cmlidXRlKCdrZXknKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdub3RlSWQnLCBub3RlSWQpO1xuXG4gICAgICBjb25zdCBjbGlja2VkRWxlbWVudFBvc2l0aW9uID0gKHRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuXG4gICAgICBjb25zdCBhcHBhcmF0dXNWaWV3ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm43LXRleHQtdmlld2VyICNhcHBhcmF0dXMtdmlldzAnKTtcblxuICAgICAgY29uc3QgYW5jaG9yRWxlbWVudCA9IGFwcGFyYXR1c1ZpZXdcbiAgICAgICAgPy5zaGFkb3dSb290XG4gICAgICAgID8ucXVlcnlTZWxlY3RvcihgIyR7bm90ZUlkfWApO1xuXG4gICAgICBjb25zdCB0ZWlOb3RlRWxlbWVudCA9IGFuY2hvckVsZW1lbnRcbiAgICAgICAgPyBhbmNob3JFbGVtZW50LmNsb3Nlc3QoJy5ub3RlLWl0ZW0nKVxuICAgICAgICA6IG51bGw7XG4gICAgICBpZiAodGVpTm90ZUVsZW1lbnQpIHtcbiAgICAgICAgLy8gVmVyaWZpY2Egc2Ugw6ggdmlzaWJpbGVcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gKHRlaU5vdGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID09PSAnYmxvY2snO1xuXG4gICAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAodGVpTm90ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICAgICAgICAodGVpTm90ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICh0ZWlOb3RlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICAgICAgICAvLyBwb3NpemlvbmUgYXR0dWFsZVxuICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbiA9IHRlaU5vdGVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblxuICAgICAgICAgIC8vIGRpZmZlcmVuemFcbiAgICAgICAgICBjb25zdCBwb3NpdGlvbkRpZmZlcmVuY2UgPSBjbGlja2VkRWxlbWVudFBvc2l0aW9uIC0gZWxlbWVudFBvc2l0aW9uO1xuXG4gICAgICAgICAgLy8gc3Bvc3RhbWVudG9cbiAgICAgICAgICAodGVpTm90ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7cG9zaXRpb25EaWZmZXJlbmNlfXB4KWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRhcmdldCAmJiB0aGlzLm91dHB1dC50b2dnbGVDb2x1bW4gPT09IGZhbHNlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRhcmdldC5fX2tleVxuICAgICAgICAmJiAodGFyZ2V0LmNsYXNzTmFtZS5pbmNsdWRlcygncGVyc29uJylcbiAgICAgICAgICB8fCB0YXJnZXQuY2xhc3NOYW1lLmluY2x1ZGVzKCdwbGFjZScpKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMub3V0cHV0LnRvZ2dsZUNvbHVtbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2Nyb2xsRWxlbWVudHNJbnRvVmlldyh0YXJnZXQsICdlbnRpdHknLCAnI3RleHQtdmlld2VyLWluZGV4Jyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHRoaXMub3V0cHV0LnRvZ2dsZUNvbHVtbiA9IGZhbHNlO1xuICB9XG5cbiAgdmlld0xpc3RlbmVyVXBkYXRlKCkge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAncGItc3RhcnQtdXBkYXRlJyxcbiAgICAgIGZ1bmN0aW9uIF9saXN0ZW5lcigpIHtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGItc3RhcnQtdXBkYXRlJywgX2xpc3RlbmVyLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZVZpZXcodmlldywgcmVmcmVzaCkge1xuICAgIHNldFRpbWVvdXQoXG4gICAgICAodiwgcikgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgVEVTVCBDSEFOR0UgVklFVzogJHt2aWV3fWApO1xuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgncGItdG9nZ2xlJywge1xuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICB2aWV3OiB2LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBhY3Rpb246IHIgPyAncmVmcmVzaCcgOiAnJyxcbiAgICAgICAgICAgICAga2V5OiAndHJhbnNjcmlwdGlvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgNjAwLFxuICAgICAgdmlldyxcbiAgICAgIHJlZnJlc2hcbiAgICApO1xuICB9XG5cbiAgc2Nyb2xsRWxlbWVudHNJbnRvVmlldyh0YXJnZXQsIHR5cGUsIHZpZXcpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGxldCBlbGVtZW50OiBhbnk7XG4gICAgICBpZiAodHlwZSA9PT0gJ2NoYXB0ZXInKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5uNy10ZXh0LXZpZXdlciAjdmlldzAnKVxuICAgICAgICAgICAgLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigncGItaGlnaGxpZ2h0JylcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgaGlnaGxpZ2h0ID0gZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yKCcubjctdGV4dC12aWV3ZXIgI3ZpZXcwJylcbiAgICAgICAgICAgIC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ3BiLWhpZ2hsaWdodCcpO1xuXG4gICAgICAgICAgY29uc3QgaGlnaGxpZ2h0SWQgPSBoaWdobGlnaHRbaGlnaGxpZ2h0Lmxlbmd0aCAtIDFdLmlkOyAvLyBzLnhcblxuICAgICAgICAgIGNvbnN0IGZyYWdtZW50TnVtYmVyID0gaGlnaGxpZ2h0SWQucmVwbGFjZSgnLicsICdcXFxcLicpO1xuXG4gICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3Rvcih2aWV3KVxuICAgICAgICAgICAgLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgIyR7ZnJhZ21lbnROdW1iZXJ9YCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2VudGl0eScpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGFyZ2V0Ll9fa2V5O1xuICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnRcbiAgICAgICAgICAucXVlcnlTZWxlY3RvcihgLm43LXRleHQtdmlld2VyICR7dmlld31gKVxuICAgICAgICAgIC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYCMke2tleX1gKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2hxJykge1xuICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnRcbiAgICAgICAgICAucXVlcnlTZWxlY3RvcihgLm43LXRleHQtdmlld2VyICR7dmlld31gKVxuICAgICAgICAgIC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50ZWktZW0nKTtcbiAgICAgIH1cbiAgICAgIC8qXG4gICAgICBlbHNlIGlmICh0eXBlID09PSAnYXBwYXJhdHVzJykge1xuICAgICAgICBjb25zdCBrZXkgPSB0YXJnZXQuZ2V0QXR0cmlidXRlKFwia2V5XCIpO1xuICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnRcbiAgICAgICAgICAucXVlcnlTZWxlY3RvcihgLm43LXRleHQtdmlld2VyICNhcHBhcmF0dXMtdmlldzBgKVxuICAgICAgICAgID8uc2hhZG93Um9vdFxuICAgICAgICAgID8ucXVlcnlTZWxlY3RvcihgIyR7a2V5fWApO1xuICAgICAgfVxuICAgICAgKi9cblxuICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLm43LXRleHQtdmlld2VyICR7dmlld31gKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBlbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgIH1cbiAgICB9LCA2MDApO1xuICB9XG59XG4iXX0=
|
|
@@ -49,7 +49,7 @@ export default {
|
|
|
49
49
|
state[key] = multiple ? value.split(',').map((v) => +v) : +value;
|
|
50
50
|
break;
|
|
51
51
|
case 'string':
|
|
52
|
-
state[key] = multiple ? value.split(',').map((v) => `${v.replace(/%2c/g, ',')}`) : `${value
|
|
52
|
+
state[key] = multiple ? value.split(',').map((v) => `${v.replace(/%2c/g, ',')}`) : `${value}`.replace(/%2c/g, ',');
|
|
53
53
|
break;
|
|
54
54
|
case 'boolean':
|
|
55
55
|
state[key] = multiple ? value.split(',').map((v) => !!v) : !!value;
|
|
@@ -63,4 +63,4 @@ export default {
|
|
|
63
63
|
return state;
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLW11cnVjYS9zcmMvbGliL2hlbHBlcnMvc2VhcmNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFFRixlQUFlO0lBQ2Isa0JBQWtCLENBQUMsS0FBSyxFQUFFLE9BQXlDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUV2QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxZQUFZLENBQUM7Z0JBQ2pCLFFBQVEsU0FBUyxFQUFFLENBQUM7b0JBQ2xCLEtBQUssUUFBUTt3QkFDWCxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7d0JBQ3RELE1B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QUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXJJbnB1dFNjaGVtYSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2VhcmNoLmludGVyZmFjZSc7XG5cbmNvbnN0IGhhc1ZhbHVlID0gKHZhbHVlKSA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwO1xuICB9XG4gIHJldHVybiAhISh2YWx1ZSB8fCB2YWx1ZSA9PT0gMCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHN0YXRlVG9RdWVyeVBhcmFtcyhzdGF0ZSwgc2NoZW1hczogeyBba2V5OiBzdHJpbmddOiBNcklucHV0U2NoZW1hIH0pIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMoc3RhdGUpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3Qgc2NoZW1hID0gc2NoZW1hc1trZXldO1xuICAgICAgY29uc3QgeyBtdWx0aXBsZSwgdmFsdWVUeXBlIH0gPSBzY2hlbWE7XG4gICAgICBjb25zdCB2YWx1ZSA9IHN0YXRlW2tleV07XG4gICAgICBpZiAoaGFzVmFsdWUodmFsdWUpKSB7XG4gICAgICAgIGxldCBlbmNvZGVkVmFsdWU7XG4gICAgICAgIHN3aXRjaCAodmFsdWVUeXBlKSB7XG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zW2tleV0gPSBtdWx0aXBsZSA/IHZhbHVlLmpvaW4oJywnKSA6IHZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICBlbmNvZGVkVmFsdWUgPSB2YWx1ZS5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQucmVwbGFjZSgvLC9nLCAnJTJjJykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZW5jb2RlZFZhbHVlID0gdmFsdWUucmVwbGFjZSgvLC9nLCAnJTJjJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBxdWVyeVBhcmFtc1trZXldID0gbXVsdGlwbGUgPyBlbmNvZGVkVmFsdWUuam9pbignLCcpIDogZW5jb2RlZFZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zW2tleV0gPSBtdWx0aXBsZSA/IHZhbHVlLm1hcCgodikgPT4gK3YpLmpvaW4oJywnKSA6ICt2YWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zO1xuICB9LFxuICBxdWVyeVBhcmFtc1RvU3RhdGUocXVlcnlQYXJhbXMsIHNjaGVtYXM6IHsgW2tleTogc3RyaW5nXTogTXJJbnB1dFNjaGVtYSB9KSB7XG4gICAgY29uc3Qgc3RhdGUgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKHF1ZXJ5UGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcXVlcnlQYXJhbXNba2V5XTtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IHNjaGVtYXNba2V5XTtcbiAgICAgIGNvbnN0IHsgbXVsdGlwbGUsIHZhbHVlVHlwZSB9ID0gc2NoZW1hO1xuICAgICAgaWYgKGhhc1ZhbHVlKHZhbHVlKSkge1xuICAgICAgICBpZiAoaGFzVmFsdWUodmFsdWUpKSB7XG4gICAgICAgICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICAgIHN0YXRlW2tleV0gPSBtdWx0aXBsZSA/IHZhbHVlLnNwbGl0KCcsJykubWFwKCh2KSA9PiArdikgOiArdmFsdWU7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgICBzdGF0ZVtrZXldID0gbXVsdGlwbGUgPyB2YWx1ZS5zcGxpdCgnLCcpLm1hcCgodikgPT4gYCR7di5yZXBsYWNlKC8lMmMvZywgJywnKX1gKSA6IGAke3ZhbHVlfWAucmVwbGFjZSgvJTJjL2csICcsJyk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgICAgc3RhdGVba2V5XSA9IG11bHRpcGxlID8gdmFsdWUuc3BsaXQoJywnKS5tYXAoKHYpID0+ICEhdikgOiAhIXZhbHVlO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuIl19
|
|
@@ -71,7 +71,7 @@ var searchHelper = {
|
|
|
71
71
|
state[key] = multiple ? value.split(',').map((v) => +v) : +value;
|
|
72
72
|
break;
|
|
73
73
|
case 'string':
|
|
74
|
-
state[key] = multiple ? value.split(',').map((v) => `${v.replace(/%2c/g, ',')}`) : `${value
|
|
74
|
+
state[key] = multiple ? value.split(',').map((v) => `${v.replace(/%2c/g, ',')}`) : `${value}`.replace(/%2c/g, ',');
|
|
75
75
|
break;
|
|
76
76
|
case 'boolean':
|
|
77
77
|
state[key] = multiple ? value.split(',').map((v) => !!v) : !!value;
|
|
@@ -2111,6 +2111,27 @@ class MrTextViewerDS extends DataSource {
|
|
|
2111
2111
|
data.facsimile.options[key] = this.options.facsimileOptions[key];
|
|
2112
2112
|
});
|
|
2113
2113
|
}
|
|
2114
|
+
// Gestione libOptions
|
|
2115
|
+
if (this.options.libOptions) {
|
|
2116
|
+
if (!data.libOptions || typeof data.libOptions !== 'object') {
|
|
2117
|
+
data.libOptions = {};
|
|
2118
|
+
}
|
|
2119
|
+
Object.keys(this.options.libOptions).forEach((key) => {
|
|
2120
|
+
if (!data.libOptions[key] || typeof data.libOptions[key] !== 'object') {
|
|
2121
|
+
data.libOptions[key] = {};
|
|
2122
|
+
}
|
|
2123
|
+
Object.keys(this.options.libOptions[key]).forEach((subKey) => {
|
|
2124
|
+
data.libOptions[key][subKey] = this.options.libOptions[key][subKey];
|
|
2125
|
+
});
|
|
2126
|
+
});
|
|
2127
|
+
// Debug libOptions
|
|
2128
|
+
/* console.log(' DEBUG libOptions:', {
|
|
2129
|
+
'this.options.libOptions': this.options.libOptions,
|
|
2130
|
+
'data.libOptions': data.libOptions,
|
|
2131
|
+
'data.libOptions.pbPage': data.libOptions.pbPage,
|
|
2132
|
+
'urlIgnore': data.libOptions.pbPage?.urlIgnore
|
|
2133
|
+
}); */
|
|
2134
|
+
}
|
|
2114
2135
|
const { enableClickOnEntities, toggleColumn, searchId, searchApi } = this.options || {};
|
|
2115
2136
|
data.toggleColumn = toggleColumn;
|
|
2116
2137
|
// force tei publisher endpoint value
|