tin-spa 2.1.39 → 2.1.40

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.
@@ -240,4 +240,4 @@ export var LogLevel;
240
240
  LogLevel[LogLevel["Fatal"] = 5] = "Fatal";
241
241
  LogLevel[LogLevel["Off"] = 6] = "Off";
242
242
  })(LogLevel || (LogLevel = {}));
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jbGFzc2VzL0NsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdqQyxNQUFNLE9BQU8sZ0JBQWdCO0NBSTVCO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQVUvQjtBQUVELE1BQU0sT0FBTyxNQUFNO0NBTWxCO0FBSUQsTUFBTSxPQUFPLFlBQVk7Q0FHeEI7QUFRRCxNQUFNLE9BQU8sVUFBVTtDQVV0QjtBQStDRCxNQUFNLE9BQU8sV0FBVztDQWV2QjtBQThCRCxNQUFNLE9BQU8sVUFBVTtDQU10QjtBQWNELE1BQU0sT0FBTyxJQUFJO0NBR2hCO0FBSUQsTUFBTSxPQUFPLGNBQWM7Q0FHMUI7QUFHRCxNQUFNLE9BQU8sV0FBVztJQUV0QjtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQU1GO0FBR0QsTUFBTSxPQUFPLFNBQVM7SUFDcEI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FB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LEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBd0dGO0FBR0QsTUFBTSxDQUFOLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixxQ0FBTyxDQUFBO0lBQ1AseUNBQVMsQ0FBQTtJQUNULHVDQUFRLENBQUE7SUFDUix1Q0FBUSxDQUFBO0lBQ1IseUNBQVMsQ0FBQTtJQUNULHlDQUFTLENBQUE7SUFDVCxxQ0FBTyxDQUFBO0FBQ1QsQ0FBQyxFQVJXLFFBQVEsS0FBUixRQUFRLFFBUW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZSB9IGZyb20gXCIuL1RpbkNvcmVcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTGlzdERpYWxvZ0NvbmZpZ3tcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBsaXN0TmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0RpYWxvZ0NvbmZpZyB7XHJcblxyXG4gIGNvbmZpZzogRm9ybUNvbmZpZztcclxuICB0YWJsZUNvbmZpZz86IFRhYmxlQ29uZmlnO1xyXG4gIGJ1dHRvbnM/OiBCdXR0b25bXTtcclxuICBkZXRhaWxzPyA6IGFueVxyXG4gIGRldGFpbElERmllbGQ/IDogYW55XHJcbiAgZGV0YWlsSUQ/OiBhbnlcclxuICAvLyBzb3VyY2VNZXRob2QgOiAncm93JyB8ICdpZCcgfCAnaWRGaWVsZCdcclxuICAvLyByb3c/OiBhbnlcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvbntcclxuICBtZXRob2Q/OiAnZ2V0JyB8ICdwb3N0J1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHBhcmFtcz8gOiBhbnlbXVxyXG4gIHN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nXHJcbiAgaXNGb3JtRGF0YT86IGJvb2xlYW5cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29uZmlnIHtcclxuICBmaWVsZHM6IFNlYXJjaEZpZWxkW11cclxuICBzZWFyY2hBY3Rpb24/OiBBY3Rpb25cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hGaWVsZCBleHRlbmRzIEZpZWxke1xyXG5cclxuICBzaG93PzogYm9vbGVhblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZvcm1Db25maWcge1xyXG4gIHRpdGxlPzogc3RyaW5nXHJcbiAgZmllbGRzOiBGaWVsZFtdXHJcbiAgbW9kZT86IHN0cmluZ1xyXG4gIGJ1dHRvbj8gOiBCdXR0b25cclxuICBtdWx0aUNvbHVtbj86IGJvb2xlYW5cclxuICByZXNldD86IGJvb2xlYW5cclxuICBmaWxlQWN0aW9uPzogQWN0aW9uXHJcbiAgbG9hZEFjdGlvbj86IEFjdGlvblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCdXR0b257XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgdmlzaWJsZT86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIGRpc3BsYXk/OiBzdHJpbmc7XHJcbiAgaWNvbj86IEljb247XHJcbiAgZGlzYWJsZWQ/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuICBjb2xvcj86IHN0cmluZztcclxuICB0aXA/OiBzdHJpbmdcclxuICBkaWFsb2c/OiBib29sZWFuXHJcbiAgYWN0aW9uPzogQWN0aW9uXHJcbiAgY29uZmlybT86IENvbmZpcm1cclxuICBpbkRpYWxvZz86IGJvb2xlYW5cclxuICBkZXRhaWxzQ29uZmlnPzogRGV0YWlsc0RpYWxvZ0NvbmZpZ1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtIHtcclxuICBtZXNzYWdlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb257XHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0eXBlOiAndGV4dCcgfCAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ211bHRpLXNlbGVjdCcgfCAnbW9uZXknIHwgJ251bWJlcicgfCAnc2VjdGlvbicgfCAnYmxhbmsnIHwgJ2NoaXAnIHwgJ2ZpbGUnIHwgJ2ZpbGUtdmlldycgfCAnaWNvbicgfCAnc3Bpbm5lcicgfCAnYnV0dG9uJztcclxuICBhbGlhcz86IHN0cmluZztcclxuICBvcHRpb25zPzogYW55W107XHJcbiAgb3B0aW9uRGlzcGxheT86IHN0cmluZ1xyXG4gIG9wdGlvblZhbHVlPzogc3RyaW5nXHJcbiAgZGVmYXVsdFZhbHVlPzogYW55XHJcbiAgZGVmYXVsdEZpcnN0VmFsdWU/OiBib29sZWFuXHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuXHJcbiAgbWluPzogYW55XHJcbiAgbWF4PzogYW55XHJcbiAgcm93cz86IG51bWJlclxyXG4gIHNwYW4/OiBib29sZWFuXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuXHJcbiAgaGlkZGVuPzogYm9vbGVhblxyXG4gIHBhdGg/OiBzdHJpbmdcclxuICBrZXlGaWxlZE5hbWU/OiBzdHJpbmdcclxuICBoaW50Pzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbmZpZ3tcclxuICB0aXRsZT86IHN0cmluZ1xyXG4gIGNvbHVtbnM/IDogQ29sdW1uW11cclxuICBtaW5Db2x1bW5zPzogc3RyaW5nW11cclxuICBzaG93RmlsdGVyPzogYm9vbGVhblxyXG4gIGVsZXZhdGlvbj86ICdub25lJyB8ICdsb3cnIHwgJ21lZGl1bScgfCAnaGlnaCdcclxuICBmb3JtQ29uZmlnPzogRm9ybUNvbmZpZ1xyXG4gIHNlYXJjaENvbmZpZz86IFNlYXJjaENvbmZpZ1xyXG4gIHRpbGVDb25maWc/OiBUaWxlQ29uZmlnXHJcbiAgYnV0dG9ucz86IEJ1dHRvbltdXHJcbiAgbWluQnV0dG9ucz86IHN0cmluZ1tdXHJcbiAgbG9hZEFjdGlvbj86IEFjdGlvblxyXG4gIGxvZ1Jlc3BvbnNlPzogYm9vbGVhblxyXG4gIGZsYXRCdXR0b25zPzogYm9vbGVhblxyXG4gIGdyZXlPdXQ/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU/OiAndGV4dCcgfCAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ21vbmV5JyB8ICdudW1iZXInIHwgJ2NoaXAnIHwgJ2ljb24nIHwgJ3NwaW5uZXInIHwgJ2J1dHRvbic7XHJcbiAgYWxpYXM/OiBzdHJpbmc7XHJcbiAgaWNvbj86IEljb247XHJcbiAgY29sb3I/OiBDb2xvcjtcclxuICBpY29ucz86IEljb25bXTtcclxuICBvcHRpb25zPzogYW55W107XHJcbiAgb3B0aW9uRGlzcGxheT86IHN0cmluZ1xyXG4gIG9wdGlvblZhbHVlPzogc3RyaW5nXHJcbiAgZGV0YWlsc0NvbmZpZz86IERldGFpbHNEaWFsb2dDb25maWdcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbntcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb2xvcj86IHN0cmluZ1xyXG4gIHRpcD86IHN0cmluZ1xyXG4gIHRpcEZpZWxkPzogc3RyaW5nXHJcbiAgYmFubmVyRmllbGQ/OiBzdHJpbmdcclxuICBjb25kaXRpb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2xvciB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVGlsZUNvbmZpZ3tcclxuICB0aWxlcyA6IFRpbGVbXVxyXG4gIGxvYWRBY3Rpb24/OiBBY3Rpb25cclxuICBsb2FkSW5pdD86IGJvb2xlYW5cclxuICBjbGlja2FibGU/OiBib29sZWFuXHJcbiAgLy8gcmVsb2FkPzogYm9vbGVhblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVGlsZSB7XHJcblxyXG4gIG5hbWU6IHN0cmluZztcclxuICBhbGlhcz86IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBzZWxlY3RlZFRpbGU/OiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBpbmZvPzogc3RyaW5nO1xyXG4gIHByZWZpeD86IHN0cmluZztcclxuICBzdWZmaXg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdGVwIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBpY29uOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvblJlc3BvbnNlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgbG9naW5Db25maWcge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuYXBwTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnNlbGZTZXJ2aWNlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ28gPSBcIlwiO1xyXG4gICAgdGhpcy5sb2dvU2l6ZSA9IFwibm9ybWFsXCI7XHJcbiAgfVxyXG5cclxuICBhcHBOYW1lOiBzdHJpbmc7XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgbG9nbzogc3RyaW5nO1xyXG4gIGxvZ29TaXplOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuYXBwTmFtZSA9IFwiQXBwIE5hbWVcIjtcclxuICAgIHRoaXMubG9nbyA9IFwiXCI7XHJcbiAgICB0aGlzLmxvZ29TaXplID0gXCJub3JtYWxcIjtcclxuICAgIHRoaXMuQURBdXRoID0gdHJ1ZTtcclxuICAgIHRoaXMubG9jYWxBdXRoID0gdHJ1ZTtcclxuICAgIHRoaXMuZ29vZ2xlQXV0aCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxmU2VydmljZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5tdWx0aXRlbmFudCA9IGZhbHNlO1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uID0gJ3RvcCc7XHJcbiAgfVxyXG4gIGFwcE5hbWU6IHN0cmluZztcclxuICBsb2dvOiBzdHJpbmc7XHJcbiAgbG9nb1NpemU6IHN0cmluZztcclxuICBBREF1dGg6IGJvb2xlYW47XHJcbiAgbG9jYWxBdXRoOiBib29sZWFuO1xyXG4gIGdvb2dsZUF1dGg6IGJvb2xlYW47XHJcbiAgc2VsZlNlcnZpY2U6IGJvb2xlYW47XHJcbiAgY2FwSXRlbXM6IENhcEl0ZW1bXTtcclxuICBtdWx0aXRlbmFudCA6IGJvb2xlYW47XHJcbiAgbmF2aWdhdGlvbiA6ICd0b3AnIHwgJ3NpZGUnXHJcblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENhcEl0ZW0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMubmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBcIk5ldyBDYXAgSXRlbVwiO1xyXG4gICAgdGhpcy5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnR5cGUgPSBcIlwiO1xyXG4gICAgdGhpcy5uZXdMaW5lID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dNZW51ID0gdHJ1ZTtcclxuICAgIHRoaXMuaWdub3JlU3Vic0Rpc3BsYXkgPSBmYWxzZTtcclxuICAgIHRoaXMubGluayA9IFwiXCI7XHJcbiAgICB0aGlzLmljb24gPSBcIm5hdmlnYXRlX25leHRcIjtcclxuXHJcbiAgfVxyXG5cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGlzcGxheTogc3RyaW5nO1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgc2hvd01lbnU6IGJvb2xlYW47XHJcblxyXG4gIGlnbm9yZVN1YnNEaXNwbGF5OiBib29sZWFuO1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBuZXdMaW5lOiBib29sZWFuO1xyXG4gIGxpbms6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgY2FwU3ViSXRlbXM6IENhcEl0ZW1bXTtcclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQWNjb3VudCB7XHJcbiAgdXNlcjogVXNlcjtcclxuICBwcm9maWxlOiBQcm9maWxlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXNlciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuXHJcbiAgICB0aGlzLnVzZXJOYW1lID0gXCJcIjtcclxuICAgIHRoaXMucGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy50cmllcyA9IFwiMFwiO1xyXG4gICAgdGhpcy5sb2NrZWQgPSBcIjBcIjtcclxuICAgIHRoaXMubG9nZ2VkID0gXCIwXCI7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gXCIwXCI7XHJcbiAgICB0aGlzLmNoYW5nZXBhc3N3b3JkID0gXCIwXCI7XHJcbiAgICB0aGlzLmRhdGVDcmVhdGVkID0gQ29yZS5ub3dEYXRlKCk7XHJcbiAgICB0aGlzLmRhdGVVcGRhdGVkID0gQ29yZS5ub3dEYXRlKCk7XHJcbiAgICB0aGlzLnRva2VuID0gXCJcIjtcclxuICAgIHRoaXMuZGF0ZUV4cGlyZSA9IENvcmUubm93RGF0ZSgpO1xyXG4gICAgdGhpcy50b2tlbkV4cGlyZSA9IENvcmUubm93RGF0ZSgpO1xyXG4gICAgdGhpcy5hdXRoVHlwZSA9IFwiXCI7XHJcbiAgfVxyXG5cclxuICB1c2VyTmFtZTpzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxuICB0cmllczogc3RyaW5nO1xyXG4gIGxvY2tlZDogc3RyaW5nO1xyXG4gIGxvZ2dlZDogc3RyaW5nO1xyXG4gIGRpc2FibGVkOiBzdHJpbmc7XHJcbiAgY2hhbmdlcGFzc3dvcmQ6IHN0cmluZztcclxuICBkYXRlQ3JlYXRlZDogc3RyaW5nO1xyXG4gIGRhdGVVcGRhdGVkOiBzdHJpbmc7XHJcbiAgZGF0ZUV4cGlyZTogc3RyaW5nO1xyXG4gIHRva2VuOiBzdHJpbmc7XHJcbiAgdG9rZW5FeHBpcmU6IHN0cmluZztcclxuXHJcbiAgYXV0aFR5cGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENoYW5nZVVzZXJQYXNzd29yZCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy51c2VyTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmN1cnJlbnRQYXNzd29yZCA9IFwiXCI7XHJcbiAgICB0aGlzLm5ld1Bhc3N3b3JkID0gXCJcIjtcclxuICAgIHRoaXMuY29uZmlybVBhc3N3b3JkID0gXCJcIjtcclxuICB9XHJcbiAgdXNlck5hbWU6IHN0cmluZztcclxuICBjdXJyZW50UGFzc3dvcmQ6IHN0cmluZztcclxuICBuZXdQYXNzd29yZDogc3RyaW5nO1xyXG4gIGNvbmZpcm1QYXNzd29yZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24ge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25JRCA9IDA7XHJcbiAgICB0aGlzLm5hcnJhdGlvbiA9IFwiXCI7XHJcbiAgICB0aGlzLmFtb3VudCA9ICcwJztcclxuICAgIHRoaXMudHlwZSA9IDA7XHJcbiAgICB0aGlzLmRhdGUgPSBcIlwiO1xyXG4gICAgdGhpcy5hY2NvdW50SUQgPSAwO1xyXG4gICAgdGhpcy5kZXN0aW5hdGlvbklEID0gMDtcclxuICAgIHRoaXMuY2F0ZWdvcnlJRCA9IDA7XHJcbiAgfVxyXG5cclxuICB0cmFuc2FjdGlvbklEIDogbnVtYmVyO1xyXG4gIG5hcnJhdGlvbiA6IHN0cmluZztcclxuICBhbW91bnQgOiBzdHJpbmc7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG4gIGRhdGUgOiBzdHJpbmc7XHJcbiAgYWNjb3VudElEIDogbnVtYmVyO1xyXG4gIGRlc3RpbmF0aW9uSUQgOiBudW1iZXI7XHJcbiAgY2F0ZWdvcnlJRCA6IG51bWJlcjtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaW5BY2NvdW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIHRoaXMuYWNjb3VudElEID0gMDtcclxuICAgIHRoaXMubmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gXCJcIjtcclxuICAgIHRoaXMuY3VycmVuY3kgPSBcIlwiO1xyXG5cclxuICB9XHJcblxyXG5cclxuICBhY2NvdW50SUQ6IG51bWJlclxyXG4gIG5hbWU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIGN1cnJlbmN5OiBzdHJpbmc7XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXIge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlSUQgPSAxO1xyXG4gICAgdGhpcy5maXJzdE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5sYXN0TmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmVtYWlsID0gXCJcIjtcclxuICAgIHRoaXMuYXV0aFR5cGUgPSBcImxvY2FsXCI7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gXCJcIjtcclxuICB9XHJcblxyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb2ZpbGUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucHJvZmlsZUlEID0gXCJcIjtcclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlSUQgPSAxO1xyXG4gICAgdGhpcy5maXJzdE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5sYXN0TmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmVtYWlsID0gXCJcIjtcclxuICAgIHRoaXMuZW1wSUQgPSBcIlwiO1xyXG4gICAgdGhpcy5hcklEID0gXCIwXCI7XHJcbiAgICB0aGlzLmF1dGhUeXBlID0gXCJcIjtcclxuICAgIHRoaXMucGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5yb2xlID0gbmV3IFJvbGUoKTtcclxuICB9XHJcblxyXG4gIHByb2ZpbGVJRDogc3RyaW5nO1xyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGVtcElEOiBzdHJpbmc7XHJcbiAgYXJJRDogc3RyaW5nO1xyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxuICByb2xlOiBSb2xlXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUm9sZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5yb2xlSUQgPSAwO1xyXG4gICAgdGhpcy5yb2xlTmFtZSA9IFwiTmV3IFJvbGVcIjtcclxuICAgIHRoaXMuY2FwMSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXAyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMjkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMzkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNDkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNjkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNzkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwODkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTAgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTIgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTYgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTggPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOTkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMTAwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByb2xlSUQ6IG51bWJlcjtcclxuICByb2xlTmFtZTogc3RyaW5nO1xyXG4gIGNhcDE6IGJvb2xlYW47XHJcbiAgY2FwMjogYm9vbGVhbjtcclxuICBjYXAzOiBib29sZWFuO1xyXG4gIGNhcDQ6IGJvb2xlYW47XHJcbiAgY2FwNTogYm9vbGVhbjtcclxuICBjYXA2OiBib29sZWFuO1xyXG4gIGNhcDc6IGJvb2xlYW47XHJcbiAgY2FwODogYm9vbGVhbjtcclxuICBjYXA5OiBib29sZWFuO1xyXG4gIGNhcDEwOiBib29sZWFuO1xyXG4gIGNhcDExOiBib29sZWFuO1xyXG4gIGNhcDEyOiBib29sZWFuO1xyXG4gIGNhcDEzOiBib29sZWFuO1xyXG4gIGNhcDE0OiBib29sZWFuO1xyXG4gIGNhcDE1OiBib29sZWFuO1xyXG4gIGNhcDE2OiBib29sZWFuO1xyXG4gIGNhcDE3OiBib29sZWFuO1xyXG4gIGNhcDE4OiBib29sZWFuO1xyXG4gIGNhcDE5OiBib29sZWFuO1xyXG4gIGNhcDIwOiBib29sZWFuO1xyXG4gIGNhcDIxOiBib29sZWFuO1xyXG4gIGNhcDIyOiBib29sZWFuO1xyXG4gIGNhcDIzOiBib29sZWFuO1xyXG4gIGNhcDI0OiBib29sZWFuO1xyXG4gIGNhcDI1OiBib29sZWFuO1xyXG4gIGNhcDI2OiBib29sZWFuO1xyXG4gIGNhcDI3OiBib29sZWFuO1xyXG4gIGNhcDI4OiBib29sZWFuO1xyXG4gIGNhcDI5OiBib29sZWFuO1xyXG4gIGNhcDMwOiBib29sZWFuO1xyXG4gIGNhcDMxOiBib29sZWFuO1xyXG4gIGNhcDMyOiBib29sZWFuO1xyXG4gIGNhcDMzOiBib29sZWFuO1xyXG4gIGNhcDM0OiBib29sZWFuO1xyXG4gIGNhcDM1OiBib29sZWFuO1xyXG4gIGNhcDM2OiBib29sZWFuO1xyXG4gIGNhcDM3OiBib29sZWFuO1xyXG4gIGNhcDM4OiBib29sZWFuO1xyXG4gIGNhcDM5OiBib29sZWFuO1xyXG4gIGNhcDQwOiBib29sZWFuO1xyXG4gIGNhcDQxOiBib29sZWFuO1xyXG4gIGNhcDQyOiBib29sZWFuO1xyXG4gIGNhcDQzOiBib29sZWFuO1xyXG4gIGNhcDQ0OiBib29sZWFuO1xyXG4gIGNhcDQ1OiBib29sZWFuO1xyXG4gIGNhcDQ2OiBib29sZWFuO1xyXG4gIGNhcDQ3OiBib29sZWFuO1xyXG4gIGNhcDQ4OiBib29sZWFuO1xyXG4gIGNhcDQ5OiBib29sZWFuO1xyXG4gIGNhcDUwOiBib29sZWFuO1xyXG4gIGNhcDUxOiBib29sZWFuO1xyXG4gIGNhcDUyOiBib29sZWFuO1xyXG4gIGNhcDUzOiBib29sZWFuO1xyXG4gIGNhcDU0OiBib29sZWFuO1xyXG4gIGNhcDU1OiBib29sZWFuO1xyXG4gIGNhcDU2OiBib29sZWFuO1xyXG4gIGNhcDU3OiBib29sZWFuO1xyXG4gIGNhcDU4OiBib29sZWFuO1xyXG4gIGNhcDU5OiBib29sZWFuO1xyXG4gIGNhcDYwOiBib29sZWFuO1xyXG4gIGNhcDYxOiBib29sZWFuO1xyXG4gIGNhcDYyOiBib29sZWFuO1xyXG4gIGNhcDYzOiBib29sZWFuO1xyXG4gIGNhcDY0OiBib29sZWFuO1xyXG4gIGNhcDY1OiBib29sZWFuO1xyXG4gIGNhcDY2OiBib29sZWFuO1xyXG4gIGNhcDY3OiBib29sZWFuO1xyXG4gIGNhcDY4OiBib29sZWFuO1xyXG4gIGNhcDY5OiBib29sZWFuO1xyXG4gIGNhcDcwOiBib29sZWFuO1xyXG4gIGNhcDcxOiBib29sZWFuO1xyXG4gIGNhcDcyOiBib29sZWFuO1xyXG4gIGNhcDczOiBib29sZWFuO1xyXG4gIGNhcDc0OiBib29sZWFuO1xyXG4gIGNhcDc1OiBib29sZWFuO1xyXG4gIGNhcDc2OiBib29sZWFuO1xyXG4gIGNhcDc3OiBib29sZWFuO1xyXG4gIGNhcDc4OiBib29sZWFuO1xyXG4gIGNhcDc5OiBib29sZWFuO1xyXG4gIGNhcDgwOiBib29sZWFuO1xyXG4gIGNhcDgxOiBib29sZWFuO1xyXG4gIGNhcDgyOiBib29sZWFuO1xyXG4gIGNhcDgzOiBib29sZWFuO1xyXG4gIGNhcDg0OiBib29sZWFuO1xyXG4gIGNhcDg1OiBib29sZWFuO1xyXG4gIGNhcDg2OiBib29sZWFuO1xyXG4gIGNhcDg3OiBib29sZWFuO1xyXG4gIGNhcDg4OiBib29sZWFuO1xyXG4gIGNhcDg5OiBib29sZWFuO1xyXG4gIGNhcDkwOiBib29sZWFuO1xyXG4gIGNhcDkxOiBib29sZWFuO1xyXG4gIGNhcDkyOiBib29sZWFuO1xyXG4gIGNhcDkzOiBib29sZWFuO1xyXG4gIGNhcDk0OiBib29sZWFuO1xyXG4gIGNhcDk1OiBib29sZWFuO1xyXG4gIGNhcDk2OiBib29sZWFuO1xyXG4gIGNhcDk3OiBib29sZWFuO1xyXG4gIGNhcDk4OiBib29sZWFuO1xyXG4gIGNhcDk5OiBib29sZWFuO1xyXG4gIGNhcDEwMDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcclxuICBBbGwgPSAwLFxyXG4gIERlYnVnID0gMSxcclxuICBJbmZvID0gMixcclxuICBXYXJuID0gMyxcclxuICBFcnJvciA9IDQsXHJcbiAgRmF0YWwgPSA1LFxyXG4gIE9mZiA9IDYsXHJcbn1cclxuIl19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jbGFzc2VzL0NsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdqQyxNQUFNLE9BQU8sZ0JBQWdCO0NBSTVCO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQVUvQjtBQUVELE1BQU0sT0FBTyxNQUFNO0NBTWxCO0FBSUQsTUFBTSxPQUFPLFlBQVk7Q0FHeEI7QUFRRCxNQUFNLE9BQU8sVUFBVTtDQVV0QjtBQStDRCxNQUFNLE9BQU8sV0FBVztDQWlCdkI7QUE4QkQsTUFBTSxPQUFPLFVBQVU7Q0FNdEI7QUFjRCxNQUFNLE9BQU8sSUFBSTtDQUdoQjtBQUlELE1BQU0sT0FBTyxjQUFjO0NBRzFCO0FBR0QsTUFBTSxPQUFPLFdBQVc7SUFFdEI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FNRjtBQUdELE1BQU0sT0FBTyxTQUFTO0lBQ3BCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENB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RyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQXdHRjtBQUdELE1BQU0sQ0FBTixJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDbEIscUNBQU8sQ0FBQTtJQUNQLHlDQUFTLENBQUE7SUFDVCx1Q0FBUSxDQUFBO0lBQ1IsdUNBQVEsQ0FBQTtJQUNSLHlDQUFTLENBQUE7SUFDVCx5Q0FBUyxDQUFBO0lBQ1QscUNBQU8sQ0FBQTtBQUNULENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvcmUgfSBmcm9tIFwiLi9UaW5Db3JlXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIExpc3REaWFsb2dDb25maWd7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgbGlzdE5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERldGFpbHNEaWFsb2dDb25maWcge1xyXG5cclxuICBjb25maWc6IEZvcm1Db25maWc7XHJcbiAgdGFibGVDb25maWc/OiBUYWJsZUNvbmZpZztcclxuICBidXR0b25zPzogQnV0dG9uW107XHJcbiAgZGV0YWlscz8gOiBhbnlcclxuICBkZXRhaWxJREZpZWxkPyA6IGFueVxyXG4gIGRldGFpbElEPzogYW55XHJcbiAgLy8gc291cmNlTWV0aG9kIDogJ3JvdycgfCAnaWQnIHwgJ2lkRmllbGQnXHJcbiAgLy8gcm93PzogYW55XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb257XHJcbiAgbWV0aG9kPzogJ2dldCcgfCAncG9zdCdcclxuICB1cmw6IHN0cmluZztcclxuICBwYXJhbXM/IDogYW55W11cclxuICBzdWNjZXNzTWVzc2FnZT86IHN0cmluZ1xyXG4gIGlzRm9ybURhdGE/OiBib29sZWFuXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZpZyB7XHJcbiAgZmllbGRzOiBTZWFyY2hGaWVsZFtdXHJcbiAgc2VhcmNoQWN0aW9uPzogQWN0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoRmllbGQgZXh0ZW5kcyBGaWVsZHtcclxuXHJcbiAgc2hvdz86IGJvb2xlYW5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZ1xyXG4gIGZpZWxkczogRmllbGRbXVxyXG4gIG1vZGU/OiBzdHJpbmdcclxuICBidXR0b24/IDogQnV0dG9uXHJcbiAgbXVsdGlDb2x1bW4/OiBib29sZWFuXHJcbiAgcmVzZXQ/OiBib29sZWFuXHJcbiAgZmlsZUFjdGlvbj86IEFjdGlvblxyXG4gIGxvYWRBY3Rpb24/OiBBY3Rpb25cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9ue1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHZpc2libGU/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuICBkaXNwbGF5Pzogc3RyaW5nO1xyXG4gIGljb24/OiBJY29uO1xyXG4gIGRpc2FibGVkPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgdGlwPzogc3RyaW5nXHJcbiAgZGlhbG9nPzogYm9vbGVhblxyXG4gIGFjdGlvbj86IEFjdGlvblxyXG4gIGNvbmZpcm0/OiBDb25maXJtXHJcbiAgaW5EaWFsb2c/OiBib29sZWFuXHJcbiAgZGV0YWlsc0NvbmZpZz86IERldGFpbHNEaWFsb2dDb25maWdcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybSB7XHJcbiAgbWVzc2FnZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9ue1xyXG4gIGNvbmRpdGlvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdHlwZTogJ3RleHQnIHwgJ2RhdGUnIHwgJ2RhdGV0aW1lJyB8ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdtdWx0aS1zZWxlY3QnIHwgJ21vbmV5JyB8ICdudW1iZXInIHwgJ3NlY3Rpb24nIHwgJ2JsYW5rJyB8ICdjaGlwJyB8ICdmaWxlJyB8ICdmaWxlLXZpZXcnIHwgJ2ljb24nIHwgJ3NwaW5uZXInIHwgJ2J1dHRvbic7XHJcbiAgYWxpYXM/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IGFueVtdO1xyXG4gIG9wdGlvbkRpc3BsYXk/OiBzdHJpbmdcclxuICBvcHRpb25WYWx1ZT86IHN0cmluZ1xyXG4gIGRlZmF1bHRWYWx1ZT86IGFueVxyXG4gIGRlZmF1bHRGaXJzdFZhbHVlPzogYm9vbGVhblxyXG4gIHJlcXVpcmVkPzogYm9vbGVhblxyXG4gIG1pbj86IGFueVxyXG4gIG1heD86IGFueVxyXG4gIHJvd3M/OiBudW1iZXJcclxuICBzcGFuPzogYm9vbGVhblxyXG4gIHJlYWRvbmx5PzogYm9vbGVhblxyXG4gIGhpZGRlbj86IGJvb2xlYW5cclxuICBwYXRoPzogc3RyaW5nXHJcbiAga2V5RmlsZWROYW1lPzogc3RyaW5nXHJcbiAgaGludD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb25maWd7XHJcbiAgdGl0bGU/OiBzdHJpbmdcclxuICBjb2x1bW5zPyA6IENvbHVtbltdXHJcbiAgbWluQ29sdW1ucz86IHN0cmluZ1tdXHJcbiAgc2hvd0ZpbHRlcj86IGJvb2xlYW5cclxuICBlbGV2YXRpb24/OiAnbm9uZScgfCAnbG93JyB8ICdtZWRpdW0nIHwgJ2hpZ2gnXHJcbiAgZm9ybUNvbmZpZz86IEZvcm1Db25maWdcclxuICBzZWFyY2hDb25maWc/OiBTZWFyY2hDb25maWdcclxuICB0aWxlQ29uZmlnPzogVGlsZUNvbmZpZ1xyXG4gIGJ1dHRvbnM/OiBCdXR0b25bXVxyXG4gIG1pbkJ1dHRvbnM/OiBzdHJpbmdbXVxyXG4gIGxvYWRBY3Rpb24/OiBBY3Rpb25cclxuICBsb2FkSURGaWVsZCA/OiBzdHJpbmdcclxuICBsb2FkQ3JpdGVyaWE/OiBzdHJpbmdcclxuICBsb2dSZXNwb25zZT86IGJvb2xlYW5cclxuICBmbGF0QnV0dG9ucz86IGJvb2xlYW5cclxuICBncmV5T3V0PzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW4ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0eXBlPzogJ3RleHQnIHwgJ2RhdGUnIHwgJ2RhdGV0aW1lJyB8ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdtb25leScgfCAnbnVtYmVyJyB8ICdjaGlwJyB8ICdpY29uJyB8ICdzcGlubmVyJyB8ICdidXR0b24nO1xyXG4gIGFsaWFzPzogc3RyaW5nO1xyXG4gIGljb24/OiBJY29uO1xyXG4gIGNvbG9yPzogQ29sb3I7XHJcbiAgaWNvbnM/OiBJY29uW107XHJcbiAgb3B0aW9ucz86IGFueVtdO1xyXG4gIG9wdGlvbkRpc3BsYXk/OiBzdHJpbmdcclxuICBvcHRpb25WYWx1ZT86IHN0cmluZ1xyXG4gIGRldGFpbHNDb25maWc/OiBEZXRhaWxzRGlhbG9nQ29uZmlnXHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb257XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29sb3I/OiBzdHJpbmdcclxuICB0aXA/OiBzdHJpbmdcclxuICB0aXBGaWVsZD86IHN0cmluZ1xyXG4gIGJhbm5lckZpZWxkPzogc3RyaW5nXHJcbiAgY29uZGl0aW9uPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3Ige1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbmRpdGlvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbGVDb25maWd7XHJcbiAgdGlsZXMgOiBUaWxlW11cclxuICBsb2FkQWN0aW9uPzogQWN0aW9uXHJcbiAgbG9hZEluaXQ/OiBib29sZWFuXHJcbiAgY2xpY2thYmxlPzogYm9vbGVhblxyXG4gIC8vIHJlbG9hZD86IGJvb2xlYW5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRpbGUge1xyXG5cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWxpYXM/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbiAgY29sb3I/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRUaWxlPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgaW5mbz86IHN0cmluZztcclxuICBwcmVmaXg/OiBzdHJpbmc7XHJcbiAgc3VmZml4Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3RlcCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaWNvbjogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25SZXNwb25zZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIGxvZ2luQ29uZmlnIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmFwcE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5zZWxmU2VydmljZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2dvID0gXCJcIjtcclxuICAgIHRoaXMubG9nb1NpemUgPSBcIm5vcm1hbFwiO1xyXG4gIH1cclxuXHJcbiAgYXBwTmFtZTogc3RyaW5nO1xyXG4gIHNlbGZTZXJ2aWNlOiBib29sZWFuO1xyXG4gIGxvZ286IHN0cmluZztcclxuICBsb2dvU2l6ZTogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZyB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmFwcE5hbWUgPSBcIkFwcCBOYW1lXCI7XHJcbiAgICB0aGlzLmxvZ28gPSBcIlwiO1xyXG4gICAgdGhpcy5sb2dvU2l6ZSA9IFwibm9ybWFsXCI7XHJcbiAgICB0aGlzLkFEQXV0aCA9IHRydWU7XHJcbiAgICB0aGlzLmxvY2FsQXV0aCA9IHRydWU7XHJcbiAgICB0aGlzLmdvb2dsZUF1dGggPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZlNlcnZpY2UgPSBmYWxzZTtcclxuICAgIHRoaXMubXVsdGl0ZW5hbnQgPSBmYWxzZTtcclxuICAgIHRoaXMubmF2aWdhdGlvbiA9ICd0b3AnO1xyXG4gIH1cclxuICBhcHBOYW1lOiBzdHJpbmc7XHJcbiAgbG9nbzogc3RyaW5nO1xyXG4gIGxvZ29TaXplOiBzdHJpbmc7XHJcbiAgQURBdXRoOiBib29sZWFuO1xyXG4gIGxvY2FsQXV0aDogYm9vbGVhbjtcclxuICBnb29nbGVBdXRoOiBib29sZWFuO1xyXG4gIHNlbGZTZXJ2aWNlOiBib29sZWFuO1xyXG4gIGNhcEl0ZW1zOiBDYXBJdGVtW107XHJcbiAgbXVsdGl0ZW5hbnQgOiBib29sZWFuO1xyXG4gIG5hdmlnYXRpb24gOiAndG9wJyB8ICdzaWRlJ1xyXG5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDYXBJdGVtIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLm5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gXCJOZXcgQ2FwIEl0ZW1cIjtcclxuICAgIHRoaXMuZW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy50eXBlID0gXCJcIjtcclxuICAgIHRoaXMubmV3TGluZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93TWVudSA9IHRydWU7XHJcbiAgICB0aGlzLmlnbm9yZVN1YnNEaXNwbGF5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmxpbmsgPSBcIlwiO1xyXG4gICAgdGhpcy5pY29uID0gXCJuYXZpZ2F0ZV9uZXh0XCI7XHJcblxyXG4gIH1cclxuXHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGRpc3BsYXk6IHN0cmluZztcclxuICBlbmFibGVkOiBib29sZWFuO1xyXG4gIHNob3dNZW51OiBib29sZWFuO1xyXG5cclxuICBpZ25vcmVTdWJzRGlzcGxheTogYm9vbGVhbjtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbmV3TGluZTogYm9vbGVhbjtcclxuICBsaW5rOiBzdHJpbmc7XHJcbiAgaWNvbjogc3RyaW5nO1xyXG4gIGNhcFN1Ykl0ZW1zOiBDYXBJdGVtW107XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFjY291bnQge1xyXG4gIHVzZXI6IFVzZXI7XHJcbiAgcHJvZmlsZTogUHJvZmlsZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVzZXIge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcblxyXG4gICAgdGhpcy51c2VyTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gXCJcIjtcclxuICAgIHRoaXMudHJpZXMgPSBcIjBcIjtcclxuICAgIHRoaXMubG9ja2VkID0gXCIwXCI7XHJcbiAgICB0aGlzLmxvZ2dlZCA9IFwiMFwiO1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IFwiMFwiO1xyXG4gICAgdGhpcy5jaGFuZ2VwYXNzd29yZCA9IFwiMFwiO1xyXG4gICAgdGhpcy5kYXRlQ3JlYXRlZCA9IENvcmUubm93RGF0ZSgpO1xyXG4gICAgdGhpcy5kYXRlVXBkYXRlZCA9IENvcmUubm93RGF0ZSgpO1xyXG4gICAgdGhpcy50b2tlbiA9IFwiXCI7XHJcbiAgICB0aGlzLmRhdGVFeHBpcmUgPSBDb3JlLm5vd0RhdGUoKTtcclxuICAgIHRoaXMudG9rZW5FeHBpcmUgPSBDb3JlLm5vd0RhdGUoKTtcclxuICAgIHRoaXMuYXV0aFR5cGUgPSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgdXNlck5hbWU6c3RyaW5nO1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgdHJpZXM6IHN0cmluZztcclxuICBsb2NrZWQ6IHN0cmluZztcclxuICBsb2dnZWQ6IHN0cmluZztcclxuICBkaXNhYmxlZDogc3RyaW5nO1xyXG4gIGNoYW5nZXBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgZGF0ZUNyZWF0ZWQ6IHN0cmluZztcclxuICBkYXRlVXBkYXRlZDogc3RyaW5nO1xyXG4gIGRhdGVFeHBpcmU6IHN0cmluZztcclxuICB0b2tlbjogc3RyaW5nO1xyXG4gIHRva2VuRXhwaXJlOiBzdHJpbmc7XHJcblxyXG4gIGF1dGhUeXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFuZ2VVc2VyUGFzc3dvcmQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudXNlck5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5jdXJyZW50UGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgdGhpcy5uZXdQYXNzd29yZCA9IFwiXCI7XHJcbiAgICB0aGlzLmNvbmZpcm1QYXNzd29yZCA9IFwiXCI7XHJcbiAgfVxyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgY3VycmVudFBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcclxuICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uSUQgPSAwO1xyXG4gICAgdGhpcy5uYXJyYXRpb24gPSBcIlwiO1xyXG4gICAgdGhpcy5hbW91bnQgPSAnMCc7XHJcbiAgICB0aGlzLnR5cGUgPSAwO1xyXG4gICAgdGhpcy5kYXRlID0gXCJcIjtcclxuICAgIHRoaXMuYWNjb3VudElEID0gMDtcclxuICAgIHRoaXMuZGVzdGluYXRpb25JRCA9IDA7XHJcbiAgICB0aGlzLmNhdGVnb3J5SUQgPSAwO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNhY3Rpb25JRCA6IG51bWJlcjtcclxuICBuYXJyYXRpb24gOiBzdHJpbmc7XHJcbiAgYW1vdW50IDogc3RyaW5nO1xyXG4gIHR5cGU6IG51bWJlcjtcclxuICBkYXRlIDogc3RyaW5nO1xyXG4gIGFjY291bnRJRCA6IG51bWJlcjtcclxuICBkZXN0aW5hdGlvbklEIDogbnVtYmVyO1xyXG4gIGNhdGVnb3J5SUQgOiBudW1iZXI7XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRmluQWNjb3VudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICB0aGlzLmFjY291bnRJRCA9IDA7XHJcbiAgICB0aGlzLm5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IFwiXCI7XHJcbiAgICB0aGlzLmN1cnJlbmN5ID0gXCJcIjtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgYWNjb3VudElEOiBudW1iZXJcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnVzZXJOYW1lID0gXCJcIjtcclxuICAgIHRoaXMucm9sZUlEID0gMTtcclxuICAgIHRoaXMuZmlyc3ROYW1lID0gXCJcIjtcclxuICAgIHRoaXMubGFzdE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5lbWFpbCA9IFwiXCI7XHJcbiAgICB0aGlzLmF1dGhUeXBlID0gXCJsb2NhbFwiO1xyXG4gICAgdGhpcy5wYXNzd29yZCA9IFwiXCI7XHJcbiAgfVxyXG5cclxuICB1c2VyTmFtZTogc3RyaW5nO1xyXG4gIHJvbGVJRDogbnVtYmVyO1xyXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBhdXRoVHlwZTogc3RyaW5nO1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9maWxlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnByb2ZpbGVJRCA9IFwiXCI7XHJcbiAgICB0aGlzLnVzZXJOYW1lID0gXCJcIjtcclxuICAgIHRoaXMucm9sZUlEID0gMTtcclxuICAgIHRoaXMuZmlyc3ROYW1lID0gXCJcIjtcclxuICAgIHRoaXMubGFzdE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5lbWFpbCA9IFwiXCI7XHJcbiAgICB0aGlzLmVtcElEID0gXCJcIjtcclxuICAgIHRoaXMuYXJJRCA9IFwiMFwiO1xyXG4gICAgdGhpcy5hdXRoVHlwZSA9IFwiXCI7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gXCJcIjtcclxuICAgIHRoaXMucm9sZSA9IG5ldyBSb2xlKCk7XHJcbiAgfVxyXG5cclxuICBwcm9maWxlSUQ6IHN0cmluZztcclxuICB1c2VyTmFtZTogc3RyaW5nO1xyXG4gIHJvbGVJRDogbnVtYmVyO1xyXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBlbXBJRDogc3RyaW5nO1xyXG4gIGFySUQ6IHN0cmluZztcclxuICBhdXRoVHlwZTogc3RyaW5nO1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgcm9sZTogUm9sZVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJvbGUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucm9sZUlEID0gMDtcclxuICAgIHRoaXMucm9sZU5hbWUgPSBcIk5ldyBSb2xlXCI7XHJcbiAgICB0aGlzLmNhcDEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwMiA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXAzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwNSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FwOCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXA5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDEwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDExID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDEyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDEzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDE0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDE1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDE2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDE3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDE4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDE5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDIwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDIxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDIyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDIzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDI0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDI1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDI2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDI3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDI4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDI5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDMzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDM0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDM1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDM2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDM3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDM4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDM5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQ0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQ1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQ2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQ3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQ4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDQ5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDUwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDUxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDUyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDUzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDU0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDU1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDU2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDU3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDU4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDU5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDYzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDY0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDY1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDY2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDY3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDY4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDY5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDcwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDcxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDcyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDczID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDc0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDc1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDc2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDc3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDc4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDc5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDgwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDgxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDgyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDgzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDg0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDg1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDg2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDg3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDg4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDg5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkwID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkxID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDkzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDk0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDk1ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDk2ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDk3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDk4ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDk5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcDEwMCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcm9sZUlEOiBudW1iZXI7XHJcbiAgcm9sZU5hbWU6IHN0cmluZztcclxuICBjYXAxOiBib29sZWFuO1xyXG4gIGNhcDI6IGJvb2xlYW47XHJcbiAgY2FwMzogYm9vbGVhbjtcclxuICBjYXA0OiBib29sZWFuO1xyXG4gIGNhcDU6IGJvb2xlYW47XHJcbiAgY2FwNjogYm9vbGVhbjtcclxuICBjYXA3OiBib29sZWFuO1xyXG4gIGNhcDg6IGJvb2xlYW47XHJcbiAgY2FwOTogYm9vbGVhbjtcclxuICBjYXAxMDogYm9vbGVhbjtcclxuICBjYXAxMTogYm9vbGVhbjtcclxuICBjYXAxMjogYm9vbGVhbjtcclxuICBjYXAxMzogYm9vbGVhbjtcclxuICBjYXAxNDogYm9vbGVhbjtcclxuICBjYXAxNTogYm9vbGVhbjtcclxuICBjYXAxNjogYm9vbGVhbjtcclxuICBjYXAxNzogYm9vbGVhbjtcclxuICBjYXAxODogYm9vbGVhbjtcclxuICBjYXAxOTogYm9vbGVhbjtcclxuICBjYXAyMDogYm9vbGVhbjtcclxuICBjYXAyMTogYm9vbGVhbjtcclxuICBjYXAyMjogYm9vbGVhbjtcclxuICBjYXAyMzogYm9vbGVhbjtcclxuICBjYXAyNDogYm9vbGVhbjtcclxuICBjYXAyNTogYm9vbGVhbjtcclxuICBjYXAyNjogYm9vbGVhbjtcclxuICBjYXAyNzogYm9vbGVhbjtcclxuICBjYXAyODogYm9vbGVhbjtcclxuICBjYXAyOTogYm9vbGVhbjtcclxuICBjYXAzMDogYm9vbGVhbjtcclxuICBjYXAzMTogYm9vbGVhbjtcclxuICBjYXAzMjogYm9vbGVhbjtcclxuICBjYXAzMzogYm9vbGVhbjtcclxuICBjYXAzNDogYm9vbGVhbjtcclxuICBjYXAzNTogYm9vbGVhbjtcclxuICBjYXAzNjogYm9vbGVhbjtcclxuICBjYXAzNzogYm9vbGVhbjtcclxuICBjYXAzODogYm9vbGVhbjtcclxuICBjYXAzOTogYm9vbGVhbjtcclxuICBjYXA0MDogYm9vbGVhbjtcclxuICBjYXA0MTogYm9vbGVhbjtcclxuICBjYXA0MjogYm9vbGVhbjtcclxuICBjYXA0MzogYm9vbGVhbjtcclxuICBjYXA0NDogYm9vbGVhbjtcclxuICBjYXA0NTogYm9vbGVhbjtcclxuICBjYXA0NjogYm9vbGVhbjtcclxuICBjYXA0NzogYm9vbGVhbjtcclxuICBjYXA0ODogYm9vbGVhbjtcclxuICBjYXA0OTogYm9vbGVhbjtcclxuICBjYXA1MDogYm9vbGVhbjtcclxuICBjYXA1MTogYm9vbGVhbjtcclxuICBjYXA1MjogYm9vbGVhbjtcclxuICBjYXA1MzogYm9vbGVhbjtcclxuICBjYXA1NDogYm9vbGVhbjtcclxuICBjYXA1NTogYm9vbGVhbjtcclxuICBjYXA1NjogYm9vbGVhbjtcclxuICBjYXA1NzogYm9vbGVhbjtcclxuICBjYXA1ODogYm9vbGVhbjtcclxuICBjYXA1OTogYm9vbGVhbjtcclxuICBjYXA2MDogYm9vbGVhbjtcclxuICBjYXA2MTogYm9vbGVhbjtcclxuICBjYXA2MjogYm9vbGVhbjtcclxuICBjYXA2MzogYm9vbGVhbjtcclxuICBjYXA2NDogYm9vbGVhbjtcclxuICBjYXA2NTogYm9vbGVhbjtcclxuICBjYXA2NjogYm9vbGVhbjtcclxuICBjYXA2NzogYm9vbGVhbjtcclxuICBjYXA2ODogYm9vbGVhbjtcclxuICBjYXA2OTogYm9vbGVhbjtcclxuICBjYXA3MDogYm9vbGVhbjtcclxuICBjYXA3MTogYm9vbGVhbjtcclxuICBjYXA3MjogYm9vbGVhbjtcclxuICBjYXA3MzogYm9vbGVhbjtcclxuICBjYXA3NDogYm9vbGVhbjtcclxuICBjYXA3NTogYm9vbGVhbjtcclxuICBjYXA3NjogYm9vbGVhbjtcclxuICBjYXA3NzogYm9vbGVhbjtcclxuICBjYXA3ODogYm9vbGVhbjtcclxuICBjYXA3OTogYm9vbGVhbjtcclxuICBjYXA4MDogYm9vbGVhbjtcclxuICBjYXA4MTogYm9vbGVhbjtcclxuICBjYXA4MjogYm9vbGVhbjtcclxuICBjYXA4MzogYm9vbGVhbjtcclxuICBjYXA4NDogYm9vbGVhbjtcclxuICBjYXA4NTogYm9vbGVhbjtcclxuICBjYXA4NjogYm9vbGVhbjtcclxuICBjYXA4NzogYm9vbGVhbjtcclxuICBjYXA4ODogYm9vbGVhbjtcclxuICBjYXA4OTogYm9vbGVhbjtcclxuICBjYXA5MDogYm9vbGVhbjtcclxuICBjYXA5MTogYm9vbGVhbjtcclxuICBjYXA5MjogYm9vbGVhbjtcclxuICBjYXA5MzogYm9vbGVhbjtcclxuICBjYXA5NDogYm9vbGVhbjtcclxuICBjYXA5NTogYm9vbGVhbjtcclxuICBjYXA5NjogYm9vbGVhbjtcclxuICBjYXA5NzogYm9vbGVhbjtcclxuICBjYXA5ODogYm9vbGVhbjtcclxuICBjYXA5OTogYm9vbGVhbjtcclxuICBjYXAxMDA6IGJvb2xlYW47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZW51bSBMb2dMZXZlbCB7XHJcbiAgQWxsID0gMCxcclxuICBEZWJ1ZyA9IDEsXHJcbiAgSW5mbyA9IDIsXHJcbiAgV2FybiA9IDMsXHJcbiAgRXJyb3IgPSA0LFxyXG4gIEZhdGFsID0gNSxcclxuICBPZmYgPSA2LFxyXG59XHJcbiJdfQ==
@@ -76,7 +76,7 @@ export class DetailsDialog {
76
76
  }
