tango-app-ui-manage-stores 3.0.35-dev → 3.0.36-dev
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/esm2022/lib/components/add-stores/add-stores.component.mjs +2 -2
- package/esm2022/lib/components/tango-manage-stores/tango-manage-stores.component.mjs +4 -3
- package/fesm2022/tango-app-ui-manage-stores.mjs +3 -3
- package/fesm2022/tango-app-ui-manage-stores.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,7 @@ export class AddStoresComponent {
|
|
|
10
10
|
ts;
|
|
11
11
|
router;
|
|
12
12
|
inputFile;
|
|
13
|
-
phoneRegex = /^(\d{3})?\d{
|
|
13
|
+
phoneRegex = /^(\d{3})?\d{15}$/;
|
|
14
14
|
emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
15
15
|
$headerFilters;
|
|
16
16
|
constructor(storeService, ts, router) {
|
|
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
223
223
|
type: ViewChild,
|
|
224
224
|
args: ["inputFile"]
|
|
225
225
|
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN0b3Jlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc3RvcmVzL3NyYy9saWIvY29tcG9uZW50cy9hZGQtc3RvcmVzL2FkZC1zdG9yZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXN0b3Jlcy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLXN0b3Jlcy9hZGQtc3RvcmVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQVksSUFBSSxFQUFFLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFheEQsTUFBTSxPQUFPLGtCQUFrQjtJQU9UO0lBQW9DO0lBQXlCO0lBTnpELFNBQVMsQ0FBYTtJQUU5QyxVQUFVLEdBQVcsa0JBQWtCLENBQUM7SUFDeEMsVUFBVSxHQUFXLDRCQUE0QixDQUFDO0lBQ2xELGNBQWMsQ0FBTTtJQUVwQixZQUFvQixZQUEyQixFQUFTLEVBQWdCLEVBQVMsTUFBYztRQUEzRSxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQWM7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQzdGLElBQUksSUFBSSxHQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBTTtRQUNiLElBQUksSUFBcUIsQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBK0IsQ0FBQyxDQUFDLE1B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U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0F4T1Usa0JBQWtCOzJGQUFsQixrQkFBa0IsOEpDZi9CLDByS0FpRUE7OzJGRGxEYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2tJQUtGLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IFN3YWwgZnJvbSBcInN3ZWV0YWxlcnQyXCI7XHJcbmltcG9ydCB7IFdvcmtCb29rLCByZWFkLCB1dGlscywgV29ya1NoZWV0IH0gZnJvbSBcInhsc3hcIjtcclxuaW1wb3J0IHsgU3RvcmVzU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yZXMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yZUJ1bGtJdGVtIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvc3RvcmUuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1hZGQtc3RvcmVzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9hZGQtc3RvcmVzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9hZGQtc3RvcmVzLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRTdG9yZXNDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIikgaW5wdXRGaWxlOiBFbGVtZW50UmVmO1xyXG5cclxuICBwaG9uZVJlZ2V4OiBSZWdFeHAgPSAvXihcXGR7M30pP1xcZHsxMH0kLztcclxuICBlbWFpbFJlZ2V4OiBSZWdFeHAgPSAvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLztcclxuICAkaGVhZGVyRmlsdGVyczogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZTogU3RvcmVzU2VydmljZSxwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgbGV0IGRhdGE6YW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnaGVhZGVyLWZpbHRlcnMnKSB8fCAnJyk7XHJcbiAgICB0aGlzLiRoZWFkZXJGaWx0ZXJzID0gZGF0YTtcclxuICB9XHJcblxyXG4gIG9uVXBsb2FkKGU6IGFueSkge1xyXG4gICAgbGV0IGRhdGE6IFN0b3JlQnVsa0l0ZW1bXTtcclxuICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gPERhdGFUcmFuc2Zlcj5lLnRhcmdldDtcclxuICAgIGlmICh0YXJnZXQuZmlsZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmlucHV0RmlsZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICghIXRhcmdldC5maWxlc1swXS5uYW1lLm1hdGNoKC8oLnhsc3wueGxzeCkvKSkge1xyXG4gICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJzdHI6IHN0cmluZyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICBjb25zdCB3YjogV29ya0Jvb2sgPSByZWFkKGJzdHIsIHsgdHlwZTogXCJiaW5hcnlcIiB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3M6IFdvcmtTaGVldCA9IHdiLlNoZWV0c1t3c25hbWVdO1xyXG4gICAgICAgIGlmICh3Yi5TaGVldE5hbWVzWzBdICE9IFwiU3RvcmVEYXRhXCIpIHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSBVcGxvYWQgdGhlIFZhbGlkIEZpbGVcIik7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhID0gdXRpbHMuc2hlZXRfdG9fanNvbih3cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyh0YXJnZXQuZmlsZXNbMF0pO1xyXG5cclxuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgbGV0IHByb2Nlc3NlZEFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBlcnJNc2dzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBwcm9taXNlcyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgZXJyTXNncy5wdXNoKHRoaXMudmFsaWRhdGVGaWVsZChkYXRhW2ldLlN0b3JlTmFtZSwgXCJzdG9yZSBuYW1lXCIsIGkpKTtcclxuICAgICAgICAgIGVyck1zZ3MucHVzaCh0aGlzLnZhbGlkYXRlRmllbGQoZGF0YVtpXS5TdG9yZVR5cGUsIFwic3RvcmUgdHlwZVwiLCBpKSk7XHJcbiAgICAgICAgICBlcnJNc2dzLnB1c2godGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uU3BvY05hbWUsIFwic3BvYyBuYW1lXCIsIGkpKTtcclxuICAgICAgICAgIGVyck1zZ3MucHVzaChcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uQnVzaW5lc3NUeXBlLCBcImJ1c2luZXNzIHR5cGVcIiwgaSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBlcnJNc2dzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVGaWVsZChcclxuICAgICAgICAgICAgICBkYXRhW2ldLlNwb2NFbWFpbCxcclxuICAgICAgICAgICAgICBcInNwb2MgZW1haWxcIixcclxuICAgICAgICAgICAgICBpLFxyXG4gICAgICAgICAgICAgIHRoaXMuZW1haWxSZWdleFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgZXJyTXNncy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlRmllbGQoXHJcbiAgICAgICAgICAgICAgZGF0YVtpXS5TcG9jQ29udGFjdCxcclxuICAgICAgICAgICAgICBcInNwb2MgY29udGFjdFwiLFxyXG4gICAgICAgICAgICAgIGksXHJcbiAgICAgICAgICAgICAgdGhpcy5waG9uZVJlZ2V4XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBlcnJNc2dzLnB1c2godGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uVGltZVpvbmUsIFwidGltZXpvbmVcIiwgaSkpO1xyXG4gICAgICAgICAgLy8gZXJyTXNncy5wdXNoKFxyXG4gICAgICAgICAgLy8gICB0aGlzLnZhbGlkYXRlRmllbGQoZGF0YVtpXS5DYW1lcmFDb3VudCwgXCJjYW1lcmEgY291bnRcIiwgaSlcclxuICAgICAgICAgIC8vICk7XHJcbiAgICAgICAgICAvLyBlcnJNc2dzLnB1c2godGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uTGF0aXR1ZGUsIFwibGF0aXR1ZGVcIiwgaSkpO1xyXG4gICAgICAgICAgLy8gZXJyTXNncy5wdXNoKHRoaXMudmFsaWRhdGVGaWVsZChkYXRhW2ldLkxvbmdpdHVkZSwgXCJsb25naXR1ZGVcIiwgaSkpO1xyXG5cclxuICAgICAgICAgIGVyck1zZ3MgPSBlcnJNc2dzLmZpbHRlcigoeCkgPT4geCAhPSBudWxsKTtcclxuICAgICAgICAgIGlmIChlcnJNc2dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgbGV0IGVycm9ycyA9IGVyck1zZ3Muam9pbihcIjxicj5cIik7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgaWNvbjogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgIGh0bWw6IGVycm9ycyxcclxuICAgICAgICAgICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgICAgICAgICAgaHRtbENvbnRhaW5lcjogXCJlcnJvci1odG1sY29udGFpbmVyLWNsYXNzXCIsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBoZWlnaHRBdXRvOiBmYWxzZSxcclxuICAgICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcclxuICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uQ29sb3I6IFwiIzAwOUVGN1wiLFxyXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIk9LXCIsXHJcbiAgICAgICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge30pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYoIWRhdGFbaV0uTGF0aXR1ZGUpIHtcclxuICAgICAgICAgICAgZGF0YVtpXS5MYXRpdHVkZSA9ICcwJztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZighZGF0YVtpXS5Mb25naXR1ZGUpIHtcclxuICAgICAgICAgICAgZGF0YVtpXS5Mb25naXR1ZGUgPSAnMCc7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuc3RvcmVTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRBZGRyZXNzKE51bWJlcihkYXRhW2ldLkxhdGl0dWRlKSwgTnVtYmVyKGRhdGFbaV0uTG9uZ2l0dWRlKSlcclxuICAgICAgICAgICAgLnRoZW4oKHBsYWNlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IHN0b3JlUHJvZmlsZTogYW55ID0ge1xyXG4gICAgICAgICAgICAgICAgYWRkcmVzczogXCJcIixcclxuICAgICAgICAgICAgICAgIGNvdW50cnk6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICBzdGF0ZTogXCJcIixcclxuICAgICAgICAgICAgICAgIGNpdHk6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICBwaW5jb2RlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgLy8gaWYocGxhY2VEYXRhLmFkZHJlc3NfY29tcG9uZW50cykge1xyXG4gICAgICAgICAgICAgIC8vICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgcGxhY2VEYXRhLmFkZHJlc3NfY29tcG9uZW50cykge1xyXG4gICAgICAgICAgICAgIC8vICAgICBjb25zdCB0eXBlcyA9IGNvbXBvbmVudC50eXBlcztcclxuICAgICAgICAgICAgICAvLyAgICAgaWYgKHR5cGVzLmluY2x1ZGVzKFwibG9jYWxpdHlcIikpIHtcclxuICAgICAgICAgICAgICAvLyAgICAgICBzdG9yZVByb2ZpbGUuY2l0eSA9IGNvbXBvbmVudC5sb25nX25hbWU7XHJcbiAgICAgICAgICAgICAgLy8gICAgIH0gZWxzZSBpZiAodHlwZXMuaW5jbHVkZXMoXCJhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzFcIikpIHtcclxuICAgICAgICAgICAgICAvLyAgICAgICBzdG9yZVByb2ZpbGUuc3RhdGUgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgICAgICAgIC8vICAgICB9IGVsc2UgaWYgKHR5cGVzLmluY2x1ZGVzKFwiY291bnRyeVwiKSkge1xyXG4gICAgICAgICAgICAgIC8vICAgICAgIHN0b3JlUHJvZmlsZS5jb3VudHJ5ID0gY29tcG9uZW50LmxvbmdfbmFtZTtcclxuICAgICAgICAgICAgICAvLyAgICAgfSBlbHNlIGlmICh0eXBlcy5pbmNsdWRlcyhcInBvc3RhbF9jb2RlXCIpKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgICAgc3RvcmVQcm9maWxlLnBpbmNvZGUgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgICAgICAgIC8vICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgICAgIC8vICAgICAgIHR5cGVzLmluY2x1ZGVzKFwicHJlbWlzZVwiKSB8fFxyXG4gICAgICAgICAgICAgIC8vICAgICAgIHR5cGVzLmluY2x1ZGVzKFwic3VibG9jYWxpdHlfbGV2ZWxfMlwiKSB8fFxyXG4gICAgICAgICAgICAgIC8vICAgICAgIHR5cGVzLmluY2x1ZGVzKFwic3VibG9jYWxpdHlfbGV2ZWxfMVwiKVxyXG4gICAgICAgICAgICAgIC8vICAgICApIHtcclxuICAgICAgICAgICAgICAvLyAgICAgICBpZiAoY29tcG9uZW50LmxvbmdfbmFtZSkge1xyXG4gICAgICAgICAgICAgIC8vICAgICAgICAgc3RvcmVQcm9maWxlLmFkZHJlc3MgKz0gY29tcG9uZW50LmxvbmdfbmFtZSArIFwiLFwiO1xyXG4gICAgICAgICAgICAgIC8vICAgICAgIH1cclxuICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAgIC8vICAgaWYgKHN0b3JlUHJvZmlsZS5hZGRyZXNzKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIHN0b3JlUHJvZmlsZS5hZGRyZXNzID0gc3RvcmVQcm9maWxlLmFkZHJlc3Muc2xpY2UoMCwgLTEpO1xyXG4gICAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICBkYXRhW2ldW1wic3RvcmVQcm9maWxlXCJdID0gc3RvcmVQcm9maWxlO1xyXG4gICAgICAgICAgICAgIHByb2Nlc3NlZEFycmF5LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgc3RvcmVOYW1lOiBkYXRhW2ldLlN0b3JlTmFtZSxcclxuICAgICAgICAgICAgICAgIHN0b3JlVHlwZTogeyB0eXBlOiBkYXRhW2ldLlN0b3JlVHlwZSB9LFxyXG4gICAgICAgICAgICAgICAgLy8gZWRnZTogeyBjYW1EZXRhaWxzOiB7IGNhbWVyYXM6IGRhdGFbaV0uQ2FtZXJhQ291bnQgfSB9LFxyXG4gICAgICAgICAgICAgICAgc3BvY0RldGFpbHM6IHtcclxuICAgICAgICAgICAgICAgICAgbmFtZTogZGF0YVtpXS5TcG9jTmFtZSxcclxuICAgICAgICAgICAgICAgICAgZW1haWw6IGRhdGFbaV0uU3BvY0VtYWlsLFxyXG4gICAgICAgICAgICAgICAgICBjb250YWN0OiBkYXRhW2ldLlNwb2NDb250YWN0LnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc3RvcmVQcm9maWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgIC4uLmRhdGFbaV0uc3RvcmVQcm9maWxlLFxyXG4gICAgICAgICAgICAgICAgICAuLi57IHRpbWVab25lOiBkYXRhW2ldLlRpbWVab25lIH0sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYnVzaW5lc3NUeXBlOiBkYXRhW2ldLkJ1c2luZXNzVHlwZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLy8gLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcclxuICAgICAgICAgICAgLy8gICAgIGBQbGVhc2UgVXBsb2FkIHRoZSBGaWxlIHdpdGggVmFsaWQgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSBpbiByb3cgJHtcclxuICAgICAgICAgICAgLy8gICAgICAgaSArIDFcclxuICAgICAgICAgICAgLy8gICAgIH1gXHJcbiAgICAgICAgICAgIC8vICAgKTtcclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBQcm9taXNlLmFsbChwcm9taXNlcylcclxuICAgICAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VcclxuICAgICAgICAgICAgICAuc3RvcmVCdWxrVXBsb2FkKHtcclxuICAgICAgICAgICAgICAgIHN0b3JlczogcHJvY2Vzc2VkQXJyYXksXHJcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdChcIlN0b3JlcyBoYXZlIGJlZW4gdXBsb2FkZWQgU3VjY2Vzc2Z1bGx5IVwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXMuZGF0YS5zdG9yZXMgJiYgcmVzLmRhdGEuc3RvcmVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGJ1bGtUaWNrZXRzQm9keTogYW55ID0gcmVzLmRhdGEuc3RvcmVzLm1hcCgoc3RvcmVJZDphbnkpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogc3RvcmVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlVHlwZTogXCJpbnN0YWxsYXRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2UuYnVsa0luZnJhVGlja2V0KGJ1bGtUaWNrZXRzQm9keSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDoocmVzOmFueSk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KCdTdG9yZSBJbnN0YWxsYXRpb24gVGlja2V0cyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2Uvc3RvcmVzXCJdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOihlcnI6YW55KT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnIuZXJyb3IuZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLmNvZGUgPT0gNDAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyb3IuZXJyb3IuZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC8vIC5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgIC8vICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiVW5hYmxlIHRvIGNyZWF0ZSBzdG9yZXMhXCIpO1xyXG4gICAgICAgICAgLy8gfSk7XHJcbiAgICAgIH07XHJcbiAgICAgICQoXCIja3RfY3JlYXRlX2FjY291bnRfZm9ybV9hY2NvdW50X3R5cGVfcGVyc29uYWxcIikudmFsKFwiXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZChcclxuICAgIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsIHwgbnVtYmVyLFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICByb3c6IG51bWJlcixcclxuICAgIHJlZ2V4PzogUmVnRXhwXHJcbiAgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiICYmIHR5cGVvZiB2YWx1ZSAhPT0gXCJudW1iZXJcIikge1xyXG4gICAgICByZXR1cm4gYEludmFsaWQgdmFsdWUgZm9yICR7ZmllbGROYW1lLnRvTG93ZXJDYXNlKCl9IGluIHJvdyAke3JvdyArIDF9YDtcclxuICAgIH1cclxuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGBwbGVhc2UgZW50ZXIgdGhlICR7ZmllbGROYW1lXHJcbiAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5yZXBsYWNlKC9cXGJcXHcvZywgKGwpID0+IGwudG9VcHBlckNhc2UoKSl9YDtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuIGBQbGVhc2UgZW50ZXIgJHtmaWVsZE5hbWUudG9Mb3dlckNhc2UoKX0gaW4gcm93ICR7cm93ICsgMX1gO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIGlmICh2YWx1ZS50cmltKCkgPT09IGRlZmF1bHRWYWx1ZS50cmltKCkpIHtcclxuICAgICAgICByZXR1cm4gYEludmFsaWQgdmFsdWUgZm9yICR7ZmllbGROYW1lLnRvTG93ZXJDYXNlKCl9IGluIHJvdyAke3JvdyArIDF9YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVnZXggJiYgIXJlZ2V4LnRlc3QodmFsdWUudHJpbSgpKSkge1xyXG4gICAgICAgIHJldHVybiBgUGxlYXNlIGVudGVyIHZhbGlkICR7ZmllbGROYW1lLnRvTG93ZXJDYXNlKCl9IGluIHJvdyAke1xyXG4gICAgICAgICAgcm93ICsgMVxyXG4gICAgICAgIH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBmbGV4LWNlbnRlciBmbGV4LWNvbHVtbiBwLTlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTc1cHggc3ltYm9sLWNpcmNsZVwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwiUGljXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvYWRkLXN0b3JlLWljb24uc3ZnXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZGVyIG1iLTAgdGl0bGUgY3Vyc29yLXBvaW50ZXJcIj4gQWRkIHN0b3JlcyA8L2E+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNTAwIG15LTZcIj5cclxuICAgICAgPHVsIGNsYXNzPVwidGV4dC1ncmF5LTQwMCBmdy1ib2xkIGZzLTZcIj5cclxuICAgICAgICA8bGk+VXNlIHRoZSB0ZW1wbGF0ZSB0byB1cGxvYWQgbXVsdGlwbGUgc3RvcmVzIGF0IG9uY2UuPC9saT5cclxuICAgICAgICA8bGk+RG93bmxvYWQgdGhlIHRlbXBsYXRlIGhlcmUgLVxyXG4gICAgICAgICAgPGEgaHJlZj1cIi4uLy4uL2Fzc2V0cy9maWxlcy9zdG9yZXNVcGxvYWRUZW1wbGF0ZS54bHN4XCIgZG93bmxvYWQ+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNNS44MzMzMyA4LjMzMzMzTDEwIDEyLjVNMTAgMTIuNUwxNC4xNjY3IDguMzMzMzNNMTAgMTIuNVYyLjVcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZW1wbGF0ZSBtcy0yXCI+RG93bmxvYWQgVGVtcGxhdGU8L3NwYW4+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGk+QWRkIHlvdXIgZGF0YSB0byB0aGUgVGVtcGxhdGUgRmlsZTwvbGk+XHJcbiAgICAgICAgPGxpPlVwbG9hZCBpdCBiZWxvdyBmb3IgcHJvY2Vzc2luZzwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jZW50ZXIgZmxleC13cmFwIG1iLTVcIj5cclxuICAgICAgPGlucHV0IG5hbWU9XCJhY2NvdW50VHlwZVwiIHR5cGU9XCJyYWRpb1wiIGlkPVwia3RfY3JlYXRlX2FjY291bnRfZm9ybV9hY2NvdW50X3R5cGVfcGVyc29uYWxcIiB2YWx1ZT1cInBlcnNvbmFsXCJcclxuICAgICAgICBjbGFzcz1cImJ0bi1jaGVja1wiIG5nLXJlZmxlY3QtbmFtZT1cImFjY291bnRUeXBlXCIgbmctcmVmbGVjdC1mb3JtLWNvbnRyb2wtbmFtZT1cImFjY291bnRUeXBlXCJcclxuICAgICAgICAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIlxyXG4gICAgICAgIG5nLXJlZmxlY3QtdmFsdWU9XCJwZXJzb25hbFwiIHR5cGU9XCJmaWxlXCIgI2lucHV0RmlsZSAvPlxyXG4gICAgICA8bGFiZWwgZm9yPVwia3RfY3JlYXRlX2FjY291bnRfZm9ybV9hY2NvdW50X3R5cGVfcGVyc29uYWxcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGJ0bi1wcmltYXJ5IGJnLXByaW1hcnkgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdy01MCBwLTQgbXQtNVwiPjxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQgZnMtNFwiPlxyXG4gICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMSAyMFwiXHJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0xOCAxMi41VjE1LjgzMzNDMTggMTYuMjc1NCAxNy44MjQ0IDE2LjY5OTMgMTcuNTExOCAxNy4wMTE4QzE3LjE5OTMgMTcuMzI0NCAxNi43NzU0IDE3LjUgMTYuMzMzMyAxNy41SDQuNjY2NjdDNC4yMjQ2NCAxNy41IDMuODAwNzIgMTcuMzI0NCAzLjQ4ODE2IDE3LjAxMThDMy4xNzU1OSAxNi42OTkzIDMgMTYuMjc1NCAzIDE1LjgzMzNWMTIuNU0xNC42NjY3IDYuNjY2NjdMMTAuNSAyLjVNMTAuNSAyLjVMNi4zMzMzMyA2LjY2NjY3TTEwLjUgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICA8L3N2Zz4gXHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtd2hpdGUgbXgtMlwiPkFkZCBNdWx0aXBsZSBTdG9yZXM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtZ3JheS00MDAgZnctYm9sZCBteS0zXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsaW5lLWJnIFwiPjxzdmcgd2lkdGg9XCIyMjRcIiBoZWlnaHQ9XCIyXCIgdmlld0JveD1cIjAgMCAxMjQgMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMjMuMzMzXCIgaGVpZ2h0PVwiMVwiIGZpbGw9XCIjRUFFQ0YwXCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz1cIm14LTJcIj5PciA8L3NwYW4+IDxzcGFuIGNsYXNzPVwibGluZS1iZyBcIj48c3ZnIHdpZHRoPVwiMjI0XCIgaGVpZ2h0PVwiMlwiIHZpZXdCb3g9XCIwIDAgMTI0IDJcIlxyXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTIzLjMzM1wiIGhlaWdodD1cIjFcIiBmaWxsPVwiI0VBRUNGMFwiIC8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvcD5cclxuICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwia3RfYWNjb3VudF90ZWFtX3NpemVfc2VsZWN0XzFcIiB2YWx1ZT1cIjEtMVwiIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy9hZGQtc2luZ2xlLXN0b3JlXCJcclxuICAgICAgICBjbGFzcz1cImJ0bi1jaGVjayBuZy11bnRvdWNoZWQgbmctcHJpc3RpbmUgbmctdmFsaWRcIiAvPlxyXG4gICAgICA8bGFiZWwgZm9yPVwia3RfYWNjb3VudF90ZWFtX3NpemVfc2VsZWN0XzFcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHctNTAgcC00IG10LTNcIj5cclxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMS4xODAxNSAzLjgwMzc4TDEuMTI2OSAzLjg4Njk1QzAuNTY4ODYzIDQuODc0IDEuMTY0NjkgNi4xMjE0MyAyLjIzNjMgNi4yNjQ1MkMyLjMzMzM5IDYuMjc2MzkgMi40MjM3MyA2LjI4MjY3IDIuNTEyIDYuMjgyNjdDMy4wOTAxNSA2LjI4MjY3IDMuNjAxMzIgNi4wMzQ2NSAzLjk1NzU5IDUuNjQ3OTJMNC41MTA5MyA1LjA0NzNMNS4wNjIzOCA1LjY0OTY1QzUuNDE0MzIgNi4wMzQwNyA1LjkyNDMzIDYuMjgyNjcgNi41MDYzOSA2LjI4MjY3QzcuMDg1ODMgNi4yODI2NyA3LjU5ODc3IDYuMDMzNzIgNy45NTAzOSA1LjY0OTY1TDguNTAzNTggNS4wNDU0MUw5LjA1Njc2IDUuNjQ5NjVDOS40MDgzOSA2LjAzMzcyIDkuOTIxMzMgNi4yODI2NyAxMC41MDA4IDYuMjgyNjdDMTEuMDgwMiA2LjI4MjY3IDExLjU5MzIgNi4wMzM3MiAxMS45NDQ4IDUuNjQ5NjVMMTIuNDk4IDUuMDQ1NDFMMTMuMDUxMSA1LjY0OTY1QzEzLjQwMjggNi4wMzM3MiAxMy45MTU3IDYuMjgyNjcgMTQuNDk1MiA2LjI4MjY3QzE0LjU4MDUgNi4yODI2NyAxNC42NzM2IDYuMjc2MzggMTQuNzcgNi4yNjQ2MkMxNS44NjUyIDYuMTE1MyAxNi40NjMgNC44MDEwMyAxNS44MjQzIDMuODA0MjhDMTUuODI0MiAzLjgwNDIzIDE1LjgyNDIgMy44MDQxNyAxNS44MjQyIDMuODA0MTFMMTQuMDY2IDEuMDYyN0wxNC4wNjYgMS4wNjI3TDE0LjA2NTEgMS4wNjEyM0MxNC4wNDk5IDEuMDM3NCAxNC4wMTI0IDEuMDExODQgMTMuOTY1MiAxLjAxMTg0SDMuMDM1ODFDMi45ODg2NiAxLjAxMTg0IDIuOTUxMTcgMS4wMzc0IDIuOTM1OTcgMS4wNjEyNEwyLjkzNTM1IDEuMDYyMkwxLjE4MDE1IDMuODAzNzhaTTE0LjE1MTYgOC43MzcwNlYxMS44NjlWMTIuNjE5SDEzLjQwMTZIMy41OTk0M0gyLjg0OTQzVjExLjg2OVY4LjczNzUzQzIuNzM5MiA4Ljc0NTczIDIuNjI3NjggOC43NDk5NCAyLjUxNTA3IDguNzQ5OTRDMi40NzI3NiA4Ljc0OTk0IDIuNDMwNzQgOC43NDkzMSAyLjM4OSA4Ljc0ODA5VjExLjg2OVYxMy44MDM1QzIuMzg5IDE0LjQ0NjkgMi45MjI5IDE0Ljk4OCAzLjU5OTQzIDE0Ljk4OEgxMy40MDE2QzE0LjA3ODEgMTQuOTg4IDE0LjYxMiAxNC40NDY5IDE0LjYxMiAxMy44MDM1VjExLjg2OVY4Ljc0ODI3QzE0LjU3MjIgOC43NDkzNyAxNC41MzIyIDguNzQ5OTQgMTQuNDkyMSA4Ljc0OTk0QzE0LjM3NzcgOC43NDk5NCAxNC4yNjQxIDguNzQ1NTkgMTQuMTUxNiA4LjczNzA2WlwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgZnMtNCBteC0yXCI+XHJcbiAgICAgICAgICAgIEFkZCBTaW5nbGVcclxuICAgICAgICAgIFN0b3JlPC9zcGFuPjwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICBcclxuICA8L2Rpdj5cclxuIl19
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN0b3Jlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc3RvcmVzL3NyYy9saWIvY29tcG9uZW50cy9hZGQtc3RvcmVzL2FkZC1zdG9yZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXN0b3Jlcy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLXN0b3Jlcy9hZGQtc3RvcmVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQVksSUFBSSxFQUFFLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFheEQsTUFBTSxPQUFPLGtCQUFrQjtJQU9UO0lBQW9DO0lBQXlCO0lBTnpELFNBQVMsQ0FBYTtJQUU5QyxVQUFVLEdBQVcsa0JBQWtCLENBQUM7SUFDeEMsVUFBVSxHQUFXLDRCQUE0QixDQUFDO0lBQ2xELGNBQWMsQ0FBTTtJQUVwQixZQUFvQixZQUEyQixFQUFTLEVBQWdCLEVBQVMsTUFBYztRQUEzRSxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQWM7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQzdGLElBQUksSUFBSSxHQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBTTtRQUNiLElBQUksSUFBcUIsQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBK0IsQ0FBQyxDQUFDLE1B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U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0F4T1Usa0JBQWtCOzJGQUFsQixrQkFBa0IsOEpDZi9CLDByS0FpRUE7OzJGRGxEYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2tJQUtGLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IFN3YWwgZnJvbSBcInN3ZWV0YWxlcnQyXCI7XHJcbmltcG9ydCB7IFdvcmtCb29rLCByZWFkLCB1dGlscywgV29ya1NoZWV0IH0gZnJvbSBcInhsc3hcIjtcclxuaW1wb3J0IHsgU3RvcmVzU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yZXMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yZUJ1bGtJdGVtIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvc3RvcmUuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1hZGQtc3RvcmVzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9hZGQtc3RvcmVzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9hZGQtc3RvcmVzLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRTdG9yZXNDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIikgaW5wdXRGaWxlOiBFbGVtZW50UmVmO1xyXG5cclxuICBwaG9uZVJlZ2V4OiBSZWdFeHAgPSAvXihcXGR7M30pP1xcZHsxNX0kLztcclxuICBlbWFpbFJlZ2V4OiBSZWdFeHAgPSAvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLztcclxuICAkaGVhZGVyRmlsdGVyczogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZTogU3RvcmVzU2VydmljZSxwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgbGV0IGRhdGE6YW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnaGVhZGVyLWZpbHRlcnMnKSB8fCAnJyk7XHJcbiAgICB0aGlzLiRoZWFkZXJGaWx0ZXJzID0gZGF0YTtcclxuICB9XHJcblxyXG4gIG9uVXBsb2FkKGU6IGFueSkge1xyXG4gICAgbGV0IGRhdGE6IFN0b3JlQnVsa0l0ZW1bXTtcclxuICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gPERhdGFUcmFuc2Zlcj5lLnRhcmdldDtcclxuICAgIGlmICh0YXJnZXQuZmlsZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmlucHV0RmlsZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICghIXRhcmdldC5maWxlc1swXS5uYW1lLm1hdGNoKC8oLnhsc3wueGxzeCkvKSkge1xyXG4gICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJzdHI6IHN0cmluZyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICBjb25zdCB3YjogV29ya0Jvb2sgPSByZWFkKGJzdHIsIHsgdHlwZTogXCJiaW5hcnlcIiB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3M6IFdvcmtTaGVldCA9IHdiLlNoZWV0c1t3c25hbWVdO1xyXG4gICAgICAgIGlmICh3Yi5TaGVldE5hbWVzWzBdICE9IFwiU3RvcmVEYXRhXCIpIHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSBVcGxvYWQgdGhlIFZhbGlkIEZpbGVcIik7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhID0gdXRpbHMuc2hlZXRfdG9fanNvbih3cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyh0YXJnZXQuZmlsZXNbMF0pO1xyXG5cclxuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9IGFzeW5jIChlKSA9PiB7XHJcbiAgICAgICAgbGV0IHByb2Nlc3NlZEFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBlcnJNc2dzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBwcm9taXNlcyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgZXJyTXNncy5wdXNoKHRoaXMudmFsaWRhdGVGaWVsZChkYXRhW2ldLlN0b3JlTmFtZSwgXCJzdG9yZSBuYW1lXCIsIGkpKTtcclxuICAgICAgICAgIGVyck1zZ3MucHVzaCh0aGlzLnZhbGlkYXRlRmllbGQoZGF0YVtpXS5TdG9yZVR5cGUsIFwic3RvcmUgdHlwZVwiLCBpKSk7XHJcbiAgICAgICAgICBlcnJNc2dzLnB1c2godGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uU3BvY05hbWUsIFwic3BvYyBuYW1lXCIsIGkpKTtcclxuICAgICAgICAgIGVyck1zZ3MucHVzaChcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uQnVzaW5lc3NUeXBlLCBcImJ1c2luZXNzIHR5cGVcIiwgaSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBlcnJNc2dzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVGaWVsZChcclxuICAgICAgICAgICAgICBkYXRhW2ldLlNwb2NFbWFpbCxcclxuICAgICAgICAgICAgICBcInNwb2MgZW1haWxcIixcclxuICAgICAgICAgICAgICBpLFxyXG4gICAgICAgICAgICAgIHRoaXMuZW1haWxSZWdleFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgZXJyTXNncy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlRmllbGQoXHJcbiAgICAgICAgICAgICAgZGF0YVtpXS5TcG9jQ29udGFjdCxcclxuICAgICAgICAgICAgICBcInNwb2MgY29udGFjdFwiLFxyXG4gICAgICAgICAgICAgIGksXHJcbiAgICAgICAgICAgICAgdGhpcy5waG9uZVJlZ2V4XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBlcnJNc2dzLnB1c2godGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uVGltZVpvbmUsIFwidGltZXpvbmVcIiwgaSkpO1xyXG4gICAgICAgICAgLy8gZXJyTXNncy5wdXNoKFxyXG4gICAgICAgICAgLy8gICB0aGlzLnZhbGlkYXRlRmllbGQoZGF0YVtpXS5DYW1lcmFDb3VudCwgXCJjYW1lcmEgY291bnRcIiwgaSlcclxuICAgICAgICAgIC8vICk7XHJcbiAgICAgICAgICAvLyBlcnJNc2dzLnB1c2godGhpcy52YWxpZGF0ZUZpZWxkKGRhdGFbaV0uTGF0aXR1ZGUsIFwibGF0aXR1ZGVcIiwgaSkpO1xyXG4gICAgICAgICAgLy8gZXJyTXNncy5wdXNoKHRoaXMudmFsaWRhdGVGaWVsZChkYXRhW2ldLkxvbmdpdHVkZSwgXCJsb25naXR1ZGVcIiwgaSkpO1xyXG5cclxuICAgICAgICAgIGVyck1zZ3MgPSBlcnJNc2dzLmZpbHRlcigoeCkgPT4geCAhPSBudWxsKTtcclxuICAgICAgICAgIGlmIChlcnJNc2dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgbGV0IGVycm9ycyA9IGVyck1zZ3Muam9pbihcIjxicj5cIik7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgaWNvbjogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgIGh0bWw6IGVycm9ycyxcclxuICAgICAgICAgICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgICAgICAgICAgaHRtbENvbnRhaW5lcjogXCJlcnJvci1odG1sY29udGFpbmVyLWNsYXNzXCIsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBoZWlnaHRBdXRvOiBmYWxzZSxcclxuICAgICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcclxuICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uQ29sb3I6IFwiIzAwOUVGN1wiLFxyXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIk9LXCIsXHJcbiAgICAgICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge30pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYoIWRhdGFbaV0uTGF0aXR1ZGUpIHtcclxuICAgICAgICAgICAgZGF0YVtpXS5MYXRpdHVkZSA9ICcwJztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZighZGF0YVtpXS5Mb25naXR1ZGUpIHtcclxuICAgICAgICAgICAgZGF0YVtpXS5Mb25naXR1ZGUgPSAnMCc7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuc3RvcmVTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRBZGRyZXNzKE51bWJlcihkYXRhW2ldLkxhdGl0dWRlKSwgTnVtYmVyKGRhdGFbaV0uTG9uZ2l0dWRlKSlcclxuICAgICAgICAgICAgLnRoZW4oKHBsYWNlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IHN0b3JlUHJvZmlsZTogYW55ID0ge1xyXG4gICAgICAgICAgICAgICAgYWRkcmVzczogXCJcIixcclxuICAgICAgICAgICAgICAgIGNvdW50cnk6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICBzdGF0ZTogXCJcIixcclxuICAgICAgICAgICAgICAgIGNpdHk6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICBwaW5jb2RlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgLy8gaWYocGxhY2VEYXRhLmFkZHJlc3NfY29tcG9uZW50cykge1xyXG4gICAgICAgICAgICAgIC8vICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgcGxhY2VEYXRhLmFkZHJlc3NfY29tcG9uZW50cykge1xyXG4gICAgICAgICAgICAgIC8vICAgICBjb25zdCB0eXBlcyA9IGNvbXBvbmVudC50eXBlcztcclxuICAgICAgICAgICAgICAvLyAgICAgaWYgKHR5cGVzLmluY2x1ZGVzKFwibG9jYWxpdHlcIikpIHtcclxuICAgICAgICAgICAgICAvLyAgICAgICBzdG9yZVByb2ZpbGUuY2l0eSA9IGNvbXBvbmVudC5sb25nX25hbWU7XHJcbiAgICAgICAgICAgICAgLy8gICAgIH0gZWxzZSBpZiAodHlwZXMuaW5jbHVkZXMoXCJhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzFcIikpIHtcclxuICAgICAgICAgICAgICAvLyAgICAgICBzdG9yZVByb2ZpbGUuc3RhdGUgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgICAgICAgIC8vICAgICB9IGVsc2UgaWYgKHR5cGVzLmluY2x1ZGVzKFwiY291bnRyeVwiKSkge1xyXG4gICAgICAgICAgICAgIC8vICAgICAgIHN0b3JlUHJvZmlsZS5jb3VudHJ5ID0gY29tcG9uZW50LmxvbmdfbmFtZTtcclxuICAgICAgICAgICAgICAvLyAgICAgfSBlbHNlIGlmICh0eXBlcy5pbmNsdWRlcyhcInBvc3RhbF9jb2RlXCIpKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgICAgc3RvcmVQcm9maWxlLnBpbmNvZGUgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgICAgICAgIC8vICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgICAgIC8vICAgICAgIHR5cGVzLmluY2x1ZGVzKFwicHJlbWlzZVwiKSB8fFxyXG4gICAgICAgICAgICAgIC8vICAgICAgIHR5cGVzLmluY2x1ZGVzKFwic3VibG9jYWxpdHlfbGV2ZWxfMlwiKSB8fFxyXG4gICAgICAgICAgICAgIC8vICAgICAgIHR5cGVzLmluY2x1ZGVzKFwic3VibG9jYWxpdHlfbGV2ZWxfMVwiKVxyXG4gICAgICAgICAgICAgIC8vICAgICApIHtcclxuICAgICAgICAgICAgICAvLyAgICAgICBpZiAoY29tcG9uZW50LmxvbmdfbmFtZSkge1xyXG4gICAgICAgICAgICAgIC8vICAgICAgICAgc3RvcmVQcm9maWxlLmFkZHJlc3MgKz0gY29tcG9uZW50LmxvbmdfbmFtZSArIFwiLFwiO1xyXG4gICAgICAgICAgICAgIC8vICAgICAgIH1cclxuICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAgIC8vICAgaWYgKHN0b3JlUHJvZmlsZS5hZGRyZXNzKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIHN0b3JlUHJvZmlsZS5hZGRyZXNzID0gc3RvcmVQcm9maWxlLmFkZHJlc3Muc2xpY2UoMCwgLTEpO1xyXG4gICAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICBkYXRhW2ldW1wic3RvcmVQcm9maWxlXCJdID0gc3RvcmVQcm9maWxlO1xyXG4gICAgICAgICAgICAgIHByb2Nlc3NlZEFycmF5LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgc3RvcmVOYW1lOiBkYXRhW2ldLlN0b3JlTmFtZSxcclxuICAgICAgICAgICAgICAgIHN0b3JlVHlwZTogeyB0eXBlOiBkYXRhW2ldLlN0b3JlVHlwZSB9LFxyXG4gICAgICAgICAgICAgICAgLy8gZWRnZTogeyBjYW1EZXRhaWxzOiB7IGNhbWVyYXM6IGRhdGFbaV0uQ2FtZXJhQ291bnQgfSB9LFxyXG4gICAgICAgICAgICAgICAgc3BvY0RldGFpbHM6IHtcclxuICAgICAgICAgICAgICAgICAgbmFtZTogZGF0YVtpXS5TcG9jTmFtZSxcclxuICAgICAgICAgICAgICAgICAgZW1haWw6IGRhdGFbaV0uU3BvY0VtYWlsLFxyXG4gICAgICAgICAgICAgICAgICBjb250YWN0OiBkYXRhW2ldLlNwb2NDb250YWN0LnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc3RvcmVQcm9maWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgIC4uLmRhdGFbaV0uc3RvcmVQcm9maWxlLFxyXG4gICAgICAgICAgICAgICAgICAuLi57IHRpbWVab25lOiBkYXRhW2ldLlRpbWVab25lIH0sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYnVzaW5lc3NUeXBlOiBkYXRhW2ldLkJ1c2luZXNzVHlwZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLy8gLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcclxuICAgICAgICAgICAgLy8gICAgIGBQbGVhc2UgVXBsb2FkIHRoZSBGaWxlIHdpdGggVmFsaWQgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSBpbiByb3cgJHtcclxuICAgICAgICAgICAgLy8gICAgICAgaSArIDFcclxuICAgICAgICAgICAgLy8gICAgIH1gXHJcbiAgICAgICAgICAgIC8vICAgKTtcclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBQcm9taXNlLmFsbChwcm9taXNlcylcclxuICAgICAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VcclxuICAgICAgICAgICAgICAuc3RvcmVCdWxrVXBsb2FkKHtcclxuICAgICAgICAgICAgICAgIHN0b3JlczogcHJvY2Vzc2VkQXJyYXksXHJcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdChcIlN0b3JlcyBoYXZlIGJlZW4gdXBsb2FkZWQgU3VjY2Vzc2Z1bGx5IVwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXMuZGF0YS5zdG9yZXMgJiYgcmVzLmRhdGEuc3RvcmVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGJ1bGtUaWNrZXRzQm9keTogYW55ID0gcmVzLmRhdGEuc3RvcmVzLm1hcCgoc3RvcmVJZDphbnkpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogc3RvcmVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlVHlwZTogXCJpbnN0YWxsYXRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2UuYnVsa0luZnJhVGlja2V0KGJ1bGtUaWNrZXRzQm9keSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDoocmVzOmFueSk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KCdTdG9yZSBJbnN0YWxsYXRpb24gVGlja2V0cyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2Uvc3RvcmVzXCJdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOihlcnI6YW55KT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnIuZXJyb3IuZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLmNvZGUgPT0gNDAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyb3IuZXJyb3IuZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC8vIC5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgIC8vICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiVW5hYmxlIHRvIGNyZWF0ZSBzdG9yZXMhXCIpO1xyXG4gICAgICAgICAgLy8gfSk7XHJcbiAgICAgIH07XHJcbiAgICAgICQoXCIja3RfY3JlYXRlX2FjY291bnRfZm9ybV9hY2NvdW50X3R5cGVfcGVyc29uYWxcIikudmFsKFwiXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZChcclxuICAgIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsIHwgbnVtYmVyLFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICByb3c6IG51bWJlcixcclxuICAgIHJlZ2V4PzogUmVnRXhwXHJcbiAgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiICYmIHR5cGVvZiB2YWx1ZSAhPT0gXCJudW1iZXJcIikge1xyXG4gICAgICByZXR1cm4gYEludmFsaWQgdmFsdWUgZm9yICR7ZmllbGROYW1lLnRvTG93ZXJDYXNlKCl9IGluIHJvdyAke3JvdyArIDF9YDtcclxuICAgIH1cclxuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGBwbGVhc2UgZW50ZXIgdGhlICR7ZmllbGROYW1lXHJcbiAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5yZXBsYWNlKC9cXGJcXHcvZywgKGwpID0+IGwudG9VcHBlckNhc2UoKSl9YDtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuIGBQbGVhc2UgZW50ZXIgJHtmaWVsZE5hbWUudG9Mb3dlckNhc2UoKX0gaW4gcm93ICR7cm93ICsgMX1gO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIGlmICh2YWx1ZS50cmltKCkgPT09IGRlZmF1bHRWYWx1ZS50cmltKCkpIHtcclxuICAgICAgICByZXR1cm4gYEludmFsaWQgdmFsdWUgZm9yICR7ZmllbGROYW1lLnRvTG93ZXJDYXNlKCl9IGluIHJvdyAke3JvdyArIDF9YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVnZXggJiYgIXJlZ2V4LnRlc3QodmFsdWUudHJpbSgpKSkge1xyXG4gICAgICAgIHJldHVybiBgUGxlYXNlIGVudGVyIHZhbGlkICR7ZmllbGROYW1lLnRvTG93ZXJDYXNlKCl9IGluIHJvdyAke1xyXG4gICAgICAgICAgcm93ICsgMVxyXG4gICAgICAgIH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBmbGV4LWNlbnRlciBmbGV4LWNvbHVtbiBwLTlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTc1cHggc3ltYm9sLWNpcmNsZVwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwiUGljXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvYWRkLXN0b3JlLWljb24uc3ZnXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZGVyIG1iLTAgdGl0bGUgY3Vyc29yLXBvaW50ZXJcIj4gQWRkIHN0b3JlcyA8L2E+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNTAwIG15LTZcIj5cclxuICAgICAgPHVsIGNsYXNzPVwidGV4dC1ncmF5LTQwMCBmdy1ib2xkIGZzLTZcIj5cclxuICAgICAgICA8bGk+VXNlIHRoZSB0ZW1wbGF0ZSB0byB1cGxvYWQgbXVsdGlwbGUgc3RvcmVzIGF0IG9uY2UuPC9saT5cclxuICAgICAgICA8bGk+RG93bmxvYWQgdGhlIHRlbXBsYXRlIGhlcmUgLVxyXG4gICAgICAgICAgPGEgaHJlZj1cIi4uLy4uL2Fzc2V0cy9maWxlcy9zdG9yZXNVcGxvYWRUZW1wbGF0ZS54bHN4XCIgZG93bmxvYWQ+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNNS44MzMzMyA4LjMzMzMzTDEwIDEyLjVNMTAgMTIuNUwxNC4xNjY3IDguMzMzMzNNMTAgMTIuNVYyLjVcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZW1wbGF0ZSBtcy0yXCI+RG93bmxvYWQgVGVtcGxhdGU8L3NwYW4+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGk+QWRkIHlvdXIgZGF0YSB0byB0aGUgVGVtcGxhdGUgRmlsZTwvbGk+XHJcbiAgICAgICAgPGxpPlVwbG9hZCBpdCBiZWxvdyBmb3IgcHJvY2Vzc2luZzwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jZW50ZXIgZmxleC13cmFwIG1iLTVcIj5cclxuICAgICAgPGlucHV0IG5hbWU9XCJhY2NvdW50VHlwZVwiIHR5cGU9XCJyYWRpb1wiIGlkPVwia3RfY3JlYXRlX2FjY291bnRfZm9ybV9hY2NvdW50X3R5cGVfcGVyc29uYWxcIiB2YWx1ZT1cInBlcnNvbmFsXCJcclxuICAgICAgICBjbGFzcz1cImJ0bi1jaGVja1wiIG5nLXJlZmxlY3QtbmFtZT1cImFjY291bnRUeXBlXCIgbmctcmVmbGVjdC1mb3JtLWNvbnRyb2wtbmFtZT1cImFjY291bnRUeXBlXCJcclxuICAgICAgICAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIlxyXG4gICAgICAgIG5nLXJlZmxlY3QtdmFsdWU9XCJwZXJzb25hbFwiIHR5cGU9XCJmaWxlXCIgI2lucHV0RmlsZSAvPlxyXG4gICAgICA8bGFiZWwgZm9yPVwia3RfY3JlYXRlX2FjY291bnRfZm9ybV9hY2NvdW50X3R5cGVfcGVyc29uYWxcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGJ0bi1wcmltYXJ5IGJnLXByaW1hcnkgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdy01MCBwLTQgbXQtNVwiPjxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQgZnMtNFwiPlxyXG4gICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMSAyMFwiXHJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0xOCAxMi41VjE1LjgzMzNDMTggMTYuMjc1NCAxNy44MjQ0IDE2LjY5OTMgMTcuNTExOCAxNy4wMTE4QzE3LjE5OTMgMTcuMzI0NCAxNi43NzU0IDE3LjUgMTYuMzMzMyAxNy41SDQuNjY2NjdDNC4yMjQ2NCAxNy41IDMuODAwNzIgMTcuMzI0NCAzLjQ4ODE2IDE3LjAxMThDMy4xNzU1OSAxNi42OTkzIDMgMTYuMjc1NCAzIDE1LjgzMzNWMTIuNU0xNC42NjY3IDYuNjY2NjdMMTAuNSAyLjVNMTAuNSAyLjVMNi4zMzMzMyA2LjY2NjY3TTEwLjUgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICA8L3N2Zz4gXHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtd2hpdGUgbXgtMlwiPkFkZCBNdWx0aXBsZSBTdG9yZXM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtZ3JheS00MDAgZnctYm9sZCBteS0zXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsaW5lLWJnIFwiPjxzdmcgd2lkdGg9XCIyMjRcIiBoZWlnaHQ9XCIyXCIgdmlld0JveD1cIjAgMCAxMjQgMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMjMuMzMzXCIgaGVpZ2h0PVwiMVwiIGZpbGw9XCIjRUFFQ0YwXCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz1cIm14LTJcIj5PciA8L3NwYW4+IDxzcGFuIGNsYXNzPVwibGluZS1iZyBcIj48c3ZnIHdpZHRoPVwiMjI0XCIgaGVpZ2h0PVwiMlwiIHZpZXdCb3g9XCIwIDAgMTI0IDJcIlxyXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTIzLjMzM1wiIGhlaWdodD1cIjFcIiBmaWxsPVwiI0VBRUNGMFwiIC8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvcD5cclxuICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwia3RfYWNjb3VudF90ZWFtX3NpemVfc2VsZWN0XzFcIiB2YWx1ZT1cIjEtMVwiIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy9hZGQtc2luZ2xlLXN0b3JlXCJcclxuICAgICAgICBjbGFzcz1cImJ0bi1jaGVjayBuZy11bnRvdWNoZWQgbmctcHJpc3RpbmUgbmctdmFsaWRcIiAvPlxyXG4gICAgICA8bGFiZWwgZm9yPVwia3RfYWNjb3VudF90ZWFtX3NpemVfc2VsZWN0XzFcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHctNTAgcC00IG10LTNcIj5cclxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMS4xODAxNSAzLjgwMzc4TDEuMTI2OSAzLjg4Njk1QzAuNTY4ODYzIDQuODc0IDEuMTY0NjkgNi4xMjE0MyAyLjIzNjMgNi4yNjQ1MkMyLjMzMzM5IDYuMjc2MzkgMi40MjM3MyA2LjI4MjY3IDIuNTEyIDYuMjgyNjdDMy4wOTAxNSA2LjI4MjY3IDMuNjAxMzIgNi4wMzQ2NSAzLjk1NzU5IDUuNjQ3OTJMNC41MTA5MyA1LjA0NzNMNS4wNjIzOCA1LjY0OTY1QzUuNDE0MzIgNi4wMzQwNyA1LjkyNDMzIDYuMjgyNjcgNi41MDYzOSA2LjI4MjY3QzcuMDg1ODMgNi4yODI2NyA3LjU5ODc3IDYuMDMzNzIgNy45NTAzOSA1LjY0OTY1TDguNTAzNTggNS4wNDU0MUw5LjA1Njc2IDUuNjQ5NjVDOS40MDgzOSA2LjAzMzcyIDkuOTIxMzMgNi4yODI2NyAxMC41MDA4IDYuMjgyNjdDMTEuMDgwMiA2LjI4MjY3IDExLjU5MzIgNi4wMzM3MiAxMS45NDQ4IDUuNjQ5NjVMMTIuNDk4IDUuMDQ1NDFMMTMuMDUxMSA1LjY0OTY1QzEzLjQwMjggNi4wMzM3MiAxMy45MTU3IDYuMjgyNjcgMTQuNDk1MiA2LjI4MjY3QzE0LjU4MDUgNi4yODI2NyAxNC42NzM2IDYuMjc2MzggMTQuNzcgNi4yNjQ2MkMxNS44NjUyIDYuMTE1MyAxNi40NjMgNC44MDEwMyAxNS44MjQzIDMuODA0MjhDMTUuODI0MiAzLjgwNDIzIDE1LjgyNDIgMy44MDQxNyAxNS44MjQyIDMuODA0MTFMMTQuMDY2IDEuMDYyN0wxNC4wNjYgMS4wNjI3TDE0LjA2NTEgMS4wNjEyM0MxNC4wNDk5IDEuMDM3NCAxNC4wMTI0IDEuMDExODQgMTMuOTY1MiAxLjAxMTg0SDMuMDM1ODFDMi45ODg2NiAxLjAxMTg0IDIuOTUxMTcgMS4wMzc0IDIuOTM1OTcgMS4wNjEyNEwyLjkzNTM1IDEuMDYyMkwxLjE4MDE1IDMuODAzNzhaTTE0LjE1MTYgOC43MzcwNlYxMS44NjlWMTIuNjE5SDEzLjQwMTZIMy41OTk0M0gyLjg0OTQzVjExLjg2OVY4LjczNzUzQzIuNzM5MiA4Ljc0NTczIDIuNjI3NjggOC43NDk5NCAyLjUxNTA3IDguNzQ5OTRDMi40NzI3NiA4Ljc0OTk0IDIuNDMwNzQgOC43NDkzMSAyLjM4OSA4Ljc0ODA5VjExLjg2OVYxMy44MDM1QzIuMzg5IDE0LjQ0NjkgMi45MjI5IDE0Ljk4OCAzLjU5OTQzIDE0Ljk4OEgxMy40MDE2QzE0LjA3ODEgMTQuOTg4IDE0LjYxMiAxNC40NDY5IDE0LjYxMiAxMy44MDM1VjExLjg2OVY4Ljc0ODI3QzE0LjU3MjIgOC43NDkzNyAxNC41MzIyIDguNzQ5OTQgMTQuNDkyMSA4Ljc0OTk0QzE0LjM3NzcgOC43NDk5NCAxNC4yNjQxIDguNzQ1NTkgMTQuMTUxNiA4LjczNzA2WlwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgZnMtNCBteC0yXCI+XHJcbiAgICAgICAgICAgIEFkZCBTaW5nbGVcclxuICAgICAgICAgIFN0b3JlPC9zcGFuPjwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICBcclxuICA8L2Rpdj5cclxuIl19
|