@sunbird-cb/consumption 0.0.87 → 0.0.89

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.
Files changed (72) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +1594 -1504
  2. package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-consumption.umd.min.js +2 -2
  4. package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +4 -7
  6. package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +3 -3
  7. package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +3 -3
  8. package/esm2015/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +3 -3
  9. package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +3 -3
  10. package/esm2015/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +3 -3
  11. package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +3 -3
  12. package/esm2015/lib/_common/cards/cards.component.js +4 -24
  13. package/esm2015/lib/_common/common-strip/common-strip.component.js +5 -5
  14. package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +3 -3
  15. package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +3 -3
  16. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +50 -54
  17. package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +6 -6
  18. package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.js +7 -9
  19. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +8 -8
  20. package/esm2015/lib/_common/user-progress/user-progress.component.js +1 -2
  21. package/esm2015/lib/_services/widget-content-lib.service.js +899 -0
  22. package/esm2015/lib/_services/widget-user-lib.service.js +523 -0
  23. package/esm2015/public-api.js +3 -2
  24. package/esm2015/sunbird-cb-consumption.js +77 -78
  25. package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +4 -7
  26. package/esm5/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +3 -3
  27. package/esm5/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +3 -3
  28. package/esm5/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +3 -3
  29. package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +3 -3
  30. package/esm5/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +3 -3
  31. package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +3 -3
  32. package/esm5/lib/_common/cards/cards.component.js +4 -27
  33. package/esm5/lib/_common/common-strip/common-strip.component.js +5 -5
  34. package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +3 -3
  35. package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +3 -3
  36. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +83 -87
  37. package/esm5/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +6 -6
  38. package/esm5/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.js +7 -9
  39. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +8 -9
  40. package/esm5/lib/_common/user-progress/user-progress.component.js +1 -2
  41. package/esm5/lib/_services/widget-content-lib.service.js +1170 -0
  42. package/esm5/lib/_services/widget-user-lib.service.js +607 -0
  43. package/esm5/public-api.js +3 -2
  44. package/esm5/sunbird-cb-consumption.js +77 -78
  45. package/fesm2015/sunbird-cb-consumption.js +1159 -1096
  46. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  47. package/fesm5/sunbird-cb-consumption.js +1519 -1429
  48. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  49. package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +2 -3
  50. package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts +2 -2
  51. package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +2 -2
  52. package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts +2 -2
  53. package/lib/_common/cards/card-portrait/card-portrait.component.d.ts +2 -2
  54. package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts +2 -2
  55. package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +2 -2
  56. package/lib/_common/cards/cards.component.d.ts +2 -5
  57. package/lib/_common/common-strip/common-strip.component.d.ts +3 -3
  58. package/lib/_common/competency-passbook/competency-passbook.component.d.ts +3 -3
  59. package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +3 -3
  60. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +4 -6
  61. package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.d.ts +3 -4
  62. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +3 -4
  63. package/lib/_services/{widget-content.service.d.ts → widget-content-lib.service.d.ts} +6 -3
  64. package/lib/_services/{widget-user.service.d.ts → widget-user-lib.service.d.ts} +9 -4
  65. package/package.json +1 -1
  66. package/public-api.d.ts +2 -1
  67. package/sunbird-cb-consumption.d.ts +75 -76
  68. package/sunbird-cb-consumption.metadata.json +1 -1
  69. package/esm2015/lib/_services/widget-content.service.js +0 -852
  70. package/esm2015/lib/_services/widget-user.service.js +0 -475
  71. package/esm5/lib/_services/widget-content.service.js +0 -1109
  72. package/esm5/lib/_services/widget-user.service.js +0 -542
@@ -48,7 +48,7 @@ var MdoLeaderboardComponent = /** @class */ (function () {
48
48
  * @param {?} user
49
49
  * @return {?}
50
50
  */
51
- function (user) { return (tslib_1.__assign({}, user, { children: [], selected: false })); }));
51
+ function (user) { return (tslib_1.__assign({}, user, { children: [], selected: false })); })).slice(0, 5);
52
52
  }
