@sunbird-cb/utils-v2 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ import * as i2 from "./configurations.service";
11
11
  var PROTECTED_SLAG_V8 = '/apis/protected/v8';
12
12
  var ɵ0 = function (type, id) {
13
13
  return PROTECTED_SLAG_V8 + "/content/collection/" + type + "/" + id;
14
- }, ɵ1 = function (contentId) { return PROTECTED_SLAG_V8 + "/user/progress/" + contentId; };
14
+ }, ɵ1 = function (contentId) { return PROTECTED_SLAG_V8 + "/user/progress/" + contentId; }, ɵ2 = function (contentId) { return "/apis/proxies/v8/cios-enroll/v1/readby/useridcourseid/" + contentId; };
15
15
  var API_END_POINTS = {
16
16
  CONTENT: PROTECTED_SLAG_V8 + "/content",
17
17
  AUTHORING_CONTENT: "/apis/authApi/hierarchy",
@@ -30,6 +30,8 @@ var API_END_POINTS = {
30
30
  COLLECTION_HIERARCHY: (ɵ0),
31
31
  REGISTRATION_STATUS: PROTECTED_SLAG_V8 + "/admin/userRegistration/checkUserRegistrationContent",
32
32
  MARK_AS_COMPLETE_META: (ɵ1),
33
+ EXT_USER_COURSE_ENROLL: (ɵ2),
34
+ EXT_CONTENT_EROLL: "/apis/proxies/v8/cios-enroll/v1/create",
33
35
  };
34
36
  var WidgetContentService = (function () {
35
37
  function WidgetContentService(http, configSvc) {
@@ -193,6 +195,12 @@ var WidgetContentService = (function () {
193
195
  WidgetContentService.prototype.fetchConfig = function (url) {
194
196
  return this.http.get(url);
195
197
  };
198
+ WidgetContentService.prototype.fetchExtUserContentEnroll = function (contentId) {
199
+ return this.http.get(API_END_POINTS.EXT_USER_COURSE_ENROLL(contentId));
200
+ };
201
+ WidgetContentService.prototype.extContentEnroll = function (requestBody) {
202
+ return this.http.post("" + API_END_POINTS.EXT_CONTENT_EROLL, requestBody);
203
+ };
196
204
  WidgetContentService.decorators = [
197
205
  { type: Injectable, args: [{
198
206
  providedIn: 'root',
@@ -210,5 +218,5 @@ if (false) {
210
218
  WidgetContentService.prototype.http;
211
219
  WidgetContentService.prototype.configSvc;
212
220
  }
213
- export { ɵ0, ɵ1 };
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0lBSTVDLGlCQUFpQixHQUFHLG9CQUFvQjtTQWlCdEIsVUFBQyxJQUFZLEVBQUUsRUFBVTtJQUM3QyxPQUFHLGlCQUFpQiw0QkFBdUIsSUFBSSxTQUFJLEVBQUk7QUFBdkQsQ0FBdUQsT0FFbEMsVUFBQyxTQUFpQixJQUFLLE9BQUcsaUJBQWlCLHVCQUFrQixTQUFXLEVBQWpELENBQWlEO0lBbEIzRixjQUFjLEdBQUc7SUFDckIsT0FBTyxFQUFLLGlCQUFpQixhQUFVO0lBQ3ZDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxhQUFhLEVBQUssaUJBQWlCLHVCQUFvQjtJQUN2RCxhQUFhLEVBQUssaUJBQWlCLHVCQUFvQjtJQUN2RCxtQkFBbUIsRUFBSyxpQkFBaUIsNEJBQXlCO0lBQ2xFLGNBQWMsRUFBSyxpQkFBaUIsa0NBQStCO0lBQ25FLHNCQUFzQixFQUFLLGlCQUFpQiwrQkFBNEI7SUFDeEUsZ0JBQWdCLEVBQUssaUJBQWlCLHNCQUFtQjtJQUN6RCxpQkFBaUIsRUFBSyxpQkFBaUIsc0JBQW1CO0lBQzFE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QXdCLENBQUMsVUFBVSxDQUFDO1FBQy9ELE9BQU8sYUFBYSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxvREFBcUIsR0FBckIsVUFBc0IsTUFBYztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLGNBQWMsQ0FBQyxtQkFBbUIsU0FBSSxNQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUMxRixDQUFDO0lBRUQsMENBQVcsR0FBWCxVQUFZLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLENBQUMsQ0FBQTtJQUNoQyxDQUFDOztnQkExTUYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQW5DUSxVQUFVO2dCQUlWLHFCQUFxQjs7OytCQUo5QjtDQTRPQyxBQTNNRCxJQTJNQztTQXJNWSxvQkFBb0I7O0lBRTdCLG9DQUF3QjtJQUN4Qix5Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgRU1QVFkgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnXHJcbmltcG9ydCB7IE5zQ29udGVudCB9IGZyb20gJy4vd2lkZ2V0LWNvbnRlbnQubW9kZWwnXHJcbmltcG9ydCB7IE5TU2VhcmNoIH0gZnJvbSAnLi93aWRnZXQtc2VhcmNoLm1vZGVsJ1xyXG5cclxuLy8gVE9ETzogbW92ZSB0aGlzIGluIHNvbWUgY29tbW9uIHBsYWNlXHJcbmNvbnN0IFBST1RFQ1RFRF9TTEFHX1Y4ID0gJy9hcGlzL3Byb3RlY3RlZC92OCdcclxuXHJcbmNvbnN0IEFQSV9FTkRfUE9JTlRTID0ge1xyXG4gIENPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50YCxcclxuICBBVVRIT1JJTkdfQ09OVEVOVDogYC9hcGlzL2F1dGhBcGkvaGllcmFyY2h5YCxcclxuICBDT05URU5UX0xJS0VTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9saWtlQ291bnRgLFxyXG4gIFNFVF9TM19DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldENvb2tpZWAsXHJcbiAgU0VUX1MzX0lNQUdFX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0SW1hZ2VDb29raWVgLFxyXG4gIEZFVENIX01BTklGRVNUOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVNYW5pZmVzdGAsXHJcbiAgRkVUQ0hfV0VCX01PRFVMRV9GSUxFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlRmlsZXNgLFxyXG4gIE1VTFRJUExFX0NPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L211bHRpcGxlYCxcclxuICBDT05URU5UX1NFQVJDSF9WNTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoVjVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y2OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNmAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbmAsXHJcbiAgQ09OVEVOVF9ISVNUT1JZOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5YCxcclxuICBVU0VSX0NPTlRJTlVFX0xFQVJOSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5L2NvbnRpbnVlYCxcclxuICBDT05URU5UX1JBVElORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nYCxcclxuICBDT0xMRUNUSU9OX0hJRVJBUkNIWTogKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZykgPT5cclxuICAgIGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2NvbGxlY3Rpb24vJHt0eXBlfS8ke2lkfWAsXHJcbiAgUkVHSVNUUkFUSU9OX1NUQVRVUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2FkbWluL3VzZXJSZWdpc3RyYXRpb24vY2hlY2tVc2VyUmVnaXN0cmF0aW9uQ29udGVudGAsXHJcbiAgTUFSS19BU19DT01QTEVURV9NRVRBOiAoY29udGVudElkOiBzdHJpbmcpID0+IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL3Byb2dyZXNzLyR7Y29udGVudElkfWAsXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCB0aGlzIHdpbGwgYmUgZGVwcmljYXRlZFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFdpZGdldENvbnRlbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBmZXRjaE1hcmtBc0NvbXBsZXRlTWV0YShpZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXHJcbiAgICBjb25zdCB1cmwgPSBBUElfRU5EX1BPSU5UUy5NQVJLX0FTX0NPTVBMRVRFX01FVEEoaWRlbnRpZmllcilcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkudG9Qcm9taXNlKClcclxuICAgIGlmICh1cmwpIHsgfVxyXG4gICAgcmV0dXJuIG9mKCkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudChcclxuICAgIGNvbnRlbnRJZDogc3RyaW5nLFxyXG4gICAgaGllcmFyY2h5VHlwZTogJ2FsbCcgfCAnbWluaW1hbCcgfCAnZGV0YWlsJyA9ICdkZXRhaWwnLFxyXG4gICAgYWRkaXRpb25hbEZpZWxkczogc3RyaW5nW10gPSBbXSxcclxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVH0vJHtjb250ZW50SWR9P2hpZXJhcmNoeVR5cGU9JHtoaWVyYXJjaHlUeXBlfWBcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8TnNDb250ZW50LklDb250ZW50Pih1cmwsIHsgYWRkaXRpb25hbEZpZWxkcyB9KVxyXG4gICAgICAucGlwZShyZXRyeSgxKSlcclxuICB9XHJcbiAgZmV0Y2hBdXRob3JpbmdDb250ZW50KGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9FTkRfUE9JTlRTLkFVVEhPUklOR19DT05URU5UfS8ke2NvbnRlbnRJZH1gXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnQ+KHVybCkucGlwZShyZXRyeSgxKSlcclxuICB9XHJcbiAgZmV0Y2hNdWx0aXBsZUNvbnRlbnQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudFtdPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuTVVMVElQTEVfQ09OVEVOVH0vJHtpZHMuam9pbignLCcpfWAsXHJcbiAgICApXHJcbiAgfVxyXG4gIGZldGNoQ29sbGVjdGlvbkhpZXJhcmNoeSh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHBhZ2VOdW1iZXI6IG51bWJlciA9IDAsIHBhZ2VTaXplOiBudW1iZXIgPSAxKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbGxlY3Rpb25IaWVyYXJjaHlSZXNwb25zZT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTExFQ1RJT05fSElFUkFSQ0hZKFxyXG4gICAgICAgIHR5cGUsXHJcbiAgICAgICAgaWQsXHJcbiAgICAgICl9P3BhZ2VOdW1iZXI9JHtwYWdlTnVtYmVyfSZwYWdlU2l6ZT0ke3BhZ2VTaXplfWAsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRMaWtlcyhjb250ZW50SWRzOiB7IGNvbnRlbnRfaWQ6IHN0cmluZ1tdIH0pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8eyBbaWRlbnRpZmllcjogc3RyaW5nXTogbnVtYmVyIH0+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfTElLRVMsIGNvbnRlbnRJZHMpXHJcbiAgICAgIC50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5ncyhjb250ZW50SWRzOiB7IGNvbnRlbnRJZHM6IHN0cmluZ1tdIH0pIHtcclxuICAgIGlmIChjb250ZW50SWRzKSB7IH1cclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLnBvc3QoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9L3JhdGluZ2AsIGNvbnRlbnRJZHMpXHJcbiAgICAvLyAgIC50b1Byb21pc2UoKVxyXG4gICAgcmV0dXJuIG9mKCkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudEhpc3RvcnkoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX0hJU1RPUll9LyR7Y29udGVudElkfWAsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhc3luYyBjb250aW51ZUxlYXJuaW5nKGlkOiBzdHJpbmcsIGNvbGxlY3Rpb25JZD86IHN0cmluZywgY29sbGVjdGlvblR5cGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4ge1xyXG4gICAgICBpZiAoY29sbGVjdGlvblR5cGUgJiZcclxuICAgICAgICBjb2xsZWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpID09PSAncGxheWxpc3QnKSB7XHJcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcclxuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxyXG4gICAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgY29udGV4dEZ1bGxQYXRoOiBbY29sbGVjdGlvbklkLCBpZF0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIGNvbnRleHRUeXBlOiAncGxheWxpc3QnLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgc2F2ZUNvbnRpbnVlTGVhcm5pbmcoY29udGVudDogTnNDb250ZW50LklWaWV3ZXJDb250aW51ZUxlYXJuaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyBjb25zdCB1cmwgPSBBUElfRU5EX1BPSU5UUy5VU0VSX0NPTlRJTlVFX0xFQVJOSU5HXHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGNvbnRlbnQpXHJcbiAgICBpZiAoY29udGVudCkge1xyXG5cclxuICAgIH1cclxuICAgIHJldHVybiBvZigpIGFzIGFueVxyXG4gIH1cclxuXHJcbiAgc2V0UzNDb29raWUoXHJcbiAgICBfY29udGVudElkOiBzdHJpbmcsXHJcbiAgICAvLyBfcGF0aDogc3RyaW5nLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAvLyAgIC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19DT09LSUUsIHsgY29udGVudElkIH0pXHJcbiAgICAvLyAgIC5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgICByZXR1cm4gRU1QVFlcclxuICB9XHJcblxyXG4gIHNldFMzSW1hZ2VDb29raWUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfSU1BR0VfQ09PS0lFLCB7fSkucGlwZShjYXRjaEVycm9yKF9lcnIgPT4gb2YodHJ1ZSkpKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hNYW5pZmVzdCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuRkVUQ0hfTUFOSUZFU1QsIHsgdXJsIH0pXHJcbiAgfVxyXG4gIGZldGNoV2ViTW9kdWxlQ29udGVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtBUElfRU5EX1BPSU5UUy5GRVRDSF9XRUJfTU9EVUxFX0ZJTEVTfT91cmw9JHtlbmNvZGVVUklDb21wb25lbnQodXJsKX1gKVxyXG4gIH1cclxuICBzZWFyY2gocmVxOiBOU1NlYXJjaC5JU2VhcmNoUmVxdWVzdCk6IE9ic2VydmFibGU8TlNTZWFyY2guSVNlYXJjaEFwaVJlc3VsdD4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaEFwaVJlc3VsdD4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfVjUsIHtcclxuICAgICAgcmVxdWVzdDogcmVxLFxyXG4gICAgfSlcclxuICB9XHJcbiAgc2VhcmNoUmVnaW9uUmVjb21tZW5kYXRpb24oXHJcbiAgICByZXE6IE5TU2VhcmNoLklTZWFyY2hPcmdSZWdpb25SZWNvbW1lbmRhdGlvblJlcXVlc3QsXHJcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXEucHJlTGFiZWxWYWx1ZSA9XHJcbiAgICAgIChyZXEucHJlTGFiZWxWYWx1ZSB8fCAnJykgK1xyXG4gICAgICAoKHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLmNvdW50cnkpIHx8ICcnKVxyXG4gICAgcmVxLmZpbHRlcnMgPSB7XHJcbiAgICAgIC4uLnJlcS5maWx0ZXJzLFxyXG4gICAgICBsYWJlbHM6IFtyZXEucHJlTGFiZWxWYWx1ZSB8fCAnJ10sXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50U3RyaXBNdWx0aXBsZS5JQ29udGVudFN0cmlwUmVzcG9uc2VBcGk+KFxyXG4gICAgICBBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT04sXHJcbiAgICAgIHsgcmVxdWVzdDogcmVxIH0sXHJcbiAgICApXHJcbiAgfVxyXG4gIHNlYXJjaFY2KHJlcTogTlNTZWFyY2guSVNlYXJjaFY2UmVxdWVzdCk6IE9ic2VydmFibGU8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0PiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y2LCByZXEpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmF0aW5nOiBudW1iZXIgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyByYXRpbmc6IG51bWJlciB9PihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YClcclxuICB9XHJcbiAgZGVsZXRlQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YClcclxuICB9XHJcbiAgYWRkQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZywgZGF0YTogeyByYXRpbmc6IG51bWJlciB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gLCBkYXRhKVxyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBkZXByZWNhdGVkIHRoaXMgd2lsbCBiZSBkZXByaWNhdGVkLlxyXG4gICAqL1xyXG4gIGdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQpOiBOc0NvbnRlbnQuSUNvbnRlbnQge1xyXG4gICAgaWYgKCEoY29udGVudC5jaGlsZHJlbiB8fCBbXSkubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBjb250ZW50XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSAnUHJvZ3JhbScgJiZcclxuICAgICAgIShjb250ZW50LmFydGlmYWN0VXJsICYmIGNvbnRlbnQuYXJ0aWZhY3RVcmwubGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkID0gY29udGVudC5jaGlsZHJlblswXVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY2hpbGQpXHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5SRVNPVVJDRSB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuS05PV0xFREdFX0FSVElGQUNUIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUk9HUkFNIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUkFDVElDRV9SRVNPVVJDRSB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuRklOQUxfQVNTRVNTTUVOVCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQ09NUF9BU1NFU1NNRU5UIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5NQU5EQVRPUllfQ09VUlNFX0dPQUwgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5Lk9GRkxJTkVfU0VTU0lPTlxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBjb250ZW50XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaXJzdENoaWxkID0gY29udGVudC5jaGlsZHJlblswXVxyXG4gICAgY29uc3QgcmVzdWx0Q29udGVudCA9IHRoaXMuZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGZpcnN0Q2hpbGQpXHJcbiAgICByZXR1cm4gcmVzdWx0Q29udGVudFxyXG4gIH1cclxuXHJcbiAgZ2V0UmVnaXN0cmF0aW9uU3RhdHVzKHNvdXJjZTogc3RyaW5nKTogUHJvbWlzZTx7IGhhc0FjY2VzczogYm9vbGVhbjsgcmVnaXN0cmF0aW9uVXJsPzogc3RyaW5nIH0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuUkVHSVNUUkFUSU9OX1NUQVRVU30vJHtzb3VyY2V9YCkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29uZmlnKHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybClcclxuICB9XHJcbn1cclxuIl19
221
+ export { ɵ0, ɵ1, ɵ2 };
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0lBSTVDLGlCQUFpQixHQUFHLG9CQUFvQjtTQWlCdEIsVUFBQyxJQUFZLEVBQUUsRUFBVTtJQUM3QyxPQUFHLGlCQUFpQiw0QkFBdUIsSUFBSSxTQUFJLEVBQUk7QUFBdkQsQ0FBdUQsT0FFbEMsVUFBQyxTQUFpQixJQUFLLE9BQUcsaUJBQWlCLHVCQUFrQixTQUFXLEVBQWpELENBQWlELE9BQ3RFLFVBQUMsU0FBYyxJQUFLLE9BQUEsMkRBQXlELFNBQVcsRUFBcEUsQ0FBb0U7SUFuQjdHLGNBQWMsR0FBRztJQUNyQixPQUFPLEVBQUssaUJBQWlCLGFBQVU7SUFDdkMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDLGFBQWEsRUFBSyxpQkFBaUIsdUJBQW9CO0lBQ3ZELGFBQWEsRUFBSyxpQkFBaUIsdUJBQW9CO0lBQ3ZELG1CQUFtQixFQUFLLGlCQUFpQiw0QkFBeUI7SUFDbEUsY0FBYyxFQUFLLGlCQUFpQixrQ0FBK0I7SUFDbkUsc0JBQXNCLEVBQUssaUJBQWlCLCtCQUE0QjtJQUN4RSxnQkFBZ0IsRUFBSyxp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T0FBTyxPQUFPLENBQUE7U0FDZjtZQUNLLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNoQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQztRQUMvRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0lBRUQsb0RBQXFCLEdBQXJCLFVBQXNCLE1BQWM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxjQUFjLENBQUMsbUJBQW1CLFNBQUksTUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDMUYsQ0FBQztJQUVELDBDQUFXLEdBQVgsVUFBWSxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELHdEQUF5QixHQUF6QixVQUEwQixTQUFpQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCwrQ0FBZ0IsR0FBaEIsVUFBa0IsV0FBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxLQUFHLGNBQWMsQ0FBQyxpQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNoRixDQUFDOztnQkFsTkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQXJDUSxVQUFVO2dCQUlWLHFCQUFxQjs7OytCQUo5QjtDQXNQQyxBQW5ORCxJQW1OQztTQTdNWSxvQkFBb0I7O0lBRTdCLG9DQUF3QjtJQUN4Qix5Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgRU1QVFkgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnXHJcbmltcG9ydCB7IE5zQ29udGVudCB9IGZyb20gJy4vd2lkZ2V0LWNvbnRlbnQubW9kZWwnXHJcbmltcG9ydCB7IE5TU2VhcmNoIH0gZnJvbSAnLi93aWRnZXQtc2VhcmNoLm1vZGVsJ1xyXG5cclxuLy8gVE9ETzogbW92ZSB0aGlzIGluIHNvbWUgY29tbW9uIHBsYWNlXHJcbmNvbnN0IFBST1RFQ1RFRF9TTEFHX1Y4ID0gJy9hcGlzL3Byb3RlY3RlZC92OCdcclxuXHJcbmNvbnN0IEFQSV9FTkRfUE9JTlRTID0ge1xyXG4gIENPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50YCxcclxuICBBVVRIT1JJTkdfQ09OVEVOVDogYC9hcGlzL2F1dGhBcGkvaGllcmFyY2h5YCxcclxuICBDT05URU5UX0xJS0VTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9saWtlQ291bnRgLFxyXG4gIFNFVF9TM19DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldENvb2tpZWAsXHJcbiAgU0VUX1MzX0lNQUdFX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0SW1hZ2VDb29raWVgLFxyXG4gIEZFVENIX01BTklGRVNUOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVNYW5pZmVzdGAsXHJcbiAgRkVUQ0hfV0VCX01PRFVMRV9GSUxFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlRmlsZXNgLFxyXG4gIE1VTFRJUExFX0NPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L211bHRpcGxlYCxcclxuICBDT05URU5UX1NFQVJDSF9WNTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoVjVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y2OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNmAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbmAsXHJcbiAgQ09OVEVOVF9ISVNUT1JZOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5YCxcclxuICBVU0VSX0NPTlRJTlVFX0xFQVJOSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5L2NvbnRpbnVlYCxcclxuICBDT05URU5UX1JBVElORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nYCxcclxuICBDT0xMRUNUSU9OX0hJRVJBUkNIWTogKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZykgPT5cclxuICAgIGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2NvbGxlY3Rpb24vJHt0eXBlfS8ke2lkfWAsXHJcbiAgUkVHSVNUUkFUSU9OX1NUQVRVUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2FkbWluL3VzZXJSZWdpc3RyYXRpb24vY2hlY2tVc2VyUmVnaXN0cmF0aW9uQ29udGVudGAsXHJcbiAgTUFSS19BU19DT01QTEVURV9NRVRBOiAoY29udGVudElkOiBzdHJpbmcpID0+IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL3Byb2dyZXNzLyR7Y29udGVudElkfWAsXHJcbiAgRVhUX1VTRVJfQ09VUlNFX0VOUk9MTCA6IChjb250ZW50SWQ6IGFueSkgPT4gYC9hcGlzL3Byb3hpZXMvdjgvY2lvcy1lbnJvbGwvdjEvcmVhZGJ5L3VzZXJpZGNvdXJzZWlkLyR7Y29udGVudElkfWAsXHJcbiAgRVhUX0NPTlRFTlRfRVJPTEw6IGAvYXBpcy9wcm94aWVzL3Y4L2Npb3MtZW5yb2xsL3YxL2NyZWF0ZWAsXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCB0aGlzIHdpbGwgYmUgZGVwcmljYXRlZFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFdpZGdldENvbnRlbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBmZXRjaE1hcmtBc0NvbXBsZXRlTWV0YShpZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXHJcbiAgICBjb25zdCB1cmwgPSBBUElfRU5EX1BPSU5UUy5NQVJLX0FTX0NPTVBMRVRFX01FVEEoaWRlbnRpZmllcilcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkudG9Qcm9taXNlKClcclxuICAgIGlmICh1cmwpIHsgfVxyXG4gICAgcmV0dXJuIG9mKCkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudChcclxuICAgIGNvbnRlbnRJZDogc3RyaW5nLFxyXG4gICAgaGllcmFyY2h5VHlwZTogJ2FsbCcgfCAnbWluaW1hbCcgfCAnZGV0YWlsJyA9ICdkZXRhaWwnLFxyXG4gICAgYWRkaXRpb25hbEZpZWxkczogc3RyaW5nW10gPSBbXSxcclxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVH0vJHtjb250ZW50SWR9P2hpZXJhcmNoeVR5cGU9JHtoaWVyYXJjaHlUeXBlfWBcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8TnNDb250ZW50LklDb250ZW50Pih1cmwsIHsgYWRkaXRpb25hbEZpZWxkcyB9KVxyXG4gICAgICAucGlwZShyZXRyeSgxKSlcclxuICB9XHJcbiAgZmV0Y2hBdXRob3JpbmdDb250ZW50KGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9FTkRfUE9JTlRTLkFVVEhPUklOR19DT05URU5UfS8ke2NvbnRlbnRJZH1gXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnQ+KHVybCkucGlwZShyZXRyeSgxKSlcclxuICB9XHJcbiAgZmV0Y2hNdWx0aXBsZUNvbnRlbnQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudFtdPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuTVVMVElQTEVfQ09OVEVOVH0vJHtpZHMuam9pbignLCcpfWAsXHJcbiAgICApXHJcbiAgfVxyXG4gIGZldGNoQ29sbGVjdGlvbkhpZXJhcmNoeSh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHBhZ2VOdW1iZXI6IG51bWJlciA9IDAsIHBhZ2VTaXplOiBudW1iZXIgPSAxKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbGxlY3Rpb25IaWVyYXJjaHlSZXNwb25zZT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTExFQ1RJT05fSElFUkFSQ0hZKFxyXG4gICAgICAgIHR5cGUsXHJcbiAgICAgICAgaWQsXHJcbiAgICAgICl9P3BhZ2VOdW1iZXI9JHtwYWdlTnVtYmVyfSZwYWdlU2l6ZT0ke3BhZ2VTaXplfWAsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRMaWtlcyhjb250ZW50SWRzOiB7IGNvbnRlbnRfaWQ6IHN0cmluZ1tdIH0pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8eyBbaWRlbnRpZmllcjogc3RyaW5nXTogbnVtYmVyIH0+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfTElLRVMsIGNvbnRlbnRJZHMpXHJcbiAgICAgIC50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5ncyhjb250ZW50SWRzOiB7IGNvbnRlbnRJZHM6IHN0cmluZ1tdIH0pIHtcclxuICAgIGlmIChjb250ZW50SWRzKSB7IH1cclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLnBvc3QoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9L3JhdGluZ2AsIGNvbnRlbnRJZHMpXHJcbiAgICAvLyAgIC50b1Byb21pc2UoKVxyXG4gICAgcmV0dXJuIG9mKCkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudEhpc3RvcnkoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX0hJU1RPUll9LyR7Y29udGVudElkfWAsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhc3luYyBjb250aW51ZUxlYXJuaW5nKGlkOiBzdHJpbmcsIGNvbGxlY3Rpb25JZD86IHN0cmluZywgY29sbGVjdGlvblR5cGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4ge1xyXG4gICAgICBpZiAoY29sbGVjdGlvblR5cGUgJiZcclxuICAgICAgICBjb2xsZWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpID09PSAncGxheWxpc3QnKSB7XHJcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcclxuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxyXG4gICAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgY29udGV4dEZ1bGxQYXRoOiBbY29sbGVjdGlvbklkLCBpZF0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIGNvbnRleHRUeXBlOiAncGxheWxpc3QnLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgc2F2ZUNvbnRpbnVlTGVhcm5pbmcoY29udGVudDogTnNDb250ZW50LklWaWV3ZXJDb250aW51ZUxlYXJuaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyBjb25zdCB1cmwgPSBBUElfRU5EX1BPSU5UUy5VU0VSX0NPTlRJTlVFX0xFQVJOSU5HXHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGNvbnRlbnQpXHJcbiAgICBpZiAoY29udGVudCkge1xyXG5cclxuICAgIH1cclxuICAgIHJldHVybiBvZigpIGFzIGFueVxyXG4gIH1cclxuXHJcbiAgc2V0UzNDb29raWUoXHJcbiAgICBfY29udGVudElkOiBzdHJpbmcsXHJcbiAgICAvLyBfcGF0aDogc3RyaW5nLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAvLyAgIC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19DT09LSUUsIHsgY29udGVudElkIH0pXHJcbiAgICAvLyAgIC5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgICByZXR1cm4gRU1QVFlcclxuICB9XHJcblxyXG4gIHNldFMzSW1hZ2VDb29raWUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfSU1BR0VfQ09PS0lFLCB7fSkucGlwZShjYXRjaEVycm9yKF9lcnIgPT4gb2YodHJ1ZSkpKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hNYW5pZmVzdCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuRkVUQ0hfTUFOSUZFU1QsIHsgdXJsIH0pXHJcbiAgfVxyXG4gIGZldGNoV2ViTW9kdWxlQ29udGVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtBUElfRU5EX1BPSU5UUy5GRVRDSF9XRUJfTU9EVUxFX0ZJTEVTfT91cmw9JHtlbmNvZGVVUklDb21wb25lbnQodXJsKX1gKVxyXG4gIH1cclxuICBzZWFyY2gocmVxOiBOU1NlYXJjaC5JU2VhcmNoUmVxdWVzdCk6IE9ic2VydmFibGU8TlNTZWFyY2guSVNlYXJjaEFwaVJlc3VsdD4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaEFwaVJlc3VsdD4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfVjUsIHtcclxuICAgICAgcmVxdWVzdDogcmVxLFxyXG4gICAgfSlcclxuICB9XHJcbiAgc2VhcmNoUmVnaW9uUmVjb21tZW5kYXRpb24oXHJcbiAgICByZXE6IE5TU2VhcmNoLklTZWFyY2hPcmdSZWdpb25SZWNvbW1lbmRhdGlvblJlcXVlc3QsXHJcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXEucHJlTGFiZWxWYWx1ZSA9XHJcbiAgICAgIChyZXEucHJlTGFiZWxWYWx1ZSB8fCAnJykgK1xyXG4gICAgICAoKHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLmNvdW50cnkpIHx8ICcnKVxyXG4gICAgcmVxLmZpbHRlcnMgPSB7XHJcbiAgICAgIC4uLnJlcS5maWx0ZXJzLFxyXG4gICAgICBsYWJlbHM6IFtyZXEucHJlTGFiZWxWYWx1ZSB8fCAnJ10sXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50U3RyaXBNdWx0aXBsZS5JQ29udGVudFN0cmlwUmVzcG9uc2VBcGk+KFxyXG4gICAgICBBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT04sXHJcbiAgICAgIHsgcmVxdWVzdDogcmVxIH0sXHJcbiAgICApXHJcbiAgfVxyXG4gIHNlYXJjaFY2KHJlcTogTlNTZWFyY2guSVNlYXJjaFY2UmVxdWVzdCk6IE9ic2VydmFibGU8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0PiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y2LCByZXEpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmF0aW5nOiBudW1iZXIgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyByYXRpbmc6IG51bWJlciB9PihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YClcclxuICB9XHJcbiAgZGVsZXRlQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YClcclxuICB9XHJcbiAgYWRkQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZywgZGF0YTogeyByYXRpbmc6IG51bWJlciB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gLCBkYXRhKVxyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBkZXByZWNhdGVkIHRoaXMgd2lsbCBiZSBkZXByaWNhdGVkLlxyXG4gICAqL1xyXG4gIGdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQpOiBOc0NvbnRlbnQuSUNvbnRlbnQge1xyXG4gICAgaWYgKCEoY29udGVudC5jaGlsZHJlbiB8fCBbXSkubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBjb250ZW50XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSAnUHJvZ3JhbScgJiZcclxuICAgICAgIShjb250ZW50LmFydGlmYWN0VXJsICYmIGNvbnRlbnQuYXJ0aWZhY3RVcmwubGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkID0gY29udGVudC5jaGlsZHJlblswXVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY2hpbGQpXHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5SRVNPVVJDRSB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuS05PV0xFREdFX0FSVElGQUNUIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUk9HUkFNIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUkFDVElDRV9SRVNPVVJDRSB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuRklOQUxfQVNTRVNTTUVOVCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQ09NUF9BU1NFU1NNRU5UIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5NQU5EQVRPUllfQ09VUlNFX0dPQUwgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5Lk9GRkxJTkVfU0VTU0lPTlxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBjb250ZW50XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaXJzdENoaWxkID0gY29udGVudC5jaGlsZHJlblswXVxyXG4gICAgY29uc3QgcmVzdWx0Q29udGVudCA9IHRoaXMuZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGZpcnN0Q2hpbGQpXHJcbiAgICByZXR1cm4gcmVzdWx0Q29udGVudFxyXG4gIH1cclxuXHJcbiAgZ2V0UmVnaXN0cmF0aW9uU3RhdHVzKHNvdXJjZTogc3RyaW5nKTogUHJvbWlzZTx7IGhhc0FjY2VzczogYm9vbGVhbjsgcmVnaXN0cmF0aW9uVXJsPzogc3RyaW5nIH0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuUkVHSVNUUkFUSU9OX1NUQVRVU30vJHtzb3VyY2V9YCkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29uZmlnKHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybClcclxuICB9XHJcblxyXG4gIGZldGNoRXh0VXNlckNvbnRlbnRFbnJvbGwoY29udGVudElkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oQVBJX0VORF9QT0lOVFMuRVhUX1VTRVJfQ09VUlNFX0VOUk9MTChjb250ZW50SWQpKVxyXG4gIH1cclxuXHJcbiAgZXh0Q29udGVudEVucm9sbCAocmVxdWVzdEJvZHk6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuRVhUX0NPTlRFTlRfRVJPTEx9YCwgcmVxdWVzdEJvZHkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2643,6 +2643,7 @@ class AuthKeycloakService {
2643
2643
  else {
2644
2644
  storage$1.removeItem(storageKey$1);
2645
2645
  yield this.http.get('/apis/reset').toPromise();
2646
+ yield this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise();
2646
2647
  }
2647
2648
  try {
2648
2649
  sessionStorage.clear();
@@ -2652,6 +2653,7 @@ class AuthKeycloakService {
2652
2653
  }
2653
2654
  storage$1.removeItem(storageKey$1);
2654
2655
  yield this.http.get('/apis/reset').toPromise();
2656
+ yield this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise();
2655
2657
  });
2656
2658
  }
2657
2659
  addKeycloakEventListener() {
@@ -3566,9 +3568,12 @@ class PipePublicURL {
3566
3568
  this.environment = environment;
3567
3569
  }
3568
3570
  transform(value) {
3569
- const mainUrl = value && value.split('/content').pop() || '';
3570
- const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`;
3571
- return value ? finalURL : '';
3571
+ if (value.includes('karmayogi')) {
3572
+ const mainUrl = value && value.split('/content').pop() || '';
3573
+ const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`;
3574
+ return value ? finalURL : '';
3575
+ }
3576
+ return value;
3572
3577
  }
3573
3578
  }
3574
3579
  PipePublicURL.decorators = [
@@ -5024,7 +5029,7 @@ var NsContent;
5024
5029
  })(NsContent || (NsContent = {}));
5025
5030
 
5026
5031
  const PROTECTED_SLAG_V8 = '/apis/protected/v8';
5027
- const ɵ0 = (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`, ɵ1 = (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`;
5032
+ const ɵ0 = (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`, ɵ1 = (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`, ɵ2 = (contentId) => `/apis/proxies/v8/cios-enroll/v1/readby/useridcourseid/${contentId}`;
5028
5033
  const API_END_POINTS = {
5029
5034
  CONTENT: `${PROTECTED_SLAG_V8}/content`,
5030
5035
  AUTHORING_CONTENT: `/apis/authApi/hierarchy`,
@@ -5043,6 +5048,8 @@ const API_END_POINTS = {
5043
5048
  COLLECTION_HIERARCHY: (ɵ0),
5044
5049
  REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,
5045
5050
  MARK_AS_COMPLETE_META: (ɵ1),
5051
+ EXT_USER_COURSE_ENROLL: (ɵ2),
5052
+ EXT_CONTENT_EROLL: `/apis/proxies/v8/cios-enroll/v1/create`,
5046
5053
  };
5047
5054
  class WidgetContentService {
5048
5055
  constructor(http, configSvc) {
@@ -5188,6 +5195,12 @@ class WidgetContentService {
5188
5195
  fetchConfig(url) {
5189
5196
  return this.http.get(url);
5190
5197
  }
5198
+ fetchExtUserContentEnroll(contentId) {
5199
+ return this.http.get(API_END_POINTS.EXT_USER_COURSE_ENROLL(contentId));
5200
+ }
5201
+ extContentEnroll(requestBody) {
5202
+ return this.http.post(`${API_END_POINTS.EXT_CONTENT_EROLL}`, requestBody);
5203
+ }
5191
5204
  }
5192
5205
  WidgetContentService.decorators = [
5193
5206
  { type: Injectable, args: [{