77
77
  }
78
78
  loadData(action) {
79
- console.log("loading");
79
+ console.log("loading details");
80
80
  if (action) {
81
81
  this.dataService.CallApi(action).subscribe((apiResponse) => {
82
82
  if (apiResponse.success) {
@@ -246,4 +246,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
246
246
  type: Output
247
247
  }] } });
248
248
  ;
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsc0RpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9kZXRhaWxzRGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2RldGFpbHNEaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBSXpFLE9BQU8sRUFBZSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVExRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixrQkFBc0MsRUFBUyxhQUE0QixFQUFTLFdBQTJCLEVBQVMsY0FBOEIsRUFDaEssU0FBc0MsRUFBa0MsSUFBeUI7UUFEdkYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ2hLLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQXFCO1FBNkUzRyxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBS2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQXJGekMsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxP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ZTs4RkFIOUQsYUFBYSw4RkNkMUIscWpGQXVEQTsyRkR6Q2EsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxlQUFlOzswQkFPMEIsTUFBTTsyQkFBQyxlQUFlOzRDQXVGL0QsV0FBVztzQkFBcEIsTUFBTTs7QUE0TlIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEZvcm1Db25maWcsIEZpZWxkLCBUYWJsZUNvbmZpZywgQnV0dG9uLCBEZXRhaWxzRGlhbG9nQ29uZmlnLCBBY3Rpb24gfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIENvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5pbXBvcnQgeyBMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12aWV3TW9kZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWxzRGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERldGFpbHNEaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLHByaXZhdGUgbG9hZGVyU2VydmljZTogTG9hZGVyU2VydmljZSxwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYixwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGV0YWlsc0RpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRGV0YWlsc0RpYWxvZ0NvbmZpZylcclxuICB7XHJcbiAgICAvLyBkZXRlY3Qgc2NyZWVuIHNpemUgY2hhbmdlc1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbXCIobWF4LXdpZHRoOiA2MDBweClcIl0pLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xyXG4gICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSB0cnVlXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zbWFsbFNjcmVlbiA9IGZhbHNlXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMudGFibGVDb25maWcgPSB0aGlzLmRhdGEudGFibGVDb25maWdcclxuICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMuZGF0YS5jb25maWc7XHJcbiAgICB0aGlzLmJ1dHRvbnMgPSB0aGlzLmRhdGEuYnV0dG9ucztcclxuXHJcbiAgICB0aGlzLmZvcm1Db25maWcubW9kZSA9IHRoaXMuZm9ybUNvbmZpZy5tb2RlID8/IFwidmlld1wiXHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbmZpZy5tb2RlID09IFwiY3JlYXRlXCIpe1xyXG4gICAgICB0aGlzLmRldGFpbHMgPSBDb3JlLmdlbmVyYXRlT2JqZWN0KHRoaXMuZm9ybUNvbmZpZy5maWVsZHMpO1xyXG4gICAgfWVsc2V7XHJcblxyXG5cclxuICAgICAgY29uc29sZS5sb2codGhpcy5kYXRhKVxyXG5cclxuICAgICAgaWYgKHRoaXMuZGF0YS5kZXRhaWxzICYmICF0aGlzLmRhdGEuZGV0YWlsSURGaWVsZCAmJiAhdGhpcy5kYXRhLmRldGFpbElEKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImRhdGEgZnJvbSBkZXRhaWxzXCIpXHJcbiAgICAgICAgdGhpcy5kZXRhaWxzID0gdGhpcy5kYXRhLmRldGFpbHNcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLmZvcm1Db25maWcubG9hZEFjdGlvbiAmJiB0aGlzLmRhdGEuZGV0YWlsSURGaWVsZCAmJiB0aGlzLmRhdGEuZGV0YWlscykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBmcm9tIHVybCArIElEIEZpZWxkIFwiICsgdGhpcy5kYXRhLmRldGFpbElERmllbGQgKVxyXG4gICAgICAgIGxldCBhY3Rpb246IEFjdGlvbiA9IHsgdXJsOiB0aGlzLmZvcm1Db25maWcubG9hZEFjdGlvbi51cmwgKyBcIi9cIiArIHRoaXMuZGF0YS5kZXRhaWxzW3RoaXMuZGF0YS5kZXRhaWxJREZpZWxkXSB9XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YShhY3Rpb24pXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5mb3JtQ29uZmlnLmxvYWRBY3Rpb24gJiYgdGhpcy5kYXRhLmRldGFpbElEKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkYXRhIGZyb20gdXJsICsgU29saWQgSURcIilcclxuICAgICAgICBsZXQgYWN0aW9uOiBBY3Rpb24gPSB7IHVybDogdGhpcy5mb3JtQ29uZmlnLmxvYWRBY3Rpb24udXJsICsgXCIvXCIgKyB0aGlzLmRhdGEuZGV0YWlsSUQgfVxyXG4gICAgICAgIHRoaXMubG9hZERhdGEoYWN0aW9uKVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkYXRhIHNvdXJjZSBmYWlsZWQgdG8gcGlja1wiKVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsZUZpZWxkID0gdGhpcy5mb3JtQ29uZmlnLmZpZWxkcy5maW5kKHggPT4geC50eXBlID09ICdmaWxlJylcclxuXHJcbiAgICAvLyB0aGlzLm1vZGVCdXR0b24gPSB0aGlzLmRhdGEuYnV0dG9ucy5maW5kKHggPT4geC5uYW1lID09IHRoaXMuZm9ybUNvbmZpZy5tb2RlKT8/IFwidmlld1wiXHJcblxyXG4gICAgdGhpcy5pc0xvYWRDb21wbGV0ZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoeCA9PiB0aGlzLmlzUHJvY2Vzc2luZyA9IHgpO1xyXG5cclxuICAgIGlmICh0aGlzLmJ1dHRvbnMpe1xyXG4gICAgICB0aGlzLmV4dHJhQnV0dG9ucyA9IHRoaXMuYnV0dG9ucy5maWx0ZXIoeCA9PiB4Lm5hbWUgIT0gXCJjcmVhdGVcIiAmJiB4Lm5hbWUgIT0gXCJlZGl0XCIgJiYgeC5uYW1lICE9IFwiZGVsZXRlXCIgJiYgeC5uYW1lICE9IFwidmlld1wiICYmIHguaW5EaWFsb2cpXHJcbiAgICAgIHRoaXMuY3JlYXRlQnV0dG9uID0gdGhpcy5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJjcmVhdGVcIilcclxuICAgICAgdGhpcy5lZGl0QnV0dG9uID0gdGhpcy5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJlZGl0XCIpXHJcbiAgICAgIHRoaXMuZGVsZXRlQnV0dG9uID0gdGhpcy5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJkZWxldGVcIilcclxuICAgIH1cclxuXHJcblxyXG5cclxuICB9XHJcblxyXG5cclxuICBleHRyYUJ1dHRvbnM6IEJ1dHRvbltdO1xyXG4gIGJ1dHRvbnMgOiBCdXR0b25bXTtcclxuICBjcmVhdGVCdXR0b24gOiBCdXR0b247XHJcbiAgZWRpdEJ1dHRvbjogQnV0dG9uO1xyXG4gIGRlbGV0ZUJ1dHRvbjogQnV0dG9uO1xyXG5cclxuICAvLyBtb2RlQnV0dG9uIDogQnV0dG9uXHJcbiAgZmlsZUZpZWxkOiBGaWVsZDtcclxuICBmaWxlczogYW55W10gPSBbXTtcclxuXHJcbiAgdGFibGVDb25maWc6IFRhYmxlQ29uZmlnXHJcbiAgZGV0YWlsczogYW55XHJcbiAgZm9ybUNvbmZpZyA6IEZvcm1Db25maWc7XHJcbiAgc21hbGxTY3JlZW4gPSBmYWxzZTtcclxuXHJcbiAgaXNMb2FkQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGlucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHJcbiAgbG9hZERhdGEoYWN0aW9uOiBBY3Rpb24pIHtcclxuICAgIGNvbnNvbGUubG9nKFwibG9hZGluZ1wiKVxyXG5cclxuICAgIGlmIChhY3Rpb24pIHtcclxuXHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaShhY3Rpb24pLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLmRldGFpbHMgPSBhcGlSZXNwb25zZS5kYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaW5wdXRDaGFuZ2VkKGV2ZW50KSB7XHJcbiAgICB0aGlzLmlucHV0Q2hhbmdlLmVtaXQoeyBmaWVsZDogZXZlbnQuZmllbGQsIHZhbHVlOiBldmVudC52YWx1ZSB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNldE1vZGUobmV3TW9kZTogc3RyaW5nKXtcclxuICAgIHRoaXMuZm9ybUNvbmZpZy5tb2RlID0gbmV3TW9kZVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGV0YWlscylcclxuXHJcbiAgICAvL3ZhbGlkYXRpb25cclxuICAgIGxldCByZXNwID0gQ29yZS52YWxpZGF0ZU9iamVjdCh0aGlzLmZvcm1Db25maWcuZmllbGRzLCB0aGlzLmRldGFpbHMpO1xyXG4gICAgaWYgKHJlc3AgIT0gJycpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChyZXNwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIEZpbGUgVmFsaWRhdGlvbi0tLVxyXG4gICAgaWYgKHRoaXMuZmlsZXMubGVuZ3RoIDwgMSAmJiB0aGlzLmZpbGVGaWVsZD8ucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBsZWFzZSBhdHRhY2ggZmlsZShzKVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gRmlsZSBWYWxpZGF0aW9uLS0tXHJcblxyXG4gICAgbGV0IHRhYmxlQ3JlYXRlQnV0dG9uID0gdGhpcy5kYXRhLmJ1dHRvbnMuZmluZCh4ID0+IHgubmFtZSA9PSBcImNyZWF0ZVwiKVxyXG4gICAgaWYgKCF0YWJsZUNyZWF0ZUJ1dHRvbiB8fCAhdGFibGVDcmVhdGVCdXR0b24uYWN0aW9uKSB7XHJcblxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdlbWl0JywgZGF0YTogdGhpcy5kZXRhaWxzfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9jb3ZlcnNpb24tLVxyXG4gICAgbGV0IGRhdGFPdXQ7XHJcblxyXG4gICAgaWYgKHRhYmxlQ3JlYXRlQnV0dG9uLmFjdGlvbi5pc0Zvcm1EYXRhKSB7XHJcblxyXG4gICAgICBsZXQgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChgdXBsb2FkRmlsZSR7aX1gLCB0aGlzLmZpbGVzW2ldLCB0aGlzLmZpbGVzW2ldLm5hbWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoXCJkYXRhXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuZGV0YWlscykpO1xyXG5cclxuICAgICAgLy8gY29uc29sZS5sb2coZm9ybURhdGEpXHJcblxyXG4gICAgICBkYXRhT3V0ID0gZm9ybURhdGFcclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICBkYXRhT3V0ID0gdGhpcy5kZXRhaWxzXHJcbiAgICB9XHJcbiAgICAvL2NvdmVyc2lvbi0tXHJcblxyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh0YWJsZUNyZWF0ZUJ1dHRvbi5hY3Rpb24sIGRhdGFPdXQpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgIGlmICh0YWJsZUNyZWF0ZUJ1dHRvbi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGFibGVDcmVhdGVCdXR0b24uYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNyZWF0ZWRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9LChlcnJvcikgPT4ge1xyXG4gICAgfVxyXG4gICAgKTtcclxuXHJcbiAgfVxyXG5cclxuICBlZGl0KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJFZGl0XCIpXHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRldGFpbHMpXHJcblxyXG4gICAgLy92YWxpZGF0aW9uXHJcbiAgICBsZXQgcmVzcCA9IENvcmUudmFsaWRhdGVPYmplY3QodGhpcy5mb3JtQ29uZmlnLmZpZWxkcywgdGhpcy5kZXRhaWxzKTtcclxuICAgIGlmIChyZXNwICE9ICcnKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QocmVzcClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgbGV0IHRhYmxlRWRpdEJ1dHRvbiA9IHRoaXMuZGF0YS5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJlZGl0XCIpXHJcbiAgICBpZiAoIXRhYmxlRWRpdEJ1dHRvbiB8fCAhdGFibGVFZGl0QnV0dG9uLmFjdGlvbikge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdlbWl0JywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vY292ZXJzaW9uLS1cclxuICAgIGxldCBkYXRhT3V0O1xyXG5cclxuICAgIGlmICh0YWJsZUVkaXRCdXR0b24uYWN0aW9uLmlzRm9ybURhdGEpIHtcclxuXHJcbiAgICAgIGxldCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGB1cGxvYWRGaWxlJHtpfWAsIHRoaXMuZmlsZXNbaV0sIHRoaXMuZmlsZXNbaV0ubmFtZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcImRhdGFcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5kZXRhaWxzKSk7XHJcblxyXG4gICAgICAvLyBjb25zb2xlLmxvZyhmb3JtRGF0YSlcclxuXHJcbiAgICAgIGRhdGFPdXQgPSBmb3JtRGF0YVxyXG4gICAgfSBlbHNlIHtcclxuXHJcbiAgICAgIGRhdGFPdXQgPSB0aGlzLmRldGFpbHNcclxuICAgIH1cclxuICAgIC8vY292ZXJzaW9uLS1cclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkodGFibGVFZGl0QnV0dG9uLmFjdGlvbiwgZGF0YU91dCkuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG5cclxuICAgICAgICBpZiAodGFibGVFZGl0QnV0dG9uLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdCh0YWJsZUVkaXRCdXR0b24uYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVwZGF0ZWRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgKGVycm9yKSA9PiB7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZSgpIHtcclxuXHJcblxyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jb25maXJtKGBERUxFVEUgP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgPT0gXCJ5ZXNcIikge1xyXG5cclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkRlbGV0ZVwiKVxyXG5cclxuICAgICAgICBsZXQgYiA9IHRoaXMuZGF0YS5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJkZWxldGVcIilcclxuICAgICAgICBpZiAoIWIpIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgbWVzc2FnZTogJ3N1Y2Nlc3MnLCBkYXRhOiB0aGlzLmRldGFpbHMgfSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoYi5hY3Rpb24sIHRoaXMuZGV0YWlscykuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJEZWxldGVkXCIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG5cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY3VzdG9tKGI6IEJ1dHRvbikge1xyXG5cclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoYi5hY3Rpb24sIHRoaXMuZGV0YWlscykuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG5cclxuICAgICAgICBpZiAoYi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRGVsZXRlZFwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgbWVzc2FnZTogJ3N1Y2Nlc3MnLCBkYXRhOiB0aGlzLmRldGFpbHMgfSk7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG5cclxufTtcclxuXHJcblxyXG5cclxuIiwiXHJcbjxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtdC0wXCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgIDxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7Zm9ybUNvbmZpZy5tb2RlIHwgdGl0bGVjYXNlfX0ge3tmb3JtQ29uZmlnPy50aXRsZX19PC9oMj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImZvcm1Db25maWcubW9kZT09J3ZpZXcnICYmIGVkaXRCdXR0b25cIiBjbGFzcz1cImNvbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNldE1vZGUoJ2VkaXQnKVwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSA8ZGl2ICpuZ0lmPVwiZm9ybUNvbmZpZy5tb2RlPT0nZWRpdCdcIiBjbGFzcz1cImNvbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gIChjbGljayk9XCJzZXRNb2RlKCd2aWV3JylcIj48bWF0LWljb24+ZG9uZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+IC0tPlxyXG5cclxuPC9kaXY+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuPGRpdiBjbGFzcz1cInRpbi1pbnB1dFwiIHN0eWxlPVwiZm9udC1zaXplOjE0cHhcIj5cclxuXHJcbjxwICpuZ0lmPVwiZm9ybUNvbmZpZyAmJiAhZGV0YWlsc1wiPjxlbT5Mb2FkaW5nLi4uPC9lbT48L3A+XHJcblxyXG48c3BhLWZvcm0gKm5nSWY9XCJmb3JtQ29uZmlnICYmIGRldGFpbHNcIiBbZmlsZXNdPVwiZmlsZXNcIiBbZGF0YV09XCJkZXRhaWxzXCIgW2NvbmZpZ109XCJmb3JtQ29uZmlnXCIgKGlucHV0Q2hhbmdlKT1cImlucHV0Q2hhbmdlZCgkZXZlbnQpXCI+PC9zcGEtZm9ybT5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0YWJsZUNvbmZpZ1wiIGNsYXNzPVwibXQtM1wiIHN0eWxlPVwiIGZvbnQtc2l6ZTogMTRweDtcIj5cclxuICA8c3BhLXRhYmxlLWludGVybmFsIFtjb25maWddPVwidGFibGVDb25maWdcIiA+PC9zcGEtdGFibGUtaW50ZXJuYWw+XHJcbjwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjxkaXY+XHJcbjxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwiZm9ybUNvbmZpZy5tb2RlPT0nY3JlYXRlJyAmJiBjcmVhdGVCdXR0b25cIiAoY2xpY2spPVwiY3JlYXRlKClcIiBjZGtGb2N1c0luaXRpYWw+e3tjcmVhdGVCdXR0b24uZGlzcGxheSA/PyAnU3VibWl0J319PC9idXR0b24+XHJcbjxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwiZm9ybUNvbmZpZy5tb2RlPT0nZWRpdCcgJiYgZWRpdEJ1dHRvblwiIChjbGljayk9XCJlZGl0KClcIiBjZGtGb2N1c0luaXRpYWw+e3tlZGl0QnV0dG9uLmRpc3BsYXkgPz8gJ1N1Ym1pdCd9fTwvYnV0dG9uPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzbWFsbFNjcmVlblwiPlxyXG48YnV0dG9uICpuZ0Zvcj1cImxldCBidG4gb2YgZXh0cmFCdXR0b25zXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogYnRuLmljb24uY29sb3J9XCIgKGNsaWNrKT1cImN1c3RvbShidG4pXCIgY2RrRm9jdXNJbml0aWFsPjxtYXQtaWNvbiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogYnRuLmljb24uY29sb3J9XCI+e3tidG4uaWNvbi5uYW1lfX08L21hdC1pY29uPnt7YnRuLmRpc3BsYXkgPz8gYnRuLm5hbWV9fTwvYnV0dG9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG48YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtZGlhbG9nLWNsb3NlPkNhbmNlbDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIiAqbmdJZj1cInNtYWxsU2NyZWVuXCI+XHJcbjxidXR0b24gKm5nRm9yPVwibGV0IGJ0biBvZiBleHRyYUJ1dHRvbnNcIiBtYXQtaWNvbi1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIFtuZ1N0eWxlXT1cInsnY29sb3InOiBidG4uaWNvbi5jb2xvcn1cIiAoY2xpY2spPVwiY3VzdG9tKGJ0bilcIiBjZGtGb2N1c0luaXRpYWw+PG1hdC1pY29uID57e2J0bi5pY29uLm5hbWV9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbjxidXR0b24gbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKGNsaWNrKT1cImRlbGV0ZSgpXCIgKm5nSWY9XCJmb3JtQ29uZmlnLm1vZGUhPSdjcmVhdGUnICAmJiBkZWxldGVCdXR0b25cIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcblxyXG5cclxuXHJcbiJdfQ==
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsc0RpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9kZXRhaWxzRGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2RldGFpbHNEaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBSXpFLE9BQU8sRUFBZSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVExRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixrQkFBc0MsRUFBUyxhQUE0QixFQUFTLFdBQTJCLEVBQVMsY0FBOEIsRUFDaEssU0FBc0MsRUFBa0MsSUFBeUI7UUFEdkYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ2hLLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQXFCO1FBNkUzRyxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBS2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQXJGekMsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxP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QUFlOzhGQUg5RCxhQUFhLDhGQ2QxQixxakZBdURBOzJGRHpDYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLGVBQWU7OzBCQU8wQixNQUFNOzJCQUFDLGVBQWU7NENBdUYvRCxXQUFXO3NCQUFwQixNQUFNOztBQTROUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgRmllbGQsIFRhYmxlQ29uZmlnLCBCdXR0b24sIERldGFpbHNEaWFsb2dDb25maWcsIEFjdGlvbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZSwgQ29yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2FkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXZpZXdNb2RlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbHNEaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGV0YWlsc0RpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIscHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEZXRhaWxzRGlhbG9nPiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEZXRhaWxzRGlhbG9nQ29uZmlnKVxyXG4gIHtcclxuICAgIC8vIGRldGVjdCBzY3JlZW4gc2l6ZSBjaGFuZ2VzXHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtcIihtYXgtd2lkdGg6IDYwMHB4KVwiXSkuc3Vic2NyaWJlKChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xyXG5cclxuICAgICAgaWYgKHJlc3VsdC5tYXRjaGVzKSB7XHJcbiAgICAgICAgdGhpcy5zbWFsbFNjcmVlbiA9IHRydWVcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNtYWxsU2NyZWVuID0gZmFsc2VcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy50YWJsZUNvbmZpZyA9IHRoaXMuZGF0YS50YWJsZUNvbmZpZ1xyXG4gICAgdGhpcy5mb3JtQ29uZmlnID0gdGhpcy5kYXRhLmNvbmZpZztcclxuICAgIHRoaXMuYnV0dG9ucyA9IHRoaXMuZGF0YS5idXR0b25zO1xyXG5cclxuICAgIHRoaXMuZm9ybUNvbmZpZy5tb2RlID0gdGhpcy5mb3JtQ29uZmlnLm1vZGUgPz8gXCJ2aWV3XCJcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtQ29uZmlnLm1vZGUgPT0gXCJjcmVhdGVcIil7XHJcbiAgICAgIHRoaXMuZGV0YWlscyA9IENvcmUuZ2VuZXJhdGVPYmplY3QodGhpcy5mb3JtQ29uZmlnLmZpZWxkcyk7XHJcbiAgICB9ZWxzZXtcclxuXHJcblxyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEpXHJcblxyXG4gICAgICBpZiAodGhpcy5kYXRhLmRldGFpbHMgJiYgIXRoaXMuZGF0YS5kZXRhaWxJREZpZWxkICYmICF0aGlzLmRhdGEuZGV0YWlsSUQpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBmcm9tIGRldGFpbHNcIilcclxuICAgICAgICB0aGlzLmRldGFpbHMgPSB0aGlzLmRhdGEuZGV0YWlsc1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuZm9ybUNvbmZpZy5sb2FkQWN0aW9uICYmIHRoaXMuZGF0YS5kZXRhaWxJREZpZWxkICYmIHRoaXMuZGF0YS5kZXRhaWxzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkYXRhIGZyb20gdXJsICsgSUQgRmllbGQgXCIgKyB0aGlzLmRhdGEuZGV0YWlsSURGaWVsZCApXHJcbiAgICAgICAgbGV0IGFjdGlvbjogQWN0aW9uID0geyB1cmw6IHRoaXMuZm9ybUNvbmZpZy5sb2FkQWN0aW9uLnVybCArIFwiL1wiICsgdGhpcy5kYXRhLmRldGFpbHNbdGhpcy5kYXRhLmRldGFpbElERmllbGRdIH1cclxuICAgICAgICB0aGlzLmxvYWREYXRhKGFjdGlvbilcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLmZvcm1Db25maWcubG9hZEFjdGlvbiAmJiB0aGlzLmRhdGEuZGV0YWlsSUQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImRhdGEgZnJvbSB1cmwgKyBTb2xpZCBJRFwiKVxyXG4gICAgICAgIGxldCBhY3Rpb246IEFjdGlvbiA9IHsgdXJsOiB0aGlzLmZvcm1Db25maWcubG9hZEFjdGlvbi51cmwgKyBcIi9cIiArIHRoaXMuZGF0YS5kZXRhaWxJRCB9XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YShhY3Rpb24pXHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImRhdGEgc291cmNlIGZhaWxlZCB0byBwaWNrXCIpXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWxlRmllbGQgPSB0aGlzLmZvcm1Db25maWcuZmllbGRzLmZpbmQoeCA9PiB4LnR5cGUgPT0gJ2ZpbGUnKVxyXG5cclxuICAgIC8vIHRoaXMubW9kZUJ1dHRvbiA9IHRoaXMuZGF0YS5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gdGhpcy5mb3JtQ29uZmlnLm1vZGUpPz8gXCJ2aWV3XCJcclxuXHJcbiAgICB0aGlzLmlzTG9hZENvbXBsZXRlID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmxvYWRlclNlcnZpY2UuaXNMb2FkaW5nLnN1YnNjcmliZSh4ID0+IHRoaXMuaXNQcm9jZXNzaW5nID0geCk7XHJcblxyXG4gICAgaWYgKHRoaXMuYnV0dG9ucyl7XHJcbiAgICAgIHRoaXMuZXh0cmFCdXR0b25zID0gdGhpcy5idXR0b25zLmZpbHRlcih4ID0+IHgubmFtZSAhPSBcImNyZWF0ZVwiICYmIHgubmFtZSAhPSBcImVkaXRcIiAmJiB4Lm5hbWUgIT0gXCJkZWxldGVcIiAmJiB4Lm5hbWUgIT0gXCJ2aWV3XCIgJiYgeC5pbkRpYWxvZylcclxuICAgICAgdGhpcy5jcmVhdGVCdXR0b24gPSB0aGlzLmJ1dHRvbnMuZmluZCh4ID0+IHgubmFtZSA9PSBcImNyZWF0ZVwiKVxyXG4gICAgICB0aGlzLmVkaXRCdXR0b24gPSB0aGlzLmJ1dHRvbnMuZmluZCh4ID0+IHgubmFtZSA9PSBcImVkaXRcIilcclxuICAgICAgdGhpcy5kZWxldGVCdXR0b24gPSB0aGlzLmJ1dHRvbnMuZmluZCh4ID0+IHgubmFtZSA9PSBcImRlbGV0ZVwiKVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGV4dHJhQnV0dG9uczogQnV0dG9uW107XHJcbiAgYnV0dG9ucyA6IEJ1dHRvbltdO1xyXG4gIGNyZWF0ZUJ1dHRvbiA6IEJ1dHRvbjtcclxuICBlZGl0QnV0dG9uOiBCdXR0b247XHJcbiAgZGVsZXRlQnV0dG9uOiBCdXR0b247XHJcblxyXG4gIC8vIG1vZGVCdXR0b24gOiBCdXR0b25cclxuICBmaWxlRmllbGQ6IEZpZWxkO1xyXG4gIGZpbGVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICB0YWJsZUNvbmZpZzogVGFibGVDb25maWdcclxuICBkZXRhaWxzOiBhbnlcclxuICBmb3JtQ29uZmlnIDogRm9ybUNvbmZpZztcclxuICBzbWFsbFNjcmVlbiA9IGZhbHNlO1xyXG5cclxuICBpc0xvYWRDb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBsb2FkRGF0YShhY3Rpb246IEFjdGlvbikge1xyXG4gICAgY29uc29sZS5sb2coXCJsb2FkaW5nIGRldGFpbHNcIilcclxuXHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcblxyXG4gICAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoYWN0aW9uKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgdGhpcy5kZXRhaWxzID0gYXBpUmVzcG9uc2UuZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGlucHV0Q2hhbmdlZChldmVudCkge1xyXG4gICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHsgZmllbGQ6IGV2ZW50LmZpZWxkLCB2YWx1ZTogZXZlbnQudmFsdWUgfSlcclxuICB9XHJcblxyXG5cclxuICBzZXRNb2RlKG5ld01vZGU6IHN0cmluZyl7XHJcbiAgICB0aGlzLmZvcm1Db25maWcubW9kZSA9IG5ld01vZGVcclxuICB9XHJcblxyXG4gIGNyZWF0ZSgpIHtcclxuXHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRldGFpbHMpXHJcblxyXG4gICAgLy92YWxpZGF0aW9uXHJcbiAgICBsZXQgcmVzcCA9IENvcmUudmFsaWRhdGVPYmplY3QodGhpcy5mb3JtQ29uZmlnLmZpZWxkcywgdGhpcy5kZXRhaWxzKTtcclxuICAgIGlmIChyZXNwICE9ICcnKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QocmVzcClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBGaWxlIFZhbGlkYXRpb24tLS1cclxuICAgIGlmICh0aGlzLmZpbGVzLmxlbmd0aCA8IDEgJiYgdGhpcy5maWxlRmllbGQ/LnJlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgYXR0YWNoIGZpbGUocylcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIEZpbGUgVmFsaWRhdGlvbi0tLVxyXG5cclxuICAgIGxldCB0YWJsZUNyZWF0ZUJ1dHRvbiA9IHRoaXMuZGF0YS5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gXCJjcmVhdGVcIilcclxuICAgIGlmICghdGFibGVDcmVhdGVCdXR0b24gfHwgIXRhYmxlQ3JlYXRlQnV0dG9uLmFjdGlvbikge1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBtZXNzYWdlOiAnZW1pdCcsIGRhdGE6IHRoaXMuZGV0YWlsc30pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vY292ZXJzaW9uLS1cclxuICAgIGxldCBkYXRhT3V0O1xyXG5cclxuICAgIGlmICh0YWJsZUNyZWF0ZUJ1dHRvbi5hY3Rpb24uaXNGb3JtRGF0YSkge1xyXG5cclxuICAgICAgbGV0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHVwbG9hZEZpbGUke2l9YCwgdGhpcy5maWxlc1tpXSwgdGhpcy5maWxlc1tpXS5uYW1lKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZGF0YVwiLCBKU09OLnN0cmluZ2lmeSh0aGlzLmRldGFpbHMpKTtcclxuXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGZvcm1EYXRhKVxyXG5cclxuICAgICAgZGF0YU91dCA9IGZvcm1EYXRhXHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgZGF0YU91dCA9IHRoaXMuZGV0YWlsc1xyXG4gICAgfVxyXG4gICAgLy9jb3ZlcnNpb24tLVxyXG5cclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkodGFibGVDcmVhdGVCdXR0b24uYWN0aW9uLCBkYXRhT3V0KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG5cclxuICAgICAgICBpZiAodGFibGVDcmVhdGVCdXR0b24uYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHRhYmxlQ3JlYXRlQnV0dG9uLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJDcmVhdGVkXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBtZXNzYWdlOiAnc3VjY2VzcycsIGRhdGE6IHRoaXMuZGV0YWlscyB9KTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlKTtcclxuICAgICAgfVxyXG4gICAgfSwoZXJyb3IpID0+IHtcclxuICAgIH1cclxuICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgZWRpdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiRWRpdFwiKVxyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5kZXRhaWxzKVxyXG5cclxuICAgIC8vdmFsaWRhdGlvblxyXG4gICAgbGV0IHJlc3AgPSBDb3JlLnZhbGlkYXRlT2JqZWN0KHRoaXMuZm9ybUNvbmZpZy5maWVsZHMsIHRoaXMuZGV0YWlscyk7XHJcbiAgICBpZiAocmVzcCAhPSAnJykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHJlc3ApXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGxldCB0YWJsZUVkaXRCdXR0b24gPSB0aGlzLmRhdGEuYnV0dG9ucy5maW5kKHggPT4geC5uYW1lID09IFwiZWRpdFwiKVxyXG4gICAgaWYgKCF0YWJsZUVkaXRCdXR0b24gfHwgIXRhYmxlRWRpdEJ1dHRvbi5hY3Rpb24pIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBtZXNzYWdlOiAnZW1pdCcsIGRhdGE6IHRoaXMuZGV0YWlscyB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL2NvdmVyc2lvbi0tXHJcbiAgICBsZXQgZGF0YU91dDtcclxuXHJcbiAgICBpZiAodGFibGVFZGl0QnV0dG9uLmFjdGlvbi5pc0Zvcm1EYXRhKSB7XHJcblxyXG4gICAgICBsZXQgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChgdXBsb2FkRmlsZSR7aX1gLCB0aGlzLmZpbGVzW2ldLCB0aGlzLmZpbGVzW2ldLm5hbWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoXCJkYXRhXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuZGV0YWlscykpO1xyXG5cclxuICAgICAgLy8gY29uc29sZS5sb2coZm9ybURhdGEpXHJcblxyXG4gICAgICBkYXRhT3V0ID0gZm9ybURhdGFcclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICBkYXRhT3V0ID0gdGhpcy5kZXRhaWxzXHJcbiAgICB9XHJcbiAgICAvL2NvdmVyc2lvbi0tXHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKHRhYmxlRWRpdEJ1dHRvbi5hY3Rpb24sIGRhdGFPdXQpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgaWYgKHRhYmxlRWRpdEJ1dHRvbi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGFibGVFZGl0QnV0dG9uLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVcGRhdGVkXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBtZXNzYWdlOiAnc3VjY2VzcycsIGRhdGE6IHRoaXMuZGV0YWlscyB9KTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIChlcnJvcikgPT4ge1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoKSB7XHJcblxyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgREVMRVRFID9gKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJEZWxldGVcIilcclxuXHJcbiAgICAgICAgbGV0IGIgPSB0aGlzLmRhdGEuYnV0dG9ucy5maW5kKHggPT4geC5uYW1lID09IFwiZGVsZXRlXCIpXHJcbiAgICAgICAgaWYgKCFiKSB7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKGIuYWN0aW9uLCB0aGlzLmRldGFpbHMpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcblxyXG4gICAgICAgICAgICBpZiAoYi5hY3Rpb24uc3VjY2Vzc01lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KGIuYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRGVsZXRlZFwiKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBtZXNzYWdlOiAnc3VjY2VzcycsIGRhdGE6IHRoaXMuZGV0YWlscyB9KTtcclxuXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGN1c3RvbShiOiBCdXR0b24pIHtcclxuXHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKGIuYWN0aW9uLCB0aGlzLmRldGFpbHMpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgaWYgKGIuYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KGIuYWN0aW9uLnN1Y2Nlc3NNZXNzYWdlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkRlbGV0ZWRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG1lc3NhZ2U6ICdzdWNjZXNzJywgZGF0YTogdGhpcy5kZXRhaWxzIH0pO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbn07XHJcblxyXG5cclxuXHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwicm93IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMFwiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICA8aDIgbWF0LWRpYWxvZy10aXRsZT57e2Zvcm1Db25maWcubW9kZSB8IHRpdGxlY2FzZX19IHt7Zm9ybUNvbmZpZz8udGl0bGV9fTwvaDI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJmb3JtQ29uZmlnLm1vZGU9PSd2aWV3JyAmJiBlZGl0QnV0dG9uXCIgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzZXRNb2RlKCdlZGl0JylcIj48bWF0LWljb24+ZWRpdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gPGRpdiAqbmdJZj1cImZvcm1Db25maWcubW9kZT09J2VkaXQnXCIgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICAoY2xpY2spPVwic2V0TW9kZSgndmlldycpXCI+PG1hdC1pY29uPmRvbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZGl2PiAtLT5cclxuXHJcbjwvZGl2PlxyXG48bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0aW4taW5wdXRcIiBzdHlsZT1cImZvbnQtc2l6ZToxNHB4XCI+XHJcblxyXG48cCAqbmdJZj1cImZvcm1Db25maWcgJiYgIWRldGFpbHNcIj48ZW0+TG9hZGluZy4uLjwvZW0+PC9wPlxyXG5cclxuPHNwYS1mb3JtICpuZ0lmPVwiZm9ybUNvbmZpZyAmJiBkZXRhaWxzXCIgW2ZpbGVzXT1cImZpbGVzXCIgW2RhdGFdPVwiZGV0YWlsc1wiIFtjb25maWddPVwiZm9ybUNvbmZpZ1wiIChpbnB1dENoYW5nZSk9XCJpbnB1dENoYW5nZWQoJGV2ZW50KVwiPjwvc3BhLWZvcm0+XHJcblxyXG48ZGl2ICpuZ0lmPVwidGFibGVDb25maWdcIiBjbGFzcz1cIm10LTNcIiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgPHNwYS10YWJsZS1pbnRlcm5hbCBbY29uZmlnXT1cInRhYmxlQ29uZmlnXCIgPjwvc3BhLXRhYmxlLWludGVybmFsPlxyXG48L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG48ZGl2PlxyXG48YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cImZvcm1Db25maWcubW9kZT09J2NyZWF0ZScgJiYgY3JlYXRlQnV0dG9uXCIgKGNsaWNrKT1cImNyZWF0ZSgpXCIgY2RrRm9jdXNJbml0aWFsPnt7Y3JlYXRlQnV0dG9uLmRpc3BsYXkgPz8gJ1N1Ym1pdCd9fTwvYnV0dG9uPlxyXG48YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cImZvcm1Db25maWcubW9kZT09J2VkaXQnICYmIGVkaXRCdXR0b25cIiAoY2xpY2spPVwiZWRpdCgpXCIgY2RrRm9jdXNJbml0aWFsPnt7ZWRpdEJ1dHRvbi5kaXNwbGF5ID8/ICdTdWJtaXQnfX08L2J1dHRvbj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc21hbGxTY3JlZW5cIj5cclxuPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYnRuIG9mIGV4dHJhQnV0dG9uc1wiIG1hdC1zdHJva2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgW25nU3R5bGVdPVwieydjb2xvcic6IGJ0bi5pY29uLmNvbG9yfVwiIChjbGljayk9XCJjdXN0b20oYnRuKVwiIGNka0ZvY3VzSW5pdGlhbD48bWF0LWljb24gW25nU3R5bGVdPVwieydjb2xvcic6IGJ0bi5pY29uLmNvbG9yfVwiPnt7YnRuLmljb24ubmFtZX19PC9tYXQtaWNvbj57e2J0bi5kaXNwbGF5ID8/IGJ0bi5uYW1lfX08L2J1dHRvbj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0LWRpYWxvZy1jbG9zZT5DYW5jZWw8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCIgKm5nSWY9XCJzbWFsbFNjcmVlblwiPlxyXG48YnV0dG9uICpuZ0Zvcj1cImxldCBidG4gb2YgZXh0cmFCdXR0b25zXCIgbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJpc1Byb2Nlc3NpbmdcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogYnRuLmljb24uY29sb3J9XCIgKGNsaWNrKT1cImN1c3RvbShidG4pXCIgY2RrRm9jdXNJbml0aWFsPjxtYXQtaWNvbiA+e3tidG4uaWNvbi5uYW1lfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG48YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgc3R5bGU9XCJjb2xvcjogcmVkO1wiIChjbGljayk9XCJkZWxldGUoKVwiICpuZ0lmPVwiZm9ybUNvbmZpZy5tb2RlIT0nY3JlYXRlJyAgJiYgZGVsZXRlQnV0dG9uXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuXHJcblxyXG4iXX0=
@@ -329,6 +329,13 @@ export class TableComponent {
329
329
  columnClicked(column, row) {
330
330
  if (column.detailsConfig) {
331
331
  column.detailsConfig.details = row;
332
+ if (column.detailsConfig.tableConfig && column.detailsConfig.tableConfig.loadAction && column.detailsConfig.tableConfig.loadCriteria && column.detailsConfig.tableConfig.loadIDField) {
333
+ column.detailsConfig.tableConfig.loadAction.url = column.detailsConfig.tableConfig.loadAction.url.split('/')[0] + "/" + column.detailsConfig.tableConfig.loadCriteria + "/" + column.detailsConfig.details[column.detailsConfig.tableConfig.loadIDField]; // fix data to proper source
334
+ console.log("Transformed");
335
+ }
336
+ else {
337
+ console.log("NOT Transformed");
338
+ }
332
339
  const dialogRef = this.dialog.open(DetailsDialog, {
333
340
  width: "900px",
334
341
  data: column.detailsConfig
@@ -548,4 +555,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
548
555
  }], inputChange: [{
549
556
  type: Output
550
557
  }] } });
