@kaspernj/api-maker 1.0.2099 → 1.0.2100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/can-can.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"can-can.d.ts","sourceRoot":"/src/","sources":["can-can.js"],"names":[],"mappings":"AASA;IAiBE,sBAIC;IApBD,iBAAc;IACd,uBAAoB;IACpB,2BAAwB;IACxB,4BAAuB;IACvB,iBAAY;IACZ,qBAAgB;IAChB,gCAA4B;IAC5B,6BAA8B;IAC9B,8BAA0B;IAC1B,kBAAmB;IACnB,yBAA0B;IAC1B,2CAA2B;IAC3B,wBAA8B;IAC9B,+BAA2B;IAC3B,sBAAuB;IAQvB,mDAsBC;IAED,uDAYC;IAED,kCAIC;IAED,iCAeC;IAED,6CAKC;IAED,qDAEC;IAED,uBAEC;IAED,sBAEC;IAED,yCAQC;IAED,uBAEC;IAED,6BAIC;IAED,6CAyCC;IAED,sDAsBC;IAED,8BAIC;IADC,6CAA4E;IAG9E,+BA0BC;IAED,8DA2BC;IAED,
|
|
1
|
+
{"version":3,"file":"can-can.d.ts","sourceRoot":"/src/","sources":["can-can.js"],"names":[],"mappings":"AASA;IAiBE,sBAIC;IApBD,iBAAc;IACd,uBAAoB;IACpB,2BAAwB;IACxB,4BAAuB;IACvB,iBAAY;IACZ,qBAAgB;IAChB,gCAA4B;IAC5B,6BAA8B;IAC9B,8BAA0B;IAC1B,kBAAmB;IACnB,yBAA0B;IAC1B,2CAA2B;IAC3B,wBAA8B;IAC9B,+BAA2B;IAC3B,sBAAuB;IAQvB,mDAsBC;IAED,uDAYC;IAED,kCAIC;IAED,iCAeC;IAED,6CAKC;IAED,qDAEC;IAED,uBAEC;IAED,sBAEC;IAED,yCAQC;IAED,uBAEC;IAED,6BAIC;IAED,6CAyCC;IAED,sDAsBC;IAED,8BAIC;IADC,6CAA4E;IAG9E,+BA0BC;IAED,8DA2BC;IAED,0CA2EC;IAED,2CAUC;IAED,+CAOC;IAED,+BAoBC;IAED,4CAIC;CACF;6BAjY0B,eAAe;kCACV,YAAY"}
|
package/build/can-can.js
CHANGED
|
@@ -239,10 +239,11 @@ export default class ApiMakerCanCan {
|
|
|
239
239
|
try {
|
|
240
240
|
const result = await Services.current().sendRequest("CanCan::LoadAbilities", {
|
|
241
241
|
request: abilitiesToLoadData
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
if (Array.isArray(
|
|
245
|
-
abilities
|
|
242
|
+
});
|
|
243
|
+
abilities = digg(result, "abilities");
|
|
244
|
+
if (!Array.isArray(abilities)) {
|
|
245
|
+
throw new Error(`Expected CanCan::LoadAbilities response abilities to be an array, got: ${typeof abilities}`);
|
|
246
|
+
}
|
|
246
247
|
}
|
|
247
248
|
catch (error) {
|
|
248
249
|
didFail = true;
|
|
@@ -330,4 +331,4 @@ export default class ApiMakerCanCan {
|
|
|
330
331
|
Promise.reject(error);
|
|
331
332
|
}
|
|
332
333
|
}
|
|
333
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY2FuLWNhbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ2QsZUFBZSxHQUFHLEVBQUUsQ0FBQTtJQUNwQixtQkFBbUIsR0FBRyxFQUFFLENBQUE7SUFDeEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDWixZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDNUIsdUJBQXVCLEdBQUcsSUFBSSxDQUFBO0lBQzlCLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQzFCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO0lBQzFCLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzNCLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUE7SUFDOUIsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDM0IsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFFdkIsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQjtZQUFFLE1BQU0sQ0FBQyxxQkFB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QU8sT0FBTyxDQUFDLElBQUksQ0FBQTtRQUNyQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQseUJBQXlCLENBQUUsS0FBSztRQUM5QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU07UUFFbEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCJcbmltcG9ydCB7UmVhZGVyc1dyaXRlckxvY2t9IGZyb20gXCJlcGljLWxvY2tzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4vc2VydmljZXMuanNcIlxuXG5jb25zdCBzaGFyZWQgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckNhbkNhbiB7XG4gIGFiaWxpdGllcyA9IFtdXG4gIGFiaWxpdGllc1RvTG9hZCA9IFtdXG4gIGFiaWxpdGllc1RvTG9hZERhdGEgPSBbXVxuICBhYmlsaXRpZXNHZW5lcmF0aW9uID0gMFxuICBjYWNoZUtleSA9IDBcbiAgbG9hZGluZ0NvdW50ID0gMFxuICBtaXNzaW5nQWJpbGl0aWVzID0gbmV3IE1hcCgpXG4gIG1pc3NpbmdBYmlsaXRpZXNUaW1lb3V0ID0gbnVsbFxuICByZWxvYWRQcm9taXNlcyA9IG5ldyBNYXAoKVxuICByZXNldFByb21pc2UgPSBudWxsXG4gIHJlc2V0dGluZ0dlbmVyYXRpb24gPSBudWxsXG4gIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBsb2NrID0gbmV3IFJlYWRlcnNXcml0ZXJMb2NrKClcbiAgYWJpbGl0aWVzQnlOYW1lID0gbmV3IE1hcCgpXG4gIGRlYnVnVG9rZW5zID0gbmV3IFNldCgpXG5cbiAgc3RhdGljIGN1cnJlbnQgKCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNhbkNhbikgc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNhbkNhbiA9IG5ldyBBcGlNYWtlckNhbkNhbigpXG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNhbkNhblxuICB9XG5cbiAgY2FuIChhYmlsaXR5LCBzdWJqZWN0LCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBmb3VuZEFiaWxpdHkgPSB0aGlzLmZpbmRBYmlsaXR5KGFiaWxpdHksIHN1YmplY3QpXG5cbiAgICBpZiAoZm91bmRBYmlsaXR5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRBYmlsaXR5ID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpXG4gICAgICB0aGlzLnJlY29yZE1pc3NpbmdBYmlsaXR5KG5vcm1hbGl6ZWRBYmlsaXR5LCBzdWJqZWN0KVxuXG4gICAgICBpZiAob3B0aW9ucy5kZWJ1Zykge1xuICAgICAgICBsZXQgc3ViamVjdExhYmVsID0gc3ViamVjdFxuXG4gICAgICAgIC8vIFRyYW5zbGF0ZSByZXNvdXJjZS1tb2RlbHMgaW50byBjbGFzcyBuYW1lIHN0cmluZ3NcbiAgICAgICAgaWYgKHR5cGVvZiBzdWJqZWN0ID09IFwiZnVuY3Rpb25cIiAmJiBzdWJqZWN0Lm1vZGVsQ2xhc3NEYXRhKSB7XG4gICAgICAgICAgc3ViamVjdExhYmVsID0gZGlnZyhzdWJqZWN0Lm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5lcnJvcihgQWJpbGl0eSBub3QgbG9hZGVkICR7c3ViamVjdExhYmVsfSMke25vcm1hbGl6ZWRBYmlsaXR5fWAsIHthYmlsaXRpZXM6IHRoaXMuYWJpbGl0aWVzLCBhYmlsaXR5LCBzdWJqZWN0fSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRpZ2coZm91bmRBYmlsaXR5LCBcImNhblwiKVxuICAgIH1cbiAgfVxuXG4gIHJlY29yZE1pc3NpbmdBYmlsaXR5IChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgbGV0IG1pc3NpbmdBYmlsaXR5U2V0ID0gdGhpcy5taXNzaW5nQWJpbGl0aWVzLmdldChzdWJqZWN0KVxuXG4gICAgaWYgKCFtaXNzaW5nQWJpbGl0eVNldCkge1xuICAgICAgbWlzc2luZ0FiaWxpdHlTZXQgPSBuZXcgU2V0KClcbiAgICAgIHRoaXMubWlzc2luZ0FiaWxpdGllcy5zZXQoc3ViamVjdCwgbWlzc2luZ0FiaWxpdHlTZXQpXG4gICAgfVxuXG4gICAgaWYgKG1pc3NpbmdBYmlsaXR5U2V0LmhhcyhhYmlsaXR5KSkgcmV0dXJuXG5cbiAgICBtaXNzaW5nQWJpbGl0eVNldC5hZGQoYWJpbGl0eSlcbiAgICB0aGlzLnF1ZXVlTWlzc2luZ0FiaWxpdGllc0xvYWQoKVxuICB9XG5cbiAgcXVldWVNaXNzaW5nQWJpbGl0aWVzTG9hZCAoKSB7XG4gICAgaWYgKHRoaXMubWlzc2luZ0FiaWxpdGllc1RpbWVvdXQpIHJldHVyblxuXG4gICAgdGhpcy5taXNzaW5nQWJpbGl0aWVzVGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5sb2FkTWlzc2luZ0FiaWxpdGllcywgMClcbiAgfVxuXG4gIGxvYWRNaXNzaW5nQWJpbGl0aWVzID0gKCkgPT4ge1xuICAgIGNvbnN0IG1pc3NpbmdBYmlsaXRpZXMgPSB0aGlzLm1pc3NpbmdBYmlsaXRpZXNcblxuICAgIHRoaXMubWlzc2luZ0FiaWxpdGllcyA9IG5ldyBNYXAoKVxuICAgIHRoaXMubWlzc2luZ0FiaWxpdGllc1RpbWVvdXQgPSBudWxsXG5cbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWQgPSBbXVxuXG4gICAgZm9yIChjb25zdCBbc3ViamVjdCwgYWJpbGl0aWVzXSBvZiBtaXNzaW5nQWJpbGl0aWVzLmVudHJpZXMoKSkge1xuICAgICAgYWJpbGl0aWVzVG9Mb2FkLnB1c2goW3N1YmplY3QsIEFycmF5LmZyb20oYWJpbGl0aWVzKV0pXG4gICAgfVxuXG4gICAgaWYgKGFiaWxpdGllc1RvTG9hZC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzVG9Mb2FkKVxuICAgIH1cbiAgfVxuXG4gIGZpbmRBYmlsaXR5IChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgY29uc3QgYWJpbGl0eUtleSA9IHRoaXMuYWJpbGl0eUtleShhYmlsaXR5LCBzdWJqZWN0KVxuICAgIGlmICghYWJpbGl0eUtleSkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHRoaXMuYWJpbGl0aWVzQnlOYW1lLmdldChhYmlsaXR5S2V5KVxuICB9XG5cbiAgaXNBYmlsaXR5TG9hZGVkIChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEFiaWxpdHkoYWJpbGl0eSwgc3ViamVjdCkgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgaXNSZWxvYWRpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdDb3VudCA+IDAgfHwgdGhpcy5yZXNldHRpbmdHZW5lcmF0aW9uICE9PSBudWxsXG4gIH1cblxuICBnZXRDYWNoZUtleSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVLZXlcbiAgfVxuXG4gIHNldERlYnVnICh0b2tlbiwgZW5hYmxlZCkge1xuICAgIGlmICghdG9rZW4pIHJldHVyblxuXG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZGVidWdUb2tlbnMuYWRkKHRva2VuKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlYnVnVG9rZW5zLmRlbGV0ZSh0b2tlbilcbiAgICB9XG4gIH1cblxuICBpc0RlYnVnZ2luZyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVidWdUb2tlbnMuc2l6ZSA+IDBcbiAgfVxuXG4gIGRlYnVnTG9nIChtZXNzYWdlKSB7XG4gICAgaWYgKHRoaXMuaXNEZWJ1Z2dpbmcoKSkge1xuICAgICAgY29uc29sZS5sb2cobWVzc2FnZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQWJpbGl0aWVzIChhYmlsaXRpZXMpIHtcbiAgICBjb25zdCBnZW5lcmF0aW9uID0gdGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9uXG4gICAgY29uc3QgbG9hZFN1bW1hcnkgPSBbXG4gICAgICBcIltjYW4tY2FuLWRlYnVnXSBsb2FkQWJpbGl0aWVzOnN0YXJ0XCIsXG4gICAgICBgZ2VuZXJhdGlvbj0ke2dlbmVyYXRpb259YCxcbiAgICAgIGByZXF1ZXN0cz0ke2FiaWxpdGllcy5sZW5ndGh9YFxuICAgIF0uam9pbihcIjsgXCIpXG4gICAgdGhpcy5kZWJ1Z0xvZyhsb2FkU3VtbWFyeSlcblxuICAgIHRoaXMubG9hZGluZ0NvdW50ICs9IDFcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmxvY2sucmVhZChhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW11cblxuICAgICAgICBmb3IgKGNvbnN0IGFiaWxpdHlEYXRhIG9mIGFiaWxpdGllcykge1xuICAgICAgICAgIGNvbnN0IHN1YmplY3QgPSBhYmlsaXR5RGF0YVswXVxuXG4gICAgICAgICAgaWYgKCFzdWJqZWN0KSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3ViamVjdCBnaXZlbiBpbiBhYmlsaXRpZXM6ICR7c3ViamVjdH0gLSAke0pTT04uc3RyaW5naWZ5KGFiaWxpdGllcyl9YClcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJpbGl0eURhdGFbMV0pKSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGFuIGFycmF5IG9mIGFiaWxpdGllcyBidXQgZ290OiAke3R5cGVvZiBhYmlsaXR5RGF0YVsxXX06ICR7YWJpbGl0eURhdGFbMV19YClcblxuICAgICAgICAgIGZvciAoY29uc3QgYWJpbGl0eSBvZiBhYmlsaXR5RGF0YVsxXSkge1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMubG9hZEFiaWxpdHkoYWJpbGl0eSwgc3ViamVjdClcblxuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChwcm9taXNlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZG9uZVN1bW1hcnkgPSBbXG4gICAgICAgIFwiW2Nhbi1jYW4tZGVidWddIGxvYWRBYmlsaXRpZXM6ZG9uZVwiLFxuICAgICAgICBgZ2VuZXJhdGlvbj0ke2dlbmVyYXRpb259YCxcbiAgICAgICAgYGN1cnJlbnRHZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWAsXG4gICAgICAgIGBsb2FkaW5nQ291bnQ9JHt0aGlzLmxvYWRpbmdDb3VudH1gXG4gICAgICBdLmpvaW4oXCI7IFwiKVxuICAgICAgdGhpcy5kZWJ1Z0xvZyhkb25lU3VtbWFyeSlcbiAgICAgIGlmICh0aGlzLmxvYWRpbmdDb3VudCA+IDApIHRoaXMubG9hZGluZ0NvdW50IC09IDFcbiAgICAgIGlmICh0aGlzLnJlc2V0dGluZ0dlbmVyYXRpb24gPT09IGdlbmVyYXRpb24pIHRoaXMucmVzZXR0aW5nR2VuZXJhdGlvbiA9IG51bGxcbiAgICB9XG4gIH1cblxuICBsb2FkQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZEFiaWxpdHkgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoYWJpbGl0eSlcblxuICAgICAgaWYgKHRoaXMuaXNBYmlsaXR5TG9hZGVkKG5vcm1hbGl6ZWRBYmlsaXR5LCBzdWJqZWN0KSkge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvdW5kQWJpbGl0eSA9IHRoaXMuYWJpbGl0aWVzVG9Mb2FkLmZpbmQoKGFiaWxpdHlUb0xvYWQpID0+IGRpZ2coYWJpbGl0eVRvTG9hZCwgXCJhYmlsaXR5XCIpID09IG5vcm1hbGl6ZWRBYmlsaXR5ICYmXG4gICAgICAgIGRpZ2coYWJpbGl0eVRvTG9hZCwgXCJzdWJqZWN0XCIpID09IHN1YmplY3RcbiAgICAgIClcblxuICAgICAgaWYgKGZvdW5kQWJpbGl0eSkge1xuICAgICAgICBmb3VuZEFiaWxpdHkuY2FsbGJhY2tzLnB1c2gocmVzb2x2ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkLnB1c2goe2FiaWxpdHk6IG5vcm1hbGl6ZWRBYmlsaXR5LCBjYWxsYmFja3M6IFtyZXNvbHZlXSwgc3ViamVjdH0pXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkRGF0YS5wdXNoKHthYmlsaXR5OiBub3JtYWxpemVkQWJpbGl0eSwgc3ViamVjdH0pXG5cbiAgICAgICAgdGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3QoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBxdWV1ZUFiaWxpdGllc1JlcXVlc3QgKCkge1xuICAgIGlmICh0aGlzLnF1ZXVlQWJpbGl0aWVzUmVxdWVzdFRpbWVvdXQpIHJldHVyblxuXG4gICAgdGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3RUaW1lb3V0ID0gc2V0VGltZW91dCh0aGlzLnNlbmRBYmlsaXRpZXNSZXF1ZXN0LCAwKVxuICB9XG5cbiAgYXN5bmMgcmVzZXRBYmlsaXRpZXMgKCkge1xuICAgIGlmICh0aGlzLnJlc2V0UHJvbWlzZSkgcmV0dXJuIHRoaXMucmVzZXRQcm9taXNlXG5cbiAgICB0aGlzLnJlc2V0UHJvbWlzZSA9IChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmxvY2sud3JpdGUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFiaWxpdGllcyA9IFtdXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzQnlOYW1lID0gbmV3IE1hcCgpXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbiArPSAxXG4gICAgICAgIHRoaXMucmVzZXR0aW5nR2VuZXJhdGlvbiA9IHRoaXMuYWJpbGl0aWVzR2VuZXJhdGlvblxuICAgICAgICB0aGlzLmNhY2hlS2V5ICs9IDFcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXNldFN1bW1hcnkgPSBbXG4gICAgICAgIFwiW2Nhbi1jYW4tZGVidWddIHJlc2V0QWJpbGl0aWVzXCIsXG4gICAgICAgIGBnZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWAsXG4gICAgICAgIGBjYWNoZUtleT0ke3RoaXMuY2FjaGVLZXl9YCxcbiAgICAgICAgYHF1ZXVlZD0ke3RoaXMuYWJpbGl0aWVzVG9Mb2FkRGF0YS5sZW5ndGh9YFxuICAgICAgXS5qb2luKFwiOyBcIilcbiAgICAgIHRoaXMuZGVidWdMb2cocmVzZXRTdW1tYXJ5KVxuICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uUmVzZXRBYmlsaXRpZXNcIilcbiAgICB9KSgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5yZXNldFByb21pc2VcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5yZXNldFByb21pc2UgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVsb2FkQWJpbGl0aWVzIChhYmlsaXRpZXMsIHJlbG9hZEtleSkge1xuICAgIGlmIChyZWxvYWRLZXkgJiYgdGhpcy5yZWxvYWRQcm9taXNlcy5oYXMocmVsb2FkS2V5KSkge1xuICAgICAgdGhpcy5kZWJ1Z0xvZyhgW2Nhbi1jYW4tZGVidWddIHJlbG9hZEFiaWxpdGllczpkZWR1cGUgcmVsb2FkS2V5PSR7cmVsb2FkS2V5fWApXG4gICAgICByZXR1cm4gdGhpcy5yZWxvYWRQcm9taXNlcy5nZXQocmVsb2FkS2V5KVxuICAgIH1cblxuICAgIGNvbnN0IHJlbG9hZFN1bW1hcnkgPSBbXG4gICAgICBcIltjYW4tY2FuLWRlYnVnXSByZWxvYWRBYmlsaXRpZXM6c3RhcnRcIixcbiAgICAgIGByZWxvYWRLZXk9JHtyZWxvYWRLZXkgfHwgXCJub25lXCJ9YCxcbiAgICAgIGBnZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWAsXG4gICAgICBgcmVxdWVzdHM9JHthYmlsaXRpZXMubGVuZ3RofWBcbiAgICBdLmpvaW4oXCI7IFwiKVxuICAgIHRoaXMuZGVidWdMb2cocmVsb2FkU3VtbWFyeSlcblxuICAgIGNvbnN0IHByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5yZXNldEFiaWxpdGllcygpXG4gICAgICBhd2FpdCB0aGlzLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuICAgIH0pKClcblxuICAgIGlmIChyZWxvYWRLZXkpIHRoaXMucmVsb2FkUHJvbWlzZXMuc2V0KHJlbG9hZEtleSwgcHJvbWlzZSlcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwcm9taXNlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZGVidWdMb2coYFtjYW4tY2FuLWRlYnVnXSByZWxvYWRBYmlsaXRpZXM6ZG9uZSByZWxvYWRLZXk9JHtyZWxvYWRLZXkgfHwgXCJub25lXCJ9OyBnZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWApXG4gICAgICBpZiAocmVsb2FkS2V5KSB0aGlzLnJlbG9hZFByb21pc2VzLmRlbGV0ZShyZWxvYWRLZXkpXG4gICAgfVxuICB9XG5cbiAgc2VuZEFiaWxpdGllc1JlcXVlc3QgPSBhc3luYyAoKSA9PiB7XG4gICAgdGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3RUaW1lb3V0ID0gbnVsbFxuICAgIGNvbnN0IGdlbmVyYXRpb24gPSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb25cbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWQgPSB0aGlzLmFiaWxpdGllc1RvTG9hZFxuICAgIGNvbnN0IGFiaWxpdGllc1RvTG9hZERhdGEgPSB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGFcblxuICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkID0gW11cbiAgICB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEgPSBbXVxuICAgIHRoaXMuZGVidWdMb2coYFtjYW4tY2FuLWRlYnVnXSBzZW5kQWJpbGl0aWVzUmVxdWVzdDpzdGFydCBnZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn07IHF1ZXVlZD0ke2FiaWxpdGllc1RvTG9hZERhdGEubGVuZ3RofWApXG5cbiAgICBsZXQgYWJpbGl0aWVzID0gW11cbiAgICBsZXQgZGlkRmFpbCA9IGZhbHNlXG4gICAgbGV0IHJlcXVlc3RFcnJvclxuXG4gICAgLy8gTG9hZCBhYmlsaXRpZXMgZnJvbSBiYWNrZW5kXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIkNhbkNhbjo6TG9hZEFiaWxpdGllc1wiLCB7XG4gICAgICAgIHJlcXVlc3Q6IGFiaWxpdGllc1RvTG9hZERhdGFcbiAgICAgIH0sIHtpbnN0YW50OiB0cnVlfSlcbiAgICAgIGNvbnN0IHJlc3BvbnNlQWJpbGl0aWVzID0gZGlnZyhyZXN1bHQsIFwiYWJpbGl0aWVzXCIpXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3BvbnNlQWJpbGl0aWVzKSkgYWJpbGl0aWVzID0gcmVzcG9uc2VBYmlsaXRpZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZGlkRmFpbCA9IHRydWVcbiAgICAgIHJlcXVlc3RFcnJvciA9IGVycm9yXG4gICAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGxvYWQgYWJpbGl0aWVzXCIsIGVycm9yKVxuICAgIH1cblxuICAgIGlmIChnZW5lcmF0aW9uICE9PSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb24pIHtcbiAgICAgIGNvbnN0IHN0YWxlUmVzcG9uc2VEZWJ1ZyA9IFtcbiAgICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3RhbGUtcmVzcG9uc2VcIixcbiAgICAgICAgYHJlcXVlc3RHZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn1gLFxuICAgICAgICBgY3VycmVudEdlbmVyYXRpb249JHt0aGlzLmFiaWxpdGllc0dlbmVyYXRpb259YCxcbiAgICAgICAgYHJlcXVldWU9JHthYmlsaXRpZXNUb0xvYWQubGVuZ3RofWBcbiAgICAgIF0uam9pbihcIjsgXCIpXG4gICAgICB0aGlzLmRlYnVnTG9nKHN0YWxlUmVzcG9uc2VEZWJ1ZylcbiAgICAgIGZvciAoY29uc3QgYWJpbGl0eURhdGEgb2YgYWJpbGl0aWVzVG9Mb2FkKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0eShhYmlsaXR5RGF0YS5hYmlsaXR5LCBhYmlsaXR5RGF0YS5zdWJqZWN0KS50aGVuKGNhbGxiYWNrKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChkaWRGYWlsKSB7XG4gICAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6ZmFpbGVkIGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufTsgcXVldWVkPSR7YWJpbGl0aWVzVG9Mb2FkLmxlbmd0aH1gKVxuICAgICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBhYmlsaXR5RGF0YS5jYWxsYmFja3MpIHtcbiAgICAgICAgICBjYWxsYmFjaygpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBjYWxsYmFja3MgdG8gYXZvaWQgZGVhZGxvY2tzIGZvciB3YWl0ZXJzIGV2ZW4gd2hlbiBsb2FkIGZhaWxlZC5cbiAgICAgIGlmIChyZXF1ZXN0RXJyb3IpIHRoaXMucmVwb3J0VW5oYW5kbGVkQXN5bmNFcnJvcihyZXF1ZXN0RXJyb3IpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGxvYWRlZCBhYmlsaXRpZXNcbiAgICB0aGlzLmFiaWxpdGllcyA9IHRoaXMuYWJpbGl0aWVzLmNvbmNhdChhYmlsaXRpZXMpXG4gICAgdGhpcy5pbmRleEFiaWxpdGllc0J5TmFtZShhYmlsaXRpZXMpXG4gICAgdGhpcy5jYWNoZUtleSArPSAxXG4gICAgdGhpcy5kZWJ1Z0xvZyhcbiAgICAgIGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3VjY2VzcyBnZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn07IGxvYWRlZD0ke2FiaWxpdGllcy5sZW5ndGh9OyBjYWNoZUtleT0ke3RoaXMuY2FjaGVLZXl9YFxuICAgIClcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwib25BYmlsaXRpZXNMb2FkZWRcIiwge2NhY2hlS2V5OiB0aGlzLmNhY2hlS2V5fSlcblxuICAgIC8vIENhbGwgdGhlIGNhbGxiYWNrcyB0aGF0IGFyZSB3YWl0aW5nIGZvciB0aGUgYWJpbGl0eSB0byBoYXZlIGJlZW4gbG9hZGVkXG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgIGNhbGxiYWNrKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbmRleEFiaWxpdGllc0J5TmFtZSAoYWJpbGl0aWVzKSB7XG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXMpIHtcbiAgICAgIGlmIChhYmlsaXR5RGF0YSAmJiB0eXBlb2YgYWJpbGl0eURhdGEgPT0gXCJvYmplY3RcIikge1xuICAgICAgICBjb25zdCBhYmlsaXR5S2V5ID0gdGhpcy5hYmlsaXR5S2V5KGRpZ2coYWJpbGl0eURhdGEsIFwiYWJpbGl0eVwiKSwgZGlnZyhhYmlsaXR5RGF0YSwgXCJzdWJqZWN0XCIpKVxuXG4gICAgICAgIGlmIChhYmlsaXR5S2V5KSB7XG4gICAgICAgICAgdGhpcy5hYmlsaXRpZXNCeU5hbWUuc2V0KGFiaWxpdHlLZXksIGFiaWxpdHlEYXRhKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWJpbGl0eUtleSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGlmICghYWJpbGl0eSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHN1YmplY3ROYW1lID0gdGhpcy5zdWJqZWN0TmFtZShzdWJqZWN0KVxuICAgIGlmICghc3ViamVjdE5hbWUpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gYCR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpfToke3N1YmplY3ROYW1lfWBcbiAgfVxuXG4gIHN1YmplY3ROYW1lIChzdWJqZWN0KSB7XG4gICAgaWYgKCFzdWJqZWN0KSByZXR1cm4gbnVsbFxuXG4gICAgaWYgKHR5cGVvZiBzdWJqZWN0ID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiBzdWJqZWN0XG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QubW9kZWxDbGFzc0RhdGEpIHtcbiAgICAgIHJldHVybiBkaWdnKHN1YmplY3QubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QucmVzb3VyY2VEYXRhKSB7XG4gICAgICByZXR1cm4gZGlnZyhzdWJqZWN0LnJlc291cmNlRGF0YSgpLCBcIm5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdC5uYW1lKSB7XG4gICAgICByZXR1cm4gc3ViamVjdC5uYW1lXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJlcG9ydFVuaGFuZGxlZEFzeW5jRXJyb3IgKGVycm9yKSB7XG4gICAgaWYgKCFlcnJvcikgcmV0dXJuXG5cbiAgICBQcm9taXNlLnJlamVjdChlcnJvcilcbiAgfVxufVxuIl19
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY2FuLWNhbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ2QsZUFBZSxHQUFHLEVBQUUsQ0FBQTtJQUNwQixtQkFBbUIsR0FBRyxFQUFFLENBQUE7SUFDeEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDWixZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDNUIsdUJBQXVCLEdBQUcsSUFBSSxDQUFBO0lBQzlCLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQzFCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO0lBQzFCLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzNCLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUE7SUFDOUIsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDM0IsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFFdkIsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQjtZQUFFLE1BQU0sQ0FBQyxxQkFB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QUUsQ0FBQztZQUNqQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDckIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELHlCQUF5QixDQUFFLEtBQUs7UUFDOUIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBRWxCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQge1JlYWRlcnNXcml0ZXJMb2NrfSBmcm9tIFwiZXBpYy1sb2Nrc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFNlcnZpY2VzIGZyb20gXCIuL3NlcnZpY2VzLmpzXCJcblxuY29uc3Qgc2hhcmVkID0ge31cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDYW5DYW4ge1xuICBhYmlsaXRpZXMgPSBbXVxuICBhYmlsaXRpZXNUb0xvYWQgPSBbXVxuICBhYmlsaXRpZXNUb0xvYWREYXRhID0gW11cbiAgYWJpbGl0aWVzR2VuZXJhdGlvbiA9IDBcbiAgY2FjaGVLZXkgPSAwXG4gIGxvYWRpbmdDb3VudCA9IDBcbiAgbWlzc2luZ0FiaWxpdGllcyA9IG5ldyBNYXAoKVxuICBtaXNzaW5nQWJpbGl0aWVzVGltZW91dCA9IG51bGxcbiAgcmVsb2FkUHJvbWlzZXMgPSBuZXcgTWFwKClcbiAgcmVzZXRQcm9taXNlID0gbnVsbFxuICByZXNldHRpbmdHZW5lcmF0aW9uID0gbnVsbFxuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgbG9jayA9IG5ldyBSZWFkZXJzV3JpdGVyTG9jaygpXG4gIGFiaWxpdGllc0J5TmFtZSA9IG5ldyBNYXAoKVxuICBkZWJ1Z1Rva2VucyA9IG5ldyBTZXQoKVxuXG4gIHN0YXRpYyBjdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJDYW5DYW4pIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJDYW5DYW4gPSBuZXcgQXBpTWFrZXJDYW5DYW4oKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJDYW5DYW5cbiAgfVxuXG4gIGNhbiAoYWJpbGl0eSwgc3ViamVjdCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgZm91bmRBYmlsaXR5ID0gdGhpcy5maW5kQWJpbGl0eShhYmlsaXR5LCBzdWJqZWN0KVxuXG4gICAgaWYgKGZvdW5kQWJpbGl0eSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkQWJpbGl0eSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhYmlsaXR5KVxuICAgICAgdGhpcy5yZWNvcmRNaXNzaW5nQWJpbGl0eShub3JtYWxpemVkQWJpbGl0eSwgc3ViamVjdClcblxuICAgICAgaWYgKG9wdGlvbnMuZGVidWcpIHtcbiAgICAgICAgbGV0IHN1YmplY3RMYWJlbCA9IHN1YmplY3RcblxuICAgICAgICAvLyBUcmFuc2xhdGUgcmVzb3VyY2UtbW9kZWxzIGludG8gY2xhc3MgbmFtZSBzdHJpbmdzXG4gICAgICAgIGlmICh0eXBlb2Ygc3ViamVjdCA9PSBcImZ1bmN0aW9uXCIgJiYgc3ViamVjdC5tb2RlbENsYXNzRGF0YSkge1xuICAgICAgICAgIHN1YmplY3RMYWJlbCA9IGRpZ2coc3ViamVjdC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEFiaWxpdHkgbm90IGxvYWRlZCAke3N1YmplY3RMYWJlbH0jJHtub3JtYWxpemVkQWJpbGl0eX1gLCB7YWJpbGl0aWVzOiB0aGlzLmFiaWxpdGllcywgYWJpbGl0eSwgc3ViamVjdH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkaWdnKGZvdW5kQWJpbGl0eSwgXCJjYW5cIilcbiAgICB9XG4gIH1cblxuICByZWNvcmRNaXNzaW5nQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGxldCBtaXNzaW5nQWJpbGl0eVNldCA9IHRoaXMubWlzc2luZ0FiaWxpdGllcy5nZXQoc3ViamVjdClcblxuICAgIGlmICghbWlzc2luZ0FiaWxpdHlTZXQpIHtcbiAgICAgIG1pc3NpbmdBYmlsaXR5U2V0ID0gbmV3IFNldCgpXG4gICAgICB0aGlzLm1pc3NpbmdBYmlsaXRpZXMuc2V0KHN1YmplY3QsIG1pc3NpbmdBYmlsaXR5U2V0KVxuICAgIH1cblxuICAgIGlmIChtaXNzaW5nQWJpbGl0eVNldC5oYXMoYWJpbGl0eSkpIHJldHVyblxuXG4gICAgbWlzc2luZ0FiaWxpdHlTZXQuYWRkKGFiaWxpdHkpXG4gICAgdGhpcy5xdWV1ZU1pc3NpbmdBYmlsaXRpZXNMb2FkKClcbiAgfVxuXG4gIHF1ZXVlTWlzc2luZ0FiaWxpdGllc0xvYWQgKCkge1xuICAgIGlmICh0aGlzLm1pc3NpbmdBYmlsaXRpZXNUaW1lb3V0KSByZXR1cm5cblxuICAgIHRoaXMubWlzc2luZ0FiaWxpdGllc1RpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMubG9hZE1pc3NpbmdBYmlsaXRpZXMsIDApXG4gIH1cblxuICBsb2FkTWlzc2luZ0FiaWxpdGllcyA9ICgpID0+IHtcbiAgICBjb25zdCBtaXNzaW5nQWJpbGl0aWVzID0gdGhpcy5taXNzaW5nQWJpbGl0aWVzXG5cbiAgICB0aGlzLm1pc3NpbmdBYmlsaXRpZXMgPSBuZXcgTWFwKClcbiAgICB0aGlzLm1pc3NpbmdBYmlsaXRpZXNUaW1lb3V0ID0gbnVsbFxuXG4gICAgY29uc3QgYWJpbGl0aWVzVG9Mb2FkID0gW11cblxuICAgIGZvciAoY29uc3QgW3N1YmplY3QsIGFiaWxpdGllc10gb2YgbWlzc2luZ0FiaWxpdGllcy5lbnRyaWVzKCkpIHtcbiAgICAgIGFiaWxpdGllc1RvTG9hZC5wdXNoKFtzdWJqZWN0LCBBcnJheS5mcm9tKGFiaWxpdGllcyldKVxuICAgIH1cblxuICAgIGlmIChhYmlsaXRpZXNUb0xvYWQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKGFiaWxpdGllc1RvTG9hZClcbiAgICB9XG4gIH1cblxuICBmaW5kQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGNvbnN0IGFiaWxpdHlLZXkgPSB0aGlzLmFiaWxpdHlLZXkoYWJpbGl0eSwgc3ViamVjdClcbiAgICBpZiAoIWFiaWxpdHlLZXkpIHJldHVybiB1bmRlZmluZWRcblxuICAgIHJldHVybiB0aGlzLmFiaWxpdGllc0J5TmFtZS5nZXQoYWJpbGl0eUtleSlcbiAgfVxuXG4gIGlzQWJpbGl0eUxvYWRlZCAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIHJldHVybiB0aGlzLmZpbmRBYmlsaXR5KGFiaWxpdHksIHN1YmplY3QpICE9PSB1bmRlZmluZWRcbiAgfVxuXG4gIGlzUmVsb2FkaW5nICgpIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nQ291bnQgPiAwIHx8IHRoaXMucmVzZXR0aW5nR2VuZXJhdGlvbiAhPT0gbnVsbFxuICB9XG5cbiAgZ2V0Q2FjaGVLZXkgKCkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlS2V5XG4gIH1cblxuICBzZXREZWJ1ZyAodG9rZW4sIGVuYWJsZWQpIHtcbiAgICBpZiAoIXRva2VuKSByZXR1cm5cblxuICAgIGlmIChlbmFibGVkKSB7XG4gICAgICB0aGlzLmRlYnVnVG9rZW5zLmFkZCh0b2tlbilcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWJ1Z1Rva2Vucy5kZWxldGUodG9rZW4pXG4gICAgfVxuICB9XG5cbiAgaXNEZWJ1Z2dpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLmRlYnVnVG9rZW5zLnNpemUgPiAwXG4gIH1cblxuICBkZWJ1Z0xvZyAobWVzc2FnZSkge1xuICAgIGlmICh0aGlzLmlzRGVidWdnaW5nKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEFiaWxpdGllcyAoYWJpbGl0aWVzKSB7XG4gICAgY29uc3QgZ2VuZXJhdGlvbiA9IHRoaXMuYWJpbGl0aWVzR2VuZXJhdGlvblxuICAgIGNvbnN0IGxvYWRTdW1tYXJ5ID0gW1xuICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gbG9hZEFiaWxpdGllczpzdGFydFwiLFxuICAgICAgYGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufWAsXG4gICAgICBgcmVxdWVzdHM9JHthYmlsaXRpZXMubGVuZ3RofWBcbiAgICBdLmpvaW4oXCI7IFwiKVxuICAgIHRoaXMuZGVidWdMb2cobG9hZFN1bW1hcnkpXG5cbiAgICB0aGlzLmxvYWRpbmdDb3VudCArPSAxXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2NrLnJlYWQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG5cbiAgICAgICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gYWJpbGl0eURhdGFbMF1cblxuICAgICAgICAgIGlmICghc3ViamVjdCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN1YmplY3QgZ2l2ZW4gaW4gYWJpbGl0aWVzOiAke3N1YmplY3R9IC0gJHtKU09OLnN0cmluZ2lmeShhYmlsaXRpZXMpfWApXG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFiaWxpdHlEYXRhWzFdKSkgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhbiBhcnJheSBvZiBhYmlsaXRpZXMgYnV0IGdvdDogJHt0eXBlb2YgYWJpbGl0eURhdGFbMV19OiAke2FiaWxpdHlEYXRhWzFdfWApXG5cbiAgICAgICAgICBmb3IgKGNvbnN0IGFiaWxpdHkgb2YgYWJpbGl0eURhdGFbMV0pIHtcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmxvYWRBYmlsaXR5KGFiaWxpdHksIHN1YmplY3QpXG5cbiAgICAgICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICAgIH0pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNvbnN0IGRvbmVTdW1tYXJ5ID0gW1xuICAgICAgICBcIltjYW4tY2FuLWRlYnVnXSBsb2FkQWJpbGl0aWVzOmRvbmVcIixcbiAgICAgICAgYGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufWAsXG4gICAgICAgIGBjdXJyZW50R2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gLFxuICAgICAgICBgbG9hZGluZ0NvdW50PSR7dGhpcy5sb2FkaW5nQ291bnR9YFxuICAgICAgXS5qb2luKFwiOyBcIilcbiAgICAgIHRoaXMuZGVidWdMb2coZG9uZVN1bW1hcnkpXG4gICAgICBpZiAodGhpcy5sb2FkaW5nQ291bnQgPiAwKSB0aGlzLmxvYWRpbmdDb3VudCAtPSAxXG4gICAgICBpZiAodGhpcy5yZXNldHRpbmdHZW5lcmF0aW9uID09PSBnZW5lcmF0aW9uKSB0aGlzLnJlc2V0dGluZ0dlbmVyYXRpb24gPSBudWxsXG4gICAgfVxuICB9XG5cbiAgbG9hZEFiaWxpdHkgKGFiaWxpdHksIHN1YmplY3QpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRBYmlsaXR5ID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpXG5cbiAgICAgIGlmICh0aGlzLmlzQWJpbGl0eUxvYWRlZChub3JtYWxpemVkQWJpbGl0eSwgc3ViamVjdCkpIHtcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3VuZEFiaWxpdHkgPSB0aGlzLmFiaWxpdGllc1RvTG9hZC5maW5kKChhYmlsaXR5VG9Mb2FkKSA9PiBkaWdnKGFiaWxpdHlUb0xvYWQsIFwiYWJpbGl0eVwiKSA9PSBub3JtYWxpemVkQWJpbGl0eSAmJlxuICAgICAgICBkaWdnKGFiaWxpdHlUb0xvYWQsIFwic3ViamVjdFwiKSA9PSBzdWJqZWN0XG4gICAgICApXG5cbiAgICAgIGlmIChmb3VuZEFiaWxpdHkpIHtcbiAgICAgICAgZm91bmRBYmlsaXR5LmNhbGxiYWNrcy5wdXNoKHJlc29sdmUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFiaWxpdGllc1RvTG9hZC5wdXNoKHthYmlsaXR5OiBub3JtYWxpemVkQWJpbGl0eSwgY2FsbGJhY2tzOiBbcmVzb2x2ZV0sIHN1YmplY3R9KVxuICAgICAgICB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEucHVzaCh7YWJpbGl0eTogbm9ybWFsaXplZEFiaWxpdHksIHN1YmplY3R9KVxuXG4gICAgICAgIHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0KClcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcXVldWVBYmlsaXRpZXNSZXF1ZXN0ICgpIHtcbiAgICBpZiAodGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3RUaW1lb3V0KSByZXR1cm5cblxuICAgIHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0VGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5zZW5kQWJpbGl0aWVzUmVxdWVzdCwgMClcbiAgfVxuXG4gIGFzeW5jIHJlc2V0QWJpbGl0aWVzICgpIHtcbiAgICBpZiAodGhpcy5yZXNldFByb21pc2UpIHJldHVybiB0aGlzLnJlc2V0UHJvbWlzZVxuXG4gICAgdGhpcy5yZXNldFByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5sb2NrLndyaXRlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hYmlsaXRpZXMgPSBbXVxuICAgICAgICB0aGlzLmFiaWxpdGllc0J5TmFtZSA9IG5ldyBNYXAoKVxuICAgICAgICB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb24gKz0gMVxuICAgICAgICB0aGlzLnJlc2V0dGluZ0dlbmVyYXRpb24gPSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb25cbiAgICAgICAgdGhpcy5jYWNoZUtleSArPSAxXG4gICAgICB9KVxuICAgICAgY29uc3QgcmVzZXRTdW1tYXJ5ID0gW1xuICAgICAgICBcIltjYW4tY2FuLWRlYnVnXSByZXNldEFiaWxpdGllc1wiLFxuICAgICAgICBgZ2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gLFxuICAgICAgICBgY2FjaGVLZXk9JHt0aGlzLmNhY2hlS2V5fWAsXG4gICAgICAgIGBxdWV1ZWQ9JHt0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEubGVuZ3RofWBcbiAgICAgIF0uam9pbihcIjsgXCIpXG4gICAgICB0aGlzLmRlYnVnTG9nKHJlc2V0U3VtbWFyeSlcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJvblJlc2V0QWJpbGl0aWVzXCIpXG4gICAgfSkoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzZXRQcm9taXNlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMucmVzZXRQcm9taXNlID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlbG9hZEFiaWxpdGllcyAoYWJpbGl0aWVzLCByZWxvYWRLZXkpIHtcbiAgICBpZiAocmVsb2FkS2V5ICYmIHRoaXMucmVsb2FkUHJvbWlzZXMuaGFzKHJlbG9hZEtleSkpIHtcbiAgICAgIHRoaXMuZGVidWdMb2coYFtjYW4tY2FuLWRlYnVnXSByZWxvYWRBYmlsaXRpZXM6ZGVkdXBlIHJlbG9hZEtleT0ke3JlbG9hZEtleX1gKVxuICAgICAgcmV0dXJuIHRoaXMucmVsb2FkUHJvbWlzZXMuZ2V0KHJlbG9hZEtleSlcbiAgICB9XG5cbiAgICBjb25zdCByZWxvYWRTdW1tYXJ5ID0gW1xuICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gcmVsb2FkQWJpbGl0aWVzOnN0YXJ0XCIsXG4gICAgICBgcmVsb2FkS2V5PSR7cmVsb2FkS2V5IHx8IFwibm9uZVwifWAsXG4gICAgICBgZ2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gLFxuICAgICAgYHJlcXVlc3RzPSR7YWJpbGl0aWVzLmxlbmd0aH1gXG4gICAgXS5qb2luKFwiOyBcIilcbiAgICB0aGlzLmRlYnVnTG9nKHJlbG9hZFN1bW1hcnkpXG5cbiAgICBjb25zdCBwcm9taXNlID0gKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzZXRBYmlsaXRpZXMoKVxuICAgICAgYXdhaXQgdGhpcy5sb2FkQWJpbGl0aWVzKGFiaWxpdGllcylcbiAgICB9KSgpXG5cbiAgICBpZiAocmVsb2FkS2V5KSB0aGlzLnJlbG9hZFByb21pc2VzLnNldChyZWxvYWRLZXksIHByb21pc2UpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgcHJvbWlzZVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gcmVsb2FkQWJpbGl0aWVzOmRvbmUgcmVsb2FkS2V5PSR7cmVsb2FkS2V5IHx8IFwibm9uZVwifTsgZ2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gKVxuICAgICAgaWYgKHJlbG9hZEtleSkgdGhpcy5yZWxvYWRQcm9taXNlcy5kZWxldGUocmVsb2FkS2V5KVxuICAgIH1cbiAgfVxuXG4gIHNlbmRBYmlsaXRpZXNSZXF1ZXN0ID0gYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0VGltZW91dCA9IG51bGxcbiAgICBjb25zdCBnZW5lcmF0aW9uID0gdGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9uXG4gICAgY29uc3QgYWJpbGl0aWVzVG9Mb2FkID0gdGhpcy5hYmlsaXRpZXNUb0xvYWRcbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWREYXRhID0gdGhpcy5hYmlsaXRpZXNUb0xvYWREYXRhXG5cbiAgICB0aGlzLmFiaWxpdGllc1RvTG9hZCA9IFtdXG4gICAgdGhpcy5hYmlsaXRpZXNUb0xvYWREYXRhID0gW11cbiAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3RhcnQgZ2VuZXJhdGlvbj0ke2dlbmVyYXRpb259OyBxdWV1ZWQ9JHthYmlsaXRpZXNUb0xvYWREYXRhLmxlbmd0aH1gKVxuXG4gICAgbGV0IGFiaWxpdGllcyA9IFtdXG4gICAgbGV0IGRpZEZhaWwgPSBmYWxzZVxuICAgIGxldCByZXF1ZXN0RXJyb3JcblxuICAgIC8vIExvYWQgYWJpbGl0aWVzIGZyb20gYmFja2VuZFxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJDYW5DYW46OkxvYWRBYmlsaXRpZXNcIiwge1xuICAgICAgICByZXF1ZXN0OiBhYmlsaXRpZXNUb0xvYWREYXRhXG4gICAgICB9KVxuICAgICAgYWJpbGl0aWVzID0gZGlnZyhyZXN1bHQsIFwiYWJpbGl0aWVzXCIpXG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhYmlsaXRpZXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgQ2FuQ2FuOjpMb2FkQWJpbGl0aWVzIHJlc3BvbnNlIGFiaWxpdGllcyB0byBiZSBhbiBhcnJheSwgZ290OiAke3R5cGVvZiBhYmlsaXRpZXN9YClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZGlkRmFpbCA9IHRydWVcbiAgICAgIHJlcXVlc3RFcnJvciA9IGVycm9yXG4gICAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGxvYWQgYWJpbGl0aWVzXCIsIGVycm9yKVxuICAgIH1cblxuICAgIGlmIChnZW5lcmF0aW9uICE9PSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb24pIHtcbiAgICAgIGNvbnN0IHN0YWxlUmVzcG9uc2VEZWJ1ZyA9IFtcbiAgICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3RhbGUtcmVzcG9uc2VcIixcbiAgICAgICAgYHJlcXVlc3RHZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn1gLFxuICAgICAgICBgY3VycmVudEdlbmVyYXRpb249JHt0aGlzLmFiaWxpdGllc0dlbmVyYXRpb259YCxcbiAgICAgICAgYHJlcXVldWU9JHthYmlsaXRpZXNUb0xvYWQubGVuZ3RofWBcbiAgICAgIF0uam9pbihcIjsgXCIpXG4gICAgICB0aGlzLmRlYnVnTG9nKHN0YWxlUmVzcG9uc2VEZWJ1ZylcbiAgICAgIGZvciAoY29uc3QgYWJpbGl0eURhdGEgb2YgYWJpbGl0aWVzVG9Mb2FkKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0eShhYmlsaXR5RGF0YS5hYmlsaXR5LCBhYmlsaXR5RGF0YS5zdWJqZWN0KS50aGVuKGNhbGxiYWNrKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChkaWRGYWlsKSB7XG4gICAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6ZmFpbGVkIGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufTsgcXVldWVkPSR7YWJpbGl0aWVzVG9Mb2FkLmxlbmd0aH1gKVxuICAgICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBhYmlsaXR5RGF0YS5jYWxsYmFja3MpIHtcbiAgICAgICAgICBjYWxsYmFjaygpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBjYWxsYmFja3MgdG8gYXZvaWQgZGVhZGxvY2tzIGZvciB3YWl0ZXJzIGV2ZW4gd2hlbiBsb2FkIGZhaWxlZC5cbiAgICAgIGlmIChyZXF1ZXN0RXJyb3IpIHRoaXMucmVwb3J0VW5oYW5kbGVkQXN5bmNFcnJvcihyZXF1ZXN0RXJyb3IpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGxvYWRlZCBhYmlsaXRpZXNcbiAgICB0aGlzLmFiaWxpdGllcyA9IHRoaXMuYWJpbGl0aWVzLmNvbmNhdChhYmlsaXRpZXMpXG4gICAgdGhpcy5pbmRleEFiaWxpdGllc0J5TmFtZShhYmlsaXRpZXMpXG4gICAgdGhpcy5jYWNoZUtleSArPSAxXG4gICAgdGhpcy5kZWJ1Z0xvZyhcbiAgICAgIGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3VjY2VzcyBnZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn07IGxvYWRlZD0ke2FiaWxpdGllcy5sZW5ndGh9OyBjYWNoZUtleT0ke3RoaXMuY2FjaGVLZXl9YFxuICAgIClcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwib25BYmlsaXRpZXNMb2FkZWRcIiwge2NhY2hlS2V5OiB0aGlzLmNhY2hlS2V5fSlcblxuICAgIC8vIENhbGwgdGhlIGNhbGxiYWNrcyB0aGF0IGFyZSB3YWl0aW5nIGZvciB0aGUgYWJpbGl0eSB0byBoYXZlIGJlZW4gbG9hZGVkXG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgIGNhbGxiYWNrKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbmRleEFiaWxpdGllc0J5TmFtZSAoYWJpbGl0aWVzKSB7XG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXMpIHtcbiAgICAgIGlmIChhYmlsaXR5RGF0YSAmJiB0eXBlb2YgYWJpbGl0eURhdGEgPT0gXCJvYmplY3RcIikge1xuICAgICAgICBjb25zdCBhYmlsaXR5S2V5ID0gdGhpcy5hYmlsaXR5S2V5KGRpZ2coYWJpbGl0eURhdGEsIFwiYWJpbGl0eVwiKSwgZGlnZyhhYmlsaXR5RGF0YSwgXCJzdWJqZWN0XCIpKVxuXG4gICAgICAgIGlmIChhYmlsaXR5S2V5KSB7XG4gICAgICAgICAgdGhpcy5hYmlsaXRpZXNCeU5hbWUuc2V0KGFiaWxpdHlLZXksIGFiaWxpdHlEYXRhKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWJpbGl0eUtleSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGlmICghYWJpbGl0eSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHN1YmplY3ROYW1lID0gdGhpcy5zdWJqZWN0TmFtZShzdWJqZWN0KVxuICAgIGlmICghc3ViamVjdE5hbWUpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gYCR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpfToke3N1YmplY3ROYW1lfWBcbiAgfVxuXG4gIHN1YmplY3ROYW1lKHN1YmplY3QpIHtcbiAgICBpZiAoIXN1YmplY3QpIHJldHVybiBudWxsXG5cbiAgICBpZiAodHlwZW9mIHN1YmplY3QgPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIHN1YmplY3RcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdC5tb2RlbENsYXNzRGF0YSkge1xuICAgICAgcmV0dXJuIGRpZ2coc3ViamVjdC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdC5yZXNvdXJjZURhdGEpIHtcbiAgICAgIHJldHVybiBkaWdnKHN1YmplY3QucmVzb3VyY2VEYXRhKCksIFwibmFtZVwiKVxuICAgIH1cblxuICAgIGlmIChzdWJqZWN0Lm5hbWUpIHtcbiAgICAgIHJldHVybiBzdWJqZWN0Lm5hbWVcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmVwb3J0VW5oYW5kbGVkQXN5bmNFcnJvciAoZXJyb3IpIHtcbiAgICBpZiAoIWVycm9yKSByZXR1cm5cblxuICAgIFByb21pc2UucmVqZWN0KGVycm9yKVxuICB9XG59XG4iXX0=
|
|
@@ -129,4 +129,4 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayoutHeader extends
|
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
131
|
}));
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpSEFBaUg7QUFDakgsMkVBQTJFO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGdCQUFnQixNQUFNLHVCQUF1QixDQUFBO0FBRXBELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQiwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUU5QixPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUMsWUFBWSxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLENBQUM7Z0JBQ0UsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixX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Q0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQsIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1jbG9zaW5nLWJyYWNrZXQtbG9jYXRpb24sIHJlYWN0L2pzeC1jbG9zaW5nLXRhZy1sb2NhdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LWluZGVudCwgcmVhY3QvanN4LWluZGVudC1wcm9wcywgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwieWEtdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vLyBIb29rIGZvciBjb25zaXN0ZW50IGFjdGlvbiBidXR0b24gc3R5bGluZyBhY3Jvc3MgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCB1c2VIZWFkZXJBY3Rpb25CdXR0b25TdHlsZSA9ICgpID0+IHtcbiAgY29uc3Qge21kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKCh7c3RhY2tlZEluZGV4ID0gMH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSBtZFVwXG4gICAgICA/IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwiZmxleC1zdGFydFwiLFxuICAgICAgICAgIHBhZGRpbmdWZXJ0aWNhbDogNyxcbiAgICAgICAgICBwYWRkaW5nSG9yaXpvbnRhbDogMTAsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IFwiI2NiZDVlMVwiLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiA0LFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogNCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgZm9udFNpemU6IDEzXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJzdHJldGNoXCIsXG4gICAgICAgICAgcGFkZGluZzogMTFcbiAgICAgICAgfVxuXG4gICAgaWYgKCFtZFVwICYmIHN0YWNrZWRJbmRleCA+IDApIHtcbiAgICAgIGJhc2UuYm9yZGVyVG9wV2lkdGggPSAxXG4gICAgICBiYXNlLmJvcmRlclRvcENvbG9yID0gXCIjYzljOWM5XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZVxuICB9LCBbbWRVcF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgb25UcmlnZ2VyTWVudTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtuYW1lOiBicmVha3BvaW50LCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zUmVmID0gdXNlUmVmKClcbiAgICB0aGlzLnNldEluc3RhbmNlKHticmVha3BvaW50LCBtZFVwfSlcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZVxuICAgIH0pXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJtb3VzZXVwXCIsIHRoaXMudHQub25XaW5kb3dNb3VzZVVwKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCBtZFVwfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YWN0aW9ucywgb25UcmlnZ2VyTWVudSwgdGl0bGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3QgaGVhZGVyU3R5bGUgPSB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgekluZGV4OiA5LFxuICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDMwLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZSA9IHt9XG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc1N0eWxlID0ge1xuICAgICAgZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwiLFxuICAgICAgYWxpZ25JdGVtczogbWRVcCA/IFwiZmxleC1zdGFydFwiIDogXCJzdHJldGNoXCIsXG4gICAgICBnYXA6IG1kVXAgPyA4IDogMFxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwieHNcIiB8fCBicmVha3BvaW50ID09IFwic21cIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCIxMDAlXCJcblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC44KVwiXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlKSB7XG4gICAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zU3R5bGUsIHtcbiAgICAgICAgbWluV2lkdGg6IFwiODB2d1wiLFxuICAgICAgICBtYXhXaWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjUwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjUwcHgpXCJcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyOTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyOTBweClcIlxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwibWRcIiB8fCBicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5tYXJnaW5MZWZ0ID0gXCJhdXRvXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifSl9IHN0eWxlPXtoZWFkZXJTdHlsZX0+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItdGl0bGUtY29udGFpbmVyXCJ9KX0+XG4gICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVRleHRTdHlsZVwiLCB7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9KX0+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BoZWFkZXJBY3Rpb25zQ29udGFpbmVyLSR7dGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9YF0gfHw9IHtcbiAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSxcbiAgICAgICAgICAgICAgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiaGVhZGVyQWN0aW9uc1ZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItYWN0aW9uc1wifSl9XG4gICAgICAgICAgICByZWY9e3RoaXMudHQuaGVhZGVyQWN0aW9uc1JlZn1cbiAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnN9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVDb250YWluZXJEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1jb250YWluZXJcIn0pfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyU3R5bGVcIiwge1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua0RhdGFTZXRcIiwge2NsYXNzOiBcImFjdGlvbnMtbGlua1wifSl9XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImFjdGlvbnNMaW5rU3R5bGVcIiwge21hcmdpblJpZ2h0OiA4LCBmb250U2l6ZTogMjJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJnZWFyXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPFByZXNzYWJsZSBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUxpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9KX0gb25QcmVzcz17b25UcmlnZ2VyTWVudX0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJiYXJzXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkdlYXJzQ2xpY2tlZCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG5cbiAgb25XaW5kb3dNb3VzZVVwID0gKGUpID0+IHtcbiAgICAvLyBDbG9zZSB0aGUgaGVhZGVyIGFjdGlvbnMgbWVudSBpZiBjbGlja2VkIGhhcHBlbmVkIG91dHNpZGVcbiAgICBpZiAodGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgJiYgdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQgJiYgIXRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpSEFBaUg7QUFDakgsMkVBQTJFO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGdCQUFnQixNQUFNLHVCQUF1QixDQUFBO0FBRXBELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQiwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUU5QixPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUMsWUFBWSxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLENBQUM7Z0JBQ0UsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixX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Q0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQsIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1jbG9zaW5nLWJyYWNrZXQtbG9jYXRpb24sIHJlYWN0L2pzeC1jbG9zaW5nLXRhZy1sb2NhdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LWluZGVudCwgcmVhY3QvanN4LWluZGVudC1wcm9wcywgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwieWEtdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vLyBIb29rIGZvciBjb25zaXN0ZW50IGFjdGlvbiBidXR0b24gc3R5bGluZyBhY3Jvc3MgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCB1c2VIZWFkZXJBY3Rpb25CdXR0b25TdHlsZSA9ICgpID0+IHtcbiAgY29uc3Qge21kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKCh7c3RhY2tlZEluZGV4ID0gMH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSBtZFVwXG4gICAgICA/IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwiZmxleC1zdGFydFwiLFxuICAgICAgICAgIHBhZGRpbmdWZXJ0aWNhbDogNyxcbiAgICAgICAgICBwYWRkaW5nSG9yaXpvbnRhbDogMTAsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IFwiI2NiZDVlMVwiLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiA0LFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogNCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgZm9udFNpemU6IDEzXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJzdHJldGNoXCIsXG4gICAgICAgICAgcGFkZGluZzogMTFcbiAgICAgICAgfVxuXG4gICAgaWYgKCFtZFVwICYmIHN0YWNrZWRJbmRleCA+IDApIHtcbiAgICAgIGJhc2UuYm9yZGVyVG9wV2lkdGggPSAxXG4gICAgICBiYXNlLmJvcmRlclRvcENvbG9yID0gXCIjYzljOWM5XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZVxuICB9LCBbbWRVcF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgb25UcmlnZ2VyTWVudTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtuYW1lOiBicmVha3BvaW50LCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zUmVmID0gdXNlUmVmKClcbiAgICB0aGlzLnNldEluc3RhbmNlKHticmVha3BvaW50LCBtZFVwfSlcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZVxuICAgIH0pXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJtb3VzZXVwXCIsIHRoaXMudHQub25XaW5kb3dNb3VzZVVwKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCBtZFVwfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YWN0aW9ucywgb25UcmlnZ2VyTWVudSwgdGl0bGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3QgaGVhZGVyU3R5bGUgPSB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgekluZGV4OiA5LFxuICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDMwLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZSA9IHt9XG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc1N0eWxlID0ge1xuICAgICAgZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwiLFxuICAgICAgYWxpZ25JdGVtczogbWRVcCA/IFwiZmxleC1zdGFydFwiIDogXCJzdHJldGNoXCIsXG4gICAgICBnYXA6IG1kVXAgPyA4IDogMFxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwieHNcIiB8fCBicmVha3BvaW50ID09IFwic21cIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCIxMDAlXCJcblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC44KVwiXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlKSB7XG4gICAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zU3R5bGUsIHtcbiAgICAgICAgbWluV2lkdGg6IFwiODB2d1wiLFxuICAgICAgICBtYXhXaWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjUwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjUwcHgpXCJcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyOTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyOTBweClcIlxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwibWRcIiB8fCBicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5tYXJnaW5MZWZ0ID0gXCJhdXRvXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifSl9IHN0eWxlPXtoZWFkZXJTdHlsZX0+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItdGl0bGUtY29udGFpbmVyXCJ9KX0+XG4gICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVRleHRTdHlsZVwiLCB7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9KX0+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BoZWFkZXJBY3Rpb25zQ29udGFpbmVyLSR7dGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9YF0gfHw9IHtcbiAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSxcbiAgICAgICAgICAgICAgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJBY3Rpb25zVmlld0RhdGFTZXRcIiwge2NsYXNzOiBcImhlYWRlci1hY3Rpb25zXCJ9KX1cbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHthY3Rpb25zfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVDb250YWluZXJEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1jb250YWluZXJcIn0pfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyU3R5bGVcIiwge1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua0RhdGFTZXRcIiwge2NsYXNzOiBcImFjdGlvbnMtbGlua1wifSl9XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImFjdGlvbnNMaW5rU3R5bGVcIiwge21hcmdpblJpZ2h0OiA4LCBmb250U2l6ZTogMjJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJnZWFyXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPFByZXNzYWJsZSBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUxpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9KX0gb25QcmVzcz17b25UcmlnZ2VyTWVudX0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJiYXJzXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkdlYXJzQ2xpY2tlZCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG5cbiAgb25XaW5kb3dNb3VzZVVwID0gKGUpID0+IHtcbiAgICAvLyBDbG9zZSB0aGUgaGVhZGVyIGFjdGlvbnMgbWVudSBpZiBjbGlja2VkIGhhcHBlbmVkIG91dHNpZGVcbiAgICBpZiAodGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgJiYgdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQgJiYgIXRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
|