53
53
  }), (/**
54
54
  * @param {?} error
@@ -80,7 +80,7 @@ var MdoLeaderboardComponent = /** @class */ (function () {
80
80
  * @param {?} user
81
81
  * @return {?}
82
82
  */
83
- function (user) { return (tslib_1.__assign({}, user, { children: [], selected: false })); }));
83
+ function (user) { return (tslib_1.__assign({}, user, { children: [], selected: false })); })).slice(0, 5);
84
84
  /** @type {?} */
85
85
  var nameStr = '';
86
86
  switch (name) {
@@ -154,7 +154,7 @@ var MdoLeaderboardComponent = /** @class */ (function () {
154
154
  * @param {?} user
155
155
  * @return {?}
156
156
  */
157
- function (user) { return (tslib_1.__assign({}, user, { children: [] })); }));
157
+ function (user) { return (tslib_1.__assign({}, user, { children: [] })); })).slice(0, 5);
158
158
  }
159
159
  else {
160
160
  this.filteredData = this.result.mdoLeaderBoard
@@ -167,7 +167,7 @@ var MdoLeaderboardComponent = /** @class */ (function () {
167
167
  * @param {?} user
168
168
  * @return {?}
169
169
  */
170
- function (user) { return (tslib_1.__assign({}, user, { children: [] })); }));
170
+ function (user) { return (tslib_1.__assign({}, user, { children: [] })); })).slice(0, 5);
171
171
  }
172
172
  };