551
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFzRCxVQUFVLEVBQXFCLE1BQU0sdUJBQXVCLENBQUM7QUFJMUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBb0IsV0FBMkIsRUFBVSxjQUE4QixFQUFVLGtCQUFzQyxFQUFTLE1BQWlCO1FBQTdJLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBZ0VqSyxjQUFTLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsaUJBQVksR0FBRyxNQUFNLENBQUM7UUFFdEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLGVBQVUsR0FBc0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQW1CckMsU0FBSSxHQUFPLEVBQUUsQ0FBQztRQUdiLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlC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dEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFjdGlvbiwgQnV0dG9uLCBDb2xvciwgQ29sdW1uLCBEZXRhaWxzRGlhbG9nQ29uZmlnLCBGb3JtQ29uZmlnLCBJY29uLCBUYWJsZUNvbmZpZyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRGV0YWlsc0RpYWxvZyB9IGZyb20gJy4vZGV0YWlsc0RpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9UaW5Db3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlciwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nKVxyXG4gIHtcclxuICAgIC8vIGRldGVjdCBzY3JlZW4gc2l6ZSBjaGFuZ2VzXHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFsgXCIobWF4LXdpZHRoOiA2MDBweClcIl0pLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xyXG4gICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSB0cnVlXHJcbiAgICAgICAgdGhpcy5zZXRDb2x1bW5zKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNtYWxsU2NyZWVuID0gZmFsc2VcclxuICAgICAgICB0aGlzLnNldENvbHVtbnMoKVxyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmVsZXZhdGlvbil7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5lbGV2YXRpb24gPT0gXCJub25lXCIpe1xyXG4gICAgICAgIHRoaXMuZWxldmF0aW9uID0gXCJcIlxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuY29uZmlnLmVsZXZhdGlvbiA9PSBcImxvd1wiKSB7XHJcbiAgICAgICAgdGhpcy5lbGV2YXRpb24gPSBcIm1hdC1lbGV2YXRpb24tejFcIlxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuY29uZmlnLmVsZXZhdGlvbiA9PSBcIm1lZGl1bVwiKSB7XHJcbiAgICAgICAgdGhpcy5lbGV2YXRpb24gPSBcIm1hdC1lbGV2YXRpb24tejVcIlxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuY29uZmlnLmVsZXZhdGlvbiA9PSBcImhpZ2hcIikge1xyXG4gICAgICAgIHRoaXMuZWxldmF0aW9uID0gXCJtYXQtZWxldmF0aW9uLXo5XCJcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0Q29sdW1ucygpXHJcblxyXG4gICAgdGhpcy5jcmVhdGVCdXR0b24gPSB0aGlzLmdldEJ1dHRvbignY3JlYXRlJylcclxuXHJcblxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5sb2FkQWN0aW9uKXtcclxuICAgICAgdGhpcy5sb2FkRGF0YSh0aGlzLmNvbmZpZy5sb2FkQWN0aW9uLCBcIlwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1EZWZhdWx0cygpO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5zZWFyY2hDb25maWcpe1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJCdXR0b24gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZWxvYWQgIT0gbnVsbCl7XHJcbiAgICAgIHRoaXMucmVsb2FkLnN1YnNjcmliZSh2ID0+IHtcclxuXHJcbiAgICAgICAgaWYgKHYgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5sb2FkQWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZERhdGEodGhpcy5jb25maWc/LmxvYWRBY3Rpb24sIFwiXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGVsZXZhdGlvbiA9IFwibWF0LWVsZXZhdGlvbi16NVwiO1xyXG4gIGFjdGlvbnNXaWR0aCA9IFwiNTBweFwiO1xyXG5cclxuICBzaG93RmlsdGVyQnV0dG9uID0gdHJ1ZTtcclxuICB0aWxlUmVsb2FkIDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmxvYWRBY3Rpb24pe1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcIlRhYmxlIGRhdGEgQ2hhbmdlZFwiKVxyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmRhdGE7XHJcblxyXG4gICAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8YW55Pih0aGlzLmRhdGFTb3VyY2UpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy50YWJsZURhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy50YWJsZVBhZ2luYXRvcjsgfSwgNSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgndGFibGVQYWdpbmF0b3InKSB0YWJsZVBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuXHJcbiAgQElucHV0KCkgZGF0YTogYW55ID1bXTtcclxuICBASW5wdXQoKSBjb25maWc6IFRhYmxlQ29uZmlnO1xyXG4gIEBJbnB1dCgpIHJlbG9hZDogU3ViamVjdDxib29sZWFuPjtcclxuICBAT3V0cHV0KCkgZGF0YUxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlZnJlc2hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2VhcmNoQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNyZWF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGlucHV0Q2hhbmdlZChldmVudCkge1xyXG4gICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHsgZmllbGQ6IGV2ZW50LmZpZWxkLCB2YWx1ZTogZXZlbnQudmFsdWUgfSlcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiQ2hhbmdlZCBcIiArIEpTT04uc3RyaW5naWZ5KGV2ZW50KSlcclxuICB9XHJcblxyXG4gIHNtYWxsU2NyZWVuID0gZmFsc2VcclxuXHJcbiAgY3JlYXRlQnV0dG9uOiBCdXR0b247XHJcblxyXG5cclxuICAvL1RhYmxlXHJcbiAgdGFibGVEYXRhU291cmNlO1xyXG4gIGRhdGFTb3VyY2U6IGFueVtdO1xyXG4gIC8vIGNvbHVtbnM6IENvbHVtbltdID0gW107XHJcbiAgZGlzcGxheWVkQ29sdW1ucyA9IFtdXHJcbiAgLy8gQElucHV0KCkgb3B0aW9uVmFsdWUgPSBcIlwiO1xyXG4gIC8vIEBJbnB1dCgpIG9wdGlvbkRpc3BsYXkgPSBcIlwiO1xyXG4gIGRpc3BsYXllZEJ1dHRvbnMgPSBbXVxyXG5cclxuICBmb3JtRGVmYXVsdHMoKSB7XHJcblxyXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5mb3JtQ29uZmlnKSB7XHJcbiAgICAgIGxldCBjb25maWcgPSBuZXcgRm9ybUNvbmZpZ1xyXG5cclxuICAgICAgY29uZmlnLmZpZWxkcyA9IFtdXHJcblxyXG4gICAgICB0aGlzLmNvbmZpZy5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcclxuXHJcbiAgICAgICAgbGV0IGZpZWxkID0geyBuYW1lOiBjb2x1bW4ubmFtZSwgdHlwZTogY29sdW1uLnR5cGUgfVxyXG4gICAgICAgIGNvbmZpZy5maWVsZHMucHVzaChmaWVsZClcclxuXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZyA9IGNvbmZpZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENvbHVtbnMoKSB7XHJcblxyXG4gICAgLy9jb2x1bW5zXHJcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5jb2x1bW5zKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNtYWxsU2NyZWVuKSB7XHJcblxyXG4gICAgICBsZXQgY29scyA9IFtdO1xyXG5cclxuICAgICAgaWYgKHRoaXMuY29uZmlnLm1pbkNvbHVtbnMpe1xyXG4gICAgICAgIGNvbHMgPSB0aGlzLmNvbmZpZy5taW5Db2x1bW5zLmZpbHRlcihjb2wgPT5cclxuICAgICAgICAgIHRoaXMuY29uZmlnLmNvbHVtbnMuc29tZSh4ID0+IHgubmFtZSA9PT0gY29sKVxyXG4gICAgICAgIClcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIGlmIChjb2xzLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IGNvbHM7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSlcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9idXR0b25zXHJcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5idXR0b25zKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGxldCBidXR0b25zQ291bnQgPSB0aGlzLmNvbmZpZy5idXR0b25zLmZpbHRlcih4ID0+IHgubmFtZSAhPSAnY3JlYXRlJykubGVuZ3RoID8/IDBcclxuICAgIGlmIChidXR0b25zQ291bnQgPiAwKSB7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuZGlzcGxheWVkQ29sdW1ucy5maW5kKHggPT4geCA9PSAnYWN0aW9uJykgJiYgdGhpcy5jb25maWcuYnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKFwiYWN0aW9uXCIpXHJcbiAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgaWYgKHRoaXMuc21hbGxTY3JlZW4pIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLm1pbkJ1dHRvbnMpe1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5ZWRCdXR0b25zID0gdGhpcy5jb25maWcuYnV0dG9ucy5maWx0ZXIoeCA9PiB0aGlzLmNvbmZpZy5taW5CdXR0b25zLmluY2x1ZGVzKHgubmFtZSkpXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXllZEJ1dHRvbnMgPSB0aGlzLmNvbmZpZy5idXR0b25zLmZpbHRlcih4ID0+IHgubmFtZSAhPSAnY3JlYXRlJykuc2xpY2UoMCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheWVkQnV0dG9ucyA9IHRoaXMuY29uZmlnLmJ1dHRvbnMuZmlsdGVyKHggPT4geC5uYW1lICE9ICdjcmVhdGUnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5hY3Rpb25zV2lkdGggPSBgJHt0aGlzLmRpc3BsYXllZEJ1dHRvbnMubGVuZ3RoICogNDAgKzIwfXB4YFxyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0QnV0dG9ucygpe1xyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuYnV0dG9ucykgcmV0dXJuXHJcblxyXG4gICAgaWYgKCF0aGlzLnNtYWxsU2NyZWVuKXtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRCdXR0b25zID0gdGhpcy5jb25maWcuYnV0dG9ucztcclxuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRCdXR0b25zID0gdGhpcy5jb25maWcuYnV0dG9ucztcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGdldEJ1dHRvbihuYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICghdGhpcy5jb25maWcuYnV0dG9ucykge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIk5vIGJ1dHRvbnMgZm91bmRcIilcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5idXR0b25zLmZpbmQoeCA9PiB4Lm5hbWUgPT0gbmFtZSlcclxuICB9XHJcblxyXG4gIGdldEljb24oYnV0dG9uTmFtZTogc3RyaW5nKXtcclxuXHJcbiAgICBsZXQgYiA9IHRoaXMuZ2V0QnV0dG9uKGJ1dHRvbk5hbWUpO1xyXG4gICAgaWYgKGIuaWNvbil7XHJcbiAgICAgIHJldHVybiBiLmljb24ubmFtZVxyXG4gICAgfVxyXG5cclxuICAgIGxldCBpID0gJ29wZW5faW5fbmV3J1xyXG5cclxuICAgIHN3aXRjaCAoYnV0dG9uTmFtZSkge1xyXG5cclxuICAgICAgY2FzZSAndmlldyc6XHJcblxyXG4gICAgICAgIGkgPSB0aGlzLmNvbmZpZy5mbGF0QnV0dG9ucyA/ICdvcGVuX2luX25ldycgOiAncGFnZXZpZXcnO1xyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZWRpdCc6XHJcbiAgICAgICAgaSA9ICdlZGl0J1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgIGkgPSAnZGVsZXRlJ1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaTtcclxuICB9XHJcblxyXG4gIGdldEJ1dHRvbkNvbG9yKGJ1dHRvbjogQnV0dG9uLCByb3cpIHtcclxuXHJcbiAgICBpZiAoYnV0dG9uLmRpc2FibGVkKXtcclxuICAgICAgaWYgKGJ1dHRvbi5kaXNhYmxlZChyb3cpKXtcclxuICAgICAgICByZXR1cm4gJ2xpZ2h0Z3JheSdcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChidXR0b24uY29sb3Ipe1xyXG4gICAgICByZXR1cm4gYnV0dG9uLmNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChidXR0b24ubmFtZSA9PSAnZGVsZXRlJyl7XHJcbiAgICAgIHJldHVybiAnI0Y0NDMzNidcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4nICM0MDUwQjUnXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0T3B0aW9ucyhjb2x1bW4pe1xyXG4gICAgbGV0IHggPSB0aGlzLmNvbmZpZy5jb2x1bW5zLmZpbmQob3B0ID0+IG9wdC5uYW1lID09PSBjb2x1bW4pO1xyXG4gICAgcmV0dXJuICB4XHJcbiAgfVxyXG5cclxuICBnZXRDb2xvcih2LCBvcHRpb25zKSB7XHJcblxyXG4gICAgbGV0IGRlZmF1bHRDb2xvciA9ICdsaWdodGdyZXknXHJcblxyXG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm4gZGVmYXVsdENvbG9yXHJcblxyXG4gICAgbGV0IGMgPSBvcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09IHYpXHJcblxyXG4gICAgaWYgKGMpIHtcclxuICAgICAgcmV0dXJuIGMuY29sb3JcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBkZWZhdWx0Q29sb3JcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHRlc3RJY29uQ29uZGl0aW9uKHZhbHVlOiBhbnksIGljb24gOiBJY29uKTogYm9vbGVhbiB7XHJcblxyXG4gICAgaWYgKGljb24uY29uZGl0aW9uKSB7XHJcbiAgICAgIHJldHVybiBpY29uLmNvbmRpdGlvbih2YWx1ZSk7XHJcblxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGVzdENvbG9yQ29uZGl0aW9uKHZhbHVlOiBhbnksIGNvbG9yOiBDb2xvcik6IGJvb2xlYW4ge1xyXG5cclxuICAgIGlmICghY29sb3IpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoY29sb3IuY29uZGl0aW9uKSB7XHJcbiAgICAgIHJldHVybiBjb2xvci5jb25kaXRpb24odmFsdWUpO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd0Jhbm5lcihtZXNzYWdlKXtcclxuXHJcbiAgICBpZiAoIW1lc3NhZ2UpIHJldHVybjtcclxuICAgIGlmIChtZXNzYWdlID09ICcnKSByZXR1cm47XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8obWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICB0ZXN0RGlzYWJsZWQocm93LCBidXR0b25OYW1lOiBzdHJpbmcpOiBib29sZWFue1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbihidXR0b25OYW1lKVxyXG5cclxuICAgIGlmIChidXR0b24uZGlzYWJsZWQpe1xyXG5cclxuICAgICAgcmV0dXJuIGJ1dHRvbi5kaXNhYmxlZChyb3cpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICB0ZXN0VmlzaWJsZShyb3csIGJ1dHRvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbihidXR0b25OYW1lKVxyXG5cclxuICAgIGlmIChidXR0b24udmlzaWJsZSkge1xyXG5cclxuICAgICAgcmV0dXJuIGJ1dHRvbi52aXNpYmxlKHJvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9BY3Rpb25zXHJcblxyXG5cclxuXHJcbiAgbG9hZERhdGEoYWN0aW9uOiBBY3Rpb24sIGRhdGE6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJsb2FkaW5nXCIpXHJcblxyXG4gICAgaWYgKGFjdGlvbikge1xyXG5cclxuICAgICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKGFjdGlvbiwgZGF0YSkuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxvZ1Jlc3BvbnNlKXtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGFwaVJlc3BvbnNlKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gYXBpUmVzcG9uc2UuZGF0YVxyXG5cclxuICAgICAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8YW55PihhcGlSZXNwb25zZS5kYXRhKTtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnRhYmxlUGFnaW5hdG9yO1xyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgdGhpcy50YWJsZURhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGFwaVJlc3BvbnNlLmRhdGEpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZURhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy50YWJsZVBhZ2luYXRvcjtcclxuXHJcbiAgICAgICAgICB0aGlzLmRhdGFMb2FkZWQoYXBpUmVzcG9uc2UuZGF0YSk7XHJcblxyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAvL0V2ZW50c1xyXG4gIHNlYXJjaENsaWNrZWQoeCl7XHJcbiAgICBjb25zb2xlLmxvZyhcIlNlYXJjaFwiKVxyXG4gICAgdGhpcy5zZWFyY2hDbGljay5lbWl0KHgpO1xyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKHgpXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnNlYXJjaENvbmZpZy5zZWFyY2hBY3Rpb24pe1xyXG4gICAgICB0aGlzLmNvbmZpZy5zZWFyY2hDb25maWcuc2VhcmNoQWN0aW9uLm1ldGhvZCA9PSAncG9zdCdcclxuICAgICAgdGhpcy5sb2FkRGF0YSh0aGlzLmNvbmZpZy5zZWFyY2hDb25maWcuc2VhcmNoQWN0aW9uLCB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2hDbGlja2VkKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJSZWZyZXNoXCIpXHJcbiAgICB0aGlzLnJlZnJlc2hDbGljay5lbWl0KCk7XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5sb2FkQWN0aW9uKSB7XHJcbiAgICAgIHRoaXMubG9hZERhdGEodGhpcy5jb25maWcubG9hZEFjdGlvbixcIlwiKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmRhdGFMb2FkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRhdGFMb2FkZWQoeCkge1xyXG5cclxuICAgIHRoaXMuZGF0YUxvYWQuZW1pdCh4KVxyXG5cclxuICAgIGNvbnNvbGUubG9nKFwiZGF0YWxvYWRlZFwiKVxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy50aWxlQ29uZmlnPy5sb2FkQWN0aW9uKSB7XHJcbiAgICAgIHRoaXMudGlsZVJlbG9hZC5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBhY3Rpb25DbGlja2VkKG5hbWUsIHJvdykge1xyXG5cclxuICAgIGlmIChuYW1lID09ICd2aWV3Jykge1xyXG4gICAgICB0aGlzLnZpZXdNb2RlbChyb3cpXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChuYW1lID09ICdlZGl0Jykge1xyXG4gICAgICB0aGlzLmVkaXRNb2RlbChyb3cpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAobmFtZSA9PSAnZGVsZXRlJykge1xyXG4gICAgICB0aGlzLmRlbGV0ZU1vZGVsKHJvdyk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5jdXN0b21Nb2RlbChuYW1lLHJvdyk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGNvbHVtbkNsaWNrZWQoY29sdW1uIDogQ29sdW1uLCByb3cpe1xyXG5cclxuICAgIGlmIChjb2x1bW4uZGV0YWlsc0NvbmZpZyl7XHJcblxyXG4gICAgICBjb2x1bW4uZGV0YWlsc0NvbmZpZy5kZXRhaWxzID0gcm93O1xyXG5cclxuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZXRhaWxzRGlhbG9nLCB7XHJcbiAgICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgICBkYXRhOiBjb2x1bW4uZGV0YWlsc0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChjb2x1bW4ubmFtZSwgcm93KVxyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2tlZCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChjb2x1bW4ubmFtZSwgcm93KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3VzdG9tTW9kZWwobmFtZSwgcm93KSB7XHJcblxyXG4gICAgbGV0IGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKG5hbWUpO1xyXG4gICAgaWYgKGJ1dHRvbikge1xyXG5cclxuICAgICAgaWYgKCFidXR0b24uZGlhbG9nKXtcclxuICAgICAgICB0aGlzLmRvQWN0aW9uKGJ1dHRvbi5uYW1lLCByb3cpXHJcbiAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChuYW1lLCByb3cpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcblxyXG4gICAgICAgIGlmIChidXR0b24uZGV0YWlsc0NvbmZpZykge1xyXG5cclxuICAgICAgICAgIGJ1dHRvbi5kZXRhaWxzQ29uZmlnLmRldGFpbHMgPSByb3c7XHJcblxyXG4gICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZXRhaWxzRGlhbG9nLCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBcIjkwMHB4XCIsXHJcbiAgICAgICAgICAgIGRhdGE6IGJ1dHRvbi5kZXRhaWxzQ29uZmlnXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdC5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChidXR0b24ubmFtZSwgcm93KVxyXG4gICAgICAgICAgICAgIHRoaXMucmVmcmVzaENsaWNrZWQoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZEVtaXQoYnV0dG9uLm5hbWUsIHJvdylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChuYW1lLCByb3cpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGFjdGlvbkNsaWNrZWRFbWl0KG5hbWUsIHJvdykge1xyXG4gICAgY29uc29sZS5sb2coXCJBY3Rpb24gY2xpY2tlZFwiKVxyXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHtuYW1lOm5hbWUsZGF0YSA6IHJvd30pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgdmlld01vZGVsKHJvdykge1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwidmlldyBDbGlja2VkXCIpXHJcblxyXG4gICAgbGV0IGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKCd2aWV3Jyk7XHJcblxyXG4gICAgaWYgKCFidXR0b24pIHJldHVybjtcclxuXHJcbiAgICBpZiAoIWJ1dHRvbi5kaWFsb2cpIHtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChidXR0b24ubmFtZSwgcm93KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUNvbmZpZykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGNvbmZpZ3VyZSBmb3JtXCIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLm1vZGUgPSBcInZpZXdcIjtcclxuICAgIGxldCBjb25mOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmZvcm1Db25maWcsXHJcbiAgICAgIGJ1dHRvbnM6IHRoaXMuY29uZmlnLmJ1dHRvbnMsXHJcbiAgICAgIGRldGFpbHM6IHJvdyxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERldGFpbHNEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgZGF0YTogY29uZlxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2tlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG5cclxuICB9XHJcblxyXG4gIG5ld01vZGVsKCkge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbignY3JlYXRlJyk7XHJcbiAgICBpZiAoIWJ1dHRvbikgcmV0dXJuO1xyXG5cclxuICAgIGlmICghYnV0dG9uLmRpYWxvZykge1xyXG4gICAgICB0aGlzLmFjdGlvbkNsaWNrZWRFbWl0KGJ1dHRvbi5uYW1lLCBudWxsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUNvbmZpZykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGNvbmZpZ3VyZSBmb3JtXCIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLm1vZGUgPSBcImNyZWF0ZVwiO1xyXG4gICAgbGV0IGNvbmYgOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBjb25maWcgOiB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLFxyXG4gICAgICBidXR0b25zIDogdGhpcy5jb25maWcuYnV0dG9ucyxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERldGFpbHNEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgZGF0YTogY29uZixcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZEVtaXQoJ2NyZWF0ZScscmVzdWx0LmRhdGEpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaENsaWNrZWQoKTtcclxuICAgICAgfSBlbHNlIGlmIChyZXN1bHQubWVzc2FnZSA9PSBcImVtaXRcIikge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZEVtaXQoJ2NyZWF0ZScscmVzdWx0LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZWRpdE1vZGVsKHJvdykge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbignZWRpdCcpO1xyXG4gICAgaWYgKCFidXR0b24pIHJldHVybjtcclxuXHJcbiAgICBpZiAoIWJ1dHRvbi5kaWFsb2cpIHtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChidXR0b24ubmFtZSwgcm93KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUNvbmZpZykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGNvbmZpZ3VyZSBmb3JtXCIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLm1vZGUgPSBcImVkaXRcIjtcclxuICAgIGxldCBjb25mOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmZvcm1Db25maWcsXHJcbiAgICAgIGJ1dHRvbnM6IHRoaXMuY29uZmlnLmJ1dHRvbnMsXHJcbiAgICAgIGRldGFpbHMgOiByb3csXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZXRhaWxzRGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjkwMHB4XCIsXHJcbiAgICAgIGRhdGE6IGNvbmZcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UuaW5wdXRDaGFuZ2Uuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VkKHgpXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0KVxyXG4gICAgICBpZiAocmVzdWx0Lm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICB0aGlzLmFjdGlvbkNsaWNrZWRFbWl0KCdlZGl0JyxyZXN1bHQuZGF0YSk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2tlZCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5tZXNzYWdlID09IFwiZW1pdFwiKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdCgnZWRpdCcscmVzdWx0LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZU1vZGVsKHJvdykge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbignZGVsZXRlJyk7XHJcbiAgICBpZiAoIWJ1dHRvbikgcmV0dXJuO1xyXG5cclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERFTEVURSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdCgnZGVsZXRlJywgcm93KVxyXG4gICAgICAgIHRoaXMuZG9BY3Rpb24oYnV0dG9uLm5hbWUscm93KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGRvQWN0aW9uKGJ1dHRvbk5hbWU6IHN0cmluZywgcm93KSB7XHJcblxyXG4gICAgbGV0IGIgPSB0aGlzLmdldEJ1dHRvbihidXR0b25OYW1lKVxyXG5cclxuICAgIGlmICghYikgcmV0dXJuO1xyXG5cclxuICAgIGlmICghYi5hY3Rpb24pIHJldHVybjtcclxuXHJcbiAgICBpZiAoYi5jb25maXJtKXtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5jb25maXJtKGAke2IuY29uZmlybS5tZXNzYWdlfWApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLmV4ZWNBY3Rpb24oYixyb3cpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmV4ZWNBY3Rpb24oYiwgcm93KVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBleGVjQWN0aW9uKGI6IEJ1dHRvbiwgcm93KXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaShiLmFjdGlvbiwgcm93KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIGlmIChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiVXBkYXRlZFwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVmcmVzaENsaWNrZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiXG48c3BhLXNlYXJjaCAqbmdJZj1cImNvbmZpZy5zZWFyY2hDb25maWdcIiBbY29uZmlnXT1cImNvbmZpZy5zZWFyY2hDb25maWdcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDIwcHg7XCIgKHNlYXJjaENsaWNrKT1cInNlYXJjaENsaWNrZWQoJGV2ZW50KVwiPjwvc3BhLXNlYXJjaD5cblxuPGRpdiBjbGFzcz1cInRvcFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgPlxuICAgIDxidXR0b24gKm5nSWY9XCJjcmVhdGVCdXR0b25cIiBpZD1cImJ0bk5ld1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O1wiIChjbGljayk9XCJuZXdNb2RlbCgpXCI+e3tjcmVhdGVCdXR0b24uZGlzcGxheX19PC9idXR0b24+XG4gICAgPCEtLSA8c3BhLXRpbGVzICpuZ0lmPVwiY29uZmlnLnRpbGVDb25maWdcIiBbcmVsb2FkXT1cInRpbGVSZWxvYWRcIiBbY29uZmlnXT1cImNvbmZpZy50aWxlQ29uZmlnXCI+PC9zcGEtdGlsZXM+IC0tPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnLnRpbGVDb25maWcgJiYgIXNtYWxsU2NyZWVuXCIgc3R5bGU9XCJtaW4td2lkdGg6IDc1JTtcIj5cbiAgICA8c3BhLXRpbGVzICBbcmVsb2FkXT1cInRpbGVSZWxvYWRcIiBbY29uZmlnXT1cImNvbmZpZy50aWxlQ29uZmlnXCI+PC9zcGEtdGlsZXM+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJjb25maWcuc2hvd0ZpbHRlclwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICA8c3BhLWZpbHRlciBbc2hvd0J1dHRvbl09XCJzaG93RmlsdGVyQnV0dG9uXCIgW2RhdGFdPVwidGFibGVEYXRhU291cmNlXCIgKHJlZnJlc2hDbGljayk9XCJyZWZyZXNoQ2xpY2tlZCgpXCI+PC9zcGEtZmlsdGVyPlxuICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJjb25maWcudGlsZUNvbmZpZyAmJiBzbWFsbFNjcmVlblwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XG4gIDxzcGEtdGlsZXMgW3JlbG9hZF09XCJ0aWxlUmVsb2FkXCIgW2NvbmZpZ109XCJjb25maWcudGlsZUNvbmZpZ1wiPjwvc3BhLXRpbGVzPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJjb25maWcudGl0bGVcIiBjbGFzcz1cInRpdGxlXCI+XG4gIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogbGFyZ2VyO1wiPnt7Y29uZmlnLnRpdGxlIHwgY2FtZWxUb1dvcmRzfX08L2xhYmVsPlxuPC9kaXY+XG5cbjxkaXY+XG5cbiAgPHAgKm5nSWY9XCIhY29uZmlnXCI+PGVtPkNvbmZpZ3VyZSBUYWJsZTwvZW0+PC9wPlxuICA8cCAqbmdJZj1cIiFkYXRhU291cmNlXCI+PGVtPkxvYWRpbmcuLi48L2VtPjwvcD5cblxuXG5cbiAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2VcIj5cblxuXG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJ0YWJsZURhdGFTb3VyY2VcIiAgW25nQ2xhc3NdPVwiZWxldmF0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29uZmlnLmNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgPnt7IGNvbHVtbi5hbGlhcyA/PyBjb2x1bW4ubmFtZSB8IGNhbWVsVG9Xb3JkcyB9fTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3c7XCIgY2xhc3M9XCJyaWdodC1wYWRkaW5nXCIgPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxuICAgICAgICAgICAgICA8c3BhLWNoZWNrIFt2YWx1ZV09XCJyb3dbY29sdW1uLm5hbWVdXCIgW3JlYWRvbmx5XT1cInRydWVcIj48L3NwYS1jaGVjaz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiPlxuICAgICAgICAgICAgICA8c3BhLXNlbGVjdCBbb3B0aW9uc109XCJjb2x1bW4ub3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImNvbHVtbi5vcHRpb25EaXNwbGF5XCIgW29wdGlvblZhbHVlXT1cImNvbHVtbi5vcHRpb25WYWx1ZVwiIFsodmFsdWUpXT1cInJvd1tjb2x1bW4ubmFtZV1cIiB3aWR0aD1cIjkwJVwiID48L3NwYS1zZWxlY3Q+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoaXAnXCI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0PlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAoY2xpY2spPVwiY29sdW1uQ2xpY2tlZChjb2x1bW4sIHJvdylcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiB0ZXN0Q29sb3JDb25kaXRpb24ocm93LCBjb2x1bW4uY29sb3IpID8gY29sdW1uLmNvbG9yLm5hbWUgOiBnZXRDb2xvcihyb3dbY29sdW1uLm5hbWVdLCBjb2x1bW4/Lm9wdGlvbnMpfVwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e3Jvd1tjb2x1bW4ubmFtZV19fSA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIGNvbHVtbi5pY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpY29uJ1wiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxuICAgICAgICAgICAgICB7e3Jvd1tjb2x1bW4ubmFtZV0gfCBkYXRlIDogJ2RkL01NL3l5eXknfX1cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZXRpbWUnXCI+XG4gICAgICAgICAgICAgIHt7cm93W2NvbHVtbi5uYW1lXSB8IGRhdGUgOiAnZGQvTU0veXl5eSBISDptbSd9fVxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NwaW5uZXInXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIyMFwiPlxuXG4gICAgICAgICAgICAgICAgPC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbmV5J1wiPlxuXG4gICAgICAgICAgICAgIDxsYWJlbCBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCI+e3tyb3dbY29sdW1uLm5hbWVdIHwgY3VycmVuY3k6Jyc6Jyd9fTwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uJ1wiPlxuXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCIgKGNsaWNrKT1cImFjdGlvbkNsaWNrZWQoY29sdW1uLm5hbWUsIHJvdylcIj57e3Jvd1tjb2x1bW4ubmFtZV19fTwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIGNvbHVtbi5pY29uc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICA8bGFiZWwgW25nU3R5bGVdPVwieydjb2xvcic6IHRlc3RDb2xvckNvbmRpdGlvbihyb3csIGNvbHVtbi5jb2xvcikgPyBjb2x1bW4uY29sb3IubmFtZSA6ICcnfVwiPnt7cm93W2NvbHVtbi5uYW1lXX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvblwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb24gPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIFtuZ1N0eWxlXT1cInt3aWR0aDpmYWxzZSA/ICc1MHB4JyA6IGFjdGlvbnNXaWR0aH1cIj5cblxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRpc3BsYXllZEJ1dHRvbnNcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvbi5uYW1lICE9ICdjcmVhdGUnICYmIHRlc3RWaXNpYmxlKHJvdyxidXR0b24ubmFtZSlcIj5cblxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWNvbmZpZy5mbGF0QnV0dG9uc1wiIG1hdC1taW5pLWZhYiAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLnRpcCA/PyBidXR0b24ubmFtZSBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjVweFwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6Z2V0QnV0dG9uQ29sb3IoYnV0dG9uLCByb3cpfVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0ZXN0RGlzYWJsZWQocm93LGJ1dHRvbi5uYW1lKVwiICAoY2xpY2spPVwiYWN0aW9uQ2xpY2tlZChidXR0b24ubmFtZSwgcm93KVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57e2dldEljb24oYnV0dG9uLm5hbWUpfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29uZmlnLmZsYXRCdXR0b25zXCIgIG1hdC1pY29uLWJ1dHRvbiAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLnRpcCA/PyBidXR0b24ubmFtZSBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjVweFwiXG5cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRlc3REaXNhYmxlZChyb3csYnV0dG9uLm5hbWUpXCIgIChjbGljayk9XCJhY3Rpb25DbGlja2VkKGJ1dHRvbi5uYW1lLCByb3cpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuZ1N0eWxlXT1cInsnY29sb3InOmdldEJ1dHRvbkNvbG9yKGJ1dHRvbiwgcm93KX1cIj57e2dldEljb24oYnV0dG9uLm5hbWUpfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b24ubmFtZSAhPSAnY3JlYXRlJyAmJiAhdGVzdFZpc2libGUocm93LGJ1dHRvbi5uYW1lKVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDM1cHg7XCI+PC9sYWJlbD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIFtuZ0NsYXNzXT1cInsnbWFrZS1ncmF5JzogY29uZmlnLmdyZXlPdXQgJiYgY29uZmlnLmdyZXlPdXQocm93KX1cIj48L3RyPlxuICAgIDwvdGFibGU+XG5cbiAgPC9kaXY+XG5cbiAgPG1hdC1wYWdpbmF0b3IgI3RhYmxlUGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzEwLCAyMCwgNTBdXCIgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM+PC9tYXQtcGFnaW5hdG9yPlxuXG48L2Rpdj5cblxuPHAgKm5nSWY9XCJkYXRhU291cmNlPy5sZW5ndGggPT0gMFwiPjxlbT5ObyBEYXRhPC9lbT48L3A+XG5cblxuIl19
558
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFzRCxVQUFVLEVBQXFCLE1BQU0sdUJBQXVCLENBQUM7QUFJMUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBb0IsV0FBMkIsRUFBVSxjQUE4QixFQUFVLGtCQUFzQyxFQUFTLE1BQWlCO1FBQTdJLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBZ0VqSyxjQUFTLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsaUJBQVksR0FBRyxNQUFNLENBQUM7UUFFdEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLGVBQVUsR0FBc0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQW1CckMsU0FBSSxHQUFPLEVBQUUsQ0FBQztRQUdiLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlC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QUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUQ7UUFDSCxDQUFDLEVBQ0MsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OzJHQXBzQlUsY0FBYzsrRkFBZCxjQUFjLHVhQ2xCM0IsK3lXQTBMQTsyRkR4S2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXOzJMQTBGUSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFHbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgQ3VycmVuY3lQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uLCBCdXR0b24sIENvbG9yLCBDb2x1bW4sIERldGFpbHNEaWFsb2dDb25maWcsIEZvcm1Db25maWcsIEljb24sIFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBEZXRhaWxzRGlhbG9nIH0gZnJvbSAnLi9kZXRhaWxzRGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpXHJcbiAge1xyXG4gICAgLy8gZGV0ZWN0IHNjcmVlbiBzaXplIGNoYW5nZXNcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoWyBcIihtYXgtd2lkdGg6IDYwMHB4KVwiXSkuc3Vic2NyaWJlKChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xyXG5cclxuICAgICAgaWYgKHJlc3VsdC5tYXRjaGVzKSB7XHJcbiAgICAgICAgdGhpcy5zbWFsbFNjcmVlbiA9IHRydWVcclxuICAgICAgICB0aGlzLnNldENvbHVtbnMoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSBmYWxzZVxyXG4gICAgICAgIHRoaXMuc2V0Q29sdW1ucygpXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuZWxldmF0aW9uKXtcclxuICAgICAgaWYgKHRoaXMuY29uZmlnLmVsZXZhdGlvbiA9PSBcIm5vbmVcIil7XHJcbiAgICAgICAgdGhpcy5lbGV2YXRpb24gPSBcIlwiXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5jb25maWcuZWxldmF0aW9uID09IFwibG93XCIpIHtcclxuICAgICAgICB0aGlzLmVsZXZhdGlvbiA9IFwibWF0LWVsZXZhdGlvbi16MVwiXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5jb25maWcuZWxldmF0aW9uID09IFwibWVkaXVtXCIpIHtcclxuICAgICAgICB0aGlzLmVsZXZhdGlvbiA9IFwibWF0LWVsZXZhdGlvbi16NVwiXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5jb25maWcuZWxldmF0aW9uID09IFwiaGlnaFwiKSB7XHJcbiAgICAgICAgdGhpcy5lbGV2YXRpb24gPSBcIm1hdC1lbGV2YXRpb24tejlcIlxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRDb2x1bW5zKClcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKCdjcmVhdGUnKVxyXG5cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmxvYWRBY3Rpb24pe1xyXG4gICAgICB0aGlzLmxvYWREYXRhKHRoaXMuY29uZmlnLmxvYWRBY3Rpb24sIFwiXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9ybURlZmF1bHRzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnNlYXJjaENvbmZpZyl7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbHRlckJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbG9hZCAhPSBudWxsKXtcclxuICAgICAgdGhpcy5yZWxvYWQuc3Vic2NyaWJlKHYgPT4ge1xyXG5cclxuICAgICAgICBpZiAodiA9PSB0cnVlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb25maWc/LmxvYWRBY3Rpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkRGF0YSh0aGlzLmNvbmZpZz8ubG9hZEFjdGlvbiwgXCJcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZWxldmF0aW9uID0gXCJtYXQtZWxldmF0aW9uLXo1XCI7XHJcbiAgYWN0aW9uc1dpZHRoID0gXCI1MHB4XCI7XHJcblxyXG4gIHNob3dGaWx0ZXJCdXR0b24gPSB0cnVlO1xyXG4gIHRpbGVSZWxvYWQgOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcubG9hZEFjdGlvbil7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiVGFibGUgZGF0YSBDaGFuZ2VkXCIpXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZGF0YTtcclxuXHJcbiAgICAgIHRoaXMudGFibGVEYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KHRoaXMuZGF0YVNvdXJjZSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLnRhYmxlRGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnRhYmxlUGFnaW5hdG9yOyB9LCA1KVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBAVmlld0NoaWxkKCd0YWJsZVBhZ2luYXRvcicpIHRhYmxlUGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcblxyXG5cclxuICBASW5wdXQoKSBkYXRhOiBhbnkgPVtdO1xyXG4gIEBJbnB1dCgpIGNvbmZpZzogVGFibGVDb25maWc7XHJcbiAgQElucHV0KCkgcmVsb2FkOiBTdWJqZWN0PGJvb2xlYW4+O1xyXG4gIEBPdXRwdXQoKSBkYXRhTG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVmcmVzaENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY3JlYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaW5wdXRDaGFuZ2VkKGV2ZW50KSB7XHJcbiAgICB0aGlzLmlucHV0Q2hhbmdlLmVtaXQoeyBmaWVsZDogZXZlbnQuZmllbGQsIHZhbHVlOiBldmVudC52YWx1ZSB9KVxyXG4gICAgLy8gY29uc29sZS5sb2coXCJDaGFuZ2VkIFwiICsgSlNPTi5zdHJpbmdpZnkoZXZlbnQpKVxyXG4gIH1cclxuXHJcbiAgc21hbGxTY3JlZW4gPSBmYWxzZVxyXG5cclxuICBjcmVhdGVCdXR0b246IEJ1dHRvbjtcclxuXHJcblxyXG4gIC8vVGFibGVcclxuICB0YWJsZURhdGFTb3VyY2U7XHJcbiAgZGF0YVNvdXJjZTogYW55W107XHJcbiAgLy8gY29sdW1uczogQ29sdW1uW10gPSBbXTtcclxuICBkaXNwbGF5ZWRDb2x1bW5zID0gW11cclxuICAvLyBASW5wdXQoKSBvcHRpb25WYWx1ZSA9IFwiXCI7XHJcbiAgLy8gQElucHV0KCkgb3B0aW9uRGlzcGxheSA9IFwiXCI7XHJcbiAgZGlzcGxheWVkQnV0dG9ucyA9IFtdXHJcblxyXG4gIGZvcm1EZWZhdWx0cygpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmZvcm1Db25maWcpIHtcclxuICAgICAgbGV0IGNvbmZpZyA9IG5ldyBGb3JtQ29uZmlnXHJcblxyXG4gICAgICBjb25maWcuZmllbGRzID0gW11cclxuXHJcbiAgICAgIHRoaXMuY29uZmlnLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG5cclxuICAgICAgICBsZXQgZmllbGQgPSB7IG5hbWU6IGNvbHVtbi5uYW1lLCB0eXBlOiBjb2x1bW4udHlwZSB9XHJcbiAgICAgICAgY29uZmlnLmZpZWxkcy5wdXNoKGZpZWxkKVxyXG5cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnID0gY29uZmlnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1ucygpIHtcclxuXHJcbiAgICAvL2NvbHVtbnNcclxuICAgIGlmICghdGhpcy5jb25maWc/LmNvbHVtbnMpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc21hbGxTY3JlZW4pIHtcclxuXHJcbiAgICAgIGxldCBjb2xzID0gW107XHJcblxyXG4gICAgICBpZiAodGhpcy5jb25maWcubWluQ29sdW1ucyl7XHJcbiAgICAgICAgY29scyA9IHRoaXMuY29uZmlnLm1pbkNvbHVtbnMuZmlsdGVyKGNvbCA9PlxyXG4gICAgICAgICAgdGhpcy5jb25maWcuY29sdW1ucy5zb21lKHggPT4geC5uYW1lID09PSBjb2wpXHJcbiAgICAgICAgKVxyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgaWYgKGNvbHMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gY29scztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb25maWcuY29sdW1ucy5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKVxyXG4gICAgICB9XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb25maWcuY29sdW1ucy5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL2J1dHRvbnNcclxuICAgIGlmICghdGhpcy5jb25maWc/LmJ1dHRvbnMpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGJ1dHRvbnNDb3VudCA9IHRoaXMuY29uZmlnLmJ1dHRvbnMuZmlsdGVyKHggPT4geC5uYW1lICE9ICdjcmVhdGUnKS5sZW5ndGggPz8gMFxyXG4gICAgaWYgKGJ1dHRvbnNDb3VudCA+IDApIHtcclxuXHJcbiAgICAgIGlmICghdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZpbmQoeCA9PiB4ID09ICdhY3Rpb24nKSAmJiB0aGlzLmNvbmZpZy5idXR0b25zKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJhY3Rpb25cIilcclxuICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICBpZiAodGhpcy5zbWFsbFNjcmVlbikge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWcubWluQnV0dG9ucyl7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXllZEJ1dHRvbnMgPSB0aGlzLmNvbmZpZy5idXR0b25zLmZpbHRlcih4ID0+IHRoaXMuY29uZmlnLm1pbkJ1dHRvbnMuaW5jbHVkZXMoeC5uYW1lKSlcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheWVkQnV0dG9ucyA9IHRoaXMuY29uZmlnLmJ1dHRvbnMuZmlsdGVyKHggPT4geC5uYW1lICE9ICdjcmVhdGUnKS5zbGljZSgwLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRCdXR0b25zID0gdGhpcy5jb25maWcuYnV0dG9ucy5maWx0ZXIoeCA9PiB4Lm5hbWUgIT0gJ2NyZWF0ZScpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmFjdGlvbnNXaWR0aCA9IGAke3RoaXMuZGlzcGxheWVkQnV0dG9ucy5sZW5ndGggKiA0MCArMjB9cHhgXHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBzZXRCdXR0b25zKCl7XHJcblxyXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5idXR0b25zKSByZXR1cm5cclxuXHJcbiAgICBpZiAoIXRoaXMuc21hbGxTY3JlZW4pe1xyXG4gICAgICB0aGlzLmRpc3BsYXllZEJ1dHRvbnMgPSB0aGlzLmNvbmZpZy5idXR0b25zO1xyXG5cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmRpc3BsYXllZEJ1dHRvbnMgPSB0aGlzLmNvbmZpZy5idXR0b25zO1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0QnV0dG9uKG5hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5idXR0b25zKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiTm8gYnV0dG9ucyBmb3VuZFwiKVxyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmJ1dHRvbnMuZmluZCh4ID0+IHgubmFtZSA9PSBuYW1lKVxyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihidXR0b25OYW1lOiBzdHJpbmcpe1xyXG5cclxuICAgIGxldCBiID0gdGhpcy5nZXRCdXR0b24oYnV0dG9uTmFtZSk7XHJcbiAgICBpZiAoYi5pY29uKXtcclxuICAgICAgcmV0dXJuIGIuaWNvbi5uYW1lXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGkgPSAnb3Blbl9pbl9uZXcnXHJcblxyXG4gICAgc3dpdGNoIChidXR0b25OYW1lKSB7XHJcblxyXG4gICAgICBjYXNlICd2aWV3JzpcclxuXHJcbiAgICAgICAgaSA9IHRoaXMuY29uZmlnLmZsYXRCdXR0b25zID8gJ29wZW5faW5fbmV3JyA6ICdwYWdldmlldyc7XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdlZGl0JzpcclxuICAgICAgICBpID0gJ2VkaXQnXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XHJcbiAgICAgICAgaSA9ICdkZWxldGUnXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnV0dG9uQ29sb3IoYnV0dG9uOiBCdXR0b24sIHJvdykge1xyXG5cclxuICAgIGlmIChidXR0b24uZGlzYWJsZWQpe1xyXG4gICAgICBpZiAoYnV0dG9uLmRpc2FibGVkKHJvdykpe1xyXG4gICAgICAgIHJldHVybiAnbGlnaHRncmF5J1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJ1dHRvbi5jb2xvcil7XHJcbiAgICAgIHJldHVybiBidXR0b24uY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJ1dHRvbi5uYW1lID09ICdkZWxldGUnKXtcclxuICAgICAgcmV0dXJuICcjRjQ0MzM2J1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybicgIzQwNTBCNSdcclxuICB9XHJcblxyXG5cclxuICBnZXRPcHRpb25zKGNvbHVtbil7XHJcbiAgICBsZXQgeCA9IHRoaXMuY29uZmlnLmNvbHVtbnMuZmluZChvcHQgPT4gb3B0Lm5hbWUgPT09IGNvbHVtbik7XHJcbiAgICByZXR1cm4gIHhcclxuICB9XHJcblxyXG4gIGdldENvbG9yKHYsIG9wdGlvbnMpIHtcclxuXHJcbiAgICBsZXQgZGVmYXVsdENvbG9yID0gJ2xpZ2h0Z3JleSdcclxuXHJcbiAgICBpZiAoIW9wdGlvbnMpIHJldHVybiBkZWZhdWx0Q29sb3JcclxuXHJcbiAgICBsZXQgYyA9IG9wdGlvbnMuZmluZCh4ID0+IHgudmFsdWUgPT0gdilcclxuXHJcbiAgICBpZiAoYykge1xyXG4gICAgICByZXR1cm4gYy5jb2xvclxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGRlZmF1bHRDb2xvclxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgdGVzdEljb25Db25kaXRpb24odmFsdWU6IGFueSwgaWNvbiA6IEljb24pOiBib29sZWFuIHtcclxuXHJcbiAgICBpZiAoaWNvbi5jb25kaXRpb24pIHtcclxuICAgICAgcmV0dXJuIGljb24uY29uZGl0aW9uKHZhbHVlKTtcclxuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0ZXN0Q29sb3JDb25kaXRpb24odmFsdWU6IGFueSwgY29sb3I6IENvbG9yKTogYm9vbGVhbiB7XHJcblxyXG4gICAgaWYgKCFjb2xvcikgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChjb2xvci5jb25kaXRpb24pIHtcclxuICAgICAgcmV0dXJuIGNvbG9yLmNvbmRpdGlvbih2YWx1ZSk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93QmFubmVyKG1lc3NhZ2Upe1xyXG5cclxuICAgIGlmICghbWVzc2FnZSkgcmV0dXJuO1xyXG4gICAgaWYgKG1lc3NhZ2UgPT0gJycpIHJldHVybjtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhtZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIHRlc3REaXNhYmxlZChyb3csIGJ1dHRvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW57XHJcblxyXG4gICAgbGV0IGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKGJ1dHRvbk5hbWUpXHJcblxyXG4gICAgaWYgKGJ1dHRvbi5kaXNhYmxlZCl7XHJcblxyXG4gICAgICByZXR1cm4gYnV0dG9uLmRpc2FibGVkKHJvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG4gIHRlc3RWaXNpYmxlKHJvdywgYnV0dG9uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcblxyXG4gICAgbGV0IGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKGJ1dHRvbk5hbWUpXHJcblxyXG4gICAgaWYgKGJ1dHRvbi52aXNpYmxlKSB7XHJcblxyXG4gICAgICByZXR1cm4gYnV0dG9uLnZpc2libGUocm93KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG5cclxuICAvL0FjdGlvbnNcclxuXHJcblxyXG5cclxuICBsb2FkRGF0YShhY3Rpb246IEFjdGlvbiwgZGF0YTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImxvYWRpbmdcIilcclxuXHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcblxyXG5cclxuXHJcblxyXG4gICAgICB0aGlzLmRhdGFTZXJ2aWNlLkNhbGxBcGkoYWN0aW9uLCBkYXRhKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWcubG9nUmVzcG9uc2Upe1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYXBpUmVzcG9uc2UpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBhcGlSZXNwb25zZS5kYXRhXHJcblxyXG4gICAgICAgIHRoaXMudGFibGVEYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KGFwaVJlc3BvbnNlLmRhdGEpO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMudGFibGVQYWdpbmF0b3I7XHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoYXBpUmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnRhYmxlUGFnaW5hdG9yO1xyXG5cclxuICAgICAgICAgIHRoaXMuZGF0YUxvYWRlZChhcGlSZXNwb25zZS5kYXRhKTtcclxuXHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgc2VhcmNoQ2xpY2tlZCh4KXtcclxuICAgIGNvbnNvbGUubG9nKFwiU2VhcmNoXCIpXHJcbiAgICB0aGlzLnNlYXJjaENsaWNrLmVtaXQoeCk7XHJcblxyXG4gICAgLy8gY29uc29sZS5sb2coeClcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuc2VhcmNoQ29uZmlnLnNlYXJjaEFjdGlvbil7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNlYXJjaENvbmZpZy5zZWFyY2hBY3Rpb24ubWV0aG9kID09ICdwb3N0J1xyXG4gICAgICB0aGlzLmxvYWREYXRhKHRoaXMuY29uZmlnLnNlYXJjaENvbmZpZy5zZWFyY2hBY3Rpb24sIHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaENsaWNrZWQoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlZnJlc2hcIilcclxuICAgIHRoaXMucmVmcmVzaENsaWNrLmVtaXQoKTtcclxuXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmxvYWRBY3Rpb24pIHtcclxuICAgICAgdGhpcy5sb2FkRGF0YSh0aGlzLmNvbmZpZy5sb2FkQWN0aW9uLFwiXCIpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZGF0YUxvYWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGF0YUxvYWRlZCh4KSB7XHJcblxyXG4gICAgdGhpcy5kYXRhTG9hZC5lbWl0KHgpXHJcblxyXG4gICAgY29uc29sZS5sb2coXCJkYXRhbG9hZGVkXCIpXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRpbGVDb25maWc/LmxvYWRBY3Rpb24pIHtcclxuICAgICAgdGhpcy50aWxlUmVsb2FkLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGFjdGlvbkNsaWNrZWQobmFtZSwgcm93KSB7XHJcblxyXG4gICAgaWYgKG5hbWUgPT0gJ3ZpZXcnKSB7XHJcbiAgICAgIHRoaXMudmlld01vZGVsKHJvdylcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKG5hbWUgPT0gJ2VkaXQnKSB7XHJcbiAgICAgIHRoaXMuZWRpdE1vZGVsKHJvdyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChuYW1lID09ICdkZWxldGUnKSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlTW9kZWwocm93KTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmN1c3RvbU1vZGVsKG5hbWUscm93KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgY29sdW1uQ2xpY2tlZChjb2x1bW4gOiBDb2x1bW4sIHJvdyl7XHJcblxyXG4gICAgaWYgKGNvbHVtbi5kZXRhaWxzQ29uZmlnKXtcclxuXHJcbiAgICAgIGNvbHVtbi5kZXRhaWxzQ29uZmlnLmRldGFpbHMgPSByb3c7XHJcblxyXG5cclxuICAgICAgaWYgKGNvbHVtbi5kZXRhaWxzQ29uZmlnLnRhYmxlQ29uZmlnICYmIGNvbHVtbi5kZXRhaWxzQ29uZmlnLnRhYmxlQ29uZmlnLmxvYWRBY3Rpb24gJiYgY29sdW1uLmRldGFpbHNDb25maWcudGFibGVDb25maWcubG9hZENyaXRlcmlhICYmIGNvbHVtbi5kZXRhaWxzQ29uZmlnLnRhYmxlQ29uZmlnLmxvYWRJREZpZWxkICl7XHJcbiAgICAgICAgY29sdW1uLmRldGFpbHNDb25maWcudGFibGVDb25maWcubG9hZEFjdGlvbi51cmwgPSBjb2x1bW4uZGV0YWlsc0NvbmZpZy50YWJsZUNvbmZpZy5sb2FkQWN0aW9uLnVybC5zcGxpdCgnLycpWzBdICsgXCIvXCIgKyBjb2x1bW4uZGV0YWlsc0NvbmZpZy50YWJsZUNvbmZpZy5sb2FkQ3JpdGVyaWEgKyBcIi9cIiArIGNvbHVtbi5kZXRhaWxzQ29uZmlnLmRldGFpbHNbY29sdW1uLmRldGFpbHNDb25maWcudGFibGVDb25maWcubG9hZElERmllbGRdIC8vIGZpeCBkYXRhIHRvIHByb3BlciBzb3VyY2VcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlRyYW5zZm9ybWVkXCIpXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTk9UIFRyYW5zZm9ybWVkXCIpXHJcbiAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZXRhaWxzRGlhbG9nLCB7XHJcbiAgICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgICBkYXRhOiBjb2x1bW4uZGV0YWlsc0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChjb2x1bW4ubmFtZSwgcm93KVxyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2tlZCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChjb2x1bW4ubmFtZSwgcm93KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3VzdG9tTW9kZWwobmFtZSwgcm93KSB7XHJcblxyXG4gICAgbGV0IGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKG5hbWUpO1xyXG4gICAgaWYgKGJ1dHRvbikge1xyXG5cclxuICAgICAgaWYgKCFidXR0b24uZGlhbG9nKXtcclxuICAgICAgICB0aGlzLmRvQWN0aW9uKGJ1dHRvbi5uYW1lLCByb3cpXHJcbiAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChuYW1lLCByb3cpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcblxyXG4gICAgICAgIGlmIChidXR0b24uZGV0YWlsc0NvbmZpZykge1xyXG5cclxuICAgICAgICAgIGJ1dHRvbi5kZXRhaWxzQ29uZmlnLmRldGFpbHMgPSByb3c7XHJcblxyXG4gICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZXRhaWxzRGlhbG9nLCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBcIjkwMHB4XCIsXHJcbiAgICAgICAgICAgIGRhdGE6IGJ1dHRvbi5kZXRhaWxzQ29uZmlnXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdC5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChidXR0b24ubmFtZSwgcm93KVxyXG4gICAgICAgICAgICAgIHRoaXMucmVmcmVzaENsaWNrZWQoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZEVtaXQoYnV0dG9uLm5hbWUsIHJvdylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChuYW1lLCByb3cpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGFjdGlvbkNsaWNrZWRFbWl0KG5hbWUsIHJvdykge1xyXG4gICAgY29uc29sZS5sb2coXCJBY3Rpb24gY2xpY2tlZFwiKVxyXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHtuYW1lOm5hbWUsZGF0YSA6IHJvd30pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgdmlld01vZGVsKHJvdykge1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwidmlldyBDbGlja2VkXCIpXHJcblxyXG4gICAgbGV0IGJ1dHRvbiA9IHRoaXMuZ2V0QnV0dG9uKCd2aWV3Jyk7XHJcblxyXG4gICAgaWYgKCFidXR0b24pIHJldHVybjtcclxuXHJcbiAgICBpZiAoIWJ1dHRvbi5kaWFsb2cpIHtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChidXR0b24ubmFtZSwgcm93KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUNvbmZpZykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGNvbmZpZ3VyZSBmb3JtXCIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLm1vZGUgPSBcInZpZXdcIjtcclxuICAgIGxldCBjb25mOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmZvcm1Db25maWcsXHJcbiAgICAgIGJ1dHRvbnM6IHRoaXMuY29uZmlnLmJ1dHRvbnMsXHJcbiAgICAgIGRldGFpbHM6IHJvdyxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERldGFpbHNEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgZGF0YTogY29uZlxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2tlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG5cclxuICB9XHJcblxyXG4gIG5ld01vZGVsKCkge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbignY3JlYXRlJyk7XHJcbiAgICBpZiAoIWJ1dHRvbikgcmV0dXJuO1xyXG5cclxuICAgIGlmICghYnV0dG9uLmRpYWxvZykge1xyXG4gICAgICB0aGlzLmFjdGlvbkNsaWNrZWRFbWl0KGJ1dHRvbi5uYW1lLCBudWxsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUNvbmZpZykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGNvbmZpZ3VyZSBmb3JtXCIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLm1vZGUgPSBcImNyZWF0ZVwiO1xyXG4gICAgbGV0IGNvbmYgOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBjb25maWcgOiB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLFxyXG4gICAgICBidXR0b25zIDogdGhpcy5jb25maWcuYnV0dG9ucyxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERldGFpbHNEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgZGF0YTogY29uZixcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZEVtaXQoJ2NyZWF0ZScscmVzdWx0LmRhdGEpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaENsaWNrZWQoKTtcclxuICAgICAgfSBlbHNlIGlmIChyZXN1bHQubWVzc2FnZSA9PSBcImVtaXRcIikge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uQ2xpY2tlZEVtaXQoJ2NyZWF0ZScscmVzdWx0LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZWRpdE1vZGVsKHJvdykge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbignZWRpdCcpO1xyXG4gICAgaWYgKCFidXR0b24pIHJldHVybjtcclxuXHJcbiAgICBpZiAoIWJ1dHRvbi5kaWFsb2cpIHtcclxuICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdChidXR0b24ubmFtZSwgcm93KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUNvbmZpZykge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGNvbmZpZ3VyZSBmb3JtXCIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLm1vZGUgPSBcImVkaXRcIjtcclxuICAgIGxldCBjb25mOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmZvcm1Db25maWcsXHJcbiAgICAgIGJ1dHRvbnM6IHRoaXMuY29uZmlnLmJ1dHRvbnMsXHJcbiAgICAgIGRldGFpbHMgOiByb3csXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEZXRhaWxzRGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjkwMHB4XCIsXHJcbiAgICAgIGRhdGE6IGNvbmZcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UuaW5wdXRDaGFuZ2Uuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VkKHgpXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0KVxyXG4gICAgICBpZiAocmVzdWx0Lm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICB0aGlzLmFjdGlvbkNsaWNrZWRFbWl0KCdlZGl0JyxyZXN1bHQuZGF0YSk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2xpY2tlZCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5tZXNzYWdlID09IFwiZW1pdFwiKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdCgnZWRpdCcscmVzdWx0LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZU1vZGVsKHJvdykge1xyXG5cclxuICAgIGxldCBidXR0b24gPSB0aGlzLmdldEJ1dHRvbignZGVsZXRlJyk7XHJcbiAgICBpZiAoIWJ1dHRvbikgcmV0dXJuO1xyXG5cclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERFTEVURSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25DbGlja2VkRW1pdCgnZGVsZXRlJywgcm93KVxyXG4gICAgICAgIHRoaXMuZG9BY3Rpb24oYnV0dG9uLm5hbWUscm93KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGRvQWN0aW9uKGJ1dHRvbk5hbWU6IHN0cmluZywgcm93KSB7XHJcblxyXG4gICAgbGV0IGIgPSB0aGlzLmdldEJ1dHRvbihidXR0b25OYW1lKVxyXG5cclxuICAgIGlmICghYikgcmV0dXJuO1xyXG5cclxuICAgIGlmICghYi5hY3Rpb24pIHJldHVybjtcclxuXHJcbiAgICBpZiAoYi5jb25maXJtKXtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5jb25maXJtKGAke2IuY29uZmlybS5tZXNzYWdlfWApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLmV4ZWNBY3Rpb24oYixyb3cpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmV4ZWNBY3Rpb24oYiwgcm93KVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBleGVjQWN0aW9uKGI6IEJ1dHRvbiwgcm93KXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaShiLmFjdGlvbiwgcm93KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIGlmIChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChiLmFjdGlvbi5zdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiVXBkYXRlZFwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVmcmVzaENsaWNrZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiXG48c3BhLXNlYXJjaCAqbmdJZj1cImNvbmZpZy5zZWFyY2hDb25maWdcIiBbY29uZmlnXT1cImNvbmZpZy5zZWFyY2hDb25maWdcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDIwcHg7XCIgKHNlYXJjaENsaWNrKT1cInNlYXJjaENsaWNrZWQoJGV2ZW50KVwiPjwvc3BhLXNlYXJjaD5cblxuPGRpdiBjbGFzcz1cInRvcFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgPlxuICAgIDxidXR0b24gKm5nSWY9XCJjcmVhdGVCdXR0b25cIiBpZD1cImJ0bk5ld1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O1wiIChjbGljayk9XCJuZXdNb2RlbCgpXCI+e3tjcmVhdGVCdXR0b24uZGlzcGxheX19PC9idXR0b24+XG4gICAgPCEtLSA8c3BhLXRpbGVzICpuZ0lmPVwiY29uZmlnLnRpbGVDb25maWdcIiBbcmVsb2FkXT1cInRpbGVSZWxvYWRcIiBbY29uZmlnXT1cImNvbmZpZy50aWxlQ29uZmlnXCI+PC9zcGEtdGlsZXM+IC0tPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnLnRpbGVDb25maWcgJiYgIXNtYWxsU2NyZWVuXCIgc3R5bGU9XCJtaW4td2lkdGg6IDc1JTtcIj5cbiAgICA8c3BhLXRpbGVzICBbcmVsb2FkXT1cInRpbGVSZWxvYWRcIiBbY29uZmlnXT1cImNvbmZpZy50aWxlQ29uZmlnXCI+PC9zcGEtdGlsZXM+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJjb25maWcuc2hvd0ZpbHRlclwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICA8c3BhLWZpbHRlciBbc2hvd0J1dHRvbl09XCJzaG93RmlsdGVyQnV0dG9uXCIgW2RhdGFdPVwidGFibGVEYXRhU291cmNlXCIgKHJlZnJlc2hDbGljayk9XCJyZWZyZXNoQ2xpY2tlZCgpXCI+PC9zcGEtZmlsdGVyPlxuICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJjb25maWcudGlsZUNvbmZpZyAmJiBzbWFsbFNjcmVlblwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XG4gIDxzcGEtdGlsZXMgW3JlbG9hZF09XCJ0aWxlUmVsb2FkXCIgW2NvbmZpZ109XCJjb25maWcudGlsZUNvbmZpZ1wiPjwvc3BhLXRpbGVzPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJjb25maWcudGl0bGVcIiBjbGFzcz1cInRpdGxlXCI+XG4gIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogbGFyZ2VyO1wiPnt7Y29uZmlnLnRpdGxlIHwgY2FtZWxUb1dvcmRzfX08L2xhYmVsPlxuPC9kaXY+XG5cbjxkaXY+XG5cbiAgPHAgKm5nSWY9XCIhY29uZmlnXCI+PGVtPkNvbmZpZ3VyZSBUYWJsZTwvZW0+PC9wPlxuICA8cCAqbmdJZj1cIiFkYXRhU291cmNlXCI+PGVtPkxvYWRpbmcuLi48L2VtPjwvcD5cblxuXG5cbiAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2VcIj5cblxuXG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJ0YWJsZURhdGFTb3VyY2VcIiAgW25nQ2xhc3NdPVwiZWxldmF0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29uZmlnLmNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgPnt7IGNvbHVtbi5hbGlhcyA/PyBjb2x1bW4ubmFtZSB8IGNhbWVsVG9Xb3JkcyB9fTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3c7XCIgY2xhc3M9XCJyaWdodC1wYWRkaW5nXCIgPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxuICAgICAgICAgICAgICA8c3BhLWNoZWNrIFt2YWx1ZV09XCJyb3dbY29sdW1uLm5hbWVdXCIgW3JlYWRvbmx5XT1cInRydWVcIj48L3NwYS1jaGVjaz5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiPlxuICAgICAgICAgICAgICA8c3BhLXNlbGVjdCBbb3B0aW9uc109XCJjb2x1bW4ub3B0aW9uc1wiIFtvcHRpb25EaXNwbGF5XT1cImNvbHVtbi5vcHRpb25EaXNwbGF5XCIgW29wdGlvblZhbHVlXT1cImNvbHVtbi5vcHRpb25WYWx1ZVwiIFsodmFsdWUpXT1cInJvd1tjb2x1bW4ubmFtZV1cIiB3aWR0aD1cIjkwJVwiID48L3NwYS1zZWxlY3Q+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoaXAnXCI+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0PlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcCAoY2xpY2spPVwiY29sdW1uQ2xpY2tlZChjb2x1bW4sIHJvdylcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiB0ZXN0Q29sb3JDb25kaXRpb24ocm93LCBjb2x1bW4uY29sb3IpID8gY29sdW1uLmNvbG9yLm5hbWUgOiBnZXRDb2xvcihyb3dbY29sdW1uLm5hbWVdLCBjb2x1bW4/Lm9wdGlvbnMpfVwiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e3Jvd1tjb2x1bW4ubmFtZV19fSA8L21hdC1jaGlwPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIGNvbHVtbi5pY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpY29uJ1wiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxuICAgICAgICAgICAgICB7e3Jvd1tjb2x1bW4ubmFtZV0gfCBkYXRlIDogJ2RkL01NL3l5eXknfX1cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZXRpbWUnXCI+XG4gICAgICAgICAgICAgIHt7cm93W2NvbHVtbi5uYW1lXSB8IGRhdGUgOiAnZGQvTU0veXl5eSBISDptbSd9fVxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwiY29sdW1uLmljb24gJiYgdGVzdEljb25Db25kaXRpb24ocm93LCBjb2x1bW4uaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbY29sdW1uLmljb24udGlwRmllbGRdID8/IGNvbHVtbi5pY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NwaW5uZXInXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIyMFwiPlxuXG4gICAgICAgICAgICAgICAgPC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbmV5J1wiPlxuXG4gICAgICAgICAgICAgIDxsYWJlbCBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCI+e3tyb3dbY29sdW1uLm5hbWVdIHwgY3VycmVuY3k6Jyc6Jyd9fTwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmNvbHVtbi5pY29uPy5jb2xvcn1cIj57e2NvbHVtbi5pY29uLm5hbWUgfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGljb24gb2YgY29sdW1uLmljb25zXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cInRlc3RJY29uQ29uZGl0aW9uKHJvdywgaWNvbilcIiBbbWF0VG9vbHRpcF09XCJyb3dbaWNvbi50aXBGaWVsZF0gPz8gaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6aWNvbj8uY29sb3J9XCI+e3tpY29uLm5hbWUgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uJ1wiPlxuXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogdGVzdENvbG9yQ29uZGl0aW9uKHJvdywgY29sdW1uLmNvbG9yKSA/IGNvbHVtbi5jb2xvci5uYW1lIDogJyd9XCIgKGNsaWNrKT1cImFjdGlvbkNsaWNrZWQoY29sdW1uLm5hbWUsIHJvdylcIj57e3Jvd1tjb2x1bW4ubmFtZV19fTwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJjb2x1bW4uaWNvbiAmJiB0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGNvbHVtbi5pY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0gPz8gY29sdW1uLmljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzpjb2x1bW4uaWNvbj8uY29sb3J9XCI+e3tjb2x1bW4uaWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpY29uIG9mIGNvbHVtbi5pY29uc1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNvbC1pY29uXCIgKm5nSWY9XCJ0ZXN0SWNvbkNvbmRpdGlvbihyb3csIGljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2ljb24udGlwRmllbGRdID8/IGljb24/LnRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cInNob3dCYW5uZXIocm93W2ljb24udGlwRmllbGRdKVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOmljb24/LmNvbG9yfVwiPnt7aWNvbi5uYW1lIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICA8bGFiZWwgW25nU3R5bGVdPVwieydjb2xvcic6IHRlc3RDb2xvckNvbmRpdGlvbihyb3csIGNvbHVtbi5jb2xvcikgPyBjb2x1bW4uY29sb3IubmFtZSA6ICcnfVwiPnt7cm93W2NvbHVtbi5uYW1lXX19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY29sLWljb25cIiAqbmdJZj1cImNvbHVtbi5pY29uICYmIHRlc3RJY29uQ29uZGl0aW9uKHJvdywgY29sdW1uLmljb24pXCIgW21hdFRvb2x0aXBdPVwicm93W2NvbHVtbi5pY29uLnRpcEZpZWxkXSA/PyBjb2x1bW4uaWNvbj8udGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiAoY2xpY2spPVwic2hvd0Jhbm5lcihyb3dbY29sdW1uLmljb24udGlwRmllbGRdKVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tjb2x1bW4uaWNvbi50aXBGaWVsZF0pXCIgW25nU3R5bGVdPVwieydjb2xvcic6Y29sdW1uLmljb24/LmNvbG9yfVwiPnt7Y29sdW1uLmljb24ubmFtZSB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWNvbiBvZiBjb2x1bW4uaWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjb2wtaWNvblwiICpuZ0lmPVwidGVzdEljb25Db25kaXRpb24ocm93LCBpY29uKVwiIFttYXRUb29sdGlwXT1cInJvd1tpY29uLnRpcEZpZWxkXSA/PyBpY29uPy50aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIChjbGljayk9XCJzaG93QmFubmVyKHJvd1tpY29uLnRpcEZpZWxkXSlcIiBbbmdTdHlsZV09XCJ7J2NvbG9yJzppY29uPy5jb2xvcn1cIj57e2ljb24ubmFtZSB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvblwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb24gPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIFtuZ1N0eWxlXT1cInt3aWR0aDpmYWxzZSA/ICc1MHB4JyA6IGFjdGlvbnNXaWR0aH1cIj5cblxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRpc3BsYXllZEJ1dHRvbnNcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ1dHRvbi5uYW1lICE9ICdjcmVhdGUnICYmIHRlc3RWaXNpYmxlKHJvdyxidXR0b24ubmFtZSlcIj5cblxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWNvbmZpZy5mbGF0QnV0dG9uc1wiIG1hdC1taW5pLWZhYiAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLnRpcCA/PyBidXR0b24ubmFtZSBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjVweFwiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6Z2V0QnV0dG9uQ29sb3IoYnV0dG9uLCByb3cpfVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0ZXN0RGlzYWJsZWQocm93LGJ1dHRvbi5uYW1lKVwiICAoY2xpY2spPVwiYWN0aW9uQ2xpY2tlZChidXR0b24ubmFtZSwgcm93KVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57e2dldEljb24oYnV0dG9uLm5hbWUpfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29uZmlnLmZsYXRCdXR0b25zXCIgIG1hdC1pY29uLWJ1dHRvbiAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLnRpcCA/PyBidXR0b24ubmFtZSBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjVweFwiXG5cbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRlc3REaXNhYmxlZChyb3csYnV0dG9uLm5hbWUpXCIgIChjbGljayk9XCJhY3Rpb25DbGlja2VkKGJ1dHRvbi5uYW1lLCByb3cpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuZ1N0eWxlXT1cInsnY29sb3InOmdldEJ1dHRvbkNvbG9yKGJ1dHRvbiwgcm93KX1cIj57e2dldEljb24oYnV0dG9uLm5hbWUpfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b24ubmFtZSAhPSAnY3JlYXRlJyAmJiAhdGVzdFZpc2libGUocm93LGJ1dHRvbi5uYW1lKVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDM1cHg7XCI+PC9sYWJlbD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIFtuZ0NsYXNzXT1cInsnbWFrZS1ncmF5JzogY29uZmlnLmdyZXlPdXQgJiYgY29uZmlnLmdyZXlPdXQocm93KX1cIj48L3RyPlxuICAgIDwvdGFibGU+XG5cbiAgPC9kaXY+XG5cbiAgPG1hdC1wYWdpbmF0b3IgI3RhYmxlUGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzEwLCAyMCwgNTBdXCIgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM+PC9tYXQtcGFnaW5hdG9yPlxuXG48L2Rpdj5cblxuPHAgKm5nSWY9XCJkYXRhU291cmNlPy5sZW5ndGggPT0gMFwiPjxlbT5ObyBEYXRhPC9lbT48L3A+XG5cblxuIl19