@posiwise/common-services 0.1.62 → 0.1.63
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.
|
@@ -186,8 +186,7 @@ export class PermissionService {
|
|
|
186
186
|
if (!product) {
|
|
187
187
|
product = this.getCurrentProduct();
|
|
188
188
|
}
|
|
189
|
-
const
|
|
190
|
-
const subscriptionSlug = selectedProduct?.subscription_slug;
|
|
189
|
+
const subscriptionSlug = product?.subscription_slug;
|
|
191
190
|
return !!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionOwner`];
|
|
192
191
|
}
|
|
193
192
|
/**
|
|
@@ -200,8 +199,6 @@ export class PermissionService {
|
|
|
200
199
|
product = this.getCurrentProduct();
|
|
201
200
|
}
|
|
202
201
|
const subscriptionSlug = product?.subscription_slug;
|
|
203
|
-
console.log('subscriptionSlug', `Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionAdmin`);
|
|
204
|
-
console.log('subscriptionSlug1', `Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionOwner`);
|
|
205
202
|
return (!!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionAdmin`] ||
|
|
206
203
|
!!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionOwner`]);
|
|
207
204
|
}
|
|
@@ -229,8 +226,7 @@ export class PermissionService {
|
|
|
229
226
|
if (!product) {
|
|
230
227
|
product = this.getCurrentProduct();
|
|
231
228
|
}
|
|
232
|
-
const
|
|
233
|
-
const subscriptionSlug = selectedProduct?.subscription_slug;
|
|
229
|
+
const subscriptionSlug = product?.subscription_slug;
|
|
234
230
|
return !!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionSuperOwner`];
|
|
235
231
|
}
|
|
236
232
|
setCurrentProduct(product) {
|
|
@@ -254,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
254
250
|
providedIn: 'root'
|
|
255
251
|
}]
|
|
256
252
|
}], ctorParameters: () => [{ type: i1.MainApiHttpService }] });
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RixPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQTZCLEdBQXVCO1FBQXZCLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBRnBELFNBQUksR0FBUyxJQUFJLENBQUM7SUFFcUMsQ0FBQztJQUV4RCxzQkFBc0IsQ0FBQyxZQUFZO1FBQy9CLGlCQUFpQixDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUNMLGNBQXNCLEVBQ3RCLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLFdBQVcsR0FBRyxJQUFJO1FBRWxCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUV0QixzQ0FBc0M7WUFDdEMseUJBQXlCO1lBQ3pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztZ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QUFDLEVBQUU7WUFDZCxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7WUFDdEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztZQUN0QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1NBQy9DLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBMVRRLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7NEZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQURNSU5fU1VCX01FTlVfV0hJVEVMSVNULCBQRVJNSVNTSU9OX05BTUVTLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHBpY2tCeSBmcm9tICdsb2Rhc2gvcGlja0J5JztcblxuaW1wb3J0IHsgTWFpbkFwaUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9tYWluLWFwaS1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25TZXJ2aWNlIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHN0YXRpYyBzZWxlY3RlZFByb2R1Y3Q6IGFueTsgLy8gTk9TT05BUlxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgc2VsZWN0ZWRTdWJzY3JpcHRpb246IGFueTsgLy8gTk9TT05BUlxuXG4gICAgdXNlcjogVXNlciA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwaTogTWFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgc2V0Q3VycmVudFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaXNHcmFudGVkKFxuICAgICAgICBwZXJtaXNzaW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBwcm9kdWN0S2V5ID0gbnVsbCxcbiAgICAgICAgcGVybWlzc2lvbl9rZXkgPSBudWxsLFxuICAgICAgICBwcm9kdWN0U2x1ZyA9IG51bGxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICAgICAgY29uc3QgeyB1c2VyIH0gPSB0aGlzO1xuXG4gICAgICAgICAgICAvLyBBZG1pbiBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIG1lbnVzLlxuICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuU3VwZXJBZG1pblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTdXBlckFkbWluKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lKSB7XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbk5hbWUgPSB0aGlzLmdldEZvcm1hdHRlZFBlcm1pc3Npb25OYW1lKHBlcm1pc3Npb25OYW1lLCBwcm9kdWN0U2x1Zyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJldHVybmluZyB0cnVlIGlmIHVzZXIgaGFzIGEgZ2l2ZW4gcGVybWlzc2lvblxuICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuUm9sZS5DbG91ZE9saXZlLlNhbGVzTWFuYWdlclxuICAgICAgICAgICAgLy8gb3IgUGFnZXMuQmV0YSBvciBQYWdlcy5BbHBoYVxuXG5cbiAgICAgICAgICAgIGlmIChwZXJtaXNzaW9uTmFtZT8uaW5jbHVkZXMoJ3x8JykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBlcm1pc3Npb25OYW1lLnNwbGl0KCd8fCcpLm1hcChwID0+IHAudHJpbSgpKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXJbJ2F1dGgnXT8uWydncmFudGVkJ11bcGFydF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGlmICh1c2VyWydhdXRoJ10/LlsnZ3JhbnRlZCddW3Blcm1pc3Npb25OYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByb2R1Y3RLZXkpIHtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXJzIHRoZSBwZXJtaXNzaW9uIG9ubHkgZm9yIHRoZSBzZWxlY3RlZCBwcm9kdWN0LlxuICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJlZFBlcm1pc3Npb25zID0gcGlja0J5KFxuICAgICAgICAgICAgICAgICAgICBjbG9uZURlZXAodXNlclsnYXV0aCddWydncmFudGVkJ10pLFxuICAgICAgICAgICAgICAgICAgICAoX3ZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBrZXkuaW5jbHVkZXMocHJvZHVjdEtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIC8vIGFkZCBQYWdlcy5Qcm9kdWN0LntwZXJtaXNzaW9uX2tleX1cbiAgICAgICAgICAgICAgICBmaWx0ZXJlZFBlcm1pc3Npb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi57IFtgUGFnZXMuUHJvZHVjdC4ke3Blcm1pc3Npb25fa2V5fWBdOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgICAgIC4uLmZpbHRlcmVkUGVybWlzc2lvbnNcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuUHJvZHVjdC5DbG91ZE9saXZlLkNsb3VkT2xpdmVfTXNwS2V5XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcmVkUGVybWlzc2lvbnNbcGVybWlzc2lvbk5hbWVdIHx8IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBubyB2YWxpZCBwZXJtaXNzaW9uIHdhcyBkZXRlY3RlZCBmb3IgdGhpcyB1c2VyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVzZXIgbm90IGxvZ2dlZC1pblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRQZXJtaXNzaW9uTmFtZShwZXJtaXNzaW9uTmFtZTogc3RyaW5nLCBwcm9kdWN0U2x1Zzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvZHVjdCA9IFBlcm1pc3Npb25TZXJ2aWNlPy5zZWxlY3RlZFByb2R1Y3QgfHwgdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gc2VsZWN0ZWRQcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcblxuICAgICAgbGV0IHNsdWdUb0NoZWNrOiBzdHJpbmc7XG4gICAgICBpZiAoIXByb2R1Y3RTbHVnKSB7XG5cbiAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKCdQYWdlcy5Qcm9kdWN0LicpKSB7XG4gICAgICAgICAgc2x1Z1RvQ2hlY2sgPSBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LmA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGVybWlzc2lvbk5hbWUuaW5jbHVkZXMoJ1BhZ2VzLlJvbGUuJykpIHtcbiAgICAgICAgICBzbHVnVG9DaGVjayA9IGBQYWdlcy5Sb2xlLiR7c3Vic2NyaXB0aW9uU2x1Z30uYDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2x1Z1RvQ2hlY2sgPSBwcm9kdWN0U2x1ZztcblxuICAgICAgfVxuXG4gICAgICAgIGlmICghcGVybWlzc2lvbk5hbWUuaW5jbHVkZXMoc2x1Z1RvQ2hlY2spICYmIHBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKCdQYWdlcy5Qcm9kdWN0LicpKSB7XG4gICAgICAgICAgICBwZXJtaXNzaW9uTmFtZSA9IHBlcm1pc3Npb25OYW1lLnJlcGxhY2UoJ1BhZ2VzLlByb2R1Y3QuJywgc2x1Z1RvQ2hlY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKCdQYWdlcy5Sb2xlLicpICYmICFwZXJtaXNzaW9uTmFtZS5pbmNsdWRlcyhzbHVnVG9DaGVjaykpIHtcbiAgICAgICAgICAgIHBlcm1pc3Npb25OYW1lID0gcGVybWlzc2lvbk5hbWUucmVwbGFjZSgnUGFnZXMuUm9sZS4nLCBzbHVnVG9DaGVjayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbk5hbWU7XG4gICAgfVxuXG4gICAgZ2V0UGVybWlzc2lvblRyZWVEYXRhQnlSb2xlKGRhdGEpIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBbXTtcbiAgICAgICAgZGF0YS5hbGwuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gZWxlbWVudDtcbiAgICAgICAgICAgIHBlcm1pc3Npb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBlbGVtZW50LmlkLCAvLyBwZXJtaXNzaW9uSWQ6IFVzZWQgdG8gdXBkYXRlIHRoZSBwZXJtaXNzaW9ucyBvbiBjaGFuZ2VcbiAgICAgICAgICAgICAgICBwYXJlbnROYW1lOiBuYW1lLmluY2x1ZGVzKCcuJykgPyBuYW1lLnN1YnN0cmluZygwLCBuYW1lLmxhc3RJbmRleE9mKCcuJykpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBlbGVtZW50Lm5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgICAgICBncmFudGVkUGVybWlzc2lvbk5hbWVzOiBPYmplY3Qua2V5cyhkYXRhLmdyYW50ZWQpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZXZhbHVhdGVQZXJtaXNzaW9ucyhcbiAgICAgIHBlcm1pc3Npb246IHN0cmluZyxcbiAgICAgIHByb2R1Y3RLZXk6IHN0cmluZyA9IG51bGwsXG4gICAgICBwZXJtaXNzaW9uX2tleTogc3RyaW5nID0gbnVsbCxcbiAgICAgIHByb2R1Y3RTbHVnOiBzdHJpbmcgPSBudWxsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICBpZiAoIXBlcm1pc3Npb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBsZXQgZXhwciA9ICcnO1xuXG4gICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdXBlckFkbWluKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU3VwZXJBZG1pbigpO1xuICAgICAgfVxuICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uQWRtaW4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uQWRtaW4oKSB8fCB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbk93bmVyKCk7XG4gICAgICB9XG4gICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25Pd25lcikge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25Pd25lcigpO1xuICAgICAgfVxuICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uU3VwZXJBZG1pbikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJBZG1pbigpIHx8XG4gICAgICAgICAgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkgfHxcbiAgICAgICAgICB0aGlzLmlzU3VwZXJBZG1pbigpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25TdXBlck93bmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIoKSB8fCB0aGlzLmlzU3VwZXJBZG1pbigpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgQURNSU5fU1VCX01FTlVfV0hJVEVMSVNULnNvbWUodiA9PiBwZXJtaXNzaW9uLmluY2x1ZGVzKHYpKSAmJlxuICAgICAgICAodGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlckFkbWluKCkgfHwgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgcGVybWlzc2lvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHBlcm1pc3Npb24uc3BsaXQoJyAnKS5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgIGxldCByYXcgPSB4LnRyaW0oKTtcblxuICAgICAgICAgIGlmIChbJ3x8JywgJyYmJywgJygnLCAnKSddLmluY2x1ZGVzKHJhdykpIHtcbiAgICAgICAgICAgIGV4cHIgKz0gYCAke3Jhd30gYDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGV2YWx1YXRlZDogYm9vbGVhbjtcblxuICAgICAgICAgICAgaWYgKHJhdyA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdXBlckFkbWluKSB7XG4gICAgICAgICAgICAgIGV2YWx1YXRlZCA9IHRoaXMuaXNTdXBlckFkbWluKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJhdyA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25BZG1pbikge1xuICAgICAgICAgICAgICBldmFsdWF0ZWQgPSB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbkFkbWluKCkgfHwgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25Pd25lcigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyYXcgPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uT3duZXIpIHtcbiAgICAgICAgICAgICAgZXZhbHVhdGVkID0gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25Pd25lcigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyYXcgPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uU3VwZXJBZG1pbikge1xuICAgICAgICAgICAgICBldmFsdWF0ZWQgPSAoXG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlckFkbWluKCkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIoKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuaXNTdXBlckFkbWluKClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmF3ID09PSBQRVJNSVNTSU9OX05BTUVTLlN1YnNjcmlwdGlvblN1cGVyT3duZXIpIHtcbiAgICAgICAgICAgICAgZXZhbHVhdGVkID0gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkgfHwgdGhpcy5pc1N1cGVyQWRtaW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEFzc3VtZSBpdCdzIFBhZ2VzLlByb2R1Y3Qgb3IgUGFnZXMuUm9sZVxuICAgICAgICAgICAgICBpZiAocHJvZHVjdEtleSkge1xuICAgICAgICAgICAgICAgIGV2YWx1YXRlZCA9IHRoaXMuaXNHcmFudGVkKHJhdywgcHJvZHVjdEtleSwgcGVybWlzc2lvbl9rZXksIHByb2R1Y3RTbHVnKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBldmFsdWF0ZWQgPSB0aGlzLmlzR3JhbnRlZChyYXcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGV4cHIgKz0gYCAke2V2YWx1YXRlZH0gYDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBOb3cgZXhwciBpcyBtYWRlIG9mIHRydWUvZmFsc2UgdmFsdWVzIHdpdGggJiYsIHx8LCAoKVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWV2YWxcbiAgICAgIHJldHVybiBldmFsKGV4cHIpOyAvLyBOT1NPTkFSXG4gICAgfVxuXG5cbiAgICBnZXRQZXJtaXNzaW9uQnlSb2xlKHJvbGVJZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYC9hZG1pbi9yb2xlX3Blcm1pc3Npb25zLyR7cm9sZUlkfWApO1xuICAgIH1cblxuICAgIHNhdmVVc2VyUGVybWlzc2lvbihwYXlsb2FkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGAvYWRtaW4vcm9sZV9wZXJtaXNzaW9uc2AsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGRldGVybWluZSB1c2VyIGlzIHN1cGVyX2FkbWluIHVzaW5nIHVzZXIuYXV0aC5ncmFudGVkWydQYWdlcy5TdXBlckFkbWluJ11cbiAgICAgKi9cbiAgICBpc1N1cGVyQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbJ1BhZ2VzLlN1cGVyQWRtaW4nXSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQW55IFByb2R1Y3QgQWRtaW4gcmVnYXJkbGVzcyBvZiB0aGUgcHJvZHVjdCBiZWluZyBtYXN0ZXIgcHJvZHVjdCBvciBub3QuXG4gICAgICovXG4gICAgcHVibGljIGlzVXNlclN1YnNjcmlwdGlvbk93bmVyKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWxlY3RlZFByb2R1Y3QgPSBQZXJtaXNzaW9uU2VydmljZT8uc2VsZWN0ZWRQcm9kdWN0O1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gc2VsZWN0ZWRQcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvbk93bmVyYFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFueSBQcm9kdWN0IEFkbWluIHJlZ2FyZGxlc3Mgb2YgdGhlIHByb2R1Y3QgYmVpbmcgbWFzdGVyIHByb2R1Y3Qgb3Igbm90LlxuICAgICAqICpyYmFjQWxsb3c9XCJTdWJzY3JpcHRpb25BZG1pblwiXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNVc2VyU3Vic2NyaXB0aW9uQWRtaW4ocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBwcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcbiAgICAgICAgY29uc29sZS5sb2coJ3N1YnNjcmlwdGlvblNsdWcnLCBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25BZG1pbmApXG4gICAgICAgIGNvbnNvbGUubG9nKCdzdWJzY3JpcHRpb25TbHVnMScsIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvbk93bmVyYClcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25BZG1pbmBcbiAgICAgICAgICAgIF0gfHxcbiAgICAgICAgICAgICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25Pd25lcmBcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbnkgUHJvZHVjdCBBZG1pbiBvZiB0aGUgcHJvZHVjdCBiZWluZyB0aGUgbWFzdGVyIHByb2R1Y3RcbiAgICAgKi9cbiAgICBpc1VzZXJTdWJzY3JpcHRpb25TdXBlckFkbWluKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gcHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uU3VwZXJBZG1pbmBcbiAgICAgICAgICAgIF0gfHxcbiAgICAgICAgICAgICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25TdXBlck93bmVyYFxuICAgICAgICAgICAgXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzVXNlck1hc3RlclN1YnNjcmlwdGlvblN1cGVyQWRtaW4ocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uU3VwZXJBZG1pbmBcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbnkgUHJvZHVjdCBBZG1pbiBvZiB0aGUgcHJvZHVjdCBiZWluZyB0aGUgbWFzdGVyIHByb2R1Y3RcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJPd25lcihwcm9kdWN0Pyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb2R1Y3QpIHtcbiAgICAgICAgICAgIHByb2R1Y3QgPSB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0ID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkUHJvZHVjdDtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uU2x1ZyA9IHNlbGVjdGVkUHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25TdXBlck93bmVyYFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHNldEN1cnJlbnRQcm9kdWN0KHByb2R1Y3QpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICAgICAncHJvZHVjdCcsXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgaWQ6IHByb2R1Y3QuaWQsXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbl9rZXk6IHByb2R1Y3QucGVybWlzc2lvbl9rZXksXG4gICAgICAgICAgICAgICAgZmVhdHVyZV9rZXk6IHByb2R1Y3QuZmVhdHVyZV9rZXksXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uSWQ6IHByb2R1Y3Quc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uX3NsdWc6IHByb2R1Y3Quc3Vic2NyaXB0aW9uX3NsdWdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1cnJlbnRQcm9kdWN0KCkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdCcpKTtcbiAgICB9XG59XG4iXX0=
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RixPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQTZCLEdBQXVCO1FBQXZCLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBRnBELFNBQUksR0FBUyxJQUFJLENBQUM7SUFFcUMsQ0FBQztJQUV4RCxzQkFBc0IsQ0FBQyxZQUFZO1FBQy9CLGlCQUFpQixDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUNMLGNBQXNCLEVBQ3RCLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLFdBQVcsR0FBRyxJQUFJO1FBRWxCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUV0QixzQ0FBc0M7WUFDdEMseUJBQXlCO1lBQ3pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztZ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VCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBRE1JTl9TVUJfTUVOVV9XSElURUxJU1QsIFBFUk1JU1NJT05fTkFNRVMsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5cbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgcGlja0J5IGZyb20gJ2xvZGFzaC9waWNrQnknO1xuXG5pbXBvcnQgeyBNYWluQXBpSHR0cFNlcnZpY2UgfSBmcm9tICcuL21haW4tYXBpLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc3RhdGljIHNlbGVjdGVkUHJvZHVjdDogYW55OyAvLyBOT1NPTkFSXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHN0YXRpYyBzZWxlY3RlZFN1YnNjcmlwdGlvbjogYW55OyAvLyBOT1NPTkFSXG5cbiAgICB1c2VyOiBVc2VyID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBpOiBNYWluQXBpSHR0cFNlcnZpY2UpIHt9XG5cbiAgICBzZXRDdXJyZW50U3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvbikge1xuICAgICAgICBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBpc0dyYW50ZWQoXG4gICAgICAgIHBlcm1pc3Npb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIHByb2R1Y3RLZXkgPSBudWxsLFxuICAgICAgICBwZXJtaXNzaW9uX2tleSA9IG51bGwsXG4gICAgICAgIHByb2R1Y3RTbHVnID0gbnVsbFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICAgICAgICBjb25zdCB7IHVzZXIgfSA9IHRoaXM7XG5cbiAgICAgICAgICAgIC8vIEFkbWluIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgbWVudXMuXG4gICAgICAgICAgICAvLyBFLmcuLCBQYWdlcy5TdXBlckFkbWluXG4gICAgICAgICAgICBpZiAodGhpcy5pc1N1cGVyQWRtaW4oKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGVybWlzc2lvbk5hbWUpIHtcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uTmFtZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkUGVybWlzc2lvbk5hbWUocGVybWlzc2lvbk5hbWUsIHByb2R1Y3RTbHVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmV0dXJuaW5nIHRydWUgaWYgdXNlciBoYXMgYSBnaXZlbiBwZXJtaXNzaW9uXG4gICAgICAgICAgICAvLyBFLmcuLCBQYWdlcy5Sb2xlLkNsb3VkT2xpdmUuU2FsZXNNYW5hZ2VyXG4gICAgICAgICAgICAvLyBvciBQYWdlcy5CZXRhIG9yIFBhZ2VzLkFscGhhXG5cblxuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lPy5pbmNsdWRlcygnfHwnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gcGVybWlzc2lvbk5hbWUuc3BsaXQoJ3x8JykubWFwKHAgPT4gcC50cmltKCkpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXNlclsnYXV0aCddPy5bJ2dyYW50ZWQnXVtwYXJ0XSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaWYgKHVzZXJbJ2F1dGgnXT8uWydncmFudGVkJ11bcGVybWlzc2lvbk5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocHJvZHVjdEtleSkge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlcnMgdGhlIHBlcm1pc3Npb24gb25seSBmb3IgdGhlIHNlbGVjdGVkIHByb2R1Y3QuXG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkUGVybWlzc2lvbnMgPSBwaWNrQnkoXG4gICAgICAgICAgICAgICAgICAgIGNsb25lRGVlcCh1c2VyWydhdXRoJ11bJ2dyYW50ZWQnXSksXG4gICAgICAgICAgICAgICAgICAgIChfdmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleS5pbmNsdWRlcyhwcm9kdWN0S2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgLy8gYWRkIFBhZ2VzLlByb2R1Y3Que3Blcm1pc3Npb25fa2V5fVxuICAgICAgICAgICAgICAgIGZpbHRlcmVkUGVybWlzc2lvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnsgW2BQYWdlcy5Qcm9kdWN0LiR7cGVybWlzc2lvbl9rZXl9YF06IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyZWRQZXJtaXNzaW9uc1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAvLyBFLmcuLCBQYWdlcy5Qcm9kdWN0LkNsb3VkT2xpdmUuQ2xvdWRPbGl2ZV9Nc3BLZXlcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWRQZXJtaXNzaW9uc1twZXJtaXNzaW9uTmFtZV0gfHwgZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG5vIHZhbGlkIHBlcm1pc3Npb24gd2FzIGRldGVjdGVkIGZvciB0aGlzIHVzZXJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdXNlciBub3QgbG9nZ2VkLWluXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1hdHRlZFBlcm1pc3Npb25OYW1lKHBlcm1pc3Npb25OYW1lOiBzdHJpbmcsIHByb2R1Y3RTbHVnOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0ID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkUHJvZHVjdCB8fCB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBzZWxlY3RlZFByb2R1Y3Q/LnN1YnNjcmlwdGlvbl9zbHVnO1xuXG4gICAgICBsZXQgc2x1Z1RvQ2hlY2s6IHN0cmluZztcbiAgICAgIGlmICghcHJvZHVjdFNsdWcpIHtcblxuICAgICAgICBpZiAocGVybWlzc2lvbk5hbWUuaW5jbHVkZXMoJ1BhZ2VzLlByb2R1Y3QuJykpIHtcbiAgICAgICAgICBzbHVnVG9DaGVjayA9IGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwZXJtaXNzaW9uTmFtZS5pbmNsdWRlcygnUGFnZXMuUm9sZS4nKSkge1xuICAgICAgICAgIHNsdWdUb0NoZWNrID0gYFBhZ2VzLlJvbGUuJHtzdWJzY3JpcHRpb25TbHVnfS5gO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbHVnVG9DaGVjayA9IHByb2R1Y3RTbHVnO1xuXG4gICAgICB9XG5cbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uTmFtZS5pbmNsdWRlcyhzbHVnVG9DaGVjaykgJiYgcGVybWlzc2lvbk5hbWUuaW5jbHVkZXMoJ1BhZ2VzLlByb2R1Y3QuJykpIHtcbiAgICAgICAgICAgIHBlcm1pc3Npb25OYW1lID0gcGVybWlzc2lvbk5hbWUucmVwbGFjZSgnUGFnZXMuUHJvZHVjdC4nLCBzbHVnVG9DaGVjayk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGVybWlzc2lvbk5hbWUuaW5jbHVkZXMoJ1BhZ2VzLlJvbGUuJykgJiYgIXBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKHNsdWdUb0NoZWNrKSkge1xuICAgICAgICAgICAgcGVybWlzc2lvbk5hbWUgPSBwZXJtaXNzaW9uTmFtZS5yZXBsYWNlKCdQYWdlcy5Sb2xlLicsIHNsdWdUb0NoZWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwZXJtaXNzaW9uTmFtZTtcbiAgICB9XG5cbiAgICBnZXRQZXJtaXNzaW9uVHJlZURhdGFCeVJvbGUoZGF0YSkge1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IFtdO1xuICAgICAgICBkYXRhLmFsbC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBuYW1lIH0gPSBlbGVtZW50O1xuICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IGVsZW1lbnQuaWQsIC8vIHBlcm1pc3Npb25JZDogVXNlZCB0byB1cGRhdGUgdGhlIHBlcm1pc3Npb25zIG9uIGNoYW5nZVxuICAgICAgICAgICAgICAgIHBhcmVudE5hbWU6IG5hbWUuaW5jbHVkZXMoJy4nKSA/IG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUubGFzdEluZGV4T2YoJy4nKSkgOiBudWxsLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IGVsZW1lbnQubmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgICAgIGdyYW50ZWRQZXJtaXNzaW9uTmFtZXM6IE9iamVjdC5rZXlzKGRhdGEuZ3JhbnRlZClcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBldmFsdWF0ZVBlcm1pc3Npb25zKFxuICAgICAgcGVybWlzc2lvbjogc3RyaW5nLFxuICAgICAgcHJvZHVjdEtleTogc3RyaW5nID0gbnVsbCxcbiAgICAgIHBlcm1pc3Npb25fa2V5OiBzdHJpbmcgPSBudWxsLFxuICAgICAgcHJvZHVjdFNsdWc6IHN0cmluZyA9IG51bGxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGV4cHIgPSAnJztcblxuICAgICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdXBlckFkbWluKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNTdXBlckFkbWluKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uQWRtaW4pIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25BZG1pbigpIHx8IHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uT3duZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25Pd25lcikge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbk93bmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uU3VwZXJBZG1pbikge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyQWRtaW4oKSB8fFxuICAgICAgICAgICAgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNTdXBlckFkbWluKClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwZXJtaXNzaW9uID09PSBQRVJNSVNTSU9OX05BTUVTLlN1YnNjcmlwdGlvblN1cGVyT3duZXIpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkgfHwgdGhpcy5pc1N1cGVyQWRtaW4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdHlwZW9mIHBlcm1pc3Npb24gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgQURNSU5fU1VCX01FTlVfV0hJVEVMSVNULnNvbWUodiA9PiBwZXJtaXNzaW9uLmluY2x1ZGVzKHYpKSAmJlxuICAgICAgICAgICh0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyQWRtaW4oKSB8fCB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHBlcm1pc3Npb24gIT09ICdib29sZWFuJykge1xuICAgICAgICAgIHBlcm1pc3Npb24uc3BsaXQoJyAnKS5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgbGV0IHJhdyA9IHgudHJpbSgpO1xuXG4gICAgICAgICAgICBpZiAoWyd8fCcsICcmJicsICcoJywgJyknXS5pbmNsdWRlcyhyYXcpKSB7XG4gICAgICAgICAgICAgIGV4cHIgKz0gYCAke3Jhd30gYDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGxldCBldmFsdWF0ZWQ6IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgaWYgKHJhdyA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdXBlckFkbWluKSB7XG4gICAgICAgICAgICAgICAgZXZhbHVhdGVkID0gdGhpcy5pc1N1cGVyQWRtaW4oKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChyYXcgPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uQWRtaW4pIHtcbiAgICAgICAgICAgICAgICBldmFsdWF0ZWQgPSB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbkFkbWluKCkgfHwgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25Pd25lcigpO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJhdyA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25Pd25lcikge1xuICAgICAgICAgICAgICAgIGV2YWx1YXRlZCA9IHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uT3duZXIoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChyYXcgPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uU3VwZXJBZG1pbikge1xuICAgICAgICAgICAgICAgIGV2YWx1YXRlZCA9IChcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJBZG1pbigpIHx8XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIoKSB8fFxuICAgICAgICAgICAgICAgICAgdGhpcy5pc1N1cGVyQWRtaW4oKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAocmF3ID09PSBQRVJNSVNTSU9OX05BTUVTLlN1YnNjcmlwdGlvblN1cGVyT3duZXIpIHtcbiAgICAgICAgICAgICAgICBldmFsdWF0ZWQgPSB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIoKSB8fCB0aGlzLmlzU3VwZXJBZG1pbigpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEFzc3VtZSBpdCdzIFBhZ2VzLlByb2R1Y3Qgb3IgUGFnZXMuUm9sZVxuICAgICAgICAgICAgICAgIGlmIChwcm9kdWN0S2V5KSB7XG4gICAgICAgICAgICAgICAgICBldmFsdWF0ZWQgPSB0aGlzLmlzR3JhbnRlZChyYXcsIHByb2R1Y3RLZXksIHBlcm1pc3Npb25fa2V5LCBwcm9kdWN0U2x1Zyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGV2YWx1YXRlZCA9IHRoaXMuaXNHcmFudGVkKHJhdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZXhwciArPSBgICR7ZXZhbHVhdGVkfSBgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBOb3cgZXhwciBpcyBtYWRlIG9mIHRydWUvZmFsc2UgdmFsdWVzIHdpdGggJiYsIHx8LCAoKVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWV2YWxcbiAgICAgIHJldHVybiBldmFsKGV4cHIpOyAvLyBOT1NPTkFSXG4gICAgfVxuXG5cbiAgICBnZXRQZXJtaXNzaW9uQnlSb2xlKHJvbGVJZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYC9hZG1pbi9yb2xlX3Blcm1pc3Npb25zLyR7cm9sZUlkfWApO1xuICAgIH1cblxuICAgIHNhdmVVc2VyUGVybWlzc2lvbihwYXlsb2FkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGAvYWRtaW4vcm9sZV9wZXJtaXNzaW9uc2AsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGRldGVybWluZSB1c2VyIGlzIHN1cGVyX2FkbWluIHVzaW5nIHVzZXIuYXV0aC5ncmFudGVkWydQYWdlcy5TdXBlckFkbWluJ11cbiAgICAgKi9cbiAgICBpc1N1cGVyQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbJ1BhZ2VzLlN1cGVyQWRtaW4nXSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQW55IFByb2R1Y3QgQWRtaW4gcmVnYXJkbGVzcyBvZiB0aGUgcHJvZHVjdCBiZWluZyBtYXN0ZXIgcHJvZHVjdCBvciBub3QuXG4gICAgICovXG4gICAgcHVibGljIGlzVXNlclN1YnNjcmlwdGlvbk93bmVyKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gcHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25Pd25lcmBcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbnkgUHJvZHVjdCBBZG1pbiByZWdhcmRsZXNzIG9mIHRoZSBwcm9kdWN0IGJlaW5nIG1hc3RlciBwcm9kdWN0IG9yIG5vdC5cbiAgICAgKiAqcmJhY0FsbG93PVwiU3Vic2NyaXB0aW9uQWRtaW5cIlxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgcHVibGljIGlzVXNlclN1YnNjcmlwdGlvbkFkbWluKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gcHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uQWRtaW5gXG4gICAgICAgICAgICBdIHx8XG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uT3duZXJgXG4gICAgICAgICAgICBdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW55IFByb2R1Y3QgQWRtaW4gb2YgdGhlIHByb2R1Y3QgYmVpbmcgdGhlIG1hc3RlciBwcm9kdWN0XG4gICAgICovXG4gICAgaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJBZG1pbihwcm9kdWN0Pyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb2R1Y3QpIHtcbiAgICAgICAgICAgIHByb2R1Y3QgPSB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uU2x1ZyA9IHByb2R1Y3Q/LnN1YnNjcmlwdGlvbl9zbHVnO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnVzZXIuYXV0aC5ncmFudGVkW1xuICAgICAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvblN1cGVyQWRtaW5gXG4gICAgICAgICAgICBdIHx8XG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uU3VwZXJPd25lcmBcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpc1VzZXJNYXN0ZXJTdWJzY3JpcHRpb25TdXBlckFkbWluKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gISF0aGlzLnVzZXIuYXV0aC5ncmFudGVkW1xuICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvblN1cGVyQWRtaW5gXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW55IFByb2R1Y3QgQWRtaW4gb2YgdGhlIHByb2R1Y3QgYmVpbmcgdGhlIG1hc3RlciBwcm9kdWN0XG4gICAgICovXG4gICAgcHVibGljIGlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBwcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvblN1cGVyT3duZXJgXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgc2V0Q3VycmVudFByb2R1Y3QocHJvZHVjdCkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgICdwcm9kdWN0JyxcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBpZDogcHJvZHVjdC5pZCxcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uX2tleTogcHJvZHVjdC5wZXJtaXNzaW9uX2tleSxcbiAgICAgICAgICAgICAgICBmZWF0dXJlX2tleTogcHJvZHVjdC5mZWF0dXJlX2tleSxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25JZDogcHJvZHVjdC5zdWJzY3JpcHRpb25JZCxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25fc2x1ZzogcHJvZHVjdC5zdWJzY3JpcHRpb25fc2x1Z1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFByb2R1Y3QoKSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdwcm9kdWN0JykpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1041,8 +1041,7 @@ class PermissionService {
|
|
|
1041
1041
|
if (!product) {
|
|
1042
1042
|
product = this.getCurrentProduct();
|
|
1043
1043
|
}
|
|
1044
|
-
const
|
|
1045
|
-
const subscriptionSlug = selectedProduct?.subscription_slug;
|
|
1044
|
+
const subscriptionSlug = product?.subscription_slug;
|
|
1046
1045
|
return !!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionOwner`];
|
|
1047
1046
|
}
|
|
1048
1047
|
/**
|
|
@@ -1055,8 +1054,6 @@ class PermissionService {
|
|
|
1055
1054
|
product = this.getCurrentProduct();
|
|
1056
1055
|
}
|
|
1057
1056
|
const subscriptionSlug = product?.subscription_slug;
|
|
1058
|
-
console.log('subscriptionSlug', `Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionAdmin`);
|
|
1059
|
-
console.log('subscriptionSlug1', `Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionOwner`);
|
|
1060
1057
|
return (!!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionAdmin`] ||
|
|
1061
1058
|
!!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionOwner`]);
|
|
1062
1059
|
}
|
|
@@ -1084,8 +1081,7 @@ class PermissionService {
|
|
|
1084
1081
|
if (!product) {
|
|
1085
1082
|
product = this.getCurrentProduct();
|
|
1086
1083
|
}
|
|
1087
|
-
const
|
|
1088
|
-
const subscriptionSlug = selectedProduct?.subscription_slug;
|
|
1084
|
+
const subscriptionSlug = product?.subscription_slug;
|
|
1089
1085
|
return !!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionSuperOwner`];
|
|
1090
1086
|
}
|
|
1091
1087
|
setCurrentProduct(product) {
|