173
173
  /**
@@ -182,7 +182,7 @@ var MdoLeaderboardComponent = /** @class */ (function () {
182
182
  MdoLeaderboardComponent.decorators = [
183
183
  { type: Component, args: [{
184
184
  selector: 'sb-uic-mdo-leaderboard',
185
- template: "<div class=\"mdo-leaderboard-container\">\n <div class=\"flex l-title gap-2 items-center justify-between px-4 md:px-0 py-4 md:py-0\">\n <div class=\"flex gap-2\">\n {{object?.title}} <div><img [src]=\"object?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"object?.infoText\"></div>\n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div class=\"flex item-center justify-center\" *ngIf=\"expand\">\n <div class=\"flex fl-div\">\n <div class=\"pointer\">\n <span class=\"dot-dot\"></span>\n </div>\n </div>\n </div>\n <div class=\"l-content\" *ngIf=\"expand\">\n <div class=\"horizontal-scroll-container\">\n <div class=\"scroll-content\">\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XL' }\" (click)=\"getTabData('XL')\">Greater than 50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'L' }\" (click)=\"getTabData('L')\">10K-50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'M' }\" (click)=\"getTabData('M')\">1K-10K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'S' }\" (click)=\"getTabData('S')\">500-1K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XS' }\" (click)=\"getTabData('XS')\">Less than 500</span>\n </div>\n </div>\n <div class=\"relative search-wrapper margin-top-m mb-5\">\n <mat-icon matPrefix class=\"flex absolute items-center justify-center mr-2 icon-search\">search\n </mat-icon>\n <input type=\"search\" name=\"searchKey\" class=\"search-field\" i18-aria-label\n aria-label=\"Search\" i18n-placeholder=\"search\" [(ngModel)]=\"searchTerm\"\n placeholder=\"Search your MDO\" (keyup)=\"handleSearchQuery($event)\" />\n </div>\n <div class=\"l-tab-data\">\n <div *ngFor=\"let user of filteredData\">\n <div class=\"flex flex-row item mb-5 gap-3 {{user.row_num === 1 ? 'relative' : ''}}\" >\n <div><img class=\"crown absolute\" src=\"assets/images/national-learning/rank-crown.svg\" *ngIf=\"user.row_num === 1\"/></div>\n <div class=\"{{getRank(user.row_num)}}\">{{user.row_num}}</div>\n <div class=\"w-full\">\n <div class=\"flex flex-between gap-2\">\n <div>\n <div class=\"rank-name\">{{user.org_name}}</div>\n <div class=\"rank-points flex mt-1 gap-1\">\n <img class=\"nlw-kb\" src=\"assets/icons/home/karma-badge.svg\"/>\n <div class=\"points\">{{user.total_points || 0 }} points</div>\n </div>\n </div>\n <div class=\"rank-crown\" *ngIf=\"[1,2,3].includes(user.row_num)\">\n <img class=\"nlw-animation\" [src]=\"getMedal(user.row_num)\"/>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"no-data px-1\" *ngIf=\"filteredData?.length === 0\">\n No data found!\n </div>\n </div>\n </div>\n</div>\n",
185
+ template: "<div class=\"mdo-leaderboard-container\">\n <div class=\"flex l-title gap-2 items-center justify-between px-4 md:px-0 py-4 md:py-0\">\n <div class=\"flex gap-2\">\n {{object?.title}} <div><img [src]=\"object?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"object?.infoText\"></div>\n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div class=\"flex item-center justify-center\" *ngIf=\"expand\">\n <div class=\"flex fl-div\">\n <div class=\"pointer\">\n <span class=\"dot-dot\"></span>\n </div>\n </div>\n </div>\n <div class=\"l-content\" *ngIf=\"expand\">\n <div class=\"horizontal-scroll-container\">\n <div class=\"scroll-content\">\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XL' }\" (click)=\"getTabData('XL')\">Greater than 50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'L' }\" (click)=\"getTabData('L')\">10K-50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'M' }\" (click)=\"getTabData('M')\">1K-10K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'S' }\" (click)=\"getTabData('S')\">500-1K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XS' }\" (click)=\"getTabData('XS')\">Less than 500</span>\n </div>\n </div>\n <div class=\"relative search-wrapper margin-top-m mb-5\">\n <mat-icon matPrefix class=\"flex absolute items-center justify-center mr-2 icon-search\">search\n </mat-icon>\n <input type=\"search\" name=\"searchKey\" class=\"search-field\" i18-aria-label\n aria-label=\"Search\" i18n-placeholder=\"search\" [(ngModel)]=\"searchTerm\"\n placeholder=\"Search your MDO\" (keyup)=\"handleSearchQuery($event)\" />\n </div>\n <div class=\"l-tab-data\">\n <div *ngFor=\"let user of filteredData; let i = index\">\n <div class=\"flex flex-row item mb-{{filteredData.length - 1 === i ? 0 : 5}} gap-3 {{user.row_num === 1 ? 'relative' : ''}}\" >\n <div><img class=\"crown absolute\" src=\"assets/images/national-learning/rank-crown.svg\" *ngIf=\"user.row_num === 1\"/></div>\n <div class=\"{{getRank(user.row_num)}}\">{{user.row_num}}</div>\n <div class=\"w-full\">\n <div class=\"flex flex-between gap-2\">\n <div>\n <div class=\"rank-name\">{{user.org_name}}</div>\n <div class=\"rank-points flex mt-1 gap-1\">\n <img class=\"nlw-kb\" src=\"assets/icons/home/karma-badge.svg\"/>\n <div class=\"points\">{{user.total_points || 0 }} points</div>\n </div>\n </div>\n <div class=\"rank-crown\" *ngIf=\"[1,2,3].includes(user.row_num)\">\n <img class=\"nlw-animation\" [src]=\"getMedal(user.row_num)\"/>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"no-data px-1\" *ngIf=\"filteredData?.length === 0\">\n No data found!\n </div>\n </div>\n </div>\n</div>\n",
186
186
  styles: [".l-title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.l-content{background-color:#e9eef6;border-radius:16px;padding:16px}.horizontal-scroll-container{overflow-x:auto;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none;height:32px}.horizontal-scroll-container::-webkit-scrollbar{display:none}.scroll-content{display:inline-block}.tab-title{font-family:Lato;font-size:14px;line-height:16.8px;text-align:left;cursor:pointer;padding:0 15px 8px;border-bottom:2px solid #c3c3c3}.active{font-weight:700;border-bottom:2px solid #1b4ca1}.search-field{height:34px;padding:0 16px 0 40px;border-radius:52px;background:#fff;border:2px solid rgba(0,0,0,.0784313725);width:100%}.icon-search{top:10px;left:15px;height:15px;width:17px}.item{border-radius:12px;background-color:#fff;padding:16px;align-items:flex-start}.rank1{background:#ffca28;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px}.rank2{background:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px;color:#fff}.rank3{background:#ff8228;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px}.rank0{font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px;border:1px solid #c3c3c3}.rank-name{font-family:Montserrat;line-height:1.5em;font-size:16px;font-weight:600;text-align:left;align-items:center;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2}.rank-points{align-items:center}.nlw-kb{height:24px;width:24px}.points{font-family:Lato;font-size:14px;font-weight:600;line-height:16.8px;text-align:right}.crown{left:10px;top:0;width:36px;height:36px}.l-tab-data{height:520px;overflow:auto;padding-bottom:16px}.l-tab-data::-webkit-scrollbar{display:none}.pointer{margin-bottom:-59px;border-radius:41px;background:#c3c3c3;border:35px solid #e9eef6}.dot-dot{width:7px;display:flex;height:7px;background:#c3c3c3;margin-top:-25px;border-radius:10px}@media screen and (min-width:320px) and (max-width:769px){.mdo-leaderboard-container{background-color:#d1dbec}}"]
187
187
  }] }
188
188
  ];
@@ -218,4 +218,4 @@ if (false) {
218
218
  */
219
219
  MdoLeaderboardComponent.prototype.insiteDataService;
220
220
  }
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWxlYWRlcmJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vbWRvLWxlYWRlcmJvYXJkL21kby1sZWFkZXJib2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFO0lBZUUsaUNBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnhELGVBQVUsR0FBUSxJQUFJLENBQUE7UUFDdEIsV0FBTSxHQUFRLEVBQUUsQ0FBQTtRQUVoQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBQ3ZCLFdBQU0sR0FBWSxJQUFJLENBQUE7UUFHWixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtJQUNjLENBQUM7Ozs7SUFFN0QsMENBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hCLENBQUM7Ozs7SUFFRCx5Q0FBTzs7O0lBQVA7UUFBQSxpQkFZQztRQVhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFDLEdBQVE7WUFDekQsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsS0FBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO2dCQUN4QixLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztxQkFDekMsTUFBTTs7OztnQkFBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSSxDQUFDLFVBQVUsRUFBN0Is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SUFBSSxJQUFFLFFBQVEsRUFBRSxFQUFFLElBQUUsRUFBMUIsQ0FBMEIsRUFBQyxDQUFBO1NBQy9DO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztpQkFDekMsTUFBTTs7OztZQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFJLENBQUMsVUFBVSxFQUE3QixDQUE2QixFQUFDO2lCQUM3QyxHQUFHOzs7O1lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxzQkFBTSxJQUFJLElBQUUsUUFBUSxFQUFFLEVBQUUsSUFBRSxFQUExQixDQUEwQixFQUFDLENBQUE7U0FDL0M7SUFDSCxDQUFDOzs7O0lBRUQscURBQW1COzs7SUFBbkI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUM1QixDQUFDOztnQkEzRkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLGloSEFBK0M7O2lCQUVoRDs7OztnQkFOUSxpQkFBaUI7Ozt5QkFldkIsS0FBSzs2QkFDTCxNQUFNOztJQStFVCw4QkFBQztDQUFBLEFBN0ZELElBNkZDO1NBeEZZLHVCQUF1Qjs7O0lBRWxDLDZDQUFzQjs7SUFDdEIseUNBQWdCOztJQUNoQiwrQ0FBaUI7O0lBQ2pCLDZDQUF1Qjs7SUFDdkIseUNBQXNCOztJQUV0Qix5Q0FBb0I7O0lBQ3BCLDZDQUE4Qzs7Ozs7SUFDbEMsb0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5zaXRlRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvaW5zaXRlLWRhdGEuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1tZG8tbGVhZGVyYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWRvLWxlYWRlcmJvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWRvLWxlYWRlcmJvYXJkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWRvTGVhZGVyYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGN1cnJlbnRUYWI6IGFueSA9ICdYTCdcbiAgcmVzdWx0OiBhbnkgPSBbXVxuICBmaWx0ZXJlZERhdGE6IGFueVxuICBzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJ1xuICBleHBhbmQ6IGJvb2xlYW4gPSB0cnVlXG5cbiAgQElucHV0KCkgb2JqZWN0OiBhbnlcbiAgQE91dHB1dCgpIHRhYkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluc2l0ZURhdGFTZXJ2aWNlOiBJbnNpdGVEYXRhU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXREYXRhKClcbiAgfVxuXG4gIGdldERhdGEoKSB7XG4gICAgdGhpcy5pbnNpdGVEYXRhU2VydmljZS5mZXRjaExlYWRlcmJvYXJkKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcy5yZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0ID0gcmVzLnJlc3VsdFxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLnJlc3VsdC5tZG9MZWFkZXJCb2FyZFxuICAgICAgICAgICAgICAgIC5maWx0ZXIodXNlciA9PiB1c2VyLnNpemUgPT09IHRoaXMuY3VycmVudFRhYikgXG4gICAgICAgICAgICAgICAgLm1hcCh1c2VyID0+ICh7IC4uLnVzZXIsIGNoaWxkcmVuOiBbXSwgc2VsZWN0ZWQ6IGZhbHNlIH0pKVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgfSlcbiAgfVxuXG4gIGdldFRhYkRhdGEobmFtZTogYW55KSB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gbmFtZVxuICAgIHRoaXMuc2VhcmNoVGVybSA9ICcnXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLnJlc3VsdC5tZG9MZWFkZXJCb2FyZFxuICAgICAgICAuZmlsdGVyKHVzZXIgPT4gdXNlci5zaXplID09PSB0aGlzLmN1cnJlbnRUYWIpIFxuICAgICAgICAgICAgLm1hcCh1c2VyID0+ICh7IC4uLnVzZXIsIGNoaWxkcmVuOiBbXSwgc2VsZWN0ZWQ6IGZhbHNlIH0pKVxuICAgIGxldCBuYW1lU3RyOiBhbnkgPSAnJ1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAnWEwnOlxuICAgICAgICBuYW1lU3RyID0gJ2dyZWF0ZXItdGhhbi01MEsnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdMJzpcbiAgICAgICAgbmFtZVN0ciA9ICAnMTBLLTUwSydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ00nOlxuICAgICAgICBuYW1lU3RyID0gICcxSy0xMEsnXG4gICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgJ1MnOlxuICAgICAgICAgIG5hbWVTdHIgPSAnNTAwLTFLJ1xuICAgICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBuYW1lU3RyID0gJ2xlc3MtdGhhbi01MDAnXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICAgIHRoaXMudGFiQ2xpY2tlZC5lbWl0KG5hbWVTdHIpXG4gIH1cblxuICBnZXRSYW5rKHJhbms6IG51bWJlcikge1xuICAgIHJldHVybiBbMSwyLDNdLmluY2x1ZGVzKHJhbmspID8gYHJhbmske3Jhbmt9YCA6ICdyYW5rMCdcbiAgfVxuXG4gIGdldE1lZGFsKHJhbms6IG51bWJlcikge1xuICAgIGlmIChyYW5rID09PSAxKSB7XG4gICAgICAgIHJldHVybiAnYXNzZXRzL2ltYWdlcy9uYXRpb25hbC1sZWFybmluZy9NZWRhbDEuc3ZnJ1xuICAgIH0gZWxzZSBpZihyYW5rID09PSAyKSB7XG4gICAgICAgIHJldHVybiAnYXNzZXRzL2ltYWdlcy9uYXRpb25hbC1sZWFybmluZy9NZWRhbDIuc3ZnJ1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnYXNzZXRzL2ltYWdlcy9uYXRpb25hbC1sZWFybmluZy9NZWRhbDMuc3ZnJ1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVNlYXJjaFF1ZXJ5KGU6IGFueSkge1xuICAgIGlmIChlLnRhcmdldC52YWx1ZSAmJiBlLnRhcmdldC52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9IGUudGFyZ2V0LnZhbHVlXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5yZXN1bHQubWRvTGVhZGVyQm9hcmRcbiAgICAgICAgICAgIC5maWx0ZXIodXNlciA9PiB1c2VyLnNpemUgPT09IHRoaXMuY3VycmVudFRhYiAmJiB1c2VyLm9yZ19uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZS50YXJnZXQudmFsdWUpKVxuICAgICAgICAgICAgLm1hcCh1c2VyID0+ICh7IC4uLnVzZXIsIGNoaWxkcmVuOiBbXX0pKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5yZXN1bHQubWRvTGVhZGVyQm9hcmRcbiAgICAgICAgICAgIC5maWx0ZXIodXNlciA9PiB1c2VyLnNpemUgPT09IHRoaXMuY3VycmVudFRhYilcbiAgICAgICAgICAgIC5tYXAodXNlciA9PiAoeyAuLi51c2VyLCBjaGlsZHJlbjogW119KSlcbiAgICB9XG4gIH1cblxuICB0b2dnbGVXZWVrSGlnaHRsaXRzKCkge1xuICAgIHRoaXMuZXhwYW5kID0gIXRoaXMuZXhwYW5kXG4gIH1cblxufVxuIl19
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWxlYWRlcmJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vbWRvLWxlYWRlcmJvYXJkL21kby1sZWFkZXJib2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFO0lBZUUsaUNBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnhELGVBQVUsR0FBUSxJQUFJLENBQUE7UUFDdEIsV0FBTSxHQUFRLEVBQUUsQ0FBQTtRQUVoQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBQ3ZCLFdBQU0sR0FBWSxJQUFJLENBQUE7UUFHWixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtJQUNjLENBQUM7Ozs7SUFFN0QsMENBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hCLENBQUM7Ozs7SUFFRCx5Q0FBTzs7O0lBQVA7UUFBQSxpQkFZQztRQVhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFDLEdBQVE7WUFDekQsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsS0FBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO2dCQUN4QixLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztxQkFDekMsTUFBTTs7OztnQkFBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSSxDQUFDLFVBQVUsRUFBN0Is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SyxDQUFDLEVBQXJGLENBQXFGLEVBQUM7aUJBQ3JHLEdBQUc7Ozs7WUFBQyxVQUFBLElBQUksSUFBSSxPQUFBLHNCQUFNLElBQUksSUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFFLEVBQTFCLENBQTBCLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1NBQzNEO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztpQkFDekMsTUFBTTs7OztZQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFJLENBQUMsVUFBVSxFQUE3QixDQUE2QixFQUFDO2lCQUM3QyxHQUFHOzs7O1lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxzQkFBTSxJQUFJLElBQUUsUUFBUSxFQUFFLEVBQUUsSUFBRSxFQUExQixDQUEwQixFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtTQUMzRDtJQUNILENBQUM7Ozs7SUFFRCxxREFBbUI7OztJQUFuQjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQzVCLENBQUM7O2dCQTNGRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsd2tIQUErQzs7aUJBRWhEOzs7O2dCQU5RLGlCQUFpQjs7O3lCQWV2QixLQUFLOzZCQUNMLE1BQU07O0lBK0VULDhCQUFDO0NBQUEsQUE3RkQsSUE2RkM7U0F4RlksdUJBQXVCOzs7SUFFbEMsNkNBQXNCOztJQUN0Qix5Q0FBZ0I7O0lBQ2hCLCtDQUFpQjs7SUFDakIsNkNBQXVCOztJQUN2Qix5Q0FBc0I7O0lBRXRCLHlDQUFvQjs7SUFDcEIsNkNBQThDOzs7OztJQUNsQyxvREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnNpdGVEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9pbnNpdGUtZGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLW1kby1sZWFkZXJib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZG8tbGVhZGVyYm9hcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZG8tbGVhZGVyYm9hcmQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNZG9MZWFkZXJib2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY3VycmVudFRhYjogYW55ID0gJ1hMJ1xuICByZXN1bHQ6IGFueSA9IFtdXG4gIGZpbHRlcmVkRGF0YTogYW55XG4gIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnXG4gIGV4cGFuZDogYm9vbGVhbiA9IHRydWVcblxuICBASW5wdXQoKSBvYmplY3Q6IGFueVxuICBAT3V0cHV0KCkgdGFiQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5zaXRlRGF0YVNlcnZpY2U6IEluc2l0ZURhdGFTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldERhdGEoKVxuICB9XG5cbiAgZ2V0RGF0YSgpIHtcbiAgICB0aGlzLmluc2l0ZURhdGFTZXJ2aWNlLmZldGNoTGVhZGVyYm9hcmQoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzLnJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5yZXN1bHQgPSByZXMucmVzdWx0XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMucmVzdWx0Lm1kb0xlYWRlckJvYXJkXG4gICAgICAgICAgICAgICAgLmZpbHRlcih1c2VyID0+IHVzZXIuc2l6ZSA9PT0gdGhpcy5jdXJyZW50VGFiKSBcbiAgICAgICAgICAgICAgICAubWFwKHVzZXIgPT4gKHsgLi4udXNlciwgY2hpbGRyZW46IFtdLCBzZWxlY3RlZDogZmFsc2UgfSkpLnNsaWNlKDAsIDUpXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICB9KVxuICB9XG5cbiAgZ2V0VGFiRGF0YShuYW1lOiBhbnkpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSBuYW1lXG4gICAgdGhpcy5zZWFyY2hUZXJtID0gJydcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMucmVzdWx0Lm1kb0xlYWRlckJvYXJkXG4gICAgICAgIC5maWx0ZXIodXNlciA9PiB1c2VyLnNpemUgPT09IHRoaXMuY3VycmVudFRhYikgXG4gICAgICAgICAgICAubWFwKHVzZXIgPT4gKHsgLi4udXNlciwgY2hpbGRyZW46IFtdLCBzZWxlY3RlZDogZmFsc2UgfSkpLnNsaWNlKDAsIDUpXG4gICAgbGV0IG5hbWVTdHI6IGFueSA9ICcnXG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICdYTCc6XG4gICAgICAgIG5hbWVTdHIgPSAnZ3JlYXRlci10aGFuLTUwSydcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ0wnOlxuICAgICAgICBuYW1lU3RyID0gICcxMEstNTBLJ1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnTSc6XG4gICAgICAgIG5hbWVTdHIgPSAgJzFLLTEwSydcbiAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAnUyc6XG4gICAgICAgICAgbmFtZVN0ciA9ICc1MDAtMUsnXG4gICAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIG5hbWVTdHIgPSAnbGVzcy10aGFuLTUwMCdcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgdGhpcy50YWJDbGlja2VkLmVtaXQobmFtZVN0cilcbiAgfVxuXG4gIGdldFJhbmsocmFuazogbnVtYmVyKSB7XG4gICAgcmV0dXJuIFsxLDIsM10uaW5jbHVkZXMocmFuaykgPyBgcmFuayR7cmFua31gIDogJ3JhbmswJ1xuICB9XG5cbiAgZ2V0TWVkYWwocmFuazogbnVtYmVyKSB7XG4gICAgaWYgKHJhbmsgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuICdhc3NldHMvaW1hZ2VzL25hdGlvbmFsLWxlYXJuaW5nL01lZGFsMS5zdmcnXG4gICAgfSBlbHNlIGlmKHJhbmsgPT09IDIpIHtcbiAgICAgICAgcmV0dXJuICdhc3NldHMvaW1hZ2VzL25hdGlvbmFsLWxlYXJuaW5nL01lZGFsMi5zdmcnXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICdhc3NldHMvaW1hZ2VzL25hdGlvbmFsLWxlYXJuaW5nL01lZGFsMy5zdmcnXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU2VhcmNoUXVlcnkoZTogYW55KSB7XG4gICAgaWYgKGUudGFyZ2V0LnZhbHVlICYmIGUudGFyZ2V0LnZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gZS50YXJnZXQudmFsdWVcbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLnJlc3VsdC5tZG9MZWFkZXJCb2FyZFxuICAgICAgICAgICAgLmZpbHRlcih1c2VyID0+IHVzZXIuc2l6ZSA9PT0gdGhpcy5jdXJyZW50VGFiICYmIHVzZXIub3JnX25hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhlLnRhcmdldC52YWx1ZSkpXG4gICAgICAgICAgICAubWFwKHVzZXIgPT4gKHsgLi4udXNlciwgY2hpbGRyZW46IFtdfSkpLnNsaWNlKDAsIDUpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLnJlc3VsdC5tZG9MZWFkZXJCb2FyZFxuICAgICAgICAgICAgLmZpbHRlcih1c2VyID0+IHVzZXIuc2l6ZSA9PT0gdGhpcy5jdXJyZW50VGFiKVxuICAgICAgICAgICAgLm1hcCh1c2VyID0+ICh7IC4uLnVzZXIsIGNoaWxkcmVuOiBbXX0pKS5zbGljZSgwLCA1KVxuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVdlZWtIaWdodGxpdHMoKSB7XG4gICAgdGhpcy5leHBhbmQgPSAhdGhpcy5leHBhbmRcbiAgfVxuXG59XG4iXX0=