@sunbird-cb/consumption 0.0.94 → 0.0.96

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sunbird-cb-consumption.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@sunbird-cb/consumption/lib/consumption.service.ts","ng://@sunbird-cb/consumption/lib/consumption.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.ts","ng://@sunbird-cb/consumption/lib/_models/widget-content.model.ts","ng://@sunbird-cb/consumption/lib/_services/viewer-route-util.ts","ng://@sunbird-cb/consumption/lib/_models/card-content-v2.model.ts","ng://@sunbird-cb/consumption/lib/_services/widget-user-lib.service.ts","ng://@sunbird-cb/consumption/lib/_services/widget-content-lib.service.ts","ng://@sunbird-cb/consumption/lib/_services/configurations.service.ts","ng://@sunbird-cb/consumption/lib/_services/multilingual-translations.service.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.component.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.module.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.module.ts","ng://@sunbird-cb/consumption/lib/_services/insite-data.service.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.module.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender-day/calender-day.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.module.ts","ng://@sunbird-cb/consumption/lib/_services/common-methods.service.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.component.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.module.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.component.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.module.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.component.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.directive.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.module.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.module.ts","ng://@sunbird-cb/consumption/lib/consumption.module.ts","ng://@sunbird-cb/consumption/lib/consumption.config.ts","ng://@sunbird-cb/consumption/lib/_models/card-content.model.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-resource/card-resource.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait/card-portrait.component.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.module.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.module.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-user/card-user.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-landscape/card-landscape.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide/card-wide.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide-v2/card-wide-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs/card-karma-programs.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/provider-card/provider-card.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.ts","ng://@sunbird-cb/consumption/lib/_services/certificate.service.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.module.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/dialog-components.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.module.ts","ng://@sunbird-cb/consumption/lib/registration-lib.config.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.ts","ng://@sunbird-cb/consumption/lib/_services/rating.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers-v2/providers-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.ts","ng://@sunbird-cb/consumption/lib/_common/key-highlights/key-highlights.component.ts","ng://@sunbird-cb/consumption/lib/_common/key-highlights/key-highlights.module.ts","ng://@sunbird-cb/consumption/lib/_common/events/events.component.ts","ng://@sunbird-cb/consumption/lib/_common/events/event-card/event-card.component.ts","ng://@sunbird-cb/consumption/lib/_common/events/events.module.ts","ng://@sunbird-cb/consumption/lib/_common/mdo-leaderboard/mdo-leaderboard.component.ts","ng://@sunbird-cb/consumption/lib/_common/mdo-leaderboard/mdo-leaderboard.module.ts","ng://@sunbird-cb/consumption/lib/_common/highlights-of-week/highlights-of-week.component.ts","ng://@sunbird-cb/consumption/lib/_common/highlights-of-week/highlights-of-week.module.ts","ng://@sunbird-cb/consumption/lib/_common/speakers/speakers.component.ts","ng://@sunbird-cb/consumption/lib/_common/speakers/speakers.module.ts","ng://@sunbird-cb/consumption/lib/_common/user-progress/user-progress.component.ts","ng://@sunbird-cb/consumption/lib/_common/user-progress/user-progress.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/national-learning-week/national-learning.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsumptionService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-consumption',\n template: `\n <p>\n consumption works!\n </p>\n `,\n styles: []\n})\nexport class ConsumptionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';\nimport {\n fromEvent,\n Subscription,\n timer,\n} from 'rxjs';\nimport { debounceTime, throttleTime } from 'rxjs/operators';\nimport { TFetchStatus } from '../../_constants/misc.constants';\nimport { ValueService } from '@sunbird-cb/utils-v2';\nimport { NsCommonStrip } from '../common-strip/common-strip.model';\nimport { NsContentStripMultiple } from '../../_models/content-strip-multiple.model';\n\n@Component({\n selector: 'sb-uic-horizontal-scroller-v2',\n templateUrl: './horizontal-scroller-v2.component.html',\n styleUrls: ['./horizontal-scroller-v2.component.scss'],\n})\n\nexport class HorizontalScrollerV2Component implements OnInit, OnChanges, OnDestroy {\n\n @Input() loadStatus: TFetchStatus = 'fetching';\n @Input() id: string = '';\n @Input() onHover = false;\n @Input() sliderConfig: any = {\n showNavs: true,\n showDots: true,\n cerificateCardMargin: false,\n };\n @Output() loadNext = new EventEmitter();\n @Input() widgetsLength: any;\n @Input() defaultMaxWidgets: any;\n @Input() stripConfig: any;\n @ViewChild('horizontalScrollElem', { static: true })\n horizontalScrollElem: ElementRef | null = null;\n\n enablePrev = false;\n enableNext = false;\n activeNav = 0;\n cardSubType = 'standard';\n bottomDotsArray: any = [];\n private scrollObserver: Subscription | null = null;\n isMobile = false\n private defaultMenuSubscribe: Subscription | null = null\n isLtMedium$ = this.valueSvc.isLtMedium$\n\n constructor(private valueSvc: ValueService) { }\n\n ngOnInit() {\n this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';\n if (this.horizontalScrollElem) {\n const horizontalScrollElem = this.horizontalScrollElem;\n this.scrollObserver = fromEvent(\n horizontalScrollElem.nativeElement,\n 'scroll',\n )\n .pipe(debounceTime(100), throttleTime(100))\n .subscribe(_ => {\n this.updateNavigationBtnStatus(horizontalScrollElem\n .nativeElement as HTMLElement);\n });\n setTimeout(() => {\n this.getBottomDotsArray();\n }, 700);\n }\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\n this.isMobile = isLtMedium\n })\n }\n\n ngOnChanges() {\n timer(100).subscribe(() => {\n if (this.horizontalScrollElem) {\n this.updateNavigationBtnStatus(this.horizontalScrollElem\n .nativeElement as HTMLElement);\n }\n });\n setTimeout(() => {\n this.getBottomDotsArray();\n }, 700);\n }\n\n ngOnDestroy() {\n if (this.scrollObserver) {\n this.scrollObserver.unsubscribe();\n }\n if (this.defaultMenuSubscribe) {\n this.defaultMenuSubscribe.unsubscribe()\n }\n }\n\n showPrev() {\n // const elem = this.horizontalScrollElem.nativeElement\n // elem.scrollLeft -= 0.20 * elem.clientWidth\n if (this.horizontalScrollElem) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\n behavior: 'smooth',\n });\n \n const elem = this.horizontalScrollElem.nativeElement\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n this.activeNav -= 1;\n } else {\n if(this.sliderConfig.arrowsAlwaysOn) {\n if(this.horizontalScrollElem.nativeElement.scrollLeft === 0){\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: elem.scrollWidth,\n behavior: 'smooth',\n });\n this.activeNav = this.bottomDotsArray.length - 1;\n }\n }\n }\n }\n }\n\n showNext() {\n // const elem = this.horizontalScrollElem.nativeElement\n // elem.scrollLeft += 0.20 * elem.clientWidth\n if (this.horizontalScrollElem) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\n behavior: 'smooth',\n });\n const elem = this.horizontalScrollElem.nativeElement\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n this.activeNav += 1;\n } else {\n if(this.sliderConfig.arrowsAlwaysOn) {\n if(this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth ){\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: 0,\n behavior: 'smooth',\n });\n this.activeNav = 0;\n }\n }\n }\n }\n }\n\n private updateNavigationBtnStatus(elem: HTMLElement) {\n this.enablePrev = true;\n this.enableNext = true;\n if (elem.scrollLeft === 0) {\n if(!this.sliderConfig.arrowsAlwaysOn) {\n this.enablePrev = false;\n }\n this.activeNav = 0;\n }\n // if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {\n // if (this.loadStatus === 'hasMore') {\n // this.loadNext.emit();\n // } else {\n // if(!this.sliderConfig.arrowsAlwaysOn) {\n // this.enableNext = false;\n // }\n // if (this.bottomDotsArray.length) {\n // this.activeNav = this.bottomDotsArray.length - 1;\n // }\n // }\n // }\n // if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n // this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);\n // }\n\n\n const widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft))\n if (widthDiff === 0 || widthDiff === 1) {\n if (this.loadStatus === 'hasMore') {\n this.loadNext.emit()\n } else {\n this.enableNext = false\n if (this.bottomDotsArray.length) {\n this.activeNav = this.bottomDotsArray.length - 1\n }\n }\n }\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth)\n }\n }\n\n slideTo(ele: any) {\n const diff = ele - this.activeNav;\n // if (ele > this.activeNav && ele !== this.activeNav) {\n // if (this.horizontalScrollElem) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\n // this.horizontalScrollElem.nativeElement.scrollTo({\n // left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),\n // behavior: 'smooth',\n // })\n // }\n // this.activeNav = ele\n // } else {\n // if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\n // this.horizontalScrollElem.nativeElement.scrollTo({\n // left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),\n // behavior: 'smooth',\n // })\n // }\n // this.activeNav = ele\n // }\n if (this.horizontalScrollElem) {\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),\n behavior: 'smooth',\n });\n }\n this.activeNav = ele;\n }\n\n getBottomDotsArray() {\n if (this.horizontalScrollElem) {\n this.bottomDotsArray = [];\n let cardWidth;\n let arrLength;\n if (this.cardSubType !== 'card-wide-v2') {\n cardWidth = this.cardSubType === 'standard' ? 245 :\n ((document.getElementsByClassName(this.cardSubType) &&\n document.getElementsByClassName(this.cardSubType)[0] !== undefined)\n ? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);\n if (document.getElementById(`${this.id}`)) {\n const scrollerWidth = document.getElementById(`${this.id}`).clientWidth;\n const totalCardsLength = cardWidth * this.widgetsLength;\n if (totalCardsLength > scrollerWidth) {\n arrLength = Math.round(scrollerWidth / cardWidth);\n this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?\n this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;\n arrLength = this.defaultMaxWidgets / arrLength;\n for (let i = 0; i < arrLength; i += 1) {\n this.bottomDotsArray.push(i);\n }\n }\n }\n } else {\n setTimeout(() => {\n this.bottomDotsArray = []\n arrLength = document.getElementsByClassName(this.cardSubType).length;\n for (let i = 0; i < arrLength; i += 1) {\n this.bottomDotsArray.push(i);\n }\n }, 1000);\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HorizontalScrollerV2Component } from './horizontal-scroller-v2.component';\nimport { MatButtonModule, MatIconModule, MatProgressSpinnerModule } from '@angular/material';\n\n@NgModule({\n declarations: [HorizontalScrollerV2Component],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n ],\n exports: [HorizontalScrollerV2Component],\n})\nexport class HorizontalScrollerV2Module { }\n","export namespace NsContent {\n export interface IContinueLearningData extends IContent {\n continueData: any;\n }\n\n export interface IContinueLearningDataReq {\n request: {\n userId: string | undefined,\n courseId: string,\n contentIds: string[],\n batchId: string | undefined | null\n fields?: string[]\n };\n }\n\n export interface IContent {\n platform?: any;\n addedOn: string;\n appIcon: string;\n artifactUrl: string;\n averageRating?: any;\n // this will be used to content form enrollment user list\n batches?: any;\n batch?: any;\n body?: string;\n certificationList?: IRelatedContentMeta[];\n certificationStatus?: TCertificationStatus;\n certificationSubmissionDate?: string;\n certificationUrl: string;\n childNodes?: string[];\n children: IContent[];\n childrenClassifiers?: string[];\n clients?: IClient[];\n collections?: IContent[];\n completionPercentage?: number | null;\n completionStatus?: number;\n difficultyLevel: string;\n contentId: string;\n contentType: EContentTypes;\n contentUrlAtSource: string;\n creatorContacts: ICreator[];\n\n creatorDetails: ICreator[];\n creatorLogo: string;\n creatorPosterImage: string;\n creatorThumbnail: string;\n\n curatedTags: string[];\n description: string;\n displayContentType: EDisplayContentTypes; // For UI\n downloadUrl?: string;\n duration: number;\n enrolledDate?: string;\n exclusiveContent?: boolean;\n expiryDate?: string;\n equivalentCertifications?: IRelatedContentMeta[];\n hasAccess: boolean;\n hasAssessment?: string;\n idealScreenSize?: string;\n identifier: string;\n introductoryVideo?: string;\n introductoryVideoIcon?: string;\n learningTrack?: string;\n isExternal: boolean;\n isIframeSupported: 'Yes' | 'No' | 'Maybe';\n isInIntranet?: boolean;\n keywords?: string[];\n kArtifacts?: IRelatedContentMeta[];\n lastContentAccessTime?: string;\n lastUpdatedOn: string;\n learningMode?: TLearningMode;\n learningObjective: string;\n labels?: string[];\n locale?: string;\n hasTranslations?: { identifier: string; locale: string }[];\n isTranslationOf?: { identifier: string; locale: string }[];\n me_totalSessionsCount: number;\n mediaType: string;\n mimeType: EMimeTypes;\n msArtifactDetails?: IMSArtifactDetails;\n mode?: ETagType;\n name: string;\n nextCertificationAttemptDate?: string;\n playgroundInstructions?: string;\n playgroundResources?: IResourcePlayground[];\n postContents?: IPrePostContent[];\n posterImage?: string;\n preContents?: IPrePostContent[];\n preRequisites: string;\n price?: {\n currency: string\n value: number\n };\n primaryCategory: EPrimaryCategory;\n proctorUrl?: string;\n progress?: IMarkAsCompleteProgress;\n publishedOn: string;\n recentCertificationAttemptScore?: number;\n recommendationReasons?: string[];\n region?: string[];\n registrationUrl?: string;\n registrationInstructions?: string;\n resourceCategory?: string[];\n resourceType: string;\n size?: number;\n skills: ISkill[];\n softwareRequirements?: IResourceDetail[];\n sourceName: string;\n sourceShortName: string;\n sourceIconUrl?: string;\n sourceUrl?: string;\n ssoEnabled?: boolean;\n lastReadContentId?: string;\n status:\n | 'Draft'\n | 'InReview'\n | 'QualityReview'\n | 'Reviewed'\n | 'Processing'\n | 'Live'\n | 'Deleted'\n | 'MarkedForDeletion'\n | 'Expired';\n subTitle?: string;\n subTitles?: ISubtitle[];\n studyMaterials?: IRelatedContentMeta[];\n systemRequirements?: string[];\n tags: ITag[];\n topics: IContentTopic[];\n totalLikes?: { [key: string]: number };\n totalRating?: number;\n track: ITrack[];\n uniqueLearners?: number;\n viewCount?: { [key: string]: number };\n reason?: string; // required for Knowledge board\n trainingLHubCount?: number; // for LHub trainings\n verifiers?: {\n // required for External Certifications\n name: string\n email: string\n id: string\n }[];\n references?: { url: string; title: string }[];\n resumePage?: number; // For player WebModule in UI\n [key: string]: any;\n optionalReading: boolean;\n additionalTags?: string[];\n }\n\n export interface IContentResponse {\n id: string;\n params: any;\n responseCode: string;\n result: {\n content: IContent\n };\n ts: string;\n ver: string;\n }\n\n export interface IBatch {\n batchId: string;\n createdBy: string;\n endDate: string | null;\n enrollmentType: string;\n identifier: string;\n name: string;\n startDate: string;\n status: number;\n cert_templates?: null;\n collectionId: string;\n courseId: string;\n createdDate: string;\n createdFor: string[];\n description?: null;\n enrollmentEndDate: string | null;\n id: string;\n mentors?: string[] | null;\n tandc?: null;\n updatedDate?: string | null;\n }\n\n export interface IBatchListResponse {\n content?: IBatch[];\n count?: number;\n enrolled?: boolean;\n workFlow?: {\n wfInitiated?: boolean\n batch?: any\n wfItem?: any\n };\n }\n\n export interface ICourse {\n active: true;\n addedBy: string;\n batch: IBatch;\n batchId: string;\n certificates: [];\n collectionId: string;\n completedOn: string | null;\n completionPercentage: number | null;\n completionStatus?: number;\n content: IContent;\n contentId: string;\n contentStatus: any;\n courseId: string;\n courseLogoUrl: string;\n courseName: string;\n dateTime: number;\n description: string;\n enrolledDate: string;\n issuedCertificates: [];\n lastContentAccessTime?: string;\n lastReadContentId?: string;\n lastReadContentStatus: string | null;\n leafNodesCount: number;\n progress: number;\n status: number;\n userId: string;\n }\n\n export interface IContentMinimal {\n appIcon: string;\n artifactUrl: string;\n difficultyLevel: string;\n contentType: EContentTypes;\n description: string;\n displayContentType?: EDisplayContentTypes;\n duration: number;\n identifier: string;\n hasAccess?: boolean;\n isInIntranet?: boolean;\n learningMode?: TLearningMode;\n mimeType: EMimeTypes;\n name: string;\n creatorDetails: ICreator[];\n creatorContacts: ICreator[];\n posterImage: string;\n primaryCategory: EPrimaryCategory;\n resourceType?: string;\n totalRating?: number;\n }\n\n export interface ICollectionHierarchyResponse {\n data: IContent;\n hasMore: boolean;\n totalContents: number;\n }\n\n export interface IRelatedContentMeta {\n identifier: string;\n name: string;\n }\n\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt';\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed';\n\n interface IMarkAsCompleteProgress {\n progressStatus: 'open' | 'started' | 'completed';\n showMarkAsComplete: boolean;\n markAsCompleteReason: string;\n progressSupported: boolean;\n progress: number | null;\n }\n\n interface ITag {\n id: string;\n type: string;\n value: string;\n }\n interface IMSArtifactDetails {\n channelId: string;\n videoId: string;\n }\n interface IClient {\n displayName: string;\n id: string;\n name: string;\n }\n interface ISubtitle {\n srclang: string;\n label: string;\n url: string;\n }\n interface IPrePostContent {\n identifier: string;\n name: string;\n }\n interface IResourceDetail {\n title?: string;\n url?: string;\n }\n interface IResourcePlayground {\n appIcon: string;\n artifactUrl: string;\n identifier: string;\n name: string;\n }\n interface ITrack {\n id: string;\n name: string;\n status: string;\n visibility: string;\n }\n interface ISkill {\n id: string;\n category: string;\n skill: string;\n name: string;\n }\n export interface ICreator {\n id: string;\n name: string;\n email: string;\n }\n export interface IContentTopic {\n identifier: string;\n name: string;\n }\n // API Based\n\n export interface IContact {\n id: string;\n name: string;\n email: string;\n }\n\n export interface IViewerContinueLearningRequest {\n resourceId: string;\n contextPathId: string;\n data: string;\n dateAccessed: number;\n contextType?: string;\n }\n /**\n * @deprecated Enum EContentTypes should not be used in future\n */\n export enum EContentTypes {\n PROGRAMV2 = 'Program',\n PROGRAM = 'Learning Path',\n CHANNEL = 'Channel',\n COURSE = 'Course',\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\n KNOWLEDGE_BOARD = 'Knowledge Board',\n LEARNING_JOURNEY = 'Learning Journeys',\n MODULE = 'CourseUnit',\n RESOURCE = 'Resource',\n }\n export enum EPrimaryCategory {\n PROGRAM = 'Program',\n COURSE = 'Course',\n MODULE = 'Course Unit',\n RESOURCE = 'Learning Resource',\n GOALS = 'GOALS',\n PLAYLIST = 'PLAYLIST',\n PRACTICE_RESOURCE = 'Practice Question Set',\n FINAL_ASSESSMENT = 'Course Assessment',\n COMP_ASSESSMENT = 'Competency Assessment',\n FTB_QUESTION = 'FTB Question',\n MTF_QUESTION = 'MTF Question',\n MULTIPLE_CHOICE_QUESTION = 'Multiple Choice Question',\n SINGLE_CHOICE_QUESTION = 'Single Choice Question',\n MANDATORY_COURSE_GOAL = 'Mandatory Course Goal',\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\n BLENDED_PROGRAM = 'Blended Program',\n OFFLINE_SESSION = 'Offline Session',\n CURATED_PROGRAM = 'Curated Program',\n // following will not be available soon\n /**\n * @deprecated The type should not be used\n */\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\n /**\n * @deprecated The type should not be used\n */\n KNOWLEDGE_BOARD = 'Knowledge Board',\n /**\n * @deprecated The type should not be used\n */\n LEARNING_JOURNEY = 'Learning Journeys',\n /**\n * @deprecated The type should not be used\n */\n CHANNEL = 'Channel',\n }\n\n export enum ECourseCategory {\n INVITE_ONLY_PROGRAM = 'Invite-Only Program',\n MODERATED_PROGRAM = 'Moderated Program',\n BLENDED_PROGRAM = 'Blended Program',\n CURATED_PROGRAM = 'Curated Program',\n COURSE = 'Course',\n MODERATED_COURSE = 'Moderated Course',\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\n MODERATED_ASSESSEMENT = 'Moderated Assessment',\n }\n\n export enum WFBlendedProgramStatus {\n INITIATE = 'INITIATE',\n SEND_FOR_MDO_APPROVAL = 'SEND_FOR_MDO_APPROVAL',\n SEND_FOR_PC_APPROVAL = 'SEND_FOR_PC_APPROVAL',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n WITHDRAWN = 'WITHDRAWN',\n REMOVED = 'REMOVED',\n WITHDRAW = 'WITHDRAW',\n }\n export enum WFBlendedProgramApprovalTypes {\n ONE_STEP_PC = 'oneStepPCApproval',\n ONE_STEP_MDO = 'oneStepMDOApproval',\n TWO_STEP_MDO_PC = 'twoStepMDOAndPCApproval',\n TWO_STEP_PC_MDO = 'twoStepPCAndMDOApproval',\n }\n\n export const WFSTATUS_MSG_MAPPING: any = {\n INITIATE: '',\n SEND_FOR_MDO_APPROVAL: 'BatchEnrollL1Msg',\n SEND_FOR_PC_APPROVAL: 'BatchEnrollL2Msg',\n APPROVED: 'BatchEnrollApprovedMsg',\n REJECTED: 'BatchEnrollRejectedMsg',\n WITHDRAWN: 'BatchEnrollWithdrawMsg',\n REMOVED: 'BatchEnrollRemoveMsg',\n EXPIRED: 'BatchListExpiredMsg',\n };\n\n export enum EResourcePrimaryCategories {\n LEARNING_RESOURCE = 'Learning Resource',\n PRACTICE_RESOURCE = 'Practice Question Set',\n FINAL_ASSESSMENT = 'Course Assessment',\n COMP_ASSESSMENT = 'Competency Assessment',\n OFFLINE_SESSION = 'Offline Session',\n }\n\n export enum EMiscPlayerSupportedCollectionTypes {\n PLAYLIST = 'Playlist',\n }\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\n EPrimaryCategory.COURSE,\n EPrimaryCategory.MODULE,\n EPrimaryCategory.PROGRAM,\n EPrimaryCategory.CURATED_PROGRAM,\n EPrimaryCategory.BLENDED_PROGRAM,\n EPrimaryCategory.STANDALONE_ASSESSMENT,\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\n ];\n export const KB_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\n EPrimaryCategory.COURSE,\n EPrimaryCategory.MODULE,\n EPrimaryCategory.PROGRAM,\n EPrimaryCategory.RESOURCE,\n ];\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\n EPrimaryCategory.COURSE,\n EPrimaryCategory.MODULE,\n EPrimaryCategory.PROGRAM,\n EPrimaryCategory.RESOURCE,\n ];\n export enum EMimeTypes {\n COLLECTION = 'application/vnd.ekstep.content-collection',\n ZIP = 'application/vnd.ekstep.html-archive',\n ZIP2 = 'application/vnd.ekstep.ecml-archive',\n HTML = 'application/html',\n HTML_TEXT = 'text/html',\n ILP_FP = 'application/ilpfp',\n IAP = 'application/iap-assessment',\n M4A = 'audio/m4a',\n MP3 = 'audio/mpeg',\n MP4 = 'video/mp4',\n M3U8 = 'application/x-mpegURL',\n INTERACTION = 'video/interactive',\n PDF = 'application/pdf',\n QUIZ = 'application/quiz',\n DRAG_DROP = 'application/drag-drop',\n HTML_PICKER = 'application/htmlpicker',\n WEB_MODULE = 'application/web-module',\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\n YOUTUBE = 'video/x-youtube',\n HANDS_ON = 'application/integrated-hands-on',\n RDBMS_HANDS_ON = 'application/rdbms',\n CLASS_DIAGRAM = 'application/class-diagram',\n CHANNEL = 'application/channel',\n COLLECTION_RESOURCE = 'resource/collection',\n APPLICATION_JSON = 'application/json',\n PRACTICE_RESOURCE = 'application/vnd.sunbird.questionset',\n FINAL_ASSESSMENT = 'application/vnd.sunbird.questionset',\n OFFLINE_SESSION = 'application/offline',\n // Added on UI Only\n CERTIFICATION = 'application/certification',\n PLAYLIST = 'application/playlist',\n TEXT_WEB = 'text/x-url',\n SURVEY = 'application/survey',\n QUESTION_SET = 'application/vnd.sunbird.questionset',\n QUESTION = 'application/vnd.sunbird.question',\n UNKNOWN = 'application/unknown',\n }\n export enum EDisplayContentTypes {\n ASSESSMENT = 'ASSESSMENT',\n STANDALONE_ASSESSMENT = 'STANDALONE ASSESSMENT',\n PRACTICE_RESOURCE = 'Practice Question Set',\n FINAL_ASSESSMENT = 'Course Assessment',\n AUDIO = 'AUDIO',\n CERTIFICATION = 'CERTIFICATION',\n CHANNEL = 'Channel',\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\n COURSE = 'COURSE',\n DEFAULT = 'DEFAULT',\n DRAG_DROP = 'DRAG_DROP',\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\n GOALS = 'GOALS',\n HANDS_ON = 'HANDS_ON',\n IAP = 'IAP',\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\n MODULE = 'MODULE',\n PDF = 'PDF',\n SURVEY = 'SURVEY',\n PLAYLIST = 'PLAYLIST',\n PROGRAM = 'PROGRAM',\n QUIZ = 'QUIZ',\n RESOURCE = 'RESOURCE',\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\n VIDEO = 'VIDEO',\n WEB_MODULE = 'WEB_MODULE',\n WEB_PAGE = 'WEB_PAGE',\n YOUTUBE = 'YOUTUBE',\n LINK = 'LINK',\n KNOWLEDGE_BOARD = 'Knowledge Board',\n LEARNING_JOURNEY = 'Learning Journeys',\n BLENDED_PROGRAM = 'BLENDED PROGRAM',\n CURATED_PROGRAM = 'CURATED PROGRAM',\n }\n // for UI\n export enum EFilterCategory {\n ALL = 'ALL',\n LEARN = 'LEARN',\n PRACTICE = 'PRACTICE',\n ASSESS = 'ASSESS',\n }\n\n // for UI\n export enum ETagType {\n NEWLY_ADDED = 'NEWLY ADDED',\n }\n\n export const UN_SUPPORTED_DATA_TYPES_FOR_NON_BATCH_USERS: string[] = [\n // this is comment now for enabling links in the toc page for enrolled users\n // EMimeTypes.QUIZ,\n // EMimeTypes.APPLICATION_JSON,\n // EMimeTypes.WEB_MODULE_EXERCISE,\n\n ];\n export const PUBLIC_SUPPORTED_CONTENT_TYPES: EMimeTypes[] = [\n EMimeTypes.APPLICATION_JSON,\n EMimeTypes.FINAL_ASSESSMENT,\n EMimeTypes.HTML,\n EMimeTypes.HTML_TEXT,\n EMimeTypes.ZIP,\n EMimeTypes.ZIP2,\n EMimeTypes.M4A,\n EMimeTypes.MP3,\n EMimeTypes.MP4,\n EMimeTypes.PDF,\n EMimeTypes.YOUTUBE,\n EMimeTypes.TEXT_WEB,\n EMimeTypes.SURVEY,\n ];\n}\n","import { NsContent } from '../_models/widget-content.model';\n\nexport const VIEWER_ROUTE_FROM_MIME = (mimeType: NsContent.EMimeTypes) => {\n switch (mimeType) {\n case NsContent.EMimeTypes.MP3:\n return 'audio';\n case NsContent.EMimeTypes.M4A:\n return 'audio-native';\n case NsContent.EMimeTypes.COLLECTION:\n return 'html';\n case NsContent.EMimeTypes.CHANNEL:\n // case 'application/json' as any:\n // return 'channel'\n case NsContent.EMimeTypes.CERTIFICATION:\n return 'certification';\n case NsContent.EMimeTypes.HTML_TEXT:\n case NsContent.EMimeTypes.HTML:\n case NsContent.EMimeTypes.ZIP:\n if (window.location.href.includes('mobile/html')) {\n return 'mobile/html';\n }\n return 'html';\n case NsContent.EMimeTypes.TEXT_WEB:\n return 'youtube';\n case NsContent.EMimeTypes.SURVEY:\n return 'survey';\n case NsContent.EMimeTypes.IAP:\n return 'iap';\n case NsContent.EMimeTypes.ILP_FP:\n return 'ilp-fp';\n case NsContent.EMimeTypes.PDF:\n return 'pdf';\n case NsContent.EMimeTypes.MP4:\n case NsContent.EMimeTypes.M3U8:\n return 'video';\n case NsContent.EMimeTypes.YOUTUBE:\n return 'youtube';\n // return 'html'\n case NsContent.EMimeTypes.WEB_MODULE:\n return 'web-module';\n case NsContent.EMimeTypes.WEB_MODULE_EXERCISE:\n return 'web-module';\n case NsContent.EMimeTypes.CLASS_DIAGRAM:\n return 'class-diagram';\n case NsContent.EMimeTypes.HANDS_ON:\n return 'hands-on';\n case NsContent.EMimeTypes.RDBMS_HANDS_ON:\n return 'rdbms-hands-on';\n case NsContent.EMimeTypes.HTML_PICKER:\n return 'html-picker';\n case NsContent.EMimeTypes.QUIZ:\n case NsContent.EMimeTypes.APPLICATION_JSON:\n return 'quiz';\n case NsContent.EMimeTypes.PRACTICE_RESOURCE:\n return 'practice';\n case NsContent.EMimeTypes.COLLECTION_RESOURCE:\n return 'resource-collection';\n case NsContent.EMimeTypes.OFFLINE_SESSION:\n return 'offline-session';\n default:\n return 'html';\n }\n};\n\nexport function viewerRouteGenerator(\n id: string,\n mimeType: NsContent.EMimeTypes,\n collectionId?: string,\n collectionType?: string,\n forPreview = false,\n primaryCategory?: string,\n batchId?: string,\n courseName?: string,\n): { url: string; queryParams: { [key: string]: any } } {\n let collId = collectionId;\n let collType = collectionType;\n if (collType && !NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES.includes(collType)) {\n collId = undefined;\n collType = undefined;\n }\n const url = `/viewer/${VIEWER_ROUTE_FROM_MIME(mimeType)}/${id}`;\n // tslint:disable-next-line\n // console.log(url,'========>Route from MIME TYPE<==========')\n const forcreator = window.location.href.includes('editMode=true');\n let queryParams = {};\n if (primaryCategory) {\n queryParams = {\n primaryCategory,\n };\n }\n if (collectionId && collectionType) {\n queryParams = { ...queryParams, collectionId: collId, collectionType: collType };\n }\n if (batchId) {\n queryParams = { ...queryParams, batchId };\n }\n if (courseName) {\n queryParams = { ...queryParams, courseName };\n }\n if (forPreview) {\n queryParams = { ...queryParams, preview: true };\n }\n if (forcreator) {\n queryParams = { ...queryParams, editMode: true };\n }\n return {\n queryParams,\n url,\n };\n}\n","import { NsContent } from './widget-content.model';\n\nexport namespace NsCardContent {\n export interface ICard {\n content: NsContent.IContent;\n cardSubType: TCardSubType;\n context: { pageSection: string; position?: number };\n intranetMode?: 'greyOut' | 'hide';\n deletedMode?: 'greyOut' | 'hide';\n likes?: number;\n contentTags?: IContentTags;\n stateData: any;\n }\n\n export interface IContentTags {\n daysSpan?: number;\n excludeContentType?: NsContent.EContentTypes[];\n excludeMimeType?: string[];\n tag: string;\n criteriaField?: string;\n }\n\n export interface ICompetency extends ICard {\n competencyArea: '';\n competencyObject: {};\n }\n\n export type TCardSubType =\n | 'standard'\n | 'minimal'\n | 'space-saving'\n | 'card-user-details'\n | 'basic-info'\n | 'basic-details'\n | 'card-description-back'\n | 'network-card';\n\n export enum EContentStatus {\n LIVE = 'Live',\n EXPIRED = 'Expired',\n DELETED = 'Deleted',\n MARK_FOR_DELETION = 'MarkedForDeletion',\n }\n\n export enum ACBPConst {\n UPCOMING = 'upcoming',\n ALL = 'All',\n OVERDUE = 'overdue',\n SUCCESS = 'success',\n }\n\n export enum IGOTConst {\n COMPETENCIES = 'competencies_v5',\n RETIRED = 'Retired',\n }\n\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { IUserGroupDetails } from '../_models/widget-user.model';\nimport { NsContent } from '../_models/widget-content.model';\nimport 'rxjs/add/observable/of'\nimport * as dayjs_ from 'dayjs';\nconst dayjs = dayjs_\n// import { environment } from 'src/environments/environment'\nimport { NsCardContent } from '../_models/card-content-v2.model';\nimport * as lodash from 'lodash';\n\n\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\nconst API_END_POINTS = {\n FETCH_USER_GROUPS: (userId: string) =>\n `${PROTECTED_SLAG_V8}/user/group/fetchUserGroup?userId=${userId}`,\n FETCH_CPB_PLANS: `/apis/proxies/v8/user/v1/cbplan`,\n FETCH_USER_ENROLLMENT_LIST: (userId: string | undefined) =>\n // tslint:disable-next-line: max-line-length\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes`,\n FETCH_USER_ENROLLMENT_LIST_PROFILE: (userId: string | undefined) =>\n // tslint:disable-next-line: max-line-length\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes&retiredCoursesEnabled=true`,\n // tslint:disable-next-line: max-line-length\n FETCH_USER_ENROLLMENT_LIST_V2: (userId: string | undefined, orgdetails: string, licenseDetails: string, fields: string, batchDetails: string) =>\n // tslint:disable-next-line: max-line-length\n `apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=${orgdetails}&licenseDetails=${licenseDetails}&fields=${fields},courseCategory,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=${batchDetails}`,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetUserServiceLib {\n environment: any;\n constructor(\n @Inject('environment') environment: any,\n private http: HttpClient) {\n this.environment = environment;\n }\n\n handleError(error: ErrorEvent) {\n let errorMessage = ''\n if (error.error instanceof ErrorEvent) {\n errorMessage = `Error: ${error.error.message}`\n }\n return throwError(errorMessage)\n }\n\n fetchUserGroupDetails(userId: string): Observable<IUserGroupDetails[]> {\n return this.http\n .get<IUserGroupDetails[]>(API_END_POINTS.FETCH_USER_GROUPS(userId))\n .pipe(catchError(this.handleError))\n }\n // tslint:disable-next-line: max-line-length\n fetchUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\n let path = ''\n if (queryParams) {\n // tslint:disable-next-line: max-line-length\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\n } else {\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST(userId)\n }\n const headers = new HttpHeaders({\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n Pragma: 'no-cache',\n Expires: '0',\n })\n const result: any = this.http.get(path, { headers }).pipe(catchError(this.handleError), map( \n (data: any) => {\n const coursesData: any = []\n if (data && data.result && data.result.courses) {\n data.result.courses.forEach((content: any) => {\n if (content.contentStatus) {\n delete content.contentStatus\n }\n coursesData.push(content)\n })\n this.storeUserEnrollmentInfo(data.result.userCourseEnrolmentInfo,\n data.result.courses.length)\n data.result.courses = coursesData\n }\n return data.result\n }\n )\n )\n return result\n }\n\n // tslint:disable-next-line: max-line-length\n fetchProfileUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\n let path = ''\n if (queryParams) {\n // tslint:disable-next-line: max-line-length\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\n } else {\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_PROFILE(userId)\n }\n const headers = new HttpHeaders({\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n Pragma: 'no-cache',\n Expires: '0',\n })\n return this.http\n .get(path, { headers })\n .pipe(\n catchError(this.handleError),\n map(\n (data: any) => data.result\n )\n )\n }\n\n checkStorageData(key: any, dataKey: any) {\n const checkTime = localStorage.getItem('timeCheck')\n if (checkTime) {\n const parsedData = JSON.parse(checkTime)\n if (parsedData[key]) {\n const date = dayjs()\n const diffMin = date.diff(parsedData[key], 'minute')\n const timeCheck = this.environment.apiCache || 0\n if (diffMin >= timeCheck) {\n return true\n }\n return localStorage.getItem(dataKey) ? false : true\n }\n return true\n }\n return true\n }\n\n getData(key: any): Observable<any> {\n return Observable.of(JSON.parse(localStorage.getItem(key) || '{}'))\n }\n getSavedData(key: any): Observable<any> {\n return JSON.parse(localStorage.getItem(key) || '')\n }\n\n setTime(key: any) {\n const checkTime = localStorage.getItem('timeCheck')\n if (checkTime) {\n const parsedData = JSON.parse(checkTime)\n parsedData[key] = new Date().getTime()\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\n } else {\n const data: any = {}\n data[key] = new Date().getTime()\n localStorage.setItem('timeCheck', JSON.stringify(data))\n }\n }\n\n resetTime(key: any) {\n const checkTime = localStorage.getItem('timeCheck')\n if (checkTime) {\n const parsedData = JSON.parse(checkTime)\n if (parsedData[key]) {\n delete parsedData[key]\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\n }\n }\n }\n\n fetchCbpPlanList(userId: string) {\n if (this.checkStorageData('cbpService', 'cbpData')) {\n const result: any = this.http.get(API_END_POINTS.FETCH_CPB_PLANS).pipe(catchError(this.handleError), map(\n async (data: any) => {\n if(data.result && data.result.content && data.result.content.length) {\n let cbpData: any = this.getCbpFormatedData(data.result.content)\n let cbpDoIds = cbpData.contentIds.join(',')\n let cbpContentData: any = cbpData.cbpContentData || []\n const responseData = await this.fetchEnrollmentDataByContentId(userId,cbpDoIds).toPromise().then(async (res: any) => {\n const enrollData: any = {}\n if (res && res.courses && res.courses.length) {\n res.courses.forEach((data: any) => {\n enrollData[data.collectionId] = data\n })\n return enrollData\n } else {\n return {}\n }\n }).catch((_err: any) => {\n return {}\n });\n return await this.mapCbpData(cbpContentData, responseData)\n }\n }\n )\n )\n this.setTime('cbpService')\n return result\n }\n return this.getData('cbpData')\n }\n\n storeUserEnrollmentInfo(enrollmentData: any, enrolledCourseCount: number) {\n const userData = {\n enrolledCourseCount,\n userCourseEnrolmentInfo: enrollmentData,\n }\n localStorage.removeItem('userEnrollmentCount')\n localStorage.setItem('userEnrollmentCount', JSON.stringify(userData))\n }\n\n\n fetchEnrollmentDataByContentId(userId, contentdata) {\n let path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST(userId)\n path = `${path}&courseIds=${contentdata}&cache=false'`\n const headers = new HttpHeaders({\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n Pragma: 'no-cache',\n Expires: '0',\n })\n return this.http\n .get(path, { headers })\n .pipe(\n catchError(this.handleError),\n map(\n (data: any) => data.result\n )\n )\n }\n\n getCbpFormatedData(cbpContent: any) {\n let cbpContentData = []\n let contentIds = []\n const todayDate = dayjs().format('YYYY-MM-DD')\n cbpContent.forEach((c: any) => {\n c.contentList.forEach((childData: any) => {\n const endDate = dayjs(c.endDate).format('YYYY-MM-DD')\n const daysCount = dayjs(endDate).diff(todayDate, 'day')\n childData['planDuration'] = daysCount < 0 ? NsCardContent.ACBPConst.OVERDUE : daysCount > 29\n ? NsCardContent.ACBPConst.SUCCESS : NsCardContent.ACBPConst.UPCOMING\n childData['endDate'] = c.endDate\n childData['parentId'] = c.id\n childData['planType'] = 'cbPlan'\n childData['contentStatus'] = 0\n contentIds.push(childData.identifier)\n if (childData.status !== NsCardContent.IGOTConst.RETIRED) {\n cbpContentData.push(childData)\n }\n })\n })\n return {cbpContentData,contentIds}\n }\n async mapCbpData(cbpContent: any, enrollmentData: any){\n let cbpFilteredContent: any = []\n if(cbpContent && cbpContent.length) {\n if(Object.keys(enrollmentData).length) {\n cbpContent.forEach((cbp: any) => {\n const childEnrollData = enrollmentData[cbp.identifier]\n\n const competencyArea: any = []\n const competencyTheme: any = []\n const competencyThemeType: any = []\n const competencySubTheme: any = []\n const competencyAreaId: any = []\n const competencyThemeId: any = []\n const competencySubThemeId: any = []\n cbp['contentStatus'] = 0\n if (childEnrollData) {\n cbp['contentStatus'] = childEnrollData.status\n }\n if (cbp.competencies_v5) {\n cbp.competencies_v5.forEach((element: any) => {\n if (!competencyArea.includes(element.competencyArea)) {\n competencyArea.push(element.competencyArea)\n competencyAreaId.push(element.competencyAreaId)\n }\n if (!competencyTheme.includes(element.competencyTheme)) {\n competencyTheme.push(element.competencyTheme)\n competencyThemeId.push(element.competencyThemeId)\n }\n if (!competencyThemeType.includes(element.competencyThemeType)) {\n competencyThemeType.push(element.competencyThemeType)\n }\n if (!competencySubTheme.includes(element.competencySubTheme)) {\n competencySubTheme.push(element.competencySubTheme)\n competencySubThemeId.push(element.competencySubThemeId)\n }\n })\n }\n\n cbp['competencyArea'] = competencyArea\n cbp['competencyTheme'] = competencyTheme\n cbp['competencyThemeType'] = competencyThemeType\n cbp['competencySubTheme'] = competencySubTheme\n cbp['competencyAreaId'] = competencyAreaId\n cbp['competencyThemeId'] = competencyThemeId\n cbp['competencySubThemeId'] = competencySubThemeId\n if (cbp.status !== NsCardContent.IGOTConst.RETIRED) {\n cbpFilteredContent.push(cbp)\n } else {\n if (childEnrollData && childEnrollData.status === 2) {\n cbpFilteredContent.push(cbp)\n }\n }\n });\n if (cbpFilteredContent.length > 1) {\n const sortedData: any = cbpFilteredContent.sort((a: any, b: any) => {\n const firstDate: any = new Date(a.endDate)\n const secondDate: any = new Date(b.endDate)\n\n return secondDate > firstDate ? 1 : -1\n })\n const uniqueUsersByID = lodash.uniqBy(sortedData, 'identifier')\n const sortedByEndDate = lodash.orderBy(uniqueUsersByID, ['endDate'], ['asc'])\n const sortedByStatus = lodash.orderBy(sortedByEndDate, ['contentStatus'], ['asc'])\n localStorage.setItem('cbpData', JSON.stringify(sortedByStatus))\n return sortedByStatus\n }\n localStorage.setItem('cbpData', JSON.stringify(cbpFilteredContent))\n return cbpFilteredContent\n }\n localStorage.setItem('cbpData', JSON.stringify(cbpContent))\n return cbpContent\n }\n localStorage.setItem('cbpData', JSON.stringify([]))\n return []\n }\n mapEnrollmentData(courseData: any) {\n const enrollData: any = {}\n if (courseData && courseData.courses.length) {\n courseData.courses.forEach((data: any) => {\n enrollData[data.collectionId] = data\n })\n }\n return enrollData\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConfigurationsService } from '@sunbird-cb/utils-v2';\nimport { Observable, of, EMPTY, BehaviorSubject, Subject } from 'rxjs';\nimport { catchError, retry, map, shareReplay } from 'rxjs/operators';\nimport { NsContentStripMultiple } from '../_models/content-strip-multiple.model';\nimport { NsContent } from '../_models/widget-content.model';\nimport { NSSearch } from '../_models/widget-search.model';\n// tslint:disable\nimport * as _ from 'lodash'\nimport { viewerRouteGenerator } from './viewer-route-util'\nimport {WidgetUserServiceLib} from './widget-user-lib.service'\nimport * as moment_ from 'moment';\nconst moment = moment_;\n// tslint:enable\n\n// TODO: move this in some common place\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\n\nconst API_END_POINTS = {\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\n AUTHORING_CONTENT: `/api/course/v1/hierarchy`,\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\n CONTENT_SEARCH_V6: `/apis/proxies/v8/sunbirdigot/search`,\n TRENDING_CONTENT_SEARCH: `apis/proxies/v8/trending/content/search`,\n CONTENT_SEARCH_RELATED_CBP_V6: `/apis/proxies/v8/sunbirdigot/search`,\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\n CONTENT_HISTORYV2: `/apis/proxies/v8/read/content-progres`,\n COURSE_BATCH_LIST: `/apis/proxies/v8/learner/course/v1/batch/list`,\n COURSE_BATCH: `/apis/proxies/v8/course/v1/batch/read`,\n AUTO_ASSIGN_BATCH: `/apis/protected/v8/cohorts/user/autoenrollment/`,\n AUTO_ASSIGN_CURATED_BATCH: `/apis/proxies/v8/curatedprogram/v1/enrol`,\n AUTO_ASSIGN_OPEN_PROGRAM: `/apis/proxies/v8/openprogram/v1/enrol`,\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\n COLLECTION_HIERARCHY: (type: string, id: string) =>\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\n ENROLL_BATCH: `/apis/proxies/v8/learner/course/v1/enrol`,\n ENROLL_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/enrol`,\n WITHDRAW_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/unenrol`,\n BLENDED_USER_WF: `/apis/proxies/v8/workflow/blendedprogram/user/search`,\n BLENDED_USER_COUNT: `apis/proxies/v8/workflow/blendedprogram/enrol/status/count`,\n CERT_ADD_TEMPLATE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/template/add`,\n CERT_ISSUE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/issue`,\n CERT_DOWNLOAD: (certId: any) => `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/download/${certId}`,\n READ_KARMAPOINTS: `/apis/proxies/v8/karmapoints/read`,\n CONTENT_READ: (contentId: any) => `/apis/proxies/v8/action/content/v3/read/${contentId}`,\n READ_COURSE_KARMAPOINTS: '/apis/proxies/v8/karmapoints/user/course/read',\n CLAIM_KARMAPOINTS: '/apis/proxies/v8/claimkarmapoints',\n USER_KARMA_POINTS: '/apis/proxies/v8/user/totalkarmapoints',\n AGGREGATION_SEARCH: '/apis/proxies/v8/content/aggregation/search',\n FEATURE_SEARCH: '/apis/proxies/v8/featured/content/search',\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetContentLibService {\n constructor(\n private http: HttpClient,\n private configSvc: ConfigurationsService,\n private userSvc: WidgetUserServiceLib\n ) {\n }\n\n tocConfigData: any = new BehaviorSubject<any>({});\n tocConfigData$ = this.tocConfigData.asObservable();\n\n private telemetryData: any = new Subject<any>()\n public telemetryData$ = this.telemetryData.asObservable()\n currentMetaData!: NsContent.IContent;\n currentContentReadMetaData!: NsContent.IContent;\n currentBatchEnrollmentList!: NsContent.ICourse[];\n programChildCourseResumeData = new BehaviorSubject<any>({});\n programChildCourseResumeData$ = this.programChildCourseResumeData.asObservable();\n\n changeTelemetryData(message: string) {\n this.telemetryData.next(message);\n }\n isResource(primaryCategory: string) {\n if (primaryCategory) {\n const isResource = (primaryCategory === NsContent.EResourcePrimaryCategories.LEARNING_RESOURCE) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.PRACTICE_RESOURCE) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.FINAL_ASSESSMENT) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.COMP_ASSESSMENT) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.OFFLINE_SESSION);\n return isResource;\n }\n return false;\n }\n\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\n // tslint:disable-next-line\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\n // return this.http.get(url).toPromise()\n if (url) { }\n return of().toPromise();\n }\n\n updateTocConfig(data: any) {\n this.tocConfigData.next(data);\n }\n\n fetchContent(\n contentId: string,\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\n _additionalFields: string[] = [],\n primaryCategory?: string | null,\n ): Observable<NsContent.IContent> {\n // const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\n let url = '';\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\n if (primaryCategory && this.isResource(primaryCategory)) {\n if (!forPreview) {\n url = `/apis/proxies/v8/action/content/v3/read/${contentId}`;\n } else {\n url = `/api/content/v1/read/${contentId}`;\n }\n } else {\n if (!forPreview) {\n url = `/apis/proxies/v8/action/content/v3/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\n } else {\n const forcreator = window.location.href.includes('editMode=true');\n if (forcreator) {\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\n } else {\n url = `/api/course/v1/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\n }\n }\n }\n // return this.http\n // .post<NsContent.IContent>(url, { additionalFields })\n // .pipe(retry(1))\n return this.http\n .get<NsContent.IContent>(url)\n .pipe(shareReplay(1));\n // if (apiData && apiData.result) {\n // return apiData.result.content\n // }\n }\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\n const forcreator = window.location.href.includes('editMode=true');\n let url = '';\n if (forcreator) {\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\n } else {\n url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}?hierarchyType=detail`;\n }\n return this.http.get<NsContent.IContent>(url).pipe(shareReplay(1), r => r);\n }\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\n return this.http.get<NsContent.IContent[]>(\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\n );\n }\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\n `${API_END_POINTS.COLLECTION_HIERARCHY(\n type,\n id,\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\n );\n }\n\n fetchBlendedCourse() {\n\n }\n\n fetchCourseBatches(req: any): Observable<NsContent.IBatchListResponse> {\n return this.http\n .post<NsContent.IBatchListResponse>(API_END_POINTS.COURSE_BATCH_LIST, req)\n .pipe(\n retry(1),\n map(\n (data: any) => data.result.response\n )\n );\n }\n\n // fetch individual batch\n fetchCourseBatch(batchId: string): Observable<NsContent.IContinueLearningData> {\n return this.http.get<NsContent.IContinueLearningData>(\n `${API_END_POINTS.COURSE_BATCH}/${batchId}`,\n );\n }\n\n autoAssignBatchApi(identifier: any): Observable<NsContent.IBatchListResponse> {\n return this.http.get<NsContent.IBatchListResponse>(`${API_END_POINTS.AUTO_ASSIGN_BATCH}${identifier}`)\n .pipe(\n retry(1),\n map(\n (data: any) => data.result.response\n )\n );\n }\n\n autoAssignCuratedBatchApi(request: any, programType: any): Observable<NsContent.IBatchListResponse> {\n const url = programType === NsContent.ECourseCategory.MODERATED_PROGRAM ?\n API_END_POINTS.AUTO_ASSIGN_OPEN_PROGRAM : API_END_POINTS.AUTO_ASSIGN_CURATED_BATCH;\n return this.http.post<NsContent.IBatchListResponse>(`${url}`, request)\n .pipe(\n retry(1),\n map(\n (data: any) => data.result.response\n )\n );\n }\n\n enrollUserToBatch(req: any) {\n return this.http\n .post(API_END_POINTS.ENROLL_BATCH, req)\n .toPromise();\n }\n\n enrollAndUnenrollUserToBatchWF(req: any, type: any) {\n const url: any = type === 'WITHDRAW' ? API_END_POINTS.WITHDRAW_BATCH_WF : API_END_POINTS.ENROLL_BATCH_WF;\n return this.http\n .post(url, req)\n .toPromise();\n }\n\n fetchBlendedUserWF(req: any) {\n return this.http\n .post(API_END_POINTS.BLENDED_USER_WF, req)\n .toPromise();\n }\n\n fetchBlendedUserCOUNT(req: any) {\n return this.http\n .post(API_END_POINTS.BLENDED_USER_COUNT, req)\n .toPromise();\n }\n\n fetchContentLikes(contentIds: { content_id: string[] }) {\n return this.http\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\n .toPromise();\n }\n fetchContentRatings(contentIds: { contentIds: string[] }) {\n if (contentIds) { }\n // return this.http\n // .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\n // .toPromise()\n return of().toPromise();\n }\n\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\n return this.http.get<NsContent.IContinueLearningData>(\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\n );\n }\n\n fetchContentHistoryV2(req: NsContent.IContinueLearningDataReq): Observable<NsContent.IContinueLearningData> {\n req.request.fields = ['progressdetails'];\n const data = this.http.post<NsContent.IContinueLearningData>(\n `${API_END_POINTS.CONTENT_HISTORYV2}/${req.request.courseId}`, req\n );\n data.subscribe((subscribeData: any) => {\n this.programChildCourseResumeData.next({ resumeData: subscribeData.result.contentList, courseId: req.request.courseId });\n });\n return data;\n }\n\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\n return new Promise(async resolve => {\n if (collectionType &&\n collectionType.toLowerCase() === 'playlist') {\n const reqBody = {\n contextPathId: collectionId ? collectionId : id,\n resourceId: id,\n data: JSON.stringify({\n timestamp: Date.now(),\n contextFullPath: [collectionId, id],\n }),\n dateAccessed: Date.now(),\n contextType: 'playlist',\n };\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\n resolve(true);\n }\n );\n } else {\n const reqBody = {\n contextPathId: collectionId ? collectionId : id,\n resourceId: id,\n data: JSON.stringify({ timestamp: Date.now() }),\n dateAccessed: Date.now(),\n };\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\n resolve(true);\n });\n }\n });\n }\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\n // const url = API_END_POINTS.USER_CONTINUE_LEARNING\n // return this.http.post<any>(url, content)\n if (content) {\n\n }\n return of() as any;\n }\n\n setS3Cookie(\n _contentId: string,\n // _path: string,\n ): Observable<any> {\n // return this.http\n // .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\n // .pipe(catchError(_err => of(true)))\n\n return EMPTY;\n }\n\n setS3ImageCookie(): Observable<any> {\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)));\n }\n\n fetchManifest(url: string): Observable<any> {\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });\n }\n fetchWebModuleContent(url: string): Observable<any> {\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);\n }\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\n req.query = req.query || '';\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\n request: req,\n });\n }\n searchRegionRecommendation(\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\n req.query = req.query || '';\n req.preLabelValue =\n (req.preLabelValue || '') +\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');\n req.filters = {\n ...req.filters,\n labels: [req.preLabelValue || ''],\n };\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\n { request: req },\n );\n }\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResultV2> {\n const apiPath = _.get(req, 'api.path');\n req.query = req.query || '';\n if (apiPath) {\n return this.http.get<NSSearch.ISearchV6ApiResultV2>(apiPath);\n }\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_V6, req);\n }\n\n searchRelatedCBPV6(req: NSSearch.ISearchV6RequestV2): Observable<NSSearch.ISearchV6ApiResultV2> {\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_RELATED_CBP_V6, req);\n }\n\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\n }\n deleteContentRating(contentId: string): Observable<any> {\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\n }\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);\n }\n\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\n if (!(content.children || []).length) {\n return content;\n }\n if (\n (content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM &&\n !(content.artifactUrl && content.artifactUrl.length)) ||\n content.primaryCategory === NsContent.EPrimaryCategory.MANDATORY_COURSE_GOAL ||\n (content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM &&\n !(content.artifactUrl && content.artifactUrl.length)) ||\n (content.primaryCategory === NsContent.EPrimaryCategory.MODULE &&\n !(content.artifactUrl && content.artifactUrl.length))\n ) {\n const child = content.children[0];\n return this.getFirstChildInHierarchy(child);\n }\n if (\n content.primaryCategory === NsContent.EPrimaryCategory.RESOURCE ||\n content.primaryCategory === NsContent.EPrimaryCategory.KNOWLEDGE_ARTIFACT ||\n content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM ||\n content.primaryCategory === NsContent.EPrimaryCategory.PRACTICE_RESOURCE ||\n content.primaryCategory === NsContent.EPrimaryCategory.FINAL_ASSESSMENT ||\n content.primaryCategory === NsContent.EPrimaryCategory.COMP_ASSESSMENT ||\n content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\n content.primaryCategory === NsContent.EPrimaryCategory.OFFLINE_SESSION\n ) {\n return content;\n }\n const firstChild = content.children[0];\n const resultContent = this.getFirstChildInHierarchy(firstChild);\n return resultContent;\n }\n\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();\n }\n\n fetchConfig(url: string) {\n return this.http.get<any>(url);\n }\n\n addCertTemplate(body: any) {\n return this.http.patch<any>(`${API_END_POINTS.CERT_ADD_TEMPLATE}`, body);\n }\n\n issueCert(body: any) {\n return this.http.post<any>(`${API_END_POINTS.CERT_ISSUE}`, body);\n }\n downloadCert(certId: any) {\n return this.http.get<any>(`${API_END_POINTS.CERT_DOWNLOAD(certId)}`);\n }\n\n trendingContentSearch(req: any): Observable<any> {\n req.query = req.query || '';\n return this.http.post<any>(API_END_POINTS.TRENDING_CONTENT_SEARCH, req);\n }\n\n getKarmaPoitns(limit: number, offset: any) {\n return this.http.post(API_END_POINTS.READ_KARMAPOINTS, { limit, offset }).pipe(catchError(_err => of(true)));\n }\n fetchProgramContent(contentId: string[]): Observable<NsContent.IContent[]> {\n let url = '';\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\n if (!forPreview) {\n return this.http.get<NsContent.IContent[]>(\n API_END_POINTS.CONTENT_READ(contentId),\n );\n }\n url = `/api/content/v1/read/${contentId}`;\n return this.http.get<NsContent.IContent[]>(url);\n // return this.http.get<NsContent.IContent[]>(API_END_POINTS.CONTENT_READ(contentId))\n }\n\n getCourseKarmaPoints(request: any) {\n return this.http.post<any>(API_END_POINTS.READ_COURSE_KARMAPOINTS, request);\n }\n\n claimKarmapoints(request: any) {\n return this.http.post<any>(API_END_POINTS.CLAIM_KARMAPOINTS, request);\n }\n\n userKarmaPoints() {\n return this.http.post<any>(API_END_POINTS.USER_KARMA_POINTS, {});\n }\n\n async getEnrolledData(doId: string) {\n let userId = this.configSvc.userProfile.userId\n const responseData = await this.userSvc.fetchEnrollmentDataByContentId(userId,doId).toPromise().then(async (res: any) => {\n if (res && res.courses && res.courses.length) {\n return res.courses\n } else {\n return []\n }\n }).catch((_err: any) => {\n return []\n });\n return responseData || []\n }\n\n async getResourseLink(content: any) {\n const enrolledCourse: any = await this.getEnrolledData(content.identifier);\n if (enrolledCourse && enrolledCourse.length) {\n const enrolledCourseData = enrolledCourse[0]\n if (enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.BLENDED_PROGRAM ||\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.INVITE_ONLY_PROGRAM ||\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.MODERATED_PROGRAM ||\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM) {\n if (!this.isBatchInProgress(enrolledCourseData.batch)) {\n return this.gotoTocPage(content);\n }\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\n return data;\n } {\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\n return data;\n }\n }\n return this.gotoTocPage(content);\n }\n async checkForDataToFormUrl(content: any, enrollData: any) {\n let urlData: any;\n if (enrollData.completionPercentage === 100) {\n return this.gotoTocPage(enrollData);\n }\n if (enrollData.lrcProgressDetails && enrollData.lrcProgressDetails.mimeType) {\n const modifyEnrollData = {\n ...enrollData,\n identifier: enrollData.collectionId,\n primaryCategory: enrollData.content.primaryCategory,\n name: enrollData.content.name,\n };\n if (modifyEnrollData.lastReadContentId) {\n return this.getResourseDataWithData(modifyEnrollData,\n enrollData.lastReadContentId, enrollData.lrcProgressDetails.mimeType);\n }\n if (modifyEnrollData.firstChildId) {\n return this.getResourseDataWithData(modifyEnrollData,\n enrollData.firstChildId,\n enrollData.lrcProgressDetails.mimeType);\n }\n }\n if (enrollData.firstChildId || enrollData.lastReadContentId) {\n const doId = enrollData.firstChildId || enrollData.lastReadContentId;\n const responseData = await this.fetchProgramContent(doId).toPromise().then(async (res: any) => {\n if (res && res.result && res.result.content) {\n const contentData: any = res.result.content;\n const modifyEnrollData = {\n ...enrollData,\n identifier: enrollData.collectionId,\n primaryCategory: enrollData.content.primaryCategory,\n name: enrollData.content.name,\n };\n urlData = this.getResourseDataWithData(modifyEnrollData, contentData.identifier, contentData.mimeType);\n if (urlData) {\n return urlData;\n }\n }\n });\n return responseData ? responseData : this.gotoTocPage(content);\n }\n return this.gotoTocPage(content);\n\n }\n\n getResourseDataWithData(content: any, resourseId: any, mimeType: any) {\n if (content) {\n const url = viewerRouteGenerator(\n resourseId,\n mimeType,\n content.identifier,\n 'Course',\n false,\n 'Learning Resource',\n content.batchId,\n content.name,\n );\n return url;\n }\n return this.gotoTocPage(content);\n }\n gotoTocPage(content: any) {\n const urlData: any = {\n url: `/app/toc/${content.identifier ? content.identifier : content.collectionId}/overview`,\n queryParams: { batchId: content.batchId },\n };\n if (content.endDate) {\n urlData.queryParams = { ...urlData.queryParams, planType: 'cbPlan', endDate: content.endDate };\n }\n return urlData;\n }\n isBatchInProgress(batchData: any) {\n // if (this.content && this.content['batches']) {\n // const batches = this.content['batches'] as NsContent.IBatch\n if (batchData && batchData.endDate) {\n const now = moment().format('YYYY-MM-DD');\n const startDate = moment(batchData.startDate).format('YYYY-MM-DD');\n const endDate = batchData.endDate ? moment(batchData.endDate).format('YYYY-MM-DD') : now;\n return (\n // batch.status &&\n moment(startDate).isSameOrBefore(now)\n && moment(endDate).isSameOrAfter(now)\n );\n } return true;\n }\n postApiMethod(apiUrl: any, req: any): Observable<NsContent.IContent> {\n return this.http.post<NsContent.IContent>(apiUrl, req);\n }\n getApiMethod(apiUrl: any): Observable<NsContent.IContent> {\n // req.query = req.query || '';\n return this.http.get<NsContent.IContent>(apiUrl);\n }\n\n\n getEnrolledDataFromList(enrollmentList: any, collectionId: string) {\n if(enrollmentList && enrollmentList.length) {\n let enrolledData = enrollmentList.filter((ele: any) => ele.collectionId === collectionId)\n return enrolledData.length ? enrolledData[0]: {}\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\nimport { IPortalUrls, IUserPreference, NsAppsConfig, NsInstanceConfig, NsPage, NsUser } from '@sunbird-cb/utils-v2';\nimport { NSProfileDataV3 } from '../_models/profile-v3.models';\n// const instanceConfigPath: string | null = window.location.host\n// const locationHost: string | null = window.location.host\n\n// if (!environment.production && Boolean(environment.sitePath)) {\n// locationHost = environment.sitePath\n// instanceConfigPath = environment.sitePath\n// }\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationsService {\n // update as the single source of truth\n constructor() {\n // @Inject('env') env: any\n // if (!env.production && Boolean(env.sitePath)) {\n // locationHost = env.sitePath\n // instanceConfigPath = env.sitePath\n // }\n }\n appSetup = true;\n // The url the user tried to access while landing in the app before accepting tnc\n userUrl = '';\n baseUrl = `assets/configurations`;\n sitePath = `assets/configurations`;\n hostPath = (window.location.host).replace(':', '_');\n\n userRoles: Set<string> | null = null;\n userGroups: Set<string> | null = null;\n restrictedFeatures: Set<string> | null = null;\n restrictedWidgets: Set<string> | null = null;\n instanceConfig: NsInstanceConfig.IConfig | null = null;\n appsConfig: NsAppsConfig.IAppsConfig | null = null;\n rootOrg: string | null = null;\n courseContentPath?: string;\n org: string[] | null = null;\n activeOrg: string | null = '';\n isProduction = false;\n hasAcceptedTnc = false;\n profileDetailsStatus = false;\n isActive = true;\n userPreference: IUserPreference | null = null;\n userProfile: NsUser.IUserProfile | null = null;\n userProfileV2: NsUser.IUserProfile | null = null;\n nodebbUserProfile: NsUser.INodebbUserProfile | null = null;\n // created to store complete user details sent by pid\n unMappedUser: any;\n isAuthenticated = false;\n isNewUser = false;\n portalUrls: IPortalUrls | undefined;\n positions: any;\n overrideThemeChanges: any;\n profileTimelyNudges: any;\n\n // pinnedApps\n pinnedApps = new BehaviorSubject<Set<string>>(new Set());\n\n // Notifier\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1);\n tourGuideNotifier = new ReplaySubject<boolean>();\n authChangeNotifier = new ReplaySubject<boolean>(1);\n\n private updateProfile = new BehaviorSubject(false);\n updateProfileObservable = this.updateProfile.asObservable();\n\n updateTourGuide = new BehaviorSubject(true);\n updateTourGuideObservable = this.updateTourGuide.asObservable();\n\n // platform rating\n updatePlatformRating = new BehaviorSubject({ bottom: '120px' });\n updatePlatformRatingObservable$ = this.updatePlatformRating.asObservable();\n\n languageTranslationFlag = new Subject();\n\n // Preference Related Values\n activeThemeObject: NsInstanceConfig.ITheme | null = null;\n activeFontObject: NsInstanceConfig.IFontSize | null = null;\n isDarkMode = false;\n isIntranetAllowed = false;\n isRTL = false;\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null;\n activeLocaleGroup = '';\n completedActivity: string[] | null = null;\n completedTour = false;\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints'];\n\n primaryNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n };\n pageNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n };\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null;\n /* for temp Fix */\n // setBaseUrl = (sitePath: string) => `assets/configurations/${(sitePath).replace(':', '_')}`\n // setSitePath = (sitePath: string) => `assets/configurations/${(sitePath).replace(\n // ':',\n // '_',\n // )}`\n // setHostPath = (sitePath: string) => (sitePath).replace(':', '_')\n welcomeTabs: NSProfileDataV3.IProfileTab | null = null;\n\n // variable setting for csJwtToken\n cstoken = '';\n\n changeNavBarFullView = new Subject();\n openExploreMenuForMWeb = new Subject();\n updateGlobalProfile(state: boolean) {\n this.updateProfile.next(state);\n }\n updateTourGuideMethod(state: boolean) {\n this.updateTourGuide.next(state);\n }\n\n updatePlatformRatingMethod(state: any) {\n this.updatePlatformRating.next(state);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ConfigurationsService } from './configurations.service';\n\n@Injectable({\n providedIn: 'root',\n})\n\nexport class MultilingualTranslationsService {\n selectedLang = '';\n // website lang change\n languageSelected = new BehaviorSubject(true);\n languageSelectedObservable = this.languageSelected.asObservable();\n editProfileDetails = '/apis/proxies/v8/user/v1/extPatch';\n\n constructor(private translate: TranslateService, private http: HttpClient, private configSvc: ConfigurationsService) {\n // this.getLanguage()\n }\n\n getLanguage() {\n if (this.configSvc.unMappedUser) {\n if (this.configSvc.unMappedUser.profileDetails &&\n this.configSvc.unMappedUser.profileDetails.additionalProperties &&\n this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang) {\n const lang = this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang;\n this.translate.use(lang);\n localStorage.setItem('websiteLanguage', lang);\n } else {\n if (localStorage.getItem('websiteLanguage')) {\n // this.translate.setDefaultLang('en')\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n } else {\n this.translate.setDefaultLang('en');\n localStorage.setItem('websiteLanguage', 'en');\n }\n }\n } else {\n if (localStorage.getItem('websiteLanguage')) {\n // this.translate.setDefaultLang('en')\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n }\n }\n\n translateLabelWithoutspace(label: string, type: any, subtype: any) {\n let nlabel = label;\n nlabel = nlabel && nlabel.replace(/\\s/g, '');\n if (subtype) {\n // tslint:disable-next-line: prefer-template\n const translationKey = type + '.' + nlabel + subtype;\n return this.translate.instant(translationKey);\n }\n // tslint:disable-next-line: prefer-template\n const translationKeyn = type + '.' + nlabel;\n return this.translate.instant(translationKeyn);\n }\n\n translateLabel(label: string, type: any, subtype: any) {\n if(label) {\n let nlabel = label;\n \n \n nlabel = nlabel && nlabel.toLowerCase() ;\n const sl = nlabel.split(' ');\n sl.forEach((w: any, index: any) => {\n if (index !== 0) {\n sl[index] = w[0].toUpperCase() + w.slice(1);\n }\n });\n nlabel = sl.join('');\n nlabel = nlabel.replace(/\\s/g, '');\n if (subtype) {\n // tslint:disable-next-line: prefer-template\n const translationKey = type + '.' + nlabel + subtype;\n return this.translate.instant(translationKey);\n }\n // tslint:disable-next-line: prefer-template\n const translationKeyn = type + '.' + nlabel;\n return this.translate.instant(translationKeyn);\n } \n return label\n }\n\n translateActualLabel(label: string, type: any, subtype: any) {\n let nlabel = label;\n const sl = nlabel.split(' ');\n sl.forEach((w: any, index: any) => {\n if (index !== 0) {\n sl[index] = w[0].toUpperCase() + w.slice(1);\n }\n });\n nlabel = sl.join('');\n nlabel = nlabel.replace(/\\s/g, '');\n if (subtype) {\n // tslint:disable-next-line: prefer-template\n const translationKey = type + '.' + nlabel + subtype;\n return this.translate.instant(translationKey);\n }\n // tslint:disable-next-line: prefer-template\n const translationKeyn = type + '.' + nlabel;\n return this.translate.instant(translationKeyn);\n }\n\n editProfileDetailsAPI(data: any) {\n return this.http.post<any>(this.editProfileDetails, data);\n }\n\n updatelanguageSelected(state: any, lang: any, userid: any) {\n this.languageSelected.next(state);\n this.translate.use(lang);\n this.selectedLang = lang;\n\n if (userid) {\n const reqUpdates = {\n request: {\n userId: userid,\n profileDetails: {\n additionalProperties: {\n webPortalLang: this.selectedLang,\n },\n },\n },\n };\n this.editProfileDetailsAPI(reqUpdates).subscribe();\n }\n }\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsContentStripWithTabs } from './content-strip-with-tabs-lib.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { NsContent } from '../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n WsEvents,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NsCardContent } from '../../_models/card-content-v2.model';\nimport { ITodayEvents } from '../../_models/event';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\ninterface IStripUnitContentData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabsType?: string;\n tabs?: NsContentStripWithTabs.IContentStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsContentStripWithTabs.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n request?: any\n\n}\n\n@Component({\n selector: 'sb-uic-content-strip-with-tabs',\n templateUrl: './content-strip-with-tabs-lib.component.html',\n styleUrls: ['./content-strip-with-tabs-lib.component.scss'],\n})\nexport class ContentStripWithTabsLibComponent extends WidgetBaseComponent\n implements\n OnInit,\n OnDestroy,\n NsWidgetResolver.IWidgetData<NsContentStripWithTabs.IContentStripMultiple> {\n @Input() widgetData!: NsContentStripWithTabs.IContentStripMultiple;\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() viewAllResponse = new EventEmitter<any>()\n @Output() telemtryResponse = new EventEmitter<any>()\n @Input() providerId: any = ''\n @Input() emitViewAll: boolean = false\n @Input() channnelName: any = ''\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n todaysEvents: any = [];\n\n constructor(\n // private contentStripSvc: ContentStripNewMultipleService,\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n // private http: HttpClient,\n // private searchServSvc: SearchServService,\n public router: Router,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService\n ) {\n super();\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en');\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n this.environment = environment\n }\n\n ngOnInit() {\n // const url = window.location.href\n this.initData();\n this.contentSvc.telemetryData$.subscribe((data: any) => {\n this.telemtryResponse.emit(data)\n })\n\n\n }\n\n ngOnDestroy() {\n if (this.changeEventSubscription) {\n this.changeEventSubscription.unsubscribe();\n }\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n if (this.checkForEmptyWidget(strip)) {\n this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n\n isStripShowing(data: any) {\n let count = 0;\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n // console.log('data.key', data, data.key, data.widgets);\n return data.showStrip;\n }\n\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n getdata(data: IStripUnitContentData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n checkCondition(wData: NsContentStripWithTabs.IContentStripMultiple, data: IStripUnitContentData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitContentData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getContineuLearningLenth(data: IStripUnitContentData) {\n return data.widgets ? data.widgets.length : 0;\n }\n getLength(data: IStripUnitContentData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n const tabWithMaxWidgets = data.tabs.reduce(\n (prev, current) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n\n private getFiltersFromArray(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n private transformSearchV6FiltersV2(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n checkForDateFilters(filters: any) {\n let userData: any;\n if (this.configSvc.userProfile) {\n userData = this.configSvc.userProfile;\n }\n\n if (filters && filters.hasOwnProperty('batches.endDate')) {\n // tslint:disable-next-line\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\n // tslint:disable-next-line\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\n } else if (filters.organisation &&\n filters.organisation.indexOf('<orgID>') >= 0\n ) {\n if (this.providerId) {\n filters.organisation = this.providerId;\n } else {\n filters.organisation = userData && userData.rootOrgId;\n\n if (filters && filters.hasOwnProperty('designation')) {\n filters.designation = userData.professionalDetails.length > 0 ?\n userData.professionalDetails[0].designation : '';\n }\n }\n\n }\n return filters;\n }\n\n private fetchStripFromRequestData(\n strip: NsContentStripWithTabs.IContentStripUnit,\n calculateParentStatus = true,\n ) {\n // setting initial values\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\n this.processStrip(strip, [], 'fetching', false, null);\n this.fetchFromEnrollmentList(strip, calculateParentStatus);\n this.fetchFromSearchV6(strip, calculateParentStatus);\n this.fetchFromTrendingContent(strip, calculateParentStatus);\n this.fetchAllCbpPlans(strip, calculateParentStatus);\n this.fetchAllTopContent(strip, calculateParentStatus);\n this.fetchAllFeaturedContent(strip, calculateParentStatus);\n this.fetchAllBookMarkData(strip, calculateParentStatus);\n this.fetchAllPlaylistSearch(strip, calculateParentStatus);\n this.fetchPlaylistReadData(strip, calculateParentStatus);\n this.fetchCiosContentData(strip, calculateParentStatus);\n\n }\n\n fetchFromEnrollmentList(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) {\n let userId = '';\n let content: NsContent.IContent[];\n let contentNew: NsContent.IContent[];\n let tabResults: any[] = [];\n const queryParams = _.get(strip.request.enrollmentList, 'queryParams');\n // if (queryParams && queryParams.batchDetails) {\n // if (!queryParams.batchDetails.includes('&retiredCoursesEnabled=true')) {\n // queryParams.batchDetails += '&retiredCoursesEnabled=true'\n // }\n // }\n if (this.configSvc.userProfile) {\n userId = this.configSvc.userProfile.userId;\n }\n // this.userSvc.resetTime('enrollmentService')\n // tslint:disable-next-line: deprecation\n this.userSvc.fetchUserBatchList(userId, queryParams).subscribe(\n (result: any) => {\n const courses = result && result.courses;\n const showViewMore = Boolean(\n courses.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: (strip.viewMoreUrl && strip.viewMoreUrl.path) || '',\n queryParams: {\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n strip.request && strip.request.searchV6 && strip.request.searchV6.filters\n ? JSON.stringify(\n // this.searchServSvc.transformSearchV6Filters(\n strip.request.searchV6.filters\n // ),\n )\n : {},\n },\n }\n : null;\n if (courses && courses.length) {\n content = courses.map((c: any) => {\n const contentTemp: NsContent.IContent = c.content;\n contentTemp.completionPercentage = c.completionPercentage || c.progress || 0;\n contentTemp.completionStatus = c.completionStatus || c.status || 0;\n contentTemp.enrolledDate = c.enrolledDate || '';\n contentTemp.lastContentAccessTime = c.lastContentAccessTime || '';\n contentTemp.lastReadContentStatus = c.lastReadContentStatus || '';\n contentTemp.lastReadContentId = c.lastReadContentId || '';\n contentTemp.lrcProgressDetails = c.lrcProgressDetails || '';\n contentTemp.issuedCertificates = c.issuedCertificates || [];\n contentTemp.batchId = c.batchId || '';\n return contentTemp;\n });\n }\n // To filter content with completionPercentage > 0,\n // so that only those content will show in home page\n // continue learing strip\n // if (content && content.length) {\n // contentNew = content.filter((c: any) => {\n // /** commented as both are 0 after enrolll */\n // if (c.completionPercentage && c.completionPercentage > 0) {\n // return c\n // }\n // })\n // }\n\n // To sort in descending order of the enrolled date\n contentNew = (content || []).sort((a: any, b: any) => {\n const dateA: any = new Date(a.lastContentAccessTime || 0);\n const dateB: any = new Date(b.lastContentAccessTime || 0);\n return dateB - dateA;\n });\n\n if (strip.tabs && strip.tabs.length) {\n tabResults = this.splitEnrollmentTabsData(contentNew, strip);\n this.processStrip(\n strip,\n this.transformContentsToWidgets(contentNew, strip),\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n tabResults\n );\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(contentNew, strip),\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n );\n }\n },\n () => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n );\n }\n }\n\n splitEnrollmentTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\n const tabResults: any[] = [];\n const splitData = this.getInprogressAndCompleted(\n contentNew,\n (e: any) => e.completionStatus === 1 || e.completionPercentage < 100,\n strip,\n );\n\n if (strip.tabs && strip.tabs.length) {\n for (let i = 0; i < strip.tabs.length; i += 1) {\n if (strip.tabs[i]) {\n tabResults.push(\n {\n ...strip.tabs[i],\n fetchTabStatus: 'done',\n ...(splitData.find(itmInner => {\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\n return itmInner;\n }\n return undefined;\n })),\n }\n );\n }\n }\n }\n return tabResults;\n }\n\n getInprogressAndCompleted(array: NsContent.IContent[],\n customFilter: any,\n strip: NsContentStripWithTabs.IContentStripUnit) {\n const inprogress: any[] = []\n const completed: any[] = []\n // array.forEach((e: any, idx: number, arr: any[]) => (customFilter(e, idx, arr) ? inprogress : completed).push(e))\n array.forEach((e, idx, arr) => {\n const status = e.status ? (e.status as string).toLowerCase() : ''\n const statusRetired = status === 'retired'\n if (customFilter(e, idx, arr)) {\n if (!statusRetired) {\n inprogress.push(e)\n }\n } else {\n completed.push(e)\n }\n })\n // Sort the completed array with 'Live' status first and 'Retired' status second\n completed.sort((a: any, b: any) => {\n const statusA = a.status ? a.status.toLowerCase() : ''\n const statusB = b.status ? b.status.toLowerCase() : ''\n if (statusA === 'live' && statusB !== 'live') {\n return -1\n }\n if (statusA !== 'live' && statusB === 'live') {\n return 1\n }\n if (statusA === 'retired' && statusB !== 'retired') {\n return 1\n }\n if (statusA !== 'retired' && statusB === 'retired') {\n return -1\n }\n return 0\n })\n return [\n { value: 'inprogress', widgets: this.transformContentsToWidgets(inprogress, strip) },\n { value: 'completed', widgets: this.transformContentsToWidgets(completed, strip) }];\n }\n\n async fetchFromSearchV6(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\n // if (this.configSvc.activeLocale) {\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\n // } else {\n // strip.request.searchV6.locale = ['en']\n // }\n // }\n let originalFilters: any = [];\n // tslint:disable:no-console\n console.log(originalFilters);\n if (strip.request &&\n strip.request.searchV6 &&\n strip.request.searchV6.request &&\n strip.request.searchV6.request.filters) {\n originalFilters = strip.request.searchV6.request.filters;\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\n strip.request.searchV6.request.filters,\n );\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqSearchV6(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content) {\n if (strip.key === 'scheduledAssessment') {\n \n let result = response.results.result.content.map(a => a.identifier);\n const responseData = await this.userSvc.fetchEnrollmentDataByContentId(this.configSvc.userProfile.userId,result.join(',')).toPromise().then(async (res: any) => {\n const enrollData: any = {}\n if (res && res.courses && res.courses.length) {\n res.courses.forEach((data: any) => {\n enrollData[data.collectionId] = data\n })\n return enrollData\n } else {\n return {}\n }\n }).catch((_err: any) => {\n return {}\n });\n this.checkInvitOnlyAssessments(response.results.result.content, strip, calculateParentStatus, response.viewMoreUrl, responseData)\n\n\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n }\n\n } else if (response.results.result.Event) {\n this.processStrip(\n strip,\n this.transformEventsToWidgets(response.results.result.Event, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n checkInvitOnlyAssessments(content: any, strip: any, calculateParentStatus: any, viewMoreUrl: any, enrollmentData:any) {\n if (Object.keys(enrollmentData).length) {\n enrollmentData = enrollmentData\n let filteredArray: any = []\n let now = new Date().getTime()\n content.forEach((data: any) => {\n if (enrollmentData[data.identifier]) {\n if(enrollmentData[data.identifier].status !== 2 && enrollmentData[data.identifier].batch) {\n const enrollData = enrollmentData[data.identifier].batch\n let endDate:any = new Date(enrollData.endDate).getTime()\n // let endDate:any = '2024-07-7T00:00:00.000Z'\n let timeDuration = endDate - now\n if(timeDuration > 0 ) {\n data['batch'] = enrollmentData[data.identifier].batch\n data['completionPercentage'] = enrollmentData[data.identifier].completionPercentage\n filteredArray.push(data)\n }\n }\n \n }\n })\n filteredArray = filteredArray.sort((a: any, b: any) => {\n const dateA: any = new Date(a.batch.startDate || 0)\n const dateB: any = new Date(b.batch.startDate || 0)\n return dateA - dateB\n })\n this.processStrip(\n strip,\n this.transformContentsToWidgets(filteredArray, strip),\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n );\n } else {\n this.processStrip(\n strip,\n [],\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n );\n }\n }\n\n async searchV6Request(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.searchV6) {\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.searchV6 &&\n request.searchV6.request &&\n request.searchV6.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\n // }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n async fetchFromTrendingContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) {\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\n // if (this.configSvc.activeLocale) {\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\n // } else {\n // strip.request.searchV6.locale = ['en']\n // }\n // }\n let originalFilters: any = [];\n // tslint:disable:no-console\n console.log(originalFilters);\n if (strip.request &&\n strip.request.trendingSearch &&\n strip.request.trendingSearch.request &&\n strip.request.trendingSearch.request.filters) {\n originalFilters = strip.request.trendingSearch.request.filters;\n strip.request.trendingSearch.request.filters = this.checkForDateFilters(strip.request.trendingSearch.request.filters);\n strip.request.trendingSearch.request.filters = this.getFiltersFromArray(\n strip.request.trendingSearch.request.filters,\n );\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqTrending(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.trendingSearchRequest(strip, strip.request, calculateParentStatus);\n if (response && response.results && response.results.response) {\n const content = response.results.response[strip.request.trendingSearch.responseKey] || [];\n this.processStrip(\n strip,\n this.transformContentsToWidgets(content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl || '',\n );\n if (!content.length) {\n this.emptyResponse.emit(true)\n }\n } else {\n this.emptyResponse.emit(true)\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n this.emptyResponse.emit(true)\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n }\n }\n\n async trendingSearchRequest(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.trendingSearch) {\n // check for the request if it has dynamic values]\n if (request.trendingSearch.request.filters.organisation &&\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\n ) {\n let userRootOrgId;\n if (this.configSvc.userProfile) {\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\n }\n request.trendingSearch.request.filters.organisation = userRootOrgId;\n }\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\n const showViewMore = Boolean(\n results.result &&\n strip.request &&\n results.result[strip.request.trendingSearch.responseKey] &&\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\n strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.trendingSearch &&\n request.trendingSearch.request &&\n request.trendingSearch.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n let proccesedResult: any = []\n if (results && results.response && results.response.certifications) {\n results.response.certifications.map((result: any) => {\n if (result.source === this.channnelName) {\n proccesedResult.push(result)\n }\n })\n }\n results = { response: { certifications: proccesedResult } }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n if (error.error && error.error.status === 400) {\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\n reject(error);\n },\n );\n }\n });\n }\n\n toggleInfo(data: IStripUnitContentData) {\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\n if (stripInfo) {\n if (stripInfo.mode !== 'below') {\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\n stripInfo.mode = 'below';\n }\n if (stripInfo.mode === 'below') {\n this.stripsResultDataMap[data.key].stripInfo = {\n ...stripInfo,\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\n };\n }\n }\n }\n\n private transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithTabs.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n private transformEventsToWidgets(\n contents: ITodayEvents[],\n strip: NsContentStripWithTabs.IContentStripUnit,\n ) {\n this.eventSvc.setEventListData(contents);\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n private transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n private async processStrip(\n strip: NsContentStripWithTabs.IContentStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsContentStripWithTabs.IContentStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n tabsType: strip.tabsType ? strip.tabsType : '',\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsContentStripWithTabs.IContentStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.api && Object.keys(strip.request.api).length) ||\n (strip.request.search && Object.keys(strip.request.search).length) ||\n (strip.request.searchRegionRecommendation &&\n Object.keys(strip.request.searchRegionRecommendation).length) ||\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) ||\n (strip.request.topContent && Object.keys(strip.request.topContent).length) ||\n (strip.request.featureContent && Object.keys(strip.request.featureContent).length) ||\n (strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) ||\n (strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) ||\n (strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) ||\n (strip.request.ciosContent && Object.keys(strip.request.ciosContent).length)\n )\n ) {\n return true;\n }\n return false;\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitContentData, stripKey: string) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const data: WsEvents.ITelemetryTabData = {\n label: `${tabEvent.tab.textLabel}`,\n index: tabEvent.index,\n };\n this.eventSvc.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\n id: `${_.camelCase(data.label)}-tab`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.HOME,\n }\n );\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.label,\n };\n }\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick) {\n if (currentTabFromMap.requestRequired && currentTabFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentTabFromMap.request.searchV6) {\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.trendingSearch) {\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.topContent) {\n this.getTabDataByNewReqTopContent(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.playlistRead) {\n this.getTabDataByNewReqPlaylistReadContent(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.ciosContent) {\n this.getTabDataByCiosSearch(currentStrip, tabEvent.index, currentTabFromMap, true)\n }\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].tabLoading = false;\n }\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].tabLoading = false;\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\n stripMap.showOnLoader = false;\n }\n }, 200);\n }\n }\n }\n\n\n async getTabDataByNewReqSearchV6(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\n if (response && response.results) {\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n async getTabDataByNewReqTrending(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\n if (response && response.results && response.results.response) {\n const content = response.results.response[currentTab.value] || [];\n const widgets = this.transformContentsToWidgets(content, strip);\n // console.log('currentTab --- widgets', widgets)\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n // console.log('tabResults -++++***--', tabResults)\n // console.log('calling after-- ')\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n\n getTabDataByfilter(\n strip: NsContentStripWithTabs.IContentStripUnit,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n // tslint:disable:no-console\n console.log('strip -- ', strip);\n // tslint:disable:no-console\n console.log('currentTab -- ', currentTab);\n // tslint:disable:no-console\n console.log('calculateParentStatus-- ', calculateParentStatus);\n // TODO: Write logic for individual filter if passed in config\n // add switch case based on config key passed\n }\n\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\n\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\n\n let courses: NsContent.IContent[];\n let tabResults: any[] = [];\n let userId = this.configSvc.userProfile.userId\n const response = await this.userSvc.fetchCbpPlanList(userId).toPromise();\n if (response) {\n courses = response;\n if (strip.tabs && strip.tabs.length) {\n tabResults = this.splitCbpTabsData(courses, strip);\n await this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n '',\n tabResults\n );\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n 'viewMoreUrl',\n );\n }\n }\n\n }\n }\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\n const tabResults: any[] = [];\n const splitData = this.getTabsList(\n contentNew,\n strip,\n );\n if (strip.tabs && strip.tabs.length) {\n for (let i = 0; i < strip.tabs.length; i += 1) {\n if (strip.tabs[i]) {\n tabResults.push(\n {\n ...strip.tabs[i],\n fetchTabStatus: 'done',\n ...(splitData.find(itmInner => {\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\n return itmInner;\n }\n return undefined;\n })),\n }\n );\n }\n }\n }\n return tabResults;\n }\n\n getTabsList(array: NsContent.IContent[],\n strip: NsContentStripWithTabs.IContentStripUnit) {\n let all: any[] = [];\n let upcoming: any[] = [];\n let overdue: any[] = [];\n array.forEach((e: any) => {\n all.push(e);\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n overdue.push(e);\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\n upcoming.push(e);\n }\n });\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\n\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\n\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\n\n overdue = overdue.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n\n overdue = overdue.sort((a: any, b: any): any => {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n });\n\n upcoming = upcoming.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n // this.getSelectedIndex(1)\n return [\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n if (key === 'cbpPlan') {\n if (stripsResultDataMap.tabs.length) {\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\n }\n }\n return returnValue;\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n async fetchAllTopContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.topContent && Object.keys(strip.request.topContent).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.topContent &&\n strip.request.topContent.request &&\n strip.request.topContent.request.filters) {\n originalFilters = strip.request.topContent.request.filters;\n strip.request.topContent.request.filters = this.postMethodFilters(strip.request.topContent.request.filters);\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqTopContent(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.postRequestMethod(strip, strip.request.topContent, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content && response.results.result.content.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n async fetchAllFeaturedContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.featureContent && Object.keys(strip.request.featureContent).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.featureContent &&\n strip.request.featureContent.request &&\n strip.request.featureContent.request.filters) {\n originalFilters = strip.request.featureContent.request.filters;\n strip.request.featureContent.request.filters = this.postMethodFilters(strip.request.featureContent.request.filters);\n }\n try {\n const response = await this.postRequestMethod(strip, strip.request.featureContent, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content && response.results.result.content.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n\n\n async getTabDataByNewReqTopContent(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n if (currentTab.request &&\n currentTab.request.topContent &&\n currentTab.request.topContent.request &&\n currentTab.request.topContent.request.filters) {\n currentTab.request.topContent.request.filters = this.postMethodFilters(currentTab.request.topContent.request.filters);\n }\n try {\n // const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\n const response = await this.postRequestMethod(strip, currentTab.request.topContent, currentTab.request.apiUrl, calculateParentStatus);\n if (response.results && response.results.result) {\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n raiseTelemetry(stripData: any) {\n this.telemtryResponse.emit(stripData)\n }\n\n async postRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n apiUrl: string,\n calculateParentStatus: boolean\n ): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.postApiMethod(apiUrl, request).subscribe(results => {\n if (results.result && results.result.content) {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n } else if (results && results.data) {\n const showViewMore = Boolean(\n results.data && results.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n } else if (results.result && results.result.data) {\n const showViewMore = Boolean(\n results.data && results.result.data && results.result.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n }\n\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n async getRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n apiUrl: string,\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.getApiMethod(apiUrl).subscribe(results => {\n let showViewMore: any\n if(results.result.data){\n showViewMore = Boolean(\n results.result.data && results.result.data.orgList.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n } else if(results.result.content){\n let featuredProvider = JSON.parse(results.result.content.featuredProviders || '[]')\n showViewMore = Boolean(\n featuredProvider && featuredProvider.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n }\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n }\n : null;\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n postMethodFilters(filters: any) {\n if (filters.organisation &&\n filters.organisation.indexOf('<orgID>') >= 0\n ) {\n filters.organisation = filters.organisation.replace('<orgID>', this.providerId)\n }\n return filters\n }\n getFullUrl(apiUrl: any, id: string) {\n let formedUrl: string = apiUrl\n if (apiUrl.indexOf('<bookmarkId>') >= 0) {\n formedUrl = apiUrl.replace('<bookmarkId>', this.environment.mdoChannelsBookmarkId)\n } else if (apiUrl.indexOf('<playlistKey>') >= 0 && apiUrl.indexOf('<orgID>') >= 0) {\n formedUrl = apiUrl.replace('<playlistKey>', this.providerId + id) \n formedUrl = formedUrl.replace('<orgID>', this.providerId) \n } else if(apiUrl.indexOf('<doId>') >= 0) {\n formedUrl = apiUrl.replace('<doId>', this.environment.providerDataKey) \n } \n return formedUrl\n }\n\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\n if (this.emitViewAll) {\n this.viewAllResponse.emit(stripData)\n } else {\n this.router.navigate([path], { queryParams: queryParamsData })\n }\n }\n\n async fetchAllBookMarkData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.bookmarkRead &&\n strip.request.bookmarkRead.bookmarkId) {\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.bookmarkRead.bookmarkId);\n }\n try {\n const response = await this.getRequestMethod(strip, strip.request.bookmarkRead, strip.request.apiUrl, calculateParentStatus);\n let content = response.results.result.data.orgList\n if (response) {\n this.processStrip(\n strip,\n this.transformAllContentsToWidgets(content, strip),\n 'done',\n calculateParentStatus,\n response,\n );\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n\n private transformAllContentsToWidgets(\n contents: any,\n strip: NsContentStripWithTabs.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n private transformAllTabContentsToWidgets(\n contents: any,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: currentTab.stripConfig && currentTab.stripConfig.cardSubType,\n cardCustomeClass: currentTab.customeClass ? currentTab.customeClass : '',\n context: { pageSection: currentTab.value, position: idx },\n intranetMode: currentTab.stripConfig && currentTab.stripConfig.intranetMode,\n deletedMode: currentTab.stripConfig && currentTab.stripConfig.deletedMode,\n contentTags: currentTab.stripConfig && currentTab.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n async fetchAllPlaylistSearch(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.playlistSearch &&\n strip.request.playlistSearch.request &&\n strip.request.playlistSearch.request.filters) {\n originalFilters = strip.request.playlistSearch.request.filters;\n strip.request.playlistSearch.request.filters = this.postMethodFilters(strip.request.playlistSearch.request.filters);\n }\n try {\n const response = await this.postRequestMethod(strip, strip.request.playlistSearch.request, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.data && response.results.result.data.length) {\n let finalPlaylistData: any = []\n let programData: any = response.results.result.data\n programData.forEach((prgData: any) => {\n if (prgData.children && prgData.children.length) {\n finalPlaylistData.push(prgData)\n }\n })\n if (finalPlaylistData.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(finalPlaylistData, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.emptyResponse.emit(true)\n }\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n\n async fetchPlaylistReadData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.playlistRead &&\n strip.request.playlistRead.type) {\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.playlistRead.type);\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.getRequestMethod(strip, strip.request.playlistRead, strip.request.apiUrl, calculateParentStatus);\n \n if (response && response.results.result.content) { \n let content = response.results.result.content\n if(strip.key === 'providers'){\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\n this.processStrip(\n strip,\n this.transformAllContentsToWidgets(featuredProviders, strip),\n 'done',\n calculateParentStatus,\n response,\n );\n } else {\n this.processStrip(\n strip,\n this.transformAllContentsToWidgets(content, strip),\n 'done',\n calculateParentStatus,\n response,\n );\n }\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n async getTabDataByNewReqPlaylistReadContent(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n if (currentTab.request &&\n currentTab.request.playlistRead &&\n currentTab.request.playlistRead.type) {\n currentTab.request.apiUrl = this.getFullUrl(currentTab.request.apiUrl, currentTab.request.playlistRead.type);\n }\n try {\n const response = await this.getRequestMethod(strip, currentTab.request.playlistRead, currentTab.request.apiUrl, calculateParentStatus);\n \n if (response.results && response.results.result) {\n let content = response.results.result.content\n let widgets = []\n if(currentTab.value === 'providers'){\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\n widgets = this.transformAllTabContentsToWidgets(featuredProviders, currentTab)\n } else {\n if(currentTab && currentTab.contentShuffel){\n content = content.sort( () => Math.random() - 0.5);\n }\n widgets = this.transformAllTabContentsToWidgets(content, currentTab)\n }\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\n }\n } catch (error) {\n console.error('Error:', error)\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n }\n\n async fetchCiosContentData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired && firstTab.value === 'extCourse') {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n this.getTabDataByCiosSearch(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n if (firstTab.requestRequired && firstTab.value === 'providers') {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n } else {\n try {\n const response = await this.postRequestMethod(strip, strip.request.ciosContent, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.data && response.results.data.length) {\n let extContentData: any = response.results.data\n if (extContentData.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(extContentData, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.emptyResponse.emit(true)\n }\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n \n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n async getTabDataByCiosSearch(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n _currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.contentSvc.postApiMethod(strip.request.apiUrl,strip.request.ciosContent).toPromise();;\n if (response && response.data && response.data.length) {\n const widgets = this.transformContentsToWidgets(response.data, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\n }\n } catch (error) {\n console.error('Error:', error)\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { ContentStripWithTabsLibComponent } from './content-strip-with-tabs-lib.component';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\n\n// tslint:disable-next-line:function-name\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [ContentStripWithTabsLibComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n entryComponents: [ContentStripWithTabsLibComponent],\n exports: [ContentStripWithTabsLibComponent],\n})\nexport class ContentStripWithTabsLibModule { }\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core'\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\nimport { ICarousel, ICarouselStyle } from './sliders.model'\nimport { Subscription, interval } from 'rxjs'\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\n\n@Component({\n selector: 'sb-uic-sliders',\n templateUrl: './sliders.component.html',\n styleUrls: ['./sliders.component.scss'],\n})\nexport class SlidersLibComponent extends WidgetBaseComponent\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\n @Input() widgetData!: ICarousel[]\n @Input() styleData!: ICarouselStyle\n @Input() title: any = ''\n @Input() type: any\n @HostBinding('id')\n public id = `banner_${Math.random()}`\n private defaultMenuSubscribe: Subscription | null = null\n isLtMedium$ = this.valueSvc.isLtMedium$\n currentIndex = 0\n slideInterval: Subscription | null = null\n isMobile = false\n\n constructor(\n private events: EventService,\n private valueSvc: ValueService\n ) {\n super()\n }\n\n ngOnInit() {\n this.reInitiateSlideInterval()\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\n this.isMobile = isLtMedium\n })\n }\n reInitiateSlideInterval() {\n if (this.widgetData && this.widgetData.length > 1) {\n try {\n if (this.slideInterval) {\n this.slideInterval.unsubscribe()\n }\n } catch (e) {\n } finally {\n this.slideInterval = interval(8000).subscribe(() => {\n if (this.currentIndex === this.widgetData.length - 1) {\n this.currentIndex = 0\n } else {\n this.currentIndex += 1\n }\n })\n }\n }\n }\n slideTo(index: number) {\n if (index >= 0 && index < this.widgetData.length) {\n this.currentIndex = index\n } else if (index === this.widgetData.length) {\n this.currentIndex = 0\n } else {\n this.currentIndex = this.widgetData.length + index\n }\n this.reInitiateSlideInterval()\n }\n\n get isOpenInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n return true\n } return false\n }\n\n openInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n window.open(currentData.redirectUrl)\n }\n }\n raiseTelemetry(bannerUrl: string | undefined) {\n this.openInNewTab()\n const path = window.location.pathname.replace('/', '')\n const url = path + window.location.search\n\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'banner',\n },\n {\n pageUrl: url,\n bannerRedirectUrl: bannerUrl,\n },\n {\n pageIdExt: 'banner',\n module: WsEvents.EnumTelemetrymodules.CONTENT,\n })\n }\n\n ngOnDestroy() {\n if (this.defaultMenuSubscribe) {\n this.defaultMenuSubscribe.unsubscribe()\n }\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { SlidersLibComponent } from './sliders.component'\nimport { RouterModule } from '@angular/router'\nimport { ImageResponsiveModule } from './../../_directives/image-responsive/image-responsive.module'\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\n/* tslint:disable */\nimport Hammer from 'hammerjs'\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\n/* tslint:enable */\nexport class MyHammerConfig extends HammerGestureConfig {\n buildHammer(element: HTMLElement) {\n const mc = new Hammer(element, {\n touchAction: 'pan-y',\n })\n return mc\n }\n}\n\n// tslint:disable-next-line: max-classes-per-file\n@NgModule({\n declarations: [SlidersLibComponent],\n imports: [\n CommonModule,\n RouterModule,\n NavigationModule,\n ImageResponsiveModule,\n ],\n exports: [SlidersLibComponent],\n entryComponents: [SlidersLibComponent],\n providers: [\n {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: MyHammerConfig,\n },\n ],\n})\nexport class SlidersLibModule { }\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst API_END_POINTS = {\n PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,\n TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,\n ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`,\n LEARNERS: `apis/proxies/v8/halloffame/top/learners`,\n LEADERBOARD: 'apis/proxies/v8/halloffame/v1/mdoleaderboard',\n LEADERBOARD_USERS: `apis/proxies/v8/halloffame/v1/userleaderboard`,\n NLW_LEADERBOARD: `apis/proxies/v8/national/learning/week/insights`,\n INSIGHTS: `apis/proxies/v8/read/user/insights`,\n USER_PROGRESS: `apis/proxies/v8/halloffame/v1/userleaderboard`,\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InsiteDataService {\n\n constructor(\n private http: HttpClient\n ) {}\n fetchSearchData(request: any): Observable<any> {\n return this.http.post<any>(API_END_POINTS.PROVIDER_INSIGHTS, request)\n }\n\n fetchAnnouncementsData(request: any): Observable<any> {\n return this.http.post<any>(API_END_POINTS.ANNOUNCEMENTS_DETAILS, request)\n }\n\n\n fetchTrainingDetails(request: any): Observable<any> {\n return this.http.post<any>(API_END_POINTS.TRAINING_DETAILS, request)\n }\n\n fetchLearner(channelId: any): Observable<any> {\n return this.http.get(`${API_END_POINTS.LEARNERS}/${channelId}`)\n }\n\n fetchLeaderboard() {\n return this.http.get(`${API_END_POINTS.LEADERBOARD}`)\n }\n\n fetchMdoUsers(orgId: any): Observable<any> {\n return this.http.get(`${API_END_POINTS.LEADERBOARD_USERS}/${orgId}`)\n }\n\n fetchNwlStats() {\n return this.http.get(`${API_END_POINTS.NLW_LEADERBOARD}`)\n }\n\n fetchInsightsData(payload: any) {\n const result = this.http.post(API_END_POINTS.INSIGHTS, payload)\n return result\n }\n\n fetchUserProgress() {\n return this.http.get(`${API_END_POINTS.USER_PROGRESS}`)\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-data-points',\n templateUrl: './data-points.component.html',\n styleUrls: ['./data-points.component.css']\n})\nexport class DataPointsComponent implements OnInit {\n @Input() objectData: any\n @Input() layoutType: string = ''\n @Input() fetchDataFromApi: boolean = false\n @Input() providerId : any = ''\n @Input() pageLayout: any = ''\n @Input() title: any\n customArray: any[][] = []\n isDataLoading: boolean = false\n apiResults: any\n \n constructor(public insightSvc: InsiteDataService) { }\n\n ngOnInit() {\n if (this.objectData && this.layoutType === 'gridLayout') {\n this.customArray = this.createCustomArray(this.objectData.metrics)\n }\n if(this.fetchDataFromApi) {\n this.isDataLoading = true\n if (this.pageLayout === 'nlw') {\n this.getStats()\n } else {\n this.getInsiteData()\n }\n }\n } \n\n createCustomArray(arr: any[]): any[][] {\n const nByn: any[][] = []\n for (let i = 0; i < arr.length; i += this.objectData.dataColSpan) {\n nByn.push(arr.slice(i, i + this.objectData.dataColSpan))\n }\n return nByn \n }\n\n getInsiteData(){\n let request: any = {}\n request = {\n \"request\": {\n \"filters\": {\n \"organisations\": [\n this.providerId\n ]\n }\n }\n }\n if (this.pageLayout && this.pageLayout === 'mdo') {\n request = {\n \"request\": {\n \"filters\": {\n \"requestType\": \"MDO_INSIGHT\",\n \"organisations\": [\n this.providerId\n ]\n }\n }\n }\n }\n this.insightSvc.fetchSearchData(request).subscribe((res: any)=> {\n if(res && res.result && res.result.response && res.result.response.nudges && res.result.response.nudges.length) {\n res.result.response.nudges.forEach((nudgeData: any) => {\n if(this.providerId && this.providerId === nudgeData.orgId) {\n this.objectData = nudgeData.data\n }\n })\n }\n this.isDataLoading = false\n })\n\n }\n\n getStats() {\n this.insightSvc.fetchNwlStats().subscribe((res: any) => {\n if(res && res.result && res.result.data) {\n this.objectData = res.result.data\n }\n this.isDataLoading = false\n }, error => {\n console.log(error)\n this.isDataLoading = false\n })\n }\n\n converToIndianSystem(value: any) {\n if (value) {\n let numStr = value.toString()\n let [integerPart, decimalPart] = numStr.split('.')\n let lastThree = integerPart.slice(-3);\n let otherNumbers = integerPart.slice(0, -3);\n if (otherNumbers !== '') {\n lastThree = ',' + lastThree;\n }\n let formattedIntegerPart = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',') + lastThree;\n const result = decimalPart ? `${formattedIntegerPart}.${decimalPart.substr(0,2)}` : formattedIntegerPart;\n return result\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core'\n\n@Component({\n selector: 'sb-uic-skeleton-loader',\n templateUrl: './skeleton-loader-lib.component.html',\n styleUrls: ['./skeleton-loader-lib.component.scss'],\n})\nexport class SkeletonLoaderLibComponent implements OnInit {\n\n @Input() bindingClass = ''\n @Input() height = ''\n @Input() width = ''\n constructor() { }\n\n ngOnInit() {\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { SkeletonLoaderLibComponent } from './skeleton-loader-lib.component'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatDialogModule, MatIconModule } from '@angular/material'\n\n@NgModule({\n declarations: [SkeletonLoaderLibComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule,\n MatIconModule,\n ],\n exports: [\n SkeletonLoaderLibComponent,\n ],\n entryComponents: [SkeletonLoaderLibComponent],\n})\nexport class SkeletonLoaderLibModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataPointsComponent } from './data-points.component';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [DataPointsComponent],\n imports: [\n CommonModule,\n SkeletonLoaderLibModule\n ],\n exports: [DataPointsComponent],\n providers:[InsiteDataService]\n})\nexport class DataPointsModule { }\n","import { DatePipe } from '@angular/common';\nimport {\n Component,\n Input,\n OnInit,\n \n} from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-calender',\n templateUrl: './calender.component.html',\n styleUrls: ['./calender.component.scss']\n})\nexport class CalenderComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() fetchDataFromApi: boolean = false\n @Input() showHeader: boolean = false\n @Input() defaultDays: number = 3\n @Input() providerId: any\n @Input() fullCalendor: boolean = false\n days = []\n trainings: any = {}\n currentMonthAndYear: any\n isDataLoading: boolean = false\n currentDate: any = new Date()\n endDate: any\n startDate: any\n allMonths = [\"January\", \"February\", \"March\",\n \"April\", \"May\", \"June\", \"July\",\n \"August\", \"September\", \"October\",\n \"November\", \"December\"\n ]\n monthsDropdown: any = []\n selectedMonth: any\n constructor(private datePipe: DatePipe, public insightSvc: InsiteDataService) { }\n\n ngOnInit() {\n this.currentMonthAndYear = this.datePipe.transform(this.currentDate, 'MMMM y')\n this.selectedMonth = this.datePipe.transform(this.currentDate, 'LLLL yyyy')\n if (this.fullCalendor) {\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\n this.getMonthsDropdownData()\n }\n if (!this.fullCalendor) {\n this.days = this.getDays(this.currentDate, +this.defaultDays)\n }\n this.startDate = this.days[0]\n this.endDate = this.days[this.days.length - 1]\n if(this.fetchDataFromApi) {\n this.isDataLoading = true\n this.getInsiteData()\n }\n }\n getInsiteData() {\n let request = {\n \"locale\": [\n \"en\"\n ],\n \"query\": \"\",\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"category\": [\n \"Calendar\"\n ],\n \"status\": [\n \"Live\",\n \"Retired\"\n ],\n \"contentType\": \"Event\",\n \"startDate\": {\n \">=\": this.startDate,\n \"<=\": this.endDate\n // \">=\": \"2024-01-15\",\n // \"<\": \"2024-05-31\"\n },\n \"channel\": [this.providerId]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n }\n }\n }\n this.insightSvc.fetchTrainingDetails(request).subscribe((res: any)=> {\n if (res && res.result && res.result.Event) {\n res.result.Event.forEach((resp: any) => {\n if (this.trainings[resp.startDate]) {\n let prevData = this.trainings[resp.startDate]\n let location = resp.eventType\n if (resp.location && location !== \"Online\") {\n const jsonResp = JSON.parse(resp.location)\n location = jsonResp['address']\n }\n const formatObject = {\n location: location,\n startTime: this.convertTo12HourFormat(resp.startTime),\n endTime: this.convertTo12HourFormat(resp.endTime),\n title: resp.name,\n startDate: this.formatDate(resp.startDate),\n endDate: this.formatDate(resp.endDate),\n registrationLink: resp.registrationLink,\n }\n prevData.push(formatObject)\n this.trainings[resp.startDate] = prevData\n }\n })\n }\n this.isDataLoading = false\n })\n }\n\n getKeys(obj: any): string[] {\n return Object.keys(obj);\n }\n\n formatDate(date: any) {\n let formatDate = new Date(date)\n return this.datePipe.transform(formatDate, 'E, dd LLL')\n }\n\n convertTo12HourFormat(timeString: string): string {\n const time = timeString.split(\":\")\n let hours = +time[0]\n const minutes = +time[1]\n const ampm = hours >= 12 ? 'PM' : 'AM'\n hours = hours % 12\n hours = hours ? hours : 12\n const strHours = hours < 10 ? '0' + hours : hours.toString()\n const strMinutes = minutes < 10 ? '0' + minutes : minutes.toString()\n return `${strHours}:${strMinutes} ${ampm}`\n }\n\n getDays(cDate: any, counter: number) {\n const days: any = []\n let initDate: any = new Date(cDate)\n initDate = this.datePipe.transform(initDate, 'y-MM-dd')\n days.push(initDate)\n this.trainings[initDate] = []\n while (counter > 0) {\n let myDate: any = new Date(cDate)\n myDate = myDate.setDate(myDate.getDate() + 1)\n cDate = myDate\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\n days.push(myDate)\n this.trainings[myDate] = []\n counter = counter - 1\n }\n return days\n }\n\n getDaysInMonth(year: number, month: number): Date[] {\n const date = new Date(year, month, 1)\n const days: any = []\n this.trainings = {}\n while (date.getMonth() === month) {\n let myDate: any = new Date(date)\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\n days.push(myDate)\n this.trainings[myDate] = []\n date.setDate(date.getDate() + 1)\n }\n return days\n }\n\n getMonthsDropdownData() {\n this.allMonths.forEach((month: any) => {\n this.monthsDropdown.push(`${month} ${this.currentDate.getFullYear()}`)\n })\n }\n\n selectMonth(event: any) {\n const selectedMonth: any = new Date(event)\n this.currentDate = selectedMonth\n this.days = []\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\n this.startDate = this.days[0]\n this.endDate = this.days[this.days.length - 1]\n this.isDataLoading = true\n this.getInsiteData()\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-calender-day',\n templateUrl: './calender-day.component.html',\n styleUrls: ['./calender-day.component.scss']\n})\nexport class CalenderDayComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() day: any\n @Input() dataLoading: boolean\n @Input() rowId: any\n @Input() eventDate: any\n webDisplayDate: string = \"\"\n mobileDisplayDate: string = \"\"\n currentDate: any = new Date()\n\n constructor(private datePipe: DatePipe) { }\n\n ngOnInit() {\n this.currentDate = this.datePipe.transform(this.currentDate, 'y-MM-dd')\n }\n\n openLink(link: string) {\n window.open(link, \"_blank\")\n }\n\n formatDate(date: any, type: string) {\n let fDate = new Date(date)\n if (type === 'web') {\n return this.datePipe.transform(fDate, 'E, dd LLL')\n }\n if (type === 'mob') {\n return this.datePipe.transform(fDate, 'E dd LLL')\n }\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { CalenderComponent } from './calender.component';\nimport { MatIconModule, MatSelectModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { CalenderDayComponent } from './calender-day/calender-day.component';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n FormsModule,\n ReactiveFormsModule,\n MatSelectModule,\n SkeletonLoaderLibModule\n ],\n declarations: [CalenderComponent, CalenderDayComponent],\n exports: [CalenderComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n providers:[DatePipe, InsiteDataService],\n})\nexport class CalenderModule {}","import { Injectable } from '@angular/core';\nimport { NsContent } from '../_models/widget-content.model';\nimport { NsContentStripWithTabs } from '../_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model';\nimport { NsCommonStrip } from '../_common/common-strip/common-strip.model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonMethodsService {\n\n constructor() { }\n\n transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithTabs.IContentStripUnit | NsCommonStrip.ICommonStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n handleCapitalize(str: string, type?: string): string {\n let returnValue = ''\n if (str) {\n if (type === 'name') {\n returnValue = str.split(' ').map(_str => {\n return _str.charAt(0).toUpperCase() + _str.slice(1)\n }).join(' ')\n } else {\n\n returnValue = str && (str.charAt(0).toUpperCase() + str.slice(1))\n }\n }\n return returnValue\n }\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsCommonStrip } from './common-strip.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { NsContent } from '../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CommonMethodsService } from '../../_services/common-methods.service';\n\n\ninterface IStripUnitCommonData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabs?: NsCommonStrip.ICommonStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsCommonStrip.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n}\n\n@Component({\n selector: 'sb-uic-common-strip',\n templateUrl: './common-strip.component.html',\n styleUrls: ['./common-strip.component.scss']\n})\nexport class CommonStripComponent extends WidgetBaseComponent\nimplements\nOnInit,\nOnDestroy,\nNsWidgetResolver.IWidgetData<NsCommonStrip.ICommonStrip> {\n @Input() widgetData!: NsCommonStrip.ICommonStrip;\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitCommonData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n enrollInterval: any;\n todaysEvents: any = [];\n\n constructor(\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n // private http: HttpClient,\n // private searchServSvc: SearchServService,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private commonMethodsSvc: CommonMethodsService\n ) {\n super();\n this.environment = environment\n }\n\n ngOnInit() {\n // const url = window.location.href\n this.initData();\n }\n\n ngOnDestroy() {\n if (this.changeEventSubscription) {\n this.changeEventSubscription.unsubscribe();\n }\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // null check if in case no strips key in config\n if(this.widgetData && this.widgetData.strips) {\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n this.processStrip(strip, [], 'fetching', false, null);\n if(strip.dataType === 'in-hand' && this.widgetData[strip.dataKey]){\n this.processStrip(\n strip,\n this.commonMethodsSvc.transformContentsToWidgets(this.widgetData[strip.dataKey], strip),\n 'done',\n true,\n strip.viewMoreUrl || '',\n );\n } else {\n if (this.checkForEmptyWidget(strip)) {\n // this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n // this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n\n isStripShowing(data: any) {\n let count = 0;\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n return data.showStrip;\n }\n\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n getdata(data: IStripUnitCommonData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n checkCondition(wData: NsCommonStrip.ICommonStrip, data: IStripUnitCommonData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitCommonData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getContineuLearningLenth(data: IStripUnitCommonData) {\n return data.widgets ? data.widgets.length : 0;\n }\n getLength(data: IStripUnitCommonData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n const tabWithMaxWidgets = data.tabs.reduce(\n (prev, current) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n \n private async processStrip(\n strip: NsCommonStrip.ICommonStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsCommonStrip.ICommonStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n dataType: strip.dataType,\n dataKey: strip.dataKey,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n if (key === 'cbpPlan') {\n if (stripsResultDataMap.tabs.length) {\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\n }\n }\n return returnValue;\n }\n \n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsCommonStrip.ICommonStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.api && Object.keys(strip.request.api).length) ||\n (strip.request.search && Object.keys(strip.request.search).length) ||\n (strip.request.searchRegionRecommendation &&\n Object.keys(strip.request.searchRegionRecommendation).length) ||\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length)\n )\n ) {\n return true;\n }\n return false;\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitCommonData, stripKey: string) {\n\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CommonStripComponent } from './common-strip.component';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { HttpClient } from '@angular/common/http';\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\n@NgModule({\n declarations: [CommonStripComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports: [CommonStripComponent]\n})\nexport class CommonStripModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-announcements',\n templateUrl: './announcements.component.html',\n styleUrls: ['./announcements.component.scss']\n})\nexport class AnnouncementsComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() mobileHeight: boolean = false\n @Input() fetchDataFromApi: boolean = false\n @Input() channelId: any\n @Output() openDialog = new EventEmitter<any>()\n isLoading: boolean = false\n announcements: any = []\n expand = false\n expanded: boolean = false\n\n constructor(public insightSvc: InsiteDataService) {\n }\n\n ngOnInit() {\n if (this.fetchDataFromApi) {\n this.isLoading = true\n this.fetchData()\n }\n }\n\n fetchData() {\n let request = {\n filterCriteriaMap: {\n channel: [this.channelId],\n //channel: [\"01381906916850892825\"],\n },\n requestedFields: [\n \"name\",\n \"description\",\n \"createdOn\",\n \"updatedOn\",\n \"category\"\n ],\n orderBy: \"createdOn\",\n orderDirection: \"ASC\",\n facets: [\n \"channel\"\n ],\n pageSize: this.objectData.pageSize\n }\n this.insightSvc.fetchAnnouncementsData(request).subscribe((res: any)=> {\n if(res && res.result && res.result.data) {\n res.result.data.forEach((resp: any) => {\n this.announcements.push({\n value: resp.description,\n expanded: false\n })\n })\n }\n if (this.announcements.length > 3) {\n this.expand = true\n }\n this.objectData.list = this.announcements\n this.isLoading = false\n }, error => {\n console.log(error)\n this.objectData.list = []\n this.isLoading = false\n })\n }\n\n viewMoreOrLess(item: any) {\n if (item.value.length > 152) {\n item.expanded = !item.expanded\n }\n }\n\n openAnnouncements() {\n this.openDialog.emit(true)\n }\n\n showMoreOrLess() {\n this.expanded = !this.expanded\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { AnnouncementsComponent } from './announcements.component';\nimport { MatIconModule } from '@angular/material';\n\n\n\n@NgModule({\n declarations: [AnnouncementsComponent],\n imports: [\n CommonModule,\n MatIconModule,\n SkeletonLoaderLibModule\n ],\n exports: [AnnouncementsComponent],\n})\nexport class AnnouncementsModule { }","import { Component, Input, OnInit } from '@angular/core';\nimport * as moment_ from 'moment';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nconst moment = moment_;\n@Component({\n selector: 'sb-uic-top-learners',\n templateUrl: './top-learners.component.html',\n styleUrls: ['./top-learners.component.scss']\n})\nexport class TopLearnersComponent implements OnInit {\n\n @Input() objectData: any\n @Input() channelId: any\n @Input() channnelName: any\n loading: boolean = false\n month: string = ''\n results: any = []\n\n colors: any = [\n '#EB7181', // red\n '#306933', // green\n '#000000', // black\n '#3670B2', // blue\n '#4E9E87',\n '#7E4C8D',\n '#EB7181', // red\n '#306933', // green\n '#000000', // black\n '#3670B2', // blue\n ]\n\n constructor(public insightSvc: InsiteDataService,) { }\n\n ngOnInit() {\n this.getData()\n this.month = new Date().toLocaleString('default', { month: 'long' })\n }\n\n getData() {\n this.loading = true\n this.insightSvc.fetchLearner(this.channelId).subscribe((res: any)=> {\n if (res && res.result && res.result.result && res.result.result.length) {\n this.results = res.result.result\n this.month = moment().month(Number(res.result.result[0].month) - 1).format('MMMM')\n }\n this.loading = false\n }, (_error: any) => {\n // tslint:disable-next-line: align\n this.loading = false\n })\n }\n\n getRank(rank: number) {\n if (rank === 1) {\n return \"1st\"\n } \n if (rank === 2) {\n return \"2nd\"\n } \n if (rank === 3) {\n return \"3rd\"\n } else {\n return `${rank}th`\n } \n }\n\n getColor() {\n let circleColor = ''\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\n circleColor = this.colors[randomIndex]\n return circleColor\n }\n\n createInititals(name: string) {\n let initials = ''\n const array = name.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < name.length; i += 1) {\n if (name.charAt(i) === ' ') {\n continue\n }\n if (name.charAt(i) === name.charAt(i)) {\n initials += name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n return initials.toUpperCase()\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TopLearnersComponent } from './top-learners.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { MatTooltipModule } from '@angular/material';\n\n@NgModule({\n declarations: [TopLearnersComponent],\n imports: [\n CommonModule,\n SkeletonLoaderLibModule,\n MatTooltipModule\n ],\n exports: [TopLearnersComponent],\n})\nexport class TopLearnersModule { }","import { Directive, Input, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[sbUicScrollableItem]'\n})\nexport class ScrollableItemDirective {\n\n @Input('sbUicScrollableItem') public key: string\n constructor(private el: ElementRef<HTMLElement>) {}\n\n public scrollIntoView(blockValue: any) {\n this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });\n }\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-cbp-plan',\n templateUrl: './cbp-plan.component.html',\n styleUrls: ['./cbp-plan.component.scss']\n})\nexport class CbpPlanComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() mobileHeight: boolean = false\n @Input() fetchDataFromApi: boolean = false\n @Input() channelId: any\n @Output() openDialog = new EventEmitter<any>()\n isLoading: boolean = false\n currentIndex = 0\n styleData: any = {}\n contentdata: any = []\n\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor(private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService) { }\n\n ngOnInit() {\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\n if (this.objectData && this.objectData.list) {\n this.objectData.list.forEach((contentEle: any) => {\n let localData = {}\n localData['title'] = contentEle.title\n localData['downloaUrl'] = contentEle.downloaUrl\n localData['cardSubType'] = \"card-wide-lib\"\n localData['cardCustomeClass'] = \"\"\n this.contentdata.push(localData)\n })\n }\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n getFileName(item: any) {\n console.log(item.downloadUrl)\n return item.downloadUrl.split(\"/\").at(-1)\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateActualLabel(label, type, '');\n }\n\n downloadCBPPlan(item: any) {\n const downloadUrl = item.downloaUrl\n const xhr = new XMLHttpRequest()\n xhr.open('GET', downloadUrl, true)\n xhr.responseType = 'blob'\n\n xhr.onload = function() {\n if (xhr.status === 200) {\n const blob = new Blob([xhr.response], { type: 'application/pdf' })\n const url = window.URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n a.download = downloadUrl.split(\"/\").at(-1)\n document.body.appendChild(a)\n a.click()\n document.body.removeChild(a)\n window.URL.revokeObjectURL(url)\n } else {\n console.error('Error downloading the PDF', xhr.statusText)\n }\n }\n xhr.onerror = function() {\n console.error('Network error')\n }\n xhr.send()\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from '@angular/core'\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\nimport { ICarousel, ICarouselStyle } from './sliders-ng-content.model'\nimport { Subscription, interval } from 'rxjs'\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\n\n@Component({\n selector: 'sb-uic-sliders-ng-content',\n templateUrl: './sliders-ng-content.component.html',\n styleUrls: ['./sliders-ng-content.component.scss'],\n})\nexport class SlidersNgContentLibComponent extends WidgetBaseComponent\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\n @Input() widgetData!: ICarousel[]\n @Input() styleData!: ICarouselStyle\n @Input() title: any = ''\n @Input() loadNgContentData: boolean = false\n @Input() autoScroll: boolean = false\n @Input() customBanner: boolean = false\n @Output() currentIndexValue = new EventEmitter<any>()\n \n @HostBinding('id')\n public id = `banner_${Math.random()}`\n private defaultMenuSubscribe: Subscription | null = null\n isLtMedium$ = this.valueSvc.isLtMedium$\n @Input() currentIndex = 0\n slideInterval: Subscription | null = null\n isMobile = false\n\n constructor(\n private events: EventService,\n private valueSvc: ValueService\n ) {\n super()\n }\n\n ngOnInit() {\n if(this.autoScroll) {\n this.reInitiateSlideInterval()\n }\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\n this.isMobile = isLtMedium\n })\n }\n reInitiateSlideInterval() {\n if (this.widgetData && this.widgetData.length > 1) {\n try {\n if (this.slideInterval) {\n this.slideInterval.unsubscribe()\n }\n } catch (e) {\n } finally {\n this.slideInterval = interval(8000).subscribe(() => {\n if (this.currentIndex === this.widgetData.length - 1) {\n this.currentIndex = 0\n this.currentIndexValue.emit(this.currentIndex)\n } else {\n this.currentIndex += 1\n this.currentIndexValue.emit(this.currentIndex)\n }\n })\n }\n }\n }\n slideTo(index: number) {\n if (index >= 0 && index < this.widgetData.length) {\n this.currentIndex = index\n this.currentIndexValue.emit(this.currentIndex)\n } else if (index === this.widgetData.length) {\n this.currentIndex = 0\n this.currentIndexValue.emit(this.currentIndex)\n } else {\n this.currentIndex = this.widgetData.length + index\n this.currentIndexValue.emit(this.currentIndex)\n }\n if(this.autoScroll) {\n this.reInitiateSlideInterval()\n }\n }\n\n get isOpenInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n return true\n } return false\n }\n\n openInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n window.open(currentData.redirectUrl)\n }\n }\n raiseTelemetry(bannerUrl: string | undefined) {\n this.openInNewTab()\n const path = window.location.pathname.replace('/', '')\n const url = path + window.location.search\n\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'banner',\n },\n {\n pageUrl: url,\n bannerRedirectUrl: bannerUrl,\n },\n {\n pageIdExt: 'banner',\n module: WsEvents.EnumTelemetrymodules.CONTENT,\n })\n }\n\n ngOnDestroy() {\n if (this.defaultMenuSubscribe) {\n this.defaultMenuSubscribe.unsubscribe()\n }\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { SlidersNgContentLibComponent } from './sliders-ng-content.component'\nimport { RouterModule } from '@angular/router'\nimport { ImageResponsiveModule } from '../../_directives/image-responsive/image-responsive.module'\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\n/* tslint:disable */\nimport Hammer from 'hammerjs'\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\n/* tslint:enable */\nexport class MyHammerConfig extends HammerGestureConfig {\n buildHammer(element: HTMLElement) {\n const mc = new Hammer(element, {\n touchAction: 'pan-y',\n })\n return mc\n }\n}\n\n// tslint:disable-next-line: max-classes-per-file\n@NgModule({\n declarations: [SlidersNgContentLibComponent],\n imports: [\n CommonModule,\n RouterModule,\n NavigationModule,\n ImageResponsiveModule,\n ],\n exports: [SlidersNgContentLibComponent],\n entryComponents: [SlidersNgContentLibComponent],\n providers: [\n {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: MyHammerConfig,\n },\n ],\n})\nexport class SlidersNgContentLibModule { }\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ScrollableItemDirective } from './scrollable-item.directive'\n\n@NgModule({\n declarations: [ScrollableItemDirective],\n imports: [\n CommonModule,\n ],\n exports: [ScrollableItemDirective],\n})\nexport class ScrollableItemModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CbpPlanComponent } from './cbp-plan.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { MatIconModule } from '@angular/material';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\n\n\n\n@NgModule({\n declarations: [CbpPlanComponent],\n imports: [\n CommonModule,\n SkeletonLoaderLibModule,\n MatIconModule,\n ScrollableItemModule,\n SlidersNgContentLibModule,\n ],\n exports: [CbpPlanComponent]\n})\nexport class CbpPlanModule { }\n","import { NgModule } from '@angular/core';\nimport { ConsumptionComponent } from './consumption.component';\nimport { ContentStripWithTabsLibModule } from './_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { SlidersLibModule } from '../lib/_common/sliders/sliders.module';\nimport { DataPointsModule } from './_common/data-points/data-points.module';\nimport { CalenderModule } from './_common/calender/calender.module';\nimport { CommonStripModule } from './_common/common-strip/common-strip.module';\nimport { AnnouncementsModule } from './_common/announcements/announcements.module';\nimport { TopLearnersModule } from './_common/top-learners/top-learners.module';\nimport { CbpPlanModule } from './_common/cbp-plan/cbp-plan.module';\n\n@NgModule({\n declarations: [ConsumptionComponent],\n imports: [\n ContentStripWithTabsLibModule,\n SlidersLibModule\n ],\n exports: [ConsumptionComponent,\n ContentStripWithTabsLibModule,\n SlidersLibModule,\n DataPointsModule,\n CalenderModule,\n CommonStripModule,\n AnnouncementsModule,\n TopLearnersModule,\n CbpPlanModule,\n ],\n})\nexport class ConsumptionModule { }\n","export const ROOT_WIDGET_CONFIG = {\n \n card: {\n _type: 'cardLib',\n cardResource: 'cardContentLib'\n },\n}\n","import { NsContent } from './widget-content.model';\n\nexport namespace NsCardContent {\n export interface ICard {\n content: NsContent.IContent;\n cardSubType: TCardSubType;\n context: { pageSection: string; position?: number };\n intranetMode?: 'greyOut' | 'hide';\n deletedMode?: 'greyOut' | 'hide';\n likes?: number;\n contentTags?: IContentTags;\n stateData: any;\n cardCustomeClass?: any;\n }\n\n export interface IContentTags {\n daysSpan?: number;\n excludeContentType?: NsContent.EContentTypes[];\n excludeMimeType?: string[];\n tag: string;\n criteriaField?: string;\n }\n\n export type TCardSubType =\n | 'standard'\n | 'minimal'\n | 'space-saving'\n | 'card-user-details'\n | 'basic-info'\n | 'basic-details'\n | 'card-description-back'\n | 'network-card'\n | 'user-card';\n\n export enum EContentStatus {\n LIVE = 'Live',\n EXPIRED = 'Expired',\n DELETED = 'Deleted',\n MARK_FOR_DELETION = 'MarkedForDeletion',\n }\n export enum ACBPConst {\n UPCOMING = 'upcoming',\n ALL = 'All',\n OVERDUE = 'overdue',\n SUCCESS = 'success',\n }\n\n export enum IGOTConst {\n COMPETENCIES = 'competencies_v5',\n RETIRED = 'Retired',\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { WidgetBaseComponent, NsWidgetResolver } from '@sunbird-cb/resolver-v2';\nimport { NsCardContent } from '../../_models/card-content.model';\nimport { UtilityService } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-cards',\n templateUrl: './cards.component.html',\n styleUrls: ['./cards.component.scss']\n})\nexport class CardsComponent extends WidgetBaseComponent\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Output() triggerTelemetry = new EventEmitter<any>()\n isIntranetAllowedSettings = false\n cbPlanMapData: any\n cbPlanInterval: any\n constructor(private utilitySvc: UtilityService,\n private contSvc: WidgetContentLibService,\n public router: Router\n ) {\n super();\n }\n\n ngOnInit() {\n this.cbPlanInterval = setInterval(() => {\n this.getCbPlanData()\n }, 1000)\n \n \n }\n\n get isLiveOrMarkForDeletion() {\n if (\n !this.widgetData.content.status ||\n this.widgetData.content.status === 'Live' ||\n this.widgetData.content.status === 'MarkedForDeletion'\n ) {\n return true\n }\n return false\n }\n\n get showIntranetContent() {\n if (this.widgetData.content.isInIntranet && this.utilitySvc.isMobile) {\n return !this.isIntranetAllowedSettings\n }\n return false\n }\n async getRedirectUrlData(content: any){\n if(content.externalId) {\n this.router.navigate(\n [`app/toc/ext/${content.contentId}`])\n } else {\n let urlData = await this.contSvc.getResourseLink(content)\n this.router.navigate(\n [urlData.url],\n {\n queryParams: urlData.queryParams\n })\n }\n \n }\n getCbPlanData() {\n let cbpList: any={}\n if (localStorage.getItem('cbpData')) {\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\n if (cbpListArr && cbpListArr.length) {\n cbpListArr.forEach((data: any) => {\n cbpList[data.identifier] = data\n })\n }\n this.cbPlanMapData = cbpList\n // this.karmaPointLoading = false\n clearInterval(this.cbPlanInterval)\n }\n }\n\n\n\n raiseCardClick(data: any) {\n this.triggerTelemetry.emit(data)\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsCardContent } from '../../../_models/card-content.model';\n\n@Component({\n selector: 'ws-cb-widget-card-resource',\n templateUrl: './card-resource.component.html',\n styleUrls: ['./card-resource.component.scss'],\n})\nexport class CardResourceComponent extends WidgetBaseComponent\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\n\n @Input() widgetData!: NsCardContent.ICard;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-portrait',\n templateUrl: './card-portrait.component.html',\n styleUrls: ['./card-portrait.component.scss']\n})\nexport class CardPortraitComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n}\n","import { Inject, Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'pipePublicURL',\n})\nexport class PipePublicURL implements PipeTransform {\n environment: any\n constructor(\n @Inject('environment') environment: any,){\n this.environment = environment\n }\n\n transform(value: string): any {\n const mainUrl = value && value.split('/content').pop() || ''\n const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\n return value ? finalURL : ''\n }\n\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { PipePublicURL } from './pipe-public-URL.pipe'\n\n@NgModule({\n declarations: [PipePublicURL],\n imports: [\n CommonModule,\n ],\n exports: [PipePublicURL],\n})\nexport class PipePublicURLModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'objectToArray'\n})\nexport class ObjectToArrayPipe implements PipeTransform {\n // transform(value: any, ...args: any[]): any[] {\n // console.log(\"function called\")\n // if (!value) {\n // return [];\n // }\n // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), \"Object.keys(value).map(key => ({ key, value: value[key] }))==----------\")\n // return Object.keys(value).map(key => ({ key, value: value[key] }));\n // }\n transform(...args: any[]): any[] { \n return args; \n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ObjectToArrayPipe } from './object-to-array.pipe'\n\n@NgModule({\n declarations: [ObjectToArrayPipe],\n imports: [\n CommonModule,\n ],\n exports: [ObjectToArrayPipe],\n})\nexport class ObjectToArrayPipeModule { }","import { Component, OnInit, Input } from '@angular/core'\nimport { NsContent } from '../../_models/widget-content.model'\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service'\n\n@Component({\n selector: 'sb-uic-display-content-type',\n templateUrl: './display-content-type-lib.component.html',\n styleUrls: ['./display-content-type-lib.component.scss'],\n})\nexport class DisplayContentTypeLibComponent implements OnInit {\n @Input() useTranslation: boolean = true\n @Input() displayContentType: NsContent.EDisplayContentTypes = NsContent.EDisplayContentTypes.DEFAULT\n displayContentTypeEnum = NsContent.EDisplayContentTypes\n constructor(private langtranslations: MultilingualTranslationsService) { }\n\n ngOnInit() {\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '')\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { DisplayContentTypeLibComponent } from './display-content-type-lib.component'\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms'\n\n@NgModule({\n declarations: [DisplayContentTypeLibComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule],\n exports: [DisplayContentTypeLibComponent],\n})\nexport class DisplayContentTypeLibModule {}\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as moment from 'moment'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour' | 'hms2H' | 'hms2M'| 'day'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n case 'hms2H':\r\n /**to Print HH:mm:ss */\r\n const duration2 = moment.duration(data, 'seconds')\r\n const resultstring = moment.utc(duration2.asMilliseconds()).format('HH:mm:ss')\r\n return resultstring\r\n case 'hms2M': /**to Print mm:ss */\r\n const duration2H = moment.duration(data, 'seconds')\r\n const resultstring2H = moment.utc(duration2H.asMilliseconds()).format('mm:ss')\r\n\r\n return resultstring2H\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n case 'day':\r\n if (h > 24) {\r\n const duration3 = moment.duration(data, 'seconds')\r\n return `${duration3.days()} day(s)`\r\n }\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n hmsCalculation(h: number, m: number, s: number, dur: string, type: string) {\r\n let space = ''\r\n let duration = dur\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardUser } from '../../../_models/card-users.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-card-user',\n templateUrl: './card-user.component.html',\n styleUrls: ['./card-user.component.scss']\n})\nexport class CardUserComponent implements OnInit {\n @Input() widgetData!: NsCardUser.ICard;\n @Output() userData = new EventEmitter<any>()\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n }\n }\n\n getRedirectUrlData(userData: any){\n this.userData.emit(userData)\n }\n raiseTelemetry() {\n // if(this.forPreview){\n // return\n // }\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: `${this.widgetType}-${this.widgetSubType}`,\n id: `${_.camelCase(this.widgetData.content.userId)}-card`,\n },\n {\n id: this.widgetData.content.userId,\n // type: this.widgetData.user.primaryCategory,\n //context: this.widgetData.context,\n rollup: {},\n // ver: `${this.widgetData.user.version}${''}`,\n },\n {\n pageIdExt: `${_.camelCase('user')}-card`,\n module: _.camelCase('user'),\n })\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n \n@Component({\n selector: 'sb-uic-card-landscape',\n templateUrl: './card-landscape.component.html',\n styleUrls: ['./card-landscape.component.scss']\n})\nexport class CardLandscapeComponent implements OnInit {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Output() triggerTelemetry = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n defaultThumbnail: any\n acbpConstants = NsCardContent.ACBPConst\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n cbPlanInterval: any\n \n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n this.cbPlanInterval = setInterval(() => {\n this.getCbPlanData()\n }, 1000)\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n this.contentData.emit(contentData)\n }\n raiseTelemetry(content: any) {\n this.triggerTelemetry.emit(content)\n }\n\n\n getCbPlanData() {\n let cbpList: any={}\n if (localStorage.getItem('cbpData')) {\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\n if (cbpListArr && cbpListArr.length) {\n cbpListArr.forEach((data: any) => {\n cbpList[data.identifier] = data\n })\n }\n // this.cbPlanMapData = cbpList\n // this.karmaPointLoading = false\n clearInterval(this.cbPlanInterval)\n }\n }\n\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-card-wide',\n templateUrl: './card-wide.component.html',\n styleUrls: ['./card-wide.component.scss']\n})\nexport class CardWideComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n isCardFlipped:boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n \n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n getRedirectUrlData(contentData: any){\n this.contentData.emit(contentData)\n }\n raiseTelemetry() {\n // if(this.forPreview){\n // return\n // }\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: `${this.widgetType}-${this.widgetSubType}`,\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n },\n {\n id: this.widgetData.content.identifier,\n type: this.widgetData.content.primaryCategory,\n //context: this.widgetData.context,\n rollup: {},\n ver: `${this.widgetData.content.version}${''}`,\n },\n {\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n module: _.camelCase(this.widgetData.content.primaryCategory),\n })\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-card-mdo-channel',\n templateUrl: './card-mdo-channel.component.html',\n styleUrls: ['./card-mdo-channel.component.scss']\n})\nexport class CardMDOChannelComponent implements OnInit {\n @Input() widgetData!: NsContent.IContent;\n @Output() channelData = new EventEmitter<any>()\n @Output() emitTelemetry = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n public router: Router) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n raiseTelemetry(contentData: any) {\n this.emitTelemetry.emit(contentData)\n if (this.widgetData) {\n contentData['typeOfTelemetry'] = 'mdo-channel'\n }\n this.contSvc.changeTelemetryData(contentData)\n }\n channelClick(channeldata:any) {\n this.channelData.emit(channeldata)\n }\n\n redirectTo(content: any) {\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-card-wide-v2',\n templateUrl: './card-wide-v2.component.html',\n styleUrls: ['./card-wide-v2.component.scss']\n})\nexport class CardWideV2Component implements OnInit {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() cbPlanMapData: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Output() triggerTelemetry = new EventEmitter<any>()\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n this.contentData.emit(contentData)\n }\n raiseTelemetry(contentData: any) {\n this.triggerTelemetry.emit(contentData)\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { Router } from '@angular/router';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-karma-programs',\n templateUrl: './card-karma-programs.component.html',\n styleUrls: ['./card-karma-programs.component.scss']\n})\nexport class CardKarmaProgramsComponent implements OnInit {\n\n @Input() widgetData!: NsContent.IContent;\n @Input() randomColorApply: boolean = false\n @Output() userData = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n randomColors: any = [\n '#EF941D',\n '#F97440',\n '#35B5B0',\n '#9988FF',\n '#254092',\n '#926525',\n '#4F72DF'\n ]\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n private router: Router) {\n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n this.setRandomColor()\n }\n\n setRandomColor(){\n if(this.widgetData && this.widgetData.content) {\n if(this.randomColorApply){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\n }else {\n this.widgetData.content['bgColor'] = '#1a4ca1'\n }\n }\n }\n\n \n\n get getRandomColors(){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n return this.randomColors[randomIndex1]\n }\n\n redirectTo(data: any) {\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n data['typeOfTelemetry'] = 'karma-programs'\n }\n this.contSvc.changeTelemetryData(data)\n this.router.navigate(\n [`/app/learn/karma-programs/${data.title}/${data.playListKey}/${data.orgId}/micro-sites`],\n )\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-card-karma-programs-v2',\n templateUrl: './card-karma-programs-v2.component.html',\n styleUrls: ['./card-karma-programs-v2.component.scss']\n})\nexport class CardKarmaProgramsV2Component implements OnInit {\n\n @Input() widgetData!: NsContent.IContent;\n @Input() randomColorApply: boolean = false\n @Output() userData = new EventEmitter<any>()\n @Output() raiseTemeletry = new EventEmitter<any>()\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n randomColors: any = [\n '#EF941D',\n '#F97440',\n '#35B5B0',\n '#9988FF',\n '#254092',\n '#926525',\n '#4F72DF'\n ]\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private router : Router,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n this.setRandomColor()\n }\n\n setRandomColor(){\n if(this.widgetData && this.widgetData.content) {\n if(this.randomColorApply){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\n }else {\n this.widgetData.content['bgColor'] = '#1a4ca1'\n }\n }\n }\n\n redirectTo(content: any) {\n this.raiseTemeletry.emit(content)\n this.router.navigate(\n [`/app/learn/karma-programs/${content.title}/${content.playListKey}/${content.orgId}/micro-sites`],\n )\n }\n\n get getRandomColors(){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n return this.randomColors[randomIndex1]\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-provider-card',\n templateUrl: './provider-card.component.html',\n styleUrls: ['./provider-card.component.scss']\n})\nexport class ProviderCardComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() randomColorApply: boolean = true\n @Input() isCardLoading: boolean = false\n\n colors = [\n '#EF941D', '#F97440', '#35B5B0', '#9988FF', '#816FEC',\n '#254092', '#926525', '#4F72DF'\n ];\n\n constructor(private router: Router) {}\n\n ngOnInit() {\n this.setRandomColor()\n }\n\n setRandomColor(){\n if(this.widgetData && this.widgetData.content) {\n if(this.randomColorApply){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.colors.length))\n this.widgetData.content['bgColor'] = this.colors[randomIndex1]\n }else {\n this.widgetData.content['bgColor'] = '#1a4ca1'\n }\n }\n }\n \n\n redirectTo(content: any) { \n this.router.navigate([`/app/learn/browse-by/provider/${content.name}/${content.orgId}/micro-sites`])\n }\n\n\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-portrait-ext',\n templateUrl: './card-portrait-ext.component.html',\n styleUrls: ['./card-portrait-ext.component.scss']\n})\nexport class CardPortraitExtComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n if (this.widgetData && this.widgetData.content) {\n this.widgetData.content.duration = this.widgetData.content.duration * 60\n }\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n// import { WidgetUserServiceLib } from '../../../../_services/widget-user.service';\nimport { ConfigurationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-assessment',\n templateUrl: './card-assessment.component.html',\n styleUrls: ['./card-assessment.component.css']\n})\n\n// @Directive({\n// selector: '[callFunctionOnInit]'\n// })\nexport class CardAssessmentComponent implements OnInit {\n @Input() widgetData!: NsContent.IContent;\n @Output() contentData = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n stripData: any = []\n enrollList: any = []\n activeResource: any = []\n defaultThumbnail: any\n defaultSLogo: any\n daysRemaining: number = 0;\n startDate: any\n endDate: any\n daysPending: boolean = false\n daysFinish: boolean = false\n private intervalId: any;\n days: number;\n hours: number;\n minutes: number;\n constructor(private configSvc: ConfigurationsService, private contSvc: WidgetContentLibService,) { }\n\n ngOnInit(): void {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n }\n }\n\n startCountdown(data: any): void {\n let startDate = data.startDate\n this.updateCountdown(startDate);\n // this.intervalId = setInterval(() => {\n // this.updateCountdown(startDate);\n // }, 1000);\n }\n\n // Method to update the countdown values\n updateCountdown(startDate: any): void {\n let now = new Date().getTime()\n let startingDate: any = new Date(startDate).getTime()\n // startingDate.setHours(startingDate.getHours() - 5);\n // startingDate.setMinutes(startingDate.getMinutes() - 30);\n // startingDate = startingDate.getTime()\n const distance = startingDate - now; \n if (distance > 0) {\n this.daysPending = true\n this.days = Math.floor(distance / (1000 * 60 * 60 * 24));\n this.hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n this.minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n } else {\n this.daysRemaining = 0;\n this.daysPending = false\n }\n\n }\n\n ngOnDestroy(): void {\n }\n\n getRedirectUrlData(contentData: any) {\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { HttpClient } from '@angular/common/http'\n\nconst urls = {\n DOWNLOAD_CERTIFICATE: (id: string) => `certreg/v2/certs/download/${id}`,\n DOWNLOAD_CERTIFICATE_v2: (id: string) => `apis/protected/v8/cohorts/course/batch/cert/download/${id}`,\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class CertificateService {\n\n constructor(private http: HttpClient) { }\n downloadCertificate(id: string): Observable<any> {\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE(id))\n }\n\n downloadCertificate_v2(id: string): Observable<any> {\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE_v2(id))\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core'\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'\nimport { TranslateService } from '@ngx-translate/core'\nimport { EventService, MultilingualTranslationsService, WsEvents } from '@sunbird-cb/utils-v2'\nimport { jsPDF } from 'jspdf'\n\n@Component({\n selector: 'sb-uic-certificate-dialog',\n templateUrl: './certificate-dialog.component.html',\n styleUrls: ['./certificate-dialog.component.scss'],\n /* tslint:disable */\n host: { class: 'certificate-inner-dialog-panel' },\n /* tslint:enable */\n})\nexport class CertificateDialogComponent implements OnInit {\n url!: string\n navUrl = ''\n environment: any\n constructor(\n @Inject('environment') environment: any,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n public dialogRef: MatDialogRef<CertificateDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.environment = environment\n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n this.url = this.data.cet\n // tslint:disable-next-line:max-line-length\n this.navUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${this.environment.contentHost}/apis/public/v8/cert/download/${this.data.certId}`\n }\n\n downloadCert() {\n this.raiseIntreactTelemetry('svg')\n const a: any = document.createElement('a')\n a.href = this.data.cet\n a.download = 'Certificate'\n document.body.appendChild(a)\n a.style = 'display: none'\n a.click()\n a.remove()\n }\n\n downloadCertPng() {\n this.raiseIntreactTelemetry('png')\n const uriData = this.data.cet\n const img = new Image()\n img.src = uriData\n img.width = 1820\n img.height = 1000\n img.onload = () => {\n const canvas = document.createElement('canvas');\n [canvas.width, canvas.height] = [img.width, img.height]\n const ctx = canvas.getContext('2d')\n if (ctx) {\n // ctx.imageSmoothingEnabled = true\n ctx.drawImage(img, 0, 0, img.width, img.height)\n const a = document.createElement('a')\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\n a.href = canvas.toDataURL('image/png', quality)\n a.download = 'Certificate'\n a.append(canvas)\n a.click()\n a.remove()\n }\n }\n }\n async downloadCertPdf() {\n this.raiseIntreactTelemetry('pdf')\n const uriData = this.data.cet\n const img = new Image()\n img.src = uriData\n img.width = 1820\n img.height = 1000\n img.onload = () => {\n const canvas = document.createElement('canvas');\n [canvas.width, canvas.height] = [img.width, img.height]\n const ctx = canvas.getContext('2d')\n if (ctx) {\n ctx.drawImage(img, 0, 0, img.width, img.height)\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\n const dataImg = canvas.toDataURL('application/pdf', quality)\n const pdf = new jsPDF('landscape', 'px', 'a4')\n\n // add the image to the PDF\n pdf.addImage(dataImg, 10, 20, 600, 350)\n\n // download the PDF\n pdf.save('Certificate.pdf')\n }\n }\n }\n\n shareCert() {\n this.raiseShareIntreactTelemetry('share')\n return window.open(this.navUrl, '_blank')\n }\n\n raiseShareIntreactTelemetry(type?: string, action?: string) {\n this.events.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n id: `${type}-${WsEvents.EnumInteractSubTypes.CERTIFICATE}`,\n subType: action && action,\n },\n {\n id: this.data.certId, // id of the certificate\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n }\n )\n }\n\n raiseIntreactTelemetry(action?: string) {\n this.events.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n id: 'download-certificate',\n subType: action && action,\n },\n {\n id: this.data.certId, // id of the certificate\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n }\n )\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatDialog, MatSnackBar } from '@angular/material'\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { ConfigurationsService, EventService, WsEvents } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { CertificateService } from '../../../_services/certificate.service';\nimport { CertificateDialogComponent } from '../../dialog-components/certificate-dialog/certificate-dialog.component';\n\n@Component({\n selector: 'sb-uic-card-progress-portrait-lib',\n templateUrl: './card-progress-portrait-lib.component.html',\n styleUrls: ['./card-progress-portrait-lib.component.scss']\n})\nexport class CardProgressPortraitLibComponent implements OnInit {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n downloadCertificateLoading: boolean = false\n\n constructor(\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n private events: EventService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n private certificateService: CertificateService,\n private dialog: MatDialog,\n ) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n\n translateLabels(label: string, type: any, subtype?: any) {\n return this.langtranslations.translateLabelWithoutspace(label, type, subtype)\n }\n raiseTelemetry() {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: `${this.widgetType}-${this.widgetSubType}`,\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n },\n {\n id: this.widgetData.content.identifier,\n type: this.widgetData.content.primaryCategory,\n //context: this.widgetData.context,\n rollup: {},\n ver: `${this.widgetData.content.version}${''}`,\n },\n {\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n module: _.camelCase(this.widgetData.content.primaryCategory),\n })\n }\n\n downloadCertificate(certificateData: any) {\n this.events.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n id: 'view-certificate',\n subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n },\n {\n id: certificateData.issuedCertificates[0].identifier, // id of the certificate\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n })\n if(certificateData.issuedCertificates.length > 0) {\n this.downloadCertificateLoading = true\n let certData: any = certificateData.issuedCertificates[0]\n this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((res: any)=>{\n this.downloadCertificateLoading = false\n const cet = res.result.printUri\n this.dialog.open(CertificateDialogComponent, {\n width: '1300px',\n data: { cet, certId: certData.identifier },\n })\n })\n } else {\n this.downloadCertificateLoading = false\n }\n }\n\n}\n","import { Component, HostBinding, Input, OnChanges } from '@angular/core'\n\n@Component({\n selector: 'sb-uic-content-progress',\n templateUrl: './content-progress.component.html',\n styleUrls: ['./content-progress.component.scss'],\n /* tslint:disable */\n host: {\n // Sets the role for this component to \"progressbar\"\n role: 'progressbar',\n // Sets the minimum and maximum values for the progressbar role.\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n 'title': 'progres',\n // Binding that updates the current value of the progressbar.\n '[attr.aria-valuenow]': 'progress',\n },\n /* tslint:enable */\n})\nexport class ContentProgressComponent implements OnChanges {\n @Input()\n contentId = ''\n\n @Input()\n progress = 0\n\n @Input()\n progressType = ''\n\n @Input()\n forPreview = false\n\n @Input()\n className = ''\n @Input()\n customClassName: any = 'accent-progress'\n\n rendom = Math.random()\n @HostBinding('id')\n public id = `progress_${Math.random()}`\n constructor(\n // private progressSvc: ContentProgressService\n ) {\n if (this.contentId) {\n this.id = this.contentId\n }\n }\n\n ngOnChanges() {\n if (this.contentId && !this.progress && !this.forPreview) {\n // this.progressSvc.getProgressFor(this.contentId).subscribe(data => {\n // this.progress = data\n // if (this.progress) {\n // this.progress = Math.round(this.progress * 10000) / 100\n // }\n // })\n }\n\n if (this.progress) {\n if (this.progressType === 'percentage') {\n this.progress = this.progress\n } else {\n this.progress = Math.round(this.progress * 10000) / 100\n }\n }\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ContentProgressComponent } from './content-progress.component'\nimport { MatProgressBarModule, MatTooltipModule } from '@angular/material'\n\n@NgModule({\n declarations: [ContentProgressComponent],\n imports: [\n CommonModule,\n MatProgressBarModule,\n MatTooltipModule,\n ],\n exports: [ContentProgressComponent],\n})\nexport class ContentProgressModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CertificateDialogComponent } from './certificate-dialog/certificate-dialog.component';\nimport { MatCardModule, MatDialogModule, MatIconModule, MatMenuModule } from '@angular/material';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { HttpClient } from '@angular/common/http';\nimport { PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';\n\n\n\n@NgModule({\n declarations: [\n CertificateDialogComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule,\n MatCardModule,\n MatIconModule,\n MatDialogModule,\n PipeSafeSanitizerModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports:[\n CertificateDialogComponent\n ],\n entryComponents: [CertificateDialogComponent],\n})\nexport class DialogComponentsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'sb-uic-card-mdo-channel-v1',\n templateUrl: './card-mdo-channel-v1.component.html',\n styleUrls: ['./card-mdo-channel-v1.component.scss']\n})\nexport class CardMdoChannelV1Component implements OnInit {\n @Input() widgetData!: NsContent.IContent;\n @Output() channelData = new EventEmitter<any>()\n @Output() emitTelemetry = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n public router: Router) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n raiseTelemetry(contentData: any) {\n this.emitTelemetry.emit(contentData)\n if (this.widgetData) {\n contentData['typeOfTelemetry'] = 'mdo-channel'\n }\n this.contSvc.changeTelemetryData(contentData)\n }\n channelClick(channeldata:any) {\n this.channelData.emit(channeldata)\n }\n\n redirectTo(content: any) {\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\n }\n\n}\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'\n\n@Component({\n selector: 'sb-uic-avatar-photo',\n templateUrl: './avatar-photo-lib.component.html',\n styleUrls: ['./avatar-photo-lib.component.scss'],\n})\nexport class AvatarPhotoLibComponent implements OnInit, OnChanges {\n @Input() datalen: any\n\n @Input()\n public photoUrl!: string\n\n @Input()\n public name!: string\n @Input() public size = ''\n @Input() public defaulfColor = ''\n @Input() randomColor = false\n @Input() initials?: string\n @Input() showBadge = false\n public showInitials = false\n public circleColor!: string\n random = Math.random().toString(36).slice(2)\n\n // public initials!: string\n\n private colors = [\n '#EB7181', // red\n '#306933', // green\n '#000000', // black\n '#3670B2', // blue\n '#4E9E87',\n '#7E4C8D',\n ]\n\n private randomcolors = [\n '#EB7181', // red\n '#006400', // green\n '#000000', // black\n '#3670B2', // blue\n '#4E9E87',\n '#7E4C8D',\n ]\n\n ngOnInit() {\n if (!this.photoUrl) {\n this.showInitials = true\n if (!this.initials) {\n this.createInititals()\n }\n if (this.datalen === 1) {\n if(this.defaulfColor) {\n this.randomcolors = [\n this.defaulfColor\n ]\n } else {\n this.randomcolors = [\n '#006400', // green\n ]\n }\n }\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\n this.circleColor = this.colors[randomIndex]\n if (this.randomColor) {\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomcolors.length))\n this.circleColor = this.randomcolors[randomIndex1]\n }\n }\n\n }\n ngOnChanges(change: SimpleChanges) {\n if (change.name.currentValue !== change.name.previousValue && !change.name.firstChange) {\n this.createInititals()\n }\n }\n get userInitials() {\n return this.initials\n }\n private createInititals(): void {\n let initials = ''\n const array = `${this.name} `.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < this.name.length; i += 1) {\n if (this.name.charAt(i) === ' ') {\n continue\n }\n\n if (this.name.charAt(i) === this.name.charAt(i)) {\n initials += this.name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n this.initials = initials.toUpperCase()\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\nimport { MatButtonModule, MatIconModule, MatMenuModule, MatRippleModule } from '@angular/material'\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2'\nimport { AvatarPhotoLibComponent } from './avatar-photo-lib.component'\n\n@NgModule({\n declarations: [AvatarPhotoLibComponent],\n imports: [\n CommonModule,\n RouterModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n MatRippleModule,\n SbUiResolverModule,\n ],\n exports: [AvatarPhotoLibComponent],\n entryComponents: [AvatarPhotoLibComponent],\n})\nexport class AvatarPhotoLibModule { }\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule, MatCardModule, MatIconModule, MatProgressSpinnerModule, MatTooltipModule } from '@angular/material';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CardResourceComponent } from './card-resource/card-resource.component';\r\nimport { CardsComponent } from './cards.component';\r\nimport { CardPortraitComponent } from './card-portrait/card-portrait.component';\r\nimport { PipePublicURLModule } from '../../_pipes/pipe-public-URL/pipe-public-URL.module';\r\nimport { ObjectToArrayPipeModule } from '../../_pipes/object-to-array/object-to-array.pipe.module';\r\nimport { DisplayContentTypeLibModule } from '../display-content-type-lib/display-content-type-lib.module';\r\nimport { DefaultThumbnailModule } from '../../_directives/default-thumbnail/default-thumbnail.module';\r\nimport { PipeDurationTransformModule } from '../../_pipes/pipe-duration-transform/pipe-duration-transform.module';\r\nimport { CardUserComponent } from './card-user/card-user.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { CardLandscapeComponent } from './card-landscape/card-landscape.component';\r\nimport { CardWideComponent } from './card-wide/card-wide.component';\r\nimport { CardMDOChannelComponent } from './card-mdo-channel/card-mdo-channel.component';\r\nimport { CardWideV2Component } from './card-wide-v2/card-wide-v2.component';\r\nimport { CardKarmaProgramsComponent } from './card-karma-programs/card-karma-programs.component';\r\nimport { CardKarmaProgramsV2Component } from './card-karma-programs-v2/card-karma-programs-v2.component';\r\nimport { ProviderCardComponent } from './provider-card/provider-card.component';\r\nimport { CardPortraitExtComponent } from './card-portrait-ext/card-portrait-ext.component';\r\nimport { CardAssessmentComponent } from './card-assessment/card-assessment/card-assessment.component';\r\nimport { CardProgressPortraitLibComponent } from './card-progress-portrait-lib/card-progress-portrait-lib.component';\r\n// import { ContentProgressComponent } from './content-progress/content-progress.component';\r\nimport { ContentProgressModule } from './../content-progress/content-progress.module';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DialogComponentsModule } from '../dialog-components/dialog-components.module';\r\nimport { CardMdoChannelV1Component } from './card-mdo-channel-v1/card-mdo-channel-v1.component';\r\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CardResourceComponent,\r\n CardsComponent,CardPortraitComponent,\r\n CardUserComponent,\r\n CardLandscapeComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n ProviderCardComponent,\r\n CardPortraitExtComponent,\r\n CardAssessmentComponent,\r\n CardProgressPortraitLibComponent,\r\n CardMdoChannelV1Component\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n PipePublicURLModule,\r\n ObjectToArrayPipeModule,\r\n DisplayContentTypeLibModule,\r\n DefaultThumbnailModule,\r\n PipeDurationTransformModule,\r\n SkeletonLoaderLibModule,\r\n MatProgressSpinnerModule,\r\n ContentProgressModule,\r\n DialogComponentsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n AvatarPhotoLibModule\r\n ],\r\n entryComponents:[CardsComponent],\r\n exports: [\r\n CardsComponent,\r\n CardResourceComponent,\r\n CardPortraitComponent, \r\n CardLandscapeComponent,\r\n CardUserComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n CardPortraitExtComponent,\r\n ],\r\n})\r\nexport class CardsModule { }\r\n","import { NsWidgetResolver } from '@sunbird-cb/resolver-v2'\nimport { ROOT_WIDGET_CONFIG } from './consumption.config'\n// Components\nimport { CardsComponent } from './_common/cards/cards.component'\nimport { CardsModule } from './_common/cards/cards.module'\n\n\nexport const WIDGET_REGISTERED_LIB_MODULES = [\n CardsModule\n]\n\nexport const WIDGET_REGISTRATION_LIB_CONFIG: NsWidgetResolver.IRegistrationConfig[] = [\n {\n widgetType: ROOT_WIDGET_CONFIG.card._type,\n widgetSubType: ROOT_WIDGET_CONFIG.card.cardResource,\n component: CardsComponent,\n }\n]\n","import { NsWidgetResolver } from '@sunbird-cb/resolver-v2';\nimport { NSSearch } from '../../../_models/widget-search.model';\nimport { NsContent } from '../../../_models/widget-content.model';\nimport { NsCardContent } from '../../../_models/card-content.model';\n\nexport namespace NsContentStripWithFacets {\n export interface IContentStripMultiple {\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n loader?: boolean;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n strips: IContentStripUnit[];\n isChannelStrip?: boolean;\n }\n export interface IContentStripUnit {\n stripRequestFor?: string;\n onTabClickRequest?: boolean;\n hideViewMoreUrl?: boolean;\n type: string;\n disableTranslate?: any;\n key: string;\n title: string;\n customeClass?: string;\n nodataMsg?: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean,\n dotsAlign?: \"right\" | \"left\",\n arrowsPlacement?: \"bottom-right\" | \"bottom-center\" | \"bottom-left\" | \"middle-inline\",\n responsive?: {\n showNavs: boolean,\n showDots: boolean,\n dotsAlign?: \"right\" | \"left\",\n arrowsPlacement?: \"bottom-right\" | \"bottom-center\" | \"bottom-left\" | \"middle-inline\",\n };\n };\n tabs?: NsContentStripWithFacets.IContentStripTab[] | undefined;\n titleDescription?: string;\n name?: string;\n mode?: string |'accordion';\n info?: IStripInfo;\n logo?: string;\n preWidgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n postWidgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripConfig?: IStripConfig;\n canHideStrip?: boolean;\n showStrip: boolean;\n filters?: any[];\n selectAll?: boolean | null;\n request?: {\n requestBody: any\n playlistRead: any;\n playlistSearch?: any;\n ciosContent?:any;\n search?: NSSearch.ISearchRequest\n searchV6?: NSSearch.ISearchV6Request\n topContent?: any\n featureContent?: any\n bookmarkRead?: any\n enrollmentList?: any\n cbpList?: any,\n apiUrl: string\n searchRegionRecommendation?: NSSearch.ISearchOrgRegionRecommendationRequest\n api?: IStripRequestApi\n networkApi?: INetworkRequestApi\n ids?: string[]\n recommendedCourses?: any,\n masterCompetency?: any\n trendingSearch?: any\n };\n searchV6Type?: 'KB' | 'Collections' | 'searchQuery' | null;\n stripBackground?: string;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n loader?: boolean;\n loaderWidgets?: any;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n refreshEvent?: Record<'eventType' | 'from', string>;\n fetchLikes?: boolean;\n secondaryHeading?: any;\n viewMoreUrl?: {\n queryParams?: any\n viewMoreText: string\n path: string\n };\n data?: [];\n }\n\n export interface IStripRequestApi {\n path: string;\n queryParams?: {\n pageNo?: number\n pageSize?: number\n pageState?: string\n sourceFields?: string\n };\n }\n export interface INetworkRequestApi {\n path: string;\n data?: any;\n }\n export interface IStripInfo {\n mode: 'below' | 'popup' | 'modal';\n visibilityMode?: 'hidden' | 'visible';\n icon: {\n icon: string\n scale: number\n style?: any // added for UI\n };\n widget: NsWidgetResolver.IRenderConfigWithAnyData;\n }\n interface IStripConfig {\n // card subType key is used to determine the content Card display type\n cardSubType: NsCardContent.TCardSubType;\n // to show view more card for a search strip\n postCardForSearch?: boolean;\n intranetMode?: 'greyOut' | 'hide';\n deletedMode?: 'greyOut' | 'hide';\n contentTags?: IContentTags;\n hideShowAll?: boolean;\n }\n\n export interface IContentTags {\n daysSpan?: number;\n excludeContentType?: NsContent.EContentTypes[];\n excludeMimeType?: string[];\n tag: string;\n criteriaField: string;\n }\n export interface IContentStripResponseApi {\n contents: NsContent.IContent[];\n hasMore?: boolean;\n pageState?: string;\n totalHits?: number;\n }\n\n export interface IContentStripTab {\n pillsData?: any;\n label: string;\n value: string;\n showTabDataCount: boolean;\n requestRequired?: boolean;\n computeDataOnClick?: boolean;\n computeDataOnClickKey?: string;\n request?: any;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n maxWidgets?: number;\n fetchTabStatus?: string;\n nodataMsg?: string;\n tabLoading?: boolean;\n facets?: any;\n }\n\n \n}\n\nexport enum ApiRequestFor {\n SEARCH= 'search'\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsContentStripWithFacets, ApiRequestFor } from './content-strip-facet-filter.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { NsContent } from '../../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n WsEvents,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NsCardContent } from '../../../_models/card-content-v2.model';\nimport { ITodayEvents } from '../../../_models/event';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder } from '@angular/forms';\n\ninterface IStripUnitContentData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n hideViewMoreUrl?: boolean;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabs?: NsContentStripWithFacets.IContentStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsContentStripWithFacets.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n request?: any\n \n}\n\n\n@Component({\n selector: 'sb-uic-content-strip-facet-filter',\n templateUrl: './content-strip-facet-filter.component.html',\n styleUrls: ['./content-strip-facet-filter.component.scss']\n})\nexport class ContentStripFacetFilterComponent extends WidgetBaseComponent\nimplements\nOnInit,\nOnDestroy,\nNsWidgetResolver.IWidgetData<NsContentStripWithFacets.IContentStripMultiple> {\n @Input() widgetData!: NsContentStripWithFacets.IContentStripMultiple;\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() viewAllResponse = new EventEmitter<any>()\n @Output() telemtryLearningContentResponse = new EventEmitter<any>()\n @Input() providerId : any = ''\n @Input() emitViewAll : boolean = false\n @Input() channnelName: any = ''\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n enrollInterval: any;\n todaysEvents: any = [];\n facetForm: any\n constructor(\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n public router: Router,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private _fb: FormBuilder\n ) {\n super();\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en');\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n this.environment = environment\n }\n ngOnDestroy(): void {\n \n }\n\n ngOnInit() {\n this.initData();\n // this.contentSvc.telemetryData$.subscribe((data: any) => {\n // this.telemtryLearningContentResponse.emit(data)\n // })\n this.facetForm = this._fb.group({\n org: ['0']\n })\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n if (this.checkForEmptyWidget(strip)) {\n this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n \n private fetchStripFromRequestData(\n strip: NsContentStripWithFacets.IContentStripUnit,\n calculateParentStatus = true,\n ) {\n // setting initial values\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\n this.processStrip(strip, [], 'fetching', false, null);\n if(strip && strip.stripRequestFor === ApiRequestFor.SEARCH && !strip.onTabClickRequest) {\n this.fetchFromSearch(strip, calculateParentStatus);\n }\n }\n\n private transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n private async processStrip(\n strip: NsContentStripWithFacets.IContentStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsContentStripWithFacets.IContentStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n hideViewMoreUrl:strip.hideViewMoreUrl || false,\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsContentStripWithFacets.IContentStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.requestBody && Object.keys(strip.request.requestBody).length))\n ) {\n return true;\n }\n return false;\n }\n // strip settings\n toggleInfo(data: IStripUnitContentData) {\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\n if (stripInfo) {\n if (stripInfo.mode !== 'below') {\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\n stripInfo.mode = 'below';\n }\n if (stripInfo.mode === 'below') {\n this.stripsResultDataMap[data.key].stripInfo = {\n ...stripInfo,\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\n };\n }\n }\n }\n\n raiseTelemetry(stripData: any){\n this.telemtryLearningContentResponse.emit(stripData)\n }\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n // selected pills data\n getSelectedPillIndex(tabdata: any, tabIndex: any) {\n if(tabdata.pillsData && tabdata.pillsData.length) {\n let index = tabdata.pillsData.findIndex((pill: any) => {\n return pill.selected\n });\n return index\n }\n return 0\n }\n\n getdata(data: IStripUnitContentData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, pillIndex: any, stripMap: IStripUnitContentData, stripKey: string) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const data: WsEvents.ITelemetryTabData = {\n label: `${tabEvent.tab.textLabel}`,\n index: tabEvent.index,\n };\n this.eventSvc.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n subType: 'explore-learning-content',\n id: `${_.camelCase(data.label)}-tab`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.HOME,\n }\n );\n\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n if (currentPillFromMap.request.searchV6) {\n // this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, currentTabFromMap, true);\n }\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n this.resetFilter(stripMap, tabEvent.index ,pillIndex)\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabEvent.index].pillsData)\n stripMap.tabs[tabEvent.index].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n }\n }\n\n pillClicked(event: any, stripMap: IStripUnitContentData, stripKey: any, pillIndex: any, tabIndex: any) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentPillFromMap.request.searchV6) {\n // this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n } else if (currentPillFromMap.request.trendingSearch) {\n // this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n }\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // }\n\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n this.resetFilter(stripMap, tabIndex ,pillIndex)\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n }\n }\n\n resetSelectedPill(pillData: any){\n if(pillData && pillData.length){\n pillData.forEach((pill: any) => {\n pill['selected'] = false\n });\n }\n }\n\n getTabDataByfilter(\n strip: NsContentStripWithFacets.IContentStripUnit,\n currentTab: NsContentStripWithFacets.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n // tslint:disable:no-console\n console.log('strip -- ', strip);\n // tslint:disable:no-console\n console.log('currentTab -- ', currentTab);\n // tslint:disable:no-console\n console.log('calculateParentStatus-- ', calculateParentStatus);\n // TODO: Write logic for individual filter if passed in config\n // add switch case based on config key passed\n }\n\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n // translate labes\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\n if(this.emitViewAll) {\n this.viewAllResponse.emit(stripData)\n } else {\n this.router.navigate([path], { queryParams: queryParamsData })\n }\n }\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n getContineuLearningLenth(data: IStripUnitContentData) {\n return data.widgets ? data.widgets.length : 0;\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n checkCondition(wData: NsContentStripWithFacets.IContentStripMultiple, data: IStripUnitContentData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitContentData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n return returnValue;\n }\n\n getLength(data: IStripUnitContentData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n let tabWithMaxWidgets: any = {}\n data.tabs.forEach((tab: any)=>{\n if(tab.pillsData && tab.pillsData.length){\n tabWithMaxWidgets = tab.pillsData.reduce(\n (prev: any, current: any) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n\n }\n })\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n isStripShowing(data: any) {\n let count = 0;\n \n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n // console.log('data.key', data, data.key, data.widgets);\n return data.showStrip;\n }\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n\n\n // search api with facets\n async postRequestMethod(strip: NsContentStripWithFacets.IContentStripUnit,\n request: NsContentStripWithFacets.IContentStripUnit['request'],\n apiUrl: string,\n calculateParentStatus: boolean\n ): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.postApiMethod(apiUrl, request).subscribe(results => {\n if (results.result && results.result.content) {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n }\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n async fetchFromSearch(strip: NsContentStripWithFacets.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && Object.keys(strip.request.requestBody).length) {\n try {\n const response = await this.postRequestMethod(strip, strip.request.requestBody, strip.request.apiUrl, calculateParentStatus);\n let tabIndex=0\n let pillIndex= 0\n if (response.results && response.results.result && response.results.result.content && response.results.result.content.length > 0) {\n this.mapAllDataWithFacets(strip, response.results.result.content, response.results.result.facets, calculateParentStatus)\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n // if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n // const allTabs = this.stripsResultDataMap[strip.key].tabs;\n // const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n // this.resetSelectedPill(allPills)\n // if (allTabs && allTabs.length && allTabs[tabIndex]) {\n // if(allPills && allPills.length && allPills[pillIndex]){\n // allPills[pillIndex] = {\n // ...allPills[pillIndex],\n // widgets,\n // fetchTabStatus: 'done',\n // selected: true\n // };\n // }\n // allTabs[tabIndex] = {\n // ...allTabs[tabIndex],\n // widgets,\n // fetchTabStatus: 'done',\n // };\n // tabResults = allTabs;\n // }\n // }\n // this.processStrip(\n // strip,\n // widgets,\n // 'done',\n // calculateParentStatus,\n // response.viewMoreUrl,\n // tabResults // tabResults as widgets\n // );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n \n }\n }\n\n mapAllDataWithFacets(strip :any, content : any, facets:any, calculateParentStatus: any) {\n console.log(strip, content)\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n let facet: any = []\n allTabs.forEach((ele: any)=> {\n ele['fetchTabStatus']= 'done'\n let filteredData = content.filter((contEle: any) => contEle.nlwUserExp.includes(ele.value))\n // filteredData.forEach(element => {\n // facet = [...facet,..._.difference(element.nlwOrgs ,facet)];\n // });\n ele['widgets'] = filteredData\n ele.pillsData.forEach((pill: any) => {\n if(pill.value === 'all') {\n pill['widgets'] = this.transformContentsToWidgets(filteredData, strip);\n pill['fetchTabStatus']= 'done'\n } else if(pill.value === 'course') {\n let contentFilteredData = filteredData.filter((contEle: any) => contEle.courseCategory.toLowerCase() === pill.value)\n pill['widgets'] = this.transformContentsToWidgets(contentFilteredData, strip);\n pill['fetchTabStatus']= 'done'\n } else {\n let contentFilteredData = filteredData.filter((contEle: any) => contEle.courseCategory.toLowerCase() !== 'course')\n pill['widgets'] = this.transformContentsToWidgets(contentFilteredData, strip);\n pill['fetchTabStatus']= 'done'\n }\n })\n\n // ele['facets'] = [{\n // name:'nlwOrgs',\n // values: facet\n // }]\n ele['facets'] = facets\n })\n strip.tabs[0].pillsData[0].fetchTabStatus = 'done';\n strip.tabs[0].pillsData[0].tabLoading = false;\n strip.showOnLoader = false;\n this.resetSelectedPill(strip.tabs[0].pillsData)\n strip.tabs[0].pillsData[0]['selected']=true\n this.processStrip(\n strip,\n [],\n 'done',\n calculateParentStatus,\n strip.viewMoreUrl,\n allTabs // tabResults as widgets\n );\n }\n\n private transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithFacets.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n getorgData(eventData: any, stripMap: any, tabIndex: any) {\n console.log(eventData)\n let selectedValue = eventData.target.value\n let pillIndex: any = this.getSelectedPillIndex(stripMap.tabs[tabIndex], tabIndex)\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n let returnedValues = stripMap.tabs[tabIndex].widgets.filter((ele: any) => {\n var words = ele.nlwOrgs.map(v => v.toLowerCase());\n return words.includes(selectedValue)\n })\n stripMap.tabs[tabIndex].pillsData[pillIndex]['widgets'] = this.transformContentsToWidgets(returnedValues, stripMap);\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n\n resetFilter(stripMap: any, tabIndex: any, pillIndex: any) {\n // let selectedValue = eventData.target.value\n if(pillIndex) {\n pillIndex = this.getSelectedPillIndex(stripMap.tabs[tabIndex], tabIndex)\n }\n this.facetForm.reset({\n org: 0\n });\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n // let returnedValues = stripMap.tabs[tabIndex].widgets.filter((ele: any) => {\n // var words = ele.nlwOrgs.map(v => v.toLowerCase());\n // return words.includes(selectedValue)\n // })\n let contentData: any = stripMap.tabs[tabIndex].widgets || []\n stripMap.tabs[tabIndex].pillsData[pillIndex]['widgets'] = this.transformContentsToWidgets(contentData, stripMap);\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsContentStripWithTabsAndPills } from './content-strip-with-tabs-pills.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { NsContent } from '../../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n WsEvents,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NsCardContent } from '../../../_models/card-content-v2.model';\nimport { ITodayEvents } from '../../../_models/event';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\ninterface IStripUnitContentData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabs?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsContentStripWithTabsAndPills.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n request?: any\n \n}\n\n\n@Component({\n selector: 'sb-uic-content-strip-with-tabs-pills',\n templateUrl: './content-strip-with-tabs-pills.component.html',\n styleUrls: ['./content-strip-with-tabs-pills.component.scss']\n})\nexport class ContentStripWithTabsPillsComponent extends WidgetBaseComponent\nimplements\nOnInit,\nOnDestroy,\nNsWidgetResolver.IWidgetData<NsContentStripWithTabsAndPills.IContentStripMultiple> {\n @Input() widgetData!: NsContentStripWithTabsAndPills.IContentStripMultiple;\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() viewAllResponse = new EventEmitter<any>()\n @Output() telemtryResponse = new EventEmitter<any>()\n @Input() providerId : any = ''\n @Input() emitViewAll : boolean = false\n @Input() channnelName: any = ''\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n enrollInterval: any;\n todaysEvents: any = [];\n\n constructor(\n // private contentStripSvc: ContentStripNewMultipleService,\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n // private http: HttpClient,\n // private searchServSvc: SearchServService,\n public router: Router,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService\n ) {\n super();\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en');\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n this.environment = environment\n }\n\n ngOnInit() {\n // const url = window.location.href\n this.initData();\n this.contentSvc.telemetryData$.subscribe((data: any) => {\n this.telemtryResponse.emit(data)\n })\n\n \n }\n\n ngOnDestroy() {\n if (this.changeEventSubscription) {\n this.changeEventSubscription.unsubscribe();\n }\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n if (this.checkForEmptyWidget(strip)) {\n this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n\n isStripShowing(data: any) {\n let count = 0;\n \n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n // console.log('data.key', data, data.key, data.widgets);\n return data.showStrip;\n }\n\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n getdata(data: IStripUnitContentData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n checkCondition(wData: NsContentStripWithTabsAndPills.IContentStripMultiple, data: IStripUnitContentData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitContentData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getContineuLearningLenth(data: IStripUnitContentData) {\n return data.widgets ? data.widgets.length : 0;\n }\n getLength(data: IStripUnitContentData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n let tabWithMaxWidgets: any = {}\n data.tabs.forEach((tab: any)=>{\n if(tab.pillsData && tab.pillsData.length){\n tabWithMaxWidgets = tab.pillsData.reduce(\n (prev: any, current: any) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n\n }\n })\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n\n private getFiltersFromArray(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n private transformSearchV6FiltersV2(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n checkForDateFilters(filters: any) {\n let userData: any;\n if (this.configSvc.userProfile) {\n userData = this.configSvc.userProfile;\n }\n\n if (filters && filters.hasOwnProperty('batches.endDate')) {\n // tslint:disable-next-line\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\n // tslint:disable-next-line\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\n } else if (filters.organisation &&\n filters.organisation.indexOf('<orgID>') >= 0\n ) {\n if(this.providerId) {\n filters.organisation = this.providerId;\n } else {\n filters.organisation = userData && userData.rootOrgId;\n\n if (filters && filters.hasOwnProperty('designation')) {\n filters.designation = userData.professionalDetails.length > 0 ?\n userData.professionalDetails[0].designation : '';\n }\n }\n \n }\n return filters;\n }\n\n private fetchStripFromRequestData(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n calculateParentStatus = true,\n ) {\n // setting initial values\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\n this.processStrip(strip, [], 'fetching', false, null);\n this.fetchFromSearchV6(strip, calculateParentStatus);\n this.fetchForYouData(strip, calculateParentStatus)\n this.fetchAllCbpPlans(strip, calculateParentStatus);\n \n // this.enrollInterval = setInterval(() => {\n // this.fetchAllCbpPlans(strip, calculateParentStatus)\n // }, 1000)\n }\n\n toggleInfo(data: IStripUnitContentData) {\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\n if (stripInfo) {\n if (stripInfo.mode !== 'below') {\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\n stripInfo.mode = 'below';\n }\n if (stripInfo.mode === 'below') {\n this.stripsResultDataMap[data.key].stripInfo = {\n ...stripInfo,\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\n };\n }\n }\n }\n\n private transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n private transformEventsToWidgets(\n contents: ITodayEvents[],\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n ) {\n this.eventSvc.setEventListData(contents);\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n private transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n private async processStrip(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsContentStripWithTabsAndPills.IContentStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.api && Object.keys(strip.request.api).length) ||\n (strip.request.search && Object.keys(strip.request.search).length) ||\n (strip.request.searchRegionRecommendation &&\n Object.keys(strip.request.searchRegionRecommendation).length) ||\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\n (strip && strip.tabs.length)\n )\n ) {\n return true;\n }\n return false;\n }\n\n\n getTabDataByfilter(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n // tslint:disable:no-console\n console.log('strip -- ', strip);\n // tslint:disable:no-console\n console.log('currentTab -- ', currentTab);\n // tslint:disable:no-console\n console.log('calculateParentStatus-- ', calculateParentStatus);\n // TODO: Write logic for individual filter if passed in config\n // add switch case based on config key passed\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n return returnValue;\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n raiseTelemetry(stripData: any){\n this.telemtryResponse.emit(stripData)\n }\n\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\n if(this.emitViewAll) {\n this.viewAllResponse.emit(stripData)\n } else {\n this.router.navigate([path], { queryParams: queryParamsData })\n }\n }\n\n // new code writting from here====new====\n\n fetchForYouData(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\n if (strip && strip.type === 'forYou') {\n if (strip.tabs && strip.tabs.length) {\n const firstTab = strip.tabs[0];\n const pillData = firstTab.pillsData[0]\n if (pillData.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allPills = this.stripsResultDataMap[strip.key].tabs[0].pillsData;\n const currenPillsFromMap = (allPills && allPills.length && allPills[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\n this.getTabDataByNewReqTrending(strip, 0, 0, currenPillsFromMap, calculateParentStatus);\n if (this.stripsResultDataMap[strip.key] && currenPillsFromMap) {\n this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams,\n key:strip.key,\n tabSelected: firstTab.value,\n pillSelected: pillData.value,\n };\n }\n }\n }\n \n }\n }\n }\n\n async fetchFromSearchV6(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\n // if (this.configSvc.activeLocale) {\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\n // } else {\n // strip.request.searchV6.locale = ['en']\n // }\n // }\n let originalFilters: any = [];\n // tslint:disable:no-console\n if (strip.request &&\n strip.request.searchV6 &&\n strip.request.searchV6.request &&\n strip.request.searchV6.request.filters) {\n originalFilters = strip.request.searchV6.request.filters;\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\n strip.request.searchV6.request.filters,\n );\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\n\n this.getTabDataByNewReqSearchV6(strip, 0, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content) {\n \n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n \n \n } else if (response.results.result.Event) {\n this.processStrip(\n strip,\n this.transformEventsToWidgets(response.results.result.Event, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n async getTabDataByNewReqTrending(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n tabIndex: number,\n pillIndex: number,\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\n let tabResults: any[] = [];\n if (response && response.results && response.results.response) {\n const content = response.results.response[currentTab.value] || [];\n const widgets = this.transformContentsToWidgets(content, strip);\n \n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n this.resetSelectedPill(allPills)\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n if(allPills && allPills.length && allPills[pillIndex]){\n allPills[pillIndex] = {\n ...allPills[pillIndex],\n widgets,\n fetchTabStatus: 'done',\n selected: true\n };\n }\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n this.resetSelectedPill(allPills)\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n if(allPills && allPills.length && allPills[pillIndex]){\n allPills[pillIndex] = {\n ...allPills[pillIndex],\n widgets:[],\n fetchTabStatus: 'done',\n selected: true\n };\n }\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets:[],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n\n async getTabDataByNewReqSearchV6(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n tabIndex: number,\n pillIndex: number,\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\n if (response && response.results) {\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n this.resetSelectedPill(allPills)\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n if(allPills && allPills.length && allPills[pillIndex]){\n allPills[pillIndex] = {\n ...allPills[pillIndex],\n widgets,\n fetchTabStatus: 'done',\n selected: true\n };\n }\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n async trendingSearchRequest(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.trendingSearch) {\n // check for the request if it has dynamic values]\n if (request.trendingSearch.request.filters.organisation &&\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\n ) {\n let userRootOrgId;\n if (this.configSvc.userProfile) {\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\n }\n request.trendingSearch.request.filters.organisation = userRootOrgId;\n }\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\n const showViewMore = Boolean(\n results.result &&\n strip.request &&\n results.result[strip.request.trendingSearch.responseKey] &&\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\n strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.trendingSearch &&\n request.trendingSearch.request &&\n request.trendingSearch.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n\n let proccesedResult: any = []\n if (results && results.response && results.response.certifications) {\n results.response.certifications.map((result: any) => {\n if (result.source === this.channnelName) {\n proccesedResult.push(result)\n }\n })\n results = {response: {certifications: proccesedResult}}\n }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n if (error.error && error.error.status === 400) {\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\n reject(error);\n },);\n }\n });\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, pillIndex: any, stripMap: IStripUnitContentData, stripKey: string) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const data: WsEvents.ITelemetryTabData = {\n label: `${tabEvent.tab.textLabel}`,\n index: tabEvent.index,\n };\n this.eventSvc.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\n id: `${_.camelCase(data.label)}-tab`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.HOME,\n }\n );\n\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentPillFromMap.request.searchV6) {\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\n } else if (currentPillFromMap.request.trendingSearch) {\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\n }\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // }\n\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n } else {\n // this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n // setTimeout(() => {\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\n // stripMap.showOnLoader = false;\n // }\n // }, 200);\n }\n }\n }\n\n pillClicked(event: any, stripMap: IStripUnitContentData, stripKey: any, pillIndex: any, tabIndex: any) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentPillFromMap.request.searchV6) {\n this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n } else if (currentPillFromMap.request.trendingSearch) {\n this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n }\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // }\n\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n }\n }\n\n async searchV6Request(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.searchV6) {\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.searchV6 &&\n request.searchV6.request &&\n request.searchV6.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\n // }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n\n getSelectedPillIndex(tabdata: any, tabIndex: any) {\n if(tabdata.pillsData && tabdata.pillsData.length) {\n let index = tabdata.pillsData.findIndex((pill: any) => {\n return pill.selected\n });\n return index\n }\n return 0\n }\n\n\n\n\n\n // cbp plans\n\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\n\n let courses: NsContent.IContent[];\n let tabResults: any[] = [];\n let userId = this.configSvc.userProfile.userId\n const response = await this.userSvc.fetchCbpPlanList(userId).toPromise();\n if (response) {\n courses = response;\n if (strip.tabs && strip.tabs.length) {\n tabResults = this.splitCbpTabsData(courses, strip);\n let countOfWidget = true\n if(strip && strip.tabs && strip.tabs.length) {\n strip.tabs.forEach((tab:any)=> {\n if(tab.pillsData && tab.pillsData.length) {\n tab.pillsData.forEach((pill: any) => {\n if(pill && pill.widgets && pill.widgets.length){\n if(countOfWidget){\n pill.selected = true\n countOfWidget= false\n }\n }\n });\n }\n })\n }\n await this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n '',\n tabResults\n );\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n 'viewMoreUrl',\n );\n }\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n '',\n tabResults\n );\n }\n clearInterval(this.enrollInterval);\n }\n }\n\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\n let tabResults: any[] = [];\n const splitData = this.getTabsList(\n contentNew,\n strip,\n );\n if (strip.tabs && strip.tabs.length) {\n for (let i = 0; i < strip.tabs.length; i += 1) {\n if( strip.tabs[i].value === \"myIgotPlans\") {\n let checkWidgetAndActivePill = true\n if (strip.tabs[i].pillsData && strip.tabs[i].pillsData.length) {\n for (let j = 0; j < strip.tabs[i].pillsData.length; j += 1) {\n // if(j === 0 ){\n // if(strip.tabs[i].pillsData[j].widgets && strip.tabs[i].pillsData[j].widgets.length ) {\n // strip.tabs[i].pillsData[j].selected = true\n // checkWidgetAndActivePill = false\n // }\n // strip.tabs[i].pillsData[j].selected = true\n // }\n if (strip.tabs[i].pillsData[j]) {\n tabResults.push(\n {\n ...strip.tabs[i].pillsData[j],\n fetchTabStatus: 'done',\n ...(splitData.find(itmInner => {\n if (strip.tabs[i].pillsData&& strip.tabs[i].pillsData[j] && itmInner.value === strip.tabs[i].pillsData[j].value) {\n return itmInner;\n }\n return undefined;\n })),\n }\n );\n }\n }\n strip.tabs[i].pillsData = tabResults\n }\n }\n }\n }\n \n return strip.tabs;\n }\n\n getTabsList(array: NsContent.IContent[],\n strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\n let all: any[] = [];\n let upcoming: any[] = [];\n let overdue: any[] = [];\n array.forEach((e: any) => {\n all.push(e);\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n overdue.push(e);\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\n upcoming.push(e);\n }\n });\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\n\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\n\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\n\n overdue = overdue.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n\n overdue = overdue.sort((a: any, b: any): any => {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n });\n\n upcoming = upcoming.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n \n return [\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\n { value: 'completed', widgets: this.transformContentsToWidgets(allCompleted, strip) },\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\n }\n resetSelectedPill(pillData: any){\n if(pillData && pillData.length){\n pillData.forEach((pill: any) => {\n pill['selected'] = false\n });\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { HorizontalScrollerV2Module } from '../../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { ContentStripWithTabsPillsComponent } from './content-strip-with-tabs-pills.component';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\n\n// tslint:disable-next-line:function-name\nexport function HttpLoaderFactory1(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [ContentStripWithTabsPillsComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory1,\n deps: [HttpClient],\n },\n }),\n ],\n entryComponents: [ContentStripWithTabsPillsComponent],\n exports: [ContentStripWithTabsPillsComponent],\n})\nexport class ContentStripWithTabsPillsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { HorizontalScrollerV2Module } from '../../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { ContentStripFacetFilterComponent } from './content-strip-facet-filter.component';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\nimport { HttpLoaderFactory1 } from '../content-strip-with-tabs-pills/content-strip-with-tabs-pills.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n\n@NgModule({\n declarations: [ContentStripFacetFilterComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory1,\n deps: [HttpClient],\n },\n }),\n ],\n entryComponents: [ContentStripFacetFilterComponent],\n exports: [ContentStripFacetFilterComponent],\n})\nexport class ContentStripFacetFilterModule { }\n","import { Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { Observable } from 'rxjs'\n\nconst API_POINTS = {\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\n COMPETENCY_LIST_V2: `apis/proxies/v8/searchBy/v2/competency`,\n CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,\n}\n\n@Injectable({ providedIn: 'root' })\n\nexport class CompetencyPassbookService {\n // tslint: disable-next-line: whitespace\n constructor(private http: HttpClient) { }\n getCompetencyList(payload: any): Observable<any> {\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\n }\n getCompetencyListv_V2(): Observable<any> {\n return this.http.get(API_POINTS.COMPETENCY_LIST_V2)\n }\n\n fetchCertificate(certId: string): Observable<any> {\n return this.http.get(API_POINTS.CERTIFICATE_URL + certId)\n }\n}\n","\nimport { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { CompetencyPassbookService } from './competency-passbook.service';\nimport { Router } from '@angular/router';\nimport { NsCompentency } from '../../_models/compentencies.model'\n\n@Component({\n selector: 'sb-uic-competency-passbook',\n templateUrl: './competency-passbook.component.html',\n styleUrls: ['./competency-passbook.component.scss']\n})\nexport class CompetencyPassbookComponent implements OnInit {\n\n @Input() objectData: any\n @Input() providerId: any\n @Input() cardDisplayCount: any = 3\n @Input() dynamicClass: any\n @Input() dynamicColor: any\n @Input() dynamicAlignPills: any = 'center'\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() temeletryResponse = new EventEmitter<any>()\n loadCometency: boolean = false\n loadCompetencyArea: boolean = false\n originalCompetencyArray: any\n competencyArea: any []\n selectedValue: any;\n competencyVersion:string = ''\n competencyTheme: any = []\n allcompetencyTheme: any ={}\n competencyStrength: any = 0\n competencyThemeLength: any = 6\n showAllTheme : any = [{name:'Show all', showAll: false}]\n environment!: any;\n comeptencyKeys: NsCompentency.CompentencyKeys;\n // subTheme = ['Behavioural']\n // currentFilter = 'Behavioural'\n // currentCompetencies: any = []\n // competencyData: any\n constructor(public configSvc: ConfigurationsService,\n public contentSvc:WidgetContentLibService,\n public competencySvc: CompetencyPassbookService,\n public router : Router,\n @Inject('environment') environment: any,\n ) { \n this.environment = environment\n }\n\n \n ngOnInit() {\n this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey]\n \n this.getAllCompetencies()\n // this.competencyData = this.objectData\n // this.filter(this.currentFilter)\n }\n // filter(filterValue: string) {\n // this.currentFilter = filterValue\n // this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)\n // }\n showMore() {\n this.objectData.viewMore = !this.objectData.viewMore\n }\n\n // to get competency area from facets\n async getCompetencyArea(){\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n this.loadCompetencyArea = true\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addfilter,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n this.competencyStrength = 0\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n response.results.result.facets.forEach((fact: any) => {\n\n if(fact.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`) {\n this.competencyArea = fact.values\n }\n });\n this.selectedValue = this.competencyArea[0].name.toLowerCase()\n this.competencyArea.forEach(async (area: any, indexValue: any)=> {\n let addFilter = {\n \"createdFor\": [\n this.providerId\n ]\n }\n let data = await this.getcompetencyThemeCount(area, addFilter)\n area['themeData'] = data\n area['count'] = data.length\n\n this.competencyStrength = this.competencyStrength + data.length\n if(indexValue === 0) {\n \n this.getThemeDataByArea(area)\n }\n })\n this.loadCompetencyArea = false\n }\n }\n } catch (error) {\n this.loadCompetencyArea = false\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n async callCompetencySearch(request){\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.searchV6(request).subscribe(results => {\n resolve({ results });\n },(error: any) => {\n reject(error);\n },\n );\n }\n });\n }\n\n // competency theam change\n competencyChange(e){\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n\n this.temeletryResponse.emit(e.name)\n \n this.getThemeDataByArea(e)\n this.selectedValue = e.name\n }\n getAllCompetencies(){\n this.loadCometency = true\n this.competencySvc.getCompetencyListv_V2().subscribe((response: any) => {\n this.allcompetencyTheme = {}\n if(response && response.result && response.result.content) {\n this.originalCompetencyArray = response.result.content\n this.getCompetencyArea()\n response.result.content.forEach(element => {\n element.children.forEach((childEle) => {\n let name = childEle.name.toLowerCase()\n this.allcompetencyTheme[name] = childEle\n this.allcompetencyTheme[name]['viewMore'] = false\n });\n });\n }\n this.loadCometency = false\n })\n }\n\n async getcompetencyTheme(value: any,addFilter?: any) {\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addFilter,\n [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`] : value,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n this.loadCometency = true\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n let competencyThemeData : any = response.results.result.facets[0].values \n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === value) {\n this.competencyTheme = competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n this.resetViewMore()\n }\n this.loadCometency = false\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n getThemeDataByArea(areaData: any){\n let competencyThemeData : any = areaData.themeData\n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === areaData.name) {\n this.competencyTheme = competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n this.getcompetencySubTheme(areaData,addfilter)\n }\n\n async getcompetencyThemeCount(area: any,addFilter?: any) {\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addFilter,\n [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`] : area.name,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n let returnedData : any = \n this.loadCometency = true\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n let competencyThemeData : any = response.results.result.facets[0].values \n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === area.name) {\n returnedData = competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n }\n this.loadCometency = false\n return returnedData\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n resetViewMore(){\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\n this.allcompetencyTheme[comp]['viewMore'] = false\n })\n }\n viewMoreChildren(data: any) {\n data.viewMore = !data.viewMore\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\n }\n displayAllTheme(event: any) {\n this.showAllTheme[0]['showAll'] = !event.showAll \n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\n this.temeletryResponse.emit(event.name)\n }\n\n navigateToCompetency(compData: any){\n this.router.navigateByUrl(`/app/learn/browse-by/competency/${compData.name}`)\n }\n\n\n async getcompetencySubTheme(compArea: any,addFilter?: any) {\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addFilter,\n [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`] : compArea.name,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencySubTheme}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n this.loadCometency = true\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n let competencySubThemeData : any = response.results.result.facets[0].values \n this.competencyArea.forEach((areaEle: any) => {\n if(areaEle.name === compArea.name) {\n areaEle.themeData.forEach((themeEle) => {\n if(this.allcompetencyTheme[themeEle.name.toLowerCase()] &&\n this.allcompetencyTheme[themeEle.name.toLowerCase()].children && \n this.allcompetencyTheme[themeEle.name.toLowerCase()].children.length) {\n let data = this.allcompetencyTheme[themeEle.name.toLowerCase()].children.filter(obj1 => \n competencySubThemeData.some(obj2 => \n Object.keys(obj1).every(key => obj1['name'] === (obj2['name']))\n )\n );\n \n this.allcompetencyTheme[themeEle.name.toLowerCase()]['children'] = data\n }\n });\n }\n })\n }\n\n this.loadCometency = false\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-pills',\n templateUrl: './pills.component.html',\n styleUrls: ['./pills.component.scss']\n})\nexport class PillsComponent implements OnInit {\n\n @Input() pillsData: any\n @Input() selectedValue: any\n @Input() isLoading: boolean = false\n @Output() pillClick = new EventEmitter<any>()\n @Input() dynamicClass: any = ''\n @Input() dynamicColor: any = ''\n @Input() requiredTitlecase: boolean = true\n\n constructor() { }\n\n ngOnInit() {\n }\n selectedPill(pillData: any) {\n this.pillClick.emit(pillData)\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule } from '@angular/material';\nimport { PillsComponent } from './pills.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [PillsComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule\n ],\n exports: [PillsComponent]\n})\nexport class PillsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CompetencyPassbookComponent } from './competency-passbook.component';\nimport { MatIconModule } from '@angular/material';\nimport { PillsModule } from './../pills/pills.module';\nimport { CompetencyPassbookService } from './competency-passbook.service';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [CompetencyPassbookComponent],\n imports: [\n CommonModule,\n MatIconModule,\n PillsModule,\n SkeletonLoaderLibModule\n ],\n exports: [CompetencyPassbookComponent],\n providers:[CompetencyPassbookService]\n})\nexport class CompetencyPassbookModule { }\n","import { Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { Observable } from 'rxjs'\n\nconst API_POINTS = {\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\n competency_URL: `apis/proxies/v8/v1/search/competenciesByOrg/`,\n COMPETENCY_LIST_V2: `apis/proxies/v8/searchBy/v2/competency`,\n}\n\n@Injectable({ providedIn: 'root' })\n\nexport class CompetencyPassbookMdoService {\n // tslint: disable-next-line: whitespace\n constructor(private http: HttpClient) { }\n getCompetencyList(payload: any): Observable<any> {\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\n }\n getCompetencyListv_V2(): Observable<any> {\n return this.http.get(API_POINTS.COMPETENCY_LIST_V2)\n }\n mdoCompetency(providerId: string): Observable<any> {\n return this.http.get(API_POINTS.competency_URL + providerId)\n }\n}\n","import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\nimport { Router } from '@angular/router';\nimport { NsCompentency } from '../../_models/compentencies.model';\n@Component({\n selector: 'sb-uic-competency-passbook-mdo',\n templateUrl: './competency-passbook-mdo.component.html',\n styleUrls: ['./competency-passbook-mdo.component.scss']\n})\nexport class CompetencyPassbookMdoComponent implements OnInit {\n\n @Input() objectData: any\n @Input() providerId: any\n @Input() cardDisplayCount: any = 3\n @Input() dynamicClass: any\n @Input() dynamicColor: any\n @Input() dynamicAlignPills: any = 'center'\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() temeletryResponse = new EventEmitter<any>()\n loadCometency: boolean = false\n loadCompetencyArea: boolean = false\n originalCompetencyArray: any\n competencyArea: any []\n selectedValue: any = 'functional';\n competencyVersion:string = ''\n competencyThemeData: any\n competencyTheme: any = []\n allcompetencyTheme: any ={}\n competencyStrength: any = 0\n competencyThemeLength: any = 6\n showAllTheme : any = [{name:'Show all', showAll: false}]\n\n environment!: any;\n comeptencyKeys: NsCompentency.CompentencyKeys;\n \n // subTheme = ['Behavioural']\n // currentFilter = 'Behavioural'\n // currentCompetencies: any = []\n // competencyData: any\n constructor(public configSvc: ConfigurationsService,\n public contentSvc:WidgetContentLibService,\n public competencySvc: CompetencyPassbookMdoService,\n public router : Router,\n @Inject('environment') environment: any,\n\n ) {\n this.environment = environment\n }\n\n \n ngOnInit() {\n this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey]\n \n this.getAllCompetencies()\n }\n\n\n getAllCompetencies(){\n this.loadCometency = true\n let request = {\"search\":{\"type\":\"Competency Area\"},\"filter\":{\"isDetail\":true}}\n this.competencySvc.getCompetencyListv_V2().subscribe((response: any) => {\n this.allcompetencyTheme = {}\n if(response && response.result && response.result.content) {\n this.originalCompetencyArray = response.result.content\n this.getMdoCompetencies()\n // this.getCompetencyArea()\n response.result.content.forEach(element => {\n element.children.forEach((childEle) => {\n let name = childEle.name.toLowerCase()\n this.allcompetencyTheme[name] = childEle\n this.allcompetencyTheme[name]['viewMore'] = false\n });\n });\n }\n this.loadCometency = false\n })\n }\n \n\n\n async getMdoCompetencies(){\n try {\n this.loadCometency = true\n const response = await this.getMdoCompetency();\n if (response && response.results) {\n if(response.results.result.facets && response.results.result.facets.length){\n let facetData = response.results.result.facets\n facetData.forEach((facet: any) => {\n if(facet.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`) {\n this.competencyArea = facet.values\n this.selectedValue = facet.values[0].name\n } else if(facet.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`) {\n this.competencyThemeData = facet.values\n this.getCompetencyTheme()\n }\n });\n\n } else {\n this.emptyResponse.emit(true)\n }\n this.loadCometency = false\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n this.emptyResponse.emit(true)\n }\n }\n\n getCompetencyTheme(){\n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === this.selectedValue) {\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n } else if('Behavioral'.toLowerCase() === this.selectedValue) {\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n this.resetViewMore()\n }\n\n\n async getMdoCompetency(){\n return new Promise<any>((resolve, reject) => {\n if (this.providerId) {\n this.competencySvc.mdoCompetency(this.providerId).subscribe(results => {\n resolve({ results });\n },(error: any) => {\n reject(error);\n },\n );\n }\n });\n }\n\n // competency theam change\n competencyChange(e){\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n\n this.temeletryResponse.emit(e.name)\n this.selectedValue = e.name\n this.getCompetencyTheme()\n }\n\n\n\n resetViewMore(){\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\n this.allcompetencyTheme[comp]['viewMore'] = false\n })\n }\n viewMoreChildren(data: any) {\n data.viewMore = !data.viewMore\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\n }\n displayAllTheme(event: any) {\n this.showAllTheme[0]['showAll'] = !event.showAll \n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\n this.temeletryResponse.emit(event.name)\n }\n\n navigateToCompetency(compData: any){\n this.router.navigateByUrl(`app/learn/browse-by/competency/${compData.name}`)\n }\n\n showMore() {\n this.objectData.viewMore = !this.objectData.viewMore\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CompetencyPassbookMdoComponent } from './competency-passbook-mdo.component';\nimport { MatIconModule } from '@angular/material';\nimport { PillsModule } from './../pills/pills.module';\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [CompetencyPassbookMdoComponent],\n imports: [\n CommonModule,\n MatIconModule,\n PillsModule,\n SkeletonLoaderLibModule\n ],\n exports: [CompetencyPassbookMdoComponent],\n providers:[CompetencyPassbookMdoService]\n})\nexport class CompetencyPassbookMdoModule { }\n","import { Injectable } from '@angular/core'\nimport { Observable, of } from 'rxjs'\nimport { HttpClient } from '@angular/common/http'\nimport { NsAppRating } from '../_models/rating.model'\n\nconst PROXY_SLAG_V8 = '/apis/proxies/v8'\nconst API_END_POINTS = {\n GET_RATING: (contentId: string, contentType: string, userId: string) =>\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`,\n ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,\n GET_RATING_SUMMARY: (contentId: string, contentType: string) =>\n `${PROXY_SLAG_V8}/ratings/v1/summary/${contentId}/${contentType}`,\n GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,\n GET_AUTHOR_REPLY: (contentId: string, userID: string) =>\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`,\n POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,\n}\n\n@Injectable({\n providedIn: 'root',\n})\n\nexport class RatingService {\n\n constructor(public http: HttpClient) { }\n\n getRating(contentId: string, contentType: string, userId: string): Observable<any> {\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\n if (!forPreview) {\n return this.http.get<any>(\n API_END_POINTS.GET_RATING(contentId, contentType, userId)\n )\n }\n return of({})\n }\n\n addOrUpdateRating(req: NsAppRating.IRating): Observable<any> {\n return this.http.post<any>(\n API_END_POINTS.ADD_OR_UPDATE, req\n )\n }\n\n getRatingSummary(contentId: string, contentType: string): Observable<any> {\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\n if (!forPreview) {\n return this.http.get<any>(\n API_END_POINTS.GET_RATING_SUMMARY(contentId, contentType)\n )\n }\n return of({})\n }\n\n getRatingLookup(req: NsAppRating.ILookupRequest): Observable<any> {\n return this.http.post<any>(\n API_END_POINTS.GET_RATING_LOOKUP, req\n )\n }\n\n getRatingReply(req: any): Observable<any> {\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\n if (!forPreview) {\n return this.http.post<any>(\n API_END_POINTS.POST_AUTHOR_REPLY, req\n )\n }\n return of({})\n }\n\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\n if (avg) {\n const avgRating = avg\n const ratingFloor = Math.floor(avgRating)\n // const difference = avgRating - ratingIndex\n if (ratingIndex <= ratingFloor) {\n return 'star'\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\n return 'star_half'\n }\n }\n return 'star'\n }\n\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\n if (avg) {\n const avgRating = avg\n const ratingFloor = Math.floor(avgRating)\n if (ratingIndex <= ratingFloor) {\n return true\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\n return true\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 > 0.71) {\n return true\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 < 0.29) {\n return false\n }\n }\n return false\n }\n\n getAuthorReply(contentId: string, userID: string): Observable<any> {\n return this.http.get<any>(\n API_END_POINTS.GET_AUTHOR_REPLY(contentId, userID)\n )\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nconst API_END_POINTS = {\n TOP_REVIEWS: `/apis/proxies/v8/ratings/v1/topReviews`\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class UserContentRatingLibService {\n\n constructor(private http: HttpClient) { }\n fetchTopReviews(doId: any): Observable<any> {\n return this.http.get<any>(`${API_END_POINTS.TOP_REVIEWS}/${doId}`)\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { RatingService } from '../../_services/rating.service';\nimport { ScrollableItemDirective } from './../../_directives/scrollable-item/scrollable-item.directive';\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\n\n@Component({\n selector: 'sb-uic-user-content-rating',\n templateUrl: './user-content-rating-lib.component.html',\n styleUrls: ['./user-content-rating-lib.component.scss']\n})\nexport class UserContentRatingLibComponent implements OnInit {\n currentIndex: any =0\n @Input() providerId : any = ''\n @Input() formData : any = ''\n @Output() emptyResponse = new EventEmitter<any>()\n styleData: any = {} \n contentdata: any = []\n\n\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor(public ratingService: RatingService,\n public userRatingSvc: UserContentRatingLibService\n ) { }\n\n ngOnInit() {\n this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData\n this.getTopReviews();\n }\n\n getTopReviews() {\n this.contentdata = []\n this.userRatingSvc.fetchTopReviews(this.providerId).subscribe((response: any) => {\n if(response && response.result && response.result.content.length) {\n response.result.content.forEach((contentEle: any) => {\n let localData = {}\n localData['content'] = contentEle.contentInfo\n localData['rating'] = contentEle.rating\n localData['review'] = contentEle.review\n localData['userDetails'] = contentEle.userDetails\n localData['cardSubType'] = \"card-wide-lib\"\n localData['cardCustomeClass'] = \"\"\n this.contentdata.push(localData)\n });\n } else {\n this.emptyResponse.emit(true)\n }\n },(_error: any)=> {\n this.emptyResponse.emit(true)\n })\n }\n\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\n return this.ratingService.getRatingIcon(ratingIndex, avg)\n }\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\n return this.ratingService.getRatingIconClass(ratingIndex, avg)\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n this.handleScrollClick(indexValue)\n }\n\n handleScrollClick(dataValue: string) {\n const item = this.scrollableItems.find(x => x.key === dataValue)\n item.scrollIntoView(\"nearest\");\n }\n\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule } from '@angular/material';\nimport { UserContentRatingLibComponent } from './user-content-rating-lib.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { SlidersLibModule } from '../sliders/sliders.module';\nimport { RatingService } from '../../_services/rating.service';\nimport { CardsModule } from '../cards/cards.module';\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\n\n\n\n@NgModule({\n declarations: [UserContentRatingLibComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n SlidersLibModule,\n CardsModule,\n AvatarPhotoLibModule,\n SlidersNgContentLibModule,\n ScrollableItemModule\n ],\n exports: [UserContentRatingLibComponent],\n providers: [RatingService, UserContentRatingLibService],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class UserContentRatingLibModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-mdo-channel-v1',\n templateUrl: './mdo-channel-v1.component.html',\n styleUrls: ['./mdo-channel-v1.component.scss']\n})\nexport class MdoChannelV1Component implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, HostListener, Input, OnInit } from '@angular/core'\nimport { MatTabChangeEvent } from '@angular/material'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\n/* tslint:disable */\nimport * as _ from 'lodash'\nimport { TranslateService } from '@ngx-translate/core'\nimport { MultilingualTranslationsService } from '@sunbird-cb/utils-v2'\n\n@Component({\n selector: 'sb-uic-mdo-channel-v2',\n templateUrl: './mdo-channel-v2.component.html',\n styleUrls: ['./mdo-channel-v2.component.scss']\n})\nexport class MdoChannelV2Component implements OnInit {\n @Input() sectionList:any = []\n channnelName = ''\n orgId = ''\n selectedIndex = 0\n hideCompetencyBlock: boolean = false\n contentTabEmptyResponseCount: number = 0\n titles = [\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\n {\n title: `MDO Channels`,\n url: `/app/learn/mdo-channels/all-channels`,\n icon: '', disableTranslate: true,\n },\n ]\n showModal: boolean = false\n descriptionMaxLength = 500\n isTelemetryRaised: boolean = false\n stripWidth: any\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private eventSvc: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n ) { \n if (this.route.snapshot.data && this.route.snapshot.data.formData\n && this.route.snapshot.data.formData.data\n && this.route.snapshot.data.formData.data.result\n && this.route.snapshot.data.formData.data.result.form\n && this.route.snapshot.data.formData.data.result.form.data\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\n ) {\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\n }\n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n @HostListener('window:resize')\n onResize() {\n this.setWidth()\n }\n\n setWidth() {\n this.stripWidth = `${(window.innerWidth - 1200 + 135)/2}px`\n\n }\n\n ngOnInit() {\n this.route.params.subscribe(params => {\n this.channnelName = params['channel']\n this.orgId = params['orgId']\n this.titles.push({\n title: this.channnelName, icon: '', url: 'none', disableTranslate: true,\n })\n })\n this.setWidth()\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent) {\n this.raiseTelemetry(`${tabEvent.tab.textLabel} tab`)\n }\n hideContentStrip(event: any, colData: any) {\n if (event) {\n colData.contentStripData['hideSection'] = true\n this.contentTabEmptyResponseCount = this.contentTabEmptyResponseCount + 1\n // if(this.contentTabEmptyResponseCount === 4 ) {\n // this.selectedIndex = 1\n // }\n }\n }\n\n triggerOpenDialog(event: boolean) {\n if(event) {\n this.showModal = true\n document.body.style.overflow = 'hidden'\n }\n this.raiseTelemetry('btn open key annoucements')\n }\n\n onClose() {\n this.showModal = false\n document.body.style.overflow = 'auto'\n this.raiseTelemetry('btn close key annoucements')\n }\n\n raiseTelemetryInteratEvent(event: any) {\n if (event && event.viewMoreUrl) {\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\n }\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\n this.eventSvc.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'mdo-channel',\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\n },\n {\n id: event.identifier,\n type: event.primaryCategory,\n },\n {\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n this.isTelemetryRaised = true\n }\n }\n\n raiseCompetencyTelemetry(name: string) {\n this.raiseTelemetry(`${name} core expertise`)\n }\n\n raiseTelemetry(name: string) {\n this.eventSvc.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'mdo-channel',\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n }\n\n hideCompetency(event: any) {\n if (event) {\n this.hideCompetencyBlock = true\n }\n }\n\n showAllContent(_stripData: any, columnData: any) {\n if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {\n const stripData: any = _stripData\n let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || ''\n this.router.navigate(\n [`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`],\n { queryParams: { tabSelected, key: columnData.sectionKey } })\n }\n }\n\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\nimport { MdoChannelV1Component } from './mdo-channel-v1/mdo-channel-v1.component';\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\n\nimport {\n AnnouncementsModule,\n CardsModule,\n CommonMethodsService,\n CommonStripModule,\n CompetencyPassbookModule,\n CompetencyPassbookMdoModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n SlidersLibModule,\n HttpLoaderFactory,\n TopLearnersModule,\n CbpPlanModule,\n} from './../../../../public-api'\nimport { MdoChannelV2Component } from './mdo-channel-v2/mdo-channel-v2.component';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n declarations: [MdoChannelV1Component, MdoChannelV2Component],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n AnnouncementsModule,\n TopLearnersModule,\n CbpPlanModule,\n CardsModule,\n CommonStripModule,\n CompetencyPassbookModule,\n CompetencyPassbookMdoModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n SlidersLibModule,\n MatTabsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports: [MdoChannelV1Component, MdoChannelV2Component],\n providers:[\n CommonMethodsService],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class MDOChannelModule { }\n","import { DatePipe } from '@angular/common'\nimport { Component, Input, OnInit } from '@angular/core'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\nimport * as _ from 'lodash'\n\n@Component({\n selector: 'sb-uic-providers-v2',\n templateUrl: './providers-v2.component.html',\n styleUrls: ['./providers-v2.component.scss']\n})\nexport class ProvidersV2Component implements OnInit {\n\n @Input() sectionList:any = []\n providerName = ''\n providerId = ''\n navList: any\n hideCompetencyBlock = false\n // sectionList: any = []\n currentMonthAndYear: any\n titles = [\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\n { title: `All Providers`,\n url: `/app/learn/browse-by/provider/all-providers`,\n icon: '', disableTranslate: true,\n },\n ]\n\n descriptionMaxLength = 500\n isTelemetryRaised = false\n\n constructor(private route: ActivatedRoute,\n public router: Router, private datePipe: DatePipe, private events: EventService) {\n\n }\n\n ngOnInit() {\n if (this.route.snapshot.data && this.route.snapshot.data.formData\n && this.route.snapshot.data.formData.data\n && this.route.snapshot.data.formData.data.result\n && this.route.snapshot.data.formData.data.result.form\n && this.route.snapshot.data.formData.data.result.form.data\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\n ) {\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\n }\n this.route.params.subscribe(params => {\n this.providerName = params['provider']\n this.providerId = params['orgId']\n this.titles.push({\n title: this.providerName, icon: '', url: 'none', disableTranslate: true,\n })\n })\n this.getNavitems()\n this.currentMonthAndYear = this.datePipe.transform(new Date(), 'MMMM y')\n }\n\n getNavitems() {\n this.navList = this.sectionList.filter(\n (obj: any) => obj.enabled && obj.navigation && obj.navOrder).sort(\n (a: any, b: any) => a.navOrder - b.navOrder)\n }\n\n scrollToSection(name: string) {\n let section: HTMLElement | any\n section = document.getElementById(name)\n if (section) {\n // section.scrollIntoView({ behavior: 'smooth', block: 'start',inline: 'nearest', offsetTop: yOffset })\n window.scrollTo({\n top: section.offsetTop - 121,\n behavior: 'smooth',\n })\n }\n }\n hideCompetency(event: any, columnData: any) {\n if (event) {\n this.hideCompetencyBlock = true\n columnData['navigation'] = false\n columnData['enabled'] = false\n this.navList.forEach((navItem: any) => {\n navItem.column.forEach((colEle: any) => {\n if (colEle.key === columnData.key) {\n navItem['navigation'] = false\n }\n })\n })\n }\n }\n hideContentStrip(event: any, contentStripData: any) {\n if (event) {\n contentStripData.contentStrip['hideSection'] = true\n }\n }\n hideLearnerReview(event: any, learnerReview: any) {\n if (event) {\n learnerReview['hideSection'] = true\n }\n }\n\n showAllContent(_stripData: any, columnData: any) {\n if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {\n const stripData: any = _stripData\n let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || ''\n this.router.navigate(\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-content`],\n { queryParams: { pageDetails: true, tabSelected, key: columnData.sectionKey } })\n\n } else {\n this.router.navigate(\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`],\n { queryParams: { pageDetails: true } })\n }\n }\n\n raiseTelemetryInteratEvent(event: any) {\n if (event && event.viewMoreUrl) {\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\n }\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'ATI/CTI',\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\n },\n {\n id: event.identifier,\n type: event.primaryCategory,\n },\n {\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n this.isTelemetryRaised = true\n }\n }\n\n raiseCompetencyTelemetry(name: string) {\n this.raiseTelemetry(`${name} core expertise`)\n }\n\n raiseTelemetry(name: string) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'ATI/CTI',\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n }\n\n raiseNavTelemetry(name: string) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'ATI/CTI',\n id: `${_.kebabCase(name).toLocaleLowerCase()}-navigation`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\nimport {\n CalenderModule,\n CardsModule, \n CommonMethodsService, \n CommonStripModule, \n CompetencyPassbookModule, \n ContentStripWithTabsLibModule,\n DataPointsModule, \n HttpLoaderFactory, \n SlidersLibModule, \n UserContentRatingLibModule \n} from './../../../../public-api'\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ProvidersV2Component } from './providers-v2/providers-v2.component';\nimport { RouterModule } from '@angular/router';\n\n\n@NgModule({\n declarations: [ProvidersV2Component],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n CalenderModule,\n CardsModule,\n CommonStripModule,\n CompetencyPassbookModule,\n UserContentRatingLibModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n SlidersLibModule,\n MatTabsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports: [ProvidersV2Component],\n providers:[\n CommonMethodsService],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ProvidersModule { }\n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2';\nimport * as _ from 'lodash'\n\n@Component({\n selector: 'sb-uic-national-learning',\n templateUrl: './national-learning.component.html',\n styleUrls: ['./national-learning.component.scss']\n})\nexport class NationalLearningComponent implements OnInit {\n @Input() sectionList:any = []\n @Input() configDetails: any\n @Input() nwlConfiguration: any\n providerId: string = '123456789'\n providerName: ''\n descriptionMaxLength = 500\n environment: any\n constructor(@Inject('environment') environment: any,public router: Router, private events: EventService) {\n this.environment = environment\n }\n\n ngOnInit(): void {\n }\n\n\n hideKeyHightlight(event: any, learnerReview: any) {\n if (event) {\n learnerReview['hideSection'] = true\n }\n }\n\n showAllContent(_stripData: any, columnData: any) {\n if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {\n const stripData: any = _stripData\n let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || ''\n this.router.navigate(\n [`app/learn/karmayogi-saptah/see-all`],\n { queryParams: { pageDetails: true, tabSelected, key: columnData.sectionKey } })\n\n } else {\n this.router.navigate(\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`],\n { queryParams: { pageDetails: true } })\n }\n }\n\n hideContentStrip(event: any, contentStripData: any) {\n if (event) {\n contentStripData.contentStrip['hideSection'] = true\n }\n }\n\n raiseTabClick(event) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'mdo-leaderboard',\n id: `${event}-tab`,\n },\n {\n },\n {\n module: 'National Learning Week',\n }\n )\n }\n\n\n raiseTelemetryInteratEvent(event: any) {\n let _subType = 'mandatory-courses'\n let _id = 'mandatory-courses-card'\n if (event.typeOfTelemetry === 'learningContent') {\n _subType = 'explore-learning-content'\n _id = 'explore-learning-content-card'\n } \n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: _subType,\n id: _id,\n },\n {\n id: event.identifier,\n type: event.primaryCategory,\n },\n {\n pageIdExt: _id,\n module: 'National Learning Week',\n }\n )\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\n\n@Component({\n selector: 'sb-uic-key-highlights',\n templateUrl: './key-highlights.component.html',\n styleUrls: ['./key-highlights.component.scss']\n})\nexport class KeyHighlightsComponent implements OnInit {\n currentIndex: any = 0\n @Input() providerId : any = ''\n @Input() formData : any = ''\n @Input() mode: any\n @Output() emptyResponse = new EventEmitter<any>()\n titleMaxLength = 100\n\n styleData: any = {} \n contentdata: any = []\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor() { }\n\n ngOnInit() {\n this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData\n this.contentdata = this.formData && this.formData.content ? this.formData.content : []\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KeyHighlightsComponent } from './key-highlights.component';\nimport { MatIconModule } from '@angular/material';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\n\n\n\n@NgModule({\n declarations: [KeyHighlightsComponent],\n imports: [\n CommonModule,\n MatIconModule,\n SlidersNgContentLibModule,\n ScrollableItemModule\n ],\n exports: [\n KeyHighlightsComponent\n ],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class KeyHighlightsModule { }\n","import { Component, Input, OnInit } from '@angular/core'\nimport { InsiteDataService } from '../../_services/insite-data.service'\nimport * as moment_ from 'moment';\nconst moment = moment_;\n\n@Component({\n selector: 'sb-uic-events',\n templateUrl: './events.component.html',\n styleUrls: ['./events.component.scss']\n})\nexport class EventsComponent implements OnInit {\n\n @Input() object: any\n @Input() nwlEventsConfig: any\n daysBetween: any = []\n events: any = []\n requestBody: any\n currentDay: any\n loader: boolean = false\n constructor(public insightSvc: InsiteDataService) { }\n\n ngOnInit() {\n this.requestBody = {\n locale: [\n 'en',\n ],\n query: '',\n request: {\n query: '',\n filters: {\n status: ['Live'],\n contentType: 'Event',\n category: 'Event',\n startDate\t: {\n \">=\": '',\n \"<\": ''\n }\n },\n sort_by: {\n startDate: 'desc',\n },\n },\n }\n this.getEventsList()\n }\n getDaysBetweenDates() {\n let currentDate = moment(this.nwlEventsConfig.startDate, 'DD-MM-YYYY')\n const endDate = moment(this.nwlEventsConfig.endDate, 'DD-MM-YYYY')\n while (currentDate.isSameOrBefore(endDate)) {\n let localObj = {}\n localObj['startDate'] = currentDate.format('YYYY-MM-DD')\n localObj['diplayFormat'] = currentDate.format('MMM DD, YYYY')\n if(currentDate.isSame(moment(), 'day')){\n this.currentDay = currentDate.format('YYYY-MM-DD')\n }\n currentDate.add(1, 'days').format('YYYY-MM-DD')\n this.daysBetween.push(localObj)\n }\n console.log(\"currentDay \", this.currentDay)\n }\n\n getEvents(slectedDate: any) {\n this.currentDay = slectedDate.target.value\n let nextDay = moment(slectedDate.target.value, 'YYYY-MM-DD')\n nextDay.add(1, 'days')\n this.requestBody.request.filters.startDate[\">=\"] = this.currentDay\n this.requestBody.request.filters.startDate[\"<\"] = nextDay.format('YYYY-MM-DD')\n this.loader = true\n this.insightSvc.fetchTrainingDetails(this.requestBody).subscribe((res: any)=> {\n this.events = []\n if (res && res.result && res.result.count > 0) {\n\n this.events = this.sortItemByTime(res.result.Event)\n this.loader = false\n } else {\n this.loader = false\n }\n }, error => {\n this.loader = false\n })\n }\n\n getEventsList() {\n this.getDaysBetweenDates()\n let nextDay = moment(this.currentDay, 'YYYY-MM-DD')\n nextDay.add(1, 'days')\n this.requestBody.request.filters.startDate[\">=\"] = this.currentDay\n this.requestBody.request.filters.startDate[\"<\"] = nextDay.format('YYYY-MM-DD')\n this.loader = true\n this.insightSvc.fetchTrainingDetails(this.requestBody).subscribe((res: any)=> {\n this.events = []\n if (res && res.result && res.result.count > 0) {\n this.events = this.sortItemByTime(res.result.Event)\n this.loader = false\n } else {\n this.loader = false\n }\n }, error => {\n this.loader = false\n })\n }\n\n sortItemByTime(eventsdata: any) {\n return eventsdata.sort((a:any, b:any)=> {\n return (a.startTime === b.startTime)? 0 : b.startTime? -1 : 1;\n });\n }\n\n customDateFormat(date: any, time: any) {\n const stime = time.split('+')[0]\n const hour = stime.substr(0, 2)\n const min = stime.substr(2, 3)\n return `${date} ${hour}${min}`\n }\n\n}\n","import { Component, Inject, Input } from '@angular/core'\nimport { Router } from '@angular/router'\nimport * as moment_ from 'moment'\nconst moment = moment_\n\n@Component({\n selector: 'sb-uic-event-card',\n templateUrl: './event-card.component.html',\n styleUrls: ['./event-card.component.scss']\n})\nexport class EventCardComponent {\n\n @Input() objectData: any\n @Input() eventDetails: any\n environment!: any\n @Input() loader: any\n descriptionMaxLength: number = 50\n constructor(@Inject('environment') environment: any, private router: Router) {\n this.environment = environment\n }\n\n getEventDate(event: any) {\n let timeString = event.startTime.split(\":\")\n let dataString = `${moment(event.startDate).format('MMM DD, YYYY')} ${timeString[0]}:${timeString[1]}`\n return dataString\n }\n\n getPublicUrl(url: string): string {\n const mainUrl = url.split('/content').pop() || ''\n return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\n }\n\n redirectTo(event: any) {\n this.router.navigate([\"/app/event-hub/home/\", event.identifier]);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EventsComponent } from './events.component';\nimport { EventCardComponent } from './event-card/event-card.component';\nimport { RouterModule } from '@angular/router';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { MatIconModule } from '@angular/material';\n\n\n\n@NgModule({\n declarations: [EventsComponent, EventCardComponent],\n imports: [\n CommonModule,\n RouterModule,\n SkeletonLoaderLibModule,\n MatIconModule\n ],\n exports: [EventsComponent, EventCardComponent]\n})\nexport class EventsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-mdo-leaderboard',\n templateUrl: './mdo-leaderboard.component.html',\n styleUrls: ['./mdo-leaderboard.component.scss']\n})\nexport class MdoLeaderboardComponent implements OnInit {\n\n currentTab: any = 'XL'\n result: any = []\n filteredData: any\n searchTerm: string = ''\n expand: boolean = true\n\n @Input() object: any\n @Output() tabClicked = new EventEmitter<any>()\n constructor(private insiteDataService: InsiteDataService) { }\n\n ngOnInit() {\n this.getData()\n }\n\n getData() {\n this.insiteDataService.fetchLeaderboard().subscribe((res: any) => {\n if (res && res.result) {\n this.result = res.result\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab) \n .map(user => ({ ...user, children: [], selected: false })).slice(0, 5)\n }\n \n }, error => {\n console.log(error)\n })\n }\n\n getTabData(name: any) {\n this.currentTab = name\n this.searchTerm = ''\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab) \n .map(user => ({ ...user, children: [], selected: false })).slice(0, 5)\n let nameStr: any = ''\n switch (name) {\n case 'XL':\n nameStr = 'greater-than-50K'\n break\n case 'L':\n nameStr = '10K-50K'\n break\n case 'M':\n nameStr = '1K-10K'\n break\n case 'S':\n nameStr = '500-1K'\n break\n default:\n nameStr = 'less-than-500'\n break\n }\n this.tabClicked.emit(nameStr)\n }\n\n getRank(rank: number) {\n return [1,2,3].includes(rank) ? `rank${rank}` : 'rank0'\n }\n\n getMedal(rank: number) {\n if (rank === 1) {\n return 'assets/images/national-learning/Medal1.svg'\n } else if(rank === 2) {\n return 'assets/images/national-learning/Medal2.svg'\n } else {\n return 'assets/images/national-learning/Medal3.svg'\n }\n }\n\n handleSearchQuery(e: any) {\n if (e.target.value && e.target.value.length > 0) {\n this.searchTerm = e.target.value\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab && user.org_name.toLowerCase().includes(e.target.value))\n .map(user => ({ ...user, children: []})).slice(0, 5)\n } else {\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab)\n .map(user => ({ ...user, children: []})).slice(0, 5)\n }\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdoLeaderboardComponent } from './mdo-leaderboard.component';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { FormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [MdoLeaderboardComponent],\n imports: [\n CommonModule,\n MatIconModule,\n SkeletonLoaderLibModule,\n FormsModule,\n MatTooltipModule\n ],\n exports: [\n MdoLeaderboardComponent\n ],\n providers: [InsiteDataService]\n})\nexport class MdoLeaderboardModule { }\n","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\n\n@Component({\n selector: 'sb-uic-highlights-of-week',\n templateUrl: './highlights-of-week.component.html',\n styleUrls: ['./highlights-of-week.component.scss']\n})\nexport class HighlightsOfWeekComponent implements OnInit {\n\n @Input() objectData: any\n currentIndex = 0\n contentdata: any = []\n styleData: any = {}\n expand: boolean = true\n \n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor() { }\n\n ngOnInit() {\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\n if (this.objectData && this.objectData.list) {\n this.objectData.list.forEach((contentEle: any) => {\n let localData = {}\n localData['title'] = contentEle.title\n localData['videoUrl'] = contentEle.videoUrl\n localData['cardSubType'] = \"card-wide-lib\"\n localData['description'] = contentEle.description\n this.contentdata.push(localData)\n })\n }\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\nimport { HighlightsOfWeekComponent } from './highlights-of-week.component';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\n\n\n\n@NgModule({\n declarations: [HighlightsOfWeekComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatTooltipModule,\n ScrollableItemModule,\n SlidersNgContentLibModule\n ],\n exports: [\n HighlightsOfWeekComponent\n ]\n})\nexport class HighlightsOfWeekModule { }\n","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-speakers',\n templateUrl: './speakers.component.html',\n styleUrls: ['./speakers.component.scss']\n})\nexport class SpeakersComponent implements OnInit {\n @Input() objectData: any\n currentIndex = 0\n contentdata: any = []\n styleData: any = {}\n expand: boolean = true\n \n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n\n constructor(private route: Router) { }\n\n ngOnInit() {\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\n if (this.objectData && this.objectData.list) {\n this.objectData.list.forEach((contentEle: any) => {\n let localData = {}\n localData['name'] = contentEle.title\n localData['cardSubType'] = \"card-wide-lib\"\n localData['description'] = contentEle.description\n localData['initial'] = this.createInititals(contentEle.title)\n localData['profileImage'] = contentEle.profileImage ? contentEle.profileImage : ''\n localData['identifier'] = contentEle.identifier ? contentEle.identifier : ''\n this.contentdata.push(localData)\n })\n }\n }\n\n createInititals(name: string) {\n let initials = ''\n const array = name.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < name.length; i += 1) {\n if (name.charAt(i) === ' ') {\n continue\n }\n if (name.charAt(i) === name.charAt(i)) {\n initials += name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n return initials.toUpperCase()\n }\n \n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n goToEvent(eventData:any) {\n if(eventData && eventData.identifier){\n this.route.navigateByUrl(`/app/event-hub/home/${eventData.identifier}`)\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SpeakersComponent } from './speakers.component';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\n\n\n\n@NgModule({\n declarations: [SpeakersComponent],\n imports: [\n CommonModule,\n ScrollableItemModule,\n SlidersNgContentLibModule,\n MatTooltipModule,\n MatIconModule,\n ],\n exports: [\n SpeakersComponent\n ]\n})\nexport class SpeakersModule { }\n","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\nimport { ConfigurationsService } from '@sunbird-cb/utils-v2';\n\n@Component({\n selector: 'sb-uic-user-progress',\n templateUrl: './user-progress.component.html',\n styleUrls: ['./user-progress.component.scss']\n})\nexport class UserProgressComponent implements OnInit {\n\n @Input() objectData: any\n @Input() rootOrgId: any\n insitesData = []\n currentIndex = 0\n styleData: any = {}\n userProgress: any = {}\n expand: boolean = true\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor(public insightSvc: InsiteDataService, private configSvc: ConfigurationsService,\n ) { }\n\n ngOnInit() {\n this.styleData = this.objectData.insights.data.sliderData.styleData\n this.getUserProgress()\n this.getInsightsData()\n }\n\n getUserProgress() {\n this.insightSvc.fetchUserProgress().subscribe((res: any) => {\n if(res && res.result && res.result.userLeaderBoard) {\n this.userProgress = res.result.userLeaderBoard\n if (!this.userProgress.fullname && this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.firstName) {\n this.userProgress['fullname'] = this.configSvc.userProfile.firstName\n this.userProgress['profile_image'] = this.configSvc.userProfile.profileImageUrl\n }\n }\n }, error => {\n this.userProgress['fullname'] = this.configSvc.userProfile.firstName\n this.userProgress['profile_image'] = this.configSvc.userProfile.profileImageUrl\n })\n }\n getInsightsData() {\n const request = {\n request: {\n filters: {\n primaryCategory: 'programs',\n organisations: [\n 'across',\n this.rootOrgId,\n //\"01390354700029132834\"\n ],\n },\n },\n }\n this.insightSvc.fetchInsightsData(request).subscribe((res: any) => {\n if (res && res.result && res.result.response && res.result.response.nudges) {\n this.insitesData = res.result.response.nudges\n this.insitesData = this.insitesData.map((obj: any) => {\n return {...obj, cardSubType: 'card-wide-lib'}\n })\n }\n })\n }\n\n roundTo(number: any) {\n return Math.round(number * 100 /100)\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n createInititals(name: string) {\n let initials = ''\n const array = name.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < name.length; i += 1) {\n if (name.charAt(i) === ' ') {\n continue\n }\n if (name.charAt(i) === name.charAt(i)) {\n initials += name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n return initials.toUpperCase()\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserProgressComponent } from './user-progress.component';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\n\n\n\n@NgModule({\n declarations: [UserProgressComponent],\n imports: [\n CommonModule,\n MatTooltipModule,\n MatIconModule,\n ScrollableItemModule,\n SlidersNgContentLibModule,\n ],\n exports: [\n UserProgressComponent\n ]\n})\nexport class UserProgressModule { }\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { NationalLearningComponent } from './national-learning/national-learning.component';\nimport { CommonMethodsService } from '../../../_services/common-methods.service';\nimport { SlidersLibModule } from '../../sliders/sliders.module';\nimport { KeyHighlightsModule } from '../../key-highlights/key-highlights.module';\nimport { ContentStripWithTabsLibModule } from '../../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { EventsModule } from '../../events/events.module';\nimport { MdoLeaderboardModule } from '../../mdo-leaderboard/mdo-leaderboard.module';\nimport { DataPointsModule } from '../../data-points/data-points.module';\nimport { HighlightsOfWeekModule } from '../../highlights-of-week/highlights-of-week.module';\nimport { SpeakersModule } from '../../speakers/speakers.module';\nimport { UserProgressModule } from '../../user-progress/user-progress.module';\nimport { ContentStripFacetFilterModule } from '../../strips/content-strip-facet-filter/content-strip-facet-filter.module';\n\n\n\n@NgModule({\n declarations: [NationalLearningComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n SlidersLibModule,\n MatTabsModule,\n KeyHighlightsModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n EventsModule,\n MdoLeaderboardModule,\n HighlightsOfWeekModule,\n SpeakersModule,\n UserProgressModule,\n ContentStripFacetFilterModule\n ],\n exports: [\n NationalLearningComponent,\n ],\n providers:[\n CommonMethodsService\n ],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class NationalLearningModule { }\n"],"names":["Injectable","Component","EventEmitter","fromEvent","debounceTime","throttleTime","timer","ValueService","Input","Output","ViewChild","NgModule","CommonModule","MatButtonModule","MatIconModule","MatProgressSpinnerModule","throwError","catchError","HttpHeaders","map","Observable","lodash.uniqBy","lodash.orderBy","Inject","HttpClient","moment_","PROTECTED_SLAG_V8","API_END_POINTS","BehaviorSubject","Subject","of","shareReplay","retry","EMPTY","_.get","ConfigurationsService","ReplaySubject","TranslateService","tslib_1.__extends","tslib_1.__values","filter","WsEvents","_.camelCase","LoggerService","EventService","UtilityService","Router","HostBinding","WidgetBaseComponent","TranslateHttpLoader","SbUiResolverModule","RouterModule","MatToolbarModule","MatTooltipModule","MatListModule","MatSidenavModule","MatCardModule","MatExpansionModule","MatRadioModule","MatChipsModule","MatInputModule","MatFormFieldModule","MatDialogModule","MatSnackBarModule","MatSelectModule","MatDatepickerModule","MatNativeDateModule","MatTableModule","MatCheckboxModule","MatButtonToggleModule","MatTabsModule","MatAutocompleteModule","TranslateModule","TranslateLoader","interval","distinctUntilChanged","Directive","BreakpointObserver","HostListener","HammerGestureConfig","HAMMER_GESTURE_CONFIG","FormsModule","ReactiveFormsModule","DatePipe","CUSTOM_ELEMENTS_SCHEMA","moment","ElementRef","ViewChildren","MyHammerConfig","NsCardContent","MatSnackBar","Pipe","duration","moment.duration","moment.utc","MultilingualTranslationsService","jsPDF","MatDialogRef","MAT_DIALOG_DATA","MatDialog","MatProgressBarModule","MatMenuModule","PipeSafeSanitizerModule","MatRippleModule","IStripUnitContentData","FormBuilder","API_POINTS","_.kebabCase","ActivatedRoute"],"mappings":";;;;;;;;IAAA;IACA;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC7C,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;IAClD,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;AAED,IAAO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;;AAED,IAAO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC;IACjB,CAAC;;;;;;ACzND;QAOE;SAAiB;;oBALlBA,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;iCAJD;KAEA;;;;;;ACFA;QAaE;SAAiB;;;;QAEjB,uCAAQ;;;QAAR;SACC;;oBAdFC,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,QAAQ,EAAE,mDAIT;qBAEF;;;;QAQD,2BAAC;KAhBD;;;;;;ACFA;QA6CE,uCAAoB,QAAsB;YAAtB,aAAQ,GAAR,QAAQ,CAAc;YAzBjC,eAAU,GAAiB,UAAU,CAAC;YACtC,OAAE,GAAW,EAAE,CAAC;YAChB,YAAO,GAAG,KAAK,CAAC;YAChB,iBAAY,GAAQ;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACQ,aAAQ,GAAG,IAAIC,iBAAY,EAAE,CAAC;YAKxC,yBAAoB,GAAsB,IAAI,CAAC;YAE/C,eAAU,GAAG,KAAK,CAAC;YACnB,eAAU,GAAG,KAAK,CAAC;YACnB,cAAS,GAAG,CAAC,CAAC;YACd,gBAAW,GAAG,UAAU,CAAC;YACzB,oBAAe,GAAQ,EAAE,CAAC;YAClB,mBAAc,GAAwB,IAAI,CAAC;YACnD,aAAQ,GAAG,KAAK,CAAA;YACR,yBAAoB,GAAwB,IAAI,CAAA;YACxD,gBAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;SAEQ;;;;QAE/C,gDAAQ;;;QAAR;YAAA,iBAoBC;YAnBC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,UAAU,CAAC;YAChH,IAAI,IAAI,CAAC,oBAAoB,EAAE;;oBACvB,sBAAoB,GAAG,IAAI,CAAC,oBAAoB;gBACtD,IAAI,CAAC,cAAc,GAAGC,cAAS,CAC7B,sBAAoB,CAAC,aAAa,EAClC,QAAQ,CACT;qBACA,IAAI,CAACC,sBAAY,CAAC,GAAG,CAAC,EAAEC,sBAAY,CAAC,GAAG,CAAC,CAAC;qBAC1C,SAAS;;;;gBAAC,UAAA,CAAC;oBACV,KAAI,CAAC,yBAAyB,oBAAC,sBAAoB;yBAChD,aAAa,GAAgB,CAAC;iBAClC,EAAC,CAAC;gBACH,UAAU;;;gBAAC;oBACT,KAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC3B,GAAE,GAAG,CAAC,CAAC;aACT;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;;;;YAAC,UAAC,UAAmB;gBACzE,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;aAC3B,EAAC,CAAA;SACH;;;;QAED,mDAAW;;;QAAX;YAAA,iBAUC;YATCC,UAAK,CAAC,GAAG,CAAC,CAAC,SAAS;;;YAAC;gBACnB,IAAI,KAAI,CAAC,oBAAoB,EAAE;oBAC7B,KAAI,CAAC,yBAAyB,oBAAC,KAAI,CAAC,oBAAoB;yBACrD,aAAa,GAAgB,CAAC;iBAClC;aACF,EAAC,CAAC;YACH,UAAU;;;YAAC;gBACT,KAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B,GAAE,GAAG,CAAC,CAAC;SACT;;;;QAED,mDAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAA;aACxC;SACF;;;;QAED,gDAAQ;;;QAAR;;;YAGE,IAAI,IAAI,CAAC,oBAAoB,EAAE;;;oBAEvB,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW;oBACtE,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;;oBAEG,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa;gBACpD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;oBACtF,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;iBACrB;qBAAM;oBACL,IAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;wBACnC,IAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,EAAC;4BAC1D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAC/C,IAAI,EAAE,IAAI,CAAC,WAAW;gCACtB,QAAQ,EAAE,QAAQ;6BACnB,CAAC,CAAC;4BACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;yBAClD;qBACF;iBACF;aACF;SACF;;;;QAED,gDAAQ;;;QAAR;;;YAGE,IAAI,IAAI,CAAC,oBAAoB,EAAE;;;oBAEvB,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW;oBACtE,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;;oBACG,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa;gBACpD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;oBACtF,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;iBACrB;qBAAM;oBACL,IAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;wBACnC,IAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;4BACrH,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAC/C,IAAI,EAAE,CAAC;gCACP,QAAQ,EAAE,QAAQ;6BACnB,CAAC,CAAC;4BACH,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;yBACpB;qBACF;iBACF;aACF;SACF;;;;;;QAEO,iEAAyB;;;;;QAAjC,UAAkC,IAAiB;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBACzB,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;oBACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;gBACD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;aACpB;;;;;;;;;;;;;;;;;gBAkBK,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7F,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;gBACtC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;oBACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;iBACrB;qBAAM;oBACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;oBACvB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;wBAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;qBACjD;iBACF;aACF;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;gBACtF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;aAC/D;SACF;;;;;QAED,+CAAO;;;;QAAP,UAAQ,GAAQ;;gBACR,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;YAoBjC,IAAI,IAAI,CAAC,oBAAoB,EAAE;;oBACvB,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,IAAI,WAAW,GAAG,IAAI,CAAC;oBAC/E,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACtB;;;;QAED,0DAAkB;;;QAAlB;YAAA,iBAiCC;YAhCC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;;oBACtB,SAAS,SAAA;;oBACT,WAAS;gBACb,IAAI,IAAI,CAAC,WAAW,KAAK,cAAc,EAAE;oBACvC,SAAS,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,GAAG;yBAChD,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC;4BAClD,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;8BACjE,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;oBAC1E,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAG,IAAI,CAAC,EAAI,CAAC,EAAE;;4BACnC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAG,IAAI,CAAC,EAAI,CAAC,CAAC,WAAW;;4BACjE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC,aAAa;wBACvD,IAAI,gBAAgB,GAAG,aAAa,EAAE;4BACpC,WAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;4BAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB;gCAC5F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;4BACvE,WAAS,GAAG,IAAI,CAAC,iBAAiB,GAAG,WAAS,CAAC;4BAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAS,EAAE,CAAC,IAAI,CAAC,EAAE;gCACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;6BAC9B;yBACF;qBACF;iBACF;qBAAM;oBACL,UAAU;;;oBAAC;wBACT,KAAI,CAAC,eAAe,GAAG,EAAE,CAAA;wBACzB,WAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;wBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAS,EAAE,CAAC,IAAI,CAAC,EAAE;4BACrC,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC9B;qBACF,GAAU,IAAI,CAAC,CAAC;iBAClB;aACF;SACF;;oBA/OFL,cAAS,SAAC;wBACT,QAAQ,EAAE,+BAA+B;wBACzC,s7DAAsD;;qBAEvD;;;;oBARQM,oBAAY;;;iCAYlBC,UAAK;yBACLA,UAAK;8BACLA,UAAK;mCACLA,UAAK;+BAKLC,WAAM;oCACND,UAAK;wCACLA,UAAK;kCACLA,UAAK;2CACLE,cAAS,SAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;QA4NrD,oCAAC;KAhPD,IAgPC;;;QAxOC,mDAA+C;;QAC/C,2CAAyB;;QACzB,gDAAyB;;QACzB,qDAIE;;QACF,iDAAwC;;QACxC,sDAA4B;;QAC5B,0DAAgC;;QAChC,oDAA0B;;QAC1B,6DAC+C;;QAE/C,mDAAmB;;QACnB,mDAAmB;;QACnB,kDAAc;;QACd,oDAAyB;;QACzB,wDAA0B;;;;;QAC1B,uDAAmD;;QACnD,iDAAgB;;;;;QAChB,6DAAwD;;QACxD,oDAAuC;;;;;QAE3B,iDAA8B;;;;;;;AC7C5C;QAKA;SAU2C;;oBAV1CC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;wBAC7C,OAAO,EAAE;4BACPC,mBAAY;4BACZC,wBAAe;4BACfC,sBAAa;4BACbC,iCAAwB;yBACzB;wBACD,OAAO,EAAE,CAAC,6BAA6B,CAAC;qBACzC;;QACyC,iCAAC;KAV3C;;;;;;ICLA,IAAiB,SAAS,CAyjBzB;IAzjBD,WAAiB,SAAS;;;;QACxB,oCAEC;;;;YADC,6CAAkB;;;;;QAGpB,uCAQC;;;;YAPC,2CAME;;;;;QAGJ,uBAoIC;;;;YAnIC,4BAAe;;YACf,2BAAgB;;YAChB,2BAAgB;;YAChB,+BAAoB;;YACpB,iCAAoB;;YAEpB,2BAAc;;YACd,yBAAY;;YACZ,wBAAc;;YACd,qCAA0C;;YAC1C,uCAA2C;;YAC3C,+CAAqC;;YACrC,oCAAyB;;YACzB,8BAAsB;;YACtB,4BAAqB;;YACrB,uCAA+B;;YAC/B,2BAAoB;;YACpB,+BAAyB;;YACzB,wCAAqC;;YACrC,oCAA0B;;YAC1B,mCAAwB;;YACxB,6BAAkB;;YAClB,+BAA2B;;YAC3B,sCAA2B;;YAC3B,mCAA4B;;YAE5B,kCAA2B;;YAC3B,+BAAoB;;YACpB,sCAA2B;;YAC3B,oCAAyB;;YAEzB,+BAAsB;;YACtB,+BAAoB;;YACpB,sCAAyC;;YACzC,+BAAqB;;YACrB,4BAAiB;;YACjB,gCAAsB;;YACtB,oCAA2B;;YAC3B,8BAAoB;;YACpB,4CAAiD;;YACjD,6BAAmB;;YACnB,iCAAuB;;YACvB,mCAAyB;;YACzB,8BAAmB;;YACnB,qCAA2B;;YAC3B,yCAA+B;;YAC/B,iCAAuB;;YACvB,8BAAoB;;YACpB,qCAA0C;;YAC1C,gCAAuB;;YACvB,4BAAoB;;YACpB,8BAAmC;;YACnC,yCAA+B;;YAC/B,iCAAsB;;YACtB,gCAA6B;;YAC7B,qCAA0B;;YAC1B,0BAAkB;;YAClB,0BAAgB;;YAChB,mCAA2D;;YAC3D,mCAA2D;;YAC3D,yCAA8B;;YAC9B,6BAAkB;;YAClB,4BAAqB;;YACrB,qCAAuC;;YACvC,wBAAgB;;YAChB,wBAAa;;YACb,gDAAsC;;YACtC,0CAAgC;;YAChC,uCAA4C;;YAC5C,gCAAiC;;YACjC,+BAAqB;;YACrB,+BAAgC;;YAChC,iCAAsB;;YACtB,yBAGE;;YACF,mCAAkC;;YAClC,8BAAoB;;YACpB,4BAAmC;;YACnC,+BAAoB;;YACpB,mDAAyC;;YACzC,yCAAiC;;YACjC,0BAAkB;;YAClB,mCAAyB;;YACzB,4CAAkC;;YAClC,oCAA4B;;YAC5B,gCAAqB;;YACrB,wBAAc;;YACd,0BAAiB;;YACjB,wCAAyC;;YACzC,8BAAmB;;YACnB,mCAAwB;;YACxB,iCAAuB;;YACvB,6BAAmB;;YACnB,8BAAqB;;YACrB,qCAA2B;;YAC3B,0BASY;;YACZ,4BAAkB;;YAClB,6BAAwB;;YACxB,kCAAuC;;YACvC,sCAA8B;;YAC9B,wBAAa;;YACb,0BAAwB;;YACxB,8BAAuC;;YACvC,+BAAqB;;YACrB,yBAAgB;;YAChB,kCAAwB;;YACxB,6BAAsC;;YACtC,0BAAgB;;YAChB,qCAA2B;;YAC3B,6BAKI;;YACJ,8BAA8C;;YAC9C,8BAAoB;;YAEpB,mCAAyB;;YACzB,kCAA0B;;;;;;QAG5B,+BASC;;;;YARC,8BAAW;;YACX,kCAAY;;YACZ,wCAAqB;;YACrB,kCAEE;;YACF,8BAAW;;YACX,+BAAY;;;;;QAGd,qBAoBC;;;;YAnBC,yBAAgB;;YAChB,2BAAkB;;YAClB,yBAAuB;;YACvB,gCAAuB;;YACvB,4BAAmB;;YACnB,sBAAa;;YACb,2BAAkB;;YAClB,wBAAe;;YACf,gCAAsB;;YACtB,8BAAqB;;YACrB,0BAAiB;;YACjB,6BAAoB;;YACpB,4BAAqB;;YACrB,6BAAmB;;YACnB,mCAAiC;;YACjC,oBAAW;;YACX,yBAA0B;;YAC1B,uBAAa;;YACb,6BAA4B;;;;;QAG9B,iCASC;;;;YARC,qCAAmB;;YACnB,mCAAe;;YACf,sCAAmB;;YACnB,sCAIE;;;;;QAGJ,sBA2BC;;;;YA1BC,yBAAa;;YACb,0BAAgB;;YAChB,wBAAc;;YACd,0BAAgB;;YAChB,+BAAiB;;YACjB,+BAAqB;;YACrB,8BAA2B;;YAC3B,uCAAoC;;YACpC,mCAA0B;;YAC1B,0BAAkB;;YAClB,4BAAkB;;YAClB,gCAAmB;;YACnB,2BAAiB;;YACjB,gCAAsB;;YACtB,6BAAmB;;YACnB,2BAAiB;;YACjB,8BAAoB;;YACpB,+BAAqB;;YACrB,qCAAuB;;YACvB,wCAA+B;;YAC/B,oCAA2B;;YAC3B,wCAAqC;;YACrC,iCAAuB;;YACvB,2BAAiB;;YACjB,yBAAe;;YACf,yBAAe;;;;;QAGjB,8BAoBC;;;;YAnBC,kCAAgB;;YAChB,sCAAoB;;YACpB,0CAAwB;;YACxB,sCAA2B;;YAC3B,sCAAoB;;YACpB,6CAA0C;;YAC1C,mCAAiB;;YACjB,qCAAmB;;YACnB,oCAAoB;;YACpB,uCAAuB;;YACvB,uCAA6B;;YAC7B,mCAAqB;;YACrB,+BAAa;;YACb,yCAA2B;;YAC3B,0CAA4B;;YAC5B,sCAAoB;;YACpB,0CAAkC;;YAClC,uCAAsB;;YACtB,sCAAqB;;;;;QAGvB,2CAIC;;;;YAHC,4CAAe;;YACf,+CAAiB;;YACjB,qDAAsB;;;;;QAGxB,kCAGC;;;;YAFC,yCAAmB;;YACnB,mCAAa;;;;;QAMf,sCAMC;;;YALC,iDAAiD;;YACjD,qDAA4B;;YAC5B,uDAA6B;;YAC7B,oDAA2B;;YAC3B,2CAAwB;;;;;QAG1B,mBAIC;;;YAHC,kBAAW;;YACX,oBAAa;;YACb,qBAAc;;;;;QAEhB,iCAGC;;;YAFC,uCAAkB;;YAClB,qCAAgB;;;;;QAElB,sBAIC;;;YAHC,8BAAoB;;YACpB,qBAAW;;YACX,uBAAa;;;;;QAEf,wBAIC;;;YAHC,4BAAgB;;YAChB,0BAAc;;YACd,wBAAY;;;;;QAEd,8BAGC;;;YAFC,qCAAmB;;YACnB,+BAAa;;;;;QAEf,8BAGC;;;YAFC,gCAAe;;YACf,8BAAa;;;;;QAEf,kCAKC;;;YAJC,sCAAgB;;YAChB,0CAAoB;;YACpB,yCAAmB;;YACnB,mCAAa;;;;;QAEf,qBAKC;;;YAJC,oBAAW;;YACX,sBAAa;;YACb,wBAAe;;YACf,4BAAmB;;;;;QAErB,qBAKC;;;YAJC,oBAAW;;YACX,0BAAiB;;YACjB,uBAAc;;YACd,sBAAa;;;;;QAEf,uBAIC;;;;YAHC,sBAAW;;YACX,wBAAa;;YACb,yBAAc;;;;;QAEhB,4BAGC;;;;YAFC,mCAAmB;;YACnB,6BAAa;;;;;QAIf,uBAIC;;;;YAHC,sBAAW;;YACX,wBAAa;;YACb,yBAAc;;;;;QAGhB,6CAMC;;;;YALC,oDAAmB;;YACnB,uDAAsB;;YACtB,8CAAa;;YACb,sDAAqB;;YACrB,qDAAqB;;;;;QAKvB,IAAY,aAUX;QAVD,WAAY,aAAa;YACvB,sCAAqB,CAAA;YACrB,0CAAyB,CAAA;YACzB,oCAAmB,CAAA;YACnB,kCAAiB,CAAA;YACjB,0DAAyC,CAAA;YACzC,oDAAmC,CAAA;YACnC,uDAAsC,CAAA;YACtC,sCAAqB,CAAA;YACrB,sCAAqB,CAAA;SACtB,EAVW,aAAa,GAAb,uBAAa,KAAb,uBAAa,QAUxB;QACD,IAAY,gBAoCX;QApCD,WAAY,gBAAgB;YAC1B,uCAAmB,CAAA;YACnB,qCAAiB,CAAA;YACjB,0CAAsB,CAAA;YACtB,kDAA8B,CAAA;YAC9B,mCAAe,CAAA;YACf,yCAAqB,CAAA;YACrB,+DAA2C,CAAA;YAC3C,0DAAsC,CAAA;YACtC,6DAAyC,CAAA;YACzC,iDAA6B,CAAA;YAC7B,iDAA6B,CAAA;YAC7B,yEAAqD,CAAA;YACrD,qEAAiD,CAAA;YACjD,mEAA+C,CAAA;YAC/C,mEAA+C,CAAA;YAC/C,uDAAmC,CAAA;YACnC,uDAAmC,CAAA;YACnC,uDAAmC,CAAA;;;;;YAKnC,6DAAyC,CAAA;;;;YAIzC,uDAAmC,CAAA;;;;YAInC,0DAAsC,CAAA;;;;YAItC,uCAAmB,CAAA;SACpB,EApCW,gBAAgB,GAAhB,0BAAgB,KAAhB,0BAAgB,QAoC3B;QAED,IAAY,eASX;QATD,WAAY,eAAe;YACzB,8DAA2C,CAAA;YAC3C,0DAAuC,CAAA;YACvC,sDAAmC,CAAA;YACnC,sDAAmC,CAAA;YACnC,oCAAiB,CAAA;YACjB,wDAAqC,CAAA;YACrC,kEAA+C,CAAA;YAC/C,iEAA8C,CAAA;SAC/C,EATW,eAAe,GAAf,yBAAe,KAAf,yBAAe,QAS1B;QAED,IAAY,sBASX;QATD,WAAY,sBAAsB;YAChC,+CAAqB,CAAA;YACrB,yEAA+C,CAAA;YAC/C,uEAA6C,CAAA;YAC7C,+CAAqB,CAAA;YACrB,+CAAqB,CAAA;YACrB,iDAAuB,CAAA;YACvB,6CAAmB,CAAA;YACnB,+CAAqB,CAAA;SACtB,EATW,sBAAsB,GAAtB,gCAAsB,KAAtB,gCAAsB,QASjC;QACD,IAAY,6BAKX;QALD,WAAY,6BAA6B;YACvC,kEAAiC,CAAA;YACjC,oEAAmC,CAAA;YACnC,4EAA2C,CAAA;YAC3C,4EAA2C,CAAA;SAC5C,EALW,6BAA6B,GAA7B,uCAA6B,KAA7B,uCAA6B,QAKxC;QAEa,8BAAoB,GAAQ;YACxC,QAAQ,EAAG,EAAE;YACb,qBAAqB,EAAG,kBAAkB;YAC1C,oBAAoB,EAAG,kBAAkB;YACzC,QAAQ,EAAG,wBAAwB;YACnC,QAAQ,EAAG,wBAAwB;YACnC,SAAS,EAAE,wBAAwB;YACnC,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,qBAAqB;SAC/B;QAED,IAAY,0BAMX;QAND,WAAY,0BAA0B;YACpC,qEAAuC,CAAA;YACvC,yEAA2C,CAAA;YAC3C,oEAAsC,CAAA;YACtC,uEAAyC,CAAA;YACzC,iEAAmC,CAAA;SACpC,EANW,0BAA0B,GAA1B,oCAA0B,KAA1B,oCAA0B,QAMrC;QAED,IAAY,mCAEX;QAFD,WAAY,mCAAmC;YAC7C,4DAAqB,CAAA;SACtB,EAFW,mCAAmC,GAAnC,6CAAmC,KAAnC,6CAAmC,QAE9C;QACY,2CAAiC,GAAa;YACzD,gBAAgB,CAAC,MAAM;YACvB,gBAAgB,CAAC,MAAM;YACvB,gBAAgB,CAAC,OAAO;YACxB,gBAAgB,CAAC,eAAe;YAChC,gBAAgB,CAAC,eAAe;YAChC,gBAAgB,CAAC,qBAAqB;YACtC,mCAAmC,CAAC,QAAQ;SAC7C;QACY,oCAA0B,GAAuB;YAC5D,gBAAgB,CAAC,MAAM;YACvB,gBAAgB,CAAC,MAAM;YACvB,gBAAgB,CAAC,OAAO;YACxB,gBAAgB,CAAC,QAAQ;SAC1B;QACY,0CAAgC,GAAuB;YAClE,gBAAgB,CAAC,MAAM;YACvB,gBAAgB,CAAC,MAAM;YACvB,gBAAgB,CAAC,OAAO;YACxB,gBAAgB,CAAC,QAAQ;SAC1B;QACD,IAAY,UAqCX;QArCD,WAAY,UAAU;YACpB,sEAAwD,CAAA;YACxD,yDAA2C,CAAA;YAC3C,0DAA4C,CAAA;YAC5C,uCAAyB,CAAA;YACzB,qCAAuB,CAAA;YACvB,0CAA4B,CAAA;YAC5B,gDAAkC,CAAA;YAClC,+BAAiB,CAAA;YACjB,gCAAkB,CAAA;YAClB,+BAAiB,CAAA;YACjB,4CAA8B,CAAA;YAC9B,+CAAiC,CAAA;YACjC,qCAAuB,CAAA;YACvB,uCAAyB,CAAA;YACzB,iDAAmC,CAAA;YACnC,oDAAsC,CAAA;YACtC,mDAAqC,CAAA;YACrC,qEAAuD,CAAA;YACvD,yCAA2B,CAAA;YAC3B,0DAA4C,CAAA;YAC5C,kDAAoC,CAAA;YACpC,yDAA2C,CAAA;YAC3C,6CAA+B,CAAA;YAC/B,yDAA2C,CAAA;YAC3C,mDAAqC,CAAA;YACrC,uEAAyD,CAAA;YACzD,sEAAwD,CAAA;YACxD,qDAAuC,CAAA;;YAEvC,yDAA2C,CAAA;YAC3C,+CAAiC,CAAA;YACjC,qCAAuB,CAAA;YACvB,2CAA6B,CAAA;YAC7B,kEAAoD,CAAA;YACpD,2DAA6C,CAAA;YAC7C,6CAA+B,CAAA;SAChC,EArCW,UAAU,GAAV,oBAAU,KAAV,oBAAU,QAqCrB;QACD,IAAY,oBAqCX;QArCD,WAAY,oBAAoB;YAC9B,iDAAyB,CAAA;YACzB,uEAA+C,CAAA;YAC/C,mEAA2C,CAAA;YAC3C,8DAAsC,CAAA;YACtC,uCAAe,CAAA;YACf,uDAA+B,CAAA;YAC/B,2CAAmB,CAAA;YACnB,uDAA+B,CAAA;YAC/B,yCAAiB,CAAA;YACjB,2CAAmB,CAAA;YACnB,+CAAuB,CAAA;YACvB,yEAAiD,CAAA;YACjD,2DAAmC,CAAA;YACnC,uCAAe,CAAA;YACf,6CAAqB,CAAA;YACrB,mCAAW,CAAA;YACX,yDAAiC,CAAA;YACjC,+DAAuC,CAAA;YACvC,iEAAyC,CAAA;YACzC,yCAAiB,CAAA;YACjB,mCAAW,CAAA;YACX,yCAAiB,CAAA;YACjB,6CAAqB,CAAA;YACrB,2CAAmB,CAAA;YACnB,qCAAa,CAAA;YACb,6CAAqB,CAAA;YACrB,yDAAiC,CAAA;YACjC,uCAAe,CAAA;YACf,iDAAyB,CAAA;YACzB,6CAAqB,CAAA;YACrB,2CAAmB,CAAA;YACnB,qCAAa,CAAA;YACb,2DAAmC,CAAA;YACnC,8DAAsC,CAAA;YACtC,2DAAmC,CAAA;YACnC,2DAAmC,CAAA;SACpC,EArCW,oBAAoB,GAApB,8BAAoB,KAApB,8BAAoB,QAqC/B;;QAED,IAAY,eAKX;QALD,WAAY,eAAe;YACzB,8BAAW,CAAA;YACX,kCAAe,CAAA;YACf,wCAAqB,CAAA;YACrB,oCAAiB,CAAA;SAClB,EALW,eAAe,GAAf,yBAAe,KAAf,yBAAe,QAK1B;;QAGD,IAAY,QAEX;QAFD,WAAY,QAAQ;YAClB,uCAA2B,CAAA;SAC5B,EAFW,QAAQ,GAAR,kBAAQ,KAAR,kBAAQ,QAEnB;QAEY,qDAA2C,GAAa;;;;;SAMpE;QACY,wCAA8B,GAAiB;YAC1D,UAAU,CAAC,gBAAgB;YAC3B,UAAU,CAAC,gBAAgB;YAC3B,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,SAAS;YACpB,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,OAAO;YAClB,UAAU,CAAC,QAAQ;YACnB,UAAU,CAAC,MAAM;SAClB;KACF,EAzjBgB,SAAS,KAAT,SAAS,QAyjBzB;;;;;;;ICvjBD,IAAa,sBAAsB;;;;IAAG,UAAC,QAA8B;QACnE,QAAQ,QAAQ;YACd,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG;gBAC3B,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG;gBAC3B,OAAO,cAAc,CAAC;YACxB,KAAK,SAAS,CAAC,UAAU,CAAC,UAAU;gBAClC,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;;;YAGlC,KAAK,SAAS,CAAC,UAAU,CAAC,aAAa;gBACrC,OAAO,eAAe,CAAC;YACzB,KAAK,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YACpC,KAAK,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG;gBAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAChD,OAAO,aAAa,CAAC;iBACtB;gBACD,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS,CAAC,UAAU,CAAC,QAAQ;gBAChC,OAAO,SAAS,CAAC;YACnB,KAAK,SAAS,CAAC,UAAU,CAAC,MAAM;gBAC9B,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG;gBAC3B,OAAO,KAAK,CAAC;YACf,KAAK,SAAS,CAAC,UAAU,CAAC,MAAM;gBAC9B,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG;gBAC3B,OAAO,KAAK,CAAC;YACf,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9B,KAAK,SAAS,CAAC,UAAU,CAAC,IAAI;gBAC5B,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS,CAAC,UAAU,CAAC,OAAO;gBAC/B,OAAO,SAAS,CAAC;;YAEnB,KAAK,SAAS,CAAC,UAAU,CAAC,UAAU;gBAClC,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,UAAU,CAAC,mBAAmB;gBAC3C,OAAO,YAAY,CAAC;YACtB,KAAK,SAAS,CAAC,UAAU,CAAC,aAAa;gBACrC,OAAO,eAAe,CAAC;YACzB,KAAK,SAAS,CAAC,UAAU,CAAC,QAAQ;gBAChC,OAAO,UAAU,CAAC;YACpB,KAAK,SAAS,CAAC,UAAU,CAAC,cAAc;gBACtC,OAAO,gBAAgB,CAAC;YAC1B,KAAK,SAAS,CAAC,UAAU,CAAC,WAAW;gBACnC,OAAO,aAAa,CAAC;YACvB,KAAK,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,KAAK,SAAS,CAAC,UAAU,CAAC,gBAAgB;gBACxC,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS,CAAC,UAAU,CAAC,iBAAiB;gBACzC,OAAO,UAAU,CAAC;YACpB,KAAK,SAAS,CAAC,UAAU,CAAC,mBAAmB;gBAC3C,OAAO,qBAAqB,CAAC;YAC/B,KAAK,SAAS,CAAC,UAAU,CAAC,eAAe;gBACvC,OAAO,iBAAiB,CAAC;YAC3B;gBACE,OAAO,MAAM,CAAC;SACjB;KACF,CAAA;;;;;;;;;;;;IAED,SAAgB,oBAAoB,CAClC,EAAU,EACV,QAA8B,EAC9B,YAAqB,EACrB,cAAuB,EACvB,UAAkB,EAClB,eAAwB,EACxB,OAAgB,EAChB,UAAmB;QAHnB,2BAAA,EAAA,kBAAkB;;YAKd,MAAM,GAAG,YAAY;;YACrB,QAAQ,GAAG,cAAc;QAC7B,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC/E,MAAM,GAAG,SAAS,CAAC;YACnB,QAAQ,GAAG,SAAS,CAAC;SACtB;;YACK,GAAG,GAAG,aAAW,sBAAsB,CAAC,QAAQ,CAAC,SAAI,EAAI;;;;YAGzD,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;;YAC7D,WAAW,GAAG,EAAE;QACpB,IAAI,eAAe,EAAE;YACnB,WAAW,GAAG;gBACZ,eAAe,iBAAA;aAChB,CAAC;SACH;QACD,IAAI,YAAY,IAAI,cAAc,EAAE;YAClC,WAAW,gBAAQ,WAAW,IAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,GAAE,CAAC;SAClF;QACD,IAAI,OAAO,EAAE;YACX,WAAW,gBAAQ,WAAW,IAAE,OAAO,SAAA,GAAE,CAAC;SAC3C;QACD,IAAI,UAAU,EAAE;YACd,WAAW,gBAAQ,WAAW,IAAE,UAAU,YAAA,GAAE,CAAC;SAC9C;QACD,IAAI,UAAU,EAAE;YACd,WAAW,gBAAQ,WAAW,IAAE,OAAO,EAAE,IAAI,GAAE,CAAC;SACjD;QACD,IAAI,UAAU,EAAE;YACd,WAAW,gBAAQ,WAAW,IAAE,QAAQ,EAAE,IAAI,GAAE,CAAC;SAClD;QACD,OAAO;YACL,WAAW,aAAA;YACX,GAAG,KAAA;SACJ,CAAC;KACH;;;;;;IC3GD,IAAiB,aAAa,CAsD7B;IAtDD,WAAiB,aAAa;;;;QAC5B,oBASC;;;;YARC,wBAA4B;;YAC5B,4BAA0B;;YAC1B,wBAAoD;;YACpD,6BAAkC;;YAClC,4BAAiC;;YACjC,sBAAe;;YACf,4BAA2B;;YAC3B,0BAAe;;;;;QAGjB,2BAMC;;;;YALC,gCAAkB;;YAClB,0CAA+C;;YAC/C,uCAA2B;;YAC3B,2BAAY;;YACZ,qCAAuB;;;;;QAGzB,0BAGC;;;;YAFC,qCAAmB;;YACnB,uCAAqB;;QAavB,IAAY,cAKX;QALD,WAAY,cAAc;YACxB,+BAAa,CAAA;YACb,qCAAmB,CAAA;YACnB,qCAAmB,CAAA;YACnB,yDAAuC,CAAA;SACxC,EALW,cAAc,GAAd,4BAAc,KAAd,4BAAc,QAKzB;QAED,IAAY,SAKX;QALD,WAAY,SAAS;YACnB,kCAAqB,CAAA;YACrB,wBAAW,CAAA;YACX,gCAAmB,CAAA;YACnB,gCAAmB,CAAA;SACpB,EALW,SAAS,GAAT,uBAAS,KAAT,uBAAS,QAKpB;QAED,IAAY,SAGX;QAHD,WAAY,SAAS;YACnB,6CAAgC,CAAA;YAChC,gCAAmB,CAAA;SACpB,EAHW,SAAS,GAAT,uBAAS,KAAT,uBAAS,QAGpB;KAEF,EAtDgB,aAAa,KAAb,aAAa,QAsD7B;;;;;;;QChDK,KAAK,GAAG,MAAM;;;;QAMd,iBAAiB,GAAG,oBAAoB;;;;;IAEzB,UAAC,MAAc;QAChC,OAAG,iBAAiB,0CAAqC,MAAQ;KAAA;;;;IAEvC,UAAC,MAA0B;;QAErD,OAAA,6DAA2D,MAAM,8TAAyT,aAAa,CAAC,SAAS,CAAC,YAAY,sGAAmG;KAAA;;;;IAC/d,UAAC,MAA0B;;QAE7D,OAAA,6DAA2D,MAAM,8TAAyT,aAAa,CAAC,SAAS,CAAC,YAAY,iIAA8H;KAAA;;;;;;;;IAE/f,UAAC,MAA0B,EAAE,UAAkB,EAAE,cAAsB,EAAE,MAAc,EAAE,YAAoB;;QAE1I,OAAA,4DAA0D,MAAM,oBAAe,UAAU,wBAAmB,cAAc,gBAAW,MAAM,wBAAmB,aAAa,CAAC,SAAS,CAAC,YAAY,sBAAiB,YAAc;KAAA;;QAb/N,cAAc,GAAG;QACrB,iBAAiB,MACkD;QACjE,eAAe,EAAE,iCAAiC;QACpD,0BAA0B,MAEye;QACngB,kCAAkC,MAE4f;;QAE9hB,6BAA6B,MAEsM;KACpO;AAED;QAKE,8BACyB,WAAgB,EAC/B,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;YACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAC/B;;;;;QAED,0CAAW;;;;QAAX,UAAY,KAAiB;;gBACxB,YAAY,GAAG,EAAE;YACrB,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE;gBACrC,YAAY,GAAG,YAAU,KAAK,CAAC,KAAK,CAAC,OAAS,CAAA;aAC/C;YACD,OAAOC,eAAU,CAAC,YAAY,CAAC,CAAA;SAChC;;;;;QAED,oDAAqB;;;;QAArB,UAAsB,MAAc;YAClC,OAAO,IAAI,CAAC,IAAI;iBACb,GAAG,CAAsB,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;iBAClE,IAAI,CAACC,oBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;SACtC;;;;;;;;QAED,iDAAkB;;;;;;;QAAlB,UAAmB,MAA0B,EAAE,WAAsF;YAArI,iBAgCC;;gBA/BK,IAAI,GAAG,EAAE;YACb,IAAI,WAAW,EAAE;;gBAEf,IAAI,GAAG,cAAc,CAAC,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;aAC9J;iBAAM;gBACL,IAAI,GAAG,cAAc,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;aACzD;;gBACK,OAAO,GAAG,IAAIC,gBAAW,CAAC;gBAC9B,eAAe,EAAG,gEAAgE;gBAClF,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,GAAG;aACb,CAAC;;gBACM,MAAM,GAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,IAAI,CAACD,oBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAEE,aAAG;;;;YACxF,UAAC,IAAS;;oBACF,WAAW,GAAQ,EAAE;gBAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;oBAAC,UAAC,OAAY;wBACvC,IAAI,OAAO,CAAC,aAAa,EAAE;4BACzB,OAAO,OAAO,CAAC,aAAa,CAAA;yBAC7B;wBACD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qBAC1B,EAAC,CAAA;oBACF,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACxD,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA;iBAClC;gBACD,OAAO,IAAI,CAAC,MAAM,CAAA;aACnB,EACF,CACF;YACD,OAAO,MAAM,CAAA;SAChB;;;;;;;;QAGD,wDAAyB;;;;;;;QAAzB,UAA0B,MAA0B,EAAE,WAAsF;;gBACtI,IAAI,GAAG,EAAE;YACb,IAAI,WAAW,EAAE;;gBAEf,IAAI,GAAG,cAAc,CAAC,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;aAC9J;iBAAM;gBACL,IAAI,GAAG,cAAc,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAA;aACjE;;gBACK,OAAO,GAAG,IAAID,gBAAW,CAAC;gBAC9B,eAAe,EAAG,gEAAgE;gBAClF,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,GAAG;aACb,CAAC;YACF,OAAO,IAAI,CAAC,IAAI;iBACb,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,SAAA,EAAE,CAAC;iBACtB,IAAI,CACHD,oBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAC5BE,aAAG;;;;YACD,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,GAAA,EAC3B,CACF,CAAA;SACJ;;;;;;QAED,+CAAgB;;;;;QAAhB,UAAiB,GAAQ,EAAE,OAAY;;gBAC/B,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;YACnD,IAAI,SAAS,EAAE;;oBACP,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;;wBACb,IAAI,GAAG,KAAK,EAAE;;wBACd,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;;wBAC9C,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC;oBAChD,IAAI,OAAO,IAAI,SAAS,EAAE;wBACxB,OAAO,IAAI,CAAA;qBACZ;oBACD,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;iBACpD;gBACD,OAAO,IAAI,CAAA;aACZ;YACD,OAAO,IAAI,CAAA;SACZ;;;;;QAED,sCAAO;;;;QAAP,UAAQ,GAAQ;YACd,OAAOC,eAAU,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;SACpE;;;;;QACD,2CAAY;;;;QAAZ,UAAa,GAAQ;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;SACnD;;;;;QAED,sCAAO;;;;QAAP,UAAQ,GAAQ;;gBACR,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;YACnD,IAAI,SAAS,EAAE;;oBACP,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;gBACtC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;aAC9D;iBAAM;;oBACC,IAAI,GAAQ,EAAE;gBACpB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;gBAChC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;aACxD;SACF;;;;;QAED,wCAAS;;;;QAAT,UAAU,GAAQ;;gBACV,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;YACnD,IAAI,SAAS,EAAE;;oBACP,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;oBACpB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;oBACtB,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;iBAC7D;aACF;SACF;;;;;QAEC,+CAAgB;;;;QAAhB,UAAiB,MAAc;YAA/B,iBA8BD;YA7BE,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE;;oBAC3C,MAAM,GAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAACH,oBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAEE,aAAG;;;;gBACtG,UAAO,IAAS;;;;;;sCACX,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAA,EAAhE,wBAAgE;gCAC7D,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gCAC3D,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gCACvC,cAAc,GAAQ,OAAO,CAAC,cAAc,IAAI,EAAE;gCAChC,qBAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI;;;;oCAAC,UAAO,GAAQ;;;4CACzG,UAAU,GAAQ,EAAE;4CAC1B,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;gDAC5C,GAAG,CAAC,OAAO,CAAC,OAAO;;;;gDAAC,UAAC,IAAS;oDAC5B,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;iDACrC,EAAC,CAAA;gDACF,sBAAO,UAAU,EAAA;6CAClB;iDAAM;gDACL,sBAAO,EAAE,EAAA;6CACV;;;yCACF,EAAC,CAAC,KAAK;;;;oCAAC,UAAC,IAAS;wCACjB,OAAO,EAAE,CAAA;qCACV,EAAC,EAAA;;gCAZI,YAAY,GAAI,SAYpB;gCACK,qBAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,EAAA;oCAA1D,sBAAO,SAAmD,EAAA;;;;qBAE7D,EACF,CACF;gBACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBAC1B,OAAO,MAAM,CAAA;aACd;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;SAC/B;;;;;;QAED,sDAAuB;;;;;QAAvB,UAAwB,cAAmB,EAAE,mBAA2B;;gBAChE,QAAQ,GAAG;gBACf,mBAAmB,qBAAA;gBACnB,uBAAuB,EAAE,cAAc;aACxC;YACD,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;YAC9C,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;SACtE;;;;;;QAGD,6DAA8B;;;;;QAA9B,UAA+B,MAAM,EAAE,WAAW;;gBAC5C,IAAI,GAAG,cAAc,CAAC,0BAA0B,CAAC,MAAM,CAAC;YAC5D,IAAI,GAAM,IAAI,mBAAc,WAAW,kBAAe,CAAA;;gBAChD,OAAO,GAAG,IAAID,gBAAW,CAAC;gBAC9B,eAAe,EAAG,gEAAgE;gBAClF,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,GAAG;aACb,CAAC;YACF,OAAO,IAAI,CAAC,IAAI;iBACb,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,SAAA,EAAE,CAAC;iBACtB,IAAI,CACHD,oBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAC5BE,aAAG;;;;YACD,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,GAAA,EAC3B,CACF,CAAA;SACJ;;;;;QAED,iDAAkB;;;;QAAlB,UAAmB,UAAe;;gBAC5B,cAAc,GAAG,EAAE;;gBACnB,UAAU,GAAG,EAAE;;gBACb,SAAS,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,UAAU,CAAC,OAAO;;;;YAAC,UAAC,CAAM;gBACtB,CAAC,CAAC,WAAW,CAAC,OAAO;;;;gBAAC,UAAC,SAAc;;wBAC7B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;;wBAC/C,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;oBACvD,SAAS,CAAC,cAAc,CAAC,GAAI,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE;0BAC3F,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAA;oBACpE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;oBAChC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;oBAC5B,SAAS,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;oBAChC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;oBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;oBACrC,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;wBACxD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;qBAC/B;iBACF,EAAC,CAAA;aACH,EAAC,CAAA;YACJ,OAAO,EAAC,cAAc,gBAAA,EAAC,UAAU,YAAA,EAAC,CAAA;SACnC;;;;;;QACK,yCAAU;;;;;QAAhB,UAAiB,UAAe,EAAE,cAAmB;;;;oBAC/C,kBAAkB,GAAQ,EAAE;oBAChC,IAAG,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;wBAClC,IAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;4BACrC,UAAU,CAAC,OAAO;;;;4BAAC,UAAC,GAAQ;;oCACpB,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;;oCAEhD,cAAc,GAAQ,EAAE;;oCACxB,eAAe,GAAQ,EAAE;;oCACzB,mBAAmB,GAAQ,EAAE;;oCAC7B,kBAAkB,GAAQ,EAAE;;oCAC5B,gBAAgB,GAAQ,EAAE;;oCAC1B,iBAAiB,GAAQ,EAAE;;oCAC3B,oBAAoB,GAAQ,EAAE;gCACpC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gCACxB,IAAI,eAAe,EAAE;oCACnB,GAAG,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,MAAM,CAAA;iCAC9C;gCACH,IAAI,GAAG,CAAC,eAAe,EAAE;oCACvB,GAAG,CAAC,eAAe,CAAC,OAAO;;;;oCAAC,UAAC,OAAY;wCACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;4CACpD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;4CAC3C,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;yCAChD;wCACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;4CACtD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;4CAC7C,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;yCAClD;wCACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;4CAC9D,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;yCACtD;wCACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;4CAC5D,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;4CACnD,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;yCACxD;qCACF,EAAC,CAAA;iCACH;gCAEC,GAAG,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAA;gCACtC,GAAG,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAAA;gCACxC,GAAG,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAA;gCAChD,GAAG,CAAC,oBAAoB,CAAC,GAAG,kBAAkB,CAAA;gCAC9C,GAAG,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAA;gCAC1C,GAAG,CAAC,mBAAmB,CAAC,GAAG,iBAAiB,CAAA;gCAC5C,GAAG,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,CAAA;gCAClD,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;oCAClD,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iCAC7B;qCAAM;oCACL,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;wCACnD,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;qCAC7B;iCACF;6BACF,EAAC,CAAC;4BACH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC3B,UAAU,GAAQ,kBAAkB,CAAC,IAAI;;;;;gCAAC,UAAC,CAAM,EAAE,CAAM;;wCACvD,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;wCACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oCAE3C,OAAQ,UAAU,GAAG,SAAS,GAAI,CAAC,GAAG,CAAC,CAAC,CAAA;iCACzC,EAAC;gCACI,eAAe,GAAGE,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;gCACzD,eAAe,GAAIC,cAAc,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gCACxE,cAAc,GAAIA,cAAc,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gCACnF,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;gCAC/D,sBAAO,cAAc,EAAA;6BACxB;4BACD,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAA;4BACnE,sBAAO,kBAAkB,EAAA;yBACxB;wBACD,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;wBAC3D,sBAAO,UAAU,EAAA;qBAClB;oBACD,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;oBACnD,sBAAO,EAAE,EAAA;;;SACV;;;;;QACD,gDAAiB;;;;QAAjB,UAAkB,UAAe;;gBACzB,UAAU,GAAQ,EAAE;YAC1B,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC3C,UAAU,CAAC,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,IAAS;oBACjC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;iBACvC,EAAC,CAAA;aACH;YACD,OAAO,UAAU,CAAA;SAClB;;oBAzSFtB,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oDAIIuB,WAAM,SAAC,aAAa;oBApChBC,eAAU;;;mCADnB;KA+BA,IA0SC;;;QAtSC,2CAAiB;;;;;QAGf,oCAAwB;;;;;;;;QCzBtB,MAAM,GAAGC,QAAO;;;;QAIhBC,mBAAiB,GAAG,oBAAoB;;;;;;IAyBtB,UAAC,IAAY,EAAE,EAAU;QAC7C,OAAGA,mBAAiB,4BAAuB,IAAI,SAAI,EAAI;KAAA;;;;IAElC,UAAC,SAAiB,IAAK,OAAGA,mBAAiB,uBAAkB,SAAW,GAAA;;;;IAQhF,UAAC,MAAW,IAAK,OAAGA,mBAAiB,4CAAuC,MAAQ,GAAA;;;;IAErF,UAAC,SAAc,IAAK,OAAA,6CAA2C,SAAW,GAAA;;QApCpFC,gBAAc,GAAG;QACrB,OAAO,EAAKD,mBAAiB,aAAU;QACvC,iBAAiB,EAAE,0BAA0B;QAC7C,aAAa,EAAKA,mBAAiB,uBAAoB;QACvD,aAAa,EAAKA,mBAAiB,uBAAoB;QACvD,mBAAmB,EAAKA,mBAAiB,4BAAyB;QAClE,cAAc,EAAKA,mBAAiB,kCAA+B;QACnE,sBAAsB,EAAKA,mBAAiB,+BAA4B;QACxE,gBAAgB,EAAKA,mBAAiB,sBAAmB;QACzD,iBAAiB,EAAKA,mBAAiB,sBAAmB;QAC1D,iBAAiB,EAAE,qCAAqC;QACxD,uBAAuB,EAAE,yCAAyC;QAClE,6BAA6B,EAAE,qCAAqC;QACpE,oCAAoC,EAAKA,mBAAiB,wCAAqC;QAC/F,eAAe,EAAKA,mBAAiB,kBAAe;QACpD,iBAAiB,EAAE,uCAAuC;QAC1D,iBAAiB,EAAE,+CAA+C;QAClE,YAAY,EAAE,uCAAuC;QACrD,iBAAiB,EAAE,iDAAiD;QACpE,yBAAyB,EAAE,0CAA0C;QACrE,wBAAwB,EAAE,uCAAuC;QACjE,sBAAsB,EAAKA,mBAAiB,2BAAwB;QACpE,cAAc,EAAKA,mBAAiB,iBAAc;QAClD,oBAAoB,QACqC;QACzD,mBAAmB,EAAKA,mBAAiB,yDAAsD;QAC/F,qBAAqB,QAA0E;QAC/F,YAAY,EAAE,0CAA0C;QACxD,eAAe,EAAE,gDAAgD;QACjE,iBAAiB,EAAE,kDAAkD;QACrE,eAAe,EAAE,sDAAsD;QACvE,kBAAkB,EAAE,4DAA4D;QAChF,iBAAiB,EAAKA,mBAAiB,4CAAyC;QAChF,UAAU,EAAKA,mBAAiB,qCAAkC;QAClE,aAAa,QAAsF;QACnG,gBAAgB,EAAE,mCAAmC;QACrD,YAAY,QAA4E;QACxF,uBAAuB,EAAE,+CAA+C;QACxE,iBAAiB,EAAE,mCAAmC;QACtD,iBAAiB,EAAE,wCAAwC;QAC3D,kBAAkB,EAAE,6CAA6C;QACjE,cAAc,EAAE,0CAA0C;KAC3D;AAED;QAIE,iCACU,IAAgB,EAChB,SAAgC,EAChC,OAA6B;YAF7B,SAAI,GAAJ,IAAI,CAAY;YAChB,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAsB;YAIvC,kBAAa,GAAQ,IAAIE,oBAAe,CAAM,EAAE,CAAC,CAAC;YAClD,mBAAc,GAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAE5C,kBAAa,GAAQ,IAAIC,YAAO,EAAO,CAAA;YACxC,mBAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAA;YAIzD,iCAA4B,GAAG,IAAID,oBAAe,CAAM,EAAE,CAAC,CAAC;YAC5D,kCAA6B,GAAG,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,CAAC;SAXhF;;;;;QAaD,qDAAmB;;;;QAAnB,UAAoB,OAAe;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClC;;;;;QACD,4CAAU;;;;QAAV,UAAW,eAAuB;YAChC,IAAI,eAAe,EAAE;;oBACb,UAAU,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,0BAA0B,CAAC,iBAAiB;qBAC3F,eAAe,KAAK,SAAS,CAAC,0BAA0B,CAAC,iBAAiB,CAAC;qBAC3E,eAAe,KAAK,SAAS,CAAC,0BAA0B,CAAC,gBAAgB,CAAC;qBAC1E,eAAe,KAAK,SAAS,CAAC,0BAA0B,CAAC,eAAe,CAAC;qBACzE,eAAe,KAAK,SAAS,CAAC,0BAA0B,CAAC,eAAe,CAAC;gBAC5E,OAAO,UAAU,CAAC;aACnB;YACD,OAAO,KAAK,CAAC;SACd;;;;;QAED,yDAAuB;;;;QAAvB,UAAwB,UAAkB;;;gBAElC,GAAG,GAAGD,gBAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC;;;;YAE5D,IAAI,GAAG,EAAE,GAAG;YACZ,OAAOG,OAAE,EAAE,CAAC,SAAS,EAAE,CAAC;SACzB;;;;;QAED,iDAAe;;;;QAAf,UAAgB,IAAS;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;;;;;QAED,8CAAY;;;;;;;QAAZ,UACE,SAAiB,EACjB,aAAsD,EACtD,iBAAgC,EAChC,eAA+B;YAF/B,8BAAA,EAAA,wBAAsD;YACtD,kCAAA,EAAA,sBAAgC;;;gBAI5B,GAAG,GAAG,EAAE;;gBACN,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9G,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACvD,IAAI,CAAC,UAAU,EAAE;oBACf,GAAG,GAAG,6CAA2C,SAAW,CAAC;iBAC9D;qBAAM;oBACL,GAAG,GAAG,0BAAwB,SAAW,CAAC;iBAC3C;aACF;iBAAM;gBACL,IAAI,CAAC,UAAU,EAAE;oBACf,GAAG,GAAG,kDAAgD,SAAS,uBAAkB,aAAe,CAAC;iBAClG;qBAAM;;wBACC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACjE,IAAI,UAAU,EAAE;wBACd,GAAG,GAAG,iDAA+C,SAAS,eAAY,CAAC;qBAC5E;yBAAM;wBACL,GAAG,GAAG,8BAA4B,SAAS,uBAAkB,aAAe,CAAC;qBAC9E;iBACF;aACF;;;;YAID,OAAO,IAAI,CAAC,IAAI;iBACb,GAAG,CAAqB,GAAG,CAAC;iBAC5B,IAAI,CAACC,qBAAW,CAAC,CAAC,CAAC,CAAC,CAAC;;;;SAIzB;;;;;QACD,uDAAqB;;;;QAArB,UAAsB,SAAiB;;gBAC/B,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;;gBAC7D,GAAG,GAAG,EAAE;YACZ,IAAI,UAAU,EAAE;gBACd,GAAG,GAAG,iDAA+C,SAAS,eAAY,CAAC;aAC5E;iBAAM;gBACL,GAAG,GAAMJ,gBAAc,CAAC,iBAAiB,SAAI,SAAS,0BAAuB,CAAC;aAC/E;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,GAAG,CAAC,CAAC,IAAI,CAACI,qBAAW,CAAC,CAAC,CAAC;;;;YAAE,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,EAAC,CAAC;SAC5E;;;;;QACD,sDAAoB;;;;QAApB,UAAqB,GAAa;YAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACfJ,gBAAc,CAAC,gBAAgB,SAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAG,CACtD,CAAC;SACH;;;;;;;;QACD,0DAAwB;;;;;;;QAAxB,UAAyB,IAAY,EAAE,EAAU,EAAE,UAAsB,EAAE,QAAoB;YAA5C,2BAAA,EAAA,cAAsB;YAAE,yBAAA,EAAA,YAAoB;YAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACfA,gBAAc,CAAC,oBAAoB,CACpC,IAAI,EACJ,EAAE,CACH,oBAAe,UAAU,kBAAa,QAAU,CAClD,CAAC;SACH;;;;QAED,oDAAkB;;;QAAlB;SAEC;;;;;QAED,oDAAkB;;;;QAAlB,UAAmB,GAAQ;YACzB,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAA+BA,gBAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC;iBACzE,IAAI,CACHK,eAAK,CAAC,CAAC,CAAC,EACRb,aAAG;;;;YACD,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAA,EACpC,CACF,CAAC;SACL;;;;;;;QAGD,kDAAgB;;;;;;QAAhB,UAAiB,OAAe;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACfQ,gBAAc,CAAC,YAAY,SAAI,OAAS,CAC5C,CAAC;SACH;;;;;QAED,oDAAkB;;;;QAAlB,UAAmB,UAAe;YAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA+B,KAAGA,gBAAc,CAAC,iBAAiB,GAAG,UAAY,CAAC;iBACnG,IAAI,CACHK,eAAK,CAAC,CAAC,CAAC,EACRb,aAAG;;;;YACD,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAA,EACpC,CACF,CAAC;SACL;;;;;;QAED,2DAAyB;;;;;QAAzB,UAA0B,OAAY,EAAE,WAAgB;;gBAChD,GAAG,GAAG,WAAW,KAAK,SAAS,CAAC,eAAe,CAAC,iBAAiB;gBACvEQ,gBAAc,CAAC,wBAAwB,GAAGA,gBAAc,CAAC,yBAAyB;YAClF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,KAAG,GAAK,EAAE,OAAO,CAAC;iBACnE,IAAI,CACHK,eAAK,CAAC,CAAC,CAAC,EACRb,aAAG;;;;YACD,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAA,EACpC,CACF,CAAC;SACL;;;;;QAED,mDAAiB;;;;QAAjB,UAAkB,GAAQ;YACxB,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAACQ,gBAAc,CAAC,YAAY,EAAE,GAAG,CAAC;iBACtC,SAAS,EAAE,CAAC;SAChB;;;;;;QAED,gEAA8B;;;;;QAA9B,UAA+B,GAAQ,EAAE,IAAS;;gBAC1C,GAAG,GAAQ,IAAI,KAAK,UAAU,GAAGA,gBAAc,CAAC,iBAAiB,GAAGA,gBAAc,CAAC,eAAe;YACxG,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;iBACd,SAAS,EAAE,CAAC;SAChB;;;;;QAED,oDAAkB;;;;QAAlB,UAAmB,GAAQ;YACzB,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAACA,gBAAc,CAAC,eAAe,EAAE,GAAG,CAAC;iBACzC,SAAS,EAAE,CAAC;SAChB;;;;;QAED,uDAAqB;;;;QAArB,UAAsB,GAAQ;YAC5B,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAACA,gBAAc,CAAC,kBAAkB,EAAE,GAAG,CAAC;iBAC5C,SAAS,EAAE,CAAC;SAChB;;;;;QAED,mDAAiB;;;;QAAjB,UAAkB,UAAoC;YACpD,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAAmCA,gBAAc,CAAC,aAAa,EAAE,UAAU,CAAC;iBAChF,SAAS,EAAE,CAAC;SAChB;;;;;QACD,qDAAmB;;;;QAAnB,UAAoB,UAAoC;YACtD,IAAI,UAAU,EAAE,GAAG;;;;YAInB,OAAOG,OAAE,EAAE,CAAC,SAAS,EAAE,CAAC;SACzB;;;;;QAED,qDAAmB;;;;QAAnB,UAAoB,SAAiB;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACfH,gBAAc,CAAC,eAAe,SAAI,SAAW,CACjD,CAAC;SACH;;;;;QAED,uDAAqB;;;;QAArB,UAAsB,GAAuC;YAA7D,iBASC;YARC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;;gBACnC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CACtBA,gBAAc,CAAC,iBAAiB,SAAI,GAAG,CAAC,OAAO,CAAC,QAAU,EAAE,GAAG,CACnE;YACD,IAAI,CAAC,SAAS;;;;YAAC,UAAC,aAAkB;gBAC5B,KAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1H,EAAC,CAAC;YACP,OAAO,IAAI,CAAC;SACb;;;;;;;QAEK,kDAAgB;;;;;;QAAtB,UAAuB,EAAU,EAAE,YAAqB,EAAE,cAAuB;;;;oBAC/E,sBAAO,IAAI,OAAO;;;;wBAAC,UAAM,OAAO;;;;;8CAC1B,cAAc;4CAChB,cAAc,CAAC,WAAW,EAAE,KAAK,UAAU,CAAA,EADzC,wBACyC;wCACrC,OAAO,GAAG;4CACd,aAAa,EAAE,YAAY,GAAG,YAAY,GAAG,EAAE;4CAC/C,UAAU,EAAE,EAAE;4CACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gDACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gDACrB,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;6CACpC,CAAC;4CACF,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;4CACxB,WAAW,EAAE,UAAU;yCACxB;wCACD,qBAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO;;;4CAAC;gDACnE,OAAO,CAAC,IAAI,CAAC,CAAC;6CACf,EACA,EAAA;;wCAHD,SAGC,CAAC;;;wCAEI,OAAO,GAAG;4CACd,aAAa,EAAE,YAAY,GAAG,YAAY,GAAG,EAAE;4CAC/C,UAAU,EAAE,EAAE;4CACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;4CAC/C,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;yCACzB;wCACD,qBAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO;;;4CAAC;gDACnE,OAAO,CAAC,IAAI,CAAC,CAAC;6CACf,EAAC,EAAA;;wCAFF,SAEE,CAAC;;;;;6BAEN,EAAC,EAAC;;;SACJ;;;;;QACD,sDAAoB;;;;QAApB,UAAqB,OAAiD;;;YAGpE,IAAI,OAAO,EAAE;aAEZ;YACD,0BAAOG,OAAE,EAAE,GAAQ;SACpB;;;;;QAED,6CAAW;;;;QAAX,UACE,UAAkB;;;;YAOlB,OAAOG,UAAK,CAAC;SACd;;;;QAED,kDAAgB;;;QAAhB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAACN,gBAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAACV,oBAAU;;;;YAAC,UAAA,IAAI,IAAI,OAAAa,OAAE,CAAC,IAAI,CAAC,GAAA,EAAC,CAAC,CAAC;SAClG;;;;;QAED,+CAAa;;;;QAAb,UAAc,GAAW;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAACH,gBAAc,CAAC,cAAc,EAAE,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;SAC/D;;;;;QACD,uDAAqB;;;;QAArB,UAAsB,GAAW;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAIA,gBAAc,CAAC,sBAAsB,aAAQ,kBAAkB,CAAC,GAAG,CAAG,CAAC,CAAC;SACjG;;;;;QACD,wCAAM;;;;QAAN,UAAO,GAA4B;YACjC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4BA,gBAAc,CAAC,iBAAiB,EAAE;gBACjF,OAAO,EAAE,GAAG;aACb,CAAC,CAAC;SACJ;;;;;QACD,4DAA0B;;;;QAA1B,UACE,GAAmD;YAEnD,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,aAAa;gBACf,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE;qBACvB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC7E,GAAG,CAAC,OAAO,gBACN,GAAG,CAAC,OAAO,IACd,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,GAClC,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnBA,gBAAc,CAAC,oCAAoC,EACnD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;SACH;;;;;QACD,0CAAQ;;;;QAAR,UAAS,GAA8B;;gBAC/B,OAAO,GAAGO,UAAK,CAAC,GAAG,EAAE,UAAU,CAAC;YACtC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,EAAE;gBACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgC,OAAO,CAAC,CAAC;aAC9D;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgCP,gBAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;SAC7F;;;;;QAED,oDAAkB;;;;QAAlB,UAAmB,GAAgC;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgCA,gBAAc,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;SACzG;;;;;QAED,oDAAkB;;;;QAAlB,UAAmB,SAAiB;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwBA,gBAAc,CAAC,cAAc,SAAI,SAAW,CAAC,CAAC;SAC3F;;;;;QACD,qDAAmB;;;;QAAnB,UAAoB,SAAiB;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAIA,gBAAc,CAAC,cAAc,SAAI,SAAW,CAAC,CAAC;SAC1E;;;;;;QACD,kDAAgB;;;;;QAAhB,UAAiB,SAAiB,EAAE,IAAwB;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAASA,gBAAc,CAAC,cAAc,SAAI,SAAW,EAAE,IAAI,CAAC,CAAC;SACnF;;;;;QAED,0DAAwB;;;;QAAxB,UAAyB,OAA2B;YAClD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE;gBACpC,OAAO,OAAO,CAAC;aAChB;YACD,IACE,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,OAAO;gBAC7D,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtD,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,qBAAqB;iBAC3E,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,eAAe;oBACrE,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iBACtD,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,MAAM;oBAC5D,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EACvD;;oBACM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aAC7C;YACD,IACE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,QAAQ;gBAC/D,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,kBAAkB;gBACzE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,OAAO;gBAC9D,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,iBAAiB;gBACxE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,gBAAgB;gBACvE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,eAAe;gBACtE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,eAAe;gBACtE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,gBAAgB,CAAC,eAAe,EACtE;gBACA,OAAO,OAAO,CAAC;aAChB;;gBACK,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;;gBAChC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;YAC/D,OAAO,aAAa,CAAC;SACtB;;;;;QAED,uDAAqB;;;;QAArB,UAAsB,MAAc;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAASA,gBAAc,CAAC,mBAAmB,SAAI,MAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;SAC1F;;;;;QAED,6CAAW;;;;QAAX,UAAY,GAAW;YACrB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;SAChC;;;;;QAED,iDAAe;;;;QAAf,UAAgB,IAAS;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAM,KAAGA,gBAAc,CAAC,iBAAmB,EAAE,IAAI,CAAC,CAAC;SAC1E;;;;;QAED,2CAAS;;;;QAAT,UAAU,IAAS;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,KAAGA,gBAAc,CAAC,UAAY,EAAE,IAAI,CAAC,CAAC;SAClE;;;;;QACD,8CAAY;;;;QAAZ,UAAa,MAAW;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,KAAGA,gBAAc,CAAC,aAAa,CAAC,MAAM,CAAG,CAAC,CAAC;SACtE;;;;;QAED,uDAAqB;;;;QAArB,UAAsB,GAAQ;YAC5B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;SACzE;;;;;;QAED,gDAAc;;;;;QAAd,UAAe,KAAa,EAAE,MAAW;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,gBAAc,CAAC,gBAAgB,EAAE,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC,IAAI,CAACV,oBAAU;;;;YAAC,UAAA,IAAI,IAAI,OAAAa,OAAE,CAAC,IAAI,CAAC,GAAA,EAAC,CAAC,CAAC;SAC9G;;;;;QACD,qDAAmB;;;;QAAnB,UAAoB,SAAmB;;gBACjC,GAAG,GAAG,EAAE;;gBACN,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9G,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClBH,gBAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CACvC,CAAC;aACH;YACD,GAAG,GAAG,0BAAwB,SAAW,CAAC;YAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,CAAC,CAAC;;SAEjD;;;;;QAED,sDAAoB;;;;QAApB,UAAqB,OAAY;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;SAC7E;;;;;QAED,kDAAgB;;;;QAAhB,UAAiB,OAAY;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;SACvE;;;;QAED,iDAAe;;;QAAf;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SAClE;;;;;QAEK,iDAAe;;;;QAArB,UAAsB,IAAY;;;;;;;4BAC5B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM;4BACxB,qBAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,EAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI;;;;gCAAC,UAAO,GAAQ;;wCACnH,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;4CAC5C,sBAAO,GAAG,CAAC,OAAO,EAAA;yCACnB;6CAAM;4CACL,sBAAO,EAAE,EAAA;yCACV;;;qCACF,EAAC,CAAC,KAAK;;;;gCAAC,UAAC,IAAS;oCACjB,OAAO,EAAE,CAAA;iCACV,EAAC,EAAA;;4BARI,YAAY,GAAI,SAQpB;4BACF,sBAAO,YAAY,IAAI,EAAE,EAAA;;;;SAC1B;;;;;QAEK,iDAAe;;;;QAArB,UAAsB,OAAY;;;;;gCACJ,qBAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAA;;4BAApE,cAAc,GAAQ,SAA8C;kCACtE,cAAc,IAAI,cAAc,CAAC,MAAM,CAAA,EAAvC,wBAAuC;4BACnC,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC;kCACxC,kBAAkB,CAAC,OAAO,CAAC,cAAc,KAAM,SAAS,CAAC,eAAe,CAAC,eAAe;gCAC1F,kBAAkB,CAAC,OAAO,CAAC,cAAc,KAAM,SAAS,CAAC,eAAe,CAAC,mBAAmB;gCAC5F,kBAAkB,CAAC,OAAO,CAAC,cAAc,KAAM,SAAS,CAAC,eAAe,CAAC,iBAAiB;gCAC1F,kBAAkB,CAAC,OAAO,CAAC,eAAe,KAAM,SAAS,CAAC,gBAAgB,CAAC,eAAe;gCAC1F,kBAAkB,CAAC,OAAO,CAAC,eAAe,KAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAA,EAJhF,wBAIgF;4BAChF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;gCACrD,sBAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAC;6BAClC;4BACa,qBAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAA;;4BAArE,IAAI,GAAI,SAA6D;4BAC3E,sBAAO,IAAI,EAAC;gCAEA,qBAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAA;;4BAArE,IAAI,GAAI,SAA6D;4BAC3E,sBAAO,IAAI,EAAC;gCAGhB,sBAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAC;;;;SAClC;;;;;;QACK,uDAAqB;;;;;QAA3B,UAA4B,OAAY,EAAE,UAAe;;;;;;;4BAEvD,IAAI,UAAU,CAAC,oBAAoB,KAAM,GAAG,EAAE;gCAC5C,sBAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAC;6BACrC;4BACD,IAAI,UAAU,CAAC,kBAAkB,IAAI,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gCACrE,gBAAgB,gBACjB,UAAU,IACb,UAAU,EAAE,UAAU,CAAC,YAAY,EACnC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,eAAe,EACnD,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,GAC9B;gCACD,IAAI,gBAAgB,CAAC,iBAAiB,EAAE;oCACtC,sBAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAChB,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAC;iCAC3G;gCACD,IAAI,gBAAgB,CAAC,YAAY,EAAE;oCACjC,sBAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAChB,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAC;iCAC7E;6BACF;kCACG,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,iBAAiB,CAAA,EAAvD,wBAAuD;4BACjD,IAAI,GAAG,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,iBAAiB;4BAC/C,qBAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI;;;;gCAAC,UAAO,GAAQ;;;wCACxF,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;4CACrC,WAAW,GAAQ,GAAG,CAAC,MAAM,CAAC,OAAO;4CACrC,gBAAgB,gBACjB,UAAU,IACb,UAAU,EAAE,UAAU,CAAC,YAAY,EACnC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,eAAe,EACnD,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,GAC9B;4CACD,OAAO,GAAI,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;4CACxG,IAAI,OAAO,EAAE;gDACX,sBAAO,OAAO,EAAC;6CAChB;yCACF;;;qCACF,EAAC,EAAA;;4BAdI,YAAY,GAAG,SAcnB;4BACF,sBAAO,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAC;gCAEnE,sBAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAC;;;;SAElC;;;;;;;QAED,yDAAuB;;;;;;QAAvB,UAAwB,OAAY,EAAE,UAAe,EAAE,QAAa;YAClE,IAAI,OAAO,EAAE;;oBACL,GAAG,GAAG,oBAAoB,CAC9B,UAAU,EACV,QAAQ,EACR,OAAO,CAAC,UAAU,EAClB,QAAQ,EACR,KAAK,EACL,mBAAmB,EACnB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,CACb;gBACD,OAAO,GAAG,CAAC;aACZ;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAClC;;;;;QACD,6CAAW;;;;QAAX,UAAY,OAAY;;gBAChB,OAAO,GAAQ;gBACnB,GAAG,EAAE,eAAY,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,eAAW;gBAC1F,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;aAC1C;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,OAAO,CAAC,WAAW,gBAAQ,OAAO,CAAC,WAAW,IAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAE,CAAC;aAChG;YACD,OAAO,OAAO,CAAC;SAChB;;;;;QACD,mDAAiB;;;;QAAjB,UAAkB,SAAc;;;YAG9B,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;;oBAC5B,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;;oBACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;;oBAC5D,OAAO,GAAG,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG;gBACxF;;gBAEM,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;uBAClC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EACrC;aACP;YAAC,OAAO,IAAI,CAAC;SACf;;;;;;QACD,+CAAa;;;;;QAAb,UAAc,MAAW,EAAE,GAAQ;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,MAAM,EAAE,GAAG,CAAC,CAAC;SACxD;;;;;QACD,8CAAY;;;;QAAZ,UAAa,MAAW;;YAEtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,MAAM,CAAC,CAAC;SAClD;;;;;;QAGD,yDAAuB;;;;;QAAvB,UAAwB,cAAmB,EAAE,YAAoB;YAC/D,IAAG,cAAc,IAAI,cAAc,CAAC,MAAM,EAAE;;oBACtC,YAAY,GAAG,cAAc,CAAC,MAAM;;;;gBAAC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,YAAY,KAAK,YAAY,GAAA,EAAC;gBACzF,OAAO,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAE,EAAE,CAAA;aACjD;SACF;;oBAthBF3B,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAjEQwB,eAAU;oBAEVW,6BAAqB;oBAStB,oBAAoB;;;sCAX5B;KA+DA,IAuhBC;;;QA5gBC,gDAAkD;;QAClD,iDAAoD;;;;;QAEpD,gDAA+C;;QAC/C,iDAAyD;;QACzD,kDAAqC;;QACrC,6DAAgD;;QAChD,6DAAiD;;QACjD,+DAA4D;;QAC5D,gEAAiF;;;;;QAf/E,uCAAwB;;;;;QACxB,4CAAwC;;;;;QACxC,0CAAqC;;;;;;;ICtEzC;;;;;;AAWA;;QAKE;YAOA,aAAQ,GAAG,IAAI,CAAC;;YAEhB,YAAO,GAAG,EAAE,CAAC;YACb,YAAO,GAAG,uBAAuB,CAAC;YAClC,aAAQ,GAAG,uBAAuB,CAAC;YACnC,aAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEpD,cAAS,GAAuB,IAAI,CAAC;YACrC,eAAU,GAAuB,IAAI,CAAC;YACtC,uBAAkB,GAAuB,IAAI,CAAC;YAC9C,sBAAiB,GAAuB,IAAI,CAAC;YAC7C,mBAAc,GAAoC,IAAI,CAAC;YACvD,eAAU,GAAoC,IAAI,CAAC;YACnD,YAAO,GAAkB,IAAI,CAAC;YAE9B,QAAG,GAAoB,IAAI,CAAC;YAC5B,cAAS,GAAkB,EAAE,CAAC;YAC9B,iBAAY,GAAG,KAAK,CAAC;YACrB,mBAAc,GAAG,KAAK,CAAC;YACvB,yBAAoB,GAAG,KAAK,CAAC;YAC7B,aAAQ,GAAG,IAAI,CAAC;YAChB,mBAAc,GAA2B,IAAI,CAAC;YAC9C,gBAAW,GAA+B,IAAI,CAAC;YAC/C,kBAAa,GAA+B,IAAI,CAAC;YACjD,sBAAiB,GAAqC,IAAI,CAAC;YAG3D,oBAAe,GAAG,KAAK,CAAC;YACxB,cAAS,GAAG,KAAK,CAAC;;YAOlB,eAAU,GAAG,IAAIP,oBAAe,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;;YAGzD,uBAAkB,GAAG,IAAIQ,kBAAa,CAA2B,CAAC,CAAC,CAAC;YACpE,sBAAiB,GAAG,IAAIA,kBAAa,EAAW,CAAC;YACjD,uBAAkB,GAAG,IAAIA,kBAAa,CAAU,CAAC,CAAC,CAAC;YAE3C,kBAAa,GAAG,IAAIR,oBAAe,CAAC,KAAK,CAAC,CAAC;YACnD,4BAAuB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAE5D,oBAAe,GAAG,IAAIA,oBAAe,CAAC,IAAI,CAAC,CAAC;YAC5C,8BAAyB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;;YAGhE,yBAAoB,GAAG,IAAIA,oBAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,oCAA+B,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;YAE3E,4BAAuB,GAAG,IAAIC,YAAO,EAAE,CAAC;;YAGxC,sBAAiB,GAAmC,IAAI,CAAC;YACzD,qBAAgB,GAAsC,IAAI,CAAC;YAC3D,eAAU,GAAG,KAAK,CAAC;YACnB,sBAAiB,GAAG,KAAK,CAAC;YAC1B,UAAK,GAAG,KAAK,CAAC;YACd,iBAAY,GAA0C,IAAI,CAAC;YAC3D,sBAAiB,GAAG,EAAE,CAAC;YACvB,sBAAiB,GAAoB,IAAI,CAAC;YAC1C,kBAAa,GAAG,KAAK,CAAC;YACtB,oBAAe,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAEvE,kBAAa,GAAmC;gBAC9C,KAAK,EAAE,SAAS;aACjB,CAAC;YACF,eAAU,GAAmC;gBAC3C,KAAK,EAAE,SAAS;aACjB,CAAC;YACF,wBAAmB,GAAiD,IAAI,CAAC;;;;;;;;YAQzE,gBAAW,GAAuC,IAAI,CAAC;;YAGvD,YAAO,GAAG,EAAE,CAAC;YAEb,yBAAoB,GAAG,IAAIA,YAAO,EAAE,CAAC;YACrC,2BAAsB,GAAG,IAAIA,YAAO,EAAE,CAAC;;;;;;SAvFtC;;;;;QAwFD,mDAAmB;;;;QAAnB,UAAoB,KAAc;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;;;QACD,qDAAqB;;;;QAArB,UAAsB,KAAc;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;;;;;QAED,0DAA0B;;;;QAA1B,UAA2B,KAAU;YACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvC;;oBA5GF7B,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;oCAbD;KAWA,IA6GC;;;QAjGC,yCAAgB;;QAEhB,wCAAa;;QACb,wCAAkC;;QAClC,yCAAmC;;QACnC,yCAAoD;;QAEpD,0CAAqC;;QACrC,2CAAsC;;QACtC,mDAA8C;;QAC9C,kDAA6C;;QAC7C,+CAAuD;;QACvD,2CAAmD;;QACnD,wCAA8B;;QAC9B,kDAA2B;;QAC3B,oCAA4B;;QAC5B,0CAA8B;;QAC9B,6CAAqB;;QACrB,+CAAuB;;QACvB,qDAA6B;;QAC7B,yCAAgB;;QAChB,+CAA8C;;QAC9C,4CAA+C;;QAC/C,8CAAiD;;QACjD,kDAA2D;;QAE3D,6CAAkB;;QAClB,gDAAwB;;QACxB,0CAAkB;;QAClB,2CAAoC;;QACpC,0CAAe;;QACf,qDAA0B;;QAC1B,oDAAyB;;QAGzB,2CAAyD;;QAGzD,mDAAoE;;QACpE,kDAAiD;;QACjD,mDAAmD;;;;;QAEnD,8CAAmD;;QACnD,wDAA4D;;QAE5D,gDAA4C;;QAC5C,0DAAgE;;QAGhE,qDAAgE;;QAChE,gEAA2E;;QAE3E,wDAAwC;;QAGxC,kDAAyD;;QACzD,iDAA2D;;QAC3D,2CAAmB;;QACnB,kDAA0B;;QAC1B,sCAAc;;QACd,6CAA2D;;QAC3D,kDAAuB;;QACvB,kDAA0C;;QAC1C,8CAAsB;;QACtB,gDAAuE;;QAEvE,8CAEE;;QACF,2CAEE;;QACF,oDAAyE;;QAQzE,4CAAuD;;QAGvD,wCAAa;;QAEb,qDAAqC;;QACrC,uDAAuC;;;;;;;AC7GzC;QAiBI,yCAAoB,SAA2B,EAAU,IAAgB,EAAU,SAAgC;YAA/F,cAAS,GAAT,SAAS,CAAkB;YAAU,SAAI,GAAJ,IAAI,CAAY;YAAU,cAAS,GAAT,SAAS,CAAuB;YANnH,iBAAY,GAAG,EAAE,CAAC;;YAElB,qBAAgB,GAAG,IAAI4B,oBAAe,CAAC,IAAI,CAAC,CAAC;YAC7C,+BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YAClE,uBAAkB,GAAG,mCAAmC,CAAC;;SAIxD;;;;QAED,qDAAW;;;QAAX;YACI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc;oBAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB;oBAC/D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,aAAa,EAAE;;wBAC3E,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,aAAa;oBAC1F,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;iBAC/C;qBAAM;oBACL,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;;;4BAEvC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBAC1B;yBAAM;wBACL,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBACpC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;qBAC/C;iBACF;aACJ;iBAAM;gBACH,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;;;wBAErC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC5B;aACJ;SACJ;;;;;;;QAED,oEAA0B;;;;;;QAA1B,UAA2B,KAAa,EAAE,IAAS,EAAE,OAAY;;gBACzD,MAAM,GAAG,KAAK;YAClB,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE;;;oBAEH,cAAc,GAAG,IAAI,GAAG,GAAG,GAAI,MAAM,GAAG,OAAO;gBACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;aACjD;;;gBAEK,eAAe,GAAG,IAAI,GAAG,GAAG,GAAI,MAAM;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SAClD;;;;;;;QAED,wDAAc;;;;;;QAAd,UAAe,KAAa,EAAE,IAAS,EAAE,OAAY;YACjD,IAAG,KAAK,EAAE;;oBACF,MAAM,GAAG,KAAK;gBAGtB,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAE;;oBACnC,IAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC5B,IAAE,CAAC,OAAO;;;;;gBAAC,UAAC,CAAM,EAAE,KAAU;oBAC1B,IAAI,KAAK,KAAK,CAAC,EAAE;wBACb,IAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC/C;iBACJ,EAAC,CAAC;gBACH,MAAM,GAAG,IAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,OAAO,EAAE;;;wBAEL,cAAc,GAAG,IAAI,GAAG,GAAG,GAAI,MAAM,GAAG,OAAO;oBACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;iBAC/C;;;oBAEK,eAAe,GAAG,IAAI,GAAG,GAAG,GAAI,MAAM;gBAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aAClD;YACG,OAAO,KAAK,CAAA;SACf;;;;;;;QAED,8DAAoB;;;;;;QAApB,UAAqB,KAAa,EAAE,IAAS,EAAE,OAAY;;gBACnD,MAAM,GAAG,KAAK;;gBACZ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAC5B,EAAE,CAAC,OAAO;;;;;YAAC,UAAC,CAAM,EAAE,KAAU;gBAC1B,IAAI,KAAK,KAAK,CAAC,EAAE;oBACb,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC/C;aACJ,EAAC,CAAC;YACH,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,OAAO,EAAE;;;oBAEL,cAAc,GAAG,IAAI,GAAG,GAAG,GAAI,MAAM,GAAG,OAAO;gBACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;aAC/C;;;gBAEK,eAAe,GAAG,IAAI,GAAG,GAAG,GAAI,MAAM;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SAClD;;;;;QAED,+DAAqB;;;;QAArB,UAAsB,IAAS;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;SAC7D;;;;;;;QAED,gEAAsB;;;;;;QAAtB,UAAuB,KAAU,EAAE,IAAS,EAAE,MAAW;YACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,MAAM,EAAE;;oBACN,UAAU,GAAG;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,MAAM;wBACd,cAAc,EAAE;4BACd,oBAAoB,EAAE;gCAClB,aAAa,EAAE,IAAI,CAAC,YAAY;6BACnC;yBACF;qBACF;iBACJ;gBACD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;aACnD;SACH;;oBA7HJ5B,eAAU,SAAC;wBACR,UAAU,EAAE,MAAM;qBACrB;;;;oBANQqC,uBAAgB;oBAFhBb,eAAU;oBAIV,qBAAqB;;;8CAJ9B;KAMA,IA8HC;;;QAzHG,uDAAkB;;QAElB,2DAA6C;;QAC7C,qEAAkE;;QAClE,6DAAyD;;;;;QAE7C,oDAAmC;;;;;QAAE,+CAAwB;;;;;QAAE,oDAAwC;;;;;;;;;;ICUvH,oCAuCC;;;QAtCC,oCAAY;;QACZ,6CAAsB;;QACtB,qCAAc;;QACd,0CAAmB;;QACnB,iDAA0B;;QAC1B,wCAAsD;;QACtD,2CAAmB;;QACnB,+CAME;;QACF,6CAKE;;QACF,4CAAiB;;QACjB,yCAAkB;;QAClB,qCAA6D;;QAC7D,0CAAmB;;QACnB,0CAAmB;;QACnB,4CAAqB;;QACrB,0CAA8C;;QAC9C,6CAAyD;;QACzD,4CAAwD;;QACxD,6CAAsB;;QACtB,6CAAsB;;QACtB,4CAAqB;;QACrB,8CAAoB;;QACpB,gDAAyB;;QACzB,iDAAuB;;QACvB,4CAAiB;;QACjB,wCAAa;;AAIf;QAKsDc,oDAAmB;QA+BvE;;QAEyB,WAAgB,EAC/B,UAAmC,EACnC,SAAwB,EACxB,QAAsB,EACtB,SAAgC,EACjC,UAA0B,EAG1B,MAAc,EACb,OAA6B,EAC7B,SAA2B,EAC3B,gBAAiD;YAb3D,YAeE,iBAAO,SAQR;YApBS,gBAAU,GAAV,UAAU,CAAyB;YACnC,eAAS,GAAT,SAAS,CAAe;YACxB,cAAQ,GAAR,QAAQ,CAAc;YACtB,eAAS,GAAT,SAAS,CAAuB;YACjC,gBAAU,GAAV,UAAU,CAAgB;YAG1B,YAAM,GAAN,MAAM,CAAQ;YACb,aAAO,GAAP,OAAO,CAAsB;YAC7B,eAAS,GAAT,SAAS,CAAkB;YAC3B,sBAAgB,GAAhB,gBAAgB,CAAiC;YAtCjD,mBAAa,GAAG,IAAIpC,iBAAY,EAAO,CAAA;YACvC,qBAAe,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACzC,sBAAgB,GAAG,IAAIA,iBAAY,EAAO,CAAA;YAC3C,gBAAU,GAAQ,EAAE,CAAA;YACpB,iBAAW,GAAY,KAAK,CAAA;YAC5B,kBAAY,GAAQ,EAAE,CAAA;YAExB,QAAE,GAAG,uBAAqB,IAAI,CAAC,MAAM,EAAI,CAAC;YACjD,yBAAmB,GAA6C,EAAE,CAAC;YACnE,oBAAc,GAAa,EAAE,CAAC;YAC9B,uBAAiB,GAAG,IAAI,CAAC;YACzB,sBAAgB,GAAG,KAAK,CAAC;YACzB,qBAAe,GAAG,KAAK,CAAC;YACxB,sBAAgB,GAAG,KAAK,CAAC;YACzB,oBAAc,GAAG,CAAC,CAAC;YACnB,iBAAW,GAAG,CAAC,CAAC;YAChB,sBAAgB,GAAG,CAAC,CAAC;YACrB,sBAAgB,GAAG,IAAI,CAAC;YACxB,aAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,sBAAgB,GAAG,KAAK,CAAC;YAEzB,6BAAuB,GAAwB,IAAI,CAAC;YACpD,uBAAiB,GAAG,EAAE,CAAC;YACvB,kBAAY,GAAQ,EAAE,CAAC;YAkBrB,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;oBAChC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/B,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC1B;YACD,KAAI,CAAC,WAAW,GAAG,WAAW,CAAA;;SAC/B;;;;QAED,mDAAQ;;;QAAR;YAAA,iBAQC;;YANC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS;;;;YAAC,UAAC,IAAS;gBACjD,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACjC,EAAC,CAAA;SAGH;;;;QAED,sDAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;aAC5C;SACF;;;;;QAED,wDAAa;;;;QAAb,UAAc,GAAW;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClF,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC;SACb;;;;;QAED,4DAAiB;;;;QAAjB,UAAkB,GAAW;YAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAChD,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,EAAE,GAAG,CAAC,CAAC;SAC9C;;;;;;QACO,2DAAgB;;;;;QAAxB,UAAyB,GAAW;;gBAC5B,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,CAAC;YAC3D,OAAO,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;SACrC;;;;;QAEO,mDAAQ;;;;QAAhB;;YAAA,iBA8BC;YA7BC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,GAAA,EAAC,IAAI,EAAE,CAAC;YACxH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;;;gBAED,KAAoB,IAAA,KAAAqC,SAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA,gBAAA,4BAAE;oBAAvC,IAAM,KAAK,WAAA;oBACd,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;wBACnC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;qBAC9C;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;qBAClD;iBACF;;;;;;;;;;;gBAEK,WAAW,GAAkD,IAAI,CAAC,UAAU,CAAC,MAAM;iBACtF,GAAG;;;;YAAC,UAAA,KAAK,IAAI,QAAC;gBACb,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,KAAK,EAAE;gBAChE,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;aACvE,IAAC,EAAC;iBACF,MAAM;;;;YAAC,UAAC,EAAmB;oBAAjB,YAAG,EAAE,cAAI,EAAE,cAAI;gBAAO,OAAA,GAAG,IAAI,IAAI,IAAI,IAAI;aAAA,EAAC;;gBACjD,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,GAAA,EAAC,CAAC;YAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;iBACjD,IAAI,CAACC,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAA,EAAC,CAAC;iBACxD,SAAS;;;;YAAC,UAAA,KAAK;gBACd,WAAW;qBACR,MAAM;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;qBAChE,GAAG;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,GAAA,EAAC;qBACf,OAAO;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAA,EAAC,CAAC;aACnD,EAAC,CAAC;SACN;;;;;;;QAEO,4DAAiB;;;;;;QAAzB,UAA0B,GAAW,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;gBAC3D,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,KAAK,GAAG,GAAA,EAAC;YACzE,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;aAClE;SACF;;;;;QAED,yDAAc;;;;QAAd,UAAe,IAAS;YAAxB,iBAiBC;;gBAhBK,KAAK,GAAG,CAAC;YACb,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5F,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClF,IAAI,CAAC,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,GAAQ;oBAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,KAAK,KAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE;wBAClG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;qBACnB;iBACF,EAAC,CAAC;gBACH,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBACxB;aACF;;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAED,sBAAI,sDAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC;aAC1C;;;WAAA;;;;;QAED,kDAAO;;;;QAAP,UAAQ,IAA2B;YACjC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC9B;YACD,OAAO,EAAE,CAAC;SAEX;;;;;;QACD,yDAAc;;;;;QAAd,UAAe,KAAmD,EAAE,IAA2B;YAC7F,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC1E,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;aACjD;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;SAChF;;;;;QACD,uDAAY;;;;QAAZ,UAAa,IAA2B;YACtC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC;SACtE;;;;;QAED,mEAAwB;;;;QAAxB,UAAyB,IAA2B;YAClD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;;;;;QACD,oDAAS;;;;QAAT,UAAU,IAA2B;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnC,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/C;YAAC;;;oBAEM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;;;;;gBACxC,UAAC,IAAI,EAAE,OAAO;oBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;wBACrC,OAAO,OAAO,CAAC;qBAChB;oBACD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;wBACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;qBACxE;oBACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACpC,OAAO,OAAO,CAAC;qBAChB;oBACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;wBACpC,OAAO,IAAI,CAAC;qBACb;oBACD,OAAO,OAAO,CAAC;;;iBAGhB,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAElB,OAAO,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACzE;SACF;;;;;;QAEO,8DAAmB;;;;;QAA3B,UAA4B,SAAc;;gBAClC,OAAO,GAAQ,EAAE;YACvB,IAAI,SAAS,CAAC,WAAW,KAAK,KAAK,EAAE;gBACnC,SAAS,CAAC,OAAO;;;;gBAAE,UAAC,CAAM;oBACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;;;;oBAAC,UAAA,GAAG;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;qBACvB,EAAC,CAAC;iBACJ,GAAE,CAAC;gBACJ,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,SAAS,CAAC;SAClB;;;;;;QAEO,qEAA0B;;;;;QAAlC,UAAmC,SAAc;;gBACzC,OAAO,GAAQ,EAAE;YACvB,IAAI,SAAS,CAAC,WAAW,KAAK,KAAK,EAAE;gBACnC,SAAS,CAAC,OAAO;;;;gBAAE,UAAC,CAAM;oBACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;;;;oBAAC,UAAA,GAAG;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;qBACvB,EAAC,CAAC;iBACJ,GAAE,CAAC;gBACJ,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,SAAS,CAAC;SAClB;;;;;QAED,8DAAmB;;;;QAAnB,UAAoB,OAAY;;gBAC1B,QAAa;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACvC;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;;gBAExD,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;aAC1E;iBAAM,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE;;gBAEzE,OAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;aAC9F;iBAAM,IAAI,OAAO,CAAC,YAAY;gBAC7B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAC5C;gBACA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;iBACxC;qBAAM;oBACL,OAAO,CAAC,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC;oBAEtD,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;wBACpD,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;4BAC3D,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;qBACpD;iBACF;aAEF;YACD,OAAO,OAAO,CAAC;SAChB;;;;;;;QAEO,oEAAyB;;;;;;QAAjC,UACE,KAA+C,EAC/C,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;YAG5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC3D,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACrD,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACpD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACtD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC3D,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACxD,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC1D,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;SAEzD;;;;;;QAED,kEAAuB;;;;;QAAvB,UAAwB,KAA+C,EAAE,qBAA4B;YAArG,iBAkGC;YAlGwE,sCAAA,EAAA,4BAA4B;YACnG,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;;oBACjG,MAAM,GAAG,EAAE;;oBACX,SAA6B;;oBAC7B,YAAgC;;oBAChC,YAAU,GAAU,EAAE;;oBACpB,WAAW,GAAGN,UAAK,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC;;;;;;gBAMtE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;oBAC9B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;iBAC5C;;;gBAGD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS;;;;gBAC5D,UAAC,MAAW;;wBACJ,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO;;wBAClC,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAC/E;;wBACK,WAAW,GAAG,YAAY;0BAC5B;4BACA,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE;4BACzD,WAAW,EAAE;gCACX,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gCACrD,CAAC,EACC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;sCACrE,IAAI,CAAC,SAAS;;oCAEd,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;;qCAE/B;sCACC,EAAE;6BACT;yBACF;0BACC,IAAI;oBACR,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;wBAC7B,SAAO,GAAG,OAAO,CAAC,GAAG;;;;wBAAC,UAAC,CAAM;;gCACrB,WAAW,GAAuB,CAAC,CAAC,OAAO;4BACjD,WAAW,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;4BAC7E,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;4BACnE,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;4BAChD,WAAW,CAAC,qBAAqB,GAAG,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC;4BAClE,WAAW,CAAC,qBAAqB,GAAG,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC;4BAClE,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC;4BAC1D,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;4BAC5D,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;4BAC5D,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;4BACtC,OAAO,WAAW,CAAC;yBACpB,EAAC,CAAC;qBACJ;;;;;;;;;;;;;oBAcD,YAAU,GAAG,CAAC,SAAO,IAAI,EAAE,EAAE,IAAI;;;;;oBAAC,UAAC,CAAM,EAAE,CAAM;;4BACzC,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC;;4BACnD,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC;wBACzD,OAAO,KAAK,GAAG,KAAK,CAAC;qBACtB,EAAC,CAAC;oBAEH,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;wBACnC,YAAU,GAAG,KAAI,CAAC,uBAAuB,CAAC,YAAU,EAAE,KAAK,CAAC,CAAC;wBAC7D,KAAI,CAAC,YAAY,CACf,KAAK,EACL,KAAI,CAAC,0BAA0B,CAAC,YAAU,EAAE,KAAK,CAAC,EAClD,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,YAAU,CACX,CAAC;qBACH;yBAAM;wBACL,KAAI,CAAC,YAAY,CACf,KAAK,EACL,KAAI,CAAC,0BAA0B,CAAC,YAAU,EAAE,KAAK,CAAC,EAClD,MAAM,EACN,qBAAqB,EACrB,WAAW,CACZ,CAAC;qBACH;iBACF;;;gBACD;oBACE,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;iBACpE,EACF,CAAC;aACH;SACF;;;;;;QAED,kEAAuB;;;;;QAAvB,UAAwB,UAAgC,EAAE,KAA+C;;gBACjG,UAAU,GAAU,EAAE;;gBACtB,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAC9C,UAAU;;;;YACV,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,CAAC,oBAAoB,GAAG,GAAG,GAAA,GACpE,KAAK,CACN;YAED,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;wCAC1B,CAAC;oBACR,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACjB,UAAU,CAAC,IAAI,cAER,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAChB,cAAc,EAAE,MAAM,KAClB,SAAS,CAAC,IAAI;;;;wBAAC,UAAA,QAAQ;4BACzB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gCACzE,OAAO,QAAQ,CAAC;6BACjB;4BACD,OAAO,SAAS,CAAC;yBAClB,EAAC,GAEL,CAAC;qBACH;;gBAdH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;4BAApC,CAAC;iBAeT;aACF;YACD,OAAO,UAAU,CAAC;SACnB;;;;;;;QAED,oEAAyB;;;;;;QAAzB,UAA0B,KAA2B,EAC3B,YAAiB,EACjB,KAA+C;;gBACvC,UAAU,GAAU,EAAE;;gBAChD,SAAS,GAAU,EAAE;;;;YAE3B,KAAK,CAAC,OAAO;;;;;;YAAC,UAAC,CAAC,EAAE,GAAG,EAAE,GAAG;;oBACpB,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,oBAAC,CAAC,CAAC,MAAM,IAAY,WAAW,EAAE,GAAG,EAAE;;oBAC3D,aAAa,GAAG,MAAM,KAAK,SAAS;gBAC1C,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;oBAC/B,IAAI,CAAC,aAAa,EAAE;wBAClB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;qBACnB;iBACD;qBAAM;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBACjB;aACC,EAAC,CAAA;;YAEF,SAAS,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;;oBACtB,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE;;oBAChD,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE;gBACtD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,EAAE;oBAC5C,OAAO,CAAC,CAAC,CAAA;iBACV;gBACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,EAAE;oBAC5C,OAAO,CAAC,CAAA;iBACT;gBACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE;oBAClD,OAAO,CAAC,CAAA;iBACT;gBACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE;oBAClD,OAAO,CAAC,CAAC,CAAA;iBACV;gBACD,OAAO,CAAC,CAAA;aACT,EAAC,CAAA;YACF,OAAO;gBACL,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;gBACpF,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;aAAC,CAAC;SACvF;;;;;;QAEK,4DAAiB;;;;;QAAvB,UAAwB,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;;kCAC/F,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA,EAArF,yBAAqF;;;;;;;;4BAQnF,eAAe,GAAQ,EAAE;;4BAE7B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,QAAQ;gCACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;gCAC9B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;gCACxC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;gCACzD,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gCAC1G,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAC/D,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACvC,CAAC;6BACH;kCACG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;;4BAE3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,IAAI,QAAQ,CAAC,eAAe,EAAE;gCAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAA4C;oCAE9G,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCACrF;6BACF;;;;4BAIkB,qBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAAlF,QAAQ,GAAG,SAAuE;kCAEpF,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAA,EAA5B,wBAA4B;iCAE1B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAA/B,wBAA+B;kCAC7B,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAA,EAAnC,wBAAmC;4BAEjC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,GAAA,EAAC;4BAC7C,qBAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI;;;;gCAAC,UAAO,GAAQ;;;wCACpJ,UAAU,GAAQ,EAAE;wCAC1B,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;4CAC5C,GAAG,CAAC,OAAO,CAAC,OAAO;;;;4CAAC,UAAC,IAAS;gDAC5B,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;6CACrC,EAAC,CAAA;4CACF,sBAAO,UAAU,EAAA;yCAClB;6CAAM;4CACL,sBAAO,EAAE,EAAA;yCACV;;;qCACF,EAAC,CAAC,KAAK;;;;gCAAC,UAAC,IAAS;oCACjB,OAAO,EAAE,CAAA;iCACV,EAAC,EAAA;;4BAZI,YAAY,GAAI,SAYpB;4BACF,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;;;4BAIjI,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EACvE,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;;;;4BAGC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;gCACxC,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACnE,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;6BACH;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;4BAGD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;;;;;;;;;;SAQ5E;;;;;;;;;QAED,oEAAyB;;;;;;;;QAAzB,UAA0B,OAAY,EAAE,KAAU,EAAE,qBAA0B,EAAE,WAAgB,EAAE,cAAkB;YAClH,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;gBACtC,cAAc,GAAG,cAAc,CAAA;;oBAC3B,eAAa,GAAQ,EAAE;;oBACvB,KAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC9B,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,IAAS;oBACxB,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACnC,IAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;;gCAClF,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK;;gCACpD,OAAO,GAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;;;;;gCAEpD,YAAY,GAAG,OAAO,GAAG,KAAG;4BAChC,IAAG,YAAY,GAAG,CAAC,EAAG;gCACpB,IAAI,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAA;gCACrD,IAAI,CAAC,sBAAsB,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAA;gCACnF,eAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BACzB;yBACF;qBAEF;iBACF,EAAC,CAAA;gBACF,eAAa,GAAG,eAAa,CAAC,IAAI;;;;;gBAAC,UAAC,CAAM,EAAE,CAAM;;wBAC1C,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;;wBAC7C,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;oBACnD,OAAO,KAAK,GAAG,KAAK,CAAA;iBACrB,EAAC,CAAA;gBACF,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,eAAa,EAAE,KAAK,CAAC,EACrD,MAAM,EACN,qBAAqB,EACrB,WAAW,CACZ,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,YAAY,CACf,KAAK,EACN,EAAE,EACD,MAAM,EACN,qBAAqB,EACrB,WAAW,CACZ,CAAC;aACH;SACF;;;;;;;QAEK,0DAAe;;;;;;QAArB,UAAsB,KAA+C,EACnE,OAA4D,EAC5D,qBAA8B;;;;;oBAExB,eAAe,GAAQ,EAAE;oBAC/B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;gCAC/B,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;;wCACpD,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACxH;;wCACK,WAAW,GAAG,YAAY;0CAC5B;4CACA,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;4CACvD,WAAW,EAAE;gDACX,GAAG,EAAE,OAAO;gDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gDACrD,CAAC,EACC,OAAO;oDACL,OAAO,CAAC,QAAQ;oDAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;oDACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO;sDAC9B,IAAI,CAAC,SAAS,CACd,KAAI,CAAC,0BAA0B,CAC7B,eAAe,CAChB,CACF;sDACC,EAAE;6CACT;yCACF;0CACC,IAAI;;;;oCAIR,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;iCACnC;;;;gCAAE,UAAC,KAAU;oCACZ,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EACA,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;;QAEK,mEAAwB;;;;;QAA9B,UAA+B,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCACtG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAA,EAAjG,wBAAiG;;;;;;;;4BAQ/F,eAAe,GAAQ,EAAE;;4BAE7B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,cAAc;gCAC5B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;gCACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE;gCAC9C,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC/D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gCACtH,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CACrE,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAC7C,CAAC;6BACH;kCACG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;;4BAE3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,IAAI,QAAQ,CAAC,eAAe,EAAE;gCAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAA4C;oCAE9G,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCACrF;6BACF;;;;4BAIkB,qBAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAAxF,QAAQ,GAAG,SAA6E;4BAC9F,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gCACvD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE;gCACzF,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/C,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,IAAI,EAAE,CAC3B,CAAC;gCACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oCACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iCAC9B;6BACF;iCAAM;gCACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gCAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACnE;;;;;4BAGD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;4BAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;;;;;;SAI1E;;;;;;;QAEK,gEAAqB;;;;;;QAA3B,UAA4B,KAA+C,EACzE,OAA4D,EAC5D,qBAA8B;;;;;oBAExB,eAAe,GAAQ,EAAE;oBAC/B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE;;gCAErC,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY;oCACrD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAC3E;;wCACI,aAAa,SAAA;oCACjB,IAAI,KAAI,CAAC,SAAS,CAAC,WAAW,EAAE;wCAC9B,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;qCACtD;oCACD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC;iCACrE;gCACD,KAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;;wCACvE,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,MAAM;wCACd,KAAK,CAAC,OAAO;wCACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC;wCACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;wCACnE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACzD;;wCACK,WAAW,GAAG,YAAY;0CAC5B;4CACA,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;4CACvD,WAAW,EAAE;gDACX,GAAG,EAAE,OAAO;gDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gDACrD,CAAC,EACC,OAAO;oDACL,OAAO,CAAC,cAAc;oDACtB,OAAO,CAAC,cAAc,CAAC,OAAO;oDAC9B,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO;sDACpC,IAAI,CAAC,SAAS,CACd,KAAI,CAAC,0BAA0B,CAC7B,eAAe,CAChB,CACF;sDACC,EAAE;6CACT;yCACF;0CACC,IAAI;;wCACJ,eAAe,GAAQ,EAAE;oCAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;wCAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG;;;;wCAAC,UAAC,MAAW;4CAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,EAAE;gDACvC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;6CAC7B;yCACF,EAAC,CAAA;qCACH;oCACD,OAAO,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,CAAA;oCAC3D,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;iCACnC;;;;gCAAE,UAAC,KAAU;oCACZ,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE;wCAC7C,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;qCACnE;;oCAED,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EACA,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;QAED,qDAAU;;;;QAAV,UAAW,IAA2B;;gBAC9B,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;YAC9D,IAAI,SAAS,EAAE;gBACb,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAoB,SAAS,CAAC,IAAI,yBAAsB,CAAC,CAAC;oBAC9E,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;iBAC1B;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,gBACvC,SAAS,IACZ,cAAc,EAAE,SAAS,CAAC,cAAc,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAC7E,CAAC;iBACH;aACF;SACF;;;;;;;QAEO,qEAA0B;;;;;;QAAlC,UACE,QAA8B,EAC9B,KAA+C;YAE/C,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,GAAG,IAAK,QAC5C,OAAO,GAAG;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,aACR,OAAO,SAAA,KACH,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,EACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,GAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACF,EAAC,CAAC;SACJ;;;;;;;QAEO,mEAAwB;;;;;;QAAhC,UACE,QAAwB,EACxB,KAA+C;YAE/C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAY,EAAE,GAAQ,IAAK,QAAC,OAAO,GAAG;gBACnF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,cAAc;gBAC7B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE;oBACV,OAAO,SAAA;oBACP,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;oBAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE;oBAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;oBAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY;oBACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;oBAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;iBAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,cAAc;gBAC7B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACA,EAAC,CAAC;SACJ;;;;;;QACO,qEAA0B;;;;;QAAlC,UACE,KAAU;YAEV,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;;;;YAAC,UAAA,QAAQ,IAAI,QAAC;gBACzD,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE;oBACV,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,WAAW,IAAI,wBAAwB;oBAC7F,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE;iBAC/D;aACF,IAAC,EAAC,CAAC;SACL;;;;;;;;;;;QAEa,uDAAY;;;;;;;;;;QAA1B,UACE,KAA+C,EAC/C,OAAyD,EACzD,WAAyB,EACzB,qBAA4B,EAC5B,YAAiB,EACjB,WAAmE;YAJnE,wBAAA,EAAA,YAAyD;YAEzD,sCAAA,EAAA,4BAA4B;;;;;oBAKtB,SAAS,GAAG;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;wBACzC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;wBAC3C,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;wBACvB,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC,IAAI;wBAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,EAAE;wBAC9C,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;wBACxC,OAAO,EACL,WAAW,KAAK,MAAM;uCAEf,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBAChC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,EACA,OAAO,EACP,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBACjC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,IAEH,EAAE;wBACR,YAAY,EAAE,OAAO,CACnB,KAAK,CAAC,YAAY;4BAClB,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC;4BACtF,WAAW,KAAK,MAAM,CACvB;wBACD,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,KAAK,UAAU,CAAC;wBACjE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC;qBACnE;;oBAED,IAAI,CAAC,mBAAmB,gBACnB,IAAI,CAAC,mBAAmB,eAC1B,KAAK,CAAC,GAAG,IAAG,SAAS,MACvB,CAAC;oBACF,IAAI,CAAC,WAAW,EAAE;wBAChB,IACE,qBAAqB;6BACpB,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAC;4BACnD,SAAS,CAAC,OAAO,EACjB;4BACA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/D;wBACD,IAAI,qBAAqB,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;yBAC/B;6BAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;yBAC9B;qBACF;yBAAM;wBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;qBAC9B;;;;SACF;;;;;;;QACO,4DAAiB;;;;;;QAAzB,UAA0B,WAAyB,EAAE,iBAAyB;YAC5E,IAAI,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBAChD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;aACvB;iBAAM,IAAI,WAAW,KAAK,MAAM,IAAI,iBAAiB,EAAE;gBACtD,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;aAC5B;iBAAM,IAAI,WAAW,KAAK,OAAO,EAAE;gBAClC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;aAC1B;;gBACK,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc;;gBAC7E,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;YAChD,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,YAAY,GAAG,UAAU,EAAE;gBAC1D,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,GAAG,YAAY,KAAK,UAAU,CAAC;YACpD,IAAI,CAAC,gBAAgB;gBACnB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;YAChF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;SAC3D;;;;;QACD,8DAAmB;;;;QAAnB,UAAoB,KAA+C;YACjE,IACE,KAAK,CAAC,OAAO;iBACZ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;qBACzD,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;qBACjE,KAAK,CAAC,OAAO,CAAC,0BAA0B;wBACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC;qBAC9D,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;qBACrE,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;qBACjF,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;qBACnE,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;qBACjF,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;qBACzE,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;qBACjF,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;qBAC7E,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;qBACjF,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;qBAC7E,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAC7E,EACD;gBACA,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;;;;;;;QAEM,qDAAU;;;;;;QAAjB,UAAkB,QAA2B,EAAE,QAA+B,EAAE,QAAgB;YAC9F,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBAChD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;aAC9B;;gBACK,IAAI,GAA+B;gBACvC,KAAK,EAAE,KAAG,QAAQ,CAAC,GAAG,CAAC,SAAW;gBAClC,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;YACD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC;gBACE,IAAI,EAAEO,gBAAQ,CAAC,iBAAiB,CAAC,KAAK;gBACtC,OAAO,EAAEA,gBAAQ,CAAC,oBAAoB,CAAC,oBAAoB;gBAC3D,EAAE,EAAKC,gBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAM;aACrC,EACD,EAAE,EACF;gBACE,MAAM,EAAED,gBAAQ,CAAC,oBAAoB,CAAC,IAAI;aAC3C,CACF,CAAC;;gBACI,iBAAiB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;gBACvE,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,GAAA,EAAC;YACzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,gBACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,IAC7D,WAAW,EAAE,iBAAiB,CAAC,KAAK,GACrC,CAAC;aACH;YACD,IAAI,YAAY,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;gBAC9E,IAAI,iBAAiB,CAAC,eAAe,IAAI,iBAAiB,CAAC,OAAO,EAAE;;;oBAGlE,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBACtC,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;qBACxF;yBAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE;wBACnD,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;qBACxF;yBAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE;wBAC/C,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;qBAC1F;yBAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE;wBACjD,IAAI,CAAC,qCAAqC,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;qBACnG;yBAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE;wBAChD,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;qBACnF;oBACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;qBAClD;iBACF;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAC/D,UAAU;;;oBAAC;wBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BACjD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;4BACtD,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;yBAC/B;qBACF,GAAE,GAAG,CAAC,CAAC;iBACT;aACF;SACF;;;;;;;;QAGK,qEAA0B;;;;;;;QAAhC,UACE,KAA+C,EAC/C,QAAgB,EAChB,UAAmD,EACnD,qBAA8B;;;;;;;4BAGX,qBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAAvF,QAAQ,GAAG,SAA4E;4BAC7F,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAC1B,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;gCACnF,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;;;;SAKJ;;;;;;;;QAEK,qEAA0B;;;;;;;QAAhC,UACE,KAA+C,EAC/C,QAAgB,EAChB,UAAmD,EACnD,qBAA8B;;;;;;;4BAGX,qBAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAA7F,QAAQ,GAAG,SAAkF;4BACnG,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gCACvD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;gCAC3D,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC;;gCAE3D,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;;;gCAGD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACnE;;;;;4BAGD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;;;;;;SAEtE;;;;;;;QAED,6DAAkB;;;;;;QAAlB,UACE,KAA+C,EAC/C,UAAmD,EACnD,qBAA8B;;YAG9B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;;YAEhC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;;YAE1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;;;SAGhE;;;;;;QAEK,2DAAgB;;;;;QAAtB,UAAuB,KAAU,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCAEzD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA,EAAnF,wBAAmF;4BAEjF,OAAO,SAAsB;4BAC7B,UAAU,GAAU,EAAE;4BACtB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM;4BAC7B,qBAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAA;;4BAAlE,QAAQ,GAAG,SAAuD;iCACpE,QAAQ,EAAR,wBAAQ;4BACV,OAAO,GAAG,QAAQ,CAAC;kCACf,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;4BACjC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;4BACnD,qBAAM,IAAI,CAAC,YAAY,CACrB,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/C,MAAM,EACN,qBAAqB,EACrB,EAAE,EACF,UAAU,CACX,EAAA;;4BAPD,SAOC,CAAC;;;4BAEF,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/C,MAAM,EACN,qBAAqB,EACrB,aAAa,CACd,CAAC;;;;;;SAKT;;;;;;QACD,2DAAgB;;;;;QAAhB,UAAiB,UAAgC,EAAE,KAA+C;;gBAC1F,UAAU,GAAU,EAAE;;gBACtB,SAAS,GAAG,IAAI,CAAC,WAAW,CAChC,UAAU,EACV,KAAK,CACN;YACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;wCAC1B,CAAC;oBACR,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACjB,UAAU,CAAC,IAAI,cAER,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAChB,cAAc,EAAE,MAAM,KAClB,SAAS,CAAC,IAAI;;;;wBAAC,UAAA,QAAQ;4BACzB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gCACzE,OAAO,QAAQ,CAAC;6BACjB;4BACD,OAAO,SAAS,CAAC;yBAClB,EAAC,GAEL,CAAC;qBACH;;gBAdH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;4BAApC,CAAC;iBAeT;aACF;YACD,OAAO,UAAU,CAAC;SACnB;;;;;;QAED,sDAAW;;;;;QAAX,UAAY,KAA2B,EACrC,KAA+C;;gBAC3C,GAAG,GAAU,EAAE;;gBACf,QAAQ,GAAU,EAAE;;gBACpB,OAAO,GAAU,EAAE;YACvB,KAAK,CAAC,OAAO;;;;YAAC,UAAC,CAAM;gBACnB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;oBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjB;qBAAM,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAC9D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClB;aACF,EAAC,CAAC;;gBACG,YAAY,GAAG,GAAG,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,aAAa,KAAK,CAAC,GAAA,EAAC;;gBAC1E,cAAc,GAAG,GAAG,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,aAAa,GAAG,CAAC,GAAA,EAAC;;gBAExE,mBAAmB,GAAG,YAAY,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,GAAA,EAAC;;gBACnH,eAAe,GAAG,YAAY,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,GAAA,EAAC;YAEvH,mBAAmB,GAAG,mBAAmB,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;gBAC5D,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;;wBACtG,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;wBACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,OAAO,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;iBACxC;aACF,EAAC,CAAC;YAEH,cAAc,GAAG,cAAc,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;gBAClD,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;;wBACtG,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;wBACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,OAAO,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;iBACxC;aACF,EAAC,CAAC;YAEH,GAAG,YAAO,cAAc,EAAK,eAAe,EAAK,mBAAmB,CAAC,CAAC;YAEtE,OAAO,GAAG,OAAO,CAAC,MAAM;;;;YAAC,UAAC,IAAS;gBACjC,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aAC/B,EAAC,CAAC;YAEH,OAAO,GAAG,OAAO,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;;oBAC9B,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;oBACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3C,OAAO,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;aACxC,EAAC,CAAC;YAEH,QAAQ,GAAG,QAAQ,CAAC,MAAM;;;;YAAC,UAAC,IAAS;gBACnC,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aAC/B,EAAC,CAAC;;YAEH,OAAO;gBACL,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACtE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAChF,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;aAAC,CAAC;SACnF;;;;;;QAED,2DAAgB;;;;;QAAhB,UAAiB,mBAAwB,EAAE,GAAQ;;gBAC7C,WAAW,GAAG,CAAC;YACnB,IAAI,GAAG,KAAK,SAAS,EAAE;gBACrB,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE;;wBAC7B,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM;;;;oBAAC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,KAAK,KAAK,UAAU,GAAA,EAAC;oBACpF,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACrE;aACF;YACD,OAAO,WAAW,CAAC;SACpB;;;;;;QAED,0DAAe;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9D;;;;;;QAED,mDAAQ;;;;;QAAR,UAAS,KAAa,EAAE,IAAS;YAC/B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAO,IAAI,CAAC;SACb;;;;;;QACD,kDAAO;;;;;QAAP,UAAQ,KAAa,EAAE,IAAS;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAOP,UAAK,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAA;SACpD;;;;;;QAEK,6DAAkB;;;;;QAAxB,UAAyB,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCAChG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA,EAAzF,wBAAyF;4BACvF,eAAe,GAAQ,EAAE;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,UAAU;gCACxB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;gCAChC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE;gCAC1C,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC3D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;6BAC7G;kCACG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;;4BAE3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,IAAI,QAAQ,CAAC,eAAe,EAAE;gCAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAA4C;oCAE9G,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCACvF;6BACF;;;;4BAIkB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAArH,QAAQ,GAAG,SAA0G;;4BAE3H,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;;gCAEhC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;oCAC7E,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EACvE,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;iCACH;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iCAC9B;6BAEF;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC9B;;;;;;;;;SAOR;;;;;;QAEK,kEAAuB;;;;;QAA7B,UAA8B,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCACrG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAA,EAAjG,wBAAiG;4BAC/F,eAAe,GAAQ,EAAE;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,cAAc;gCAC5B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;gCACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE;gCAC9C,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC/D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;6BACrH;;;;4BAEkB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAzH,QAAQ,GAAG,SAA8G;;4BAE/H,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;;gCAEhC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;oCAC7E,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EACvE,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;iCACH;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iCAC9B;6BAEF;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC9B;;;;4BAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAKlC;;;;;;;;QAGK,uEAA4B;;;;;;;QAAlC,UACE,KAA+C,EAC/C,QAAgB,EAChB,UAAmD,EACnD,qBAA8B;;;;;;4BAE9B,IAAI,UAAU,CAAC,OAAO;gCACpB,UAAU,CAAC,OAAO,CAAC,UAAU;gCAC7B,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;gCACrC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE;gCAC7C,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;6BACzH;;;;;4BAGkB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAA/H,QAAQ,GAAG,SAAoH;4BACrI,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;gCACzC,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;gCACnF,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;;;;SAKJ;;;;;QAED,yDAAc;;;;QAAd,UAAe,SAAc;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACtC;;;;;;;;QAEK,4DAAiB;;;;;;;QAAvB,UAAwB,KAA+C,EACrE,OAA4D,EAC5D,MAAc,EACd,qBAA8B;;;;oBAE9B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,EAAE;gCACtB,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;oCAC9D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;;4CACtC,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACxH;;4CACK,WAAW,GAAG,YAAY;8CAC5B;gDACA,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;gDACvD,WAAW,EAAE;oDACX,GAAG,EAAE,OAAO;oDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;oDACrD,CAAC,EAAE,EAAE;iDACN;6CACF;8CACC,IAAI;wCACR,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;qCACnC;yCAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;;4CAC5B,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACpG;;4CACK,WAAW,GAAG,YAAY,GAAG;4CACjC,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;4CACvD,WAAW,EAAE;gDACX,GAAG,EAAE,OAAO;gDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gDACrD,CAAC,EAAE,EAAE;6CACN;yCACF;8CACG,IAAI;wCACR,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;qCACnC;yCAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;;4CAC1C,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAClI;;4CACK,WAAW,GAAG,YAAY,GAAG;4CACjC,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;4CACvD,WAAW,EAAE;gDACX,GAAG,EAAE,OAAO;gDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gDACrD,CAAC,EAAE,EAAE;6CACN;yCACF;8CACG,IAAI;wCACR,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;qCACnC;iCAEF;;;;gCAAE,UAAC,KAAU;oCACZ,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EACA,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;;;;QAEK,2DAAgB;;;;;;;QAAtB,UAAuB,KAA+C,EACpE,OAA4D,EAC5D,MAAc,EACd,qBAA8B;;;;;oBAExB,eAAe,GAAQ,EAAE;oBAC/B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,EAAE;gCACtB,KAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;;wCAClD,YAAiB;oCACrB,IAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAC;wCACnB,YAAY,GAAG,OAAO,CACpB,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACxH,CAAC;qCACP;yCAAM,IAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAC;;4CAC3B,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;wCACnF,YAAY,GAAG,OAAO,CACpB,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAC1G,CAAC;qCACL;;wCACK,WAAW,GAAG,YAAY;0CAC9B;4CACF,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;yCACtD;0CACC,IAAI;oCACN,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;iCACjC;;;;gCAAoD,UAAC,KAAU;oCAChE,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,MAAM,CAAC,KAAK,CAAC,CAAC;iCACb,EACA,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;QAED,4DAAiB;;;;QAAjB,UAAkB,OAAY;YAC5B,IAAI,OAAO,CAAC,YAAY;gBACtB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAC5C;gBACA,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;aAChF;YACD,OAAO,OAAO,CAAA;SACf;;;;;;QACD,qDAAU;;;;;QAAV,UAAW,MAAW,EAAE,EAAU;;gBAC5B,SAAS,GAAW,MAAM;YAC9B,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBACvC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;aACnF;iBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACjF,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;gBACjE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;aAC1D;iBAAM,IAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACvC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;aACvE;YACD,OAAO,SAAS,CAAA;SACjB;;;;;;;QAED,0DAAe;;;;;;QAAf,UAAgB,SAAc,EAAE,IAAY,EAAE,eAAoB;YAChE,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aACrC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;aAC/D;SACF;;;;;;QAEK,+DAAoB;;;;;QAA1B,UAA2B,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCAClG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA,EAA7F,wBAA6F;4BAC3F,eAAe,GAAQ,EAAE;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,YAAY;gCAC1B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE;gCACvC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;6BACrG;;;;4BAEkB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAtH,QAAQ,GAAG,SAA2G;4BACxH,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;4BAClD,IAAI,QAAQ,EAAE;gCACZ,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC,EAClD,MAAM,EACN,qBAAqB,EACrB,QAAQ,CACT,CAAC;6BAEH;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC9B;;;;4BAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAKlC;;;;;;;QAEO,wEAA6B;;;;;;QAArC,UACE,QAAa,EACb,KAA+C;YAE/C,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,GAAG,IAAK,QAC5C,OAAO,GAAG;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,aACR,OAAO,SAAA,KACH,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,EACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,GAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACF,EAAC,CAAC;SACJ;;;;;;;QAEO,2EAAgC;;;;;;QAAxC,UACE,QAAa,EACb,UAAmD;YAEnD,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,GAAG,IAAK,QAC5C,OAAO,GAAG;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,aACR,OAAO,SAAA,KACH,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAC7C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,WAAW,EACzE,gBAAgB,EAAE,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,GAAG,EAAE,EACxE,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EACzD,YAAY,EAAE,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,YAAY,EAC3E,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,WAAW,EACzE,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,WAAW,GAC1E;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACF,EAAC,CAAC;SACJ;;;;;;QAEK,iEAAsB;;;;;QAA5B,UAA6B,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCACpG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAA,EAAjG,wBAAiG;4BAC/F,eAAe,GAAQ,EAAE;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,cAAc;gCAC5B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;gCACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE;gCAC9C,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;gCAC/D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;6BACrH;;;;4BAEkB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAjI,QAAQ,GAAG,SAAsH;;4BAEvI,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;;gCAEhC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;oCACnE,sBAAyB,EAAE;oCAC3B,WAAW,GAAQ,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;oCACnD,WAAW,CAAC,OAAO;;;;oCAAC,UAAC,OAAY;wCAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;4CAC/C,mBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;yCAChC;qCACF,EAAC,CAAA;oCACF,IAAI,mBAAiB,CAAC,MAAM,EAAE;wCAC5B,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,mBAAiB,EAAE,KAAK,CAAC,EACzD,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;qCACH;yCAAM;wCACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qCAC9B;iCACF;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iCAC9B;6BAEF;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC9B;;;;4BAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAKlC;;;;;;QAEK,gEAAqB;;;;;QAA3B,UAA4B,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCACnG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA,EAA7F,wBAA6F;4BAC3F,eAAe,GAAQ,EAAE;4BAC7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,YAAY;gCAC1B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE;gCACjC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;6BAC/F;kCACG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;;4BAE3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,IAAI,QAAQ,CAAC,eAAe,EAAE;gCAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAA4C;oCAE9G,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCAChG;6BACF;;;;4BAIkB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAtH,QAAQ,GAAG,SAA2G;4BAE5H,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;gCAC3C,OAAO,GAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;gCAC9C,IAAG,KAAK,CAAC,GAAG,KAAK,WAAW,EAAC;oCACvB,iBAAiB,GAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,IAAG,IAAI,CAAC;oCAC1E,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAC5D,MAAM,EACN,qBAAqB,EACrB,QAAQ,CACT,CAAC;iCACH;qCAAM;oCACL,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC,EAClD,MAAM,EACN,qBAAqB,EACrB,QAAQ,CACT,CAAC;iCACH;6BACF;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC9B;;;;4BAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAMpC;;;;;;;;QACK,gFAAqC;;;;;;;QAA3C,UACE,KAA+C,EAC/C,QAAgB,EAChB,UAAmD,EACnD,qBAA8B;;;;;;4BAE9B,IAAI,UAAU,CAAC,OAAO;gCACpB,UAAU,CAAC,OAAO,CAAC,YAAY;gCAC/B,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE;gCACpC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;6BAChH;;;;4BAEkB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAhI,QAAQ,GAAG,SAAqH;4BAEtI,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;gCAC3C,OAAO,GAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;gCAC1C,OAAO,GAAG,EAAE;gCAChB,IAAG,UAAU,CAAC,KAAK,KAAK,WAAW,EAAC;oCAC9B,iBAAiB,GAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,IAAG,IAAI,CAAC;oCAC1E,OAAO,GAAG,IAAI,CAAC,gCAAgC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;iCAC/E;qCAAM;oCACL,IAAG,UAAU,IAAI,UAAU,CAAC,cAAc,EAAC;wCACzC,OAAO,GAAI,OAAO,CAAC,IAAI;;;wCAAE,cAAM,OAAA,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAA,EAAC,CAAC;qCACrD;oCACD,OAAO,GAAG,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;iCACrE;gCACG,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACD,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;6BAChF;;;;4BAED,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAK,CAAC,CAAA;4BAC1B,UAAU,GAAU,EAAE;4BACxB,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gCAChI,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;gCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;oCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,cAAc,EAAE,MAAM,GACvB,CAAC;oCACF,UAAU,GAAG,OAAO,CAAC;iCACtB;gCACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;6BAC/E;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;SAEN;;;;;;QAEK,+DAAoB;;;;;QAA1B,UAA2B,KAA+C,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCAClG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA,EAAnF,wBAAmF;kCACjF,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;;4BAE3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE;gCAC9D,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAA4C;oCAC9G,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCACjF;6BACF;4BACD,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE;gCAC9D,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAA4C;oCAC9G,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCAChG;6BACF;;;;4BAGkB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAtH,QAAQ,GAAG,SAA2G;;4BAE5H,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;;gCAEhC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;oCACrD,cAAc,GAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI;oCAC/C,IAAI,cAAc,CAAC,MAAM,EAAE;wCACzB,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,CAAC,EACtD,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;qCACH;yCAAM;wCACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qCAC9B;iCACF;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iCAC9B;6BAEF;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC9B;;;;4BAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAMpC;;;;;;;;QAEK,iEAAsB;;;;;;;QAA5B,UACE,KAA+C,EAC/C,QAAgB,EAChB,WAAoD,EACpD,qBAA8B;;;;;;;4BAGX,qBAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,EAAA;;4BAA1G,QAAQ,GAAG,SAA+F;4BAAC,CAAC;4BAClH,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;gCAC/C,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;gCACjE,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACD,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;6BAChF;;;;4BAED,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAK,CAAC,CAAA;4BAC1B,UAAU,GAAU,EAAE;4BACxB,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gCAChI,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;gCACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;oCAClD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,cAAc,EAAE,MAAM,GACvB,CAAC;oCACF,UAAU,GAAG,OAAO,CAAC;iCACtB;gCACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;6BAC/E;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;SAEN;;oBA73DFjC,cAAS,SAAC;wBACT,QAAQ,EAAE,gCAAgC;wBAC1C,8rYAA2D;;qBAE5D;;;;oDAkCIsB,WAAM,SAAC,aAAa;oBAtGhB,uBAAuB;oBAK9BoB,qBAAa;oBACbC,oBAAY;oBACZT,6BAAqB;oBACrBU,sBAAc;oBAaPC,aAAM;oBARN,oBAAoB;oBAOpBT,uBAAgB;oBAlBhB,+BAA+B;;;iCAwErC7B,UAAK;oCACLC,WAAM;sCACNA,WAAM;uCACNA,WAAM;iCACND,UAAK;kCACLA,UAAK;mCACLA,UAAK;yBACLuC,gBAAW,SAAC,IAAI;;QA82DnB,uCAAC;KAAA,CA13DqDC,8BAAmB,GA03DxE;;;QAr3DC,sDAAmE;;QACnE,yDAAiD;;QACjD,2DAAmD;;QACnD,4DAAoD;;QACpD,sDAA6B;;QAC7B,uDAAqC;;QACrC,wDAA+B;;QAC/B,8CACiD;;QACjD,+DAAmE;;QACnE,0DAA8B;;QAC9B,6DAAyB;;QACzB,4DAAyB;;QACzB,2DAAwB;;QACxB,4DAAyB;;QACzB,0DAAmB;;QACnB,uDAAgB;;QAChB,4DAAqB;;QACrB,4DAAwB;;QACxB,mDAAwC;;QACxC,4DAAyB;;QACzB,uDAAkB;;QAClB,mEAAoD;;QACpD,6DAAuB;;QACvB,wDAAuB;;;;;QAKrB,sDAA2C;;;;;QAC3C,qDAAgC;;;;;QAChC,oDAA8B;;;;;QAC9B,qDAAwC;;QACxC,sDAAiC;;QAGjC,kDAAqB;;;;;QACrB,mDAAqC;;;;;QACrC,qDAAmC;;;;;QACnC,4DAAyD;;;;;;;ICrH7D;;;;;IAoCA,SAAgB,iBAAiB,CAAC,IAAgB;QAChD,OAAO,IAAIC,8BAAmB,CAAC,IAAI,CAAC,CAAC;KACtC;AAED;QAAA;SA0C8C;;oBA1C7CtC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,gCAAgC,CAAC;wBAChD,OAAO,EAAE;4BACPuC,6BAAkB;4BAClBtC,mBAAY;4BACZuC,mBAAY;4BACZ,0BAA0B;4BAC1BpC,iCAAwB;4BACxBqC,yBAAgB;4BAChBtC,sBAAa;4BACbD,wBAAe;4BACfwC,yBAAgB;4BAChBC,sBAAa;4BACbC,yBAAgB;4BAChBC,sBAAa;4BACbC,2BAAkB;4BAClBC,uBAAc;4BACdC,uBAAc;4BACdC,uBAAc;4BACdC,2BAAkB;4BAClBC,wBAAe;4BACfC,0BAAiB;4BACjBC,wBAAe;4BACfC,4BAAmB;4BACnBC,4BAAmB;4BACnBC,uBAAc;4BACdC,0BAAiB;4BACjBrD,iCAAwB;4BACxBsD,8BAAqB;4BACrBC,sBAAa;4BACbC,8BAAqB;4BACrBC,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,EAAE,iBAAiB;oCAC7B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,eAAe,EAAE,CAAC,gCAAgC,CAAC;wBACnD,OAAO,EAAE,CAAC,gCAAgC,CAAC;qBAC5C;;QAC4C,oCAAC;KA1C9C;;;;;;;QC7ByCc,uCAAmB;QAc1D,6BACU,MAAoB,EACpB,QAAsB;YAFhC,YAIE,iBAAO,SACR;YAJS,YAAM,GAAN,MAAM,CAAc;YACpB,cAAQ,GAAR,QAAQ,CAAc;YAZvB,WAAK,GAAQ,EAAE,CAAA;YAGjB,QAAE,GAAG,YAAU,IAAI,CAAC,MAAM,EAAI,CAAA;YAC7B,0BAAoB,GAAwB,IAAI,CAAA;YACxD,iBAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;YACvC,kBAAY,GAAG,CAAC,CAAA;YAChB,mBAAa,GAAwB,IAAI,CAAA;YACzC,cAAQ,GAAG,KAAK,CAAA;;SAOf;;;;QAED,sCAAQ;;;QAAR;YAAA,iBAKC;YAJC,IAAI,CAAC,uBAAuB,EAAE,CAAA;YAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;;;;YAAC,UAAC,UAAmB;gBACzE,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;aAC3B,EAAC,CAAA;SACH;;;;QACD,qDAAuB;;;QAAvB;YAAA,iBAiBC;YAhBC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,IAAI;oBACF,IAAI,IAAI,CAAC,aAAa,EAAE;wBACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;qBACjC;iBACF;gBAAC,OAAO,CAAC,EAAE;iBACX;wBAAS;oBACR,IAAI,CAAC,aAAa,GAAGoC,aAAQ,CAAC,IAAI,CAAC,CAAC,SAAS;;;oBAAC;wBAC5C,IAAI,KAAI,CAAC,YAAY,KAAK,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;4BACpD,KAAI,CAAC,YAAY,GAAG,CAAC,CAAA;yBACtB;6BAAM;4BACL,KAAI,CAAC,YAAY,IAAI,CAAC,CAAA;yBACvB;qBACF,EAAC,CAAA;iBACH;aACF;SACF;;;;;QACD,qCAAO;;;;QAAP,UAAQ,KAAa;YACnB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;aAC1B;iBAAM,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;aACtB;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAA;aACnD;YACD,IAAI,CAAC,uBAAuB,EAAE,CAAA;SAC/B;QAED,sBAAI,+CAAc;;;;YAAlB;;oBACQ,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBACtD,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE;oBAC5H,OAAO,IAAI,CAAA;iBACZ;gBAAC,OAAO,KAAK,CAAA;aACf;;;WAAA;;;;QAED,0CAAY;;;QAAZ;;gBACQ,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YACtD,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE;gBAC5H,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;aACrC;SACF;;;;;QACD,4CAAc;;;;QAAd,UAAe,SAA6B;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;;gBACb,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;;gBAChD,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM;YAEzC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,QAAQ;aAClB,EACD;gBACE,OAAO,EAAE,GAAG;gBACZ,iBAAiB,EAAE,SAAS;aAC7B,EACD;gBACE,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAEjC,gBAAQ,CAAC,oBAAoB,CAAC,OAAO;aAChD,CAAC,CAAA;SACH;;;;QAED,yCAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAA;aACxC;SACF;;oBAlGFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,81KAAuC;;qBAExC;;;;oBANQ2C,oBAAY;oBAAYrC,oBAAY;;;iCAS1CC,UAAK;gCACLA,UAAK;4BACLA,UAAK;2BACLA,UAAK;yBACLuC,gBAAW,SAAC,IAAI;;QAwFnB,0BAAC;KAAA,CA9FwCC,8BAAmB,GA8F3D;;;QA5FC,yCAAiC;;QACjC,wCAAmC;;QACnC,oCAAwB;;QACxB,mCAAkB;;QAClB,iCACqC;;;;;QACrC,mDAAwD;;QACxD,0CAAuC;;QACvC,2CAAgB;;QAChB,4CAAyC;;QACzC,uCAAgB;;;;;QAGd,qCAA4B;;;;;QAC5B,uCAA8B;;;;;;;IC3BlC;;;IAKA,mCAEC;;QAEK,iBAAiB,GAAG;QACxB,EAAE,EAAE,oBAAoB;QACxB,CAAC,EAAE,+CAA+C;QAClD,CAAC,EAAE,gDAAgD;QACnD,CAAC,EAAE,iDAAiD;QACpD,EAAE,EAAE,iDAAiD;QACrD,GAAG,EAAE,yBAAyB;KAC/B;AAED;QAUE,kCACU,kBAAsC;YADhD,iBAgCC;YA/BS,uBAAkB,GAAlB,kBAAkB,CAAoB;YANvC,QAAG,GAAgC,IAAI,CAAA;YAC5B,eAAU,GAAG,EAAE,CAAA;YAEnC,gBAAW,GAAG,EAAE,CAAA;YAChB,2BAAsB,GAAwB,IAAI,CAAA;YAIhD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kBAAkB;iBAClD,OAAO,CAAC;gBACP,iBAAiB,CAAC,EAAE;gBACpB,iBAAiB,CAAC,CAAC;gBACnB,iBAAiB,CAAC,CAAC;gBACnB,iBAAiB,CAAC,CAAC;gBACnB,iBAAiB,CAAC,EAAE;gBACpB,iBAAiB,CAAC,GAAG;aACtB,CAAC;iBACD,IAAI,CAAC2B,8BAAoB,EAAE,CAAC;iBAC5B,SAAS;;;;YAAC,UAAA,IAAI;;gBAEb,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;oBAC3C,KAAI,CAAC,WAAW,GAAG,KAAK,CAAA;iBACzB;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;oBACjD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAA;iBACxB;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;oBAChD,KAAI,CAAC,WAAW,GAAG,GAAG,CAAA;iBACvB;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;oBAChD,KAAI,CAAC,WAAW,GAAG,GAAG,CAAA;iBACvB;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;oBAChD,KAAI,CAAC,WAAW,GAAG,GAAG,CAAA;iBACvB;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;oBACjD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAA;iBACxB;qBAAM;oBACL,KAAI,CAAC,WAAW,GAAG,IAAI,CAAA;iBACxB;gBACD,KAAI,CAAC,MAAM,EAAE,CAAA;aACd,EAAC,CAAA;SACL;;;;QAED,8CAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,EAAE,CAAA;aACd;SACF;;;;QAED,8CAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;aAC1C;SACF;;;;;QAEO,yCAAM;;;;QAAd;YACE,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,GAAG;gBACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAC1B;gBACA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aAC7C;SACF;;oBAhEFC,cAAS,SAAC;wBACT,QAAQ,EAAE,0BAA0B;qBACrC;;;;oBApBQC,yBAAkB;;;0BAuBxBrE,UAAK;iCACLuC,gBAAW,SAAC,KAAK;;QA4DpB,+BAAC;KAlED,IAkEC;;;QA7DC,uCAAgD;;QAChD,8CAAmC;;QAEnC,+CAAgB;;QAChB,0DAAkD;;;;;QAEhD,sDAA8C;;;;;;;AC7BlD;QAIA;SAOsC;;oBAPrCpC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;wBACxC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;qBACpC;;QACoC,4BAAC;KAPtC;;;;;;ACJA;QAkBE;YAZS,sBAAiB,GAAG,EAAE,CAAA;YACtB,iBAAY,GAAG,KAAK,CAAA;YAEG,aAAQ,GAAG,EAAE,CAAA;SAS5B;;;;;QARsB,0CAAY;;;;QAAnD,UAAoD,MAAa;YAC/D,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClE,MAAM,CAAC,cAAc,EAAE,CAAA;gBACvB,MAAM,CAAC,eAAe,EAAE,CAAA;gBACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;aACpC;SACF;;;;QAGD,yCAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;aACrB;SACF;;oBAtBFgE,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;qBAChC;;;;;wCAEEpE,UAAK;mCACLA,UAAK;+BACLA,UAAK,YACLuC,gBAAW,SAAC,iBAAiB;mCAC7B+B,iBAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;QAgBvC,0BAAC;KAxBD,IAwBC;;;QApBC,gDAA+B;;QAC/B,2CAA6B;;QAC7B,uCAC6C;;;;;;;ACT/C;QAIA;SAOiC;;oBAPhCnE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;wBACnC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;qBAC/B;;QAC+B,uBAAC;KAPjC;;;;;;;ACMA;;QAAoC0B,kCAAmB;QAAvD;;SAOC;;;;;QANC,oCAAW;;;;QAAX,UAAY,OAAoB;;gBACxB,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;gBAC7B,WAAW,EAAE,OAAO;aACrB,CAAC;YACF,OAAO,EAAE,CAAA;SACV;QACH,qBAAC;KAPD,CAAoCyC,mCAAmB,GAOtD;;AAGD;QAAA;SAiBiC;;oBAjBhCpE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;wBACnC,OAAO,EAAE;4BACPC,mBAAY;4BACZuC,mBAAY;4BACZ,gBAAgB;4BAChB,qBAAqB;yBACtB;wBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;wBAC9B,eAAe,EAAE,CAAC,mBAAmB,CAAC;wBACtC,SAAS,EAAE;4BACT;gCACE,OAAO,EAAE6B,qCAAqB;gCAC9B,QAAQ,EAAE,cAAc;6BACzB;yBACF;qBACF;;QAC+B,uBAAC;KAjBjC;;;;;;ICpBA;QAIMrD,gBAAc,GAAG;QACrB,iBAAiB,EAAE,0CAA0C;QAC7D,gBAAgB,EAAE,oCAAoC;QACtD,qBAAqB,EAAE,yCAAyC;QAChE,QAAQ,EAAE,yCAAyC;QACnD,WAAW,EAAE,8CAA8C;QAC3D,iBAAiB,EAAE,+CAA+C;QAClE,eAAe,EAAE,iDAAiD;QAClE,QAAQ,EAAE,oCAAoC;QAC9C,aAAa,EAAE,+CAA+C;KAC/D;AAED;QAKE,2BACU,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SACtB;;;;;QACJ,2CAAe;;;;QAAf,UAAgB,OAAY;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;SACtE;;;;;QAED,kDAAsB;;;;QAAtB,UAAuB,OAAY;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;SAC1E;;;;;QAGD,gDAAoB;;;;QAApB,UAAqB,OAAY;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAMA,gBAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;SACrE;;;;;QAED,wCAAY;;;;QAAZ,UAAa,SAAc;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAIA,gBAAc,CAAC,QAAQ,SAAI,SAAW,CAAC,CAAA;SAChE;;;;QAED,4CAAgB;;;QAAhB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAGA,gBAAc,CAAC,WAAa,CAAC,CAAA;SACtD;;;;;QAED,yCAAa;;;;QAAb,UAAc,KAAU;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAIA,gBAAc,CAAC,iBAAiB,SAAI,KAAO,CAAC,CAAA;SACrE;;;;QAED,yCAAa;;;QAAb;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAGA,gBAAc,CAAC,eAAiB,CAAC,CAAA;SAC1D;;;;;QAED,6CAAiB;;;;QAAjB,UAAkB,OAAY;;gBACtB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,gBAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC/D,OAAO,MAAM,CAAA;SACd;;;;QAED,6CAAiB;;;QAAjB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAGA,gBAAc,CAAC,aAAe,CAAC,CAAA;SACxD;;oBA5CF3B,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAlBQwB,eAAU;;;gCAAnB;KAgBA,IA8CC;;;;;;QAxCG,iCAAwB;;;;;;;;QCH1B,6BAAmB,UAA6B;YAA7B,eAAU,GAAV,UAAU,CAAmB;YATvC,eAAU,GAAW,EAAE,CAAA;YACvB,qBAAgB,GAAY,KAAK,CAAA;YACjC,eAAU,GAAS,EAAE,CAAA;YACrB,eAAU,GAAQ,EAAE,CAAA;YAE7B,gBAAW,GAAY,EAAE,CAAA;YACzB,kBAAa,GAAY,KAAK,CAAA;SAGuB;;;;QAErD,sCAAQ;;;QAAR;YACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,YAAY,EAAE;gBACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;aACnE;YACD,IAAG,IAAI,CAAC,gBAAgB,EAAE;gBACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACzB,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;oBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAA;iBAChB;qBAAM;oBACL,IAAI,CAAC,aAAa,EAAE,CAAA;iBACrB;aACF;SACF;;;;;QAED,+CAAiB;;;;QAAjB,UAAkB,GAAU;;gBACpB,IAAI,GAAY,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;gBAChE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;aACzD;YACD,OAAO,IAAI,CAAA;SACZ;;;;QAED,2CAAa;;;QAAb;YAAA,iBAkCC;;gBAjCK,OAAO,GAAQ,EAAE;YACrB,OAAO,GAAI;gBACT,SAAS,EAAE;oBACP,SAAS,EAAE;wBACP,eAAe,EAAE;4BACb,IAAI,CAAC,UAAU;yBAClB;qBACJ;iBACJ;aACF,CAAA;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAChD,OAAO,GAAI;oBACT,SAAS,EAAE;wBACP,SAAS,EAAE;4BACT,aAAa,EAAE,aAAa;4BAC1B,eAAe,EAAE;gCACb,IAAI,CAAC,UAAU;6BAClB;yBACJ;qBACJ;iBACF,CAAA;aACF;YACD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBAC1D,IAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC9G,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;;;;oBAAC,UAAC,SAAc;wBAChD,IAAG,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,UAAU,KAAK,SAAS,CAAC,KAAK,EAAE;4BACzD,KAAI,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAA;yBACjC;qBACF,EAAC,CAAA;iBACH;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC3B,EAAC,CAAA;SAEH;;;;QAED,sCAAQ;;;QAAR;YAAA,iBAUC;YATC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBACjD,IAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;oBACvC,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAA;iBAClC;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC3B;;;;YAAE,UAAA,KAAK;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC3B,EAAC,CAAA;SACH;;;;;QAED,kDAAoB;;;;QAApB,UAAqB,KAAU;YAC7B,IAAI,KAAK,EAAE;;oBACL,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACzB,IAAA,iCAA8C,EAA7C,mBAAW,EAAE,mBAAgC;;oBAC9C,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;oBACjC,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,IAAI,YAAY,KAAK,EAAE,EAAE;oBACvB,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;iBAC7B;;oBACG,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,GAAG,SAAS;;oBACnF,MAAM,GAAG,WAAW,GAAM,oBAAoB,SAAI,WAAW,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAG,GAAG,oBAAoB;gBACxG,OAAO,MAAM,CAAA;aACd;SACF;;oBArGFvB,cAAS,SAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,2kkBAA2C;;qBAE5C;;;;oBANQ,iBAAiB;;;iCAQvBO,UAAK;iCACLA,UAAK;uCACLA,UAAK;iCACLA,UAAK;iCACLA,UAAK;4BACLA,UAAK;;QA2FR,0BAAC;KAtGD,IAsGC;;;QAhGC,yCAAwB;;QACxB,yCAAgC;;QAChC,+CAA0C;;QAC1C,yCAA8B;;QAC9B,yCAA6B;;QAC7B,oCAAmB;;QACnB,0CAAyB;;QACzB,4CAA8B;;QAC9B,yCAAe;;QAEH,yCAAoC;;;;;;;ACnBlD;QAYE;YAHS,iBAAY,GAAG,EAAE,CAAA;YACjB,WAAM,GAAG,EAAE,CAAA;YACX,UAAK,GAAG,EAAE,CAAA;SACF;;;;QAEjB,6CAAQ;;;QAAR;SACC;;oBAbFP,cAAS,SAAC;wBACT,QAAQ,EAAE,wBAAwB;wBAClC,2HAAmD;;qBAEpD;;;;;mCAGEO,UAAK;6BACLA,UAAK;4BACLA,UAAK;;QAKR,iCAAC;KAdD,IAcC;;;QAPC,kDAA0B;;QAC1B,4CAAoB;;QACpB,2CAAmB;;;;;;;ACXrB;QAMA;SAcwC;;oBAdvCG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;wBAC1C,OAAO,EAAE;4BACPC,mBAAY;4BACZqE,iBAAW;4BACXC,yBAAmB;4BACnBpB,wBAAe;4BACfhD,sBAAa;yBACd;wBACD,OAAO,EAAE;4BACP,0BAA0B;yBAC3B;wBACD,eAAe,EAAE,CAAC,0BAA0B,CAAC;qBAC9C;;QACsC,8BAAC;KAdxC;;;;;;ACNA;QAQA;SASiC;;oBAThCH,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;wBACnC,OAAO,EAAE;4BACPC,mBAAY;4BACZ,uBAAuB;yBACxB;wBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;wBAC9B,SAAS,EAAC,CAAC,iBAAiB,CAAC;qBAC9B;;QAC+B,uBAAC;KATjC;;;;;;ACRA;QAqCE,2BAAoB,QAAkB,EAAS,UAA6B;YAAxD,aAAQ,GAAR,QAAQ,CAAU;YAAS,eAAU,GAAV,UAAU,CAAmB;YAnBnE,qBAAgB,GAAY,KAAK,CAAA;YACjC,eAAU,GAAY,KAAK,CAAA;YAC3B,gBAAW,GAAW,CAAC,CAAA;YAEvB,iBAAY,GAAY,KAAK,CAAA;YACtC,SAAI,GAAG,EAAE,CAAA;YACT,cAAS,GAAQ,EAAE,CAAA;YAEnB,kBAAa,GAAY,KAAK,CAAA;YAC9B,gBAAW,GAAQ,IAAI,IAAI,EAAE,CAAA;YAG7B,cAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO;gBACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;gBAC9B,QAAQ,EAAE,WAAW,EAAE,SAAS;gBAChC,UAAU,EAAE,UAAU;aACvB,CAAA;YACD,mBAAc,GAAQ,EAAE,CAAA;SAEyD;;;;QAEjF,oCAAQ;;;QAAR;YACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC9E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;YAC3E,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC5F,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;YACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aAC9D;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC9C,IAAG,IAAI,CAAC,gBAAgB,EAAE;gBACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACzB,IAAI,CAAC,aAAa,EAAE,CAAA;aACrB;SACF;;;;QACD,yCAAa;;;QAAb;YAAA,iBAwDC;;gBAvDK,OAAO,GAAG;gBACZ,QAAQ,EAAE;oBACN,IAAI;iBACP;gBACD,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE;oBACP,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,UAAU;yBACb;wBACD,QAAQ,EAAE;4BACN,MAAM;4BACN,SAAS;yBACZ;wBACD,aAAa,EAAE,OAAO;wBACtB,WAAW,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,SAAS;4BACpB,IAAI,EAAE,IAAI,CAAC,OAAO;;;yBAGnB;wBACD,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;qBAC/B;oBACD,SAAS,EAAE;wBACP,eAAe,EAAE,MAAM;qBAC1B;iBACJ;aACF;YACD,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBAC/D,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;oBACzC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO;;;;oBAAC,UAAC,IAAS;wBACjC,IAAI,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;;gCAC9B,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;;gCACzC,UAAQ,GAAG,IAAI,CAAC,SAAS;4BAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAQ,KAAK,QAAQ,EAAE;;oCACpC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC1C,UAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;6BAC/B;;gCACK,YAAY,GAAG;gCACnB,QAAQ,EAAE,UAAQ;gCAClB,SAAS,EAAE,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;gCACrD,OAAO,EAAE,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;gCACjD,KAAK,EAAE,IAAI,CAAC,IAAI;gCAChB,SAAS,EAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;gCAC1C,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gCACtC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;6BACxC;4BACD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;4BAC3B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAA;yBAC1C;qBACF,EAAC,CAAA;iBACH;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC3B,EAAC,CAAA;SACH;;;;;QAED,mCAAO;;;;QAAP,UAAQ,GAAQ;YACd,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;;;;;QAED,sCAAU;;;;QAAV,UAAW,IAAS;;gBACd,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;SACxD;;;;;QAED,iDAAqB;;;;QAArB,UAAsB,UAAkB;;gBAChC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;;gBAC9B,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;;gBACd,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;;gBAClB,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YACtC,KAAK,GAAG,KAAK,GAAG,EAAE,CAAA;YAClB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,CAAA;;gBACpB,QAAQ,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE;;gBACtD,UAAU,GAAG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE;YACpE,OAAU,QAAQ,SAAI,UAAU,SAAI,IAAM,CAAA;SAC3C;;;;;;QAED,mCAAO;;;;;QAAP,UAAQ,KAAU,EAAE,OAAe;;gBAC3B,IAAI,GAAQ,EAAE;;gBAChB,QAAQ,GAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;YACnC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;YAC7B,OAAO,OAAO,GAAG,CAAC,EAAE;;oBACd,MAAM,GAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;gBAC7C,KAAK,GAAG,MAAM,CAAA;gBACd,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;gBACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;gBAC3B,OAAO,GAAG,OAAO,GAAG,CAAC,CAAA;aACtB;YACD,OAAO,IAAI,CAAA;SACZ;;;;;;QAED,0CAAc;;;;;QAAd,UAAe,IAAY,EAAE,KAAa;;gBAClC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;;gBAC/B,IAAI,GAAQ,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;YACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;;oBAC5B,MAAM,GAAQ,IAAI,IAAI,CAAC,IAAI,CAAC;gBAChC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;gBACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;aACjC;YACD,OAAO,IAAI,CAAA;SACZ;;;;QAED,iDAAqB;;;QAArB;YAAA,iBAIC;YAHC,IAAI,CAAC,SAAS,CAAC,OAAO;;;;YAAC,UAAC,KAAU;gBAChC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAI,KAAK,SAAI,KAAI,CAAC,WAAW,CAAC,WAAW,EAAI,CAAC,CAAA;aACvE,EAAC,CAAA;SACH;;;;;QAED,uCAAW;;;;QAAX,UAAY,KAAU;;gBACd,aAAa,GAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,aAAa,CAAA;YAChC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YACzB,IAAI,CAAC,aAAa,EAAE,CAAA;SACrB;;oBA7KFX,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,i6CAAwC;;qBAEzC;;;;oBAbQkF,eAAQ;oBAOR,iBAAiB;;;iCASvB3E,UAAK;iCACLA,UAAK;uCACLA,UAAK;iCACLA,UAAK;kCACLA,UAAK;iCACLA,UAAK;mCACLA,UAAK;;QAiKR,wBAAC;KA9KD,IA8KC;;;QAvKC,uCAAwB;;QACxB,uCAAwB;;QACxB,6CAA0C;;QAC1C,uCAAoC;;QACpC,wCAAgC;;QAChC,uCAAwB;;QACxB,yCAAsC;;QACtC,iCAAS;;QACT,sCAAmB;;QACnB,gDAAwB;;QACxB,0CAA8B;;QAC9B,wCAA6B;;QAC7B,oCAAY;;QACZ,sCAAc;;QACd,sCAIC;;QACD,2CAAwB;;QACxB,0CAAkB;;;;;QACN,qCAA0B;;QAAE,uCAAoC;;;;;;;ACrC9E;QAoBE,8BAAoB,QAAkB;YAAlB,aAAQ,GAAR,QAAQ,CAAU;YAJtC,mBAAc,GAAW,EAAE,CAAA;YAC3B,sBAAiB,GAAW,EAAE,CAAA;YAC9B,gBAAW,GAAQ,IAAI,IAAI,EAAE,CAAA;SAEc;;;;QAE3C,uCAAQ;;;QAAR;YACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;SACxE;;;;;QAED,uCAAQ;;;;QAAR,UAAS,IAAY;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;SAC5B;;;;;;QAED,yCAAU;;;;;QAAV,UAAW,IAAS,EAAE,IAAY;;gBAC5B,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;aACnD;YACD,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;aAClD;SACF;;oBAnCFP,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,04XAA4C;;qBAE7C;;;;oBAPQkF,eAAQ;;;iCAUd3E,UAAK;iCACLA,UAAK;0BACLA,UAAK;kCACLA,UAAK;4BACLA,UAAK;gCACLA,UAAK;;QAwBR,2BAAC;KApCD,IAoCC;;;QA7BC,0CAAwB;;QACxB,0CAAwB;;QACxB,mCAAiB;;QACjB,2CAA6B;;QAC7B,qCAAmB;;QACnB,yCAAuB;;QACvB,8CAA2B;;QAC3B,iDAA8B;;QAC9B,2CAA6B;;;;;QAEjB,wCAA0B;;;;;;;ACpBxC;QASA;SAc8B;;oBAd7BG,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACbmE,iBAAW;4BACXC,yBAAmB;4BACnBlB,wBAAe;4BACf,uBAAuB;yBACxB;wBACD,YAAY,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;wBACvD,OAAO,EAAE,CAAC,iBAAiB,CAAC;wBAC5B,OAAO,EAAE,CAACoB,2BAAsB,CAAC;wBACjC,SAAS,EAAC,CAACD,eAAQ,EAAE,iBAAiB,CAAC;qBACxC;;QAC4B,qBAAC;KAd9B;;;;;;;QCCE;SAAiB;;;;;;QAEjB,yDAA0B;;;;;QAA1B,UACE,QAA8B,EAC9B,KAAgF;YAEhF,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,GAAG,IAAK,QAC5C,OAAO,GAAG;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,aACR,OAAO,SAAA,KACH,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,EACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,GAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACF,EAAC,CAAC;SACJ;;;;;QACD,yDAA0B;;;;QAA1B,UACE,KAAU;YAEV,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;;;;YAAC,UAAA,QAAQ,IAAI,QAAC;gBACzD,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE;oBACV,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,WAAW,IAAI,wBAAwB;oBAC7F,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE;iBAC/D;aACF,IAAC,EAAC,CAAC;SACL;;;;;;QAED,+CAAgB;;;;;QAAhB,UAAiB,GAAW,EAAE,IAAa;;gBACrC,WAAW,GAAG,EAAE;YACpB,IAAI,GAAG,EAAE;gBACP,IAAI,IAAI,KAAK,MAAM,EAAE;oBACnB,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG;;;;oBAAC,UAAA,IAAI;wBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;qBACpD,EAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iBACb;qBAAM;oBAEL,WAAW,GAAG,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;iBAClE;aACF;YACD,OAAO,WAAW,CAAA;SACnB;;oBA7DFnF,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;;mCAPD;KAKA;;;;;;;;;ICoBA,mCAoCC;;;QAnCC,mCAAY;;QACZ,4CAAsB;;QACtB,oCAAc;;QACd,yCAAmB;;QACnB,gDAA0B;;QAC1B,uCAAsD;;QACtD,0CAAmB;;QACnB,8CAME;;QACF,4CAKE;;QACF,2CAAiB;;QACjB,oCAAmD;;QACnD,yCAAmB;;QACnB,yCAAmB;;QACnB,2CAAqB;;QACrB,yCAAqC;;QACrC,4CAAyD;;QACzD,2CAAwD;;QACxD,4CAAsB;;QACtB,4CAAsB;;QACtB,2CAAqB;;QACrB,6CAAoB;;QACpB,+CAAyB;;QACzB,gDAAuB;;QACvB,2CAAiB;;AAGnB;QAK0CsC,wCAAmB;QA0B3D,8BACyB,WAAgB,EAC/B,UAAmC,EACnC,SAAwB,EACxB,QAAsB,EACtB,SAAgC,EACjC,UAA0B,EAGzB,OAA6B,EAC7B,SAA2B,EAC3B,gBAAiD,EACjD,gBAAsC;YAZhD,YAcE,iBAAO,SAER;YAdS,gBAAU,GAAV,UAAU,CAAyB;YACnC,eAAS,GAAT,SAAS,CAAe;YACxB,cAAQ,GAAR,QAAQ,CAAc;YACtB,eAAS,GAAT,SAAS,CAAuB;YACjC,gBAAU,GAAV,UAAU,CAAgB;YAGzB,aAAO,GAAP,OAAO,CAAsB;YAC7B,eAAS,GAAT,SAAS,CAAkB;YAC3B,sBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,sBAAgB,GAAhB,gBAAgB,CAAsB;YA/BzC,QAAE,GAAG,uBAAqB,IAAI,CAAC,MAAM,EAAI,CAAC;YACjD,yBAAmB,GAA4C,EAAE,CAAC;YAClE,oBAAc,GAAa,EAAE,CAAC;YAC9B,uBAAiB,GAAG,IAAI,CAAC;YACzB,sBAAgB,GAAG,KAAK,CAAC;YACzB,qBAAe,GAAG,KAAK,CAAC;YACxB,sBAAgB,GAAG,KAAK,CAAC;YACzB,oBAAc,GAAG,CAAC,CAAC;YACnB,iBAAW,GAAG,CAAC,CAAC;YAChB,sBAAgB,GAAG,CAAC,CAAC;YACrB,sBAAgB,GAAG,IAAI,CAAC;YACxB,aAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,sBAAgB,GAAG,KAAK,CAAC;YAEzB,6BAAuB,GAAwB,IAAI,CAAC;YACpD,uBAAiB,GAAG,EAAE,CAAC;YAEvB,kBAAY,GAAQ,EAAE,CAAC;YAiBrB,KAAI,CAAC,WAAW,GAAG,WAAW,CAAA;;SAC/B;;;;QAED,uCAAQ;;;QAAR;;YAEE,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;;;;QAED,0CAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;aAC5C;SACF;;;;;QAED,4CAAa;;;;QAAb,UAAc,GAAW;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClF,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC;SACb;;;;;QAED,gDAAiB;;;;QAAjB,UAAkB,GAAW;YAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAChD,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,EAAE,GAAG,CAAC,CAAC;SAC9C;;;;;;QACO,+CAAgB;;;;;QAAxB,UAAyB,GAAW;;gBAC5B,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,CAAC;YAC3D,OAAO,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;SACrC;;;;;QAEO,uCAAQ;;;;QAAhB;;YAAA,iBA4CC;YA3CC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,GAAA,EAAC,IAAI,EAAE,CAAC;YACxH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;;YAED,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;;;oBAE5C,KAAoB,IAAA,KAAAC,SAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA,gBAAA,4BAAE;wBAAvC,IAAM,KAAK,WAAA;wBACd,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBACtD,IAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC;4BAChE,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EACvF,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,IAAI,EAAE,CACxB,CAAC;yBACH;6BAAM;4BACL,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;;6BAEpC;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;6BAClD;yBACF;qBACF;;;;;;;;;aACF;;;gBAEK,WAAW,GAAkD,IAAI,CAAC,UAAU,CAAC,MAAM;iBACtF,GAAG;;;;YAAC,UAAA,KAAK,IAAI,QAAC;gBACb,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,KAAK,EAAE;gBAChE,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;aACvE,IAAC,EAAC;iBACF,MAAM;;;;YAAC,UAAC,EAAmB;oBAAjB,YAAG,EAAE,cAAI,EAAE,cAAI;gBAAO,OAAA,GAAG,IAAI,IAAI,IAAI,IAAI;aAAA,EAAC;;gBACjD,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,GAAA,EAAC,CAAC;YAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;iBACjD,IAAI,CAACC,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAA,EAAC,CAAC;iBACxD,SAAS;;;;YAAC,UAAA,KAAK;gBACd,WAAW;qBACR,MAAM;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;qBAChE,GAAG;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,GAAA,EAAC;qBACf,OAAO;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAA,EAAC,CAAC;aACnD,EAAC,CAAC;SACN;;;;;;;QAEO,gDAAiB;;;;;;QAAzB,UAA0B,GAAW,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;gBAC3D,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,KAAK,GAAG,GAAA,EAAC;YACzE,IAAI,SAAS,EAAE;;aAEd;SACF;;;;;QAED,6CAAc;;;;QAAd,UAAe,IAAS;YAAxB,iBAgBC;;gBAfK,KAAK,GAAG,CAAC;YACb,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5F,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClF,IAAI,CAAC,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,GAAQ;oBAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,KAAK,KAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE;wBAClG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;qBACnB;iBACF,EAAC,CAAC;gBACH,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBACxB;aACF;YACD,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAED,sBAAI,0CAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC;aAC1C;;;WAAA;;;;;QAED,sCAAO;;;;QAAP,UAAQ,IAA0B;YAChC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC9B;YACD,OAAO,EAAE,CAAC;SAEX;;;;;;QACD,6CAAc;;;;;QAAd,UAAe,KAAiC,EAAE,IAA0B;YAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC1E,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;aACjD;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;SAChF;;;;;QACD,2CAAY;;;;QAAZ,UAAa,IAA0B;YACrC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC;SACtE;;;;;QAED,uDAAwB;;;;QAAxB,UAAyB,IAA0B;YACjD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;;;;;QACD,wCAAS;;;;QAAT,UAAU,IAA0B;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnC,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/C;YAAC;;;oBAEM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;;;;;gBACxC,UAAC,IAAI,EAAE,OAAO;oBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;wBACrC,OAAO,OAAO,CAAC;qBAChB;oBACD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;wBACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;qBACxE;oBACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACpC,OAAO,OAAO,CAAC;qBAChB;oBACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;wBACpC,OAAO,IAAI,CAAC;qBACb;oBACD,OAAO,OAAO,CAAC;;;iBAGhB,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAElB,OAAO,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACzE;SACF;;;;;;;;;;;QAEa,2CAAY;;;;;;;;;;QAA1B,UACE,KAAqC,EACrC,OAAyD,EACzD,WAAyB,EACzB,qBAA4B,EAC5B,YAAiB,EACjB,WAAyD;YAJzD,wBAAA,EAAA,YAAyD;YAEzD,sCAAA,EAAA,4BAA4B;;;;;oBAKtB,SAAS,GAAG;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;wBACzC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;wBAC3C,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;wBACvB,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC,IAAI;wBAC5C,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;wBACxC,OAAO,EACL,WAAW,KAAK,MAAM;uCAEf,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBAChC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,EACA,OAAO,EACP,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBACjC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,IAEH,EAAE;wBACR,YAAY,EAAE,OAAO,CACnB,KAAK,CAAC,YAAY;4BAClB,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC;4BACtF,WAAW,KAAK,MAAM,CACvB;wBACD,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,KAAK,UAAU,CAAC;wBACjE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC;qBACnE;;oBAED,IAAI,CAAC,mBAAmB,gBACnB,IAAI,CAAC,mBAAmB,eAC1B,KAAK,CAAC,GAAG,IAAG,SAAS,MACvB,CAAC;oBACF,IAAI,CAAC,WAAW,EAAE;wBAChB,IACE,qBAAqB;6BACpB,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAC;4BACnD,SAAS,CAAC,OAAO,EACjB;4BACA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/D;wBACD,IAAI,qBAAqB,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;yBAC/B;6BAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;yBAC9B;qBACF;yBAAM;wBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;qBAC9B;;;;SACF;;;;;;QAED,+CAAgB;;;;;QAAhB,UAAiB,mBAAwB,EAAE,GAAQ;;gBAC7C,WAAW,GAAG,CAAC;YACnB,IAAI,GAAG,KAAK,SAAS,EAAE;gBACrB,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE;;wBAC7B,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM;;;;oBAAC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,KAAK,KAAK,UAAU,GAAA,EAAC;oBACpF,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACrE;aACF;YACD,OAAO,WAAW,CAAC;SACpB;;;;;;;QAEO,gDAAiB;;;;;;QAAzB,UAA0B,WAAyB,EAAE,iBAAyB;YAC5E,IAAI,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBAChD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;aACvB;iBAAM,IAAI,WAAW,KAAK,MAAM,IAAI,iBAAiB,EAAE;gBACtD,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;aAC5B;iBAAM,IAAI,WAAW,KAAK,OAAO,EAAE;gBAClC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;aAC1B;;gBACK,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc;;gBAC7E,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;YAChD,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,YAAY,GAAG,UAAU,EAAE;gBAC1D,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,GAAG,YAAY,KAAK,UAAU,CAAC;YACpD,IAAI,CAAC,gBAAgB;gBACnB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;YAChF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;SAC3D;;;;;QACD,kDAAmB;;;;QAAnB,UAAoB,KAAqC;YACvD,IACE,KAAK,CAAC,OAAO;iBACZ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;qBACzD,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;qBACjE,KAAK,CAAC,OAAO,CAAC,0BAA0B;wBACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC;qBAC9D,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;qBACrE,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;qBACjF,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;qBACnE,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CACnF,EACD;gBACA,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;;;;;;;QAEM,yCAAU;;;;;;QAAjB,UAAkB,QAA2B,EAAE,QAA8B,EAAE,QAAgB;SAE9F;;;;;;QAED,8CAAe;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9D;;;;;;QAED,uCAAQ;;;;;QAAR,UAAS,KAAa,EAAE,IAAS;YAC/B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAO,IAAI,CAAC;SACb;;;;;;QACD,sCAAO;;;;;QAAP,UAAQ,KAAa,EAAE,IAAS;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAON,UAAK,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAA;SACpD;;oBAhVFjC,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,s1WAA4C;;qBAE7C;;;;oDA4BIsB,WAAM,SAAC,aAAa;oBA3FhB,uBAAuB;oBAK9BoB,qBAAa;oBACbC,oBAAY;oBACZT,6BAAqB;oBACrBU,sBAAc;oBAIP,oBAAoB;oBAKpBR,uBAAgB;oBAfhB,+BAA+B;oBAgB/B,oBAAoB;;;iCAmD1B7B,UAAK;yBACLuC,gBAAW,SAAC,IAAI;;QAuUnB,2BAAC;KAAA,CA7UyCC,8BAAmB,GA6U5D;;;QAxUC,0CAAiD;;QACjD,kCACiD;;QACjD,mDAAkE;;QAClE,8CAA8B;;QAC9B,iDAAyB;;QACzB,gDAAyB;;QACzB,+CAAwB;;QACxB,gDAAyB;;QACzB,8CAAmB;;QACnB,2CAAgB;;QAChB,gDAAqB;;QACrB,gDAAwB;;QACxB,uCAAwC;;QACxC,gDAAyB;;QACzB,2CAAkB;;QAClB,uDAAoD;;QACpD,iDAAuB;;QACvB,8CAAoB;;QACpB,4CAAuB;;;;;QAIrB,0CAA2C;;;;;QAC3C,yCAAgC;;;;;QAChC,wCAA8B;;;;;QAC9B,yCAAwC;;QACxC,0CAAiC;;;;;QAGjC,uCAAqC;;;;;QACrC,yCAAmC;;;;;QACnC,gDAAyD;;;;;QACzD,gDAA8C;;;;;;;IC1GlD,WAqEoB,iBAAiB;AAlCrC;QAAA;SAyCkC;;oBAzCjCrC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;wBACpC,OAAO,EAAE;4BACPuC,6BAAkB;4BAClBtC,mBAAY;4BACZuC,mBAAY;4BACZ,0BAA0B;4BAC1BpC,iCAAwB;4BACxBqC,yBAAgB;4BAChBtC,sBAAa;4BACbD,wBAAe;4BACfwC,yBAAgB;4BAChBC,sBAAa;4BACbC,yBAAgB;4BAChBC,sBAAa;4BACbC,2BAAkB;4BAClBC,uBAAc;4BACdC,uBAAc;4BACdC,uBAAc;4BACdC,2BAAkB;4BAClBC,wBAAe;4BACfC,0BAAiB;4BACjBC,wBAAe;4BACfC,4BAAmB;4BACnBC,4BAAmB;4BACnBC,uBAAc;4BACdC,0BAAiB;4BACjBrD,iCAAwB;4BACxBsD,8BAAqB;4BACrBC,sBAAa;4BACbC,8BAAqB;4BACrBC,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,MAAmB;oCAC7B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;qBAChC;;QACgC,wBAAC;KAzClC;;;;;;ACnCA;QAqBE,gCAAmB,UAA6B;YAA7B,eAAU,GAAV,UAAU,CAAmB;YATvC,iBAAY,GAAY,KAAK,CAAA;YAC7B,qBAAgB,GAAY,KAAK,CAAA;YAEhC,eAAU,GAAG,IAAItB,iBAAY,EAAO,CAAA;YAC9C,cAAS,GAAY,KAAK,CAAA;YAC1B,kBAAa,GAAQ,EAAE,CAAA;YACvB,WAAM,GAAG,KAAK,CAAA;YACd,aAAQ,GAAY,KAAK,CAAA;SAGxB;;;;QAED,yCAAQ;;;QAAR;YACE,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBACrB,IAAI,CAAC,SAAS,EAAE,CAAA;aACjB;SACF;;;;QAED,0CAAS;;;QAAT;YAAA,iBAuCC;;gBAtCK,OAAO,GAAG;gBACZ,iBAAiB,EAAE;oBACjB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;iBAE1B;gBACD,eAAe,EAAE;oBACf,MAAM;oBACN,aAAa;oBACb,WAAW;oBACX,WAAW;oBACX,UAAU;iBACX;gBACD,OAAO,EAAE,WAAW;gBACpB,cAAc,EAAE,KAAK;gBACrB,MAAM,EAAE;oBACN,SAAS;iBACV;gBACD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;aACnC;YACD,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBACjE,IAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;oBACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;oBAAC,UAAC,IAAS;wBAChC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,IAAI,CAAC,WAAW;4BACvB,QAAQ,EAAE,KAAK;yBAChB,CAAC,CAAA;qBACH,EAAC,CAAA;iBACH;gBACD,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,KAAI,CAAC,MAAM,GAAG,IAAI,CAAA;iBACnB;gBACD,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,aAAa,CAAA;gBACzC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAA;aACvB;;;;YAAE,UAAA,KAAK;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAA;gBACzB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAA;aACvB,EAAC,CAAA;SACH;;;;;QAED,+CAAc;;;;QAAd,UAAe,IAAS;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;aAC/B;SACF;;;;QAED,kDAAiB;;;QAAjB;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC3B;;;;QAED,+CAAc;;;QAAd;YACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;SAC/B;;oBAjFFD,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,okJAA6C;;qBAE9C;;;;oBANQ,iBAAiB;;;iCASvBO,UAAK;iCACLA,UAAK;mCACLA,UAAK;uCACLA,UAAK;gCACLA,UAAK;iCACLC,WAAM;;QAuET,6BAAC;KAnFD,IAmFC;;;QA5EC,4CAAwB;;QACxB,4CAAyB;;QACzB,8CAAsC;;QACtC,kDAA0C;;QAC1C,2CAAuB;;QACvB,4CAA8C;;QAC9C,2CAA0B;;QAC1B,+CAAuB;;QACvB,wCAAc;;QACd,0CAAyB;;QAEb,4CAAoC;;;;;;;ACrBlD;QAQA;SASoC;;oBATnCE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;wBACtC,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb,uBAAuB;yBACxB;wBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;qBAClC;;QACkC,0BAAC;KATpC;;;;;;ICRA;QAGMuE,QAAM,GAAG5D,QAAO;AACtB;QA2BE,8BAAmB,UAA6B;YAA7B,eAAU,GAAV,UAAU,CAAmB;YAjBhD,YAAO,GAAY,KAAK,CAAA;YACxB,UAAK,GAAW,EAAE,CAAA;YAClB,YAAO,GAAQ,EAAE,CAAA;YAEjB,WAAM,GAAQ;gBACZ,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,CAAA;SAEqD;;;;QAEtD,uCAAQ;;;QAAR;YACE,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;SACrE;;;;QAED,sCAAO;;;QAAP;YAAA,iBAYC;YAXC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBAC9D,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACtE,KAAI,CAAC,OAAO,GAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;oBACjC,KAAI,CAAC,KAAK,GAAG4D,QAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;iBACnF;gBACD,KAAI,CAAC,OAAO,GAAG,KAAK,CAAA;aACrB;;;;YAAE,UAAC,MAAW;;gBAEb,KAAI,CAAC,OAAO,GAAG,KAAK,CAAA;aACrB,EAAC,CAAA;SACH;;;;;QAED,sCAAO;;;;QAAP,UAAQ,IAAY;YAClB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,KAAK,CAAA;aACb;YACD,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,KAAK,CAAA;aACb;YACD,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,KAAK,CAAA;aACb;iBAAM;gBACL,OAAU,IAAI,OAAI,CAAA;aACnB;SACF;;;;QAED,uCAAQ;;;QAAR;;gBACM,WAAW,GAAG,EAAE;;gBACd,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9E,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACtC,OAAO,WAAW,CAAA;SACnB;;;;;QAED,8CAAe;;;;QAAf,UAAgB,IAAY;;gBACtB,QAAQ,GAAG,EAAE;;gBACX,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBAC/D,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aAC/B;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC1B,SAAQ;qBACT;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBACrC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;wBAE1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzB,MAAK;yBACN;qBACF;iBACF;aACF;YACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAA;SAC9B;;oBA1FFpF,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,6+NAA4C;;qBAE7C;;;;oBANQ,iBAAiB;;;iCASvBO,UAAK;gCACLA,UAAK;mCACLA,UAAK;;QAmFR,2BAAC;KA5FD,IA4FC;;;QArFC,0CAAwB;;QACxB,yCAAuB;;QACvB,4CAA0B;;QAC1B,uCAAwB;;QACxB,qCAAkB;;QAClB,uCAAiB;;QAEjB,sCAWC;;QAEW,0CAAoC;;;;;;;AC/BlD;QAMA;SASkC;;oBATjCG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;wBACpC,OAAO,EAAE;4BACPC,mBAAY;4BACZ,uBAAuB;4BACvByC,yBAAgB;yBACjB;wBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;qBAChC;;QACgC,wBAAC;KATlC;;;;;;ACNA;QAQE,iCAAoB,EAA2B;YAA3B,OAAE,GAAF,EAAE,CAAyB;SAAI;;;;;QAE5C,gDAAc;;;;QAArB,UAAsB,UAAe;YACnC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;SACjF;;oBAVFuB,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;qBAClC;;;;oBAJ0BU,eAAU;;;0BAOlC9E,UAAK,SAAC,qBAAqB;;QAQ9B,8BAAC;KAbD,IAaC;;;QARC,sCAAgD;;;;;QACpC,qCAAmC;;;;;;;ACPjD;QAwBE,0BAAoB,SAA2B,EACrC,gBAAiD;YADvC,cAAS,GAAT,SAAS,CAAkB;YACrC,qBAAgB,GAAhB,gBAAgB,CAAiC;YAXlD,iBAAY,GAAY,KAAK,CAAA;YAC7B,qBAAgB,GAAY,KAAK,CAAA;YAEhC,eAAU,GAAG,IAAIN,iBAAY,EAAO,CAAA;YAC9C,cAAS,GAAY,KAAK,CAAA;YAC1B,iBAAY,GAAG,CAAC,CAAA;YAChB,cAAS,GAAQ,EAAE,CAAA;YACnB,gBAAW,GAAQ,EAAE,CAAA;SAI2C;;;;QAEhE,mCAAQ;;;QAAR;YAAA,iBAYC;YAXC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAA;YACtG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;;;;gBAAC,UAAC,UAAe;;wBACvC,SAAS,GAAG,EAAE;oBAClB,SAAS,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAA;oBACrC,SAAS,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,UAAU,CAAA;oBAC/C,SAAS,CAAC,aAAa,CAAC,GAAI,eAAe,CAAA;oBAC3C,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAA;oBAClC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACjC,EAAC,CAAA;aACH;SACF;;;;;QAED,0CAAe;;;;QAAf,UAAgB,UAAe;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;SAC/B;;;;;QAED,sCAAW;;;;QAAX,UAAY,IAAS;YACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;SAC1C;;;;;;QAED,0CAAe;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SACpE;;;;;QAED,0CAAe;;;;QAAf,UAAgB,IAAS;;gBACjB,WAAW,GAAG,IAAI,CAAC,UAAU;;gBAC7B,GAAG,GAAG,IAAI,cAAc,EAAE;YAChC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;YAClC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAA;YAEzB,GAAG,CAAC,MAAM;;;YAAG;gBACX,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;;wBAChB,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;wBAC5D,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;;wBACtC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;oBACrC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAA;oBACZ,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC5B,CAAC,CAAC,KAAK,EAAE,CAAA;oBACT,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC5B,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;iBAChC;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;iBAC3D;aACF,CAAA,CAAA;YACD,GAAG,CAAC,OAAO;;;YAAG;gBACZ,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;aAC/B,CAAA,CAAA;YACD,GAAG,CAAC,IAAI,EAAE,CAAA;SACX;;oBA1EFD,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,8jEAAwC;;qBAEzC;;;;oBAPQoC,uBAAgB;oBAChB,+BAA+B;;;iCASrC7B,UAAK;iCACLA,UAAK;mCACLA,UAAK;uCACLA,UAAK;gCACLA,UAAK;iCACLC,WAAM;sCAMN8E,iBAAY,SAAC,uBAAuB;;QAyDvC,uBAAC;KA3ED,IA2EC;;;QApEC,sCAAwB;;QACxB,sCAAyB;;QACzB,wCAAsC;;QACtC,4CAA0C;;QAC1C,qCAAuB;;QACvB,sCAA8C;;QAC9C,qCAA0B;;QAC1B,wCAAgB;;QAChB,qCAAmB;;QACnB,uCAAqB;;QAErB,2CAA0F;;;;;QAC9E,qCAAmC;;;;;QAC7C,4CAAyD;;;;;;;;QCfXjD,gDAAmB;QAkBnE,sCACU,MAAoB,EACpB,QAAsB;YAFhC,YAIE,iBAAO,SACR;YAJS,YAAM,GAAN,MAAM,CAAc;YACpB,cAAQ,GAAR,QAAQ,CAAc;YAhBvB,WAAK,GAAQ,EAAE,CAAA;YACf,uBAAiB,GAAY,KAAK,CAAA;YAClC,gBAAU,GAAY,KAAK,CAAA;YAC3B,kBAAY,GAAY,KAAK,CAAA;YAC5B,uBAAiB,GAAG,IAAIpC,iBAAY,EAAO,CAAA;YAG9C,QAAE,GAAG,YAAU,IAAI,CAAC,MAAM,EAAI,CAAA;YAC7B,0BAAoB,GAAwB,IAAI,CAAA;YACxD,iBAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;YAC7B,kBAAY,GAAG,CAAC,CAAA;YAC1B,mBAAa,GAAwB,IAAI,CAAA;YACzC,cAAQ,GAAG,KAAK,CAAA;;SAOf;;;;QAED,+CAAQ;;;QAAR;YAAA,iBAOC;YANC,IAAG,IAAI,CAAC,UAAU,EAAE;gBAClB,IAAI,CAAC,uBAAuB,EAAE,CAAA;aAC/B;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;;;;YAAC,UAAC,UAAmB;gBACzE,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;aAC3B,EAAC,CAAA;SACH;;;;QACD,8DAAuB;;;QAAvB;YAAA,iBAmBC;YAlBC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,IAAI;oBACF,IAAI,IAAI,CAAC,aAAa,EAAE;wBACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;qBACjC;iBACF;gBAAC,OAAO,CAAC,EAAE;iBACX;wBAAS;oBACR,IAAI,CAAC,aAAa,GAAGwE,aAAQ,CAAC,IAAI,CAAC,CAAC,SAAS;;;oBAAC;wBAC5C,IAAI,KAAI,CAAC,YAAY,KAAK,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;4BACpD,KAAI,CAAC,YAAY,GAAG,CAAC,CAAA;4BACrB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAA;yBAC/C;6BAAM;4BACL,KAAI,CAAC,YAAY,IAAI,CAAC,CAAA;4BACtB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAA;yBAC/C;qBACF,EAAC,CAAA;iBACH;aACF;SACF;;;;;QACD,8CAAO;;;;QAAP,UAAQ,KAAa;YACnB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;aAC/C;iBAAM,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;gBACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;aAC/C;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAA;gBAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;aAC/C;YACD,IAAG,IAAI,CAAC,UAAU,EAAE;gBAClB,IAAI,CAAC,uBAAuB,EAAE,CAAA;aAC/B;SACF;QAED,sBAAI,wDAAc;;;;YAAlB;;oBACQ,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBACtD,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE;oBAC5H,OAAO,IAAI,CAAA;iBACZ;gBAAC,OAAO,KAAK,CAAA;aACf;;;WAAA;;;;QAED,mDAAY;;;QAAZ;;gBACQ,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YACtD,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE;gBAC5H,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;aACrC;SACF;;;;;QACD,qDAAc;;;;QAAd,UAAe,SAA6B;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;;gBACb,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;;gBAChD,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM;YAEzC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,QAAQ;aAClB,EACD;gBACE,OAAO,EAAE,GAAG;gBACZ,iBAAiB,EAAE,SAAS;aAC7B,EACD;gBACE,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAEjC,gBAAQ,CAAC,oBAAoB,CAAC,OAAO;aAChD,CAAC,CAAA;SACH;;;;QAED,kDAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAA;aACxC;SACF;;oBA/GFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;wBACrC,4uIAAkD;;qBAEnD;;;;oBANQ2C,oBAAY;oBAAYrC,oBAAY;;;iCAS1CC,UAAK;gCACLA,UAAK;4BACLA,UAAK;wCACLA,UAAK;iCACLA,UAAK;mCACLA,UAAK;wCACLC,WAAM;yBAENsC,gBAAW,SAAC,IAAI;mCAIhBvC,UAAK;;QA6FR,mCAAC;KAAA,CA3GiDwC,8BAAmB,GA2GpE;;;QAzGC,kDAAiC;;QACjC,iDAAmC;;QACnC,6CAAwB;;QACxB,yDAA2C;;QAC3C,kDAAoC;;QACpC,oDAAsC;;QACtC,yDAAqD;;QAErD,0CACqC;;;;;QACrC,4DAAwD;;QACxD,mDAAuC;;QACvC,oDAA0B;;QAC1B,qDAAyC;;QACzC,gDAAgB;;;;;QAGd,8CAA4B;;;;;QAC5B,gDAA8B;;;;;;;;ACrBlC;;QAAoCV,kCAAmB;QAAvD;;SAOC;;;;;QANC,oCAAW;;;;QAAX,UAAY,OAAoB;;gBACxB,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;gBAC7B,WAAW,EAAE,OAAO;aACrB,CAAC;YACF,OAAO,EAAE,CAAA;SACV;QACH,qBAAC;KAPD,CAAoCyC,mCAAmB,GAOtD;;AAGD;QAAA;SAiB0C;;oBAjBzCpE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;wBAC5C,OAAO,EAAE;4BACPC,mBAAY;4BACZuC,mBAAY;4BACZ,gBAAgB;4BAChB,qBAAqB;yBACtB;wBACD,OAAO,EAAE,CAAC,4BAA4B,CAAC;wBACvC,eAAe,EAAE,CAAC,4BAA4B,CAAC;wBAC/C,SAAS,EAAE;4BACT;gCACE,OAAO,EAAE6B,qCAAqB;gCAC9B,QAAQ,EAAEQ,gBAAc;6BACzB;yBACF;qBACF;;QACwC,gCAAC;KAjB1C;;;;;;ACpBA;QAIA;SAOqC;;oBAPpC7E,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;wBACvC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;qBACnC;;QACmC,2BAAC;KAPrC;;;;;;ACJA;QAUA;SAW8B;;oBAX7BD,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;wBAChC,OAAO,EAAE;4BACPC,mBAAY;4BACZ,uBAAuB;4BACvBE,sBAAa;4BACb,oBAAoB;4BACpB,yBAAyB;yBAC1B;wBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;qBAC5B;;QAC4B,oBAAC;KAX9B;;;;;;ACVA;QAWA;SAiBkC;;oBAjBjCH,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;wBACpC,OAAO,EAAE;4BACP,6BAA6B;4BAC7B,gBAAgB;yBACjB;wBACD,OAAO,EAAE,CAAC,oBAAoB;4BAC5B,6BAA6B;4BAC7B,gBAAgB;4BAChB,gBAAgB;4BAChB,cAAc;4BACd,iBAAiB;4BACjB,mBAAmB;4BACnB,iBAAiB;4BACjB,aAAa;yBACd;qBACF;;QACgC,wBAAC;KAjBlC;;;;;;;ACXA,QAAa,kBAAkB,GAAG;QAEhC,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,gBAAgB;SAC/B;KACF;;;;;;ICJD,IAAiB8E,eAAa,CAiD7B;IAjDD,WAAiB,aAAa;;;;QAC5B,oBAUC;;;;YATC,wBAA4B;;YAC5B,4BAA0B;;YAC1B,wBAAoD;;YACpD,6BAAkC;;YAClC,4BAAiC;;YACjC,sBAAe;;YACf,4BAA2B;;YAC3B,0BAAe;;YACf,iCAAuB;;;;;QAGzB,2BAMC;;;;YALC,gCAAkB;;YAClB,0CAA+C;;YAC/C,uCAA2B;;YAC3B,2BAAY;;YACZ,qCAAuB;;QAczB,IAAY,cAKX;QALD,WAAY,cAAc;YACxB,+BAAa,CAAA;YACb,qCAAmB,CAAA;YACnB,qCAAmB,CAAA;YACnB,yDAAuC,CAAA;SACxC,EALW,cAAc,GAAd,4BAAc,KAAd,4BAAc,QAKzB;QACD,IAAY,SAKX;QALD,WAAY,SAAS;YACnB,kCAAqB,CAAA;YACrB,wBAAW,CAAA;YACX,gCAAmB,CAAA;YACnB,gCAAmB,CAAA;SACpB,EALW,SAAS,GAAT,uBAAS,KAAT,uBAAS,QAKpB;QAED,IAAY,SAGX;QAHD,WAAY,SAAS;YACnB,6CAAgC,CAAA;YAChC,gCAAmB,CAAA;SACpB,EAHW,SAAS,GAAT,uBAAS,KAAT,uBAAS,QAGpB;KACF,EAjDgBA,eAAa,KAAbA,eAAa,QAiD7B;;;;;;;QCvCoCnD,kCAAmB;QAQtD,wBAAoB,UAA0B,EACpC,OAAgC,EACjC,MAAc;YAFvB,YAIE,iBAAO,SACR;YALmB,gBAAU,GAAV,UAAU,CAAgB;YACpC,aAAO,GAAP,OAAO,CAAyB;YACjC,YAAM,GAAN,MAAM,CAAQ;YANb,sBAAgB,GAAG,IAAIpC,iBAAY,EAAO,CAAA;YACpD,+BAAyB,GAAG,KAAK,CAAA;;SAQhC;;;;QAED,iCAAQ;;;QAAR;YAAA,iBAMC;YALC,IAAI,CAAC,cAAc,GAAG,WAAW;;;YAAC;gBAChC,KAAI,CAAC,aAAa,EAAE,CAAA;aACrB,GAAiC,IAAI,CAAC,CAAA;SAGxC;QAED,sBAAI,mDAAuB;;;;YAA3B;gBACE,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;oBAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;oBACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,mBAAmB,EACtD;oBACA,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,KAAK,CAAA;aACb;;;WAAA;QAED,sBAAI,+CAAmB;;;;YAAvB;gBACE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;oBACpE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAA;iBACvC;gBACD,OAAO,KAAK,CAAA;aACb;;;WAAA;;;;;QACK,2CAAkB;;;;QAAxB,UAAyB,OAAY;;;;;;iCAChC,OAAO,CAAC,UAAU,EAAlB,wBAAkB;4BACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,iBAAe,OAAO,CAAC,SAAW,CAAC,CAAC,CAAA;;gCAEzB,qBAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAA;;4BAArD,OAAO,GAAG,SAA2C;4BACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,OAAO,CAAC,GAAG,CAAC,EACb;gCACE,WAAW,EAAE,OAAO,CAAC,WAAW;6BACjC,CAAC,CAAA;;;;;;SAGP;;;;QACD,sCAAa;;;QAAb;;gBACM,OAAO,GAAM,EAAE;YACnB,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;oBAC/B,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnC,UAAU,CAAC,OAAO;;;;oBAAC,UAAC,IAAS;wBAC3B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;qBAChC,EAAC,CAAA;iBACH;gBACD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;;gBAE5B,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;aACnC;SACF;;;;;QAID,uCAAc;;;;QAAd,UAAe,IAAS;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACjC;;oBA9EFD,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,40PAAqC;;qBAEtC;;;;oBARQ4C,sBAAc;oBACd,uBAAuB;oBACvBC,aAAM;;;iCAUZtC,UAAK;uCACLC,WAAM;;QAsET,qBAAC;KAAA,CA1EoCuC,8BAAmB,GA0EvD;;;QAvEC,oCAA0C;;QAC1C,0CAAoD;;QACpD,mDAAiC;;QACjC,uCAAkB;;QAClB,wCAAmB;;;;;QACP,oCAAkC;;;;;QAC5C,iCAAwC;;QACxC,gCAAqB;;;;;;;;QCbkBV,yCAAmB;QAK5D;mBACE,iBAAO;SACR;;;;QAED,wCAAQ;;;QAAR;SACC;;oBAfFrC,cAAS,SAAC;wBACT,QAAQ,EAAE,4BAA4B;wBACtC,uiPAA6C;;qBAE9C;;;;;iCAIEO,UAAK;;QASR,4BAAC;KAAA,CAZ0CwC,8BAAmB,GAY7D;;;QATC,2CAA0C;;;;;;;ACZ5C;QA8BE,+BACU,QAAqB,EACrB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC,EAChC,OAAgC;YAL1C,iBAaG;YAZO,aAAQ,GAAR,QAAQ,CAAa;YACrB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAyB;YAhBjC,kBAAa,GAAY,KAAK,CAAA;YAC7B,gBAAW,GAAG,IAAI9C,iBAAY,EAAO,CAAA;YAE/C,kBAAa,GAAW,KAAK,CAAA;YAC7B,kBAAa,GAAGuF,eAAa,CAAC,SAAS,CAAA;YAIvC,aAAQ,GAAG,KAAK,CAAA;YAChB,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YAOrB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,wCAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;QAED,4CAAY;;;QAAZ;YACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACrF;iBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACjF;SACF;;;;;QACD,kDAAkB;;;;QAAlB,UAAmB,WAAgB;;YAEjC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrF,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAA;aACrE;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;;YAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;oBA/DFxF,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,k+VAA6C;;qBAE9C;;;;oBAXQyF,oBAAW;oBAGXrD,uBAAgB;oBAChB,+BAA+B;oBAH/BF,6BAAqB;oBAIrB,uBAAuB;;;iCAQ7B3B,UAAK;8CACLA,UAAK;0CACLA,UAAK;gDACLA,UAAK;oCACLA,UAAK;kCACLC,WAAM;oCACND,UAAK;;QAoDR,4BAAC;KAhED,IAgEC;;;QA1DC,2CAA0C;;QAC1C,wDAAqC;;QACrC,oDAAiC;;QACjC,0DAAuC;;QACvC,8CAAuC;;QACvC,4CAA+C;;QAC/C,8CAA4B;;QAC5B,8CAA6B;;QAC7B,8CAAuC;;QACvC,iDAAqB;;QACrB,4CAAgB;;QAChB,6CAAiB;;QACjB,yCAAgB;;QAChB,2CAAsB;;QACtB,8CAAyB;;;;;QAEvB,yCAA6B;;;;;QAC7B,0CAAmC;;;;;QACnC,iDAAyD;;;;;QACzD,0CAAwC;;;;;QACxC,wCAAwC;;;;;;;ACnC5C;QAOE,uBACyB,WAAgB;YACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;SACjC;;;;;QAED,iCAAS;;;;QAAT,UAAU,KAAa;;gBACf,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;;gBACtD,QAAQ,GAAM,IAAI,CAAC,WAAW,CAAC,WAAW,SAAI,IAAI,CAAC,WAAW,CAAC,aAAa,gBAAW,OAAS;YACtG,OAAO,KAAK,GAAG,QAAQ,GAAG,EAAE,CAAA;SAC7B;;oBAdFmF,SAAI,SAAC;wBACJ,IAAI,EAAE,eAAe;qBACtB;;;;oDAIIpE,WAAM,SAAC,aAAa;;QAUzB,oBAAC;KAhBD,IAgBC;;;QAZC,oCAAgB;;;;;;;ACNlB;QAIA;SAOoC;;oBAPnCZ,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,aAAa,CAAC;wBAC7B,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,aAAa,CAAC;qBACzB;;QACkC,0BAAC;KAPpC;;;;;;ACJA;QAEA;SAeC;;;;;;;;;;;;;;;;;;;;;QAHC,qCAAS;;;;;;;;;;;;;QAAT;YAAU,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YACtB,OAAO,IAAI,CAAC;SACb;;oBAdF+E,SAAI,SAAC;wBACJ,IAAI,EAAE,eAAe;qBACtB;;QAaD,wBAAC;KAfD;;;;;;ACFA;QAIA;SAOwC;;oBAPvChF,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;wBACjC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;qBAC7B;;QACsC,8BAAC;KAPxC;;;;;;ACJA;QAaE,wCAAoB,gBAAiD;YAAjD,qBAAgB,GAAhB,gBAAgB,CAAiC;YAH5D,mBAAc,GAAY,IAAI,CAAA;YAC9B,uBAAkB,GAAmC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAA;YACpG,2BAAsB,GAAG,SAAS,CAAC,oBAAoB,CAAA;SACmB;;;;QAE1E,iDAAQ;;;QAAR;SACC;;;;;;QAED,wDAAe;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;SAC7D;;oBAhBFX,cAAS,SAAC;wBACT,QAAQ,EAAE,6BAA6B;wBACvC,2iMAAwD;;qBAEzD;;;;oBANQ,+BAA+B;;;qCAQrCO,UAAK;yCACLA,UAAK;;QAUR,qCAAC;KAjBD,IAiBC;;;QAXC,wDAAuC;;QACvC,4DAAoG;;QACpG,gEAAuD;;;;;QAC3C,0DAAyD;;;;;;;ACbvE;QAKA;SAK2C;;oBAL1CG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;wBAC9C,OAAO,EAAE,CAACC,mBAAY,EAAEsE,yBAAmB,EAAED,iBAAW,CAAC;wBACzD,OAAO,EAAE,CAAC,8BAA8B,CAAC;qBAC1C;;QACyC,kCAAC;KAL3C;;;;;;ACLA;QAEA;YAKW,4BAAuB,GAAG,EAAE,CAAA;YAC5B,QAAG,GAAG,EAAE,CAAA;YACjB,mCAA8B,GAAG,KAAK,CAAA;YAElB,WAAM,GAAG,EAAE,CAAA;SAchC;;;;QAbwB,6CAAS;;;QAAhC;YACE,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAA;gBAC1C,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAA;aAC3C;SACF;;;;QAED,+CAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAA;aACvB;SACF;;oBArBFL,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;qBACtC;;;8CAGEpE,UAAK;0BACLA,UAAK;6BAGLuC,gBAAW,SAAC,KAAK;gCACjB+B,iBAAY,SAAC,OAAO;;QAavB,gCAAC;KAvBD,IAuBC;;;QAlBC,4DAAqC;;QACrC,wCAAiB;;QACjB,mEAAsC;;QAEtC,2CAA+B;;;;;;;ACXjC;QAIA;SAOuC;;oBAPtCnE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;wBACzC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;qBACrC;;QACqC,6BAAC;KAPvC;;;;;;ACJA;QAGA;SA+EC;;;;;;QA1EC,6CAAS;;;;;QAAT,UAAU,IAAY,EAAE,IAA0D;YAChF,IAAI,IAAI,IAAI,CAAC,EAAE;gBACb,OAAO,EAAE,CAAA;aACV;;gBACK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;;gBAC3B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;;gBAClC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;;gBACpCgF,UAAQ,GAAG,EAAE;YACjB,QAAQ,IAAI;gBACV,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBACtC,KAAK,KAAK;oBACR,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEA,UAAQ,EAAE,IAAI,CAAC,CAAA;gBACrD,KAAK,OAAO;;;;;wBAEJ,SAAS,GAAGC,iBAAe,CAAC,IAAI,EAAE,SAAS,CAAC;;wBAC5C,YAAY,GAAGC,YAAU,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC9E,OAAO,YAAY,CAAA;gBACrB,KAAK,OAAO;;;;;wBACJ,UAAU,GAAGD,iBAAe,CAAC,IAAI,EAAE,SAAS,CAAC;;wBAC7C,cAAc,GAAGC,YAAU,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBAE9E,OAAO,cAAc,CAAA;gBACvB,KAAK,MAAM;oBACT,IAAI,CAAC,KAAK,CAAC,EAAE;wBACXF,UAAQ,IAAI,mBAAmB,CAAA;qBAChC;oBACD,IAAI,CAAC,KAAK,CAAC,EAAE;wBACXA,UAAQ,IAAO,CAAC,UAAO,CAAA;qBACxB;oBACD,IAAI,CAAC,GAAG,CAAC,EAAE;wBACTA,UAAQ,IAAO,CAAC,WAAQ,CAAA;qBACzB;oBACD,OAAOA,UAAQ,CAAA;gBACjB,KAAK,KAAK;oBACR,IAAI,CAAC,GAAG,EAAE,EAAE;;4BACJ,SAAS,GAAGC,iBAAe,CAAC,IAAI,EAAE,SAAS,CAAC;wBAClD,OAAU,SAAS,CAAC,IAAI,EAAE,YAAS,CAAA;qBACpC;oBACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAED,UAAQ,EAAE,IAAI,CAAC,CAAA;gBAErD;oBACE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;aACvC;SACF;;;;;;;QAED,mDAAe;;;;;;QAAf,UAAgB,CAAS,EAAE,CAAS,EAAE,CAAS;;gBACzC,QAAQ,GAAG,EAAE;YACjB,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAG,GAAG,EAAE,CAAA;YACvD,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAG,GAAG,KAAK,CAAA;YAC1D,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YACnD,OAAO,QAAQ,CAAA;SAChB;;;;;;;;;QACD,kDAAc;;;;;;;;QAAd,UAAe,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,GAAW,EAAE,IAAY;;gBACnE,KAAK,GAAG,EAAE;;gBACV,QAAQ,GAAG,GAAG;YAClB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,QAAQ,IAAI,IAAI,KAAK,KAAK,GAAM,CAAC,MAAG,GAAM,CAAC,QAAK,CAAA;aACjD;YACD,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,KAAK,GAAG,GAAG,CAAA;iBACZ;gBACD,QAAQ,IAAI,IAAI,KAAK,KAAK,GAAG,KAAG,KAAK,GAAG,CAAC,MAAG,GAAG,KAAG,KAAK,GAAG,CAAC,SAAM,CAAA;aAClE;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,KAAK,GAAG,GAAG,CAAA;iBACZ;gBACD,QAAQ,IAAI,IAAI,KAAK,KAAK,GAAG,KAAG,KAAK,GAAG,CAAC,MAAG,GAAG,KAAG,KAAK,GAAG,CAAC,SAAM,CAAA;aAClE;YACD,OAAO,QAAQ,CAAA;SAChB;;oBA7EFD,SAAI,SAAC;wBACJ,IAAI,EAAE,uBAAuB;qBAC9B;;QA6ED,gCAAC;KA/ED;;;;;;ACHA;QAIA;SAO4C;;oBAP3ChF,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;wBACzC,OAAO,EAAE;4BACPC,mBAAY;yBACb;wBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;qBACrC;;QAC0C,kCAAC;KAP5C;;;;;;ACJA;QAqBE,2BACU,QAAqB,EACrB,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC;YAL1C,iBAaG;YAZO,aAAQ,GAAR,QAAQ,CAAa;YACrB,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAXhC,aAAQ,GAAG,IAAIV,iBAAY,EAAO,CAAA;YAI5C,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YAOrB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,oCAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;SACF;;;;;QAED,8CAAkB;;;;QAAlB,UAAmB,QAAa;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC7B;;;;QACD,0CAAc;;;QAAd;;;;YAIE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAK,IAAI,CAAC,UAAU,SAAI,IAAI,CAAC,aAAe;gBACnD,EAAE,EAAKwC,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAO;aAC1D,EACD;gBACE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;;;gBAGlC,MAAM,EAAE,EAAE;aAEX,EACD;gBACE,SAAS,EAAKA,gBAAW,CAAC,MAAM,CAAC,UAAO;gBACxC,MAAM,EAAEA,gBAAW,CAAC,MAAM,CAAC;aAC5B,CAAC,CAAA;SACL;;oBA7DFzC,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,22EAAyC;;qBAE1C;;;;oBAVQyF,oBAAW;oBACY9C,oBAAY;oBAEnCP,uBAAgB;oBAChB,+BAA+B;oBAH/BF,6BAAqB;;;iCAW3B3B,UAAK;+BACLC,WAAM;;QAwDT,wBAAC;KA/DD,IA+DC;;;QAzDC,uCAAuC;;QACvC,qCAA4C;;QAC5C,6CAAqB;;QACrB,wCAAgB;;QAChB,yCAAiB;;QACjB,uCAAsB;;QACtB,0CAAyB;;;;;QAEvB,qCAA6B;;;;;QAC7B,mCAA4B;;;;;QAC5B,sCAAmC;;;;;QACnC,6CAAyD;;;;;QACzD,sCAAwC;;;;;;;AC1B5C;QAiCE,gCACU,QAAqB,EACrB,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC;YAL1C,iBAaG;YAZO,aAAQ,GAAR,QAAQ,CAAa;YACrB,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAnBjC,kBAAa,GAAY,KAAK,CAAA;YAC7B,gBAAW,GAAG,IAAIP,iBAAY,EAAO,CAAA;YACrC,qBAAgB,GAAG,IAAIA,iBAAY,EAAO,CAAA;YAEpD,kBAAa,GAAW,KAAK,CAAA;YAE7B,kBAAa,GAAGuF,eAAa,CAAC,SAAS,CAAA;YAGvC,aAAQ,GAAG,KAAK,CAAA;YAChB,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YASrB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,yCAAQ;;;QAAR;YAAA,iBAaC;;gBAZO,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;YACD,IAAI,CAAC,cAAc,GAAG,WAAW;;;YAAC;gBAChC,KAAI,CAAC,aAAa,EAAE,CAAA;aACrB,GAAiC,IAAI,CAAC,CAAA;SACxC;;;;QAED,6CAAY;;;QAAZ;YACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACrF;iBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACjF;SACF;;;;;QACD,mDAAkB;;;;QAAlB,UAAmB,WAAgB;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;;;;QACD,+CAAc;;;;QAAd,UAAe,OAAY;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACpC;;;;QAGD,8CAAa;;;QAAb;;gBACM,OAAO,GAAM,EAAE;YACnB,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;oBAC/B,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnC,UAAU,CAAC,OAAO;;;;oBAAC,UAAC,IAAS;wBAC3B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;qBAChC,EAAC,CAAA;iBACH;;;gBAGD,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;aACnC;SACF;;oBAnFFxF,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,gsPAA8C;;qBAE/C;;;;oBAVQyF,oBAAW;oBACY9C,oBAAY;oBAEnCP,uBAAgB;oBAChB,+BAA+B;oBAH/BF,6BAAqB;;;iCAY3B3B,UAAK;8CACLA,UAAK;0CACLA,UAAK;gDACLA,UAAK;oCACLA,UAAK;kCACLC,WAAM;uCACNA,WAAM;oCACND,UAAK;;QAwER,6BAAC;KAtFD,IAsFC;;;QA/EC,4CAA0C;;QAC1C,yDAAqC;;QACrC,qDAAiC;;QACjC,2DAAuC;;QACvC,+CAAuC;;QACvC,6CAA+C;;QAC/C,kDAAoD;;QACpD,+CAA4B;;QAC5B,+CAA6B;;QAC7B,kDAAqB;;QACrB,+CAAuC;;QACvC,6CAAgB;;QAChB,8CAAiB;;QACjB,0CAAgB;;QAChB,4CAAsB;;QACtB,+CAAyB;;QACzB,gDAAmB;;;;;QAGjB,0CAA6B;;;;;QAC7B,wCAA4B;;;;;QAC5B,2CAAmC;;;;;QACnC,kDAAyD;;;;;QACzD,2CAAwC;;;;;;;ACtC5C;QA2BE,2BACU,QAAqB,EACrB,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC;YAL1C,iBAaG;YAZO,aAAQ,GAAR,QAAQ,CAAa;YACrB,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAdjC,kBAAa,GAAY,KAAK,CAAA;YAC7B,gBAAW,GAAG,IAAIN,iBAAY,EAAO,CAAA;YAC/C,kBAAa,GAAW,KAAK,CAAA;YAI7B,aAAQ,GAAG,KAAK,CAAA;YAChB,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YAOrB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,oCAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,4DAA4D,CAAA;aAC3H;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;;QAED,8CAAkB;;;;QAAlB,UAAmB,WAAgB;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;;;QACD,0CAAc;;;QAAd;;;;YAIE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAK,IAAI,CAAC,UAAU,SAAI,IAAI,CAAC,aAAe;gBACnD,EAAE,EAAKwC,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,UAAO;aACnE,EACD;gBACE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU;gBACtC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe;;gBAE7C,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,KAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,EAAI;aAC/C,EACD;gBACE,SAAS,EAAKA,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,UAAO;gBACzE,MAAM,EAAEA,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;aAC7D,CAAC,CAAA;SACL;;oBAtEFzC,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,ytGAAyC;;qBAE1C;;;;oBAVQyF,oBAAW;oBACY9C,oBAAY;oBAEnCP,uBAAgB;oBAChB,+BAA+B;oBAH/BF,6BAAqB;;;iCAW3B3B,UAAK;8CACLA,UAAK;0CACLA,UAAK;gDACLA,UAAK;oCACLA,UAAK;kCACLC,WAAM;;QA6DT,wBAAC;KAxED,IAwEC;;;QAlEC,uCAA0C;;QAC1C,oDAAqC;;QACrC,gDAAiC;;QACjC,sDAAuC;;QACvC,0CAAuC;;QACvC,wCAA+C;;QAC/C,0CAA6B;;QAC7B,6CAAqB;;QACrB,wCAAgB;;QAChB,yCAAiB;;QACjB,qCAAgB;;QAChB,uCAAsB;;QACtB,0CAAyB;;;;;QAEvB,qCAA6B;;;;;QAC7B,mCAA4B;;;;;QAC5B,sCAAmC;;;;;QACnC,6CAAyD;;;;;QACzD,sCAAwC;;;;;;;AChC5C;QAuBE,iCACU,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC,EAChC,OAAgC,EACjC,MAAc;YANvB,iBAcG;YAbO,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAyB;YACjC,WAAM,GAAN,MAAM,CAAQ;YAfb,gBAAW,GAAG,IAAIP,iBAAY,EAAO,CAAA;YACrC,kBAAa,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACxC,kBAAa,GAAY,KAAK,CAAA;YAIvC,eAAU,GAAQ,EAAE,CAAA;YACpB,kBAAa,GAAO,EAAE,CAAA;YASlB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,0CAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;;QAED,gDAAc;;;;QAAd,UAAe,WAAgB;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACpC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,WAAW,CAAC,iBAAiB,CAAC,GAAG,aAAa,CAAA;aAC/C;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;SAC9C;;;;;QACD,8CAAY;;;;QAAZ,UAAa,WAAe;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;;;;QAED,4CAAU;;;;QAAV,UAAW,OAAY;YACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA2B,OAAO,CAAC,OAAO,SAAI,OAAO,CAAC,UAAU,iBAAc,CAAC,CAAC,CAAA;SACvG;;oBAzDFD,cAAS,SAAC;wBACT,QAAQ,EAAE,yBAAyB;wBACnC,s/GAAgD;;qBAEjD;;;;oBAR+B2C,oBAAY;oBADnCP,uBAAgB;oBACqB0D,uCAA+B;oBAApE5D,6BAAqB;oBACrB,uBAAuB;oBACvBW,aAAM;;;iCAQZtC,UAAK;kCACLC,WAAM;oCACNA,WAAM;oCACND,UAAK;;QAkDR,8BAAC;KA3DD,IA2DC;;;QArDC,6CAAyC;;QACzC,8CAA+C;;QAC/C,gDAAiD;;QACjD,gDAAuC;;QACvC,mDAAqB;;QACrB,8CAAgB;;QAChB,+CAAiB;;QACjB,6CAAoB;;QACpB,gDAAsB;;;;;QAGpB,yCAA4B;;;;;QAC5B,4CAAmC;;;;;QACnC,mDAAyD;;;;;QACzD,4CAAwC;;;;;QACxC,0CAAwC;;QACxC,yCAAqB;;;;;;;AC7BzB;QA+BE,6BACU,QAAqB,EACrB,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC;YAL1C,iBAaG;YAZO,aAAQ,GAAR,QAAQ,CAAa;YACrB,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAhBjC,kBAAa,GAAY,KAAK,CAAA;YAC7B,gBAAW,GAAG,IAAIN,iBAAY,EAAO,CAAA;YACrC,qBAAgB,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACpD,kBAAa,GAAW,KAAK,CAAA;YAC7B,kBAAa,GAAGuF,eAAa,CAAC,SAAS,CAAA;YAIvC,aAAQ,GAAG,KAAK,CAAA;YAChB,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YAOrB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,sCAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;QAED,0CAAY;;;QAAZ;YACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACrF;iBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACjF;SACF;;;;;QACD,gDAAkB;;;;QAAlB,UAAmB,WAAgB;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;;;;QACD,4CAAc;;;;QAAd,UAAe,WAAgB;YAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACvC;;oBA9DFxF,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,wvNAA4C;;qBAE7C;;;;oBAVQyF,oBAAW;oBACY9C,oBAAY;oBAEnCP,uBAAgB;oBAChB,+BAA+B;oBAH/BF,6BAAqB;;;iCAY3B3B,UAAK;8CACLA,UAAK;0CACLA,UAAK;gDACLA,UAAK;oCACLA,UAAK;oCACLA,UAAK;kCACLC,WAAM;uCACNA,WAAM;;QAkDT,0BAAC;KAhED,IAgEC;;;QAzDC,yCAA0C;;QAC1C,sDAAqC;;QACrC,kDAAiC;;QACjC,wDAAuC;;QACvC,4CAA2B;;QAC3B,4CAAuC;;QACvC,0CAA+C;;QAC/C,+CAAoD;;QACpD,4CAA6B;;QAC7B,4CAAuC;;QACvC,+CAAqB;;QACrB,0CAAgB;;QAChB,2CAAiB;;QACjB,uCAAgB;;QAChB,yCAAsB;;QACtB,4CAAyB;;;;;QAEvB,uCAA6B;;;;;QAC7B,qCAA4B;;;;;QAC5B,wCAAmC;;;;;QACnC,+CAAyD;;;;;QACzD,wCAAwC;;;;;;;ACpC5C;QAiCE,oCACU,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC,EAChC,OAAgC,EAChC,MAAc;YANxB,iBAcG;YAbO,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAyB;YAChC,WAAM,GAAN,MAAM,CAAQ;YAxBf,qBAAgB,GAAY,KAAK,CAAA;YAChC,aAAQ,GAAG,IAAIP,iBAAY,EAAO,CAAA;YACnC,kBAAa,GAAY,KAAK,CAAA;YAIvC,eAAU,GAAQ,EAAE,CAAA;YACpB,kBAAa,GAAO,EAAE,CAAA;YACtB,iBAAY,GAAQ;gBAClB,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,CAAA;YASG,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,6CAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;YACD,IAAI,CAAC,cAAc,EAAE,CAAA;SACtB;;;;QAED,mDAAc;;;QAAd;YACE,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC7C,IAAG,IAAI,CAAC,gBAAgB,EAAC;;wBACjB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;iBACrE;qBAAK;oBACJ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;iBAC/C;aACF;SACF;QAID,sBAAI,uDAAe;;;;YAAnB;;oBACQ,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrF,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;aACvC;;;WAAA;;;;;QAED,+CAAU;;;;QAAV,UAAW,IAAS;YAClB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrF,IAAI,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAA;aAC3C;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,+BAA6B,IAAI,CAAC,KAAK,SAAI,IAAI,CAAC,WAAW,SAAI,IAAI,CAAC,KAAK,iBAAc,CAAC,CAC1F,CAAA;SACF;;oBAjFFD,cAAS,SAAC;wBACT,QAAQ,EAAE,4BAA4B;wBACtC,4zJAAmD;;qBAEpD;;;;oBAR+B2C,oBAAY;oBADnCP,uBAAgB;oBACqB0D,uCAA+B;oBAApE5D,6BAAqB;oBAErB,uBAAuB;oBADvBW,aAAM;;;iCAUZtC,UAAK;uCACLA,UAAK;+BACLC,WAAM;oCACND,UAAK;;QAwER,iCAAC;KAlFD,IAkFC;;;QA3EC,gDAAyC;;QACzC,sDAA0C;;QAC1C,8CAA4C;;QAC5C,mDAAuC;;QACvC,sDAAqB;;QACrB,iDAAgB;;QAChB,kDAAiB;;QACjB,gDAAoB;;QACpB,mDAAsB;;QACtB,kDAQC;;;;;QAGC,4CAA4B;;;;;QAC5B,+CAAmC;;;;;QACnC,sDAAyD;;;;;QACzD,+CAAwC;;;;;QACxC,6CAAwC;;;;;QACxC,4CAAsB;;;;;;;ACvC1B;QAgCE,sCACU,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC,EAChC,MAAe;YALzB,iBAaG;YAZO,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,WAAM,GAAN,MAAM,CAAS;YAvBhB,qBAAgB,GAAY,KAAK,CAAA;YAChC,aAAQ,GAAG,IAAIN,iBAAY,EAAO,CAAA;YAClC,mBAAc,GAAG,IAAIA,iBAAY,EAAO,CAAA;YAIlD,eAAU,GAAQ,EAAE,CAAA;YACpB,kBAAa,GAAO,EAAE,CAAA;YACtB,iBAAY,GAAQ;gBAClB,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,CAAA;YAQG,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,+CAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;YACD,IAAI,CAAC,cAAc,EAAE,CAAA;SACtB;;;;QAED,qDAAc;;;QAAd;YACE,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC7C,IAAG,IAAI,CAAC,gBAAgB,EAAC;;wBACjB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;iBACrE;qBAAK;oBACJ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;iBAC/C;aACF;SACF;;;;;QAED,iDAAU;;;;QAAV,UAAW,OAAY;YACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,+BAA6B,OAAO,CAAC,KAAK,SAAI,OAAO,CAAC,WAAW,SAAI,OAAO,CAAC,KAAK,iBAAc,CAAC,CACnG,CAAA;SACF;QAED,sBAAI,yDAAe;;;;YAAnB;;oBACQ,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrF,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;aACvC;;;WAAA;;oBA3EFD,cAAS,SAAC;wBACT,QAAQ,EAAE,+BAA+B;wBACzC,+tFAAsD;;qBAEvD;;;;oBAP+B2C,oBAAY;oBADnCP,uBAAgB;oBACqB0D,uCAA+B;oBAApE5D,6BAAqB;oBACrBW,aAAM;;;iCASZtC,UAAK;uCACLA,UAAK;+BACLC,WAAM;qCACNA,WAAM;;QAkET,mCAAC;KA5ED,IA4EC;;;QArEC,kDAAyC;;QACzC,wDAA0C;;QAC1C,gDAA4C;;QAC5C,sDAAkD;;QAClD,wDAAqB;;QACrB,mDAAgB;;QAChB,oDAAiB;;QACjB,kDAAoB;;QACpB,qDAAsB;;QACtB,oDAQC;;;;;QAGC,8CAA4B;;;;;QAC5B,iDAAmC;;;;;QACnC,wDAAyD;;;;;QACzD,iDAAwC;;;;;QACxC,8CAAuB;;;;;;;ACrC3B;QAmBE,+BAAoB,MAAc;YAAd,WAAM,GAAN,MAAM,CAAQ;YARzB,qBAAgB,GAAY,IAAI,CAAA;YAChC,kBAAa,GAAY,KAAK,CAAA;YAEvC,WAAM,GAAG;gBACP,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;gBACrD,SAAS,EAAE,SAAS,EAAE,SAAS;aAChC,CAAC;SAEoC;;;;QAEtC,wCAAQ;;;QAAR;YACE,IAAI,CAAC,cAAc,EAAE,CAAA;SACtB;;;;QAED,8CAAc;;;QAAd;YACE,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC7C,IAAG,IAAI,CAAC,gBAAgB,EAAC;;wBACjB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;iBAC/D;qBAAK;oBACJ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;iBAC/C;aACF;SACF;;;;;QAGD,0CAAU;;;;QAAV,UAAW,OAAY;YACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mCAAiC,OAAO,CAAC,IAAI,SAAI,OAAO,CAAC,KAAK,iBAAc,CAAC,CAAC,CAAA;SACrG;;oBAnCFR,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,qiGAA6C;;qBAE9C;;;;oBANQ6C,aAAM;;;iCAQZtC,UAAK;uCACLA,UAAK;oCACLA,UAAK;;QA8BR,4BAAC;KAtCD,IAsCC;;;QAhCC,2CAA0C;;QAC1C,iDAAyC;;QACzC,8CAAuC;;QAEvC,uCAGE;;;;;QAEU,uCAAsB;;;;;;;ACnBpC;QA8BE,kCACU,QAAqB,EACrB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC,EAChC,OAAgC;YAL1C,iBAaG;YAZO,aAAQ,GAAR,QAAQ,CAAa;YACrB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAyB;YAhBjC,kBAAa,GAAY,KAAK,CAAA;YAC7B,gBAAW,GAAG,IAAIN,iBAAY,EAAO,CAAA;YAE/C,kBAAa,GAAW,KAAK,CAAA;YAC7B,kBAAa,GAAGuF,eAAa,CAAC,SAAS,CAAA;YAIvC,aAAQ,GAAG,KAAK,CAAA;YAChB,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YAOrB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,2CAAQ;;;QAAR;YACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAA;aACzE;;gBACK,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;QAED,+CAAY;;;QAAZ;YACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACrF;iBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACjF;SACF;;;;;QACD,qDAAkB;;;;QAAlB,UAAmB,WAAgB;;YAEjC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrF,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAA;aACrE;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;;YAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;oBAlEFxF,cAAS,SAAC;wBACT,QAAQ,EAAE,0BAA0B;wBACpC,2qVAAiD;;qBAElD;;;;oBAXQyF,oBAAW;oBAGXrD,uBAAgB;oBAChB,+BAA+B;oBAH/BF,6BAAqB;oBAIrB,uBAAuB;;;iCAQ7B3B,UAAK;8CACLA,UAAK;0CACLA,UAAK;gDACLA,UAAK;oCACLA,UAAK;kCACLC,WAAM;oCACND,UAAK;;QAuDR,+BAAC;KAnED,IAmEC;;;QA7DC,8CAA0C;;QAC1C,2DAAqC;;QACrC,uDAAiC;;QACjC,6DAAuC;;QACvC,iDAAuC;;QACvC,+CAA+C;;QAC/C,iDAA4B;;QAC5B,iDAA6B;;QAC7B,iDAAuC;;QACvC,oDAAqB;;QACrB,+CAAgB;;QAChB,gDAAiB;;QACjB,4CAAgB;;QAChB,8CAAsB;;QACtB,iDAAyB;;;;;QAEvB,4CAA6B;;;;;QAC7B,6CAAmC;;;;;QACnC,oDAAyD;;;;;QACzD,6CAAwC;;;;;QACxC,2CAAwC;;;;;;;ACnC5C;QAgCE,iCAAoB,SAAgC,EAAU,OAAgC;YAA1E,cAAS,GAAT,SAAS,CAAuB;YAAU,YAAO,GAAP,OAAO,CAAyB;YAhBpF,gBAAW,GAAG,IAAIN,iBAAY,EAAO,CAAA;YACtC,kBAAa,GAAY,KAAK,CAAA;YACvC,cAAS,GAAQ,EAAE,CAAA;YACnB,eAAU,GAAQ,EAAE,CAAA;YACpB,mBAAc,GAAQ,EAAE,CAAA;YAGxB,kBAAa,GAAW,CAAC,CAAC;YAG1B,gBAAW,GAAY,KAAK,CAAA;YAC5B,eAAU,GAAY,KAAK,CAAA;SAKyE;;;;QAEpG,0CAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;SACF;;;;;QAED,gDAAc;;;;QAAd,UAAe,IAAS;;gBAClB,SAAS,GAAG,IAAI,CAAC,SAAS;YAC9B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;;;;SAIjC;;;;;;;QAGD,iDAAe;;;;;;QAAf,UAAgB,SAAc;;gBACxB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;;gBAC1B,YAAY,GAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;;;;;;;;;gBAI/C,QAAQ,GAAG,YAAY,GAAG,GAAG;YACnC,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;aACxE;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;aACzB;SAEF;;;;QAED,6CAAW;;;QAAX;SACC;;;;;QAED,oDAAkB;;;;QAAlB,UAAmB,WAAgB;;YAEjC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrF,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAA;aACrE;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;;YAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;oBA5EFD,cAAS,SAAC;wBACT,QAAQ,EAAE,wBAAwB;wBAClC,g/NAA+C;;qBAEhD;;;;oBAPQkC,6BAAqB;oBACrB,uBAAuB;;;iCAY7B3B,UAAK;kCACLC,WAAM;oCACND,UAAK;;QAkER,8BAAC;KA9ED,IA8EC;;;QApEC,6CAAyC;;QACzC,8CAA+C;;QAC/C,gDAAuC;;QACvC,4CAAmB;;QACnB,6CAAoB;;QACpB,iDAAwB;;QACxB,mDAAqB;;QACrB,+CAAiB;;QACjB,gDAA0B;;QAC1B,4CAAc;;QACd,0CAAY;;QACZ,8CAA4B;;QAC5B,6CAA2B;;;;;QAC3B,6CAAwB;;QACxB,uCAAa;;QACb,wCAAc;;QACd,0CAAgB;;;;;QACJ,4CAAwC;;;;;QAAE,0CAAwC;;;;;;;IChChG;;;;IAKwB,UAAC,EAAU,IAAK,OAAA,+BAA6B,EAAI,GAAA;;;;IAC9C,UAAC,EAAU,IAAK,OAAA,0DAAwD,EAAI,GAAA;;QAFjG,IAAI,GAAG;QACX,oBAAoB,QAAmD;QACvE,uBAAuB,QAA8E;KACtG;AAED;QAOE,4BAAoB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SAAK;;;;;QACzC,gDAAmB;;;;QAAnB,UAAoB,EAAU;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAA;SACzD;;;;;QAED,mDAAsB;;;;QAAtB,UAAuB,EAAU;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAA;SAC5D;;oBAdFR,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBATQwB,eAAU;;;iCAFnB;KASA,IAeC;;;;;;QARa,kCAAwB;;;;;;;;QCEpC,oCACyB,WAAgB,EAC/B,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EAClD,SAAmD,EAC1B,IAAS;YAN3C,iBAgBC;YAdS,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YAClD,cAAS,GAAT,SAAS,CAA0C;YAC1B,SAAI,GAAJ,IAAI,CAAK;YAR3C,WAAM,GAAG,EAAE,CAAA;YAUT,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAED,6CAAQ;;;QAAR;YACE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;;YAExB,IAAI,CAAC,MAAM,GAAG,yDAAuD,IAAI,CAAC,WAAW,CAAC,WAAW,sCAAiC,IAAI,CAAC,IAAI,CAAC,MAAQ,CAAA;SACrJ;;;;QAED,iDAAY;;;QAAZ;YACE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;;gBAC5B,CAAC,GAAQ,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;YAC1C,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;YACtB,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAA;YAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC,CAAC,KAAK,GAAG,eAAe,CAAA;YACzB,CAAC,CAAC,KAAK,EAAE,CAAA;YACT,CAAC,CAAC,MAAM,EAAE,CAAA;SACX;;;;QAED,oDAAe;;;QAAf;YACE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;;gBAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG;;gBACvB,GAAG,GAAG,IAAI,KAAK,EAAE;YACvB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAA;YACjB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;YAChB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,GAAG,CAAC,MAAM;;;YAAG;;;oBACL,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAC/C,uCAAuD,EAAtD,oBAAY,EAAE,qBAAa,CAA2B;;oBACjD,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnC,IAAI,GAAG,EAAE;;oBAEP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;;wBACzC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;;wBAC/B,OAAO,GAAG,GAAG;;oBACnB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBAC/C,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAA;oBAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;oBAChB,CAAC,CAAC,KAAK,EAAE,CAAA;oBACT,CAAC,CAAC,MAAM,EAAE,CAAA;iBACX;aACF,CAAA,CAAA;SACF;;;;QACK,oDAAe;;;QAArB;;;;oBACE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;oBAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG;oBACvB,GAAG,GAAG,IAAI,KAAK,EAAE;oBACvB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAA;oBACjB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;oBACjB,GAAG,CAAC,MAAM;;;oBAAG;;;4BACL,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC/C,uCAAuD,EAAtD,oBAAY,EAAE,qBAAa,CAA2B;;4BACjD,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,GAAG,EAAE;4BACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;;gCACzC,OAAO,GAAG,GAAG;;;;gCACb,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;;gCACtD,GAAG,GAAG,IAAIwE,WAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;;;;4BAG9C,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;;4BAGvC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;yBAC5B;qBACF,CAAA,CAAA;;;;SACF;;;;QAED,8CAAS;;;QAAT;YACE,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAA;YACzC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;SAC1C;;;;;;QAED,gEAA2B;;;;;QAA3B,UAA4B,IAAa,EAAE,MAAe;YACxD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAEvD,gBAAQ,CAAC,iBAAiB,CAAC,KAAK;gBACtC,EAAE,EAAK,IAAI,SAAIA,gBAAQ,CAAC,oBAAoB,CAAC,WAAa;gBAC1D,OAAO,EAAE,MAAM,IAAI,MAAM;aAC1B,EACD;gBACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;;gBACpB,IAAI,EAAEA,gBAAQ,CAAC,oBAAoB,CAAC,WAAW;aAChD,CACF,CAAA;SACF;;;;;QAED,2DAAsB;;;;QAAtB,UAAuB,MAAe;YACpC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAEA,gBAAQ,CAAC,iBAAiB,CAAC,KAAK;gBACtC,EAAE,EAAE,sBAAsB;gBAC1B,OAAO,EAAE,MAAM,IAAI,MAAM;aAC1B,EACD;gBACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;;gBACpB,IAAI,EAAEA,gBAAQ,CAAC,oBAAoB,CAAC,WAAW;aAChD,CACF,CAAA;SACF;;oBAhIFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;wBACrC,s6DAAkD;;wBAGlD,IAAI,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE;;qBAElD;;;;oDAMIsB,WAAM,SAAC,aAAa;oBAhBhBqB,oBAAY;oBADZP,uBAAgB;oBACF0D,uCAA+B;oBAF7CE,qBAAY;oDAuBhB1E,WAAM,SAAC2E,wBAAe;;QAgH3B,iCAAC;KAlID,IAkIC;;;QAzHC,yCAAY;;QACZ,4CAAW;;QACX,iDAAgB;;;;;QAGd,4CAA4B;;;;;QAC5B,+CAAmC;;;;;QACnC,sDAAyD;;QACzD,+CAA0D;;QAC1D,0CAAyC;;;;;;;ACxB7C;QAmCE,0CACU,QAAqB,EACrB,SAA2B,EAC3B,MAAoB,EACpB,gBAAiD,EACjD,SAAgC,EAChC,OAAgC,EAChC,kBAAsC,EACtC,MAAiB;YAR3B,iBAiBG;YAhBO,aAAQ,GAAR,QAAQ,CAAa;YACrB,cAAS,GAAT,SAAS,CAAkB;YAC3B,WAAM,GAAN,MAAM,CAAc;YACpB,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAyB;YAChC,uBAAkB,GAAlB,kBAAkB,CAAoB;YACtC,WAAM,GAAN,MAAM,CAAW;YArBlB,kBAAa,GAAY,KAAK,CAAA;YAC7B,gBAAW,GAAG,IAAIhG,iBAAY,EAAO,CAAA;YAE/C,kBAAa,GAAW,KAAK,CAAA;YAC7B,kBAAa,GAAGuF,eAAa,CAAC,SAAS,CAAA;YAIvC,aAAQ,GAAG,KAAK,CAAA;YAChB,eAAU,GAAQ,IAAI,CAAA;YACtB,kBAAa,GAAO,KAAK,CAAA;YACzB,+BAA0B,GAAY,KAAK,CAAA;YAYvC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,mDAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;QAED,uDAAY;;;QAAZ;YACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACrF;iBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aACjF;SACF;;;;;QACD,6DAAkB;;;;QAAlB,UAAmB,WAAgB;;YAEjC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrF,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAA;aACrE;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;;YAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;;;;;;QAED,0DAAe;;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS,EAAE,OAAa;YACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;SAC9E;;;;QACD,yDAAc;;;QAAd;YACE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAK,IAAI,CAAC,UAAU,SAAI,IAAI,CAAC,aAAe;gBACnD,EAAE,EAAK/C,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,UAAO;aACnE,EACD;gBACE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU;gBACtC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe;;gBAE7C,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,KAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,EAAI;aAC/C,EACD;gBACE,SAAS,EAAKA,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,UAAO;gBACzE,MAAM,EAAEA,gBAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;aAC7D,CAAC,CAAA;SACL;;;;;QAED,8DAAmB;;;;QAAnB,UAAoB,eAAoB;YAAxC,iBAyBC;YAxBC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAED,gBAAQ,CAAC,iBAAiB,CAAC,KAAK;gBACtC,EAAE,EAAE,kBAAkB;gBACtB,OAAO,EAAEA,gBAAQ,CAAC,oBAAoB,CAAC,WAAW;aACnD,EACD;gBACE,EAAE,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU;;gBACpD,IAAI,EAAEA,gBAAQ,CAAC,oBAAoB,CAAC,WAAW;aAChD,CAAC,CAAA;YACJ,IAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAA;;oBAClC,UAAQ,GAAQ,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,UAAQ,CAAC,UAAU,CAAC,CAAC,SAAS;;;;gBAAC,UAAC,GAAQ;oBACrF,KAAI,CAAC,0BAA0B,GAAG,KAAK,CAAA;;wBACjC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ;oBAC/B,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;wBAC3C,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,EAAE,GAAG,KAAA,EAAE,MAAM,EAAE,UAAQ,CAAC,UAAU,EAAE;qBAC3C,CAAC,CAAA;iBACH,EAAC,CAAA;aACH;iBAAM;gBACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAA;aACxC;SACF;;oBAxHFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,mCAAmC;wBAC7C,ugVAA0D;;qBAE3D;;;;oBAbmByF,oBAAW;oBACtBrD,uBAAgB;oBAGOO,oBAAY;oBAFnC,+BAA+B;oBAE/BT,6BAAqB;oBADrB,uBAAuB;oBAGvB,kBAAkB;oBANlBgE,kBAAS;;;iCAgBf3F,UAAK;8CACLA,UAAK;0CACLA,UAAK;gDACLA,UAAK;oCACLA,UAAK;kCACLC,WAAM;oCACND,UAAK;;QA6GR,uCAAC;KA1HD,IA0HC;;;QAnHC,sDAA0C;;QAC1C,mEAAqC;;QACrC,+DAAiC;;QACjC,qEAAuC;;QACvC,yDAAuC;;QACvC,uDAA+C;;QAC/C,yDAA4B;;QAC5B,yDAA6B;;QAC7B,yDAAuC;;QACvC,4DAAqB;;QACrB,uDAAgB;;QAChB,wDAAiB;;QACjB,oDAAgB;;QAChB,sDAAsB;;QACtB,yDAAyB;;QACzB,sEAA2C;;;;;QAGzC,oDAA6B;;;;;QAC7B,qDAAmC;;;;;QACnC,kDAA4B;;;;;QAC5B,4DAAyD;;;;;QACzD,qDAAwC;;;;;QACxC,mDAAwC;;;;;QACxC,8DAA8C;;;;;QAC9C,kDAAyB;;;;;;;AC3C7B;QAwCE;YAnBA,cAAS,GAAG,EAAE,CAAA;YAGd,aAAQ,GAAG,CAAC,CAAA;YAGZ,iBAAY,GAAG,EAAE,CAAA;YAGjB,eAAU,GAAG,KAAK,CAAA;YAGlB,cAAS,GAAG,EAAE,CAAA;YAEd,oBAAe,GAAQ,iBAAiB,CAAA;YAExC,WAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YAEf,OAAE,GAAG,cAAY,IAAI,CAAC,MAAM,EAAI,CAAA;YAIrC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;aACzB;SACF;;;;QAED,8CAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;;;;;;;aAOzD;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE;oBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;iBAC9B;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,CAAA;iBACxD;aACF;SACF;;oBA/DFP,cAAS,SAAC;wBACT,QAAQ,EAAE,yBAAyB;wBACnC,sVAAgD;;wBAGhD,IAAI,EAAE;;4BAEJ,IAAI,EAAE,aAAa;;4BAEnB,eAAe,EAAE,GAAG;4BACpB,eAAe,EAAE,KAAK;4BACtB,OAAO,EAAE,SAAS;;4BAElB,sBAAsB,EAAE,UAAU;yBACnC;;qBAEF;;;;;gCAEEO,UAAK;+BAGLA,UAAK;mCAGLA,UAAK;iCAGLA,UAAK;gCAGLA,UAAK;sCAELA,UAAK;yBAILuC,gBAAW,SAAC,IAAI;;QA4BnB,+BAAC;KAhED,IAgEC;;;QA9CC,6CACc;;QAEd,4CACY;;QAEZ,gDACiB;;QAEjB,8CACkB;;QAElB,6CACc;;QACd,mDACwC;;QAExC,0CAAsB;;QACtB,sCACuC;;;;;;;ACvCzC;QAKA;SASsC;;oBATrCpC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;wBACxC,OAAO,EAAE;4BACPC,mBAAY;4BACZwF,6BAAoB;4BACpB/C,yBAAgB;yBACjB;wBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;qBACpC;;QACoC,4BAAC;KATtC;;;;;;ICLA,WAyBoB,iBAAiB;AAdrC;QAAA;SAwBuC;;oBAxBtC1C,aAAQ,SAAC;wBACR,YAAY,EAAE;4BACZ,0BAA0B;yBAC3B;wBACD,OAAO,EAAE;4BACPC,mBAAY;4BACZyF,sBAAa;4BACb7C,sBAAa;4BACb1C,sBAAa;4BACbgD,wBAAe;4BACfwC,+BAAuB;4BACvB9B,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,MAAmB;oCAC7B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,OAAO,EAAC;4BACN,0BAA0B;yBAC3B;wBACD,eAAe,EAAE,CAAC,0BAA0B,CAAC;qBAC9C;;QACqC,6BAAC;KAxBvC;;;;;;ACXA;QAwBE,mCACU,MAAoB,EACpB,SAA2B,EAC3B,gBAAiD,EACjD,SAAgC,EAChC,OAAgC,EACjC,MAAc;YANvB,iBAcG;YAbO,WAAM,GAAN,MAAM,CAAc;YACpB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,cAAS,GAAT,SAAS,CAAuB;YAChC,YAAO,GAAP,OAAO,CAAyB;YACjC,WAAM,GAAN,MAAM,CAAQ;YAfb,gBAAW,GAAG,IAAItB,iBAAY,EAAO,CAAA;YACrC,kBAAa,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACxC,kBAAa,GAAY,KAAK,CAAA;YAIvC,eAAU,GAAQ,EAAE,CAAA;YACpB,kBAAa,GAAO,EAAE,CAAA;YASlB,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAEH,4CAAQ;;;QAAR;;gBACQ,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;YACpD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAA;gBACzC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAA;aACjE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,+CAA+C,CAAA;gBACvE,IAAI,CAAC,YAAY,GAAI,4DAA4D,CAAA;aAClF;SACF;;;;;QAED,kDAAc;;;;QAAd,UAAe,WAAgB;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACpC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,WAAW,CAAC,iBAAiB,CAAC,GAAG,aAAa,CAAA;aAC/C;YACD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;SAC9C;;;;;QACD,gDAAY;;;;QAAZ,UAAa,WAAe;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACnC;;;;;QAED,8CAAU;;;;QAAV,UAAW,OAAY;YACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA2B,OAAO,CAAC,OAAO,SAAI,OAAO,CAAC,UAAU,iBAAc,CAAC,CAAC,CAAA;SACvG;;oBAzDFD,cAAS,SAAC;wBACT,QAAQ,EAAE,4BAA4B;wBACtC,mrHAAmD;;qBAEpD;;;;oBAT+B2C,oBAAY;oBADnCP,uBAAgB;oBACqB0D,uCAA+B;oBAApE5D,6BAAqB;oBACrB,uBAAuB;oBACvBW,aAAM;;;iCASZtC,UAAK;kCACLC,WAAM;oCACNA,WAAM;oCACND,UAAK;;QAkDR,gCAAC;KA3DD,IA2DC;;;QArDC,+CAAyC;;QACzC,gDAA+C;;QAC/C,kDAAiD;;QACjD,kDAAuC;;QACvC,qDAAqB;;QACrB,gDAAgB;;QAChB,iDAAiB;;QACjB,+CAAoB;;QACpB,kDAAsB;;;;;QAGpB,2CAA4B;;;;;QAC5B,8CAAmC;;;;;QACnC,qDAAyD;;;;;QACzD,8CAAwC;;;;;QACxC,4CAAwC;;QACxC,2CAAqB;;;;;;;AC9BzB;QAEA;YAakB,SAAI,GAAG,EAAE,CAAA;YACT,iBAAY,GAAG,EAAE,CAAA;YACxB,gBAAW,GAAG,KAAK,CAAA;YAEnB,cAAS,GAAG,KAAK,CAAA;YACnB,iBAAY,GAAG,KAAK,CAAA;YAE3B,WAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;;YAIpC,WAAM,GAAG;gBACf,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,CAAA;YAEO,iBAAY,GAAG;gBACrB,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,CAAA;SA2DF;;;;QAzDC,0CAAQ;;;QAAR;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;gBACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,eAAe,EAAE,CAAA;iBACvB;gBACD,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;oBACtB,IAAG,IAAI,CAAC,YAAY,EAAE;wBACpB,IAAI,CAAC,YAAY,GAAG;4BACnB,IAAI,CAAC,YAAY;yBACjB,CAAA;qBACF;yBAAM;wBACL,IAAI,CAAC,YAAY,GAAG;4BAClB,SAAS;yBACV,CAAA;qBACF;iBACF;;oBACK,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBAC3C,IAAI,IAAI,CAAC,WAAW,EAAE;;wBACd,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;iBACnD;aACF;SAEF;;;;;QACD,6CAAW;;;;QAAX,UAAY,MAAqB;YAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtF,IAAI,CAAC,eAAe,EAAE,CAAA;aACvB;SACF;QACD,sBAAI,iDAAY;;;;YAAhB;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAA;aACrB;;;WAAA;;;;;QACO,iDAAe;;;;QAAvB;;gBACM,QAAQ,GAAG,EAAE;;gBACX,KAAK,GAAG,CAAG,IAAI,CAAC,IAAI,MAAG,EAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YACnD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBAC/D,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aAC/B;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC/B,SAAQ;qBACT;oBAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBAC/C,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;wBAE/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzB,MAAK;yBACN;qBACF;iBACF;aACF;YACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;SACvC;;oBAlGFP,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,05CAAgD;;qBAEjD;;;8BAEEO,UAAK;+BAELA,UAAK;2BAGLA,UAAK;2BAELA,UAAK;mCACLA,UAAK;kCACLA,UAAK;+BACLA,UAAK;gCACLA,UAAK;;QAkFR,8BAAC;KAnGD,IAmGC;;;QA7FC,0CAAqB;;QAErB,2CACwB;;QAExB,uCACoB;;QACpB,uCAAyB;;QACzB,+CAAiC;;QACjC,8CAA4B;;QAC5B,2CAA0B;;QAC1B,4CAA0B;;QAC1B,+CAA2B;;QAC3B,8CAA2B;;QAC3B,yCAA4C;;;;;QAI5C,yCAOC;;;;;QAED,+CAOC;;;;;;;AC1CH;QAOA;SAcqC;;oBAdpCG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;wBACvC,OAAO,EAAE;4BACPC,mBAAY;4BACZuC,mBAAY;4BACZtC,wBAAe;4BACfC,sBAAa;4BACbuF,sBAAa;4BACbE,wBAAe;4BACfrD,6BAAkB;yBACnB;wBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;wBAClC,eAAe,EAAE,CAAC,uBAAuB,CAAC;qBAC3C;;QACmC,2BAAC;KAdrC;;;;;;ICPA,WAuEoB,iBAAiB;AArCrC;QAAA;SA0D4B;;oBA1D3BvC,aAAQ,SAAC;wBACR,YAAY,EAAE;4BACZ,qBAAqB;4BACrB,cAAc,EAAC,qBAAqB;4BACpC,iBAAiB;4BACjB,sBAAsB;4BACtB,iBAAiB;4BACjB,uBAAuB;4BACvB,mBAAmB;4BACnB,0BAA0B;4BAC1B,4BAA4B;4BAC5B,qBAAqB;4BACrB,wBAAwB;4BACxB,uBAAuB;4BACvB,gCAAgC;4BAChC,yBAAyB;yBAC1B;wBACD,OAAO,EAAE;4BACPC,mBAAY;4BACZ4C,sBAAa;4BACb3C,wBAAe;4BACfwC,yBAAgB;4BAChBvC,sBAAa;4BACbuC,yBAAgB;4BAChBF,mBAAY;4BACZ,mBAAmB;4BACnB,uBAAuB;4BACvB,2BAA2B;4BAC3B,sBAAsB;4BACtB,2BAA2B;4BAC3B,uBAAuB;4BACvBpC,iCAAwB;4BACxB,qBAAqB;4BACrB,sBAAsB;4BACtByD,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,MAAmB;oCAC7B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;4BACF,oBAAoB;yBACrB;wBACD,eAAe,EAAC,CAAC,cAAc,CAAC;wBAChC,OAAO,EAAE;4BACP,cAAc;4BACd,qBAAqB;4BACrB,qBAAqB;4BACrB,sBAAsB;4BACtB,iBAAiB;4BACjB,iBAAiB;4BACjB,uBAAuB;4BACvB,mBAAmB;4BACnB,0BAA0B;4BAC1B,4BAA4B;4BAC5B,wBAAwB;yBACzB;qBACF;;QAC0B,kBAAC;KA1D5B;;;;;;ICjCA;AAMA,QAAa,6BAA6B,GAAG;QAC3C,WAAW;KACZ;;AAED,QAAa,8BAA8B,GAA2C;QACpF;YACE,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK;YACzC,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,YAAY;YACnD,SAAS,EAAE,cAAc;SAC1B;KACF;;;;;;ICZD,IAAiB,wBAAwB,CA4JxC;IA5JD,WAAiB,wBAAwB;;;;QACvC,oCAMC;;;;YALC,4CAAwD;;YACxD,uCAAiB;;YACjB,6CAAyD;;YACzD,uCAA4B;;YAC5B,+CAAyB;;;;;QAE3B,gCAgFC;;;;YA/EC,4CAAyB;;YACzB,8CAA4B;;YAC5B,4CAA0B;;YAC1B,iCAAa;;YACb,6CAAuB;;YACvB,gCAAY;;YACZ,kCAAc;;YACd,yCAAsB;;YACtB,sCAAmB;;YACnB,2CAME;;YACF,yCAaE;;YACF,iCAA+D;;YAC/D,6CAA0B;;YAC1B,iCAAc;;YACd,iCAA2B;;YAC3B,iCAAkB;;YAClB,iCAAc;;YACd,uCAAyD;;YACzD,wCAA0D;;YAC1D,wCAA2B;;YAC3B,yCAAuB;;YACvB,sCAAmB;;YACnB,oCAAgB;;YAChB,sCAA2B;;YAC3B,oCAoBE;;YACF,yCAA2D;;YAC3D,4CAAyB;;YACzB,yCAAyD;;YACzD,mCAAiB;;YACjB,0CAAoB;;YACpB,wCAAwD;;YACxD,yCAAoD;;YACpD,uCAAqB;;YACrB,6CAAuB;;YACvB,wCAIE;;YACF,iCAAU;;;;;QAGZ,+BAQC;;;;YAPC,gCAAa;;YACb,uCAKE;;;;;QAEJ,iCAGC;;;;YAFC,kCAAa;;YACb,kCAAW;;;;;QAEb,yBASC;;;;YARC,0BAAkC;;YAClC,oCAAsC;;YACtC,0BAIE;;YACF,4BAAkD;;;;;QAEpD,2BASC;;;YAPC,mCAAwC;;YAExC,yCAA4B;;YAC5B,oCAAkC;;YAClC,mCAAiC;;YACjC,mCAA2B;;YAC3B,mCAAsB;;;;;QAGxB,2BAMC;;;;YALC,gCAAkB;;YAClB,0CAA+C;;YAC/C,uCAA2B;;YAC3B,2BAAY;;YACZ,qCAAsB;;;;;QAExB,uCAKC;;;;YAJC,4CAA+B;;YAC/B,2CAAkB;;YAClB,6CAAmB;;YACnB,6CAAmB;;;;;QAGrB,+BAeC;;;;YAdC,qCAAgB;;YAChB,iCAAc;;YACd,iCAAc;;YACd,4CAA0B;;YAC1B,2CAA0B;;YAC1B,8CAA6B;;YAC7B,iDAA+B;;YAC/B,mCAAc;;YACd,mCAAsD;;YACtD,sCAAoB;;YACpB,0CAAwB;;YACxB,qCAAmB;;YACnB,sCAAqB;;YACrB,kCAAa;;KAIhB,EA5JgB,wBAAwB,KAAxB,wBAAwB,QA4JxC;;;QAGC,QAAQ,QAAQ;;;;;;;;;;ICxIlB,sCAuCC;;;QAtCCgF,sCAAY;;QACZA,+CAAsB;;QACtBA,uCAAc;;QACdA,4CAAmB;;QACnBA,mDAA0B;;QAC1BA,0CAAsD;;QACtDA,6CAAmB;;QACnBA,kDAA0B;;QAC1BA,iDAME;;QACFA,+CAKE;;QACFA,8CAAiB;;QACjBA,uCAA+D;;QAC/DA,4CAAmB;;QACnBA,4CAAmB;;QACnBA,8CAAqB;;QACrBA,4CAAgD;;QAChDA,+CAAyD;;QACzDA,8CAAwD;;QACxDA,+CAAsB;;QACtBA,+CAAsB;;QACtBA,8CAAqB;;QACrBA,gDAAoB;;QACpBA,kDAAyB;;QACzBA,mDAAuB;;QACvBA,8CAAiB;;QACjBA,0CAAa;;AAKf;QAKsDlE,oDAAmB;QAgCvE,0CACyB,WAAgB,EAC/B,UAAmC,EACnC,SAAwB,EACxB,QAAsB,EACtB,SAAgC,EACjC,UAA0B,EAC1B,MAAc,EACb,OAA6B,EAC7B,SAA2B,EAC3B,gBAAiD,EACjD,GAAgB;YAX1B,YAaE,iBAAO,SAQR;YAnBS,gBAAU,GAAV,UAAU,CAAyB;YACnC,eAAS,GAAT,SAAS,CAAe;YACxB,cAAQ,GAAR,QAAQ,CAAc;YACtB,eAAS,GAAT,SAAS,CAAuB;YACjC,gBAAU,GAAV,UAAU,CAAgB;YAC1B,YAAM,GAAN,MAAM,CAAQ;YACb,aAAO,GAAP,OAAO,CAAsB;YAC7B,eAAS,GAAT,SAAS,CAAkB;YAC3B,sBAAgB,GAAhB,gBAAgB,CAAiC;YACjD,SAAG,GAAH,GAAG,CAAa;YArChB,mBAAa,GAAG,IAAIpC,iBAAY,EAAO,CAAA;YACvC,qBAAe,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACzC,qCAA+B,GAAG,IAAIA,iBAAY,EAAO,CAAA;YAC1D,gBAAU,GAAS,EAAE,CAAA;YACrB,iBAAW,GAAa,KAAK,CAAA;YAC7B,kBAAY,GAAQ,EAAE,CAAA;YAExB,QAAE,GAAG,uBAAqB,IAAI,CAAC,MAAM,EAAI,CAAC;YACjD,yBAAmB,GAA6C,EAAE,CAAC;YACnE,oBAAc,GAAa,EAAE,CAAC;YAC9B,uBAAiB,GAAG,IAAI,CAAC;YACzB,sBAAgB,GAAG,KAAK,CAAC;YACzB,qBAAe,GAAG,KAAK,CAAC;YACxB,sBAAgB,GAAG,KAAK,CAAC;YACzB,oBAAc,GAAG,CAAC,CAAC;YACnB,iBAAW,GAAG,CAAC,CAAC;YAChB,sBAAgB,GAAG,CAAC,CAAC;YACrB,sBAAgB,GAAG,IAAI,CAAC;YACxB,aAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,sBAAgB,GAAG,KAAK,CAAC;YAEzB,6BAAuB,GAAwB,IAAI,CAAC;YACpD,uBAAiB,GAAG,EAAE,CAAC;YAEvB,kBAAY,GAAQ,EAAE,CAAC;YAgBrB,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;oBAChC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/B,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC1B;YACD,KAAI,CAAC,WAAW,GAAG,WAAW,CAAA;;SAC/B;;;;QACD,sDAAW;;;QAAX;SAEC;;;;QAED,mDAAQ;;;QAAR;YACE,IAAI,CAAC,QAAQ,EAAE,CAAC;;;;YAIhB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC9B,GAAG,EAAE,CAAC,GAAG,CAAC;aACX,CAAC,CAAA;SACH;;;;;QAEO,mDAAQ;;;;QAAhB;;YAAA,iBA8BC;YA7BC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,GAAA,EAAC,IAAI,EAAE,CAAC;YACxH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;;;gBAED,KAAoB,IAAA,KAAAqC,SAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA,gBAAA,4BAAE;oBAAvC,IAAM,KAAK,WAAA;oBACd,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;wBACnC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;qBAC9C;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;qBAClD;iBACF;;;;;;;;;;;gBAEK,WAAW,GAAkD,IAAI,CAAC,UAAU,CAAC,MAAM;iBACtF,GAAG;;;;YAAC,UAAA,KAAK,IAAI,QAAC;gBACb,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,KAAK,EAAE;gBAChE,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;aACvE,IAAC,EAAC;iBACF,MAAM;;;;YAAC,UAAC,EAAmB;oBAAjB,YAAG,EAAE,cAAI,EAAE,cAAI;gBAAO,OAAA,GAAG,IAAI,IAAI,IAAI,IAAI;aAAA,EAAC;;gBACjD,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,GAAA,EAAC,CAAC;YAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;iBACjD,IAAI,CAACC,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAA,EAAC,CAAC;iBACxD,SAAS;;;;YAAC,UAAA,KAAK;gBACd,WAAW;qBACR,MAAM;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;qBAChE,GAAG;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,GAAA,EAAC;qBACf,OAAO;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAA,EAAC,CAAC;aACnD,EAAC,CAAC;SACN;;;;;;;QAEO,4DAAiB;;;;;;QAAzB,UAA0B,GAAW,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;gBAC3D,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,KAAK,GAAG,GAAA,EAAC;YACzE,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;aAClE;SACF;;;;;;;QAEO,oEAAyB;;;;;;QAAjC,UACE,KAAiD,EACjD,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;YAG5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,IAAG,KAAK,IAAI,KAAK,CAAC,eAAe,KAAM,aAAa,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBACvF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;aACpD;SACF;;;;;;QAEO,qEAA0B;;;;;QAAlC,UACE,KAAU;YAEV,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;;;;YAAC,UAAA,QAAQ,IAAI,QAAC;gBACzD,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE;oBACV,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,WAAW,IAAI,wBAAwB;oBAC7F,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE;iBAC/D;aACF,IAAC,EAAC,CAAC;SACL;;;;;;;;;;;QAEa,uDAAY;;;;;;;;;;QAA1B,UACE,KAAiD,EACjD,OAAyD,EACzD,WAAyB,EACzB,qBAA4B,EAC5B,YAAiB,EACjB,WAAqE;YAJrE,wBAAA,EAAA,YAAyD;YAEzD,sCAAA,EAAA,4BAA4B;;;;;oBAKtB,SAAS,GAAG;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;wBACzC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;wBAC3C,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;wBACvB,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC,IAAI;wBAC5C,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;wBACxC,eAAe,EAAC,KAAK,CAAC,eAAe,IAAI,KAAK;wBAC9C,OAAO,EACL,WAAW,KAAK,MAAM;uCAEf,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBAChC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,EACA,OAAO,EACP,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBACjC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,IAEH,EAAE;wBACR,YAAY,EAAE,OAAO,CACnB,KAAK,CAAC,YAAY;4BAClB,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC;4BACtF,WAAW,KAAK,MAAM,CACvB;wBACD,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,KAAK,UAAU,CAAC;wBACjE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC;qBACnE;;oBAED,IAAI,CAAC,mBAAmB,gBACnB,IAAI,CAAC,mBAAmB,eAC1B,KAAK,CAAC,GAAG,IAAG,SAAS,MACvB,CAAC;oBACF,IAAI,CAAC,WAAW,EAAE;wBAChB,IACE,qBAAqB;6BACpB,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAC;4BACnD,SAAS,CAAC,OAAO,EACjB;4BACA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/D;wBACD,IAAI,qBAAqB,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;yBAC/B;6BAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;yBAC9B;qBACF;yBAAM;wBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;qBAC9B;;;;SACF;;;;;;;QAEO,4DAAiB;;;;;;QAAzB,UAA0B,WAAyB,EAAE,iBAAyB;YAC5E,IAAI,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBAChD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;aACvB;iBAAM,IAAI,WAAW,KAAK,MAAM,IAAI,iBAAiB,EAAE;gBACtD,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;aAC5B;iBAAM,IAAI,WAAW,KAAK,OAAO,EAAE;gBAClC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;aAC1B;;gBACK,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc;;gBAC7E,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;YAChD,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,YAAY,GAAG,UAAU,EAAE;gBAC1D,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,GAAG,YAAY,KAAK,UAAU,CAAC;YACpD,IAAI,CAAC,gBAAgB;gBACnB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;YAChF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;SAC3D;;;;;QACD,8DAAmB;;;;QAAnB,UAAoB,KAAiD;YACnE,IACE,KAAK,CAAC,OAAO;kBACX,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAC9E;gBACA,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;;;;;;;QAED,qDAAU;;;;;;QAAV,UAAW,IAA2B;;gBAC9B,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;YAC9D,IAAI,SAAS,EAAE;gBACb,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAoB,SAAS,CAAC,IAAI,yBAAsB,CAAC,CAAC;oBAC9E,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;iBAC1B;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,gBACvC,SAAS,IACZ,cAAc,EAAE,SAAS,CAAC,cAAc,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAC7E,CAAC;iBACH;aACF;SACF;;;;;QAED,yDAAc;;;;QAAd,UAAe,SAAc;YAC3B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACrD;;;;;QACD,4DAAiB;;;;QAAjB,UAAkB,GAAW;YAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAChD,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,EAAE,GAAG,CAAC,CAAC;SAC9C;;;;;;;;QAED,+DAAoB;;;;;;;QAApB,UAAqB,OAAY,EAAE,QAAa;YAC9C,IAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;;oBAC5C,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS;;;;gBAAC,UAAC,IAAS;oBAC9C,OAAO,IAAI,CAAC,QAAQ,CAAA;iBACvB,EAAC;gBACF,OAAO,KAAK,CAAA;aACb;YACD,OAAO,CAAC,CAAA;SACT;;;;;QAED,kDAAO;;;;QAAP,UAAQ,IAA2B;YACjC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC9B;YACD,OAAO,EAAE,CAAC;SAEX;;;;;;;;QAEM,qDAAU;;;;;;;QAAjB,UAAkB,QAA2B,EAAE,SAAc,EAAE,QAA+B,EAAE,QAAgB;YAAhH,iBA0DC;YAzDC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBACjF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACrE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;aAC9B;;gBACK,IAAI,GAA+B;gBACvC,KAAK,EAAE,KAAG,QAAQ,CAAC,GAAG,CAAC,SAAW;gBAClC,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;YACD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC;gBACE,IAAI,EAAEC,gBAAQ,CAAC,iBAAiB,CAAC,KAAK;gBACtC,OAAO,EAAE,0BAA0B;gBACnC,EAAE,EAAKC,gBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAM;aACrC,EACD,EAAE,EACF;gBACE,MAAM,EAAED,gBAAQ,CAAC,oBAAoB,CAAC,IAAI;aAC3C,CACF,CAAC;;gBAEI,iBAAiB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;gBACvE,kBAAkB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;gBAC7F,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,GAAA,EAAC;YACzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,gBACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,IAC7D,WAAW,EAAE,iBAAiB,CAAC,KAAK,EACpC,YAAY,EAAE,kBAAkB,CAAC,KAAK,GACvC,CAAC;aACH;YAED,IAAI,YAAY,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,IAAI,kBAAkB,EAAE;gBACpG,IAAI,kBAAkB,CAAC,eAAe,IAAI,kBAAkB,CAAC,OAAO,EAAE;oBACpE,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;;qBAExC;oBACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;iBACrE;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAC/D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;wBACjF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;wBACtE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;wBAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;qBACtD;oBACD,UAAU;;;oBAAC;wBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;4BAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BACtE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC9B,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAA;4BAC/D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAC,IAAI,CAAA;yBACpE;qBACF,GAAU,GAAG,CAAC,CAAC;iBACjB;aACF;SACF;;;;;;;;;QAED,sDAAW;;;;;;;;QAAX,UAAY,KAAU,EAAE,QAA+B,EAAE,QAAa,EAAE,SAAc,EAAE,QAAa;YAArG,iBAiDC;YAhDC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC/D,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;aAC9B;;gBACK,iBAAiB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;;gBACjE,kBAAkB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;gBACvF,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,GAAA,EAAC;YACzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,gBACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,IAC7D,WAAW,EAAE,iBAAiB,CAAC,KAAK,EACpC,YAAY,EAAE,kBAAkB,CAAC,KAAK,GACvC,CAAC;aACH;YACD,IAAI,YAAY,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,IAAI,kBAAkB,EAAE;gBACpG,IAAI,kBAAkB,CAAC,eAAe,IAAI,kBAAkB,CAAC,OAAO,EAAE;;;oBAGpE,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;;qBAExC;yBAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE;;qBAErD;;;;oBAKH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;iBAC/D;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAC/D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;wBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;wBAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;wBAChE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;wBAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;qBAChD;oBACD,UAAU;;;oBAAC;wBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;4BACrE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BAChE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC9B,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;4BACzD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAC,IAAI,CAAA;yBAC9D;qBACF,GAAU,GAAG,CAAC,CAAC;iBACjB;aACF;SACF;;;;;QAED,4DAAiB;;;;QAAjB,UAAkB,QAAa;YAC7B,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAC;gBAC7B,QAAQ,CAAC,OAAO;;;;gBAAC,UAAC,IAAS;oBACzB,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;iBACzB,EAAC,CAAC;aACJ;SACF;;;;;;;QAED,6DAAkB;;;;;;QAAlB,UACE,KAAiD,EACjD,UAAqD,EACrD,qBAA8B;;YAG9B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;;YAEhC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;;YAE1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;;;SAGhE;;;;;;QAEO,2DAAgB;;;;;QAAxB,UAAyB,GAAW;;gBAC5B,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,CAAC;YAC3D,OAAO,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;SACrC;;;;;;;;QAGD,0DAAe;;;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9D;;;;;;;QAED,0DAAe;;;;;;QAAf,UAAgB,SAAc,EAAE,IAAY,EAAE,eAAoB;YAChE,IAAG,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aACrC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAG,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;aAChE;SACF;;;;;;QACD,mDAAQ;;;;;QAAR,UAAS,KAAa,EAAE,IAAS;YAC/B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAO,IAAI,CAAC;SACb;;;;;;QACD,kDAAO;;;;;QAAP,UAAQ,KAAa,EAAE,IAAS;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAOP,UAAK,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAA;SACpD;;;;;QAED,mEAAwB;;;;QAAxB,UAAyB,IAA2B;YAClD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;;;;;QAED,wDAAa;;;;QAAb,UAAc,GAAW;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClF,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC;SACb;;;;;;QAED,yDAAc;;;;;QAAd,UAAe,KAAqD,EAAE,IAA2B;YAC/F,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC1E,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;aACjD;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;SAChF;;;;;QACD,uDAAY;;;;QAAZ,UAAa,IAA2B;YACtC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC;SACtE;;;;;;QAED,2DAAgB;;;;;QAAhB,UAAiB,mBAAwB,EAAE,GAAQ;;gBAC7C,WAAW,GAAG,CAAC;YACnB,OAAO,WAAW,CAAC;SACpB;;;;;QAED,oDAAS;;;;QAAT,UAAU,IAA2B;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnC,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/C;YAAC;;;oBAEI,mBAAiB,GAAQ,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;;;;gBAAC,UAAC,GAAQ;oBACzB,IAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAC;wBACvC,mBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM;;;;;wBACtC,UAAC,IAAS,EAAE,OAAY;4BACtB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gCACrC,OAAO,OAAO,CAAC;6BAChB;4BACD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;gCACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;6BACxE;4BACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gCACpC,OAAO,OAAO,CAAC;6BAChB;4BACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;gCACpC,OAAO,IAAI,CAAC;6BACb;4BACD,OAAO,OAAO,CAAC;;;yBAGhB,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBAEpB;iBACF,EAAC,CAAA;;gBAEF,OAAO,mBAAiB,CAAC,OAAO,GAAG,mBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACzE;SACF;;;;;QACD,yDAAc;;;;QAAd,UAAe,IAAS;YAAxB,iBAkBC;;gBAjBK,KAAK,GAAG,CAAC;YAEb,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5F,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClF,IAAI,CAAC,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,GAAQ;oBAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,KAAK,KAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE;wBAClG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;qBACnB;iBACF,EAAC,CAAC;gBACH,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBACxB;aACF;;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,sBAAI,sDAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC;aAC1C;;;WAAA;;;;;;;;;;QAKK,4DAAiB;;;;;;;;;QAAvB,UAAwB,KAAiD,EACvE,OAA8D,EAC9D,MAAc,EACd,qBAA8B;;;;oBAE9B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,EAAE;gCACtB,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;oCAC9D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;;4CACtC,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACxH;;4CACK,WAAW,GAAG,YAAY;8CAC5B;gDACA,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;gDACvD,WAAW,EAAE;oDACX,GAAG,EAAE,OAAO;oDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;oDACrD,CAAC,EAAE,EAAE;iDACN;6CACF;8CACC,IAAI;wCACR,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;qCACnC;iCACF;;;;gCAAE,UAAC,KAAU;oCACZ,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EACA,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;;QAEK,0DAAe;;;;;QAArB,UAAsB,KAAiD,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCAC/F,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA,EAA9D,wBAA8D;;;;4BAE3C,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAA;;4BAAtH,QAAQ,GAAG,SAA2G;4BACxH,QAAQ,GAAC,CAAC;4BACV,SAAS,GAAE,CAAC;4BAChB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gCAChI,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;gCAClH,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;gCACnF,UAAU,GAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA8B3B;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;;;;SAOR;;;;;;;;QAED,+DAAoB;;;;;;;QAApB,UAAqB,KAAU,EAAE,OAAa,EAAE,MAAU,EAAE,qBAA0B;YAAtF,iBA6CC;YA5CC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;;gBACrB,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;;gBACpD,KAAK,GAAQ,EAAE;YACnB,OAAO,CAAC,OAAO;;;;YAAC,UAAC,GAAQ;gBACvB,GAAG,CAAC,gBAAgB,CAAC,GAAE,MAAM,CAAA;;oBACzB,YAAY,GAAI,OAAO,CAAC,MAAM;;;;gBAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAA,EAAC;;;;;;;;gBAI5F,GAAG,CAAC,SAAS,CAAC,GAAG,YAAY,CAAA;gBAC7B,GAAG,CAAC,SAAS,CAAC,OAAO;;;;gBAAC,UAAC,IAAS;oBAC9B,IAAG,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;wBACvB,IAAI,CAAC,SAAS,CAAC,GAAG,KAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;wBACvE,IAAI,CAAC,gBAAgB,CAAC,GAAE,MAAM,CAAA;qBAC/B;yBAAM,IAAG,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;;4BAC7B,mBAAmB,GAAI,YAAY,CAAC,MAAM;;;;wBAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,GAAA,EAAC;wBACrH,IAAI,CAAC,SAAS,CAAC,GAAG,KAAI,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;wBAC9E,IAAI,CAAC,gBAAgB,CAAC,GAAE,MAAM,CAAA;qBAC/B;yBAAM;;4BACD,mBAAmB,GAAI,YAAY,CAAC,MAAM;;;;wBAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,QAAQ,GAAA,EAAC;wBACnH,IAAI,CAAC,SAAS,CAAC,GAAG,KAAI,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;wBAC9E,IAAI,CAAC,gBAAgB,CAAC,GAAE,MAAM,CAAA;qBAC/B;iBACF,EAAC,CAAA;;;;;gBAMF,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;aACvB,EAAC,CAAA;YACF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;YAC9C,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAC,IAAI,CAAA;YAC3C,IAAI,CAAC,YAAY,CACP,KAAK,EACL,EAAE,EACF,MAAM,EACN,qBAAqB,EACrB,KAAK,CAAC,WAAW,EACjB,OAAO;aACR,CAAC;SACX;;;;;;;QAEO,qEAA0B;;;;;;QAAlC,UACE,QAA8B,EAC9B,KAAiD;YAEjD,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,GAAG,IAAK,QAC5C,OAAO,GAAG;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,aACR,OAAO,SAAA,KACH,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,EACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,GAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACF,EAAC,CAAC;SACJ;;;;;;;QAED,qDAAU;;;;;;QAAV,UAAW,SAAc,EAAE,QAAa,EAAE,QAAa;YAAvD,iBAuBC;YAtBC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;;gBAClB,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK;;gBACtC,SAAS,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;YACjF,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBAChE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;;oBACzB,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM;;;;gBAAC,UAAC,GAAQ;;wBAC/D,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG;;;;oBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,WAAW,EAAE,GAAA,EAAC;oBACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;iBACrC,EAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;aACrH;YACD,UAAU;;;YAAC;gBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;oBACrE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;oBAChE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;oBACzD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAC,IAAI,CAAA;iBAC9D;aACF,GAAU,GAAG,CAAC,CAAC;SACjB;;;;;;;QAED,sDAAW;;;;;;QAAX,UAAY,QAAa,EAAG,QAAa,EAAE,SAAc;YAAzD,iBA4BC;;YA1BC,IAAG,SAAS,EAAE;gBACb,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;aACxE;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,EAAE,CAAC;aACN,CAAC,CAAC;YACJ,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBAChE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;;;;;;oBAKzB,WAAW,GAAQ,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,IAAI,EAAE;gBAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;aAClH;YACD,UAAU;;;YAAC;gBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;oBACrE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;oBAChE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;oBACzD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAC,IAAI,CAAA;iBAC9D;aACF,GAAU,GAAG,CAAC,CAAC;SACjB;;oBAluBFjC,cAAS,SAAC;wBACT,QAAQ,EAAE,mCAAmC;wBAC7C,+8aAA0D;;qBAE3D;;;;oDAkCIsB,WAAM,SAAC,aAAa;oBAxGhB,uBAAuB;oBAK9BoB,qBAAa;oBACbC,oBAAY;oBACZT,6BAAqB;oBACrBU,sBAAc;oBAaPC,aAAM;oBARN,oBAAoB;oBAOpBT,uBAAgB;oBAlBhB,+BAA+B;oBAoB/BoE,iBAAW;;;iCAsDjBjG,UAAK;oCACLC,WAAM;sCACNA,WAAM;sDACNA,WAAM;iCACND,UAAK;kCACLA,UAAK;mCACLA,UAAK;yBACLuC,gBAAW,SAAC,IAAI;;QAktBnB,uCAAC;KAAA,CA9tBqDC,8BAAmB,GA8tBxE;;;QAztBC,sDAAqE;;QACrE,yDAAiD;;QACjD,2DAAmD;;QACnD,2EAAmE;;QACnE,sDAA8B;;QAC9B,uDAAsC;;QACtC,wDAA+B;;QAC/B,8CACiD;;QACjD,+DAAmE;;QACnE,0DAA8B;;QAC9B,6DAAyB;;QACzB,4DAAyB;;QACzB,2DAAwB;;QACxB,4DAAyB;;QACzB,0DAAmB;;QACnB,uDAAgB;;QAChB,4DAAqB;;QACrB,4DAAwB;;QACxB,mDAAwC;;QACxC,4DAAyB;;QACzB,uDAAkB;;QAClB,mEAAoD;;QACpD,6DAAuB;;QACvB,0DAAoB;;QACpB,wDAAuB;;QACvB,qDAAc;;;;;QAGZ,sDAA2C;;;;;QAC3C,qDAAgC;;;;;QAChC,oDAA8B;;;;;QAC9B,qDAAwC;;QACxC,sDAAiC;;QACjC,kDAAqB;;;;;QACrB,mDAAqC;;;;;QACrC,qDAAmC;;;;;QACnC,4DAAyD;;;;;QACzD,+CAAwB;;;;;;;;;;IC3F5B,sCAsCC;;;QArCCwD,sCAAY;;QACZA,+CAAsB;;QACtBA,uCAAc;;QACdA,4CAAmB;;QACnBA,mDAA0B;;QAC1BA,0CAAsD;;QACtDA,6CAAmB;;QACnBA,iDAME;;QACFA,+CAKE;;QACFA,8CAAiB;;QACjBA,uCAAqE;;QACrEA,4CAAmB;;QACnBA,4CAAmB;;QACnBA,8CAAqB;;QACrBA,4CAAsD;;QACtDA,+CAAyD;;QACzDA,8CAAwD;;QACxDA,+CAAsB;;QACtBA,+CAAsB;;QACtBA,8CAAqB;;QACrBA,gDAAoB;;QACpBA,kDAAyB;;QACzBA,mDAAuB;;QACvBA,8CAAiB;;QACjBA,0CAAa;;AAKf;QAKwDlE,sDAAmB;QAgCzE;;QAEyB,WAAgB,EAC/B,UAAmC,EACnC,SAAwB,EACxB,QAAsB,EACtB,SAAgC,EACjC,UAA0B,EAG1B,MAAc,EACb,OAA6B,EAC7B,SAA2B,EAC3B,gBAAiD;YAb3D,YAeE,iBAAO,SAQR;YApBS,gBAAU,GAAV,UAAU,CAAyB;YACnC,eAAS,GAAT,SAAS,CAAe;YACxB,cAAQ,GAAR,QAAQ,CAAc;YACtB,eAAS,GAAT,SAAS,CAAuB;YACjC,gBAAU,GAAV,UAAU,CAAgB;YAG1B,YAAM,GAAN,MAAM,CAAQ;YACb,aAAO,GAAP,OAAO,CAAsB;YAC7B,eAAS,GAAT,SAAS,CAAkB;YAC3B,sBAAgB,GAAhB,gBAAgB,CAAiC;YAvCjD,mBAAa,GAAG,IAAIpC,iBAAY,EAAO,CAAA;YACvC,qBAAe,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACzC,sBAAgB,GAAG,IAAIA,iBAAY,EAAO,CAAA;YAC3C,gBAAU,GAAS,EAAE,CAAA;YACrB,iBAAW,GAAa,KAAK,CAAA;YAC7B,kBAAY,GAAQ,EAAE,CAAA;YAExB,QAAE,GAAG,uBAAqB,IAAI,CAAC,MAAM,EAAI,CAAC;YACjD,yBAAmB,GAA6C,EAAE,CAAC;YACnE,oBAAc,GAAa,EAAE,CAAC;YAC9B,uBAAiB,GAAG,IAAI,CAAC;YACzB,sBAAgB,GAAG,KAAK,CAAC;YACzB,qBAAe,GAAG,KAAK,CAAC;YACxB,sBAAgB,GAAG,KAAK,CAAC;YACzB,oBAAc,GAAG,CAAC,CAAC;YACnB,iBAAW,GAAG,CAAC,CAAC;YAChB,sBAAgB,GAAG,CAAC,CAAC;YACrB,sBAAgB,GAAG,IAAI,CAAC;YACxB,aAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,sBAAgB,GAAG,KAAK,CAAC;YAEzB,6BAAuB,GAAwB,IAAI,CAAC;YACpD,uBAAiB,GAAG,EAAE,CAAC;YAEvB,kBAAY,GAAQ,EAAE,CAAC;YAkBrB,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;oBAChC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/B,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC1B;YACD,KAAI,CAAC,WAAW,GAAG,WAAW,CAAA;;SAC/B;;;;QAED,qDAAQ;;;QAAR;YAAA,iBAQC;;YANC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS;;;;YAAC,UAAC,IAAS;gBACjD,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACjC,EAAC,CAAA;SAGH;;;;QAED,wDAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;aAC5C;SACF;;;;;QAED,0DAAa;;;;QAAb,UAAc,GAAW;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClF,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC;SACb;;;;;QAED,8DAAiB;;;;QAAjB,UAAkB,GAAW;YAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAChD,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,EAAE,GAAG,CAAC,CAAC;SAC9C;;;;;;QACO,6DAAgB;;;;;QAAxB,UAAyB,GAAW;;gBAC5B,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,YAAU,GAAK,CAAC;YAC3D,OAAO,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC;SACrC;;;;;QAEO,qDAAQ;;;;QAAhB;;YAAA,iBA8BC;YA7BC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,GAAA,EAAC,IAAI,EAAE,CAAC;YACxH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;;;gBAED,KAAoB,IAAA,KAAAqC,SAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA,gBAAA,4BAAE;oBAAvC,IAAM,KAAK,WAAA;oBACd,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;wBACnC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;qBAC9C;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;qBAClD;iBACF;;;;;;;;;;;gBAEK,WAAW,GAAkD,IAAI,CAAC,UAAU,CAAC,MAAM;iBACtF,GAAG;;;;YAAC,UAAA,KAAK,IAAI,QAAC;gBACb,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,KAAK,EAAE;gBAChE,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;aACvE,IAAC,EAAC;iBACF,MAAM;;;;YAAC,UAAC,EAAmB;oBAAjB,YAAG,EAAE,cAAI,EAAE,cAAI;gBAAO,OAAA,GAAG,IAAI,IAAI,IAAI,IAAI;aAAA,EAAC;;gBACjD,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,GAAA,EAAC,CAAC;YAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;iBACjD,IAAI,CAACC,gBAAM;;;;YAAC,UAAA,KAAK,IAAI,OAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAA,EAAC,CAAC;iBACxD,SAAS;;;;YAAC,UAAA,KAAK;gBACd,WAAW;qBACR,MAAM;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAA,EAAC;qBAChE,GAAG;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,GAAA,EAAC;qBACf,OAAO;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAA,EAAC,CAAC;aACnD,EAAC,CAAC;SACN;;;;;;;QAEO,8DAAiB;;;;;;QAAzB,UAA0B,GAAW,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;gBAC3D,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,KAAK,GAAG,GAAA,EAAC;YACzE,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;aAClE;SACF;;;;;QAED,2DAAc;;;;QAAd,UAAe,IAAS;YAAxB,iBAkBC;;gBAjBK,KAAK,GAAG,CAAC;YAEb,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5F,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClF,IAAI,CAAC,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,GAAQ;oBAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,KAAK,KAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE;wBAClG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;qBACnB;iBACF,EAAC,CAAC;gBACH,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBACxB;aACF;;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAED,sBAAI,wDAAQ;;;;YAAZ;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC;aAC1C;;;WAAA;;;;;QAED,oDAAO;;;;QAAP,UAAQ,IAA2B;YACjC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC9B;YACD,OAAO,EAAE,CAAC;SAEX;;;;;;QACD,2DAAc;;;;;QAAd,UAAe,KAA2D,EAAE,IAA2B;YACrG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC1E,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;aACjD;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;SAChF;;;;;QACD,yDAAY;;;;QAAZ,UAAa,IAA2B;YACtC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC;SACtE;;;;;QAED,qEAAwB;;;;QAAxB,UAAyB,IAA2B;YAClD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;;;;;QACD,sDAAS;;;;QAAT,UAAU,IAA2B;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnC,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/C;YAAC;;;oBAEI,mBAAiB,GAAQ,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;;;;gBAAC,UAAC,GAAQ;oBACzB,IAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAC;wBACvC,mBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM;;;;;wBACtC,UAAC,IAAS,EAAE,OAAY;4BACtB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gCACrC,OAAO,OAAO,CAAC;6BAChB;4BACD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;gCACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;6BACxE;4BACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gCACpC,OAAO,OAAO,CAAC;6BAChB;4BACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;gCACpC,OAAO,IAAI,CAAC;6BACb;4BACD,OAAO,OAAO,CAAC;;;yBAGhB,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBAEpB;iBACF,EAAC,CAAA;;gBAEF,OAAO,mBAAiB,CAAC,OAAO,GAAG,mBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACzE;SACF;;;;;;QAEO,gEAAmB;;;;;QAA3B,UAA4B,SAAc;;gBAClC,OAAO,GAAQ,EAAE;YACvB,IAAI,SAAS,CAAC,WAAW,KAAK,KAAK,EAAE;gBACnC,SAAS,CAAC,OAAO;;;;gBAAE,UAAC,CAAM;oBACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;;;;oBAAC,UAAA,GAAG;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;qBACvB,EAAC,CAAC;iBACJ,GAAE,CAAC;gBACJ,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,SAAS,CAAC;SAClB;;;;;;QAEO,uEAA0B;;;;;QAAlC,UAAmC,SAAc;;gBACzC,OAAO,GAAQ,EAAE;YACvB,IAAI,SAAS,CAAC,WAAW,KAAK,KAAK,EAAE;gBACnC,SAAS,CAAC,OAAO;;;;gBAAE,UAAC,CAAM;oBACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;;;;oBAAC,UAAA,GAAG;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;qBACvB,EAAC,CAAC;iBACJ,GAAE,CAAC;gBACJ,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,SAAS,CAAC;SAClB;;;;;QAED,gEAAmB;;;;QAAnB,UAAoB,OAAY;;gBAC1B,QAAa;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACvC;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;;gBAExD,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;aAC1E;iBAAM,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE;;gBAEzE,OAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;aAC9F;iBAAM,IAAI,OAAO,CAAC,YAAY;gBAC7B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAC5C;gBACA,IAAG,IAAI,CAAC,UAAU,EAAE;oBAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;iBACxC;qBAAM;oBACL,OAAO,CAAC,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC;oBAEtD,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;wBACpD,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;4BAC3D,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;qBACpD;iBACF;aAEF;YACD,OAAO,OAAO,CAAC;SAChB;;;;;;;QAEO,sEAAyB;;;;;;QAAjC,UACE,KAAuD,EACvD,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;YAG5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;YAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;;;;SAKrD;;;;;QAED,uDAAU;;;;QAAV,UAAW,IAA2B;;gBAC9B,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;YAC9D,IAAI,SAAS,EAAE;gBACb,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAoB,SAAS,CAAC,IAAI,yBAAsB,CAAC,CAAC;oBAC9E,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;iBAC1B;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,gBACvC,SAAS,IACZ,cAAc,EAAE,SAAS,CAAC,cAAc,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAC7E,CAAC;iBACH;aACF;SACF;;;;;;;QAEO,uEAA0B;;;;;;QAAlC,UACE,QAA8B,EAC9B,KAAuD;YAEvD,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAO,EAAE,GAAG,IAAK,QAC5C,OAAO,GAAG;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,aACR,OAAO,SAAA,KACH,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE,EAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY,EACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,EAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,GAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,aAAa;gBAC5B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACF,EAAC,CAAC;SACJ;;;;;;;QAEO,qEAAwB;;;;;;QAAhC,UACE,QAAwB,EACxB,KAAuD;YAEvD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,GAAG;;;;;YAAC,UAAC,OAAY,EAAE,GAAQ,IAAK,QAAC,OAAO,GAAG;gBACnF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,cAAc;gBAC7B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE;oBACV,OAAO,SAAA;oBACP,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;oBAC/D,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE;oBAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;oBAClD,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,YAAY;oBACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;oBAC/D,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;iBAChE;aACF,GAAG;gBACF,UAAU,EAAE,MAAM;gBAClB,aAAa,EAAE,cAAc;gBAC7B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE,EAAE;aACf,IACA,EAAC,CAAC;SACJ;;;;;;QACO,uEAA0B;;;;;QAAlC,UACE,KAAU;YAEV,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;;;;YAAC,UAAA,QAAQ,IAAI,QAAC;gBACzD,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,gBAAgB;gBAC/B,eAAe,EAAE,MAAM;gBACvB,UAAU,EAAE;oBACV,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,WAAW,IAAI,wBAAwB;oBAC7F,gBAAgB,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,EAAE;iBAC/D;aACF,IAAC,EAAC,CAAC;SACL;;;;;;;;;;;QAEa,yDAAY;;;;;;;;;;QAA1B,UACE,KAAuD,EACvD,OAAyD,EACzD,WAAyB,EACzB,qBAA4B,EAC5B,YAAiB,EACjB,WAA2E;YAJ3E,wBAAA,EAAA,YAAyD;YAEzD,sCAAA,EAAA,4BAA4B;;;;;oBAKtB,SAAS,GAAG;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;wBACzC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;wBAC3C,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;wBACvB,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC,IAAI;wBAC5C,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;wBACxC,OAAO,EACL,WAAW,KAAK,MAAM;uCAEf,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBAChC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,EACA,OAAO,EACP,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG;;;;4BAAC,UAAA,CAAC,IAAI,qBACjC,CAAC,IACJ,eAAe,EAAE,UAAQ,CAAC,CAAC,eAAiB,OAC5C,EAAC,IAEH,EAAE;wBACR,YAAY,EAAE,OAAO,CACnB,KAAK,CAAC,YAAY;4BAClB,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC;4BACtF,WAAW,KAAK,MAAM,CACvB;wBACD,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,KAAK,UAAU,CAAC;wBACjE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC;qBACnE;;oBAED,IAAI,CAAC,mBAAmB,gBACnB,IAAI,CAAC,mBAAmB,eAC1B,KAAK,CAAC,GAAG,IAAG,SAAS,MACvB,CAAC;oBACF,IAAI,CAAC,WAAW,EAAE;wBAChB,IACE,qBAAqB;6BACpB,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAC;4BACnD,SAAS,CAAC,OAAO,EACjB;4BACA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/D;wBACD,IAAI,qBAAqB,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;yBAC/B;6BAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;yBAC9B;qBACF;yBAAM;wBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;qBAC9B;;;;SACF;;;;;;;QACO,8DAAiB;;;;;;QAAzB,UAA0B,WAAyB,EAAE,iBAAyB;YAC5E,IAAI,WAAW,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBAChD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;aACvB;iBAAM,IAAI,WAAW,KAAK,MAAM,IAAI,iBAAiB,EAAE;gBACtD,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;aAC5B;iBAAM,IAAI,WAAW,KAAK,OAAO,EAAE;gBAClC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;aAC1B;;gBACK,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc;;gBAC7E,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;YAChD,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,YAAY,GAAG,UAAU,EAAE;gBAC1D,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,GAAG,YAAY,KAAK,UAAU,CAAC;YACpD,IAAI,CAAC,gBAAgB;gBACnB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;YAChF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;SAC3D;;;;;QACD,gEAAmB;;;;QAAnB,UAAoB,KAAuD;YACzE,IACE,KAAK,CAAC,OAAO;iBACZ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;qBACzD,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;qBACjE,KAAK,CAAC,OAAO,CAAC,0BAA0B;wBACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC;qBAC9D,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;qBACnE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7B,EACD;gBACA,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;;;;;;;QAGD,+DAAkB;;;;;;QAAlB,UACE,KAAuD,EACvD,UAA2D,EAC3D,qBAA8B;;YAG9B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;;YAEhC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;;YAE1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;;;SAGhE;;;;;;QAED,6DAAgB;;;;;QAAhB,UAAiB,mBAAwB,EAAE,GAAQ;;gBAC7C,WAAW,GAAG,CAAC;YACnB,OAAO,WAAW,CAAC;SACpB;;;;;;QAED,4DAAe;;;;;QAAf,UAAgB,KAAa,EAAE,IAAS;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9D;;;;;;QAED,qDAAQ;;;;;QAAR,UAAS,KAAa,EAAE,IAAS;YAC/B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAO,IAAI,CAAC;SACb;;;;;;QACD,oDAAO;;;;;QAAP,UAAQ,KAAa,EAAE,IAAS;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG;YACnB,OAAON,UAAK,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAA;SACpD;;;;;QAED,2DAAc;;;;QAAd,UAAe,SAAc;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACtC;;;;;;;QAED,4DAAe;;;;;;QAAf,UAAgB,SAAc,EAAE,IAAY,EAAE,eAAoB;YAChE,IAAG,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aACrC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAG,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;aAChE;SACF;;;;;;;;QAID,4DAAe;;;;;;;QAAf,UAAgB,KAAuD,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;YACnG,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACpC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;;wBAC7B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;wBACxB,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtC,IAAI,QAAQ,CAAC,eAAe,EAAE;wBAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;gCAC7E,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;;gCAChE,kBAAkB,uBAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAoD;4BAC1H,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;4BACxF,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,kBAAkB,EAAE;gCAC7D,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,gBACtD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,IAC9D,GAAG,EAAC,KAAK,CAAC,GAAG,EACb,WAAW,EAAE,QAAQ,CAAC,KAAK,EAC3B,YAAY,EAAE,QAAQ,CAAC,KAAK,GAC7B,CAAC;6BACH;yBACF;qBACF;iBAEF;aACF;SACF;;;;;;QAEK,8DAAiB;;;;;QAAvB,UAAwB,KAAuD,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCACvG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA,EAArF,wBAAqF;;;;;;;;4BAQnF,eAAe,GAAQ,EAAE;;4BAE7B,IAAI,KAAK,CAAC,OAAO;gCACf,KAAK,CAAC,OAAO,CAAC,QAAQ;gCACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;gCAC9B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;gCACxC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;gCACzD,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gCAC1G,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAC/D,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACvC,CAAC;6BACH;kCACG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;;4BAE3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,IAAI,QAAQ,CAAC,eAAe,EAAE;gCAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,iBAAiB,uBAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAAoD;oCAEtH,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;iCACxF;6BACF;;;;4BAIkB,qBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAAlF,QAAQ,GAAG,SAAuE;;4BAExF,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;;gCAEhC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;oCAEjC,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EACvE,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;iCAGL;qCAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;oCACxC,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACnE,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;iCACH;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;iCACpE;6BAEF;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;;;;SAOR;;;;;;;;;QAEK,uEAA0B;;;;;;;;QAAhC,UACE,KAAuD,EACvD,QAAgB,EAChB,SAAiB,EACjB,UAA2D,EAC3D,qBAA8B;;;;;;;4BAGX,qBAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAA7F,QAAQ,GAAG,SAAkF;4BAC/F,UAAU,GAAU,EAAE;4BAC1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gCACvD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;gCAC3D,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC;gCAE/D,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS;oCAC7E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;oCAChC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAC;4CACpD,QAAQ,CAAC,SAAS,CAAC,gBACd,QAAQ,CAAC,SAAS,CAAC,IACtB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,IAAI,GACf,CAAC;yCACH;wCACD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACL,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS;oCAC7E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;oCAChC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAC;4CACpD,QAAQ,CAAC,SAAS,CAAC,gBACd,QAAQ,CAAC,SAAS,CAAC,IACtB,OAAO,EAAC,EAAE,EACV,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,IAAI,GACf,CAAC;yCACH;wCACD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,EAAC,EAAE,EACV,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACnE;;;;;4BAGD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;;;;;;SAEtE;;;;;;;;;QAEK,uEAA0B;;;;;;;;QAAhC,UACE,KAAuD,EACvD,QAAgB,EAChB,SAAiB,EACjB,UAA2D,EAC3D,qBAA8B;;;;;;;4BAGX,qBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAA;;4BAAvF,QAAQ,GAAG,SAA4E;4BAC7F,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAC1B,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;gCACnF,UAAU,GAAU,EAAE;gCAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC7E,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;oCAClD,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS;oCAC7E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;oCAChC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;wCAClD,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAC;4CACpD,QAAQ,CAAC,SAAS,CAAC,gBACd,QAAQ,CAAC,SAAS,CAAC,IACtB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,IAAI,GACf,CAAC;yCACH;wCACD,OAAO,CAAC,QAAQ,CAAC,gBACZ,OAAO,CAAC,QAAQ,CAAC,IACpB,OAAO,SAAA,EACP,cAAc,EAAE,MAAM,GACvB,CAAC;wCACF,UAAU,GAAG,OAAO,CAAC;qCACtB;iCACF;gCACD,IAAI,CAAC,YAAY,CACf,KAAK,EACL,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,QAAQ,CAAC,WAAW,EACpB,UAAU;iCACX,CAAC;6BACH;iCAAM;gCACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BACpE;;;;;;;;;SAKJ;;;;;;;QAEK,kEAAqB;;;;;;QAA3B,UAA4B,KAAuD,EACjF,OAAoE,EACpE,qBAA8B;;;;;oBAEtB,eAAe,GAAQ,EAAE;oBAC/B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE;;gCAErC,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY;oCACvD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EACzE;;wCACE,aAAa,SAAA;oCACjB,IAAI,KAAI,CAAC,SAAS,CAAC,WAAW,EAAE;wCAChC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;qCACpD;oCACD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC;iCACnE;gCACD,KAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;;wCACvE,YAAY,GAAG,OAAO,CAC5B,OAAO,CAAC,MAAM;wCACd,KAAK,CAAC,OAAO;wCACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC;wCACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;wCACnE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACvD;;wCAEK,WAAW,GAAG,YAAY;0CAC9B;4CACF,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;4CACvD,WAAW,EAAE;gDACb,GAAG,EAAE,OAAO;gDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gDACrD,CAAC,EACD,OAAO;oDACP,OAAO,CAAC,cAAc;oDACtB,OAAO,CAAC,cAAc,CAAC,OAAO;oDAC9B,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO;sDACpC,IAAI,CAAC,SAAS,CAChB,KAAI,CAAC,0BAA0B,CAC/B,eAAe,CACd,CACA;sDACC,EAAE;6CACH;yCACA;0CACC,IAAI;;wCAEF,eAAe,GAAQ,EAAE;oCAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;wCAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG;;;;wCAAC,UAAC,MAAW;4CAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,EAAE;gDACvC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;6CAC7B;yCACF,EAAC,CAAA;wCACF,OAAO,GAAG,EAAC,QAAQ,EAAE,EAAC,cAAc,EAAE,eAAe,EAAC,EAAC,CAAA;qCACxD;oCACD,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;iCACnC;;;;gCAAuE,UAAC,KAAU;oCACjF,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE;wCAC7C,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;qCACnE;;oCAED,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EAAE,CAAC;6BACL;yBACF,EAAC,EAAC;;;SACJ;;;;;;;;QAEM,uDAAU;;;;;;;QAAjB,UAAkB,QAA2B,EAAE,SAAc,EAAE,QAA+B,EAAE,QAAgB;YAC9G,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC9D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBACjF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACrE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;aAC9B;;gBACK,IAAI,GAA+B;gBACvC,KAAK,EAAE,KAAG,QAAQ,CAAC,GAAG,CAAC,SAAW;gBAClC,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;YACD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC;gBACE,IAAI,EAAEO,gBAAQ,CAAC,iBAAiB,CAAC,KAAK;gBACtC,OAAO,EAAEA,gBAAQ,CAAC,oBAAoB,CAAC,oBAAoB;gBAC3D,EAAE,EAAKC,gBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAM;aACrC,EACD,EAAE,EACF;gBACE,MAAM,EAAED,gBAAQ,CAAC,oBAAoB,CAAC,IAAI;aAC3C,CACF,CAAC;;gBAEI,iBAAiB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;gBACvE,kBAAkB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;gBAC7F,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,GAAA,EAAC;YACzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,gBACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,IAC7D,WAAW,EAAE,iBAAiB,CAAC,KAAK,EACpC,YAAY,EAAE,kBAAkB,CAAC,KAAK,GACvC,CAAC;aACH;YAED,IAAI,YAAY,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,IAAI,kBAAkB,EAAE;gBACpG,IAAI,kBAAkB,CAAC,eAAe,IAAI,kBAAkB,CAAC,OAAO,EAAE;;;oBAGpE,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBACvC,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;qBAC5F;yBAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE;wBACpD,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;qBAC5F;;;;oBAKH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;iBACrE;qBAAM;;;;;;;;;iBASN;aACF;SACF;;;;;;;;;QAED,wDAAW;;;;;;;;QAAX,UAAY,KAAU,EAAE,QAA+B,EAAE,QAAa,EAAE,SAAc,EAAE,QAAa;YAArG,iBAgDC;YA/CC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC/D,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;aAC9B;;gBACK,iBAAiB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;;gBACjE,kBAAkB,GAAQ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;;gBACvF,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,GAAA,EAAC;YACzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,gBACrD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,WAAW,IAC7D,WAAW,EAAE,iBAAiB,CAAC,KAAK,EACpC,YAAY,EAAE,kBAAkB,CAAC,KAAK,GACvC,CAAC;aACH;YACD,IAAI,YAAY,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,IAAI,kBAAkB,EAAE;gBACpG,IAAI,kBAAkB,CAAC,eAAe,IAAI,kBAAkB,CAAC,OAAO,EAAE;;;oBAGpE,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBACvC,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;qBAC9F;yBAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE;wBACpD,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;qBAC9F;;;;oBAKH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;iBAC/D;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAC/D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;wBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;wBAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;wBAChE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;qBAC9B;oBACD,UAAU;;;oBAAC;wBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;4BACrE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;4BAChE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC9B,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;4BACzD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAC,IAAI,CAAA;yBAC9D;qBACF,GAAU,GAAG,CAAC,CAAC;iBACjB;aACF;SACF;;;;;;;QAEK,4DAAe;;;;;;QAArB,UAAsB,KAAuD,EAC3E,OAAoE,EACpE,qBAA8B;;;;;oBAEtB,eAAe,GAAQ,EAAE;oBAC/B,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACxC,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;gCACjC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;;wCACtD,YAAY,GAAG,OAAO,CAC5B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACtH;;wCACK,WAAW,GAAG,YAAY;0CAC9B;4CACF,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;4CACvD,WAAW,EAAE;gDACb,GAAG,EAAE,OAAO;gDACZ,CAAC,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW;gDACrD,CAAC,EACD,OAAO;oDACL,OAAO,CAAC,QAAQ;oDAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;oDACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO;sDAC9B,IAAI,CAAC,SAAS,CACd,KAAI,CAAC,0BAA0B,CAC7B,eAAe,CAChB,CACF;sDACC,EAAE;6CACL;yCACA;0CACC,IAAI;;;;oCAIN,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;iCACjC;;;;gCAAoD,UAAC,KAAU;oCAChE,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;oCACnE,MAAM,CAAC,KAAK,CAAC,CAAC;iCACb,EACA,CAAC;6BACD;yBACA,EAAC,EAAC;;;SACR;;;;;;QAGD,iEAAoB;;;;;QAApB,UAAqB,OAAY,EAAE,QAAa;YAC9C,IAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;;oBAC5C,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS;;;;gBAAC,UAAC,IAAS;oBAC9C,OAAO,IAAI,CAAC,QAAQ,CAAA;iBACvB,EAAC;gBACF,OAAO,KAAK,CAAA;aACb;YACD,OAAO,CAAC,CAAA;SACT;;;;;;;;QAQK,6DAAgB;;;;;;;QAAtB,UAAuB,KAAU,EAAE,qBAA4B;YAA5B,sCAAA,EAAA,4BAA4B;;;;;;kCACzD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA,EAAnF,wBAAmF;4BAEjF,OAAO,SAAsB;4BAC7B,UAAU,GAAU,EAAE;4BACtB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM;4BAC7B,qBAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAA;;4BAAlE,QAAQ,GAAG,SAAuD;iCACpE,QAAQ,EAAR,wBAAQ;4BACN,OAAO,GAAG,QAAQ,CAAC;kCACf,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA,EAA/B,wBAA+B;4BACjC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;4BAC/C,kBAAgB,IAAI;4BACxB,IAAG,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;gCAC3C,KAAK,CAAC,IAAI,CAAC,OAAO;;;;gCAAC,UAAC,GAAO;oCACzB,IAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;wCACxC,GAAG,CAAC,SAAS,CAAC,OAAO;;;;wCAAC,UAAC,IAAS;4CAC9B,IAAG,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC;gDAC7C,IAAG,eAAa,EAAC;oDACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;oDACpB,eAAa,GAAE,KAAK,CAAA;iDACrB;6CACF;yCACF,EAAC,CAAC;qCACJ;iCACF,EAAC,CAAA;6BACH;4BACD,qBAAM,IAAI,CAAC,YAAY,CACrB,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/C,MAAM,EACN,qBAAqB,EACrB,EAAE,EACF,UAAU,CACX,EAAA;;4BAPD,SAOC,CAAC;;;4BAEF,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/C,MAAM,EACN,qBAAqB,EACrB,aAAa,CACd,CAAC;;;;4BAGR,IAAI,CAAC,YAAY,CACf,KAAK,EACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/C,MAAM,EACN,qBAAqB,EACrB,EAAE,EACF,UAAU,CACX,CAAC;;;4BAEJ,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;;;;;SAEtC;;;;;;QAED,6DAAgB;;;;;QAAhB,UAAiB,UAAgC,EAAE,KAAuD;;gBACpG,UAAU,GAAU,EAAE;;gBACpB,SAAS,GAAG,IAAI,CAAC,WAAW,CAChC,UAAU,EACV,KAAK,CACN;YACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;wCAC1B,CAAC;oBACR,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,EAAE;;4BACrC,wBAAwB,GAAG,IAAI;wBACnC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE;oDACpD,CAAC;;;;;;;;gCAQR,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;oCAC9B,UAAU,CAAC,IAAI,cAER,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAC7B,cAAc,EAAE,MAAM,KAClB,SAAS,CAAC,IAAI;;;;oCAAC,UAAA,QAAQ;wCACzB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;4CAC/G,OAAO,QAAQ,CAAC;yCACjB;wCACD,OAAO,SAAS,CAAC;qCAClB,EAAC,GAEL,CAAC;iCACH;;4BArBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;wCAAjD,CAAC;6BAsBT;4BACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,UAAU,CAAA;yBACrC;qBACF;;gBA7BH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;4BAApC,CAAC;iBA8BT;aACF;YAED,OAAO,KAAK,CAAC,IAAI,CAAC;SACnB;;;;;;QAED,wDAAW;;;;;QAAX,UAAY,KAA2B,EAC3B,KAAuD;;gBAC7D,GAAG,GAAU,EAAE;;gBACf,QAAQ,GAAU,EAAE;;gBACpB,OAAO,GAAU,EAAE;YACvB,KAAK,CAAC,OAAO;;;;YAAC,UAAC,CAAM;gBACnB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;oBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjB;qBAAM,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAC9D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClB;aACF,EAAC,CAAC;;gBACG,YAAY,GAAG,GAAG,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,aAAa,KAAK,CAAC,GAAA,EAAC;;gBAC1E,cAAc,GAAG,GAAG,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,aAAa,GAAG,CAAC,GAAA,EAAC;;gBAExE,mBAAmB,GAAG,YAAY,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,GAAA,EAAC;;gBACnH,eAAe,GAAG,YAAY,CAAC,MAAM;;;;YAAC,UAAC,OAAY,IAAM,OAAA,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,GAAA,EAAC;YAExH,mBAAmB,GAAG,mBAAmB,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;gBAC5D,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;;wBACtG,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;wBACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,OAAQ,SAAS,GAAG,UAAU,GAAI,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC1C;aACF,EAAC,CAAC;YAEH,cAAc,GAAG,cAAc,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;gBAClD,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;;wBACtG,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;wBACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,OAAQ,SAAS,GAAG,UAAU,GAAI,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC1C;aACF,EAAC,CAAC;YAEH,GAAG,YAAO,cAAc,EAAK,eAAe,EAAK,mBAAmB,CAAC,CAAC;YAEtE,OAAO,GAAG,OAAO,CAAC,MAAM;;;;YAAC,UAAC,IAAS;gBACjC,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aAC/B,EAAC,CAAC;YAEH,OAAO,GAAG,OAAO,CAAC,IAAI;;;;;YAAC,UAAC,CAAM,EAAE,CAAM;;oBAC5B,SAAS,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;;oBACpC,UAAU,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3C,OAAQ,SAAS,GAAG,UAAU,GAAI,CAAC,CAAC,GAAG,CAAC,CAAC;aAC5C,EAAC,CAAC;YAEH,QAAQ,GAAG,QAAQ,CAAC,MAAM;;;;YAAC,UAAC,IAAS;gBACnC,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aAC/B,EAAC,CAAC;YAEH,OAAO;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;gBACtE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAChF,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE;gBACrF,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;aAAC,CAAC;SACjF;;;;;QACD,8DAAiB;;;;QAAjB,UAAkB,QAAa;YAC7B,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAC;gBAC7B,QAAQ,CAAC,OAAO;;;;gBAAC,UAAC,IAAS;oBACzB,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;iBACzB,EAAC,CAAC;aACJ;SACF;;oBAxnCFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,sCAAsC;wBAChD,ulZAA6D;;qBAE9D;;;;oDAmCIsB,WAAM,SAAC,aAAa;oBAvGhB,uBAAuB;oBAK9BoB,qBAAa;oBACbC,oBAAY;oBACZT,6BAAqB;oBACrBU,sBAAc;oBAaPC,aAAM;oBARN,oBAAoB;oBAOpBT,uBAAgB;oBAlBhB,+BAA+B;;;iCAwErC7B,UAAK;oCACLC,WAAM;sCACNA,WAAM;uCACNA,WAAM;iCACND,UAAK;kCACLA,UAAK;mCACLA,UAAK;yBACLuC,gBAAW,SAAC,IAAI;;QAymCnB,yCAAC;KAAA,CArnCuDC,8BAAmB,GAqnC1E;;;QAhnCC,wDAA2E;;QAC3E,2DAAiD;;QACjD,6DAAmD;;QACnD,8DAAoD;;QACpD,wDAA8B;;QAC9B,yDAAsC;;QACtC,0DAA+B;;QAC/B,gDACiD;;QACjD,iEAAmE;;QACnE,4DAA8B;;QAC9B,+DAAyB;;QACzB,8DAAyB;;QACzB,6DAAwB;;QACxB,8DAAyB;;QACzB,4DAAmB;;QACnB,yDAAgB;;QAChB,8DAAqB;;QACrB,8DAAwB;;QACxB,qDAAwC;;QACxC,8DAAyB;;QACzB,yDAAkB;;QAClB,qEAAoD;;QACpD,+DAAuB;;QACvB,4DAAoB;;QACpB,0DAAuB;;;;;QAKrB,wDAA2C;;;;;QAC3C,uDAAgC;;;;;QAChC,sDAA8B;;;;;QAC9B,uDAAwC;;QACxC,wDAAiC;;QAGjC,oDAAqB;;;;;QACrB,qDAAqC;;;;;QACrC,uDAAmC;;;;;QACnC,8DAAyD;;;;;;;ICtH7D;;;;;IAoCA,SAAgB,kBAAkB,CAAC,IAAgB;QACjD,OAAO,IAAIC,8BAAmB,CAAC,IAAI,CAAC,CAAC;KACtC;AAED;QAAA;SA0CgD;;oBA1C/CtC,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,kCAAkC,CAAC;wBAClD,OAAO,EAAE;4BACPuC,6BAAkB;4BAClBtC,mBAAY;4BACZuC,mBAAY;4BACZ,0BAA0B;4BAC1BpC,iCAAwB;4BACxBqC,yBAAgB;4BAChBtC,sBAAa;4BACbD,wBAAe;4BACfwC,yBAAgB;4BAChBC,sBAAa;4BACbC,yBAAgB;4BAChBC,sBAAa;4BACbC,2BAAkB;4BAClBC,uBAAc;4BACdC,uBAAc;4BACdC,uBAAc;4BACdC,2BAAkB;4BAClBC,wBAAe;4BACfC,0BAAiB;4BACjBC,wBAAe;4BACfC,4BAAmB;4BACnBC,4BAAmB;4BACnBC,uBAAc;4BACdC,0BAAiB;4BACjBrD,iCAAwB;4BACxBsD,8BAAqB;4BACrBC,sBAAa;4BACbC,8BAAqB;4BACrBC,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,EAAE,kBAAkB;oCAC9B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,eAAe,EAAE,CAAC,kCAAkC,CAAC;wBACrD,OAAO,EAAE,CAAC,kCAAkC,CAAC;qBAC9C;;QAC8C,sCAAC;KA1ChD;;;;;;ICxCA,WAyEoB,kBAAkB;AAnCtC;QAAA;SA2C8C;;oBA3C7Cb,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,gCAAgC,CAAC;wBAChD,OAAO,EAAE;4BACPuC,6BAAkB;4BAClBtC,mBAAY;4BACZuC,mBAAY;4BACZ,0BAA0B;4BAC1BpC,iCAAwB;4BACxBqC,yBAAgB;4BAChBtC,sBAAa;4BACbD,wBAAe;4BACfwC,yBAAgB;4BAChBC,sBAAa;4BACbC,yBAAgB;4BAChBC,sBAAa;4BACbC,2BAAkB;4BAClBC,uBAAc;4BACdC,uBAAc;4BACdC,uBAAc;4BACdC,2BAAkB;4BAClBC,wBAAe;4BACfC,0BAAiB;4BACjBC,wBAAe;4BACfC,4BAAmB;4BACnBC,4BAAmB;4BACnBC,uBAAc;4BACdC,0BAAiB;4BACjBrD,iCAAwB;4BACxBsD,8BAAqB;4BACrBC,sBAAa;4BACbY,yBAAmB;4BACnBX,8BAAqB;4BACrBC,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,MAAoB;oCAC9B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,eAAe,EAAE,CAAC,gCAAgC,CAAC;wBACnD,OAAO,EAAE,CAAC,gCAAgC,CAAC;qBAC5C;;QAC4C,oCAAC;KA3C9C;;;;;;ICtCA;QAIM,UAAU,GAAG;QACf,eAAe,EAAE,sCAAsC;QACvD,kBAAkB,EAAE,wCAAwC;QAC5D,eAAe,EAAE,uDAAuD;KAC3E;AAED;;QAII,mCAAoB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SAAK;;;;;QACzC,qDAAiB;;;;QAAjB,UAAkB,OAAY;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;SAC7D;;;;QACD,yDAAqB;;;QAArB;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;SACtD;;;;;QAED,oDAAgB;;;;QAAhB,UAAiB,MAAc;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAAC,CAAA;SAC5D;;oBAdJxB,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBATzBwB,eAAU;;;wCADnB;KAUA,IAeC;;;;;;QAXe,yCAAwB;;;;;;;;;;;;QC0BtC,qCAAmB,SAAgC,EAC1C,UAAkC,EAClC,aAAwC,EACxC,MAAe,EACC,WAAgB;YAJtB,cAAS,GAAT,SAAS,CAAuB;YAC1C,eAAU,GAAV,UAAU,CAAwB;YAClC,kBAAa,GAAb,aAAa,CAA2B;YACxC,WAAM,GAAN,MAAM,CAAS;YA1Bf,qBAAgB,GAAQ,CAAC,CAAA;YAGzB,sBAAiB,GAAQ,QAAQ,CAAA;YAChC,kBAAa,GAAG,IAAItB,iBAAY,EAAO,CAAA;YACvC,sBAAiB,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACrD,kBAAa,GAAY,KAAK,CAAA;YAC9B,uBAAkB,GAAY,KAAK,CAAA;YAInC,sBAAiB,GAAU,EAAE,CAAA;YAC7B,oBAAe,GAAQ,EAAE,CAAA;YACzB,uBAAkB,GAAO,EAAE,CAAA;YAC3B,uBAAkB,GAAQ,CAAC,CAAA;YAC3B,0BAAqB,GAAQ,CAAC,CAAA;YAC9B,iBAAY,GAAS,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;YAatD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;SAC/B;;;;QAGD,8CAAQ;;;QAAR;YACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;YAExF,IAAI,CAAC,kBAAkB,EAAE,CAAA;;;SAG1B;;;;;;;;;;;;QAKD,8CAAQ;;;;;;;;QAAR;YACE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAA;SACrD;;;;;;QAGK,uDAAiB;;;;;QAAvB;;;;;;;4BACI,SAAS,GAAQ,EAAE;4BACvB,IAAG,IAAI,CAAC,UAAU,EAAE;gCAClB,SAAS,GAAG;oCACV,YAAY,EAAE;wCACZ,IAAI,CAAC,UAAU;qCACjB;iCACD,CAAA;6BACF;4BACC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;4BAC1B,OAAO,GAAG;gCACV,SAAS,EAAE;oCACP,OAAO,EAAE,EAAE;oCACX,SAAS,aACL,aAAa,EAAC,QAAQ,IACnB,SAAS,IACZ,QAAQ,EAAE;4CACN,MAAM;yCACT,GACJ;oCACD,SAAS,EAAE;wCACP,eAAe,EAAE,MAAM;qCAC1B;oCACD,QAAQ,EAAE;wCACH,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,eAAiB;qCACrF;oCACD,OAAO,EAAE,CAAC;oCACV,QAAQ,EAAE,CAAC;oCACX,QAAQ,EAAE,EACT;iCACJ;6BACF;;;;4BAGD,IAAI,CAAC,kBAAkB,GAAI,CAAC,CAAA;4BACX,qBAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAA;;4BAAnD,QAAQ,GAAG,SAAwC;4BACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAChC,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC;oCAChC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;;;;oCAAC,UAAC,IAAS;wCAE/C,IAAG,IAAI,CAAC,IAAI,KAAU,KAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,KAAI,CAAC,cAAc,CAAC,eAAiB,EAAE;4CACrG,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;yCAClC;qCACF,EAAC,CAAC;oCACH,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;oCAC/D,IAAI,CAAC,cAAc,CAAC,OAAO;;;;;oCAAC,UAAO,IAAS,EAAE,UAAe;;;;;oDACvD,SAAS,GAAG;wDACd,YAAY,EAAE;4DACZ,IAAI,CAAC,UAAU;yDACjB;qDACD;oDACU,qBAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;;oDAA1D,IAAI,GAAG,SAAmD;oDAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;oDACxB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;oDAE3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAA;oDAC/D,IAAG,UAAU,KAAK,CAAC,EAAE;wDAEnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;qDAC9B;;;;yCACF,EAAC,CAAA;oCACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;iCAChC;6BACF;;;;4BAED,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;4BAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAIhC;;;;;QAEK,0DAAoB;;;;QAA1B,UAA2B,OAAO;;;;oBAChC,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,OAAO,IAAI,OAAO,EAAE;gCACtB,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;oCAC/C,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;iCACtB;;;;gCAAC,UAAC,KAAU;oCACX,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EACF,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;;;QAGD,sDAAgB;;;;;;QAAhB,UAAiB,CAAC;;gBACZ,SAAS,GAAQ,EAAE;YACvB,IAAG,IAAI,CAAC,UAAU,EAAE;gBAClB,SAAS,GAAG;oBACV,YAAY,EAAE;wBACZ,IAAI,CAAC,UAAU;qBACjB;iBACD,CAAA;aACF;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAEnC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAA;SAC5B;;;;QACD,wDAAkB;;;QAAlB;YAAA,iBAiBC;YAhBC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YACzB,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS;;;;YAAC,UAAC,QAAa;gBACjE,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;gBAC5B,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;oBACzD,KAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAA;oBACtD,KAAI,CAAC,iBAAiB,EAAE,CAAA;oBACxB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;oBAAC,UAAA,OAAO;wBACrC,OAAO,CAAC,QAAQ,CAAC,OAAO;;;;wBAAC,UAAC,QAAQ;;gCAC5B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;4BACtC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;4BACxC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;yBAClD,EAAC,CAAC;qBACJ,EAAC,CAAC;iBACJ;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC3B,EAAC,CAAA;SACH;;;;;;QAEK,wDAAkB;;;;;QAAxB,UAAyB,KAAU,EAAC,SAAe;;;;;;;;4BAC7C,OAAO,GAAG;gCACZ,SAAS,EAAE;oCACP,OAAO,EAAE,EAAE;oCACX,SAAS,aACL,aAAa,EAAC,QAAQ,IACnB,SAAS,eACR,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,eAAiB,IAAI,KAAK,EAC5F,YAAQ,GAAE;wCACN,MAAM;qCACT,MACJ;oCACD,SAAS,EAAE;wCACP,eAAe,EAAE,MAAM;qCAC1B;oCACD,QAAQ,EAAE;wCACH,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,gBAAkB;qCACtF;oCACD,OAAO,EAAE,CAAC;oCACV,QAAQ,EAAE,CAAC;oCACX,QAAQ,EAAE,EACT;iCACJ;6BACF;;;;4BAGD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;4BACR,qBAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAA;;4BAAnD,QAAQ,GAAG,SAAwC;4BACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAChC,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC;oCAC5B,wBAA4B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;oCACxE,IAAI,CAAC,uBAAuB,CAAC,OAAO;;;;oCAAC,UAAC,OAAY;wCAChD,IAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;4CACvC,KAAI,CAAC,eAAe,GAAG,qBAAmB,CAAC,MAAM;;;;4CAAC,UAAC,IAAS;gDAC1D,OAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI;;;;gDAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAA,EAAC,CAAA;6CAClG,EAAC,CAAA;4CACF,KAAI,CAAC,YAAY,GAAG,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;4CACvD,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;yCAC/B;qCACF,EAAC,CAAC;oCACH,IAAI,CAAC,aAAa,EAAE,CAAA;iCACrB;gCACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;6BAC3B;;;;;;;;;SAKF;;;;;QAED,wDAAkB;;;;QAAlB,UAAmB,QAAa;YAAhC,iBAoBC;;gBAnBK,mBAAmB,GAAS,QAAQ,CAAC,SAAS;YAC9C,IAAI,CAAC,uBAAuB,CAAC,OAAO;;;;YAAC,UAAC,OAAY;gBAChD,IAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE;oBAChD,KAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,MAAM;;;;oBAAC,UAAC,IAAS;wBACzD,OAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI;;;;wBAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAA,EAAC,CAAA;qBAClG,EAAC,CAAA;oBACF,KAAI,CAAC,YAAY,GAAG,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;oBACvD,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;iBAC/B;aACF,EAAC,CAAC;;gBACC,SAAS,GAAQ,EAAE;YACvB,IAAG,IAAI,CAAC,UAAU,EAAE;gBAClB,SAAS,GAAG;oBACV,YAAY,EAAE;wBACZ,IAAI,CAAC,UAAU;qBACjB;iBACD,CAAA;aACF;YACD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAC,SAAS,CAAC,CAAA;SACnD;;;;;;QAEK,6DAAuB;;;;;QAA7B,UAA8B,IAAS,EAAC,SAAe;;;;;;;;4BACjD,OAAO,GAAG;gCACZ,SAAS,EAAE;oCACP,OAAO,EAAE,EAAE;oCACX,SAAS,aACL,aAAa,EAAC,QAAQ,IACnB,SAAS,eACR,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,eAAiB,IAAI,IAAI,CAAC,IAAI,EAChG,YAAQ,GAAE;wCACN,MAAM;qCACT,MACJ;oCACD,SAAS,EAAE;wCACP,eAAe,EAAE,MAAM;qCAC1B;oCACD,QAAQ,EAAE;wCACH,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,gBAAkB;qCACtF;oCACD,OAAO,EAAE,CAAC;oCACV,QAAQ,EAAE,CAAC;oCACX,QAAQ,EAAE,EACT;iCACJ;6BACF;;;;4BAGG,iBACJ,IAAI,CAAC,aAAa,GAAG,IAAI;4BACR,qBAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAA;;4BAAnD,QAAQ,GAAG,SAAwC;4BACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAChC,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC;oCAC5B,wBAA4B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;oCACxE,IAAI,CAAC,uBAAuB,CAAC,OAAO;;;;oCAAC,UAAC,OAAY;wCAChD,IAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;4CAC5C,cAAY,GAAG,qBAAmB,CAAC,MAAM;;;;4CAAC,UAAC,IAAS;gDACjD,OAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI;;;;gDAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAA,EAAC,CAAA;6CAClG,EAAC,CAAA;4CACF,KAAI,CAAC,YAAY,GAAG,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;4CACvD,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;yCAC/B;qCACF,EAAC,CAAC;iCACJ;gCACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;gCAC1B,sBAAO,cAAY,EAAA;6BACpB;;;;;;;;;SAKF;;;;QAED,mDAAa;;;QAAb;YAAA,iBAIC;YAHC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO;;;;YAAC,UAAC,IAAS;gBACrD,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;aAClD,EAAC,CAAA;SACH;;;;;QACD,sDAAgB;;;;QAAhB,UAAiB,IAAS;YACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;YAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;SAC1E;;;;;QACD,qDAAe;;;;QAAf,UAAgB,KAAU;YACxB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAA;YAChD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,OAAO,GAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;YAC7E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;YACvE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACxC;;;;;QAED,0DAAoB;;;;QAApB,UAAqB,QAAa;YAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAmC,QAAQ,CAAC,IAAM,CAAC,CAAA;SAC9E;;;;;;QAGK,2DAAqB;;;;;QAA3B,UAA4B,QAAa,EAAC,SAAe;;;;;;;;4BACnD,OAAO,GAAG;gCACZ,SAAS,EAAE;oCACP,OAAO,EAAE,EAAE;oCACX,SAAS,aACL,aAAa,EAAC,QAAQ,IACnB,SAAS,eACT,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,eAAiB,IAAI,QAAQ,CAAC,IAAI,EACnG,YAAQ,GAAE;wCACN,MAAM;qCACT,MACJ;oCACD,SAAS,EAAE;wCACP,eAAe,EAAE,MAAM;qCAC1B;oCACD,QAAQ,EAAE;wCACF,IAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,IAAI,CAAC,cAAc,CAAC,mBAAqB;qCAC1F;oCACD,OAAO,EAAE,CAAC;oCACV,QAAQ,EAAE,CAAC;oCACX,QAAQ,EAAE,EACT;iCACJ;6BACF;;;;4BAGD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;4BACR,qBAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAA;;4BAAnD,QAAQ,GAAG,SAAwC;4BACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAChC,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC;oCAC5B,2BAA+B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;oCAC3E,IAAI,CAAC,cAAc,CAAC,OAAO;;;;oCAAC,UAAC,OAAY;wCACvC,IAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;4CACjC,OAAO,CAAC,SAAS,CAAC,OAAO;;;;4CAAC,UAAC,QAAQ;gDACjC,IAAG,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oDACvD,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ;oDAC7D,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;;wDAChE,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;;;;oDAAC,UAAA,IAAI;wDAClF,OAAA,wBAAsB,CAAC,IAAI;;;;wDAAC,UAAA,IAAI;4DAC9B,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK;;;;4DAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAA,EAAC;yDAAA,EAChE;qDAAA,EACF;oDAED,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;iDACxE;6CACF,EAAC,CAAC;yCACJ;qCACF,EAAC,CAAA;iCACH;gCAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;6BAC3B;;;;;;;;;SAKF;;oBA1XFD,cAAS,SAAC;wBACT,QAAQ,EAAE,4BAA4B;wBACtC,8mNAAmD;;qBAEpD;;;;oBAVQkC,6BAAqB;oBACrB,uBAAuB;oBACvB,yBAAyB;oBACzBW,aAAM;oDAuCVvB,WAAM,SAAC,aAAa;;;iCA7BtBf,UAAK;iCACLA,UAAK;uCACLA,UAAK;mCACLA,UAAK;mCACLA,UAAK;wCACLA,UAAK;oCACLC,WAAM;wCACNA,WAAM;;QA6WT,kCAAC;KA3XD,IA2XC;;;QApXC,iDAAwB;;QACxB,iDAAwB;;QACxB,uDAAkC;;QAClC,mDAA0B;;QAC1B,mDAA0B;;QAC1B,wDAA0C;;QAC1C,oDAAiD;;QACjD,wDAAqD;;QACrD,oDAA8B;;QAC9B,yDAAmC;;QACnC,8DAA4B;;QAC5B,qDAAsB;;QACtB,oDAAmB;;QACnB,wDAA6B;;QAC7B,sDAAyB;;QACzB,yDAA2B;;QAC3B,yDAA2B;;QAC3B,4DAA8B;;QAC9B,mDAAwD;;QACxD,kDAAkB;;QAClB,qDAA8C;;QAKlC,gDAAuC;;QACjD,iDAAyC;;QACzC,oDAA+C;;QAC/C,6CAAsB;;;;;;;AC3C1B;QAiBE;YANS,cAAS,GAAY,KAAK,CAAA;YACzB,cAAS,GAAG,IAAIP,iBAAY,EAAO,CAAA;YACpC,iBAAY,GAAQ,EAAE,CAAA;YACtB,iBAAY,GAAQ,EAAE,CAAA;YACtB,sBAAiB,GAAY,IAAI,CAAA;SAEzB;;;;QAEjB,iCAAQ;;;QAAR;SACC;;;;;QACD,qCAAY;;;;QAAZ,UAAa,QAAa;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC9B;;oBArBFD,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,wmCAAqC;;qBAEtC;;;;;gCAGEO,UAAK;oCACLA,UAAK;gCACLA,UAAK;gCACLC,WAAM;mCACND,UAAK;mCACLA,UAAK;wCACLA,UAAK;;QAWR,qBAAC;KAxBD,IAwBC;;;QAjBC,mCAAuB;;QACvB,uCAA2B;;QAC3B,mCAAmC;;QACnC,mCAA6C;;QAC7C,sCAA+B;;QAC/B,sCAA+B;;QAC/B,2CAA0C;;;;;;;ACf5C;QAQA;SAU4B;;oBAV3BG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,cAAc,CAAC;wBAC9B,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb6C,uBAAc;4BACd,uBAAuB;yBACxB;wBACD,OAAO,EAAE,CAAC,cAAc,CAAC;qBAC1B;;QAC0B,kBAAC;KAV5B;;;;;;ACRA;QAUA;SAWyC;;oBAXxChD,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;wBAC3C,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb,WAAW;4BACX,uBAAuB;yBACxB;wBACD,OAAO,EAAE,CAAC,2BAA2B,CAAC;wBACtC,SAAS,EAAC,CAAC,yBAAyB,CAAC;qBACtC;;QACuC,+BAAC;KAXzC;;;;;;ICVA;QAIM4F,YAAU,GAAG;QACf,eAAe,EAAE,sCAAsC;QACvD,cAAc,EAAE,8CAA8C;QAC9D,kBAAkB,EAAE,wCAAwC;KAC/D;AAED;;QAII,sCAAoB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SAAK;;;;;QACzC,wDAAiB;;;;QAAjB,UAAkB,OAAY;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,YAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;SAC7D;;;;QACD,4DAAqB;;;QAArB;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAACA,YAAU,CAAC,kBAAkB,CAAC,CAAA;SACtD;;;;;QACD,oDAAa;;;;QAAb,UAAc,UAAkB;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAACA,YAAU,CAAC,cAAc,GAAG,UAAU,CAAC,CAAA;SAC/D;;oBAbJ1G,eAAU,SAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;oBATzBwB,eAAU;;;2CADnB;KAUA,IAcC;;;;;;QAVe,4CAAwB;;;;;;;;;;;;QC2BtC,wCAAmB,SAAgC,EAC1C,UAAkC,EAClC,aAA2C,EAC3C,MAAe,EACC,WAAgB;YAJtB,cAAS,GAAT,SAAS,CAAuB;YAC1C,eAAU,GAAV,UAAU,CAAwB;YAClC,kBAAa,GAAb,aAAa,CAA8B;YAC3C,WAAM,GAAN,MAAM,CAAS;YA7Bf,qBAAgB,GAAQ,CAAC,CAAA;YAGzB,sBAAiB,GAAQ,QAAQ,CAAA;YAChC,kBAAa,GAAG,IAAItB,iBAAY,EAAO,CAAA;YACvC,sBAAiB,GAAG,IAAIA,iBAAY,EAAO,CAAA;YACrD,kBAAa,GAAY,KAAK,CAAA;YAC9B,uBAAkB,GAAY,KAAK,CAAA;YAGnC,kBAAa,GAAQ,YAAY,CAAC;YAClC,sBAAiB,GAAU,EAAE,CAAA;YAE7B,oBAAe,GAAQ,EAAE,CAAA;YACzB,uBAAkB,GAAO,EAAE,CAAA;YAC3B,uBAAkB,GAAQ,CAAC,CAAA;YAC3B,0BAAqB,GAAQ,CAAC,CAAA;YAC9B,iBAAY,GAAS,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;YAgBtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;SAC/B;;;;QAGD,iDAAQ;;;QAAR;YACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;YAExF,IAAI,CAAC,kBAAkB,EAAE,CAAA;SAC1B;;;;QAGD,2DAAkB;;;QAAlB;YAAA,iBAmBC;YAlBC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;;gBACrB,OAAO,GAAG,EAAC,QAAQ,EAAC,EAAC,MAAM,EAAC,iBAAiB,EAAC,EAAC,QAAQ,EAAC,EAAC,UAAU,EAAC,IAAI,EAAC,EAAC;YAC9E,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS;;;;YAAC,UAAC,QAAa;gBACjE,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;gBAC5B,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;oBACzD,KAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAA;oBACtD,KAAI,CAAC,kBAAkB,EAAE,CAAA;;oBAEzB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;oBAAC,UAAA,OAAO;wBACrC,OAAO,CAAC,QAAQ,CAAC,OAAO;;;;wBAAC,UAAC,QAAQ;;gCAC5B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;4BACtC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;4BACxC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;yBAClD,EAAC,CAAC;qBACJ,EAAC,CAAC;iBACJ;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC3B,EAAC,CAAA;SACH;;;;QAIK,2DAAkB;;;QAAxB;;;;;;;;4BAEI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;4BACR,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;4BAAxC,QAAQ,GAAG,SAA6B;4BAC9C,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;gCAChC,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAC;oCACrE,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;oCAC9C,SAAS,CAAC,OAAO;;;;oCAAC,UAAC,KAAU;wCAC3B,IAAG,KAAK,CAAC,IAAI,KAAU,KAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,KAAI,CAAC,cAAc,CAAC,eAAiB,EAAE;4CACtG,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAA;4CAClC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;yCAC1C;6CAAM,IAAG,KAAK,CAAC,IAAI,KAAU,KAAI,CAAC,WAAW,CAAC,qBAAqB,SAAI,KAAI,CAAC,cAAc,CAAC,gBAAkB,EAAE;4CAC9G,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAA;4CACvC,KAAI,CAAC,kBAAkB,EAAE,CAAA;yCAC1B;qCACF,EAAC,CAAC;iCAEJ;qCAAM;oCACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iCAC9B;gCACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;6BAC3B;;;;;;4BAIG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;;;;;SAEpC;;;;QAED,2DAAkB;;;QAAlB;YAAA,iBAiBC;YAhBC,IAAI,CAAC,uBAAuB,CAAC,OAAO;;;;YAAC,UAAC,OAAY;gBAChD,IAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAI,CAAC,aAAa,EAAE;oBACpD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM;;;;oBAAC,UAAC,IAAS;wBAC/D,OAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI;;;;wBAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAA,EAAC,CAAA;qBAClG,EAAC,CAAA;oBACF,KAAI,CAAC,YAAY,GAAG,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;oBACvD,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;iBAC/B;qBAAM,IAAG,YAAY,CAAC,WAAW,EAAE,KAAM,KAAI,CAAC,aAAa,EAAE;oBAC5D,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM;;;;oBAAC,UAAC,IAAS;wBAC/D,OAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI;;;;wBAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAA,EAAC,CAAA;qBAClG,EAAC,CAAA;oBACF,KAAI,CAAC,YAAY,GAAG,CAAC,EAAC,IAAI,EAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;oBACvD,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;iBAC/B;aACF,EAAC,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAA;SACrB;;;;QAGK,yDAAgB;;;QAAtB;;;;oBACE,sBAAO,IAAI,OAAO;;;;;wBAAM,UAAC,OAAO,EAAE,MAAM;4BACtC,IAAI,KAAI,CAAC,UAAU,EAAE;gCACnB,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,SAAS;;;;gCAAC,UAAA,OAAO;oCAC/D,OAAO,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;iCACtB;;;;gCAAC,UAAC,KAAU;oCACX,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf,EACF,CAAC;6BACH;yBACF,EAAC,EAAC;;;SACJ;;;;;;;QAGD,yDAAgB;;;;;;QAAhB,UAAiB,CAAC;;gBACZ,SAAS,GAAQ,EAAE;YACvB,IAAG,IAAI,CAAC,UAAU,EAAE;gBAClB,SAAS,GAAG;oBACV,YAAY,EAAE;wBACZ,IAAI,CAAC,UAAU;qBACjB;iBACD,CAAA;aACF;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAA;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAA;SAC1B;;;;QAID,sDAAa;;;QAAb;YAAA,iBAIC;YAHC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO;;;;YAAC,UAAC,IAAS;gBACrD,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;aAClD,EAAC,CAAA;SACH;;;;;QACD,yDAAgB;;;;QAAhB,UAAiB,IAAS;YACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;YAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;SAC1E;;;;;QACD,wDAAe;;;;QAAf,UAAgB,KAAU;YACxB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAA;YAChD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,OAAO,GAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;YAC7E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;YACvE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACxC;;;;;QAED,6DAAoB;;;;QAApB,UAAqB,QAAa;YAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,IAAM,CAAC,CAAA;SAC7E;;;;QAED,iDAAQ;;;QAAR;YACE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAA;SACrD;;oBAlLFD,cAAS,SAAC;wBACT,QAAQ,EAAE,gCAAgC;wBAC1C,89MAAuD;;qBAExD;;;;oBATQkC,6BAAqB;oBACrB,uBAAuB;oBACvB,4BAA4B;oBAC5BW,aAAM;oDAyCVvB,WAAM,SAAC,aAAa;;;iCAhCtBf,UAAK;iCACLA,UAAK;uCACLA,UAAK;mCACLA,UAAK;mCACLA,UAAK;wCACLA,UAAK;oCACLC,WAAM;wCACNA,WAAM;;QAqKT,qCAAC;KAnLD,IAmLC;;;QA5KC,oDAAwB;;QACxB,oDAAwB;;QACxB,0DAAkC;;QAClC,sDAA0B;;QAC1B,sDAA0B;;QAC1B,2DAA0C;;QAC1C,uDAAiD;;QACjD,2DAAqD;;QACrD,uDAA8B;;QAC9B,4DAAmC;;QACnC,iEAA4B;;QAC5B,wDAAsB;;QACtB,uDAAkC;;QAClC,2DAA6B;;QAC7B,6DAAwB;;QACxB,yDAAyB;;QACzB,4DAA2B;;QAC3B,4DAA2B;;QAC3B,+DAA8B;;QAC9B,sDAAwD;;QAExD,qDAAkB;;QAClB,wDAA8C;;QAMlC,mDAAuC;;QACjD,oDAAyC;;QACzC,uDAAkD;;QAClD,gDAAsB;;;;;;;AC5C1B;QAUA;SAW4C;;oBAX3CE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;wBAC9C,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb,WAAW;4BACX,uBAAuB;yBACxB;wBACD,OAAO,EAAE,CAAC,8BAA8B,CAAC;wBACzC,SAAS,EAAC,CAAC,4BAA4B,CAAC;qBACzC;;QAC0C,kCAAC;KAX5C;;;;;;ICVA;QAKM,aAAa,GAAG,kBAAkB;;;;;;;IAE1B,UAAC,SAAiB,EAAE,WAAmB,EAAE,MAAc;QACnE,OAAG,aAAa,yBAAoB,SAAS,SAAI,WAAW,SAAI,MAAQ;KAAA;;;;;IAEpD,UAAC,SAAiB,EAAE,WAAmB;QAC3D,OAAG,aAAa,4BAAuB,SAAS,SAAI,WAAa;KAAA;;;;;IAE/C,UAAC,SAAiB,EAAE,MAAc;QACpD,OAAG,aAAa,yBAAoB,SAAS,gBAAW,MAAQ;KAAA;;QAR5Da,gBAAc,GAAG;QACrB,UAAU,QAC8D;QACxE,aAAa,EAAK,aAAa,uBAAoB;QACnD,kBAAkB,QAC+C;QACjE,iBAAiB,EAAK,aAAa,6BAA0B;QAC7D,gBAAgB,QACgD;QAChE,iBAAiB,EAAK,aAAa,qBAAkB;KACtD;AAED;QAME,uBAAmB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SAAK;;;;;;;QAExC,iCAAS;;;;;;QAAT,UAAU,SAAiB,EAAE,WAAmB,EAAE,MAAc;;gBACxD,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9G,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClBA,gBAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAC1D,CAAA;aACF;YACC,OAAOG,OAAE,CAAC,EAAE,CAAC,CAAA;SAChB;;;;;QAED,yCAAiB;;;;QAAjB,UAAkB,GAAwB;YACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnBH,gBAAc,CAAC,aAAa,EAAE,GAAG,CAClC,CAAA;SACF;;;;;;QAED,wCAAgB;;;;;QAAhB,UAAiB,SAAiB,EAAE,WAAmB;;gBAC/C,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9G,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClBA,gBAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAC1D,CAAA;aACF;YACD,OAAOG,OAAE,CAAC,EAAE,CAAC,CAAA;SACd;;;;;QAED,uCAAe;;;;QAAf,UAAgB,GAA+B;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnBH,gBAAc,CAAC,iBAAiB,EAAE,GAAG,CACtC,CAAA;SACF;;;;;QAED,sCAAc;;;;QAAd,UAAe,GAAQ;;gBACf,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9G,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnBA,gBAAc,CAAC,iBAAiB,EAAE,GAAG,CACtC,CAAA;aACF;YACC,OAAOG,OAAE,CAAC,EAAE,CAAC,CAAA;SAChB;;;;;;QAED,qCAAa;;;;;QAAb,UAAc,WAAmB,EAAE,GAAW;YAC5C,IAAI,GAAG,EAAE;;oBACD,SAAS,GAAG,GAAG;;oBACf,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;;;;gBAEzC,IAAI,WAAW,IAAI,WAAW,EAAE;oBAC9B,OAAO,MAAM,CAAA;iBACd;gBACD,IAAI,WAAW,KAAK,WAAW,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE;oBACpF,OAAO,WAAW,CAAA;iBACnB;aACF;YACD,OAAO,MAAM,CAAA;SACd;;;;;;QAED,0CAAkB;;;;;QAAlB,UAAmB,WAAmB,EAAE,GAAW;YACjD,IAAI,GAAG,EAAE;;oBACD,SAAS,GAAG,GAAG;;oBACf,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACzC,IAAI,WAAW,IAAI,WAAW,EAAE;oBAC9B,OAAO,IAAI,CAAA;iBACZ;gBACD,IAAI,WAAW,KAAK,WAAW,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE;oBACpF,OAAO,IAAI,CAAA;iBACZ;gBACD,IAAI,WAAW,KAAK,WAAW,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE;oBAC3D,OAAO,IAAI,CAAA;iBACZ;gBACD,IAAI,WAAW,KAAK,WAAW,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE;oBAC3D,OAAO,KAAK,CAAA;iBACb;aACF;YACD,OAAO,KAAK,CAAA;SACb;;;;;;QAED,sCAAc;;;;;QAAd,UAAe,SAAiB,EAAE,MAAc;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClBH,gBAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CACnD,CAAA;SACF;;oBAzFF3B,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBAlBQwB,eAAU;;;4BAFnB;KAkBA,IA0FC;;;QApFa,6BAAuB;;;;;;;ICxBrC;QAGMG,gBAAc,GAAG;QACrB,WAAW,EAAE,wCAAwC;KACtD;AACD;QAKE,qCAAoB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SAAK;;;;;QACzC,qDAAe;;;;QAAf,UAAgB,IAAS;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAASA,gBAAc,CAAC,WAAW,SAAI,IAAM,CAAC,CAAA;SACnE;;oBARF3B,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBARQwB,eAAU;;;0CAAnB;KAMA,IASC;;;;;;QAJa,2CAAwB;;;;;;;ACXtC;QAoBE,uCAAmB,aAA4B,EACtC,aAA0C;YADhC,kBAAa,GAAb,aAAa,CAAe;YACtC,kBAAa,GAAb,aAAa,CAA6B;YAVnD,iBAAY,GAAO,CAAC,CAAA;YACX,eAAU,GAAS,EAAE,CAAA;YACrB,aAAQ,GAAS,EAAE,CAAA;YAClB,kBAAa,GAAG,IAAItB,iBAAY,EAAO,CAAA;YACjD,cAAS,GAAQ,EAAE,CAAA;YACnB,gBAAW,GAAQ,EAAE,CAAA;SAMhB;;;;QAEL,gDAAQ;;;QAAR;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAA;YAChG,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;;;;QAED,qDAAa;;;QAAb;YAAA,iBAoBC;YAnBC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;YACrB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS;;;;YAAC,UAAC,QAAa;gBACxE,IAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC9D,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;oBAAC,UAAC,UAAe;;4BACxC,SAAS,GAAG,EAAE;wBAClB,SAAS,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,WAAW,CAAA;wBAC7C,SAAS,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;wBACvC,SAAS,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;wBACvC,SAAS,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAA;wBACjD,SAAS,CAAC,aAAa,CAAC,GAAI,eAAe,CAAA;wBAC3C,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAA;wBAClC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;qBACnC,EAAC,CAAC;iBACN;qBAAM;oBACH,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAChC;aACJ;;;;YAAC,UAAC,MAAW;gBACZ,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAC9B,EAAC,CAAA;SACH;;;;;;QAED,qDAAa;;;;;QAAb,UAAc,WAAmB,EAAE,GAAW;YAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;SAC1D;;;;;;QACD,0DAAkB;;;;;QAAlB,UAAmB,WAAmB,EAAE,GAAW;YACjD,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;SAC/D;;;;;QAED,uDAAe;;;;QAAf,UAAgB,UAAe;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;YAC9B,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;SACnC;;;;;QAED,yDAAiB;;;;QAAjB,UAAkB,SAAiB;;gBAC3B,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI;;;;YAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,SAAS,GAAA,EAAC;YAChE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SAChC;;oBA7DFD,cAAS,SAAC;wBACT,QAAQ,EAAE,4BAA4B;wBACtC,45EAAuD;;qBAExD;;;;oBARQ,aAAa;oBAEb,2BAA2B;;;iCASjCO,UAAK;+BACLA,UAAK;oCACLC,WAAM;sCAKN8E,iBAAY,SAAC,uBAAuB;;QAiDvC,oCAAC;KA/DD,IA+DC;;;QAzDC,qDAAoB;;QACpB,mDAA8B;;QAC9B,iDAA4B;;QAC5B,sDAAiD;;QACjD,kDAAmB;;QACnB,oDAAqB;;QAGrB,wDAA0F;;QAC9E,sDAAmC;;QAC7C,sDAAiD;;;;;;;ACrBrD;QAeA;SAiB2C;;oBAjB1C5E,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;wBAC7C,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb6C,uBAAc;4BACd,uBAAuB;4BACvB,gBAAgB;4BAChB,WAAW;4BACX,oBAAoB;4BACpB,yBAAyB;4BACzB,oBAAoB;yBACrB;wBACD,OAAO,EAAE,CAAC,6BAA6B,CAAC;wBACxC,SAAS,EAAE,CAAC,aAAa,EAAE,2BAA2B,CAAC;wBACvD,OAAO,EAAC,CAACyB,2BAAsB,CAAC;qBACjC;;QACyC,iCAAC;KAjB3C;;;;;;ACfA;QASE;SAAiB;;;;QAEjB,wCAAQ;;;QAAR;SACC;;oBAVFnF,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,0CAA8C;;qBAE/C;;;;QAQD,4BAAC;KAZD;;;;;;ACFA;QAkCE,+BACU,KAAqB,EACrB,MAAc,EACd,QAAsB,EACtB,SAA2B,EAC3B,gBAAiD;YAL3D,iBAuBC;YAtBS,UAAK,GAAL,KAAK,CAAgB;YACrB,WAAM,GAAN,MAAM,CAAQ;YACd,aAAQ,GAAR,QAAQ,CAAc;YACtB,cAAS,GAAT,SAAS,CAAkB;YAC3B,qBAAgB,GAAhB,gBAAgB,CAAiC;YAxBlD,gBAAW,GAAO,EAAE,CAAA;YAC7B,iBAAY,GAAG,EAAE,CAAA;YACjB,UAAK,GAAG,EAAE,CAAA;YACV,kBAAa,GAAG,CAAC,CAAA;YACjB,wBAAmB,GAAY,KAAK,CAAA;YACpC,iCAA4B,GAAW,CAAC,CAAA;YACxC,WAAM,GAAG;gBACP,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;gBAC/E;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,sCAAsC;oBAC3C,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI;iBACjC;aACF,CAAA;YACD,cAAS,GAAY,KAAK,CAAA;YAC1B,yBAAoB,GAAG,GAAG,CAAA;YAC1B,sBAAiB,GAAY,KAAK,CAAA;YAUhC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;mBAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;mBACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;mBAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;mBAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;mBACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EACtE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;aACvF;YACD,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,SAAS;;;YAAC;gBACzD,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;;wBAC7B,IAAI,sBAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAC;oBACrD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACzB;aACF,EAAC,CAAA;SACH;;;;QAGD,wCAAQ;;;QADR;YAEE,IAAI,CAAC,QAAQ,EAAE,CAAA;SAChB;;;;QAED,wCAAQ;;;QAAR;YACE,IAAI,CAAC,UAAU,GAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,IAAE,CAAC,OAAI,CAAA;SAE5D;;;;QAED,wCAAQ;;;QAAR;YAAA,iBASC;YARC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;;;;YAAC,UAAA,MAAM;gBAChC,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;gBACrC,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC5B,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,KAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI;iBACxE,CAAC,CAAA;aACH,EAAC,CAAA;YACF,IAAI,CAAC,QAAQ,EAAE,CAAA;SAChB;;;;;QAEM,0CAAU;;;;QAAjB,UAAkB,QAA2B;YAC3C,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,SAAM,CAAC,CAAA;SACrD;;;;;;QACD,gDAAgB;;;;;QAAhB,UAAiB,KAAU,EAAE,OAAY;YACvC,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;gBAC9C,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,GAAG,CAAC,CAAA;;;;aAI1E;SACF;;;;;QAED,iDAAiB;;;;QAAjB,UAAkB,KAAc;YAC9B,IAAG,KAAK,EAAE;gBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;aACxC;YACD,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAA;SACjD;;;;QAED,uCAAO;;;QAAP;YACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAA;YACrC,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAA;SAClD;;;;;QAED,0DAA0B;;;;QAA1B,UAA2B,KAAU;YACnC,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAI,KAAK,CAAC,UAAU,SAAI,KAAK,CAAC,WAAW,CAAC,YAAc,CAAC,CAAA;aAC7E;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC1D,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC;oBACE,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,aAAa;oBACtB,EAAE,EAAK0G,gBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,UAAO;iBACrE,EACD;oBACE,EAAE,EAAE,KAAK,CAAC,UAAU;oBACpB,IAAI,EAAE,KAAK,CAAC,eAAe;iBAC5B,EACD;oBACE,SAAS,EAAKA,gBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,UAAO;oBAC3E,MAAM,EAAElE,gBAAQ,CAAC,oBAAoB,CAAC,KAAK;iBAC5C,CACF,CAAA;gBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;aAC9B;SACF;;;;;QAED,wDAAwB;;;;QAAxB,UAAyB,IAAY;YACnC,IAAI,CAAC,cAAc,CAAI,IAAI,oBAAiB,CAAC,CAAA;SAC9C;;;;;QAED,8CAAc;;;;QAAd,UAAe,IAAY;YACzB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAClC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,aAAa;gBACtB,EAAE,EAAE,KAAGkE,gBAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAI;aAC/C,EACD,EAAE,EACF;gBACE,MAAM,EAAElE,gBAAQ,CAAC,oBAAoB,CAAC,KAAK;aAC5C,CACF,CAAA;SACF;;;;;QAED,8CAAc;;;;QAAd,UAAe,KAAU;YACvB,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;aAChC;SACF;;;;;;QAED,8CAAc;;;;;QAAd,UAAe,UAAe,EAAE,UAAe;YAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;;oBAC9G,SAAS,GAAQ,UAAU;;oBAC3B,WAAW,GAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE;gBACrL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,6BAA2B,IAAI,CAAC,YAAY,SAAI,IAAI,CAAC,KAAK,iBAAc,CAAC,EAC1E,EAAE,WAAW,EAAE,EAAE,WAAW,aAAA,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,EAAG,EAAE,CAAC,CAAA;aACnE;SACF;;oBA1JFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,y2iBAA8C;;qBAE/C;;;;oBAXQ2G,qBAAc;oBAAE9D,aAAM;oBACtBF,oBAAY;oBAGZP,uBAAgB;oBAChB0D,uCAA+B;;;kCAQrCvF,UAAK;+BA4CLsE,iBAAY,SAAC,eAAe;;QA0G/B,4BAAC;KA5JD,IA4JC;;;QAtJC,4CAA6B;;QAC7B,6CAAiB;;QACjB,sCAAU;;QACV,8CAAiB;;QACjB,oDAAoC;;QACpC,6DAAwC;;QACxC,uCAOC;;QACD,0CAA0B;;QAC1B,qDAA0B;;QAC1B,kDAAkC;;QAClC,2CAAe;;;;;QAGb,sCAA6B;;;;;QAC7B,uCAAsB;;;;;QACtB,yCAA8B;;;;;QAC9B,0CAAmC;;;;;QACnC,iDAAyD;;;;;;;ICvC7D,WA8CoB,iBAAiB;AArBrC;QAAA;SA+BiC;;oBA/BhCnE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;wBAC5D,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb6C,uBAAc;4BACd,uBAAuB;4BACvB,mBAAmB;4BACnB,iBAAiB;4BACjB,aAAa;4BACb,WAAW;4BACX,iBAAiB;4BACjB,wBAAwB;4BACxB,2BAA2B;4BAC3B,6BAA6B;4BAC7B,gBAAgB;4BAChB,gBAAgB;4BAChBW,sBAAa;4BACbE,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,MAAmB;oCAC7B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;wBACvD,SAAS,EAAC;4BACR,oBAAoB;yBAAC;wBACrB,OAAO,EAAC,CAAC4D,2BAAsB,CAAC;qBACnC;;QAC+B,uBAAC;KA/BjC;;;;;;ACzBA;QA+BE,8BAAoB,KAAqB,EACtB,MAAc,EAAU,QAAkB,EAAU,MAAoB;YADvE,UAAK,GAAL,KAAK,CAAgB;YACtB,WAAM,GAAN,MAAM,CAAQ;YAAU,aAAQ,GAAR,QAAQ,CAAU;YAAU,WAAM,GAAN,MAAM,CAAc;YAnBlF,gBAAW,GAAO,EAAE,CAAA;YAC7B,iBAAY,GAAG,EAAE,CAAA;YACjB,eAAU,GAAG,EAAE,CAAA;YAEf,wBAAmB,GAAG,KAAK,CAAA;YAG3B,WAAM,GAAG;gBACP,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;gBAC/E,EAAE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,6CAA6C;oBAClD,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI;iBACjC;aACF,CAAA;YAED,yBAAoB,GAAG,GAAG,CAAA;YAC1B,sBAAiB,GAAG,KAAK,CAAA;SAKxB;;;;QAED,uCAAQ;;;QAAR;YAAA,iBAmBC;YAlBC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;mBAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;mBACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;mBAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;mBAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;mBACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EACtE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;aACvF;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;;;;YAAC,UAAA,MAAM;gBAChC,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;gBACtC,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;gBACjC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,KAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI;iBACxE,CAAC,CAAA;aACH,EAAC,CAAA;YACF,IAAI,CAAC,WAAW,EAAE,CAAA;YAClB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAA;SACzE;;;;QAED,0CAAW;;;QAAX;YACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;;;;YACpC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,GAAA,EAAC,CAAC,IAAI;;;;;YAC/D,UAAC,CAAM,EAAE,CAAM,IAAK,OAAA,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAA,EAAC,CAAA;SACjD;;;;;QAED,8CAAe;;;;QAAf,UAAgB,IAAa;;gBACvB,OAA0B;YAC9B,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACvC,IAAI,OAAO,EAAE;;gBAEX,MAAM,CAAC,QAAQ,CAAC;oBACd,GAAG,EAAE,OAAO,CAAC,SAAS,GAAG,GAAG;oBAC5B,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;aACH;SACF;;;;;;QACD,6CAAc;;;;;QAAd,UAAe,KAAU,EAAE,UAAe;YACxC,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;gBAC/B,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAA;gBAChC,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;gBAC7B,IAAI,CAAC,OAAO,CAAC,OAAO;;;;gBAAC,UAAC,OAAY;oBACjC,OAAO,CAAC,MAAM,CAAC,OAAO;;;;oBAAC,UAAC,MAAW;wBAChC,IAAI,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE;4BACjC,OAAO,CAAC,YAAY,CAAC,GAAG,KAAK,CAAA;yBAC9B;qBACH,EAAC,CAAA;iBACF,EAAC,CAAA;aACH;SACF;;;;;;QACD,+CAAgB;;;;;QAAhB,UAAiB,KAAU,EAAE,gBAAqB;YAChD,IAAI,KAAK,EAAE;gBACT,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;aACpD;SACF;;;;;;QACD,gDAAiB;;;;;QAAjB,UAAkB,KAAU,EAAE,aAAkB;YAC9C,IAAI,KAAK,EAAE;gBACT,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;aACpC;SACF;;;;;;QAED,6CAAc;;;;;QAAd,UAAe,UAAe,EAAE,UAAe;YAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;;oBAC9G,SAAS,GAAQ,UAAU;;oBAC3B,WAAW,GAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE;gBACrL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,mCAAiC,IAAI,CAAC,YAAY,SAAI,IAAI,CAAC,UAAU,iBAAc,CAAC,EACrF,EAAE,WAAW,EAAE,EAAG,WAAW,EAAE,IAAI,EAAE,WAAW,aAAA,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,EAAG,EAAE,CAAC,CAAA;aAEvF;iBAAM;gBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CACnB,CAAC,mCAAiC,IAAI,CAAC,YAAY,SAAI,IAAI,CAAC,UAAU,aAAU,CAAC,EACjF,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;aAC1C;SACF;;;;;QAED,yDAA0B;;;;QAA1B,UAA2B,KAAU;YACnC,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAI,KAAK,CAAC,UAAU,SAAI,KAAK,CAAC,WAAW,CAAC,YAAc,CAAC,CAAA;aAC7E;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;oBACE,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,SAAS;oBAClB,EAAE,EAAKuB,gBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,UAAO;iBACrE,EACD;oBACE,EAAE,EAAE,KAAK,CAAC,UAAU;oBACpB,IAAI,EAAE,KAAK,CAAC,eAAe;iBAC5B,EACD;oBACE,SAAS,EAAKA,gBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,UAAO;oBAC3E,MAAM,EAAElE,gBAAQ,CAAC,oBAAoB,CAAC,KAAK;iBAC5C,CACF,CAAA;gBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;aAC9B;SACF;;;;;QAED,uDAAwB;;;;QAAxB,UAAyB,IAAY;YACnC,IAAI,CAAC,cAAc,CAAI,IAAI,oBAAiB,CAAC,CAAA;SAC9C;;;;;QAED,6CAAc;;;;QAAd,UAAe,IAAY;YACzB,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,SAAS;gBAClB,EAAE,EAAE,KAAGkE,gBAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAI;aAC/C,EACD,EAAE,EACF;gBACE,MAAM,EAAElE,gBAAQ,CAAC,oBAAoB,CAAC,KAAK;aAC5C,CACF,CAAA;SACF;;;;;QAED,gDAAiB;;;;QAAjB,UAAkB,IAAY;YAC5B,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,SAAS;gBAClB,EAAE,EAAKkE,gBAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,gBAAa;aAC1D,EACD,EAAE,EACF;gBACE,MAAM,EAAElE,gBAAQ,CAAC,oBAAoB,CAAC,KAAK;aAC5C,CACF,CAAA;SACF;;oBAlKFxC,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,okfAA4C;;qBAE7C;;;;oBARQ2G,qBAAc;oBAAE9D,aAAM;oBAFtBqC,eAAQ;oBAGRvC,oBAAY;;;kCAUlBpC,UAAK;;QA4JR,2BAAC;KAnKD,IAmKC;;;QA5JC,2CAA6B;;QAC7B,4CAAiB;;QACjB,0CAAe;;QACf,uCAAY;;QACZ,mDAA2B;;QAE3B,mDAAwB;;QACxB,sCAMC;;QAED,oDAA0B;;QAC1B,iDAAyB;;;;;QAEb,qCAA6B;;QAC7B,sCAAqB;;;;;QAAE,wCAA0B;;;;;QAAE,sCAA4B;;;;;;;IChC7F,WA0CoB,iBAAiB;AApBrC;QAAA;SA8BgC;;oBA9B/BG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;wBACpC,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACbqC,mBAAY;4BACZQ,uBAAc;4BACd,uBAAuB;4BACvB,cAAc;4BACd,WAAW;4BACX,iBAAiB;4BACjB,wBAAwB;4BACxB,0BAA0B;4BAC1B,6BAA6B;4BAC7B,gBAAgB;4BAChB,gBAAgB;4BAChBW,sBAAa;4BACbE,sBAAe,CAAC,OAAO,CAAC;gCACtB,MAAM,EAAE;oCACN,OAAO,EAAEC,sBAAe;oCACxB,UAAU,MAAmB;oCAC7B,IAAI,EAAE,CAACjD,eAAU,CAAC;iCACnB;6BACF,CAAC;yBACH;wBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;wBAC/B,SAAS,EAAC;4BACR,oBAAoB;yBAAC;wBACrB,OAAO,EAAC,CAAC4D,2BAAsB,CAAC;qBACnC;;QAC8B,sBAAC;KA9BhC;;;;;;ACtBA;QAkBE,mCAAmC,WAAgB,EAAQ,MAAc,EAAU,MAAoB;YAA5C,WAAM,GAAN,MAAM,CAAQ;YAAU,WAAM,GAAN,MAAM,CAAc;YAP9F,gBAAW,GAAO,EAAE,CAAA;YAG7B,eAAU,GAAW,WAAW,CAAA;YAEhC,yBAAoB,GAAG,GAAG,CAAA;YAGxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;SAC9B;;;;QAED,4CAAQ;;;QAAR;SACC;;;;;;QAGF,qDAAiB;;;;;QAAjB,UAAkB,KAAU,EAAE,aAAkB;YAC9C,IAAI,KAAK,EAAE;gBACT,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;aACpC;SACF;;;;;;QAED,kDAAc;;;;;QAAd,UAAe,UAAe,EAAE,UAAe;YAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;;oBAC9G,SAAS,GAAQ,UAAU;;oBAC3B,WAAW,GAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE;gBACrL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,CAAC,oCAAoC,CAAC,EACtC,EAAE,WAAW,EAAE,EAAG,WAAW,EAAE,IAAI,EAAE,WAAW,aAAA,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,EAAG,EAAE,CAAC,CAAA;aAEvF;iBAAM;gBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CACnB,CAAC,mCAAiC,IAAI,CAAC,YAAY,SAAI,IAAI,CAAC,UAAU,aAAU,CAAC,EACjF,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;aAC1C;SACF;;;;;;QAED,oDAAgB;;;;;QAAhB,UAAiB,KAAU,EAAE,gBAAqB;YAChD,IAAI,KAAK,EAAE;gBACT,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;aACpD;SACF;;;;;QAED,iDAAa;;;;QAAb,UAAc,KAAK;YACjB,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,iBAAiB;gBAC1B,EAAE,EAAK,KAAK,SAAM;aACnB,EACD,EACC,EACD;gBACE,MAAM,EAAE,wBAAwB;aACjC,CACF,CAAA;SACF;;;;;QAGD,8DAA0B;;;;QAA1B,UAA2B,KAAU;;gBAC9B,QAAQ,GAAG,mBAAmB;;gBAC/B,GAAG,GAAG,wBAAwB;YAClC,IAAI,KAAK,CAAC,eAAe,KAAK,iBAAiB,EAAE;gBAC/C,QAAQ,GAAG,0BAA0B,CAAA;gBACrC,GAAG,GAAG,+BAA+B,CAAA;aACtC;YACD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,QAAQ;gBACjB,EAAE,EAAE,GAAG;aACR,EACD;gBACE,EAAE,EAAE,KAAK,CAAC,UAAU;gBACpB,IAAI,EAAE,KAAK,CAAC,eAAe;aAC5B,EACD;gBACE,SAAS,EAAE,GAAG;gBACd,MAAM,EAAE,wBAAwB;aACjC,CACF,CAAA;SACF;;oBAtFFnF,cAAS,SAAC;wBACT,QAAQ,EAAE,0BAA0B;wBACpC,mqXAAiD;;qBAElD;;;;oDAScsB,WAAM,SAAC,aAAa;oBAjB1BuB,aAAM;oBACNF,oBAAY;;;kCASlBpC,UAAK;oCACLA,UAAK;uCACLA,UAAK;;QAgFR,gCAAC;KAxFD,IAwFC;;;QAlFC,gDAA6B;;QAC7B,kDAA2B;;QAC3B,qDAA8B;;QAC9B,+CAAgC;;QAChC,iDAAgB;;QAChB,yDAA0B;;QAC1B,gDAAgB;;QACoC,2CAAqB;;;;;QAAE,2CAA4B;;;;;;;AClBzG;QAmBE;YAVA,iBAAY,GAAQ,CAAC,CAAA;YACZ,eAAU,GAAS,EAAE,CAAA;YACrB,aAAQ,GAAS,EAAE,CAAA;YAElB,kBAAa,GAAG,IAAIN,iBAAY,EAAO,CAAA;YACjD,mBAAc,GAAG,GAAG,CAAA;YAEpB,cAAS,GAAQ,EAAE,CAAA;YACnB,gBAAW,GAAQ,EAAE,CAAA;SAEJ;;;;QAEjB,yCAAQ;;;QAAR;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAA;YAChG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAA;SACvF;;;;;QAED,gDAAe;;;;QAAf,UAAgB,UAAe;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;SAC/B;;oBAzBFD,cAAS,SAAC;wBACT,QAAQ,EAAE,uBAAuB;wBACjC,+zEAA8C;;qBAE/C;;;;;iCAGEO,UAAK;+BACLA,UAAK;2BACLA,UAAK;oCACLC,WAAM;sCAKN8E,iBAAY,SAAC,uBAAuB;;QAWvC,6BAAC;KA1BD,IA0BC;;;QApBC,8CAAqB;;QACrB,4CAA8B;;QAC9B,0CAA4B;;QAC5B,sCAAkB;;QAClB,+CAAiD;;QACjD,gDAAoB;;QAEpB,2CAAmB;;QACnB,6CAAqB;;QACrB,iDAA0F;;;;;;;AClB5F;QASA;SAaoC;;oBAbnC5E,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;wBACtC,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb,yBAAyB;4BACzB,oBAAoB;yBACrB;wBACD,OAAO,EAAE;4BACP,sBAAsB;yBACvB;wBACD,OAAO,EAAC,CAACsE,2BAAsB,CAAC;qBACjC;;QACkC,0BAAC;KAbpC;;;;;;ICTA;QAGMC,QAAM,GAAG5D,QAAO;AAEtB;QAcE,yBAAmB,UAA6B;YAA7B,eAAU,GAAV,UAAU,CAAmB;YALhD,gBAAW,GAAQ,EAAE,CAAA;YACrB,WAAM,GAAQ,EAAE,CAAA;YAGhB,WAAM,GAAY,KAAK,CAAA;SAC8B;;;;QAErD,kCAAQ;;;QAAR;YACE,IAAI,CAAC,WAAW,GAAG;gBACjB,MAAM,EAAE;oBACN,IAAI;iBACL;gBACD,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE;oBACP,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE;wBACP,MAAM,EAAE,CAAC,MAAM,CAAC;wBAChB,WAAW,EAAE,OAAO;wBACpB,QAAQ,EAAE,OAAO;wBACjB,SAAS,EAAG;4BACV,IAAI,EAAE,EAAE;4BACR,GAAG,EAAE,EAAE;yBACR;qBACF;oBACD,OAAO,EAAE;wBACP,SAAS,EAAE,MAAM;qBAClB;iBACF;aACF,CAAA;YACD,IAAI,CAAC,aAAa,EAAE,CAAA;SACrB;;;;QACD,6CAAmB;;;QAAnB;;gBACM,WAAW,GAAG4D,QAAM,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;;gBAChE,OAAO,GAAGA,QAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC;YAClE,OAAO,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;;oBACtC,QAAQ,GAAG,EAAE;gBACjB,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACxD,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAC7D,IAAG,WAAW,CAAC,MAAM,CAACA,QAAM,EAAE,EAAE,KAAK,CAAC,EAAC;oBACrC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;iBACnD;gBACD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aAChC;YACD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;SAC5C;;;;;QAED,mCAAS;;;;QAAT,UAAU,WAAgB;YAA1B,iBAmBC;YAlBC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;;gBACtC,OAAO,GAAGA,QAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAA;YAClE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBACxE,KAAI,CAAC,MAAM,GAAG,EAAE,CAAA;gBAChB,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;oBAE7C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACnD,KAAI,CAAC,MAAM,GAAG,KAAK,CAAA;iBACpB;qBAAM;oBACL,KAAI,CAAC,MAAM,GAAG,KAAK,CAAA;iBACpB;aACF;;;;YAAE,UAAA,KAAK;gBACN,KAAI,CAAC,MAAM,GAAG,KAAK,CAAA;aACpB,EAAC,CAAA;SACH;;;;QAED,uCAAa;;;QAAb;YAAA,iBAkBC;YAjBC,IAAI,CAAC,mBAAmB,EAAE,CAAA;;gBACtB,OAAO,GAAGA,QAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAA;YAClE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBACxE,KAAI,CAAC,MAAM,GAAG,EAAE,CAAA;gBAChB,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;oBAC7C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACnD,KAAI,CAAC,MAAM,GAAG,KAAK,CAAA;iBACpB;qBAAM;oBACL,KAAI,CAAC,MAAM,GAAG,KAAK,CAAA;iBACpB;aACF;;;;YAAE,UAAA,KAAK;gBACN,KAAI,CAAC,MAAM,GAAG,KAAK,CAAA;aACpB,EAAC,CAAA;SACH;;;;;QAED,wCAAc;;;;QAAd,UAAe,UAAe;YAC5B,OAAO,UAAU,CAAC,IAAI;;;;;YAAC,UAAC,CAAK,EAAE,CAAK;gBAClC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAG,CAAC,GAAG,CAAC,CAAC,SAAS,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aAC/D,EAAC,CAAC;SACJ;;;;;;QAED,0CAAgB;;;;;QAAhB,UAAiB,IAAS,EAAE,IAAS;;gBAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;gBAC1B,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;;gBACzB,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9B,OAAU,IAAI,SAAI,IAAI,GAAG,GAAK,CAAA;SAC/B;;oBA5GFpF,cAAS,SAAC;wBACT,QAAQ,EAAE,eAAe;wBACzB,wlDAAsC;;qBAEvC;;;;oBARQ,iBAAiB;;;6BAWvBO,UAAK;sCACLA,UAAK;;QAsGR,sBAAC;KA9GD,IA8GC;;;QAvGC,iCAAoB;;QACpB,0CAA6B;;QAC7B,sCAAqB;;QACrB,iCAAgB;;QAChB,sCAAgB;;QAChB,qCAAe;;QACf,iCAAuB;;QACX,qCAAoC;;;;;;;ICnBlD;QAGM6E,QAAM,GAAG5D,QAAO;AAEtB;QAYE,4BAAmC,WAAgB,EAAU,MAAc;YAAd,WAAM,GAAN,MAAM,CAAQ;YAD3E,yBAAoB,GAAW,EAAE,CAAA;YAE/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;SAC9B;;;;;QAEF,yCAAY;;;;QAAZ,UAAa,KAAU;;gBACjB,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;;gBACvC,UAAU,GAAM4D,QAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAI,UAAU,CAAC,CAAC,CAAC,SAAI,UAAU,CAAC,CAAC,CAAG;YACtG,OAAO,UAAU,CAAA;SAClB;;;;;QAED,yCAAY;;;;QAAZ,UAAa,GAAW;;gBAChB,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;YACjD,OAAU,IAAI,CAAC,WAAW,CAAC,WAAW,SAAI,IAAI,CAAC,WAAW,CAAC,aAAa,gBAAW,OAAS,CAAA;SAC7F;;;;;QAED,uCAAU;;;;QAAV,UAAW,KAAU;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;SAClE;;oBA7BFpF,cAAS,SAAC;wBACT,QAAQ,EAAE,mBAAmB;wBAC7B,s3EAA0C;;qBAE3C;;;;oDAQcsB,WAAM,SAAC,aAAa;oBAhB1BuB,aAAM;;;iCAWZtC,UAAK;mCACLA,UAAK;6BAELA,UAAK;;QAqBR,yBAAC;KA/BD,IA+BC;;;QAxBC,wCAAwB;;QACxB,0CAA0B;;QAC1B,yCAAiB;;QACjB,oCAAoB;;QACpB,kDAAiC;;;;;QACoB,oCAAsB;;;;;;;ACjB7E;QAUA;SAU6B;;oBAV5BG,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;wBACnD,OAAO,EAAE;4BACPC,mBAAY;4BACZuC,mBAAY;4BACZ,uBAAuB;4BACvBrC,sBAAa;yBACd;wBACD,OAAO,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;qBAC/C;;QAC2B,mBAAC;KAV7B;;;;;;;QCQE,iCAAoB,iBAAoC;YAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;YARxD,eAAU,GAAQ,IAAI,CAAA;YACtB,WAAM,GAAQ,EAAE,CAAA;YAEhB,eAAU,GAAW,EAAE,CAAA;YACvB,WAAM,GAAY,IAAI,CAAA;YAGZ,eAAU,GAAG,IAAIZ,iBAAY,EAAO,CAAA;SACe;;;;QAE7D,0CAAQ;;;QAAR;YACE,IAAI,CAAC,OAAO,EAAE,CAAA;SACf;;;;QAED,yCAAO;;;QAAP;YAAA,iBAYC;YAXC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBACzD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;oBACnB,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;oBACxB,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,cAAc;yBACzC,MAAM;;;;oBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,KAAI,CAAC,UAAU,GAAA,EAAC;yBAC7C,GAAG;;;;oBAAC,UAAA,IAAI,IAAI,qBAAM,IAAI,IAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,OAAG,EAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;iBAC7E;aAEJ;;;;YAAE,UAAA,KAAK;gBACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;aACrB,EAAC,CAAA;SACH;;;;;QAED,4CAAU;;;;QAAV,UAAW,IAAS;YAApB,iBAyBC;YAxBC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;YACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;iBACzC,MAAM;;;;YAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,KAAI,CAAC,UAAU,GAAA,EAAC;iBACzC,GAAG;;;;YAAC,UAAA,IAAI,IAAI,qBAAM,IAAI,IAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,OAAG,EAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;;gBAC1E,OAAO,GAAQ,EAAE;YACrB,QAAQ,IAAI;gBACV,KAAK,IAAI;oBACP,OAAO,GAAG,kBAAkB,CAAA;oBAC5B,MAAK;gBACP,KAAK,GAAG;oBACN,OAAO,GAAI,SAAS,CAAA;oBACpB,MAAK;gBACP,KAAK,GAAG;oBACN,OAAO,GAAI,QAAQ,CAAA;oBACnB,MAAK;gBACL,KAAK,GAAG;oBACN,OAAO,GAAG,QAAQ,CAAA;oBAClB,MAAK;gBACT;oBACE,OAAO,GAAG,eAAe,CAAA;oBACzB,MAAK;aACR;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAC9B;;;;;QAED,yCAAO;;;;QAAP,UAAQ,IAAY;YAClB,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAO,IAAM,GAAG,OAAO,CAAA;SACxD;;;;;QAED,0CAAQ;;;;QAAR,UAAS,IAAY;YACnB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACZ,OAAO,4CAA4C,CAAA;aACtD;iBAAM,IAAG,IAAI,KAAK,CAAC,EAAE;gBAClB,OAAO,4CAA4C,CAAA;aACtD;iBAAM;gBACH,OAAO,4CAA4C,CAAA;aACtD;SACF;;;;;QAED,mDAAiB;;;;QAAjB,UAAkB,CAAM;YAAxB,iBAWC;YAVC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;qBACzC,MAAM;;;;gBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAA,EAAC;qBACrG,GAAG;;;;gBAAC,UAAA,IAAI,IAAI,qBAAM,IAAI,IAAE,QAAQ,EAAE,EAAE,OAAE,EAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;aAC3D;iBAAM;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;qBACzC,MAAM;;;;gBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,KAAI,CAAC,UAAU,GAAA,EAAC;qBAC7C,GAAG;;;;gBAAC,UAAA,IAAI,IAAI,qBAAM,IAAI,IAAE,QAAQ,EAAE,EAAE,OAAE,EAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;aAC3D;SACF;;;;QAED,qDAAmB;;;QAAnB;YACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;SAC3B;;oBA3FFD,cAAS,SAAC;wBACT,QAAQ,EAAE,wBAAwB;wBAClC,wkHAA+C;;qBAEhD;;;;oBANQ,iBAAiB;;;6BAevBO,UAAK;iCACLC,WAAM;;QA+ET,8BAAC;KA7FD,IA6FC;;;QAtFC,6CAAsB;;QACtB,yCAAgB;;QAChB,+CAAiB;;QACjB,6CAAuB;;QACvB,yCAAsB;;QAEtB,yCAAoB;;QACpB,6CAA8C;;;;;QAClC,oDAA4C;;;;;;;AClB1D;QAUA;SAcqC;;oBAdpCE,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;wBACvC,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb,uBAAuB;4BACvBmE,iBAAW;4BACX5B,yBAAgB;yBACjB;wBACD,OAAO,EAAE;4BACP,uBAAuB;yBACxB;wBACD,SAAS,EAAE,CAAC,iBAAiB,CAAC;qBAC/B;;QACmC,2BAAC;KAdrC;;;;;;ACVA;QAiBE;YANA,iBAAY,GAAG,CAAC,CAAA;YAChB,gBAAW,GAAQ,EAAE,CAAA;YACrB,cAAS,GAAQ,EAAE,CAAA;YACnB,WAAM,GAAY,IAAI,CAAA;SAGL;;;;QAEjB,4CAAQ;;;QAAR;YAAA,iBAYC;YAXC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAA;YACtG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;;;;gBAAC,UAAC,UAAe;;wBACvC,SAAS,GAAG,EAAE;oBAClB,SAAS,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAA;oBACrC,SAAS,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAA;oBAC3C,SAAS,CAAC,aAAa,CAAC,GAAI,eAAe,CAAA;oBAC3C,SAAS,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAA;oBACjD,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACjC,EAAC,CAAA;aACH;SACF;;;;QAED,uDAAmB;;;QAAnB;YACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;SAC3B;;;;;QAED,mDAAe;;;;QAAf,UAAgB,UAAe;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;SAC/B;;oBApCFpD,cAAS,SAAC;wBACT,QAAQ,EAAE,2BAA2B;wBACrC,8nEAAkD;;qBAEnD;;;;;iCAGEO,UAAK;sCAML+E,iBAAY,SAAC,uBAAuB;;QA0BvC,gCAAC;KAvCD,IAuCC;;;QAhCC,+CAAwB;;QACxB,iDAAgB;;QAChB,gDAAqB;;QACrB,8CAAmB;;QACnB,2CAAsB;;QAEtB,oDAA0F;;;;;;;AChB5F;QASA;SAauC;;oBAbtC5E,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;wBACzC,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACbuC,yBAAgB;4BAChB,oBAAoB;4BACpB,yBAAyB;yBAC1B;wBACD,OAAO,EAAE;4BACP,yBAAyB;yBAC1B;qBACF;;QACqC,6BAAC;KAbvC;;;;;;ACTA;QAkBE,2BAAoB,KAAa;YAAb,UAAK,GAAL,KAAK,CAAQ;YAPjC,iBAAY,GAAG,CAAC,CAAA;YAChB,gBAAW,GAAQ,EAAE,CAAA;YACrB,cAAS,GAAQ,EAAE,CAAA;YACnB,WAAM,GAAY,IAAI,CAAA;SAIgB;;;;QAEtC,oCAAQ;;;QAAR;YAAA,iBAcC;YAbC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAA;YACtG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;;;;gBAAC,UAAC,UAAe;;wBACvC,SAAS,GAAG,EAAE;oBAClB,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAA;oBACpC,SAAS,CAAC,aAAa,CAAC,GAAI,eAAe,CAAA;oBAC3C,SAAS,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAA;oBACjD,SAAS,CAAC,SAAS,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;oBAC7D,SAAS,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,GAAG,EAAE,CAAA;oBAClF,SAAS,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,GAAG,EAAE,CAAA;oBAC5E,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACjC,EAAC,CAAA;aACH;SACF;;;;;QAED,2CAAe;;;;QAAf,UAAgB,IAAY;;gBACtB,QAAQ,GAAG,EAAE;;gBACX,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBAC/D,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aAC/B;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC1B,SAAQ;qBACT;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBACrC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;wBAE1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzB,MAAK;yBACN;qBACF;iBACF;aACF;YACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAA;SAC9B;;;;;QAED,2CAAe;;;;QAAf,UAAgB,UAAe;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;SAC/B;;;;QAED,+CAAmB;;;QAAnB;YACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;SAC3B;;;;;QAED,qCAAS;;;;QAAT,UAAU,SAAa;YACrB,IAAG,SAAS,IAAI,SAAS,CAAC,UAAU,EAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,yBAAuB,SAAS,CAAC,UAAY,CAAC,CAAA;aACxE;SACF;;oBAnEFpD,cAAS,SAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,0nFAAwC;;qBAEzC;;;;oBANQ6C,aAAM;;;iCAQZtC,UAAK;sCAML+E,iBAAY,SAAC,uBAAuB;;QAyDvC,wBAAC;KArED,IAqEC;;;QA/DC,uCAAwB;;QACxB,yCAAgB;;QAChB,wCAAqB;;QACrB,sCAAmB;;QACnB,mCAAsB;;QAEtB,4CAA0F;;;;;QAE9E,kCAAqB;;;;;;;AClBnC;QASA;SAa+B;;oBAb9B5E,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;wBACjC,OAAO,EAAE;4BACPC,mBAAY;4BACZ,oBAAoB;4BACpB,yBAAyB;4BACzByC,yBAAgB;4BAChBvC,sBAAa;yBACd;wBACD,OAAO,EAAE;4BACP,iBAAiB;yBAClB;qBACF;;QAC6B,qBAAC;KAb/B;;;;;;;QCWE,+BAAmB,UAA6B,EAAU,SAAgC;YAAvE,eAAU,GAAV,UAAU,CAAmB;YAAU,cAAS,GAAT,SAAS,CAAuB;YAN1F,gBAAW,GAAG,EAAE,CAAA;YAChB,iBAAY,GAAG,CAAC,CAAA;YAChB,cAAS,GAAQ,EAAE,CAAA;YACnB,iBAAY,GAAQ,EAAE,CAAA;YACtB,WAAM,GAAY,IAAI,CAAA;SAGjB;;;;QAEL,wCAAQ;;;QAAR;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAA;YACnE,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,IAAI,CAAC,eAAe,EAAE,CAAA;SACvB;;;;QAED,+CAAe;;;QAAf;YAAA,iBAaC;YAZC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBACrD,IAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE;oBAClD,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAA;oBAC9C,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,SAAS,CAAC,WAAW,IAAI,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE;wBACvH,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAA;wBACpE,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAA;qBAChF;iBACF;aACF;;;;YAAE,UAAA,KAAK;gBACN,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAA;gBACpE,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAA;aAChF,EAAC,CAAA;SACH;;;;QACD,+CAAe;;;QAAf;YAAA,iBAqBC;;gBApBO,OAAO,GAAG;gBACd,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,eAAe,EAAE,UAAU;wBAC3B,aAAa,EAAE;4BACb,QAAQ;4BACR,IAAI,CAAC,SAAS;yBAEf;qBACF;iBACF;aACF;YACD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS;;;;YAAC,UAAC,GAAQ;gBAC5D,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC1E,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;oBAC7C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG;;;;oBAAC,UAAC,GAAQ;wBAC/C,oBAAW,GAAG,IAAE,WAAW,EAAE,eAAe,IAAC;qBAC9C,EAAC,CAAA;iBACH;aACF,EAAC,CAAA;SACH;;;;;QAED,uCAAO;;;;QAAP,UAAQ,MAAW;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAE,GAAG,CAAC,CAAA;SACrC;;;;;QAED,+CAAe;;;;QAAf,UAAgB,UAAe;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;SAC/B;;;;;QAED,+CAAe;;;;QAAf,UAAgB,IAAY;;gBACtB,QAAQ,GAAG,EAAE;;gBACX,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YACxC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBAC/D,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aAC/B;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC1B,SAAQ;qBACT;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBACrC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;wBAE1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzB,MAAK;yBACN;qBACF;iBACF;aACF;YACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAA;SAC9B;;;;QAED,mDAAmB;;;QAAnB;YACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;SAC3B;;oBA9FFb,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,+4KAA6C;;qBAE9C;;;;oBARQ,iBAAiB;oBAEjBkC,6BAAqB;;;iCAS3B3B,UAAK;gCACLA,UAAK;sCAML+E,iBAAY,SAAC,uBAAuB;;QAkFvC,4BAAC;KAhGD,IAgGC;;;QAzFC,2CAAwB;;QACxB,0CAAuB;;QACvB,4CAAgB;;QAChB,6CAAgB;;QAChB,0CAAmB;;QACnB,6CAAsB;;QACtB,uCAAsB;;QACtB,gDAA0F;;QAC9E,2CAAoC;;;;;QAAE,0CAAwC;;;;;;;ACpB5F;QASA;SAamC;;oBAblC5E,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;wBACrC,OAAO,EAAE;4BACPC,mBAAY;4BACZyC,yBAAgB;4BAChBvC,sBAAa;4BACb,oBAAoB;4BACpB,yBAAyB;yBAC1B;wBACD,OAAO,EAAE;4BACP,qBAAqB;yBACtB;qBACF;;QACiC,yBAAC;KAbnC;;;;;;ACTA;QAmBA;SA2BuC;;oBA3BtCH,aAAQ,SAAC;wBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;wBACzC,OAAO,EAAE;4BACPC,mBAAY;4BACZE,sBAAa;4BACb6C,uBAAc;4BACd,uBAAuB;4BACvB,gBAAgB;4BAChBW,sBAAa;4BACb,mBAAmB;4BACnB,6BAA6B;4BAC7B,gBAAgB;4BAChB,YAAY;4BACZ,oBAAoB;4BACpB,sBAAsB;4BACtB,cAAc;4BACd,kBAAkB;4BAClB,6BAA6B;yBAC9B;wBACD,OAAO,EAAE;4BACP,yBAAyB;yBAC1B;wBACD,SAAS,EAAC;4BACR,oBAAoB;yBACrB;wBACD,OAAO,EAAC,CAACc,2BAAsB,CAAC;qBACjC;;QACqC,6BAAC;KA3BvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"sunbird-cb-consumption.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@sunbird-cb/consumption/lib/consumption.service.ts","ng://@sunbird-cb/consumption/lib/consumption.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.ts","ng://@sunbird-cb/consumption/lib/_models/widget-content.model.ts","ng://@sunbird-cb/consumption/lib/_services/viewer-route-util.ts","ng://@sunbird-cb/consumption/lib/_models/card-content-v2.model.ts","ng://@sunbird-cb/consumption/lib/_services/widget-user-lib.service.ts","ng://@sunbird-cb/consumption/lib/_services/widget-content-lib.service.ts","ng://@sunbird-cb/consumption/lib/_services/configurations.service.ts","ng://@sunbird-cb/consumption/lib/_services/multilingual-translations.service.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.component.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/image-responsive/image-responsive.module.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/navigation/navigation.module.ts","ng://@sunbird-cb/consumption/lib/_common/sliders/sliders.module.ts","ng://@sunbird-cb/consumption/lib/_services/insite-data.service.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/data-points/data-points.module.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender-day/calender-day.component.ts","ng://@sunbird-cb/consumption/lib/_common/calender/calender.module.ts","ng://@sunbird-cb/consumption/lib/_services/common-methods.service.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.component.ts","ng://@sunbird-cb/consumption/lib/_common/common-strip/common-strip.module.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.component.ts","ng://@sunbird-cb/consumption/lib/_common/announcements/announcements.module.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.component.ts","ng://@sunbird-cb/consumption/lib/_common/top-learners/top-learners.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.directive.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.component.ts","ng://@sunbird-cb/consumption/lib/_common/sliders-ng-content/sliders-ng-content.module.ts","ng://@sunbird-cb/consumption/lib/_directives/scrollable-item/scrollable-item.module.ts","ng://@sunbird-cb/consumption/lib/_common/cbp-plan/cbp-plan.module.ts","ng://@sunbird-cb/consumption/lib/consumption.module.ts","ng://@sunbird-cb/consumption/lib/consumption.config.ts","ng://@sunbird-cb/consumption/lib/_models/card-content.model.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-resource/card-resource.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait/card-portrait.component.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-public-URL/pipe-public-URL.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/object-to-array/object-to-array.pipe.module.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/display-content-type-lib/display-content-type-lib.module.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.directive.ts","ng://@sunbird-cb/consumption/lib/_directives/default-thumbnail/default-thumbnail.module.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","ng://@sunbird-cb/consumption/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-user/card-user.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-landscape/card-landscape.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide/card-wide.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-wide-v2/card-wide-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs/card-karma-programs.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/provider-card/provider-card.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.ts","ng://@sunbird-cb/consumption/lib/_services/certificate.service.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.component.ts","ng://@sunbird-cb/consumption/lib/_common/content-progress/content-progress.module.ts","ng://@sunbird-cb/consumption/lib/_common/dialog-components/dialog-components.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/avatar-photo-lib/avatar-photo-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/cards/cards.module.ts","ng://@sunbird-cb/consumption/lib/registration-lib.config.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.component.ts","ng://@sunbird-cb/consumption/lib/_common/pills/pills.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook/competency-passbook.module.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.ts","ng://@sunbird-cb/consumption/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.ts","ng://@sunbird-cb/consumption/lib/_services/rating.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.service.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.component.ts","ng://@sunbird-cb/consumption/lib/_common/user-content-rating/user-content-rating-lib.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/mdo-channels/mdo-channel.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers-v2/providers-v2.component.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/providers/providers.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.ts","ng://@sunbird-cb/consumption/lib/_common/key-highlights/key-highlights.component.ts","ng://@sunbird-cb/consumption/lib/_common/key-highlights/key-highlights.module.ts","ng://@sunbird-cb/consumption/lib/_common/events/events.component.ts","ng://@sunbird-cb/consumption/lib/_common/events/event-card/event-card.component.ts","ng://@sunbird-cb/consumption/lib/_common/events/events.module.ts","ng://@sunbird-cb/consumption/lib/_common/mdo-leaderboard/mdo-leaderboard.component.ts","ng://@sunbird-cb/consumption/lib/_common/mdo-leaderboard/mdo-leaderboard.module.ts","ng://@sunbird-cb/consumption/lib/_common/highlights-of-week/highlights-of-week.component.ts","ng://@sunbird-cb/consumption/lib/_common/highlights-of-week/highlights-of-week.module.ts","ng://@sunbird-cb/consumption/lib/_common/speakers/speakers.component.ts","ng://@sunbird-cb/consumption/lib/_common/speakers/speakers.module.ts","ng://@sunbird-cb/consumption/lib/_common/user-progress/user-progress.component.ts","ng://@sunbird-cb/consumption/lib/_common/user-progress/user-progress.module.ts","ng://@sunbird-cb/consumption/lib/_common/microsites/national-learning-week/national-learning.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConsumptionService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-consumption',\n template: `\n <p>\n consumption works!\n </p>\n `,\n styles: []\n})\nexport class ConsumptionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';\nimport {\n fromEvent,\n Subscription,\n timer,\n} from 'rxjs';\nimport { debounceTime, throttleTime } from 'rxjs/operators';\nimport { TFetchStatus } from '../../_constants/misc.constants';\nimport { ValueService } from '@sunbird-cb/utils-v2';\nimport { NsCommonStrip } from '../common-strip/common-strip.model';\nimport { NsContentStripMultiple } from '../../_models/content-strip-multiple.model';\n\n@Component({\n selector: 'sb-uic-horizontal-scroller-v2',\n templateUrl: './horizontal-scroller-v2.component.html',\n styleUrls: ['./horizontal-scroller-v2.component.scss'],\n})\n\nexport class HorizontalScrollerV2Component implements OnInit, OnChanges, OnDestroy {\n\n @Input() loadStatus: TFetchStatus = 'fetching';\n @Input() id: string = '';\n @Input() onHover = false;\n @Input() sliderConfig: any = {\n showNavs: true,\n showDots: true,\n cerificateCardMargin: false,\n };\n @Output() loadNext = new EventEmitter();\n @Input() widgetsLength: any;\n @Input() defaultMaxWidgets: any;\n @Input() stripConfig: any;\n @ViewChild('horizontalScrollElem', { static: true })\n horizontalScrollElem: ElementRef | null = null;\n\n enablePrev = false;\n enableNext = false;\n activeNav = 0;\n cardSubType = 'standard';\n bottomDotsArray: any = [];\n private scrollObserver: Subscription | null = null;\n isMobile = false\n private defaultMenuSubscribe: Subscription | null = null\n isLtMedium$ = this.valueSvc.isLtMedium$\n\n constructor(private valueSvc: ValueService) { }\n\n ngOnInit() {\n this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';\n if (this.horizontalScrollElem) {\n const horizontalScrollElem = this.horizontalScrollElem;\n this.scrollObserver = fromEvent(\n horizontalScrollElem.nativeElement,\n 'scroll',\n )\n .pipe(debounceTime(100), throttleTime(100))\n .subscribe(_ => {\n this.updateNavigationBtnStatus(horizontalScrollElem\n .nativeElement as HTMLElement);\n });\n setTimeout(() => {\n this.getBottomDotsArray();\n }, 700);\n }\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\n this.isMobile = isLtMedium\n })\n }\n\n ngOnChanges() {\n timer(100).subscribe(() => {\n if (this.horizontalScrollElem) {\n this.updateNavigationBtnStatus(this.horizontalScrollElem\n .nativeElement as HTMLElement);\n }\n });\n setTimeout(() => {\n this.getBottomDotsArray();\n }, 700);\n }\n\n ngOnDestroy() {\n if (this.scrollObserver) {\n this.scrollObserver.unsubscribe();\n }\n if (this.defaultMenuSubscribe) {\n this.defaultMenuSubscribe.unsubscribe()\n }\n }\n\n showPrev() {\n // const elem = this.horizontalScrollElem.nativeElement\n // elem.scrollLeft -= 0.20 * elem.clientWidth\n if (this.horizontalScrollElem) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\n behavior: 'smooth',\n });\n \n const elem = this.horizontalScrollElem.nativeElement\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n this.activeNav -= 1;\n } else {\n if(this.sliderConfig.arrowsAlwaysOn) {\n if(this.horizontalScrollElem.nativeElement.scrollLeft === 0){\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: elem.scrollWidth,\n behavior: 'smooth',\n });\n this.activeNav = this.bottomDotsArray.length - 1;\n }\n }\n }\n }\n }\n\n showNext() {\n // const elem = this.horizontalScrollElem.nativeElement\n // elem.scrollLeft += 0.20 * elem.clientWidth\n if (this.horizontalScrollElem) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\n behavior: 'smooth',\n });\n const elem = this.horizontalScrollElem.nativeElement\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n this.activeNav += 1;\n } else {\n if(this.sliderConfig.arrowsAlwaysOn) {\n if(this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth ){\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: 0,\n behavior: 'smooth',\n });\n this.activeNav = 0;\n }\n }\n }\n }\n }\n\n private updateNavigationBtnStatus(elem: HTMLElement) {\n this.enablePrev = true;\n this.enableNext = true;\n if (elem.scrollLeft === 0) {\n if(!this.sliderConfig.arrowsAlwaysOn) {\n this.enablePrev = false;\n }\n this.activeNav = 0;\n }\n // if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {\n // if (this.loadStatus === 'hasMore') {\n // this.loadNext.emit();\n // } else {\n // if(!this.sliderConfig.arrowsAlwaysOn) {\n // this.enableNext = false;\n // }\n // if (this.bottomDotsArray.length) {\n // this.activeNav = this.bottomDotsArray.length - 1;\n // }\n // }\n // }\n // if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n // this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);\n // }\n\n\n const widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft))\n if (widthDiff === 0 || widthDiff === 1) {\n if (this.loadStatus === 'hasMore') {\n this.loadNext.emit()\n } else {\n this.enableNext = false\n if (this.bottomDotsArray.length) {\n this.activeNav = this.bottomDotsArray.length - 1\n }\n }\n }\n if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {\n this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth)\n }\n }\n\n slideTo(ele: any) {\n const diff = ele - this.activeNav;\n // if (ele > this.activeNav && ele !== this.activeNav) {\n // if (this.horizontalScrollElem) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\n // this.horizontalScrollElem.nativeElement.scrollTo({\n // left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),\n // behavior: 'smooth',\n // })\n // }\n // this.activeNav = ele\n // } else {\n // if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\n // this.horizontalScrollElem.nativeElement.scrollTo({\n // left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),\n // behavior: 'smooth',\n // })\n // }\n // this.activeNav = ele\n // }\n if (this.horizontalScrollElem) {\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);\n this.horizontalScrollElem.nativeElement.scrollTo({\n left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),\n behavior: 'smooth',\n });\n }\n this.activeNav = ele;\n }\n\n getBottomDotsArray() {\n if (this.horizontalScrollElem) {\n this.bottomDotsArray = [];\n let cardWidth;\n let arrLength;\n if (this.cardSubType !== 'card-wide-v2') {\n cardWidth = this.cardSubType === 'standard' ? 245 :\n ((document.getElementsByClassName(this.cardSubType) &&\n document.getElementsByClassName(this.cardSubType)[0] !== undefined)\n ? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);\n if (document.getElementById(`${this.id}`)) {\n const scrollerWidth = document.getElementById(`${this.id}`).clientWidth;\n const totalCardsLength = cardWidth * this.widgetsLength;\n if (totalCardsLength > scrollerWidth) {\n arrLength = Math.round(scrollerWidth / cardWidth);\n this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?\n this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;\n arrLength = this.defaultMaxWidgets / arrLength;\n for (let i = 0; i < arrLength; i += 1) {\n this.bottomDotsArray.push(i);\n }\n }\n }\n } else {\n setTimeout(() => {\n this.bottomDotsArray = []\n arrLength = document.getElementsByClassName(this.cardSubType).length;\n for (let i = 0; i < arrLength; i += 1) {\n this.bottomDotsArray.push(i);\n }\n }, 1000);\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HorizontalScrollerV2Component } from './horizontal-scroller-v2.component';\nimport { MatButtonModule, MatIconModule, MatProgressSpinnerModule } from '@angular/material';\n\n@NgModule({\n declarations: [HorizontalScrollerV2Component],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n ],\n exports: [HorizontalScrollerV2Component],\n})\nexport class HorizontalScrollerV2Module { }\n","export namespace NsContent {\n export interface IContinueLearningData extends IContent {\n continueData: any;\n }\n\n export interface IContinueLearningDataReq {\n request: {\n userId: string | undefined,\n courseId: string,\n contentIds: string[],\n batchId: string | undefined | null\n fields?: string[]\n };\n }\n\n export interface IContent {\n platform?: any;\n addedOn: string;\n appIcon: string;\n artifactUrl: string;\n averageRating?: any;\n // this will be used to content form enrollment user list\n batches?: any;\n batch?: any;\n body?: string;\n certificationList?: IRelatedContentMeta[];\n certificationStatus?: TCertificationStatus;\n certificationSubmissionDate?: string;\n certificationUrl: string;\n childNodes?: string[];\n children: IContent[];\n childrenClassifiers?: string[];\n clients?: IClient[];\n collections?: IContent[];\n completionPercentage?: number | null;\n completionStatus?: number;\n difficultyLevel: string;\n contentId: string;\n contentType: EContentTypes;\n contentUrlAtSource: string;\n creatorContacts: ICreator[];\n\n creatorDetails: ICreator[];\n creatorLogo: string;\n creatorPosterImage: string;\n creatorThumbnail: string;\n\n curatedTags: string[];\n description: string;\n displayContentType: EDisplayContentTypes; // For UI\n downloadUrl?: string;\n duration: number;\n enrolledDate?: string;\n exclusiveContent?: boolean;\n expiryDate?: string;\n equivalentCertifications?: IRelatedContentMeta[];\n hasAccess: boolean;\n hasAssessment?: string;\n idealScreenSize?: string;\n identifier: string;\n introductoryVideo?: string;\n introductoryVideoIcon?: string;\n learningTrack?: string;\n isExternal: boolean;\n isIframeSupported: 'Yes' | 'No' | 'Maybe';\n isInIntranet?: boolean;\n keywords?: string[];\n kArtifacts?: IRelatedContentMeta[];\n lastContentAccessTime?: string;\n lastUpdatedOn: string;\n learningMode?: TLearningMode;\n learningObjective: string;\n labels?: string[];\n locale?: string;\n hasTranslations?: { identifier: string; locale: string }[];\n isTranslationOf?: { identifier: string; locale: string }[];\n me_totalSessionsCount: number;\n mediaType: string;\n mimeType: EMimeTypes;\n msArtifactDetails?: IMSArtifactDetails;\n mode?: ETagType;\n name: string;\n nextCertificationAttemptDate?: string;\n playgroundInstructions?: string;\n playgroundResources?: IResourcePlayground[];\n postContents?: IPrePostContent[];\n posterImage?: string;\n preContents?: IPrePostContent[];\n preRequisites: string;\n price?: {\n currency: string\n value: number\n };\n primaryCategory: EPrimaryCategory;\n proctorUrl?: string;\n progress?: IMarkAsCompleteProgress;\n publishedOn: string;\n recentCertificationAttemptScore?: number;\n recommendationReasons?: string[];\n region?: string[];\n registrationUrl?: string;\n registrationInstructions?: string;\n resourceCategory?: string[];\n resourceType: string;\n size?: number;\n skills: ISkill[];\n softwareRequirements?: IResourceDetail[];\n sourceName: string;\n sourceShortName: string;\n sourceIconUrl?: string;\n sourceUrl?: string;\n ssoEnabled?: boolean;\n lastReadContentId?: string;\n status:\n | 'Draft'\n | 'InReview'\n | 'QualityReview'\n | 'Reviewed'\n | 'Processing'\n | 'Live'\n | 'Deleted'\n | 'MarkedForDeletion'\n | 'Expired';\n subTitle?: string;\n subTitles?: ISubtitle[];\n studyMaterials?: IRelatedContentMeta[];\n systemRequirements?: string[];\n tags: ITag[];\n topics: IContentTopic[];\n totalLikes?: { [key: string]: number };\n totalRating?: number;\n track: ITrack[];\n uniqueLearners?: number;\n viewCount?: { [key: string]: number };\n reason?: string; // required for Knowledge board\n trainingLHubCount?: number; // for LHub trainings\n verifiers?: {\n // required for External Certifications\n name: string\n email: string\n id: string\n }[];\n references?: { url: string; title: string }[];\n resumePage?: number; // For player WebModule in UI\n [key: string]: any;\n optionalReading: boolean;\n additionalTags?: string[];\n }\n\n export interface IContentResponse {\n id: string;\n params: any;\n responseCode: string;\n result: {\n content: IContent\n };\n ts: string;\n ver: string;\n }\n\n export interface IBatch {\n batchId: string;\n createdBy: string;\n endDate: string | null;\n enrollmentType: string;\n identifier: string;\n name: string;\n startDate: string;\n status: number;\n cert_templates?: null;\n collectionId: string;\n courseId: string;\n createdDate: string;\n createdFor: string[];\n description?: null;\n enrollmentEndDate: string | null;\n id: string;\n mentors?: string[] | null;\n tandc?: null;\n updatedDate?: string | null;\n }\n\n export interface IBatchListResponse {\n content?: IBatch[];\n count?: number;\n enrolled?: boolean;\n workFlow?: {\n wfInitiated?: boolean\n batch?: any\n wfItem?: any\n };\n }\n\n export interface ICourse {\n active: true;\n addedBy: string;\n batch: IBatch;\n batchId: string;\n certificates: [];\n collectionId: string;\n completedOn: string | null;\n completionPercentage: number | null;\n completionStatus?: number;\n content: IContent;\n contentId: string;\n contentStatus: any;\n courseId: string;\n courseLogoUrl: string;\n courseName: string;\n dateTime: number;\n description: string;\n enrolledDate: string;\n issuedCertificates: [];\n lastContentAccessTime?: string;\n lastReadContentId?: string;\n lastReadContentStatus: string | null;\n leafNodesCount: number;\n progress: number;\n status: number;\n userId: string;\n }\n\n export interface IContentMinimal {\n appIcon: string;\n artifactUrl: string;\n difficultyLevel: string;\n contentType: EContentTypes;\n description: string;\n displayContentType?: EDisplayContentTypes;\n duration: number;\n identifier: string;\n hasAccess?: boolean;\n isInIntranet?: boolean;\n learningMode?: TLearningMode;\n mimeType: EMimeTypes;\n name: string;\n creatorDetails: ICreator[];\n creatorContacts: ICreator[];\n posterImage: string;\n primaryCategory: EPrimaryCategory;\n resourceType?: string;\n totalRating?: number;\n }\n\n export interface ICollectionHierarchyResponse {\n data: IContent;\n hasMore: boolean;\n totalContents: number;\n }\n\n export interface IRelatedContentMeta {\n identifier: string;\n name: string;\n }\n\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt';\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed';\n\n interface IMarkAsCompleteProgress {\n progressStatus: 'open' | 'started' | 'completed';\n showMarkAsComplete: boolean;\n markAsCompleteReason: string;\n progressSupported: boolean;\n progress: number | null;\n }\n\n interface ITag {\n id: string;\n type: string;\n value: string;\n }\n interface IMSArtifactDetails {\n channelId: string;\n videoId: string;\n }\n interface IClient {\n displayName: string;\n id: string;\n name: string;\n }\n interface ISubtitle {\n srclang: string;\n label: string;\n url: string;\n }\n interface IPrePostContent {\n identifier: string;\n name: string;\n }\n interface IResourceDetail {\n title?: string;\n url?: string;\n }\n interface IResourcePlayground {\n appIcon: string;\n artifactUrl: string;\n identifier: string;\n name: string;\n }\n interface ITrack {\n id: string;\n name: string;\n status: string;\n visibility: string;\n }\n interface ISkill {\n id: string;\n category: string;\n skill: string;\n name: string;\n }\n export interface ICreator {\n id: string;\n name: string;\n email: string;\n }\n export interface IContentTopic {\n identifier: string;\n name: string;\n }\n // API Based\n\n export interface IContact {\n id: string;\n name: string;\n email: string;\n }\n\n export interface IViewerContinueLearningRequest {\n resourceId: string;\n contextPathId: string;\n data: string;\n dateAccessed: number;\n contextType?: string;\n }\n /**\n * @deprecated Enum EContentTypes should not be used in future\n */\n export enum EContentTypes {\n PROGRAMV2 = 'Program',\n PROGRAM = 'Learning Path',\n CHANNEL = 'Channel',\n COURSE = 'Course',\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\n KNOWLEDGE_BOARD = 'Knowledge Board',\n LEARNING_JOURNEY = 'Learning Journeys',\n MODULE = 'CourseUnit',\n RESOURCE = 'Resource',\n }\n export enum EPrimaryCategory {\n PROGRAM = 'Program',\n COURSE = 'Course',\n MODULE = 'Course Unit',\n RESOURCE = 'Learning Resource',\n GOALS = 'GOALS',\n PLAYLIST = 'PLAYLIST',\n PRACTICE_RESOURCE = 'Practice Question Set',\n FINAL_ASSESSMENT = 'Course Assessment',\n COMP_ASSESSMENT = 'Competency Assessment',\n FTB_QUESTION = 'FTB Question',\n MTF_QUESTION = 'MTF Question',\n MULTIPLE_CHOICE_QUESTION = 'Multiple Choice Question',\n SINGLE_CHOICE_QUESTION = 'Single Choice Question',\n MANDATORY_COURSE_GOAL = 'Mandatory Course Goal',\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\n BLENDED_PROGRAM = 'Blended Program',\n OFFLINE_SESSION = 'Offline Session',\n CURATED_PROGRAM = 'Curated Program',\n // following will not be available soon\n /**\n * @deprecated The type should not be used\n */\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\n /**\n * @deprecated The type should not be used\n */\n KNOWLEDGE_BOARD = 'Knowledge Board',\n /**\n * @deprecated The type should not be used\n */\n LEARNING_JOURNEY = 'Learning Journeys',\n /**\n * @deprecated The type should not be used\n */\n CHANNEL = 'Channel',\n }\n\n export enum ECourseCategory {\n INVITE_ONLY_PROGRAM = 'Invite-Only Program',\n MODERATED_PROGRAM = 'Moderated Program',\n BLENDED_PROGRAM = 'Blended Program',\n CURATED_PROGRAM = 'Curated Program',\n COURSE = 'Course',\n MODERATED_COURSE = 'Moderated Course',\n STANDALONE_ASSESSMENT = 'Standalone Assessment',\n MODERATED_ASSESSEMENT = 'Moderated Assessment',\n }\n\n export enum WFBlendedProgramStatus {\n INITIATE = 'INITIATE',\n SEND_FOR_MDO_APPROVAL = 'SEND_FOR_MDO_APPROVAL',\n SEND_FOR_PC_APPROVAL = 'SEND_FOR_PC_APPROVAL',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n WITHDRAWN = 'WITHDRAWN',\n REMOVED = 'REMOVED',\n WITHDRAW = 'WITHDRAW',\n }\n export enum WFBlendedProgramApprovalTypes {\n ONE_STEP_PC = 'oneStepPCApproval',\n ONE_STEP_MDO = 'oneStepMDOApproval',\n TWO_STEP_MDO_PC = 'twoStepMDOAndPCApproval',\n TWO_STEP_PC_MDO = 'twoStepPCAndMDOApproval',\n }\n\n export const WFSTATUS_MSG_MAPPING: any = {\n INITIATE: '',\n SEND_FOR_MDO_APPROVAL: 'BatchEnrollL1Msg',\n SEND_FOR_PC_APPROVAL: 'BatchEnrollL2Msg',\n APPROVED: 'BatchEnrollApprovedMsg',\n REJECTED: 'BatchEnrollRejectedMsg',\n WITHDRAWN: 'BatchEnrollWithdrawMsg',\n REMOVED: 'BatchEnrollRemoveMsg',\n EXPIRED: 'BatchListExpiredMsg',\n };\n\n export enum EResourcePrimaryCategories {\n LEARNING_RESOURCE = 'Learning Resource',\n PRACTICE_RESOURCE = 'Practice Question Set',\n FINAL_ASSESSMENT = 'Course Assessment',\n COMP_ASSESSMENT = 'Competency Assessment',\n OFFLINE_SESSION = 'Offline Session',\n }\n\n export enum EMiscPlayerSupportedCollectionTypes {\n PLAYLIST = 'Playlist',\n }\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\n EPrimaryCategory.COURSE,\n EPrimaryCategory.MODULE,\n EPrimaryCategory.PROGRAM,\n EPrimaryCategory.CURATED_PROGRAM,\n EPrimaryCategory.BLENDED_PROGRAM,\n EPrimaryCategory.STANDALONE_ASSESSMENT,\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\n ];\n export const KB_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\n EPrimaryCategory.COURSE,\n EPrimaryCategory.MODULE,\n EPrimaryCategory.PROGRAM,\n EPrimaryCategory.RESOURCE,\n ];\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EPrimaryCategory[] = [\n EPrimaryCategory.COURSE,\n EPrimaryCategory.MODULE,\n EPrimaryCategory.PROGRAM,\n EPrimaryCategory.RESOURCE,\n ];\n export enum EMimeTypes {\n COLLECTION = 'application/vnd.ekstep.content-collection',\n ZIP = 'application/vnd.ekstep.html-archive',\n ZIP2 = 'application/vnd.ekstep.ecml-archive',\n HTML = 'application/html',\n HTML_TEXT = 'text/html',\n ILP_FP = 'application/ilpfp',\n IAP = 'application/iap-assessment',\n M4A = 'audio/m4a',\n MP3 = 'audio/mpeg',\n MP4 = 'video/mp4',\n M3U8 = 'application/x-mpegURL',\n INTERACTION = 'video/interactive',\n PDF = 'application/pdf',\n QUIZ = 'application/quiz',\n DRAG_DROP = 'application/drag-drop',\n HTML_PICKER = 'application/htmlpicker',\n WEB_MODULE = 'application/web-module',\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\n YOUTUBE = 'video/x-youtube',\n HANDS_ON = 'application/integrated-hands-on',\n RDBMS_HANDS_ON = 'application/rdbms',\n CLASS_DIAGRAM = 'application/class-diagram',\n CHANNEL = 'application/channel',\n COLLECTION_RESOURCE = 'resource/collection',\n APPLICATION_JSON = 'application/json',\n PRACTICE_RESOURCE = 'application/vnd.sunbird.questionset',\n FINAL_ASSESSMENT = 'application/vnd.sunbird.questionset',\n OFFLINE_SESSION = 'application/offline',\n // Added on UI Only\n CERTIFICATION = 'application/certification',\n PLAYLIST = 'application/playlist',\n TEXT_WEB = 'text/x-url',\n SURVEY = 'application/survey',\n QUESTION_SET = 'application/vnd.sunbird.questionset',\n QUESTION = 'application/vnd.sunbird.question',\n UNKNOWN = 'application/unknown',\n }\n export enum EDisplayContentTypes {\n ASSESSMENT = 'ASSESSMENT',\n STANDALONE_ASSESSMENT = 'STANDALONE ASSESSMENT',\n PRACTICE_RESOURCE = 'Practice Question Set',\n FINAL_ASSESSMENT = 'Course Assessment',\n AUDIO = 'AUDIO',\n CERTIFICATION = 'CERTIFICATION',\n CHANNEL = 'Channel',\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\n COURSE = 'COURSE',\n DEFAULT = 'DEFAULT',\n DRAG_DROP = 'DRAG_DROP',\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\n GOALS = 'GOALS',\n HANDS_ON = 'HANDS_ON',\n IAP = 'IAP',\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\n MODULE = 'MODULE',\n PDF = 'PDF',\n SURVEY = 'SURVEY',\n PLAYLIST = 'PLAYLIST',\n PROGRAM = 'PROGRAM',\n QUIZ = 'QUIZ',\n RESOURCE = 'RESOURCE',\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\n VIDEO = 'VIDEO',\n WEB_MODULE = 'WEB_MODULE',\n WEB_PAGE = 'WEB_PAGE',\n YOUTUBE = 'YOUTUBE',\n LINK = 'LINK',\n KNOWLEDGE_BOARD = 'Knowledge Board',\n LEARNING_JOURNEY = 'Learning Journeys',\n BLENDED_PROGRAM = 'BLENDED PROGRAM',\n CURATED_PROGRAM = 'CURATED PROGRAM',\n }\n // for UI\n export enum EFilterCategory {\n ALL = 'ALL',\n LEARN = 'LEARN',\n PRACTICE = 'PRACTICE',\n ASSESS = 'ASSESS',\n }\n\n // for UI\n export enum ETagType {\n NEWLY_ADDED = 'NEWLY ADDED',\n }\n\n export const UN_SUPPORTED_DATA_TYPES_FOR_NON_BATCH_USERS: string[] = [\n // this is comment now for enabling links in the toc page for enrolled users\n // EMimeTypes.QUIZ,\n // EMimeTypes.APPLICATION_JSON,\n // EMimeTypes.WEB_MODULE_EXERCISE,\n\n ];\n export const PUBLIC_SUPPORTED_CONTENT_TYPES: EMimeTypes[] = [\n EMimeTypes.APPLICATION_JSON,\n EMimeTypes.FINAL_ASSESSMENT,\n EMimeTypes.HTML,\n EMimeTypes.HTML_TEXT,\n EMimeTypes.ZIP,\n EMimeTypes.ZIP2,\n EMimeTypes.M4A,\n EMimeTypes.MP3,\n EMimeTypes.MP4,\n EMimeTypes.PDF,\n EMimeTypes.YOUTUBE,\n EMimeTypes.TEXT_WEB,\n EMimeTypes.SURVEY,\n ];\n}\n","import { NsContent } from '../_models/widget-content.model';\n\nexport const VIEWER_ROUTE_FROM_MIME = (mimeType: NsContent.EMimeTypes) => {\n switch (mimeType) {\n case NsContent.EMimeTypes.MP3:\n return 'audio';\n case NsContent.EMimeTypes.M4A:\n return 'audio-native';\n case NsContent.EMimeTypes.COLLECTION:\n return 'html';\n case NsContent.EMimeTypes.CHANNEL:\n // case 'application/json' as any:\n // return 'channel'\n case NsContent.EMimeTypes.CERTIFICATION:\n return 'certification';\n case NsContent.EMimeTypes.HTML_TEXT:\n case NsContent.EMimeTypes.HTML:\n case NsContent.EMimeTypes.ZIP:\n if (window.location.href.includes('mobile/html')) {\n return 'mobile/html';\n }\n return 'html';\n case NsContent.EMimeTypes.TEXT_WEB:\n return 'youtube';\n case NsContent.EMimeTypes.SURVEY:\n return 'survey';\n case NsContent.EMimeTypes.IAP:\n return 'iap';\n case NsContent.EMimeTypes.ILP_FP:\n return 'ilp-fp';\n case NsContent.EMimeTypes.PDF:\n return 'pdf';\n case NsContent.EMimeTypes.MP4:\n case NsContent.EMimeTypes.M3U8:\n return 'video';\n case NsContent.EMimeTypes.YOUTUBE:\n return 'youtube';\n // return 'html'\n case NsContent.EMimeTypes.WEB_MODULE:\n return 'web-module';\n case NsContent.EMimeTypes.WEB_MODULE_EXERCISE:\n return 'web-module';\n case NsContent.EMimeTypes.CLASS_DIAGRAM:\n return 'class-diagram';\n case NsContent.EMimeTypes.HANDS_ON:\n return 'hands-on';\n case NsContent.EMimeTypes.RDBMS_HANDS_ON:\n return 'rdbms-hands-on';\n case NsContent.EMimeTypes.HTML_PICKER:\n return 'html-picker';\n case NsContent.EMimeTypes.QUIZ:\n case NsContent.EMimeTypes.APPLICATION_JSON:\n return 'quiz';\n case NsContent.EMimeTypes.PRACTICE_RESOURCE:\n return 'practice';\n case NsContent.EMimeTypes.COLLECTION_RESOURCE:\n return 'resource-collection';\n case NsContent.EMimeTypes.OFFLINE_SESSION:\n return 'offline-session';\n default:\n return 'html';\n }\n};\n\nexport function viewerRouteGenerator(\n id: string,\n mimeType: NsContent.EMimeTypes,\n collectionId?: string,\n collectionType?: string,\n forPreview = false,\n primaryCategory?: string,\n batchId?: string,\n courseName?: string,\n): { url: string; queryParams: { [key: string]: any } } {\n let collId = collectionId;\n let collType = collectionType;\n if (collType && !NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES.includes(collType)) {\n collId = undefined;\n collType = undefined;\n }\n const url = `/viewer/${VIEWER_ROUTE_FROM_MIME(mimeType)}/${id}`;\n // tslint:disable-next-line\n // console.log(url,'========>Route from MIME TYPE<==========')\n const forcreator = window.location.href.includes('editMode=true');\n let queryParams = {};\n if (primaryCategory) {\n queryParams = {\n primaryCategory,\n };\n }\n if (collectionId && collectionType) {\n queryParams = { ...queryParams, collectionId: collId, collectionType: collType };\n }\n if (batchId) {\n queryParams = { ...queryParams, batchId };\n }\n if (courseName) {\n queryParams = { ...queryParams, courseName };\n }\n if (forPreview) {\n queryParams = { ...queryParams, preview: true };\n }\n if (forcreator) {\n queryParams = { ...queryParams, editMode: true };\n }\n return {\n queryParams,\n url,\n };\n}\n","import { NsContent } from './widget-content.model';\n\nexport namespace NsCardContent {\n export interface ICard {\n content: NsContent.IContent;\n cardSubType: TCardSubType;\n context: { pageSection: string; position?: number };\n intranetMode?: 'greyOut' | 'hide';\n deletedMode?: 'greyOut' | 'hide';\n likes?: number;\n contentTags?: IContentTags;\n stateData: any;\n }\n\n export interface IContentTags {\n daysSpan?: number;\n excludeContentType?: NsContent.EContentTypes[];\n excludeMimeType?: string[];\n tag: string;\n criteriaField?: string;\n }\n\n export interface ICompetency extends ICard {\n competencyArea: '';\n competencyObject: {};\n }\n\n export type TCardSubType =\n | 'standard'\n | 'minimal'\n | 'space-saving'\n | 'card-user-details'\n | 'basic-info'\n | 'basic-details'\n | 'card-description-back'\n | 'network-card';\n\n export enum EContentStatus {\n LIVE = 'Live',\n EXPIRED = 'Expired',\n DELETED = 'Deleted',\n MARK_FOR_DELETION = 'MarkedForDeletion',\n }\n\n export enum ACBPConst {\n UPCOMING = 'upcoming',\n ALL = 'All',\n OVERDUE = 'overdue',\n SUCCESS = 'success',\n }\n\n export enum IGOTConst {\n COMPETENCIES = 'competencies_v5',\n RETIRED = 'Retired',\n }\n\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { IUserGroupDetails } from '../_models/widget-user.model';\nimport { NsContent } from '../_models/widget-content.model';\nimport 'rxjs/add/observable/of'\nimport * as dayjs_ from 'dayjs';\nconst dayjs = dayjs_\n// import { environment } from 'src/environments/environment'\nimport { NsCardContent } from '../_models/card-content-v2.model';\nimport * as lodash from 'lodash';\n\n\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\nconst API_END_POINTS = {\n FETCH_USER_GROUPS: (userId: string) =>\n `${PROTECTED_SLAG_V8}/user/group/fetchUserGroup?userId=${userId}`,\n FETCH_CPB_PLANS: `/apis/proxies/v8/user/v1/cbplan`,\n FETCH_USER_ENROLLMENT_LIST: (userId: string | undefined) =>\n // tslint:disable-next-line: max-line-length\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes`,\n FETCH_USER_ENROLLMENT_LIST_PROFILE: (userId: string | undefined) =>\n // tslint:disable-next-line: max-line-length\n `/apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=orgName,email&licenseDetails=name,description,url&fields=contentType,primaryCategory,courseCategory,topic,name,channel,mimeType,appIcon,gradeLevel,resourceType,identifier,medium,pkgVersion,board,subject,trackable,posterImage,duration,creatorLogo,license,version,versionKey,avgRating,additionalTags,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=name,endDate,startDate,status,enrollmentType,createdBy,certificates,batchAttributes&retiredCoursesEnabled=true`,\n // tslint:disable-next-line: max-line-length\n FETCH_USER_ENROLLMENT_LIST_V2: (userId: string | undefined, orgdetails: string, licenseDetails: string, fields: string, batchDetails: string) =>\n // tslint:disable-next-line: max-line-length\n `apis/proxies/v8/learner/course/v2/user/enrollment/list/${userId}?orgdetails=${orgdetails}&licenseDetails=${licenseDetails}&fields=${fields},courseCategory,${NsCardContent.IGOTConst.COMPETENCIES}&batchDetails=${batchDetails}`,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetUserServiceLib {\n environment: any;\n constructor(\n @Inject('environment') environment: any,\n private http: HttpClient) {\n this.environment = environment;\n }\n\n handleError(error: ErrorEvent) {\n let errorMessage = ''\n if (error.error instanceof ErrorEvent) {\n errorMessage = `Error: ${error.error.message}`\n }\n return throwError(errorMessage)\n }\n\n fetchUserGroupDetails(userId: string): Observable<IUserGroupDetails[]> {\n return this.http\n .get<IUserGroupDetails[]>(API_END_POINTS.FETCH_USER_GROUPS(userId))\n .pipe(catchError(this.handleError))\n }\n // tslint:disable-next-line: max-line-length\n fetchUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\n let path = ''\n if (queryParams) {\n // tslint:disable-next-line: max-line-length\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\n } else {\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST(userId)\n }\n const headers = new HttpHeaders({\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n Pragma: 'no-cache',\n Expires: '0',\n })\n const result: any = this.http.get(path, { headers }).pipe(catchError(this.handleError), map( \n (data: any) => {\n const coursesData: any = []\n if (data && data.result && data.result.courses) {\n data.result.courses.forEach((content: any) => {\n if (content.contentStatus) {\n delete content.contentStatus\n }\n coursesData.push(content)\n })\n this.storeUserEnrollmentInfo(data.result.userCourseEnrolmentInfo,\n data.result.courses.length)\n data.result.courses = coursesData\n }\n return data.result\n }\n )\n )\n return result\n }\n\n // tslint:disable-next-line: max-line-length\n fetchProfileUserBatchList(userId: string | undefined, queryParams?: { orgdetails: any, licenseDetails: any, fields: any, batchDetails: any }): Observable<NsContent.ICourse[]> {\n let path = ''\n if (queryParams) {\n // tslint:disable-next-line: max-line-length\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_V2(userId, queryParams.orgdetails, queryParams.licenseDetails, queryParams.fields, queryParams.batchDetails)\n } else {\n path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST_PROFILE(userId)\n }\n const headers = new HttpHeaders({\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n Pragma: 'no-cache',\n Expires: '0',\n })\n return this.http\n .get(path, { headers })\n .pipe(\n catchError(this.handleError),\n map(\n (data: any) => data.result\n )\n )\n }\n\n checkStorageData(key: any, dataKey: any) {\n const checkTime = localStorage.getItem('timeCheck')\n if (checkTime) {\n const parsedData = JSON.parse(checkTime)\n if (parsedData[key]) {\n const date = dayjs()\n const diffMin = date.diff(parsedData[key], 'minute')\n const timeCheck = this.environment.apiCache || 0\n if (diffMin >= timeCheck) {\n return true\n }\n return localStorage.getItem(dataKey) ? false : true\n }\n return true\n }\n return true\n }\n\n getData(key: any): Observable<any> {\n return Observable.of(JSON.parse(localStorage.getItem(key) || '{}'))\n }\n getSavedData(key: any): Observable<any> {\n return JSON.parse(localStorage.getItem(key) || '')\n }\n\n setTime(key: any) {\n const checkTime = localStorage.getItem('timeCheck')\n if (checkTime) {\n const parsedData = JSON.parse(checkTime)\n parsedData[key] = new Date().getTime()\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\n } else {\n const data: any = {}\n data[key] = new Date().getTime()\n localStorage.setItem('timeCheck', JSON.stringify(data))\n }\n }\n\n resetTime(key: any) {\n const checkTime = localStorage.getItem('timeCheck')\n if (checkTime) {\n const parsedData = JSON.parse(checkTime)\n if (parsedData[key]) {\n delete parsedData[key]\n localStorage.setItem('timeCheck', JSON.stringify(parsedData))\n }\n }\n }\n\n fetchCbpPlanList(userId: string) {\n if (this.checkStorageData('cbpService', 'cbpData')) {\n const result: any = this.http.get(API_END_POINTS.FETCH_CPB_PLANS).pipe(catchError(this.handleError), map(\n async (data: any) => {\n if(data.result && data.result.content && data.result.content.length) {\n let cbpData: any = this.getCbpFormatedData(data.result.content)\n let cbpDoIds = cbpData.contentIds.join(',')\n let cbpContentData: any = cbpData.cbpContentData || []\n const responseData = await this.fetchEnrollmentDataByContentId(userId,cbpDoIds).toPromise().then(async (res: any) => {\n const enrollData: any = {}\n if (res && res.courses && res.courses.length) {\n res.courses.forEach((data: any) => {\n enrollData[data.collectionId] = data\n })\n return enrollData\n } else {\n return {}\n }\n }).catch((_err: any) => {\n return {}\n });\n return await this.mapCbpData(cbpContentData, responseData)\n }\n }\n )\n )\n this.setTime('cbpService')\n return result\n }\n return this.getData('cbpData')\n }\n\n storeUserEnrollmentInfo(enrollmentData: any, enrolledCourseCount: number) {\n const userData = {\n enrolledCourseCount,\n userCourseEnrolmentInfo: enrollmentData,\n }\n localStorage.removeItem('userEnrollmentCount')\n localStorage.setItem('userEnrollmentCount', JSON.stringify(userData))\n }\n\n\n fetchEnrollmentDataByContentId(userId, contentdata) {\n let path = API_END_POINTS.FETCH_USER_ENROLLMENT_LIST(userId)\n path = `${path}&courseIds=${contentdata}&cache=false'`\n const headers = new HttpHeaders({\n 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n Pragma: 'no-cache',\n Expires: '0',\n })\n return this.http\n .get(path, { headers })\n .pipe(\n catchError(this.handleError),\n map(\n (data: any) => data.result\n )\n )\n }\n\n getCbpFormatedData(cbpContent: any) {\n let cbpContentData = []\n let contentIds = []\n const todayDate = dayjs().format('YYYY-MM-DD')\n cbpContent.forEach((c: any) => {\n c.contentList.forEach((childData: any) => {\n const endDate = dayjs(c.endDate).format('YYYY-MM-DD')\n const daysCount = dayjs(endDate).diff(todayDate, 'day')\n childData['planDuration'] = daysCount < 0 ? NsCardContent.ACBPConst.OVERDUE : daysCount > 29\n ? NsCardContent.ACBPConst.SUCCESS : NsCardContent.ACBPConst.UPCOMING\n childData['endDate'] = c.endDate\n childData['parentId'] = c.id\n childData['planType'] = 'cbPlan'\n childData['contentStatus'] = 0\n contentIds.push(childData.identifier)\n if (childData.status !== NsCardContent.IGOTConst.RETIRED) {\n cbpContentData.push(childData)\n }\n })\n })\n return {cbpContentData,contentIds}\n }\n async mapCbpData(cbpContent: any, enrollmentData: any){\n let cbpFilteredContent: any = []\n if(cbpContent && cbpContent.length) {\n if(Object.keys(enrollmentData).length) {\n cbpContent.forEach((cbp: any) => {\n const childEnrollData = enrollmentData[cbp.identifier]\n\n const competencyArea: any = []\n const competencyTheme: any = []\n const competencyThemeType: any = []\n const competencySubTheme: any = []\n const competencyAreaId: any = []\n const competencyThemeId: any = []\n const competencySubThemeId: any = []\n cbp['contentStatus'] = 0\n if (childEnrollData) {\n cbp['contentStatus'] = childEnrollData.status\n }\n if (cbp.competencies_v5) {\n cbp.competencies_v5.forEach((element: any) => {\n if (!competencyArea.includes(element.competencyArea)) {\n competencyArea.push(element.competencyArea)\n competencyAreaId.push(element.competencyAreaId)\n }\n if (!competencyTheme.includes(element.competencyTheme)) {\n competencyTheme.push(element.competencyTheme)\n competencyThemeId.push(element.competencyThemeId)\n }\n if (!competencyThemeType.includes(element.competencyThemeType)) {\n competencyThemeType.push(element.competencyThemeType)\n }\n if (!competencySubTheme.includes(element.competencySubTheme)) {\n competencySubTheme.push(element.competencySubTheme)\n competencySubThemeId.push(element.competencySubThemeId)\n }\n })\n }\n\n cbp['competencyArea'] = competencyArea\n cbp['competencyTheme'] = competencyTheme\n cbp['competencyThemeType'] = competencyThemeType\n cbp['competencySubTheme'] = competencySubTheme\n cbp['competencyAreaId'] = competencyAreaId\n cbp['competencyThemeId'] = competencyThemeId\n cbp['competencySubThemeId'] = competencySubThemeId\n if (cbp.status !== NsCardContent.IGOTConst.RETIRED) {\n cbpFilteredContent.push(cbp)\n } else {\n if (childEnrollData && childEnrollData.status === 2) {\n cbpFilteredContent.push(cbp)\n }\n }\n });\n if (cbpFilteredContent.length > 1) {\n const sortedData: any = cbpFilteredContent.sort((a: any, b: any) => {\n const firstDate: any = new Date(a.endDate)\n const secondDate: any = new Date(b.endDate)\n\n return secondDate > firstDate ? 1 : -1\n })\n const uniqueUsersByID = lodash.uniqBy(sortedData, 'identifier')\n const sortedByEndDate = lodash.orderBy(uniqueUsersByID, ['endDate'], ['asc'])\n const sortedByStatus = lodash.orderBy(sortedByEndDate, ['contentStatus'], ['asc'])\n localStorage.setItem('cbpData', JSON.stringify(sortedByStatus))\n return sortedByStatus\n }\n localStorage.setItem('cbpData', JSON.stringify(cbpFilteredContent))\n return cbpFilteredContent\n }\n localStorage.setItem('cbpData', JSON.stringify(cbpContent))\n return cbpContent\n }\n localStorage.setItem('cbpData', JSON.stringify([]))\n return []\n }\n mapEnrollmentData(courseData: any) {\n const enrollData: any = {}\n if (courseData && courseData.courses.length) {\n courseData.courses.forEach((data: any) => {\n enrollData[data.collectionId] = data\n })\n }\n return enrollData\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConfigurationsService } from '@sunbird-cb/utils-v2';\nimport { Observable, of, EMPTY, BehaviorSubject, Subject } from 'rxjs';\nimport { catchError, retry, map, shareReplay } from 'rxjs/operators';\nimport { NsContentStripMultiple } from '../_models/content-strip-multiple.model';\nimport { NsContent } from '../_models/widget-content.model';\nimport { NSSearch } from '../_models/widget-search.model';\n// tslint:disable\nimport * as _ from 'lodash'\nimport { viewerRouteGenerator } from './viewer-route-util'\nimport {WidgetUserServiceLib} from './widget-user-lib.service'\nimport * as moment_ from 'moment';\nconst moment = moment_;\n// tslint:enable\n\n// TODO: move this in some common place\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8';\n\nconst API_END_POINTS = {\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\n AUTHORING_CONTENT: `/api/course/v1/hierarchy`,\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\n CONTENT_SEARCH_V6: `/apis/proxies/v8/sunbirdigot/search`,\n TRENDING_CONTENT_SEARCH: `apis/proxies/v8/trending/content/search`,\n CONTENT_SEARCH_RELATED_CBP_V6: `/apis/proxies/v8/sunbirdigot/search`,\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\n CONTENT_HISTORYV2: `/apis/proxies/v8/read/content-progres`,\n COURSE_BATCH_LIST: `/apis/proxies/v8/learner/course/v1/batch/list`,\n COURSE_BATCH: `/apis/proxies/v8/course/v1/batch/read`,\n AUTO_ASSIGN_BATCH: `/apis/protected/v8/cohorts/user/autoenrollment/`,\n AUTO_ASSIGN_CURATED_BATCH: `/apis/proxies/v8/curatedprogram/v1/enrol`,\n AUTO_ASSIGN_OPEN_PROGRAM: `/apis/proxies/v8/openprogram/v1/enrol`,\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\n COLLECTION_HIERARCHY: (type: string, id: string) =>\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\n ENROLL_BATCH: `/apis/proxies/v8/learner/course/v1/enrol`,\n ENROLL_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/enrol`,\n WITHDRAW_BATCH_WF: `/apis/proxies/v8/workflow/blendedprogram/unenrol`,\n BLENDED_USER_WF: `/apis/proxies/v8/workflow/blendedprogram/user/search`,\n BLENDED_USER_COUNT: `apis/proxies/v8/workflow/blendedprogram/enrol/status/count`,\n CERT_ADD_TEMPLATE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/template/add`,\n CERT_ISSUE: `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/issue`,\n CERT_DOWNLOAD: (certId: any) => `${PROTECTED_SLAG_V8}/cohorts/course/batch/cert/download/${certId}`,\n READ_KARMAPOINTS: `/apis/proxies/v8/karmapoints/read`,\n CONTENT_READ: (contentId: any) => `/apis/proxies/v8/action/content/v3/read/${contentId}`,\n READ_COURSE_KARMAPOINTS: '/apis/proxies/v8/karmapoints/user/course/read',\n CLAIM_KARMAPOINTS: '/apis/proxies/v8/claimkarmapoints',\n USER_KARMA_POINTS: '/apis/proxies/v8/user/totalkarmapoints',\n AGGREGATION_SEARCH: '/apis/proxies/v8/content/aggregation/search',\n FEATURE_SEARCH: '/apis/proxies/v8/featured/content/search',\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetContentLibService {\n constructor(\n private http: HttpClient,\n private configSvc: ConfigurationsService,\n private userSvc: WidgetUserServiceLib\n ) {\n }\n\n tocConfigData: any = new BehaviorSubject<any>({});\n tocConfigData$ = this.tocConfigData.asObservable();\n\n private telemetryData: any = new Subject<any>()\n public telemetryData$ = this.telemetryData.asObservable()\n currentMetaData!: NsContent.IContent;\n currentContentReadMetaData!: NsContent.IContent;\n currentBatchEnrollmentList!: NsContent.ICourse[];\n programChildCourseResumeData = new BehaviorSubject<any>({});\n programChildCourseResumeData$ = this.programChildCourseResumeData.asObservable();\n\n changeTelemetryData(message: string) {\n this.telemetryData.next(message);\n }\n isResource(primaryCategory: string) {\n if (primaryCategory) {\n const isResource = (primaryCategory === NsContent.EResourcePrimaryCategories.LEARNING_RESOURCE) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.PRACTICE_RESOURCE) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.FINAL_ASSESSMENT) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.COMP_ASSESSMENT) ||\n (primaryCategory === NsContent.EResourcePrimaryCategories.OFFLINE_SESSION);\n return isResource;\n }\n return false;\n }\n\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\n // tslint:disable-next-line\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\n // return this.http.get(url).toPromise()\n if (url) { }\n return of().toPromise();\n }\n\n updateTocConfig(data: any) {\n this.tocConfigData.next(data);\n }\n\n fetchContent(\n contentId: string,\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\n _additionalFields: string[] = [],\n primaryCategory?: string | null,\n ): Observable<NsContent.IContent> {\n // const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\n let url = '';\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\n if (primaryCategory && this.isResource(primaryCategory)) {\n if (!forPreview) {\n url = `/apis/proxies/v8/action/content/v3/read/${contentId}`;\n } else {\n url = `/api/content/v1/read/${contentId}`;\n }\n } else {\n if (!forPreview) {\n url = `/apis/proxies/v8/action/content/v3/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\n } else {\n const forcreator = window.location.href.includes('editMode=true');\n if (forcreator) {\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\n } else {\n url = `/api/course/v1/hierarchy/${contentId}?hierarchyType=${hierarchyType}`;\n }\n }\n }\n // return this.http\n // .post<NsContent.IContent>(url, { additionalFields })\n // .pipe(retry(1))\n return this.http\n .get<NsContent.IContent>(url)\n .pipe(shareReplay(1));\n // if (apiData && apiData.result) {\n // return apiData.result.content\n // }\n }\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\n const forcreator = window.location.href.includes('editMode=true');\n let url = '';\n if (forcreator) {\n url = `apis/proxies/v8/action/content/v3/hierarchy/${contentId}?mode=edit`;\n } else {\n url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}?hierarchyType=detail`;\n }\n return this.http.get<NsContent.IContent>(url).pipe(shareReplay(1), r => r);\n }\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\n return this.http.get<NsContent.IContent[]>(\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\n );\n }\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\n `${API_END_POINTS.COLLECTION_HIERARCHY(\n type,\n id,\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\n );\n }\n\n fetchBlendedCourse() {\n\n }\n\n fetchCourseBatches(req: any): Observable<NsContent.IBatchListResponse> {\n return this.http\n .post<NsContent.IBatchListResponse>(API_END_POINTS.COURSE_BATCH_LIST, req)\n .pipe(\n retry(1),\n map(\n (data: any) => data.result.response\n )\n );\n }\n\n // fetch individual batch\n fetchCourseBatch(batchId: string): Observable<NsContent.IContinueLearningData> {\n return this.http.get<NsContent.IContinueLearningData>(\n `${API_END_POINTS.COURSE_BATCH}/${batchId}`,\n );\n }\n\n autoAssignBatchApi(identifier: any): Observable<NsContent.IBatchListResponse> {\n return this.http.get<NsContent.IBatchListResponse>(`${API_END_POINTS.AUTO_ASSIGN_BATCH}${identifier}`)\n .pipe(\n retry(1),\n map(\n (data: any) => data.result.response\n )\n );\n }\n\n autoAssignCuratedBatchApi(request: any, programType: any): Observable<NsContent.IBatchListResponse> {\n const url = programType === NsContent.ECourseCategory.MODERATED_PROGRAM ?\n API_END_POINTS.AUTO_ASSIGN_OPEN_PROGRAM : API_END_POINTS.AUTO_ASSIGN_CURATED_BATCH;\n return this.http.post<NsContent.IBatchListResponse>(`${url}`, request)\n .pipe(\n retry(1),\n map(\n (data: any) => data.result.response\n )\n );\n }\n\n enrollUserToBatch(req: any) {\n return this.http\n .post(API_END_POINTS.ENROLL_BATCH, req)\n .toPromise();\n }\n\n enrollAndUnenrollUserToBatchWF(req: any, type: any) {\n const url: any = type === 'WITHDRAW' ? API_END_POINTS.WITHDRAW_BATCH_WF : API_END_POINTS.ENROLL_BATCH_WF;\n return this.http\n .post(url, req)\n .toPromise();\n }\n\n fetchBlendedUserWF(req: any) {\n return this.http\n .post(API_END_POINTS.BLENDED_USER_WF, req)\n .toPromise();\n }\n\n fetchBlendedUserCOUNT(req: any) {\n return this.http\n .post(API_END_POINTS.BLENDED_USER_COUNT, req)\n .toPromise();\n }\n\n fetchContentLikes(contentIds: { content_id: string[] }) {\n return this.http\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\n .toPromise();\n }\n fetchContentRatings(contentIds: { contentIds: string[] }) {\n if (contentIds) { }\n // return this.http\n // .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\n // .toPromise()\n return of().toPromise();\n }\n\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\n return this.http.get<NsContent.IContinueLearningData>(\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\n );\n }\n\n fetchContentHistoryV2(req: NsContent.IContinueLearningDataReq): Observable<NsContent.IContinueLearningData> {\n req.request.fields = ['progressdetails'];\n const data = this.http.post<NsContent.IContinueLearningData>(\n `${API_END_POINTS.CONTENT_HISTORYV2}/${req.request.courseId}`, req\n );\n data.subscribe((subscribeData: any) => {\n this.programChildCourseResumeData.next({ resumeData: subscribeData.result.contentList, courseId: req.request.courseId });\n });\n return data;\n }\n\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\n return new Promise(async resolve => {\n if (collectionType &&\n collectionType.toLowerCase() === 'playlist') {\n const reqBody = {\n contextPathId: collectionId ? collectionId : id,\n resourceId: id,\n data: JSON.stringify({\n timestamp: Date.now(),\n contextFullPath: [collectionId, id],\n }),\n dateAccessed: Date.now(),\n contextType: 'playlist',\n };\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\n resolve(true);\n }\n );\n } else {\n const reqBody = {\n contextPathId: collectionId ? collectionId : id,\n resourceId: id,\n data: JSON.stringify({ timestamp: Date.now() }),\n dateAccessed: Date.now(),\n };\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\n resolve(true);\n });\n }\n });\n }\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\n // const url = API_END_POINTS.USER_CONTINUE_LEARNING\n // return this.http.post<any>(url, content)\n if (content) {\n\n }\n return of() as any;\n }\n\n setS3Cookie(\n _contentId: string,\n // _path: string,\n ): Observable<any> {\n // return this.http\n // .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\n // .pipe(catchError(_err => of(true)))\n\n return EMPTY;\n }\n\n setS3ImageCookie(): Observable<any> {\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)));\n }\n\n fetchManifest(url: string): Observable<any> {\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });\n }\n fetchWebModuleContent(url: string): Observable<any> {\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);\n }\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\n req.query = req.query || '';\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\n request: req,\n });\n }\n searchRegionRecommendation(\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\n req.query = req.query || '';\n req.preLabelValue =\n (req.preLabelValue || '') +\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');\n req.filters = {\n ...req.filters,\n labels: [req.preLabelValue || ''],\n };\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\n { request: req },\n );\n }\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResultV2> {\n const apiPath = _.get(req, 'api.path');\n req.query = req.query || '';\n if (apiPath) {\n return this.http.get<NSSearch.ISearchV6ApiResultV2>(apiPath);\n }\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_V6, req);\n }\n\n searchRelatedCBPV6(req: NSSearch.ISearchV6RequestV2): Observable<NSSearch.ISearchV6ApiResultV2> {\n return this.http.post<NSSearch.ISearchV6ApiResultV2>(API_END_POINTS.CONTENT_SEARCH_RELATED_CBP_V6, req);\n }\n\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\n }\n deleteContentRating(contentId: string): Observable<any> {\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);\n }\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);\n }\n\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\n if (!(content.children || []).length) {\n return content;\n }\n if (\n (content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM &&\n !(content.artifactUrl && content.artifactUrl.length)) ||\n content.primaryCategory === NsContent.EPrimaryCategory.MANDATORY_COURSE_GOAL ||\n (content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM &&\n !(content.artifactUrl && content.artifactUrl.length)) ||\n (content.primaryCategory === NsContent.EPrimaryCategory.MODULE &&\n !(content.artifactUrl && content.artifactUrl.length))\n ) {\n const child = content.children[0];\n return this.getFirstChildInHierarchy(child);\n }\n if (\n content.primaryCategory === NsContent.EPrimaryCategory.RESOURCE ||\n content.primaryCategory === NsContent.EPrimaryCategory.KNOWLEDGE_ARTIFACT ||\n content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM ||\n content.primaryCategory === NsContent.EPrimaryCategory.PRACTICE_RESOURCE ||\n content.primaryCategory === NsContent.EPrimaryCategory.FINAL_ASSESSMENT ||\n content.primaryCategory === NsContent.EPrimaryCategory.COMP_ASSESSMENT ||\n content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\n content.primaryCategory === NsContent.EPrimaryCategory.OFFLINE_SESSION\n ) {\n return content;\n }\n const firstChild = content.children[0];\n const resultContent = this.getFirstChildInHierarchy(firstChild);\n return resultContent;\n }\n\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();\n }\n\n fetchConfig(url: string) {\n return this.http.get<any>(url);\n }\n\n addCertTemplate(body: any) {\n return this.http.patch<any>(`${API_END_POINTS.CERT_ADD_TEMPLATE}`, body);\n }\n\n issueCert(body: any) {\n return this.http.post<any>(`${API_END_POINTS.CERT_ISSUE}`, body);\n }\n downloadCert(certId: any) {\n return this.http.get<any>(`${API_END_POINTS.CERT_DOWNLOAD(certId)}`);\n }\n\n trendingContentSearch(req: any): Observable<any> {\n req.query = req.query || '';\n return this.http.post<any>(API_END_POINTS.TRENDING_CONTENT_SEARCH, req);\n }\n\n getKarmaPoitns(limit: number, offset: any) {\n return this.http.post(API_END_POINTS.READ_KARMAPOINTS, { limit, offset }).pipe(catchError(_err => of(true)));\n }\n fetchProgramContent(contentId: string[]): Observable<NsContent.IContent[]> {\n let url = '';\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');\n if (!forPreview) {\n return this.http.get<NsContent.IContent[]>(\n API_END_POINTS.CONTENT_READ(contentId),\n );\n }\n url = `/api/content/v1/read/${contentId}`;\n return this.http.get<NsContent.IContent[]>(url);\n // return this.http.get<NsContent.IContent[]>(API_END_POINTS.CONTENT_READ(contentId))\n }\n\n getCourseKarmaPoints(request: any) {\n return this.http.post<any>(API_END_POINTS.READ_COURSE_KARMAPOINTS, request);\n }\n\n claimKarmapoints(request: any) {\n return this.http.post<any>(API_END_POINTS.CLAIM_KARMAPOINTS, request);\n }\n\n userKarmaPoints() {\n return this.http.post<any>(API_END_POINTS.USER_KARMA_POINTS, {});\n }\n\n async getEnrolledData(doId: string) {\n let userId = this.configSvc.userProfile.userId\n const responseData = await this.userSvc.fetchEnrollmentDataByContentId(userId,doId).toPromise().then(async (res: any) => {\n if (res && res.courses && res.courses.length) {\n return res.courses\n } else {\n return []\n }\n }).catch((_err: any) => {\n return []\n });\n return responseData || []\n }\n\n async getResourseLink(content: any) {\n const enrolledCourse: any = await this.getEnrolledData(content.identifier);\n if (enrolledCourse && enrolledCourse.length) {\n const enrolledCourseData = enrolledCourse[0]\n if (enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.BLENDED_PROGRAM ||\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.INVITE_ONLY_PROGRAM ||\n enrolledCourseData.content.courseCategory === NsContent.ECourseCategory.MODERATED_PROGRAM ||\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.BLENDED_PROGRAM ||\n enrolledCourseData.content.primaryCategory === NsContent.EPrimaryCategory.PROGRAM) {\n if (!this.isBatchInProgress(enrolledCourseData.batch)) {\n return this.gotoTocPage(content);\n }\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\n return data;\n } {\n const data = await this.checkForDataToFormUrl(content, enrolledCourseData);\n return data;\n }\n }\n return this.gotoTocPage(content);\n }\n async checkForDataToFormUrl(content: any, enrollData: any) {\n let urlData: any;\n if (enrollData.completionPercentage === 100) {\n return this.gotoTocPage(enrollData);\n }\n if (enrollData.lrcProgressDetails && enrollData.lrcProgressDetails.mimeType) {\n const modifyEnrollData = {\n ...enrollData,\n identifier: enrollData.collectionId,\n primaryCategory: enrollData.content.primaryCategory,\n name: enrollData.content.name,\n };\n if (modifyEnrollData.lastReadContentId) {\n return this.getResourseDataWithData(modifyEnrollData,\n enrollData.lastReadContentId, enrollData.lrcProgressDetails.mimeType);\n }\n if (modifyEnrollData.firstChildId) {\n return this.getResourseDataWithData(modifyEnrollData,\n enrollData.firstChildId,\n enrollData.lrcProgressDetails.mimeType);\n }\n }\n if (enrollData.firstChildId || enrollData.lastReadContentId) {\n const doId = enrollData.firstChildId || enrollData.lastReadContentId;\n const responseData = await this.fetchProgramContent(doId).toPromise().then(async (res: any) => {\n if (res && res.result && res.result.content) {\n const contentData: any = res.result.content;\n const modifyEnrollData = {\n ...enrollData,\n identifier: enrollData.collectionId,\n primaryCategory: enrollData.content.primaryCategory,\n name: enrollData.content.name,\n };\n urlData = this.getResourseDataWithData(modifyEnrollData, contentData.identifier, contentData.mimeType);\n if (urlData) {\n return urlData;\n }\n }\n });\n return responseData ? responseData : this.gotoTocPage(content);\n }\n return this.gotoTocPage(content);\n\n }\n\n getResourseDataWithData(content: any, resourseId: any, mimeType: any) {\n if (content) {\n const url = viewerRouteGenerator(\n resourseId,\n mimeType,\n content.identifier,\n 'Course',\n false,\n 'Learning Resource',\n content.batchId,\n content.name,\n );\n return url;\n }\n return this.gotoTocPage(content);\n }\n gotoTocPage(content: any) {\n const urlData: any = {\n url: `/app/toc/${content.identifier ? content.identifier : content.collectionId}/overview`,\n queryParams: { batchId: content.batchId },\n };\n if (content.endDate) {\n urlData.queryParams = { ...urlData.queryParams, planType: 'cbPlan', endDate: content.endDate };\n }\n return urlData;\n }\n isBatchInProgress(batchData: any) {\n // if (this.content && this.content['batches']) {\n // const batches = this.content['batches'] as NsContent.IBatch\n if (batchData && batchData.endDate) {\n const now = moment().format('YYYY-MM-DD');\n const startDate = moment(batchData.startDate).format('YYYY-MM-DD');\n const endDate = batchData.endDate ? moment(batchData.endDate).format('YYYY-MM-DD') : now;\n return (\n // batch.status &&\n moment(startDate).isSameOrBefore(now)\n && moment(endDate).isSameOrAfter(now)\n );\n } return true;\n }\n postApiMethod(apiUrl: any, req: any): Observable<NsContent.IContent> {\n return this.http.post<NsContent.IContent>(apiUrl, req);\n }\n getApiMethod(apiUrl: any): Observable<NsContent.IContent> {\n // req.query = req.query || '';\n return this.http.get<NsContent.IContent>(apiUrl);\n }\n\n\n getEnrolledDataFromList(enrollmentList: any, collectionId: string) {\n if(enrollmentList && enrollmentList.length) {\n let enrolledData = enrollmentList.filter((ele: any) => ele.collectionId === collectionId)\n return enrolledData.length ? enrolledData[0]: {}\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\nimport { IPortalUrls, IUserPreference, NsAppsConfig, NsInstanceConfig, NsPage, NsUser } from '@sunbird-cb/utils-v2';\nimport { NSProfileDataV3 } from '../_models/profile-v3.models';\n// const instanceConfigPath: string | null = window.location.host\n// const locationHost: string | null = window.location.host\n\n// if (!environment.production && Boolean(environment.sitePath)) {\n// locationHost = environment.sitePath\n// instanceConfigPath = environment.sitePath\n// }\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationsService {\n // update as the single source of truth\n constructor() {\n // @Inject('env') env: any\n // if (!env.production && Boolean(env.sitePath)) {\n // locationHost = env.sitePath\n // instanceConfigPath = env.sitePath\n // }\n }\n appSetup = true;\n // The url the user tried to access while landing in the app before accepting tnc\n userUrl = '';\n baseUrl = `assets/configurations`;\n sitePath = `assets/configurations`;\n hostPath = (window.location.host).replace(':', '_');\n\n userRoles: Set<string> | null = null;\n userGroups: Set<string> | null = null;\n restrictedFeatures: Set<string> | null = null;\n restrictedWidgets: Set<string> | null = null;\n instanceConfig: NsInstanceConfig.IConfig | null = null;\n appsConfig: NsAppsConfig.IAppsConfig | null = null;\n rootOrg: string | null = null;\n courseContentPath?: string;\n org: string[] | null = null;\n activeOrg: string | null = '';\n isProduction = false;\n hasAcceptedTnc = false;\n profileDetailsStatus = false;\n isActive = true;\n userPreference: IUserPreference | null = null;\n userProfile: NsUser.IUserProfile | null = null;\n userProfileV2: NsUser.IUserProfile | null = null;\n nodebbUserProfile: NsUser.INodebbUserProfile | null = null;\n // created to store complete user details sent by pid\n unMappedUser: any;\n isAuthenticated = false;\n isNewUser = false;\n portalUrls: IPortalUrls | undefined;\n positions: any;\n overrideThemeChanges: any;\n profileTimelyNudges: any;\n\n // pinnedApps\n pinnedApps = new BehaviorSubject<Set<string>>(new Set());\n\n // Notifier\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1);\n tourGuideNotifier = new ReplaySubject<boolean>();\n authChangeNotifier = new ReplaySubject<boolean>(1);\n\n private updateProfile = new BehaviorSubject(false);\n updateProfileObservable = this.updateProfile.asObservable();\n\n updateTourGuide = new BehaviorSubject(true);\n updateTourGuideObservable = this.updateTourGuide.asObservable();\n\n // platform rating\n updatePlatformRating = new BehaviorSubject({ bottom: '120px' });\n updatePlatformRatingObservable$ = this.updatePlatformRating.asObservable();\n\n languageTranslationFlag = new Subject();\n\n // Preference Related Values\n activeThemeObject: NsInstanceConfig.ITheme | null = null;\n activeFontObject: NsInstanceConfig.IFontSize | null = null;\n isDarkMode = false;\n isIntranetAllowed = false;\n isRTL = false;\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null;\n activeLocaleGroup = '';\n completedActivity: string[] | null = null;\n completedTour = false;\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints'];\n\n primaryNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n };\n pageNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n };\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null;\n /* for temp Fix */\n // setBaseUrl = (sitePath: string) => `assets/configurations/${(sitePath).replace(':', '_')}`\n // setSitePath = (sitePath: string) => `assets/configurations/${(sitePath).replace(\n // ':',\n // '_',\n // )}`\n // setHostPath = (sitePath: string) => (sitePath).replace(':', '_')\n welcomeTabs: NSProfileDataV3.IProfileTab | null = null;\n\n // variable setting for csJwtToken\n cstoken = '';\n\n changeNavBarFullView = new Subject();\n openExploreMenuForMWeb = new Subject();\n updateGlobalProfile(state: boolean) {\n this.updateProfile.next(state);\n }\n updateTourGuideMethod(state: boolean) {\n this.updateTourGuide.next(state);\n }\n\n updatePlatformRatingMethod(state: any) {\n this.updatePlatformRating.next(state);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ConfigurationsService } from './configurations.service';\n\n@Injectable({\n providedIn: 'root',\n})\n\nexport class MultilingualTranslationsService {\n selectedLang = '';\n // website lang change\n languageSelected = new BehaviorSubject(true);\n languageSelectedObservable = this.languageSelected.asObservable();\n editProfileDetails = '/apis/proxies/v8/user/v1/extPatch';\n\n constructor(private translate: TranslateService, private http: HttpClient, private configSvc: ConfigurationsService) {\n // this.getLanguage()\n }\n\n getLanguage() {\n if (this.configSvc.unMappedUser) {\n if (this.configSvc.unMappedUser.profileDetails &&\n this.configSvc.unMappedUser.profileDetails.additionalProperties &&\n this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang) {\n const lang = this.configSvc.unMappedUser.profileDetails.additionalProperties.webPortalLang;\n this.translate.use(lang);\n localStorage.setItem('websiteLanguage', lang);\n } else {\n if (localStorage.getItem('websiteLanguage')) {\n // this.translate.setDefaultLang('en')\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n } else {\n this.translate.setDefaultLang('en');\n localStorage.setItem('websiteLanguage', 'en');\n }\n }\n } else {\n if (localStorage.getItem('websiteLanguage')) {\n // this.translate.setDefaultLang('en')\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n }\n }\n\n translateLabelWithoutspace(label: string, type: any, subtype: any) {\n let nlabel = label;\n nlabel = nlabel && nlabel.replace(/\\s/g, '');\n if (subtype) {\n // tslint:disable-next-line: prefer-template\n const translationKey = type + '.' + nlabel + subtype;\n return this.translate.instant(translationKey);\n }\n // tslint:disable-next-line: prefer-template\n const translationKeyn = type + '.' + nlabel;\n return this.translate.instant(translationKeyn);\n }\n\n translateLabel(label: string, type: any, subtype: any) {\n if(label) {\n let nlabel = label;\n \n \n nlabel = nlabel && nlabel.toLowerCase() ;\n const sl = nlabel.split(' ');\n sl.forEach((w: any, index: any) => {\n if (index !== 0) {\n sl[index] = w[0].toUpperCase() + w.slice(1);\n }\n });\n nlabel = sl.join('');\n nlabel = nlabel.replace(/\\s/g, '');\n if (subtype) {\n // tslint:disable-next-line: prefer-template\n const translationKey = type + '.' + nlabel + subtype;\n return this.translate.instant(translationKey);\n }\n // tslint:disable-next-line: prefer-template\n const translationKeyn = type + '.' + nlabel;\n return this.translate.instant(translationKeyn);\n } \n return label\n }\n\n translateActualLabel(label: string, type: any, subtype: any) {\n let nlabel = label;\n const sl = nlabel.split(' ');\n sl.forEach((w: any, index: any) => {\n if (index !== 0) {\n sl[index] = w[0].toUpperCase() + w.slice(1);\n }\n });\n nlabel = sl.join('');\n nlabel = nlabel.replace(/\\s/g, '');\n if (subtype) {\n // tslint:disable-next-line: prefer-template\n const translationKey = type + '.' + nlabel + subtype;\n return this.translate.instant(translationKey);\n }\n // tslint:disable-next-line: prefer-template\n const translationKeyn = type + '.' + nlabel;\n return this.translate.instant(translationKeyn);\n }\n\n editProfileDetailsAPI(data: any) {\n return this.http.post<any>(this.editProfileDetails, data);\n }\n\n updatelanguageSelected(state: any, lang: any, userid: any) {\n this.languageSelected.next(state);\n this.translate.use(lang);\n this.selectedLang = lang;\n\n if (userid) {\n const reqUpdates = {\n request: {\n userId: userid,\n profileDetails: {\n additionalProperties: {\n webPortalLang: this.selectedLang,\n },\n },\n },\n };\n this.editProfileDetailsAPI(reqUpdates).subscribe();\n }\n }\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsContentStripWithTabs } from './content-strip-with-tabs-lib.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { NsContent } from '../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n WsEvents,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NsCardContent } from '../../_models/card-content-v2.model';\nimport { ITodayEvents } from '../../_models/event';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\ninterface IStripUnitContentData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabsType?: string;\n tabs?: NsContentStripWithTabs.IContentStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsContentStripWithTabs.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n request?: any\n\n}\n\n@Component({\n selector: 'sb-uic-content-strip-with-tabs',\n templateUrl: './content-strip-with-tabs-lib.component.html',\n styleUrls: ['./content-strip-with-tabs-lib.component.scss'],\n})\nexport class ContentStripWithTabsLibComponent extends WidgetBaseComponent\n implements\n OnInit,\n OnDestroy,\n NsWidgetResolver.IWidgetData<NsContentStripWithTabs.IContentStripMultiple> {\n @Input() widgetData!: NsContentStripWithTabs.IContentStripMultiple;\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() viewAllResponse = new EventEmitter<any>()\n @Output() telemtryResponse = new EventEmitter<any>()\n @Input() providerId: any = ''\n @Input() emitViewAll: boolean = false\n @Input() channnelName: any = ''\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n todaysEvents: any = [];\n\n constructor(\n // private contentStripSvc: ContentStripNewMultipleService,\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n // private http: HttpClient,\n // private searchServSvc: SearchServService,\n public router: Router,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService\n ) {\n super();\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en');\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n this.environment = environment\n }\n\n ngOnInit() {\n // const url = window.location.href\n this.initData();\n this.contentSvc.telemetryData$.subscribe((data: any) => {\n this.telemtryResponse.emit(data)\n })\n\n\n }\n\n ngOnDestroy() {\n if (this.changeEventSubscription) {\n this.changeEventSubscription.unsubscribe();\n }\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n if (this.checkForEmptyWidget(strip)) {\n this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n\n isStripShowing(data: any) {\n let count = 0;\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n // console.log('data.key', data, data.key, data.widgets);\n return data.showStrip;\n }\n\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n getdata(data: IStripUnitContentData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n checkCondition(wData: NsContentStripWithTabs.IContentStripMultiple, data: IStripUnitContentData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitContentData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getContineuLearningLenth(data: IStripUnitContentData) {\n return data.widgets ? data.widgets.length : 0;\n }\n getLength(data: IStripUnitContentData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n const tabWithMaxWidgets = data.tabs.reduce(\n (prev, current) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n\n private getFiltersFromArray(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n private transformSearchV6FiltersV2(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n checkForDateFilters(filters: any) {\n let userData: any;\n if (this.configSvc.userProfile) {\n userData = this.configSvc.userProfile;\n }\n\n if (filters && filters.hasOwnProperty('batches.endDate')) {\n // tslint:disable-next-line\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\n // tslint:disable-next-line\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\n } else if (filters.organisation &&\n filters.organisation.indexOf('<orgID>') >= 0\n ) {\n if (this.providerId) {\n filters.organisation = this.providerId;\n } else {\n filters.organisation = userData && userData.rootOrgId;\n\n if (filters && filters.hasOwnProperty('designation')) {\n filters.designation = userData.professionalDetails.length > 0 ?\n userData.professionalDetails[0].designation : '';\n }\n }\n\n }\n return filters;\n }\n\n private fetchStripFromRequestData(\n strip: NsContentStripWithTabs.IContentStripUnit,\n calculateParentStatus = true,\n ) {\n // setting initial values\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\n this.processStrip(strip, [], 'fetching', false, null);\n this.fetchFromEnrollmentList(strip, calculateParentStatus);\n this.fetchFromSearchV6(strip, calculateParentStatus);\n this.fetchFromTrendingContent(strip, calculateParentStatus);\n this.fetchAllCbpPlans(strip, calculateParentStatus);\n this.fetchAllTopContent(strip, calculateParentStatus);\n this.fetchAllFeaturedContent(strip, calculateParentStatus);\n this.fetchAllBookMarkData(strip, calculateParentStatus);\n this.fetchAllPlaylistSearch(strip, calculateParentStatus);\n this.fetchPlaylistReadData(strip, calculateParentStatus);\n this.fetchCiosContentData(strip, calculateParentStatus);\n\n }\n\n fetchFromEnrollmentList(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) {\n let userId = '';\n let content: NsContent.IContent[];\n let contentNew: NsContent.IContent[];\n let tabResults: any[] = [];\n const queryParams = _.get(strip.request.enrollmentList, 'queryParams');\n // if (queryParams && queryParams.batchDetails) {\n // if (!queryParams.batchDetails.includes('&retiredCoursesEnabled=true')) {\n // queryParams.batchDetails += '&retiredCoursesEnabled=true'\n // }\n // }\n if (this.configSvc.userProfile) {\n userId = this.configSvc.userProfile.userId;\n }\n // this.userSvc.resetTime('enrollmentService')\n // tslint:disable-next-line: deprecation\n this.userSvc.fetchUserBatchList(userId, queryParams).subscribe(\n (result: any) => {\n const courses = result && result.courses;\n const showViewMore = Boolean(\n courses.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: (strip.viewMoreUrl && strip.viewMoreUrl.path) || '',\n queryParams: {\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n strip.request && strip.request.searchV6 && strip.request.searchV6.filters\n ? JSON.stringify(\n // this.searchServSvc.transformSearchV6Filters(\n strip.request.searchV6.filters\n // ),\n )\n : {},\n },\n }\n : null;\n if (courses && courses.length) {\n content = courses.map((c: any) => {\n const contentTemp: NsContent.IContent = c.content;\n contentTemp.completionPercentage = c.completionPercentage || c.progress || 0;\n contentTemp.completionStatus = c.completionStatus || c.status || 0;\n contentTemp.enrolledDate = c.enrolledDate || '';\n contentTemp.lastContentAccessTime = c.lastContentAccessTime || '';\n contentTemp.lastReadContentStatus = c.lastReadContentStatus || '';\n contentTemp.lastReadContentId = c.lastReadContentId || '';\n contentTemp.lrcProgressDetails = c.lrcProgressDetails || '';\n contentTemp.issuedCertificates = c.issuedCertificates || [];\n contentTemp.batchId = c.batchId || '';\n return contentTemp;\n });\n }\n // To filter content with completionPercentage > 0,\n // so that only those content will show in home page\n // continue learing strip\n // if (content && content.length) {\n // contentNew = content.filter((c: any) => {\n // /** commented as both are 0 after enrolll */\n // if (c.completionPercentage && c.completionPercentage > 0) {\n // return c\n // }\n // })\n // }\n\n // To sort in descending order of the enrolled date\n contentNew = (content || []).sort((a: any, b: any) => {\n const dateA: any = new Date(a.lastContentAccessTime || 0);\n const dateB: any = new Date(b.lastContentAccessTime || 0);\n return dateB - dateA;\n });\n\n if (strip.tabs && strip.tabs.length) {\n tabResults = this.splitEnrollmentTabsData(contentNew, strip);\n this.processStrip(\n strip,\n this.transformContentsToWidgets(contentNew, strip),\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n tabResults\n );\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(contentNew, strip),\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n );\n }\n },\n () => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n );\n }\n }\n\n splitEnrollmentTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\n const tabResults: any[] = [];\n const splitData = this.getInprogressAndCompleted(\n contentNew,\n (e: any) => e.completionStatus === 1 || e.completionPercentage < 100,\n strip,\n );\n\n if (strip.tabs && strip.tabs.length) {\n for (let i = 0; i < strip.tabs.length; i += 1) {\n if (strip.tabs[i]) {\n tabResults.push(\n {\n ...strip.tabs[i],\n fetchTabStatus: 'done',\n ...(splitData.find(itmInner => {\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\n return itmInner;\n }\n return undefined;\n })),\n }\n );\n }\n }\n }\n return tabResults;\n }\n\n getInprogressAndCompleted(array: NsContent.IContent[],\n customFilter: any,\n strip: NsContentStripWithTabs.IContentStripUnit) {\n const inprogress: any[] = []\n const completed: any[] = []\n // array.forEach((e: any, idx: number, arr: any[]) => (customFilter(e, idx, arr) ? inprogress : completed).push(e))\n array.forEach((e, idx, arr) => {\n const status = e.status ? (e.status as string).toLowerCase() : ''\n const statusRetired = status === 'retired'\n if (customFilter(e, idx, arr)) {\n if (!statusRetired) {\n inprogress.push(e)\n }\n } else {\n completed.push(e)\n }\n })\n // Sort the completed array with 'Live' status first and 'Retired' status second\n completed.sort((a: any, b: any) => {\n const statusA = a.status ? a.status.toLowerCase() : ''\n const statusB = b.status ? b.status.toLowerCase() : ''\n if (statusA === 'live' && statusB !== 'live') {\n return -1\n }\n if (statusA !== 'live' && statusB === 'live') {\n return 1\n }\n if (statusA === 'retired' && statusB !== 'retired') {\n return 1\n }\n if (statusA !== 'retired' && statusB === 'retired') {\n return -1\n }\n return 0\n })\n return [\n { value: 'inprogress', widgets: this.transformContentsToWidgets(inprogress, strip) },\n { value: 'completed', widgets: this.transformContentsToWidgets(completed, strip) }];\n }\n\n async fetchFromSearchV6(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\n // if (this.configSvc.activeLocale) {\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\n // } else {\n // strip.request.searchV6.locale = ['en']\n // }\n // }\n let originalFilters: any = [];\n // tslint:disable:no-console\n console.log(originalFilters);\n if (strip.request &&\n strip.request.searchV6 &&\n strip.request.searchV6.request &&\n strip.request.searchV6.request.filters) {\n originalFilters = strip.request.searchV6.request.filters;\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\n strip.request.searchV6.request.filters,\n );\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqSearchV6(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content) {\n if (strip.key === 'scheduledAssessment') {\n \n let result = response.results.result.content.map(a => a.identifier);\n const responseData = await this.userSvc.fetchEnrollmentDataByContentId(this.configSvc.userProfile.userId,result.join(',')).toPromise().then(async (res: any) => {\n const enrollData: any = {}\n if (res && res.courses && res.courses.length) {\n res.courses.forEach((data: any) => {\n enrollData[data.collectionId] = data\n })\n return enrollData\n } else {\n return {}\n }\n }).catch((_err: any) => {\n return {}\n });\n this.checkInvitOnlyAssessments(response.results.result.content, strip, calculateParentStatus, response.viewMoreUrl, responseData)\n\n\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n }\n\n } else if (response.results.result.Event) {\n this.processStrip(\n strip,\n this.transformEventsToWidgets(response.results.result.Event, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n checkInvitOnlyAssessments(content: any, strip: any, calculateParentStatus: any, viewMoreUrl: any, enrollmentData:any) {\n if (Object.keys(enrollmentData).length) {\n enrollmentData = enrollmentData\n let filteredArray: any = []\n let now = new Date().getTime()\n content.forEach((data: any) => {\n if (enrollmentData[data.identifier]) {\n if(enrollmentData[data.identifier].status !== 2 && enrollmentData[data.identifier].batch) {\n const enrollData = enrollmentData[data.identifier].batch\n let endDate:any = new Date(enrollData.endDate).getTime()\n // let endDate:any = '2024-07-7T00:00:00.000Z'\n let timeDuration = endDate - now\n if(timeDuration > 0 ) {\n data['batch'] = enrollmentData[data.identifier].batch\n data['completionPercentage'] = enrollmentData[data.identifier].completionPercentage\n filteredArray.push(data)\n }\n }\n \n }\n })\n filteredArray = filteredArray.sort((a: any, b: any) => {\n const dateA: any = new Date(a.batch.startDate || 0)\n const dateB: any = new Date(b.batch.startDate || 0)\n return dateA - dateB\n })\n this.processStrip(\n strip,\n this.transformContentsToWidgets(filteredArray, strip),\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n );\n } else {\n this.processStrip(\n strip,\n [],\n 'done',\n calculateParentStatus,\n viewMoreUrl,\n );\n }\n }\n\n async searchV6Request(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.searchV6) {\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.searchV6 &&\n request.searchV6.request &&\n request.searchV6.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\n // }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n async fetchFromTrendingContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) {\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\n // if (this.configSvc.activeLocale) {\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\n // } else {\n // strip.request.searchV6.locale = ['en']\n // }\n // }\n let originalFilters: any = [];\n // tslint:disable:no-console\n console.log(originalFilters);\n if (strip.request &&\n strip.request.trendingSearch &&\n strip.request.trendingSearch.request &&\n strip.request.trendingSearch.request.filters) {\n originalFilters = strip.request.trendingSearch.request.filters;\n strip.request.trendingSearch.request.filters = this.checkForDateFilters(strip.request.trendingSearch.request.filters);\n strip.request.trendingSearch.request.filters = this.getFiltersFromArray(\n strip.request.trendingSearch.request.filters,\n );\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqTrending(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.trendingSearchRequest(strip, strip.request, calculateParentStatus);\n if (response && response.results && response.results.response) {\n const content = response.results.response[strip.request.trendingSearch.responseKey] || [];\n this.processStrip(\n strip,\n this.transformContentsToWidgets(content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl || '',\n );\n if (!content.length) {\n this.emptyResponse.emit(true)\n }\n } else {\n this.emptyResponse.emit(true)\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n this.emptyResponse.emit(true)\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n }\n }\n\n async trendingSearchRequest(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.trendingSearch) {\n // check for the request if it has dynamic values]\n if (request.trendingSearch.request.filters.organisation &&\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\n ) {\n let userRootOrgId;\n if (this.configSvc.userProfile) {\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\n }\n request.trendingSearch.request.filters.organisation = userRootOrgId;\n }\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\n const showViewMore = Boolean(\n results.result &&\n strip.request &&\n results.result[strip.request.trendingSearch.responseKey] &&\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\n strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.trendingSearch &&\n request.trendingSearch.request &&\n request.trendingSearch.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n let proccesedResult: any = []\n if (results && results.response && results.response.certifications) {\n results.response.certifications.map((result: any) => {\n if (result.source === this.channnelName) {\n proccesedResult.push(result)\n }\n })\n }\n results = { response: { certifications: proccesedResult } }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n if (error.error && error.error.status === 400) {\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\n reject(error);\n },\n );\n }\n });\n }\n\n toggleInfo(data: IStripUnitContentData) {\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\n if (stripInfo) {\n if (stripInfo.mode !== 'below') {\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\n stripInfo.mode = 'below';\n }\n if (stripInfo.mode === 'below') {\n this.stripsResultDataMap[data.key].stripInfo = {\n ...stripInfo,\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\n };\n }\n }\n }\n\n private transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithTabs.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n private transformEventsToWidgets(\n contents: ITodayEvents[],\n strip: NsContentStripWithTabs.IContentStripUnit,\n ) {\n this.eventSvc.setEventListData(contents);\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n private transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n private async processStrip(\n strip: NsContentStripWithTabs.IContentStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsContentStripWithTabs.IContentStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n tabsType: strip.tabsType ? strip.tabsType : '',\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsContentStripWithTabs.IContentStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.api && Object.keys(strip.request.api).length) ||\n (strip.request.search && Object.keys(strip.request.search).length) ||\n (strip.request.searchRegionRecommendation &&\n Object.keys(strip.request.searchRegionRecommendation).length) ||\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length) ||\n (strip.request.topContent && Object.keys(strip.request.topContent).length) ||\n (strip.request.featureContent && Object.keys(strip.request.featureContent).length) ||\n (strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) ||\n (strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) ||\n (strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) ||\n (strip.request.ciosContent && Object.keys(strip.request.ciosContent).length)\n )\n ) {\n return true;\n }\n return false;\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitContentData, stripKey: string) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const data: WsEvents.ITelemetryTabData = {\n label: `${tabEvent.tab.textLabel}`,\n index: tabEvent.index,\n };\n this.eventSvc.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\n id: `${_.camelCase(data.label)}-tab`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.HOME,\n }\n );\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.label,\n };\n }\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick) {\n if (currentTabFromMap.requestRequired && currentTabFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentTabFromMap.request.searchV6) {\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.trendingSearch) {\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.topContent) {\n this.getTabDataByNewReqTopContent(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.playlistRead) {\n this.getTabDataByNewReqPlaylistReadContent(currentStrip, tabEvent.index, currentTabFromMap, true);\n } else if (currentTabFromMap.request.ciosContent) {\n this.getTabDataByCiosSearch(currentStrip, tabEvent.index, currentTabFromMap, true)\n }\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].tabLoading = false;\n }\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].tabLoading = false;\n stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\n stripMap.showOnLoader = false;\n }\n }, 200);\n }\n }\n }\n\n\n async getTabDataByNewReqSearchV6(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\n if (response && response.results) {\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n async getTabDataByNewReqTrending(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\n if (response && response.results && response.results.response) {\n const content = response.results.response[currentTab.value] || [];\n const widgets = this.transformContentsToWidgets(content, strip);\n // console.log('currentTab --- widgets', widgets)\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n // console.log('tabResults -++++***--', tabResults)\n // console.log('calling after-- ')\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n\n getTabDataByfilter(\n strip: NsContentStripWithTabs.IContentStripUnit,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n // tslint:disable:no-console\n console.log('strip -- ', strip);\n // tslint:disable:no-console\n console.log('currentTab -- ', currentTab);\n // tslint:disable:no-console\n console.log('calculateParentStatus-- ', calculateParentStatus);\n // TODO: Write logic for individual filter if passed in config\n // add switch case based on config key passed\n }\n\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\n\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\n\n let courses: NsContent.IContent[];\n let tabResults: any[] = [];\n let userId = this.configSvc.userProfile.userId\n const response = await this.userSvc.fetchCbpPlanList(userId).toPromise();\n if (response) {\n courses = response;\n if (strip.tabs && strip.tabs.length) {\n tabResults = this.splitCbpTabsData(courses, strip);\n await this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n '',\n tabResults\n );\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n 'viewMoreUrl',\n );\n }\n }\n\n }\n }\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabs.IContentStripUnit) {\n const tabResults: any[] = [];\n const splitData = this.getTabsList(\n contentNew,\n strip,\n );\n if (strip.tabs && strip.tabs.length) {\n for (let i = 0; i < strip.tabs.length; i += 1) {\n if (strip.tabs[i]) {\n tabResults.push(\n {\n ...strip.tabs[i],\n fetchTabStatus: 'done',\n ...(splitData.find(itmInner => {\n if (strip.tabs && strip.tabs[i] && itmInner.value === strip.tabs[i].value) {\n return itmInner;\n }\n return undefined;\n })),\n }\n );\n }\n }\n }\n return tabResults;\n }\n\n getTabsList(array: NsContent.IContent[],\n strip: NsContentStripWithTabs.IContentStripUnit) {\n let all: any[] = [];\n let upcoming: any[] = [];\n let overdue: any[] = [];\n array.forEach((e: any) => {\n all.push(e);\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n overdue.push(e);\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\n upcoming.push(e);\n }\n });\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\n\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\n\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\n\n overdue = overdue.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n\n overdue = overdue.sort((a: any, b: any): any => {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n });\n\n upcoming = upcoming.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n // this.getSelectedIndex(1)\n return [\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n if (key === 'cbpPlan') {\n if (stripsResultDataMap.tabs.length) {\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\n }\n }\n return returnValue;\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n async fetchAllTopContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.topContent && Object.keys(strip.request.topContent).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.topContent &&\n strip.request.topContent.request &&\n strip.request.topContent.request.filters) {\n originalFilters = strip.request.topContent.request.filters;\n strip.request.topContent.request.filters = this.postMethodFilters(strip.request.topContent.request.filters);\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqTopContent(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.postRequestMethod(strip, strip.request.topContent, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content && response.results.result.content.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n async fetchAllFeaturedContent(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.featureContent && Object.keys(strip.request.featureContent).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.featureContent &&\n strip.request.featureContent.request &&\n strip.request.featureContent.request.filters) {\n originalFilters = strip.request.featureContent.request.filters;\n strip.request.featureContent.request.filters = this.postMethodFilters(strip.request.featureContent.request.filters);\n }\n try {\n const response = await this.postRequestMethod(strip, strip.request.featureContent, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content && response.results.result.content.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n\n\n async getTabDataByNewReqTopContent(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n if (currentTab.request &&\n currentTab.request.topContent &&\n currentTab.request.topContent.request &&\n currentTab.request.topContent.request.filters) {\n currentTab.request.topContent.request.filters = this.postMethodFilters(currentTab.request.topContent.request.filters);\n }\n try {\n // const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\n const response = await this.postRequestMethod(strip, currentTab.request.topContent, currentTab.request.apiUrl, calculateParentStatus);\n if (response.results && response.results.result) {\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n raiseTelemetry(stripData: any) {\n this.telemtryResponse.emit(stripData)\n }\n\n async postRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n apiUrl: string,\n calculateParentStatus: boolean\n ): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.postApiMethod(apiUrl, request).subscribe(results => {\n if (results.result && results.result.content) {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n } else if (results && results.data) {\n const showViewMore = Boolean(\n results.data && results.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n } else if (results.result && results.result.data) {\n const showViewMore = Boolean(\n results.data && results.result.data && results.result.data.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n }\n\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n async getRequestMethod(strip: NsContentStripWithTabs.IContentStripUnit,\n request: NsContentStripWithTabs.IContentStripUnit['request'],\n apiUrl: string,\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.getApiMethod(apiUrl).subscribe(results => {\n let showViewMore: any\n if(results.result.data){\n showViewMore = Boolean(\n results.result.data && results.result.data.orgList.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n } else if(results.result.content){\n let featuredProvider = JSON.parse(results.result.content.featuredProviders || '[]')\n showViewMore = Boolean(\n featuredProvider && featuredProvider.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n }\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n }\n : null;\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n postMethodFilters(filters: any) {\n if (filters.organisation &&\n filters.organisation.indexOf('<orgID>') >= 0\n ) {\n filters.organisation = filters.organisation.replace('<orgID>', this.providerId)\n }\n return filters\n }\n getFullUrl(apiUrl: any, id: string) {\n let formedUrl: string = apiUrl\n if (apiUrl.indexOf('<bookmarkId>') >= 0) {\n formedUrl = apiUrl.replace('<bookmarkId>', this.environment.mdoChannelsBookmarkId)\n } else if (apiUrl.indexOf('<playlistKey>') >= 0 && apiUrl.indexOf('<orgID>') >= 0) {\n formedUrl = apiUrl.replace('<playlistKey>', this.providerId + id) \n formedUrl = formedUrl.replace('<orgID>', this.providerId) \n } else if(apiUrl.indexOf('<doId>') >= 0) {\n formedUrl = apiUrl.replace('<doId>', this.environment.providerDataKey) \n } \n return formedUrl\n }\n\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\n if (this.emitViewAll) {\n this.viewAllResponse.emit(stripData)\n } else {\n this.router.navigate([path], { queryParams: queryParamsData })\n }\n }\n\n async fetchAllBookMarkData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.bookmarkRead && Object.keys(strip.request.bookmarkRead).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.bookmarkRead &&\n strip.request.bookmarkRead.bookmarkId) {\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.bookmarkRead.bookmarkId);\n }\n try {\n const response = await this.getRequestMethod(strip, strip.request.bookmarkRead, strip.request.apiUrl, calculateParentStatus);\n let content = response.results.result.data.orgList\n if (response) {\n this.processStrip(\n strip,\n this.transformAllContentsToWidgets(content, strip),\n 'done',\n calculateParentStatus,\n response,\n );\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n\n private transformAllContentsToWidgets(\n contents: any,\n strip: NsContentStripWithTabs.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n private transformAllTabContentsToWidgets(\n contents: any,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: currentTab.stripConfig && currentTab.stripConfig.cardSubType,\n cardCustomeClass: currentTab.customeClass ? currentTab.customeClass : '',\n context: { pageSection: currentTab.value, position: idx },\n intranetMode: currentTab.stripConfig && currentTab.stripConfig.intranetMode,\n deletedMode: currentTab.stripConfig && currentTab.stripConfig.deletedMode,\n contentTags: currentTab.stripConfig && currentTab.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n async fetchAllPlaylistSearch(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.playlistSearch && Object.keys(strip.request.playlistSearch).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.playlistSearch &&\n strip.request.playlistSearch.request &&\n strip.request.playlistSearch.request.filters) {\n originalFilters = strip.request.playlistSearch.request.filters;\n strip.request.playlistSearch.request.filters = this.postMethodFilters(strip.request.playlistSearch.request.filters);\n }\n try {\n const response = await this.postRequestMethod(strip, strip.request.playlistSearch.request, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.data && response.results.result.data.length) {\n let finalPlaylistData: any = []\n let programData: any = response.results.result.data\n programData.forEach((prgData: any) => {\n if (prgData.children && prgData.children.length) {\n finalPlaylistData.push(prgData)\n }\n })\n if (finalPlaylistData.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(finalPlaylistData, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.emptyResponse.emit(true)\n }\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n\n async fetchPlaylistReadData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.playlistRead && Object.keys(strip.request.playlistRead).length) {\n let originalFilters: any = [];\n if (strip.request &&\n strip.request.playlistRead &&\n strip.request.playlistRead.type) {\n strip.request.apiUrl = this.getFullUrl(strip.request.apiUrl, strip.request.playlistRead.type);\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.getRequestMethod(strip, strip.request.playlistRead, strip.request.apiUrl, calculateParentStatus);\n \n if (response && response.results.result.content) { \n let content = response.results.result.content\n if(strip.key === 'providers'){\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\n this.processStrip(\n strip,\n this.transformAllContentsToWidgets(featuredProviders, strip),\n 'done',\n calculateParentStatus,\n response,\n );\n } else {\n this.processStrip(\n strip,\n this.transformAllContentsToWidgets(content, strip),\n 'done',\n calculateParentStatus,\n response,\n );\n }\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n async getTabDataByNewReqPlaylistReadContent(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n if (currentTab.request &&\n currentTab.request.playlistRead &&\n currentTab.request.playlistRead.type) {\n currentTab.request.apiUrl = this.getFullUrl(currentTab.request.apiUrl, currentTab.request.playlistRead.type);\n }\n try {\n const response = await this.getRequestMethod(strip, currentTab.request.playlistRead, currentTab.request.apiUrl, calculateParentStatus);\n \n if (response.results && response.results.result) {\n let content = response.results.result.content\n let widgets = []\n if(currentTab.value === 'providers'){\n let featuredProviders : any = JSON.parse(content.featuredProviders|| '[]')\n widgets = this.transformAllTabContentsToWidgets(featuredProviders, currentTab)\n } else {\n if(currentTab && currentTab.contentShuffel){\n content = content.sort( () => Math.random() - 0.5);\n }\n widgets = this.transformAllTabContentsToWidgets(content, currentTab)\n }\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\n }\n } catch (error) {\n console.error('Error:', error)\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n }\n\n async fetchCiosContentData(strip: NsContentStripWithTabs.IContentStripUnit, calculateParentStatus = true) {\n if (strip && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired && firstTab.value === 'extCourse') {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n this.getTabDataByCiosSearch(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n if (firstTab.requestRequired && firstTab.value === 'providers') {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabs.IContentStripTab;\n this.getTabDataByNewReqPlaylistReadContent(strip, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n } else {\n try {\n const response = await this.postRequestMethod(strip, strip.request.ciosContent, strip.request.apiUrl, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.data && response.results.data.length) {\n let extContentData: any = response.results.data\n if (extContentData.length) {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(extContentData, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.emptyResponse.emit(true)\n }\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n \n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n this.emptyResponse.emit(true)\n }\n } catch (error) {\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n async getTabDataByCiosSearch(\n strip: NsContentStripWithTabs.IContentStripUnit,\n tabIndex: number,\n _currentTab: NsContentStripWithTabs.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.contentSvc.postApiMethod(strip.request.apiUrl,strip.request.ciosContent).toPromise();;\n if (response && response.data && response.data.length) {\n const widgets = this.transformContentsToWidgets(response.data, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults);\n }\n } catch (error) {\n console.error('Error:', error)\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs && this.stripsResultDataMap[strip.key].tabs.length) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n this.processStrip(strip, [], 'error', calculateParentStatus, null, tabResults)\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { ContentStripWithTabsLibComponent } from './content-strip-with-tabs-lib.component';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\n\n// tslint:disable-next-line:function-name\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [ContentStripWithTabsLibComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n entryComponents: [ContentStripWithTabsLibComponent],\n exports: [ContentStripWithTabsLibComponent],\n})\nexport class ContentStripWithTabsLibModule { }\n","import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core'\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\nimport { ICarousel, ICarouselStyle } from './sliders.model'\nimport { Subscription, interval } from 'rxjs'\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\n\n@Component({\n selector: 'sb-uic-sliders',\n templateUrl: './sliders.component.html',\n styleUrls: ['./sliders.component.scss'],\n})\nexport class SlidersLibComponent extends WidgetBaseComponent\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\n @Input() widgetData!: ICarousel[]\n @Input() styleData!: ICarouselStyle\n @Input() title: any = ''\n @Input() type: any\n @HostBinding('id')\n public id = `banner_${Math.random()}`\n private defaultMenuSubscribe: Subscription | null = null\n isLtMedium$ = this.valueSvc.isLtMedium$\n currentIndex = 0\n slideInterval: Subscription | null = null\n isMobile = false\n\n constructor(\n private events: EventService,\n private valueSvc: ValueService\n ) {\n super()\n }\n\n ngOnInit() {\n this.reInitiateSlideInterval()\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\n this.isMobile = isLtMedium\n })\n }\n reInitiateSlideInterval() {\n if (this.widgetData && this.widgetData.length > 1) {\n try {\n if (this.slideInterval) {\n this.slideInterval.unsubscribe()\n }\n } catch (e) {\n } finally {\n this.slideInterval = interval(8000).subscribe(() => {\n if (this.currentIndex === this.widgetData.length - 1) {\n this.currentIndex = 0\n } else {\n this.currentIndex += 1\n }\n })\n }\n }\n }\n slideTo(index: number) {\n if (index >= 0 && index < this.widgetData.length) {\n this.currentIndex = index\n } else if (index === this.widgetData.length) {\n this.currentIndex = 0\n } else {\n this.currentIndex = this.widgetData.length + index\n }\n this.reInitiateSlideInterval()\n }\n\n get isOpenInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n return true\n } return false\n }\n\n openInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n window.open(currentData.redirectUrl)\n }\n }\n raiseTelemetry(bannerUrl: string | undefined) {\n this.openInNewTab()\n const path = window.location.pathname.replace('/', '')\n const url = path + window.location.search\n\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'banner',\n },\n {\n pageUrl: url,\n bannerRedirectUrl: bannerUrl,\n },\n {\n pageIdExt: 'banner',\n module: WsEvents.EnumTelemetrymodules.CONTENT,\n })\n }\n\n ngOnDestroy() {\n if (this.defaultMenuSubscribe) {\n this.defaultMenuSubscribe.unsubscribe()\n }\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { SlidersLibComponent } from './sliders.component'\nimport { RouterModule } from '@angular/router'\nimport { ImageResponsiveModule } from './../../_directives/image-responsive/image-responsive.module'\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\n/* tslint:disable */\nimport Hammer from 'hammerjs'\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\n/* tslint:enable */\nexport class MyHammerConfig extends HammerGestureConfig {\n buildHammer(element: HTMLElement) {\n const mc = new Hammer(element, {\n touchAction: 'pan-y',\n })\n return mc\n }\n}\n\n// tslint:disable-next-line: max-classes-per-file\n@NgModule({\n declarations: [SlidersLibComponent],\n imports: [\n CommonModule,\n RouterModule,\n NavigationModule,\n ImageResponsiveModule,\n ],\n exports: [SlidersLibComponent],\n entryComponents: [SlidersLibComponent],\n providers: [\n {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: MyHammerConfig,\n },\n ],\n})\nexport class SlidersLibModule { }\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst API_END_POINTS = {\n PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,\n TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,\n ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`,\n LEARNERS: `apis/proxies/v8/halloffame/top/learners`,\n LEADERBOARD: 'apis/proxies/v8/halloffame/v1/mdoleaderboard',\n LEADERBOARD_USERS: `apis/proxies/v8/halloffame/v1/userleaderboard`,\n NLW_LEADERBOARD: `apis/proxies/v8/national/learning/week/insights`,\n INSIGHTS: `apis/proxies/v8/read/user/insights`,\n USER_PROGRESS: `apis/proxies/v8/halloffame/v1/userleaderboard`,\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InsiteDataService {\n\n constructor(\n private http: HttpClient\n ) {}\n fetchSearchData(request: any): Observable<any> {\n return this.http.post<any>(API_END_POINTS.PROVIDER_INSIGHTS, request)\n }\n\n fetchAnnouncementsData(request: any): Observable<any> {\n return this.http.post<any>(API_END_POINTS.ANNOUNCEMENTS_DETAILS, request)\n }\n\n\n fetchTrainingDetails(request: any): Observable<any> {\n return this.http.post<any>(API_END_POINTS.TRAINING_DETAILS, request)\n }\n\n fetchLearner(channelId: any): Observable<any> {\n return this.http.get(`${API_END_POINTS.LEARNERS}/${channelId}`)\n }\n\n fetchLeaderboard() {\n return this.http.get(`${API_END_POINTS.LEADERBOARD}`)\n }\n\n fetchMdoUsers(orgId: any): Observable<any> {\n return this.http.get(`${API_END_POINTS.LEADERBOARD_USERS}/${orgId}`)\n }\n\n fetchNwlStats() {\n return this.http.get(`${API_END_POINTS.NLW_LEADERBOARD}`)\n }\n\n fetchInsightsData(payload: any) {\n const result = this.http.post(API_END_POINTS.INSIGHTS, payload)\n return result\n }\n\n fetchUserProgress() {\n return this.http.get(`${API_END_POINTS.USER_PROGRESS}`)\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-data-points',\n templateUrl: './data-points.component.html',\n styleUrls: ['./data-points.component.css']\n})\nexport class DataPointsComponent implements OnInit {\n @Input() objectData: any\n @Input() layoutType: string = ''\n @Input() fetchDataFromApi: boolean = false\n @Input() providerId : any = ''\n @Input() pageLayout: any = ''\n @Input() title: any\n customArray: any[][] = []\n isDataLoading: boolean = false\n apiResults: any\n \n constructor(public insightSvc: InsiteDataService) { }\n\n ngOnInit() {\n if (this.objectData && this.layoutType === 'gridLayout') {\n this.customArray = this.createCustomArray(this.objectData.metrics)\n }\n if(this.fetchDataFromApi) {\n this.isDataLoading = true\n if (this.pageLayout === 'nlw') {\n this.getStats()\n } else {\n this.getInsiteData()\n }\n }\n } \n\n createCustomArray(arr: any[]): any[][] {\n const nByn: any[][] = []\n for (let i = 0; i < arr.length; i += this.objectData.dataColSpan) {\n nByn.push(arr.slice(i, i + this.objectData.dataColSpan))\n }\n return nByn \n }\n\n getInsiteData(){\n let request: any = {}\n request = {\n \"request\": {\n \"filters\": {\n \"organisations\": [\n this.providerId\n ]\n }\n }\n }\n if (this.pageLayout && this.pageLayout === 'mdo') {\n request = {\n \"request\": {\n \"filters\": {\n \"requestType\": \"MDO_INSIGHT\",\n \"organisations\": [\n this.providerId\n ]\n }\n }\n }\n }\n this.insightSvc.fetchSearchData(request).subscribe((res: any)=> {\n if(res && res.result && res.result.response && res.result.response.nudges && res.result.response.nudges.length) {\n res.result.response.nudges.forEach((nudgeData: any) => {\n if(this.providerId && this.providerId === nudgeData.orgId) {\n this.objectData = nudgeData.data\n }\n })\n }\n this.isDataLoading = false\n })\n\n }\n\n getStats() {\n this.insightSvc.fetchNwlStats().subscribe((res: any) => {\n if(res && res.result && res.result.data) {\n this.objectData = res.result.data\n }\n this.isDataLoading = false\n }, error => {\n console.log(error)\n this.isDataLoading = false\n })\n }\n\n converToIndianSystem(value: any) {\n if (value) {\n let numStr = value.toString()\n let [integerPart, decimalPart] = numStr.split('.')\n let lastThree = integerPart.slice(-3);\n let otherNumbers = integerPart.slice(0, -3);\n if (otherNumbers !== '') {\n lastThree = ',' + lastThree;\n }\n let formattedIntegerPart = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',') + lastThree;\n const result = decimalPart ? `${formattedIntegerPart}.${decimalPart.substr(0,2)}` : formattedIntegerPart;\n return result\n }\n }\n}\n","import { Component, Input, OnInit } from '@angular/core'\n\n@Component({\n selector: 'sb-uic-skeleton-loader',\n templateUrl: './skeleton-loader-lib.component.html',\n styleUrls: ['./skeleton-loader-lib.component.scss'],\n})\nexport class SkeletonLoaderLibComponent implements OnInit {\n\n @Input() bindingClass = ''\n @Input() height = ''\n @Input() width = ''\n constructor() { }\n\n ngOnInit() {\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { SkeletonLoaderLibComponent } from './skeleton-loader-lib.component'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatDialogModule, MatIconModule } from '@angular/material'\n\n@NgModule({\n declarations: [SkeletonLoaderLibComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule,\n MatIconModule,\n ],\n exports: [\n SkeletonLoaderLibComponent,\n ],\n entryComponents: [SkeletonLoaderLibComponent],\n})\nexport class SkeletonLoaderLibModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataPointsComponent } from './data-points.component';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [DataPointsComponent],\n imports: [\n CommonModule,\n SkeletonLoaderLibModule\n ],\n exports: [DataPointsComponent],\n providers:[InsiteDataService]\n})\nexport class DataPointsModule { }\n","import { DatePipe } from '@angular/common';\nimport {\n Component,\n Input,\n OnInit,\n \n} from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-calender',\n templateUrl: './calender.component.html',\n styleUrls: ['./calender.component.scss']\n})\nexport class CalenderComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() fetchDataFromApi: boolean = false\n @Input() showHeader: boolean = false\n @Input() defaultDays: number = 3\n @Input() providerId: any\n @Input() fullCalendor: boolean = false\n days = []\n trainings: any = {}\n currentMonthAndYear: any\n isDataLoading: boolean = false\n currentDate: any = new Date()\n endDate: any\n startDate: any\n allMonths = [\"January\", \"February\", \"March\",\n \"April\", \"May\", \"June\", \"July\",\n \"August\", \"September\", \"October\",\n \"November\", \"December\"\n ]\n monthsDropdown: any = []\n selectedMonth: any\n constructor(private datePipe: DatePipe, public insightSvc: InsiteDataService) { }\n\n ngOnInit() {\n this.currentMonthAndYear = this.datePipe.transform(this.currentDate, 'MMMM y')\n this.selectedMonth = this.datePipe.transform(this.currentDate, 'LLLL yyyy')\n if (this.fullCalendor) {\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\n this.getMonthsDropdownData()\n }\n if (!this.fullCalendor) {\n this.days = this.getDays(this.currentDate, +this.defaultDays)\n }\n this.startDate = this.days[0]\n this.endDate = this.days[this.days.length - 1]\n if(this.fetchDataFromApi) {\n this.isDataLoading = true\n this.getInsiteData()\n }\n }\n getInsiteData() {\n let request = {\n \"locale\": [\n \"en\"\n ],\n \"query\": \"\",\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"category\": [\n \"Calendar\"\n ],\n \"status\": [\n \"Live\",\n \"Retired\"\n ],\n \"contentType\": \"Event\",\n \"startDate\": {\n \">=\": this.startDate,\n \"<=\": this.endDate\n // \">=\": \"2024-01-15\",\n // \"<\": \"2024-05-31\"\n },\n \"channel\": [this.providerId]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n }\n }\n }\n this.insightSvc.fetchTrainingDetails(request).subscribe((res: any)=> {\n if (res && res.result && res.result.Event) {\n res.result.Event.forEach((resp: any) => {\n if (this.trainings[resp.startDate]) {\n let prevData = this.trainings[resp.startDate]\n let location = resp.eventType\n if (resp.location && location !== \"Online\") {\n const jsonResp = JSON.parse(resp.location)\n location = jsonResp['address']\n }\n const formatObject = {\n location: location,\n startTime: this.convertTo12HourFormat(resp.startTime),\n endTime: this.convertTo12HourFormat(resp.endTime),\n title: resp.name,\n startDate: this.formatDate(resp.startDate),\n endDate: this.formatDate(resp.endDate),\n registrationLink: resp.registrationLink,\n }\n prevData.push(formatObject)\n this.trainings[resp.startDate] = prevData\n }\n })\n }\n this.isDataLoading = false\n })\n }\n\n getKeys(obj: any): string[] {\n return Object.keys(obj);\n }\n\n formatDate(date: any) {\n let formatDate = new Date(date)\n return this.datePipe.transform(formatDate, 'E, dd LLL')\n }\n\n convertTo12HourFormat(timeString: string): string {\n const time = timeString.split(\":\")\n let hours = +time[0]\n const minutes = +time[1]\n const ampm = hours >= 12 ? 'PM' : 'AM'\n hours = hours % 12\n hours = hours ? hours : 12\n const strHours = hours < 10 ? '0' + hours : hours.toString()\n const strMinutes = minutes < 10 ? '0' + minutes : minutes.toString()\n return `${strHours}:${strMinutes} ${ampm}`\n }\n\n getDays(cDate: any, counter: number) {\n const days: any = []\n let initDate: any = new Date(cDate)\n initDate = this.datePipe.transform(initDate, 'y-MM-dd')\n days.push(initDate)\n this.trainings[initDate] = []\n while (counter > 0) {\n let myDate: any = new Date(cDate)\n myDate = myDate.setDate(myDate.getDate() + 1)\n cDate = myDate\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\n days.push(myDate)\n this.trainings[myDate] = []\n counter = counter - 1\n }\n return days\n }\n\n getDaysInMonth(year: number, month: number): Date[] {\n const date = new Date(year, month, 1)\n const days: any = []\n this.trainings = {}\n while (date.getMonth() === month) {\n let myDate: any = new Date(date)\n myDate = this.datePipe.transform(myDate, 'y-MM-dd')\n days.push(myDate)\n this.trainings[myDate] = []\n date.setDate(date.getDate() + 1)\n }\n return days\n }\n\n getMonthsDropdownData() {\n this.allMonths.forEach((month: any) => {\n this.monthsDropdown.push(`${month} ${this.currentDate.getFullYear()}`)\n })\n }\n\n selectMonth(event: any) {\n const selectedMonth: any = new Date(event)\n this.currentDate = selectedMonth\n this.days = []\n this.days = this.getDaysInMonth(this.currentDate.getFullYear(), this.currentDate.getMonth())\n this.startDate = this.days[0]\n this.endDate = this.days[this.days.length - 1]\n this.isDataLoading = true\n this.getInsiteData()\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-calender-day',\n templateUrl: './calender-day.component.html',\n styleUrls: ['./calender-day.component.scss']\n})\nexport class CalenderDayComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() day: any\n @Input() dataLoading: boolean\n @Input() rowId: any\n @Input() eventDate: any\n webDisplayDate: string = \"\"\n mobileDisplayDate: string = \"\"\n currentDate: any = new Date()\n\n constructor(private datePipe: DatePipe) { }\n\n ngOnInit() {\n this.currentDate = this.datePipe.transform(this.currentDate, 'y-MM-dd')\n }\n\n openLink(link: string) {\n window.open(link, \"_blank\")\n }\n\n formatDate(date: any, type: string) {\n let fDate = new Date(date)\n if (type === 'web') {\n return this.datePipe.transform(fDate, 'E, dd LLL')\n }\n if (type === 'mob') {\n return this.datePipe.transform(fDate, 'E dd LLL')\n }\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { CalenderComponent } from './calender.component';\nimport { MatIconModule, MatSelectModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { CalenderDayComponent } from './calender-day/calender-day.component';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n FormsModule,\n ReactiveFormsModule,\n MatSelectModule,\n SkeletonLoaderLibModule\n ],\n declarations: [CalenderComponent, CalenderDayComponent],\n exports: [CalenderComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n providers:[DatePipe, InsiteDataService],\n})\nexport class CalenderModule {}","import { Injectable } from '@angular/core';\nimport { NsContent } from '../_models/widget-content.model';\nimport { NsContentStripWithTabs } from '../_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model';\nimport { NsCommonStrip } from '../_common/common-strip/common-strip.model'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonMethodsService {\n\n constructor() { }\n\n transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithTabs.IContentStripUnit | NsCommonStrip.ICommonStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n handleCapitalize(str: string, type?: string): string {\n let returnValue = ''\n if (str) {\n if (type === 'name') {\n returnValue = str.split(' ').map(_str => {\n return _str.charAt(0).toUpperCase() + _str.slice(1)\n }).join(' ')\n } else {\n\n returnValue = str && (str.charAt(0).toUpperCase() + str.slice(1))\n }\n }\n return returnValue\n }\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsCommonStrip } from './common-strip.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { NsContent } from '../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CommonMethodsService } from '../../_services/common-methods.service';\n\n\ninterface IStripUnitCommonData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabs?: NsCommonStrip.ICommonStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsCommonStrip.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n}\n\n@Component({\n selector: 'sb-uic-common-strip',\n templateUrl: './common-strip.component.html',\n styleUrls: ['./common-strip.component.scss']\n})\nexport class CommonStripComponent extends WidgetBaseComponent\nimplements\nOnInit,\nOnDestroy,\nNsWidgetResolver.IWidgetData<NsCommonStrip.ICommonStrip> {\n @Input() widgetData!: NsCommonStrip.ICommonStrip;\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitCommonData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n enrollInterval: any;\n todaysEvents: any = [];\n\n constructor(\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n // private http: HttpClient,\n // private searchServSvc: SearchServService,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private commonMethodsSvc: CommonMethodsService\n ) {\n super();\n this.environment = environment\n }\n\n ngOnInit() {\n // const url = window.location.href\n this.initData();\n }\n\n ngOnDestroy() {\n if (this.changeEventSubscription) {\n this.changeEventSubscription.unsubscribe();\n }\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // null check if in case no strips key in config\n if(this.widgetData && this.widgetData.strips) {\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n this.processStrip(strip, [], 'fetching', false, null);\n if(strip.dataType === 'in-hand' && this.widgetData[strip.dataKey]){\n this.processStrip(\n strip,\n this.commonMethodsSvc.transformContentsToWidgets(this.widgetData[strip.dataKey], strip),\n 'done',\n true,\n strip.viewMoreUrl || '',\n );\n } else {\n if (this.checkForEmptyWidget(strip)) {\n // this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n // this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n\n isStripShowing(data: any) {\n let count = 0;\n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n return data.showStrip;\n }\n\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n getdata(data: IStripUnitCommonData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n checkCondition(wData: NsCommonStrip.ICommonStrip, data: IStripUnitCommonData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitCommonData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getContineuLearningLenth(data: IStripUnitCommonData) {\n return data.widgets ? data.widgets.length : 0;\n }\n getLength(data: IStripUnitCommonData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n const tabWithMaxWidgets = data.tabs.reduce(\n (prev, current) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n \n private async processStrip(\n strip: NsCommonStrip.ICommonStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsCommonStrip.ICommonStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n dataType: strip.dataType,\n dataKey: strip.dataKey,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n if (key === 'cbpPlan') {\n if (stripsResultDataMap.tabs.length) {\n const data = stripsResultDataMap.tabs.filter((ele: any) => ele.value === 'upcoming');\n returnValue = data[0].widgets && data[0].widgets.length > 0 ? 1 : 0;\n }\n }\n return returnValue;\n }\n \n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsCommonStrip.ICommonStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.api && Object.keys(strip.request.api).length) ||\n (strip.request.search && Object.keys(strip.request.search).length) ||\n (strip.request.searchRegionRecommendation &&\n Object.keys(strip.request.searchRegionRecommendation).length) ||\n (strip.request.searchV6 && Object.keys(strip.request.searchV6).length) ||\n (strip.request.enrollmentList && Object.keys(strip.request.enrollmentList).length) ||\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\n (strip.request.trendingSearch && Object.keys(strip.request.trendingSearch).length)\n )\n ) {\n return true;\n }\n return false;\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, stripMap: IStripUnitCommonData, stripKey: string) {\n\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CommonStripComponent } from './common-strip.component';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { HttpClient } from '@angular/common/http';\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { HorizontalScrollerV2Module } from '../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\n@NgModule({\n declarations: [CommonStripComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports: [CommonStripComponent]\n})\nexport class CommonStripModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-announcements',\n templateUrl: './announcements.component.html',\n styleUrls: ['./announcements.component.scss']\n})\nexport class AnnouncementsComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() mobileHeight: boolean = false\n @Input() fetchDataFromApi: boolean = false\n @Input() channelId: any\n @Output() openDialog = new EventEmitter<any>()\n isLoading: boolean = false\n announcements: any = []\n expand = false\n expanded: boolean = false\n\n constructor(public insightSvc: InsiteDataService) {\n }\n\n ngOnInit() {\n if (this.fetchDataFromApi) {\n this.isLoading = true\n this.fetchData()\n }\n }\n\n fetchData() {\n let request = {\n filterCriteriaMap: {\n channel: [this.channelId],\n //channel: [\"01381906916850892825\"],\n },\n requestedFields: [\n \"name\",\n \"description\",\n \"createdOn\",\n \"updatedOn\",\n \"category\"\n ],\n orderBy: \"createdOn\",\n orderDirection: \"ASC\",\n facets: [\n \"channel\"\n ],\n pageSize: this.objectData.pageSize\n }\n this.insightSvc.fetchAnnouncementsData(request).subscribe((res: any)=> {\n if(res && res.result && res.result.data) {\n res.result.data.forEach((resp: any) => {\n this.announcements.push({\n value: resp.description,\n expanded: false\n })\n })\n }\n if (this.announcements.length > 3) {\n this.expand = true\n }\n this.objectData.list = this.announcements\n this.isLoading = false\n }, error => {\n console.log(error)\n this.objectData.list = []\n this.isLoading = false\n })\n }\n\n viewMoreOrLess(item: any) {\n if (item.value.length > 152) {\n item.expanded = !item.expanded\n }\n }\n\n openAnnouncements() {\n this.openDialog.emit(true)\n }\n\n showMoreOrLess() {\n this.expanded = !this.expanded\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { AnnouncementsComponent } from './announcements.component';\nimport { MatIconModule } from '@angular/material';\n\n\n\n@NgModule({\n declarations: [AnnouncementsComponent],\n imports: [\n CommonModule,\n MatIconModule,\n SkeletonLoaderLibModule\n ],\n exports: [AnnouncementsComponent],\n})\nexport class AnnouncementsModule { }","import { Component, Input, OnInit } from '@angular/core';\nimport * as moment_ from 'moment';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nconst moment = moment_;\n@Component({\n selector: 'sb-uic-top-learners',\n templateUrl: './top-learners.component.html',\n styleUrls: ['./top-learners.component.scss']\n})\nexport class TopLearnersComponent implements OnInit {\n\n @Input() objectData: any\n @Input() channelId: any\n @Input() channnelName: any\n loading: boolean = false\n month: string = ''\n results: any = []\n\n colors: any = [\n '#EB7181', // red\n '#306933', // green\n '#000000', // black\n '#3670B2', // blue\n '#4E9E87',\n '#7E4C8D',\n '#EB7181', // red\n '#306933', // green\n '#000000', // black\n '#3670B2', // blue\n ]\n\n constructor(public insightSvc: InsiteDataService,) { }\n\n ngOnInit() {\n this.getData()\n this.month = new Date().toLocaleString('default', { month: 'long' })\n }\n\n getData() {\n this.loading = true\n this.insightSvc.fetchLearner(this.channelId).subscribe((res: any)=> {\n if (res && res.result && res.result.result && res.result.result.length) {\n this.results = res.result.result\n this.month = moment().month(Number(res.result.result[0].month) - 1).format('MMMM')\n }\n this.loading = false\n }, (_error: any) => {\n // tslint:disable-next-line: align\n this.loading = false\n })\n }\n\n getRank(rank: number) {\n if (rank === 1) {\n return \"1st\"\n } \n if (rank === 2) {\n return \"2nd\"\n } \n if (rank === 3) {\n return \"3rd\"\n } else {\n return `${rank}th`\n } \n }\n\n getColor() {\n let circleColor = ''\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\n circleColor = this.colors[randomIndex]\n return circleColor\n }\n\n createInititals(name: string) {\n let initials = ''\n const array = name.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < name.length; i += 1) {\n if (name.charAt(i) === ' ') {\n continue\n }\n if (name.charAt(i) === name.charAt(i)) {\n initials += name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n return initials.toUpperCase()\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TopLearnersComponent } from './top-learners.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { MatTooltipModule } from '@angular/material';\n\n@NgModule({\n declarations: [TopLearnersComponent],\n imports: [\n CommonModule,\n SkeletonLoaderLibModule,\n MatTooltipModule\n ],\n exports: [TopLearnersComponent],\n})\nexport class TopLearnersModule { }","import { Directive, Input, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[sbUicScrollableItem]'\n})\nexport class ScrollableItemDirective {\n\n @Input('sbUicScrollableItem') public key: string\n constructor(private el: ElementRef<HTMLElement>) {}\n\n public scrollIntoView(blockValue: any) {\n this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: blockValue });\n }\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-cbp-plan',\n templateUrl: './cbp-plan.component.html',\n styleUrls: ['./cbp-plan.component.scss']\n})\nexport class CbpPlanComponent implements OnInit {\n\n @Input() objectData: any\n @Input() layoutType: any\n @Input() mobileHeight: boolean = false\n @Input() fetchDataFromApi: boolean = false\n @Input() channelId: any\n @Output() openDialog = new EventEmitter<any>()\n isLoading: boolean = false\n currentIndex = 0\n styleData: any = {}\n contentdata: any = []\n\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor(private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService) { }\n\n ngOnInit() {\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\n if (this.objectData && this.objectData.list) {\n this.objectData.list.forEach((contentEle: any) => {\n let localData = {}\n localData['title'] = contentEle.title\n localData['downloaUrl'] = contentEle.downloaUrl\n localData['cardSubType'] = \"card-wide-lib\"\n localData['cardCustomeClass'] = \"\"\n this.contentdata.push(localData)\n })\n }\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n getFileName(item: any) {\n console.log(item.downloadUrl)\n return item.downloadUrl.split(\"/\").at(-1)\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateActualLabel(label, type, '');\n }\n\n downloadCBPPlan(item: any) {\n const downloadUrl = item.downloaUrl\n const xhr = new XMLHttpRequest()\n xhr.open('GET', downloadUrl, true)\n xhr.responseType = 'blob'\n\n xhr.onload = function() {\n if (xhr.status === 200) {\n const blob = new Blob([xhr.response], { type: 'application/pdf' })\n const url = window.URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n a.download = downloadUrl.split(\"/\").at(-1)\n document.body.appendChild(a)\n a.click()\n document.body.removeChild(a)\n window.URL.revokeObjectURL(url)\n } else {\n console.error('Error downloading the PDF', xhr.statusText)\n }\n }\n xhr.onerror = function() {\n console.error('Network error')\n }\n xhr.send()\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from '@angular/core'\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2'\nimport { ICarousel, ICarouselStyle } from './sliders-ng-content.model'\nimport { Subscription, interval } from 'rxjs'\nimport { EventService, WsEvents, ValueService } from '@sunbird-cb/utils-v2'\n\n@Component({\n selector: 'sb-uic-sliders-ng-content',\n templateUrl: './sliders-ng-content.component.html',\n styleUrls: ['./sliders-ng-content.component.scss'],\n})\nexport class SlidersNgContentLibComponent extends WidgetBaseComponent\n implements OnInit, OnDestroy, NsWidgetResolver.IWidgetData<ICarousel[]> {\n @Input() widgetData!: ICarousel[]\n @Input() styleData!: ICarouselStyle\n @Input() title: any = ''\n @Input() loadNgContentData: boolean = false\n @Input() autoScroll: boolean = false\n @Input() customBanner: boolean = false\n @Output() currentIndexValue = new EventEmitter<any>()\n \n @HostBinding('id')\n public id = `banner_${Math.random()}`\n private defaultMenuSubscribe: Subscription | null = null\n isLtMedium$ = this.valueSvc.isLtMedium$\n @Input() currentIndex = 0\n slideInterval: Subscription | null = null\n isMobile = false\n\n constructor(\n private events: EventService,\n private valueSvc: ValueService\n ) {\n super()\n }\n\n ngOnInit() {\n if(this.autoScroll) {\n this.reInitiateSlideInterval()\n }\n this.defaultMenuSubscribe = this.isLtMedium$.subscribe((isLtMedium: boolean) => {\n this.isMobile = isLtMedium\n })\n }\n reInitiateSlideInterval() {\n if (this.widgetData && this.widgetData.length > 1) {\n try {\n if (this.slideInterval) {\n this.slideInterval.unsubscribe()\n }\n } catch (e) {\n } finally {\n this.slideInterval = interval(8000).subscribe(() => {\n if (this.currentIndex === this.widgetData.length - 1) {\n this.currentIndex = 0\n this.currentIndexValue.emit(this.currentIndex)\n } else {\n this.currentIndex += 1\n this.currentIndexValue.emit(this.currentIndex)\n }\n })\n }\n }\n }\n slideTo(index: number) {\n if (index >= 0 && index < this.widgetData.length) {\n this.currentIndex = index\n this.currentIndexValue.emit(this.currentIndex)\n } else if (index === this.widgetData.length) {\n this.currentIndex = 0\n this.currentIndexValue.emit(this.currentIndex)\n } else {\n this.currentIndex = this.widgetData.length + index\n this.currentIndexValue.emit(this.currentIndex)\n }\n if(this.autoScroll) {\n this.reInitiateSlideInterval()\n }\n }\n\n get isOpenInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n return true\n } return false\n }\n\n openInNewTab() {\n const currentData = this.widgetData[this.currentIndex]\n if (currentData.redirectUrl && currentData.redirectUrl.includes('mailto') || this.widgetData[this.currentIndex].openInNewTab) {\n window.open(currentData.redirectUrl)\n }\n }\n raiseTelemetry(bannerUrl: string | undefined) {\n this.openInNewTab()\n const path = window.location.pathname.replace('/', '')\n const url = path + window.location.search\n\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'banner',\n },\n {\n pageUrl: url,\n bannerRedirectUrl: bannerUrl,\n },\n {\n pageIdExt: 'banner',\n module: WsEvents.EnumTelemetrymodules.CONTENT,\n })\n }\n\n ngOnDestroy() {\n if (this.defaultMenuSubscribe) {\n this.defaultMenuSubscribe.unsubscribe()\n }\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { SlidersNgContentLibComponent } from './sliders-ng-content.component'\nimport { RouterModule } from '@angular/router'\nimport { ImageResponsiveModule } from '../../_directives/image-responsive/image-responsive.module'\nimport { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser'\n/* tslint:disable */\nimport Hammer from 'hammerjs'\nimport { NavigationModule } from '../../_directives/navigation/navigation.module'\n/* tslint:enable */\nexport class MyHammerConfig extends HammerGestureConfig {\n buildHammer(element: HTMLElement) {\n const mc = new Hammer(element, {\n touchAction: 'pan-y',\n })\n return mc\n }\n}\n\n// tslint:disable-next-line: max-classes-per-file\n@NgModule({\n declarations: [SlidersNgContentLibComponent],\n imports: [\n CommonModule,\n RouterModule,\n NavigationModule,\n ImageResponsiveModule,\n ],\n exports: [SlidersNgContentLibComponent],\n entryComponents: [SlidersNgContentLibComponent],\n providers: [\n {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: MyHammerConfig,\n },\n ],\n})\nexport class SlidersNgContentLibModule { }\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ScrollableItemDirective } from './scrollable-item.directive'\n\n@NgModule({\n declarations: [ScrollableItemDirective],\n imports: [\n CommonModule,\n ],\n exports: [ScrollableItemDirective],\n})\nexport class ScrollableItemModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CbpPlanComponent } from './cbp-plan.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { MatIconModule } from '@angular/material';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\n\n\n\n@NgModule({\n declarations: [CbpPlanComponent],\n imports: [\n CommonModule,\n SkeletonLoaderLibModule,\n MatIconModule,\n ScrollableItemModule,\n SlidersNgContentLibModule,\n ],\n exports: [CbpPlanComponent]\n})\nexport class CbpPlanModule { }\n","import { NgModule } from '@angular/core';\nimport { ConsumptionComponent } from './consumption.component';\nimport { ContentStripWithTabsLibModule } from './_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { SlidersLibModule } from '../lib/_common/sliders/sliders.module';\nimport { DataPointsModule } from './_common/data-points/data-points.module';\nimport { CalenderModule } from './_common/calender/calender.module';\nimport { CommonStripModule } from './_common/common-strip/common-strip.module';\nimport { AnnouncementsModule } from './_common/announcements/announcements.module';\nimport { TopLearnersModule } from './_common/top-learners/top-learners.module';\nimport { CbpPlanModule } from './_common/cbp-plan/cbp-plan.module';\n\n@NgModule({\n declarations: [ConsumptionComponent],\n imports: [\n ContentStripWithTabsLibModule,\n SlidersLibModule\n ],\n exports: [ConsumptionComponent,\n ContentStripWithTabsLibModule,\n SlidersLibModule,\n DataPointsModule,\n CalenderModule,\n CommonStripModule,\n AnnouncementsModule,\n TopLearnersModule,\n CbpPlanModule,\n ],\n})\nexport class ConsumptionModule { }\n","export const ROOT_WIDGET_CONFIG = {\n \n card: {\n _type: 'cardLib',\n cardResource: 'cardContentLib'\n },\n}\n","import { NsContent } from './widget-content.model';\n\nexport namespace NsCardContent {\n export interface ICard {\n content: NsContent.IContent;\n cardSubType: TCardSubType;\n context: { pageSection: string; position?: number };\n intranetMode?: 'greyOut' | 'hide';\n deletedMode?: 'greyOut' | 'hide';\n likes?: number;\n contentTags?: IContentTags;\n stateData: any;\n cardCustomeClass?: any;\n }\n\n export interface IContentTags {\n daysSpan?: number;\n excludeContentType?: NsContent.EContentTypes[];\n excludeMimeType?: string[];\n tag: string;\n criteriaField?: string;\n }\n\n export type TCardSubType =\n | 'standard'\n | 'minimal'\n | 'space-saving'\n | 'card-user-details'\n | 'basic-info'\n | 'basic-details'\n | 'card-description-back'\n | 'network-card'\n | 'user-card';\n\n export enum EContentStatus {\n LIVE = 'Live',\n EXPIRED = 'Expired',\n DELETED = 'Deleted',\n MARK_FOR_DELETION = 'MarkedForDeletion',\n }\n export enum ACBPConst {\n UPCOMING = 'upcoming',\n ALL = 'All',\n OVERDUE = 'overdue',\n SUCCESS = 'success',\n }\n\n export enum IGOTConst {\n COMPETENCIES = 'competencies_v5',\n RETIRED = 'Retired',\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { WidgetBaseComponent, NsWidgetResolver } from '@sunbird-cb/resolver-v2';\nimport { NsCardContent } from '../../_models/card-content.model';\nimport { UtilityService } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-cards',\n templateUrl: './cards.component.html',\n styleUrls: ['./cards.component.scss']\n})\nexport class CardsComponent extends WidgetBaseComponent\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Output() triggerTelemetry = new EventEmitter<any>()\n isIntranetAllowedSettings = false\n cbPlanMapData: any\n cbPlanInterval: any\n constructor(private utilitySvc: UtilityService,\n private contSvc: WidgetContentLibService,\n public router: Router\n ) {\n super();\n }\n\n ngOnInit() {\n this.cbPlanInterval = setInterval(() => {\n this.getCbPlanData()\n }, 1000)\n \n \n }\n\n get isLiveOrMarkForDeletion() {\n if (\n !this.widgetData.content.status ||\n this.widgetData.content.status === 'Live' ||\n this.widgetData.content.status === 'MarkedForDeletion'\n ) {\n return true\n }\n return false\n }\n\n get showIntranetContent() {\n if (this.widgetData.content.isInIntranet && this.utilitySvc.isMobile) {\n return !this.isIntranetAllowedSettings\n }\n return false\n }\n async getRedirectUrlData(content: any){\n if(content.externalId) {\n this.router.navigate(\n [`app/toc/ext/${content.contentId}`])\n } else {\n let urlData = await this.contSvc.getResourseLink(content)\n this.router.navigate(\n [urlData.url],\n {\n queryParams: urlData.queryParams\n })\n }\n \n }\n getCbPlanData() {\n let cbpList: any={}\n if (localStorage.getItem('cbpData')) {\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\n if (cbpListArr && cbpListArr.length) {\n cbpListArr.forEach((data: any) => {\n cbpList[data.identifier] = data\n })\n }\n this.cbPlanMapData = cbpList\n // this.karmaPointLoading = false\n clearInterval(this.cbPlanInterval)\n }\n }\n\n\n\n raiseCardClick(data: any) {\n this.triggerTelemetry.emit(data)\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsCardContent } from '../../../_models/card-content.model';\n\n@Component({\n selector: 'ws-cb-widget-card-resource',\n templateUrl: './card-resource.component.html',\n styleUrls: ['./card-resource.component.scss'],\n})\nexport class CardResourceComponent extends WidgetBaseComponent\nimplements OnInit, NsWidgetResolver.IWidgetData<NsCardContent.ICard> {\n\n @Input() widgetData!: NsCardContent.ICard;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-portrait',\n templateUrl: './card-portrait.component.html',\n styleUrls: ['./card-portrait.component.scss']\n})\nexport class CardPortraitComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n}\n","import { Inject, Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({\n name: 'pipePublicURL',\n})\nexport class PipePublicURL implements PipeTransform {\n environment: any\n constructor(\n @Inject('environment') environment: any,){\n this.environment = environment\n }\n\n transform(value: string): any {\n const mainUrl = value && value.split('/content').pop() || ''\n const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\n return value ? finalURL : ''\n }\n\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { PipePublicURL } from './pipe-public-URL.pipe'\n\n@NgModule({\n declarations: [PipePublicURL],\n imports: [\n CommonModule,\n ],\n exports: [PipePublicURL],\n})\nexport class PipePublicURLModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'objectToArray'\n})\nexport class ObjectToArrayPipe implements PipeTransform {\n // transform(value: any, ...args: any[]): any[] {\n // console.log(\"function called\")\n // if (!value) {\n // return [];\n // }\n // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), \"Object.keys(value).map(key => ({ key, value: value[key] }))==----------\")\n // return Object.keys(value).map(key => ({ key, value: value[key] }));\n // }\n transform(...args: any[]): any[] { \n return args; \n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ObjectToArrayPipe } from './object-to-array.pipe'\n\n@NgModule({\n declarations: [ObjectToArrayPipe],\n imports: [\n CommonModule,\n ],\n exports: [ObjectToArrayPipe],\n})\nexport class ObjectToArrayPipeModule { }","import { Component, OnInit, Input } from '@angular/core'\nimport { NsContent } from '../../_models/widget-content.model'\nimport { MultilingualTranslationsService } from '../../_services/multilingual-translations.service'\n\n@Component({\n selector: 'sb-uic-display-content-type',\n templateUrl: './display-content-type-lib.component.html',\n styleUrls: ['./display-content-type-lib.component.scss'],\n})\nexport class DisplayContentTypeLibComponent implements OnInit {\n @Input() useTranslation: boolean = true\n @Input() displayContentType: NsContent.EDisplayContentTypes = NsContent.EDisplayContentTypes.DEFAULT\n displayContentTypeEnum = NsContent.EDisplayContentTypes\n constructor(private langtranslations: MultilingualTranslationsService) { }\n\n ngOnInit() {\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '')\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { DisplayContentTypeLibComponent } from './display-content-type-lib.component'\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms'\n\n@NgModule({\n declarations: [DisplayContentTypeLibComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule],\n exports: [DisplayContentTypeLibComponent],\n})\nexport class DisplayContentTypeLibModule {}\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as moment from 'moment'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour' | 'hms2H' | 'hms2M'| 'day'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n case 'hms2H':\r\n /**to Print HH:mm:ss */\r\n const duration2 = moment.duration(data, 'seconds')\r\n const resultstring = moment.utc(duration2.asMilliseconds()).format('HH:mm:ss')\r\n return resultstring\r\n case 'hms2M': /**to Print mm:ss */\r\n const duration2H = moment.duration(data, 'seconds')\r\n const resultstring2H = moment.utc(duration2H.asMilliseconds()).format('mm:ss')\r\n\r\n return resultstring2H\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n case 'day':\r\n if (h > 24) {\r\n const duration3 = moment.duration(data, 'seconds')\r\n return `${duration3.days()} day(s)`\r\n }\r\n return this.hmsCalculation(h, m, s, duration, type)\r\n\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n hmsCalculation(h: number, m: number, s: number, dur: string, type: string) {\r\n let space = ''\r\n let duration = dur\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardUser } from '../../../_models/card-users.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-card-user',\n templateUrl: './card-user.component.html',\n styleUrls: ['./card-user.component.scss']\n})\nexport class CardUserComponent implements OnInit {\n @Input() widgetData!: NsCardUser.ICard;\n @Output() userData = new EventEmitter<any>()\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n }\n }\n\n getRedirectUrlData(userData: any){\n this.userData.emit(userData)\n }\n raiseTelemetry() {\n // if(this.forPreview){\n // return\n // }\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: `${this.widgetType}-${this.widgetSubType}`,\n id: `${_.camelCase(this.widgetData.content.userId)}-card`,\n },\n {\n id: this.widgetData.content.userId,\n // type: this.widgetData.user.primaryCategory,\n //context: this.widgetData.context,\n rollup: {},\n // ver: `${this.widgetData.user.version}${''}`,\n },\n {\n pageIdExt: `${_.camelCase('user')}-card`,\n module: _.camelCase('user'),\n })\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n \n@Component({\n selector: 'sb-uic-card-landscape',\n templateUrl: './card-landscape.component.html',\n styleUrls: ['./card-landscape.component.scss']\n})\nexport class CardLandscapeComponent implements OnInit {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Output() triggerTelemetry = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n defaultThumbnail: any\n acbpConstants = NsCardContent.ACBPConst\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n cbPlanInterval: any\n \n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n this.cbPlanInterval = setInterval(() => {\n this.getCbPlanData()\n }, 1000)\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n this.contentData.emit(contentData)\n }\n raiseTelemetry(content: any) {\n this.triggerTelemetry.emit(content)\n }\n\n\n getCbPlanData() {\n let cbpList: any={}\n if (localStorage.getItem('cbpData')) {\n let cbpListArr = JSON.parse(localStorage.getItem('cbpData') || '')\n if (cbpListArr && cbpListArr.length) {\n cbpListArr.forEach((data: any) => {\n cbpList[data.identifier] = data\n })\n }\n // this.cbPlanMapData = cbpList\n // this.karmaPointLoading = false\n clearInterval(this.cbPlanInterval)\n }\n }\n\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-card-wide',\n templateUrl: './card-wide.component.html',\n styleUrls: ['./card-wide.component.scss']\n})\nexport class CardWideComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n isCardFlipped:boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n \n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n getRedirectUrlData(contentData: any){\n this.contentData.emit(contentData)\n }\n raiseTelemetry() {\n // if(this.forPreview){\n // return\n // }\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: `${this.widgetType}-${this.widgetSubType}`,\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n },\n {\n id: this.widgetData.content.identifier,\n type: this.widgetData.content.primaryCategory,\n //context: this.widgetData.context,\n rollup: {},\n ver: `${this.widgetData.content.version}${''}`,\n },\n {\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n module: _.camelCase(this.widgetData.content.primaryCategory),\n })\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-card-mdo-channel',\n templateUrl: './card-mdo-channel.component.html',\n styleUrls: ['./card-mdo-channel.component.scss']\n})\nexport class CardMDOChannelComponent implements OnInit {\n @Input() widgetData!: NsContent.IContent;\n @Output() channelData = new EventEmitter<any>()\n @Output() emitTelemetry = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n public router: Router) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n raiseTelemetry(contentData: any) {\n this.emitTelemetry.emit(contentData)\n if (this.widgetData) {\n contentData['typeOfTelemetry'] = 'mdo-channel'\n }\n this.contSvc.changeTelemetryData(contentData)\n }\n channelClick(channeldata:any) {\n this.channelData.emit(channeldata)\n }\n\n redirectTo(content: any) {\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\n\n@Component({\n selector: 'sb-uic-card-wide-v2',\n templateUrl: './card-wide-v2.component.html',\n styleUrls: ['./card-wide-v2.component.scss']\n})\nexport class CardWideV2Component implements OnInit {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() cbPlanMapData: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Output() triggerTelemetry = new EventEmitter<any>()\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n this.contentData.emit(contentData)\n }\n raiseTelemetry(contentData: any) {\n this.triggerTelemetry.emit(contentData)\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { Router } from '@angular/router';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-karma-programs',\n templateUrl: './card-karma-programs.component.html',\n styleUrls: ['./card-karma-programs.component.scss']\n})\nexport class CardKarmaProgramsComponent implements OnInit {\n\n @Input() widgetData!: NsContent.IContent;\n @Input() randomColorApply: boolean = false\n @Output() userData = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n randomColors: any = [\n '#EF941D',\n '#F97440',\n '#35B5B0',\n '#9988FF',\n '#254092',\n '#926525',\n '#4F72DF'\n ]\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n private router: Router) {\n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n this.setRandomColor()\n }\n\n setRandomColor(){\n if(this.widgetData && this.widgetData.content) {\n if(this.randomColorApply){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\n }else {\n this.widgetData.content['bgColor'] = '#1a4ca1'\n }\n }\n }\n\n \n\n get getRandomColors(){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n return this.randomColors[randomIndex1]\n }\n\n redirectTo(data: any) {\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n data['typeOfTelemetry'] = 'karma-programs'\n }\n this.contSvc.changeTelemetryData(data)\n this.router.navigate(\n [`/app/learn/karma-programs/${data.title}/${data.playListKey}/${data.orgId}/micro-sites`],\n )\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-card-karma-programs-v2',\n templateUrl: './card-karma-programs-v2.component.html',\n styleUrls: ['./card-karma-programs-v2.component.scss']\n})\nexport class CardKarmaProgramsV2Component implements OnInit {\n\n @Input() widgetData!: NsContent.IContent;\n @Input() randomColorApply: boolean = false\n @Output() userData = new EventEmitter<any>()\n @Output() raiseTemeletry = new EventEmitter<any>()\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n randomColors: any = [\n '#EF941D',\n '#F97440',\n '#35B5B0',\n '#9988FF',\n '#254092',\n '#926525',\n '#4F72DF'\n ]\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private router : Router,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n this.setRandomColor()\n }\n\n setRandomColor(){\n if(this.widgetData && this.widgetData.content) {\n if(this.randomColorApply){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n this.widgetData.content['bgColor'] = this.randomColors[randomIndex1]\n }else {\n this.widgetData.content['bgColor'] = '#1a4ca1'\n }\n }\n }\n\n redirectTo(content: any) {\n this.raiseTemeletry.emit(content)\n this.router.navigate(\n [`/app/learn/karma-programs/${content.title}/${content.playListKey}/${content.orgId}/micro-sites`],\n )\n }\n\n get getRandomColors(){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomColors.length))\n return this.randomColors[randomIndex1]\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-provider-card',\n templateUrl: './provider-card.component.html',\n styleUrls: ['./provider-card.component.scss']\n})\nexport class ProviderCardComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() randomColorApply: boolean = true\n @Input() isCardLoading: boolean = false\n\n colors = [\n '#EF941D', '#F97440', '#35B5B0', '#9988FF', '#816FEC',\n '#254092', '#926525', '#4F72DF'\n ];\n\n constructor(private router: Router) {}\n\n ngOnInit() {\n this.setRandomColor()\n }\n\n setRandomColor(){\n if(this.widgetData && this.widgetData.content) {\n if(this.randomColorApply){\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.colors.length))\n this.widgetData.content['bgColor'] = this.colors[randomIndex1]\n }else {\n this.widgetData.content['bgColor'] = '#1a4ca1'\n }\n }\n }\n \n\n redirectTo(content: any) { \n this.router.navigate([`/app/learn/browse-by/provider/${content.name}/${content.orgId}/micro-sites`])\n }\n\n\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatSnackBar } from '@angular/material';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-portrait-ext',\n templateUrl: './card-portrait-ext.component.html',\n styleUrls: ['./card-portrait-ext.component.scss']\n})\nexport class CardPortraitExtComponent implements OnInit {\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n constructor(\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n if (this.widgetData && this.widgetData.content) {\n this.widgetData.content.duration = this.widgetData.content.duration * 60\n }\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n// import { WidgetUserServiceLib } from '../../../../_services/widget-user.service';\nimport { ConfigurationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../../../_services/widget-content-lib.service';\n\n@Component({\n selector: 'sb-uic-card-assessment',\n templateUrl: './card-assessment.component.html',\n styleUrls: ['./card-assessment.component.css']\n})\n\n// @Directive({\n// selector: '[callFunctionOnInit]'\n// })\nexport class CardAssessmentComponent implements OnInit {\n @Input() widgetData!: NsContent.IContent;\n @Output() contentData = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n stripData: any = []\n enrollList: any = []\n activeResource: any = []\n defaultThumbnail: any\n defaultSLogo: any\n daysRemaining: number = 0;\n startDate: any\n endDate: any\n daysPending: boolean = false\n daysFinish: boolean = false\n private intervalId: any;\n days: number;\n hours: number;\n minutes: number;\n constructor(private configSvc: ConfigurationsService, private contSvc: WidgetContentLibService,) { }\n\n ngOnInit(): void {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n }\n }\n\n startCountdown(data: any): void {\n let startDate = data.startDate\n this.updateCountdown(startDate);\n // this.intervalId = setInterval(() => {\n // this.updateCountdown(startDate);\n // }, 1000);\n }\n\n // Method to update the countdown values\n updateCountdown(startDate: any): void {\n let now = new Date().getTime()\n let startingDate: any = new Date(startDate).getTime()\n // startingDate.setHours(startingDate.getHours() - 5);\n // startingDate.setMinutes(startingDate.getMinutes() - 30);\n // startingDate = startingDate.getTime()\n const distance = startingDate - now; \n if (distance > 0) {\n this.daysPending = true\n this.days = Math.floor(distance / (1000 * 60 * 60 * 24));\n this.hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n this.minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n } else {\n this.daysRemaining = 0;\n this.daysPending = false\n }\n\n }\n\n ngOnDestroy(): void {\n }\n\n getRedirectUrlData(contentData: any) {\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { HttpClient } from '@angular/common/http'\n\nconst urls = {\n DOWNLOAD_CERTIFICATE: (id: string) => `certreg/v2/certs/download/${id}`,\n DOWNLOAD_CERTIFICATE_v2: (id: string) => `apis/protected/v8/cohorts/course/batch/cert/download/${id}`,\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class CertificateService {\n\n constructor(private http: HttpClient) { }\n downloadCertificate(id: string): Observable<any> {\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE(id))\n }\n\n downloadCertificate_v2(id: string): Observable<any> {\n return this.http.get<any>(urls.DOWNLOAD_CERTIFICATE_v2(id))\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core'\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'\nimport { TranslateService } from '@ngx-translate/core'\nimport { EventService, MultilingualTranslationsService, WsEvents } from '@sunbird-cb/utils-v2'\nimport { jsPDF } from 'jspdf'\n\n@Component({\n selector: 'sb-uic-certificate-dialog',\n templateUrl: './certificate-dialog.component.html',\n styleUrls: ['./certificate-dialog.component.scss'],\n /* tslint:disable */\n host: { class: 'certificate-inner-dialog-panel' },\n /* tslint:enable */\n})\nexport class CertificateDialogComponent implements OnInit {\n url!: string\n navUrl = ''\n environment: any\n constructor(\n @Inject('environment') environment: any,\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n public dialogRef: MatDialogRef<CertificateDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.environment = environment\n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n this.url = this.data.cet\n // tslint:disable-next-line:max-line-length\n this.navUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${this.environment.contentHost}/apis/public/v8/cert/download/${this.data.certId}`\n }\n\n downloadCert() {\n this.raiseIntreactTelemetry('svg')\n const a: any = document.createElement('a')\n a.href = this.data.cet\n a.download = 'Certificate'\n document.body.appendChild(a)\n a.style = 'display: none'\n a.click()\n a.remove()\n }\n\n downloadCertPng() {\n this.raiseIntreactTelemetry('png')\n const uriData = this.data.cet\n const img = new Image()\n img.src = uriData\n img.width = 1820\n img.height = 1000\n img.onload = () => {\n const canvas = document.createElement('canvas');\n [canvas.width, canvas.height] = [img.width, img.height]\n const ctx = canvas.getContext('2d')\n if (ctx) {\n // ctx.imageSmoothingEnabled = true\n ctx.drawImage(img, 0, 0, img.width, img.height)\n const a = document.createElement('a')\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\n a.href = canvas.toDataURL('image/png', quality)\n a.download = 'Certificate'\n a.append(canvas)\n a.click()\n a.remove()\n }\n }\n }\n async downloadCertPdf() {\n this.raiseIntreactTelemetry('pdf')\n const uriData = this.data.cet\n const img = new Image()\n img.src = uriData\n img.width = 1820\n img.height = 1000\n img.onload = () => {\n const canvas = document.createElement('canvas');\n [canvas.width, canvas.height] = [img.width, img.height]\n const ctx = canvas.getContext('2d')\n if (ctx) {\n ctx.drawImage(img, 0, 0, img.width, img.height)\n const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality\n const dataImg = canvas.toDataURL('application/pdf', quality)\n const pdf = new jsPDF('landscape', 'px', 'a4')\n\n // add the image to the PDF\n pdf.addImage(dataImg, 10, 20, 600, 350)\n\n // download the PDF\n pdf.save('Certificate.pdf')\n }\n }\n }\n\n shareCert() {\n this.raiseShareIntreactTelemetry('share')\n return window.open(this.navUrl, '_blank')\n }\n\n raiseShareIntreactTelemetry(type?: string, action?: string) {\n this.events.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n id: `${type}-${WsEvents.EnumInteractSubTypes.CERTIFICATE}`,\n subType: action && action,\n },\n {\n id: this.data.certId, // id of the certificate\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n }\n )\n }\n\n raiseIntreactTelemetry(action?: string) {\n this.events.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n id: 'download-certificate',\n subType: action && action,\n },\n {\n id: this.data.certId, // id of the certificate\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n }\n )\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NsCardContent } from '../../../_models/card-content.model';\nimport { MatDialog, MatSnackBar } from '@angular/material'\nimport { TranslateService } from '@ngx-translate/core';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { ConfigurationsService, EventService, WsEvents } from '@sunbird-cb/utils-v2';\nimport * as _ from \"lodash\";\nimport { CertificateService } from '../../../_services/certificate.service';\nimport { CertificateDialogComponent } from '../../dialog-components/certificate-dialog/certificate-dialog.component';\n\n@Component({\n selector: 'sb-uic-card-progress-portrait-lib',\n templateUrl: './card-progress-portrait-lib.component.html',\n styleUrls: ['./card-progress-portrait-lib.component.scss']\n})\nexport class CardProgressPortraitLibComponent implements OnInit {\n\n @Input() widgetData!: NsCardContent.ICard;\n @Input() isLiveOrMarkForDeletion: any\n @Input() showIntranetContent: any\n @Input() isIntranetAllowedSettings: any\n @Input() isCardLoading: boolean = false\n @Output() contentData = new EventEmitter<any>()\n @Input() cbPlanMapData: any\n isCardFlipped:boolean = false\n acbpConstants = NsCardContent.ACBPConst\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n showFlip = false\n widgetType: any = 'df'\n widgetSubType: any ='sdf'\n downloadCertificateLoading: boolean = false\n\n constructor(\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n private events: EventService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n private certificateService: CertificateService,\n private dialog: MatDialog,\n ) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n showSnackbar() {\n if (this.showIntranetContent) {\n this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 })\n } else if (!this.isLiveOrMarkForDeletion) {\n this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 })\n }\n }\n getRedirectUrlData(contentData: any){\n // for telemetry\n if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {\n contentData['typeOfTelemetry'] = this.widgetData.context.pageSection\n }\n this.contSvc.changeTelemetryData(contentData)\n // for redirection\n this.contentData.emit(contentData)\n }\n\n translateLabels(label: string, type: any, subtype?: any) {\n return this.langtranslations.translateLabelWithoutspace(label, type, subtype)\n }\n raiseTelemetry() {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: `${this.widgetType}-${this.widgetSubType}`,\n id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n },\n {\n id: this.widgetData.content.identifier,\n type: this.widgetData.content.primaryCategory,\n //context: this.widgetData.context,\n rollup: {},\n ver: `${this.widgetData.content.version}${''}`,\n },\n {\n pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,\n module: _.camelCase(this.widgetData.content.primaryCategory),\n })\n }\n\n downloadCertificate(certificateData: any) {\n this.events.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n id: 'view-certificate',\n subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n },\n {\n id: certificateData.issuedCertificates[0].identifier, // id of the certificate\n type: WsEvents.EnumInteractSubTypes.CERTIFICATE,\n })\n if(certificateData.issuedCertificates.length > 0) {\n this.downloadCertificateLoading = true\n let certData: any = certificateData.issuedCertificates[0]\n this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((res: any)=>{\n this.downloadCertificateLoading = false\n const cet = res.result.printUri\n this.dialog.open(CertificateDialogComponent, {\n width: '1300px',\n data: { cet, certId: certData.identifier },\n })\n })\n } else {\n this.downloadCertificateLoading = false\n }\n }\n\n}\n","import { Component, HostBinding, Input, OnChanges } from '@angular/core'\n\n@Component({\n selector: 'sb-uic-content-progress',\n templateUrl: './content-progress.component.html',\n styleUrls: ['./content-progress.component.scss'],\n /* tslint:disable */\n host: {\n // Sets the role for this component to \"progressbar\"\n role: 'progressbar',\n // Sets the minimum and maximum values for the progressbar role.\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n 'title': 'progres',\n // Binding that updates the current value of the progressbar.\n '[attr.aria-valuenow]': 'progress',\n },\n /* tslint:enable */\n})\nexport class ContentProgressComponent implements OnChanges {\n @Input()\n contentId = ''\n\n @Input()\n progress = 0\n\n @Input()\n progressType = ''\n\n @Input()\n forPreview = false\n\n @Input()\n className = ''\n @Input()\n customClassName: any = 'accent-progress'\n\n rendom = Math.random()\n @HostBinding('id')\n public id = `progress_${Math.random()}`\n constructor(\n // private progressSvc: ContentProgressService\n ) {\n if (this.contentId) {\n this.id = this.contentId\n }\n }\n\n ngOnChanges() {\n if (this.contentId && !this.progress && !this.forPreview) {\n // this.progressSvc.getProgressFor(this.contentId).subscribe(data => {\n // this.progress = data\n // if (this.progress) {\n // this.progress = Math.round(this.progress * 10000) / 100\n // }\n // })\n }\n\n if (this.progress) {\n if (this.progressType === 'percentage') {\n this.progress = this.progress\n } else {\n this.progress = Math.round(this.progress * 10000) / 100\n }\n }\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ContentProgressComponent } from './content-progress.component'\nimport { MatProgressBarModule, MatTooltipModule } from '@angular/material'\n\n@NgModule({\n declarations: [ContentProgressComponent],\n imports: [\n CommonModule,\n MatProgressBarModule,\n MatTooltipModule,\n ],\n exports: [ContentProgressComponent],\n})\nexport class ContentProgressModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CertificateDialogComponent } from './certificate-dialog/certificate-dialog.component';\nimport { MatCardModule, MatDialogModule, MatIconModule, MatMenuModule } from '@angular/material';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { HttpClient } from '@angular/common/http';\nimport { PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';\n\n\n\n@NgModule({\n declarations: [\n CertificateDialogComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule,\n MatCardModule,\n MatIconModule,\n MatDialogModule,\n PipeSafeSanitizerModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports:[\n CertificateDialogComponent\n ],\n entryComponents: [CertificateDialogComponent],\n})\nexport class DialogComponentsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConfigurationsService, EventService, MultilingualTranslationsService, NsContent } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'sb-uic-card-mdo-channel-v1',\n templateUrl: './card-mdo-channel-v1.component.html',\n styleUrls: ['./card-mdo-channel-v1.component.scss']\n})\nexport class CardMdoChannelV1Component implements OnInit {\n @Input() widgetData!: NsContent.IContent;\n @Output() channelData = new EventEmitter<any>()\n @Output() emitTelemetry = new EventEmitter<any>()\n @Input() isCardLoading: boolean = false\n defaultThumbnail: any\n sourceLogos: any\n defaultSLogo: any\n widgetType: any = ''\n widgetSubType: any =''\n\n constructor(\n private events: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private configSvc: ConfigurationsService,\n private contSvc: WidgetContentLibService,\n public router: Router) { \n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n ngOnInit() {\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig) {\n this.defaultThumbnail = instanceConfig.logos.defaultContent || ''\n this.sourceLogos = instanceConfig.sources\n this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || ''\n } else {\n this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png'\n this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg'\n }\n }\n\n raiseTelemetry(contentData: any) {\n this.emitTelemetry.emit(contentData)\n if (this.widgetData) {\n contentData['typeOfTelemetry'] = 'mdo-channel'\n }\n this.contSvc.changeTelemetryData(contentData)\n }\n channelClick(channeldata:any) {\n this.channelData.emit(channeldata)\n }\n\n redirectTo(content: any) {\n this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`])\n }\n\n}\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'\n\n@Component({\n selector: 'sb-uic-avatar-photo',\n templateUrl: './avatar-photo-lib.component.html',\n styleUrls: ['./avatar-photo-lib.component.scss'],\n})\nexport class AvatarPhotoLibComponent implements OnInit, OnChanges {\n @Input() datalen: any\n\n @Input()\n public photoUrl!: string\n\n @Input()\n public name!: string\n @Input() public size = ''\n @Input() public defaulfColor = ''\n @Input() randomColor = false\n @Input() initials?: string\n @Input() showBadge = false\n public showInitials = false\n public circleColor!: string\n random = Math.random().toString(36).slice(2)\n\n // public initials!: string\n\n private colors = [\n '#EB7181', // red\n '#306933', // green\n '#000000', // black\n '#3670B2', // blue\n '#4E9E87',\n '#7E4C8D',\n ]\n\n private randomcolors = [\n '#EB7181', // red\n '#006400', // green\n '#000000', // black\n '#3670B2', // blue\n '#4E9E87',\n '#7E4C8D',\n ]\n\n ngOnInit() {\n if (!this.photoUrl) {\n this.showInitials = true\n if (!this.initials) {\n this.createInititals()\n }\n if (this.datalen === 1) {\n if(this.defaulfColor) {\n this.randomcolors = [\n this.defaulfColor\n ]\n } else {\n this.randomcolors = [\n '#006400', // green\n ]\n }\n }\n const randomIndex = Math.floor(Math.random() * Math.floor(this.colors.length))\n this.circleColor = this.colors[randomIndex]\n if (this.randomColor) {\n const randomIndex1 = Math.floor(Math.random() * Math.floor(this.randomcolors.length))\n this.circleColor = this.randomcolors[randomIndex1]\n }\n }\n\n }\n ngOnChanges(change: SimpleChanges) {\n if (change.name.currentValue !== change.name.previousValue && !change.name.firstChange) {\n this.createInititals()\n }\n }\n get userInitials() {\n return this.initials\n }\n private createInititals(): void {\n let initials = ''\n const array = `${this.name} `.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < this.name.length; i += 1) {\n if (this.name.charAt(i) === ' ') {\n continue\n }\n\n if (this.name.charAt(i) === this.name.charAt(i)) {\n initials += this.name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n this.initials = initials.toUpperCase()\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\nimport { MatButtonModule, MatIconModule, MatMenuModule, MatRippleModule } from '@angular/material'\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2'\nimport { AvatarPhotoLibComponent } from './avatar-photo-lib.component'\n\n@NgModule({\n declarations: [AvatarPhotoLibComponent],\n imports: [\n CommonModule,\n RouterModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n MatRippleModule,\n SbUiResolverModule,\n ],\n exports: [AvatarPhotoLibComponent],\n entryComponents: [AvatarPhotoLibComponent],\n})\nexport class AvatarPhotoLibModule { }\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule, MatCardModule, MatIconModule, MatProgressSpinnerModule, MatTooltipModule } from '@angular/material';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CardResourceComponent } from './card-resource/card-resource.component';\r\nimport { CardsComponent } from './cards.component';\r\nimport { CardPortraitComponent } from './card-portrait/card-portrait.component';\r\nimport { PipePublicURLModule } from '../../_pipes/pipe-public-URL/pipe-public-URL.module';\r\nimport { ObjectToArrayPipeModule } from '../../_pipes/object-to-array/object-to-array.pipe.module';\r\nimport { DisplayContentTypeLibModule } from '../display-content-type-lib/display-content-type-lib.module';\r\nimport { DefaultThumbnailModule } from '../../_directives/default-thumbnail/default-thumbnail.module';\r\nimport { PipeDurationTransformModule } from '../../_pipes/pipe-duration-transform/pipe-duration-transform.module';\r\nimport { CardUserComponent } from './card-user/card-user.component';\r\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\r\nimport { CardLandscapeComponent } from './card-landscape/card-landscape.component';\r\nimport { CardWideComponent } from './card-wide/card-wide.component';\r\nimport { CardMDOChannelComponent } from './card-mdo-channel/card-mdo-channel.component';\r\nimport { CardWideV2Component } from './card-wide-v2/card-wide-v2.component';\r\nimport { CardKarmaProgramsComponent } from './card-karma-programs/card-karma-programs.component';\r\nimport { CardKarmaProgramsV2Component } from './card-karma-programs-v2/card-karma-programs-v2.component';\r\nimport { ProviderCardComponent } from './provider-card/provider-card.component';\r\nimport { CardPortraitExtComponent } from './card-portrait-ext/card-portrait-ext.component';\r\nimport { CardAssessmentComponent } from './card-assessment/card-assessment/card-assessment.component';\r\nimport { CardProgressPortraitLibComponent } from './card-progress-portrait-lib/card-progress-portrait-lib.component';\r\n// import { ContentProgressComponent } from './content-progress/content-progress.component';\r\nimport { ContentProgressModule } from './../content-progress/content-progress.module';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core'\r\nimport { HttpLoaderFactory } from '../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DialogComponentsModule } from '../dialog-components/dialog-components.module';\r\nimport { CardMdoChannelV1Component } from './card-mdo-channel-v1/card-mdo-channel-v1.component';\r\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CardResourceComponent,\r\n CardsComponent,CardPortraitComponent,\r\n CardUserComponent,\r\n CardLandscapeComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n ProviderCardComponent,\r\n CardPortraitExtComponent,\r\n CardAssessmentComponent,\r\n CardProgressPortraitLibComponent,\r\n CardMdoChannelV1Component\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n PipePublicURLModule,\r\n ObjectToArrayPipeModule,\r\n DisplayContentTypeLibModule,\r\n DefaultThumbnailModule,\r\n PipeDurationTransformModule,\r\n SkeletonLoaderLibModule,\r\n MatProgressSpinnerModule,\r\n ContentProgressModule,\r\n DialogComponentsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n AvatarPhotoLibModule\r\n ],\r\n entryComponents:[CardsComponent],\r\n exports: [\r\n CardsComponent,\r\n CardResourceComponent,\r\n CardPortraitComponent, \r\n CardLandscapeComponent,\r\n CardUserComponent,\r\n CardWideComponent,\r\n CardMDOChannelComponent,\r\n CardWideV2Component,\r\n CardKarmaProgramsComponent,\r\n CardKarmaProgramsV2Component,\r\n CardPortraitExtComponent,\r\n ],\r\n})\r\nexport class CardsModule { }\r\n","import { NsWidgetResolver } from '@sunbird-cb/resolver-v2'\nimport { ROOT_WIDGET_CONFIG } from './consumption.config'\n// Components\nimport { CardsComponent } from './_common/cards/cards.component'\nimport { CardsModule } from './_common/cards/cards.module'\n\n\nexport const WIDGET_REGISTERED_LIB_MODULES = [\n CardsModule\n]\n\nexport const WIDGET_REGISTRATION_LIB_CONFIG: NsWidgetResolver.IRegistrationConfig[] = [\n {\n widgetType: ROOT_WIDGET_CONFIG.card._type,\n widgetSubType: ROOT_WIDGET_CONFIG.card.cardResource,\n component: CardsComponent,\n }\n]\n","import { NsWidgetResolver } from '@sunbird-cb/resolver-v2';\nimport { NSSearch } from '../../../_models/widget-search.model';\nimport { NsContent } from '../../../_models/widget-content.model';\nimport { NsCardContent } from '../../../_models/card-content.model';\n\nexport namespace NsContentStripWithFacets {\n export interface IContentStripMultiple {\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n loader?: boolean;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n strips: IContentStripUnit[];\n isChannelStrip?: boolean;\n }\n export interface IContentStripUnit {\n stripRequestFor?: string;\n onTabClickRequest?: boolean;\n hideViewMoreUrl?: boolean;\n type: string;\n disableTranslate?: any;\n key: string;\n title: string;\n customeClass?: string;\n nodataMsg?: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean,\n dotsAlign?: \"right\" | \"left\",\n arrowsPlacement?: \"bottom-right\" | \"bottom-center\" | \"bottom-left\" | \"middle-inline\",\n responsive?: {\n showNavs: boolean,\n showDots: boolean,\n dotsAlign?: \"right\" | \"left\",\n arrowsPlacement?: \"bottom-right\" | \"bottom-center\" | \"bottom-left\" | \"middle-inline\",\n };\n };\n tabs?: NsContentStripWithFacets.IContentStripTab[] | undefined;\n titleDescription?: string;\n name?: string;\n mode?: string |'accordion';\n info?: IStripInfo;\n logo?: string;\n preWidgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n postWidgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripConfig?: IStripConfig;\n canHideStrip?: boolean;\n showStrip: boolean;\n filters?: any[];\n selectAll?: boolean | null;\n request?: {\n requestBody: any\n playlistRead: any;\n playlistSearch?: any;\n ciosContent?:any;\n search?: NSSearch.ISearchRequest\n searchV6?: NSSearch.ISearchV6Request\n topContent?: any\n featureContent?: any\n bookmarkRead?: any\n enrollmentList?: any\n cbpList?: any,\n apiUrl: string\n searchRegionRecommendation?: NSSearch.ISearchOrgRegionRecommendationRequest\n api?: IStripRequestApi\n networkApi?: INetworkRequestApi\n ids?: string[]\n recommendedCourses?: any,\n masterCompetency?: any\n trendingSearch?: any\n };\n searchV6Type?: 'KB' | 'Collections' | 'searchQuery' | null;\n stripBackground?: string;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n loader?: boolean;\n loaderWidgets?: any;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n refreshEvent?: Record<'eventType' | 'from', string>;\n fetchLikes?: boolean;\n secondaryHeading?: any;\n viewMoreUrl?: {\n queryParams?: any\n viewMoreText: string\n path: string\n };\n data?: [];\n }\n\n export interface IStripRequestApi {\n path: string;\n queryParams?: {\n pageNo?: number\n pageSize?: number\n pageState?: string\n sourceFields?: string\n };\n }\n export interface INetworkRequestApi {\n path: string;\n data?: any;\n }\n export interface IStripInfo {\n mode: 'below' | 'popup' | 'modal';\n visibilityMode?: 'hidden' | 'visible';\n icon: {\n icon: string\n scale: number\n style?: any // added for UI\n };\n widget: NsWidgetResolver.IRenderConfigWithAnyData;\n }\n interface IStripConfig {\n // card subType key is used to determine the content Card display type\n cardSubType: NsCardContent.TCardSubType;\n // to show view more card for a search strip\n postCardForSearch?: boolean;\n intranetMode?: 'greyOut' | 'hide';\n deletedMode?: 'greyOut' | 'hide';\n contentTags?: IContentTags;\n hideShowAll?: boolean;\n }\n\n export interface IContentTags {\n daysSpan?: number;\n excludeContentType?: NsContent.EContentTypes[];\n excludeMimeType?: string[];\n tag: string;\n criteriaField: string;\n }\n export interface IContentStripResponseApi {\n contents: NsContent.IContent[];\n hasMore?: boolean;\n pageState?: string;\n totalHits?: number;\n }\n\n export interface IContentStripTab {\n pillsData?: any;\n label: string;\n value: string;\n showTabDataCount: boolean;\n requestRequired?: boolean;\n computeDataOnClick?: boolean;\n computeDataOnClickKey?: string;\n request?: any;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n maxWidgets?: number;\n fetchTabStatus?: string;\n nodataMsg?: string;\n tabLoading?: boolean;\n facets?: any;\n }\n\n \n}\n\nexport enum ApiRequestFor {\n SEARCH= 'search'\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsContentStripWithFacets, ApiRequestFor } from './content-strip-facet-filter.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { NsContent } from '../../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n WsEvents,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NsCardContent } from '../../../_models/card-content-v2.model';\nimport { ITodayEvents } from '../../../_models/event';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder } from '@angular/forms';\n\ninterface IStripUnitContentData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n hideViewMoreUrl?: boolean;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabs?: NsContentStripWithFacets.IContentStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsContentStripWithFacets.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n request?: any\n \n}\n\n\n@Component({\n selector: 'sb-uic-content-strip-facet-filter',\n templateUrl: './content-strip-facet-filter.component.html',\n styleUrls: ['./content-strip-facet-filter.component.scss']\n})\nexport class ContentStripFacetFilterComponent extends WidgetBaseComponent\nimplements\nOnInit,\nOnDestroy,\nNsWidgetResolver.IWidgetData<NsContentStripWithFacets.IContentStripMultiple> {\n @Input() widgetData!: NsContentStripWithFacets.IContentStripMultiple;\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() viewAllResponse = new EventEmitter<any>()\n @Output() telemtryLearningContentResponse = new EventEmitter<any>()\n @Input() providerId : any = ''\n @Input() emitViewAll : boolean = false\n @Input() channnelName: any = ''\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n enrollInterval: any;\n todaysEvents: any = [];\n facetForm: any\n constructor(\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n public router: Router,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n private _fb: FormBuilder\n ) {\n super();\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en');\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n this.environment = environment\n }\n ngOnDestroy(): void {\n \n }\n\n ngOnInit() {\n this.initData();\n // this.contentSvc.telemetryData$.subscribe((data: any) => {\n // this.telemtryLearningContentResponse.emit(data)\n // })\n this.facetForm = this._fb.group({\n org: ['0']\n })\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n if (this.checkForEmptyWidget(strip)) {\n this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n \n private fetchStripFromRequestData(\n strip: NsContentStripWithFacets.IContentStripUnit,\n calculateParentStatus = true,\n ) {\n // setting initial values\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\n this.processStrip(strip, [], 'fetching', false, null);\n if(strip && strip.stripRequestFor === ApiRequestFor.SEARCH && !strip.onTabClickRequest) {\n this.fetchFromSearch(strip, calculateParentStatus);\n }\n }\n\n private transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n private async processStrip(\n strip: NsContentStripWithFacets.IContentStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsContentStripWithFacets.IContentStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n hideViewMoreUrl:strip.hideViewMoreUrl || false,\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsContentStripWithFacets.IContentStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.requestBody && Object.keys(strip.request.requestBody).length))\n ) {\n return true;\n }\n return false;\n }\n // strip settings\n toggleInfo(data: IStripUnitContentData) {\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\n if (stripInfo) {\n if (stripInfo.mode !== 'below') {\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\n stripInfo.mode = 'below';\n }\n if (stripInfo.mode === 'below') {\n this.stripsResultDataMap[data.key].stripInfo = {\n ...stripInfo,\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\n };\n }\n }\n }\n\n raiseTelemetry(stripData: any){\n this.telemtryLearningContentResponse.emit(stripData)\n }\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n // selected pills data\n getSelectedPillIndex(tabdata: any, tabIndex: any) {\n if(tabdata.pillsData && tabdata.pillsData.length) {\n let index = tabdata.pillsData.findIndex((pill: any) => {\n return pill.selected\n });\n return index\n }\n return 0\n }\n\n getdata(data: IStripUnitContentData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, pillIndex: any, stripMap: IStripUnitContentData, stripKey: string) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const data: WsEvents.ITelemetryTabData = {\n label: `${tabEvent.tab.textLabel}`,\n index: tabEvent.index,\n };\n this.eventSvc.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n subType: 'explore-learning-content',\n id: `${_.camelCase(data.label)}-tab`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.HOME,\n }\n );\n\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n if (currentPillFromMap.request.searchV6) {\n // this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, currentTabFromMap, true);\n }\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n this.resetFilter(stripMap, tabEvent.index ,pillIndex)\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabEvent.index].pillsData)\n stripMap.tabs[tabEvent.index].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n }\n }\n\n pillClicked(event: any, stripMap: IStripUnitContentData, stripKey: any, pillIndex: any, tabIndex: any) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentPillFromMap.request.searchV6) {\n // this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n } else if (currentPillFromMap.request.trendingSearch) {\n // this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n }\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // }\n\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n this.resetFilter(stripMap, tabIndex ,pillIndex)\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n }\n }\n\n resetSelectedPill(pillData: any){\n if(pillData && pillData.length){\n pillData.forEach((pill: any) => {\n pill['selected'] = false\n });\n }\n }\n\n getTabDataByfilter(\n strip: NsContentStripWithFacets.IContentStripUnit,\n currentTab: NsContentStripWithFacets.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n // tslint:disable:no-console\n console.log('strip -- ', strip);\n // tslint:disable:no-console\n console.log('currentTab -- ', currentTab);\n // tslint:disable:no-console\n console.log('calculateParentStatus-- ', calculateParentStatus);\n // TODO: Write logic for individual filter if passed in config\n // add switch case based on config key passed\n }\n\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n // translate labes\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\n if(this.emitViewAll) {\n this.viewAllResponse.emit(stripData)\n } else {\n this.router.navigate([path], { queryParams: queryParamsData })\n }\n }\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n getContineuLearningLenth(data: IStripUnitContentData) {\n return data.widgets ? data.widgets.length : 0;\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n checkCondition(wData: NsContentStripWithFacets.IContentStripMultiple, data: IStripUnitContentData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitContentData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n return returnValue;\n }\n\n getLength(data: IStripUnitContentData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n let tabWithMaxWidgets: any = {}\n data.tabs.forEach((tab: any)=>{\n if(tab.pillsData && tab.pillsData.length){\n tabWithMaxWidgets = tab.pillsData.reduce(\n (prev: any, current: any) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n\n }\n })\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n isStripShowing(data: any) {\n let count = 0;\n \n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n // console.log('data.key', data, data.key, data.widgets);\n return data.showStrip;\n }\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n\n\n // search api with facets\n async postRequestMethod(strip: NsContentStripWithFacets.IContentStripUnit,\n request: NsContentStripWithFacets.IContentStripUnit['request'],\n apiUrl: string,\n calculateParentStatus: boolean\n ): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.postApiMethod(apiUrl, request).subscribe(results => {\n if (results.result && results.result.content) {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f: {},\n },\n }\n : null;\n resolve({ results, viewMoreUrl });\n }\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n async fetchFromSearch(strip: NsContentStripWithFacets.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && Object.keys(strip.request.requestBody).length) {\n try {\n const response = await this.postRequestMethod(strip, strip.request.requestBody, strip.request.apiUrl, calculateParentStatus);\n let tabIndex=0\n let pillIndex= 0\n if (response.results && response.results.result && response.results.result.content && response.results.result.content.length > 0) {\n this.mapAllDataWithFacets(strip, response.results.result.content, response.results.result.facets, calculateParentStatus)\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n // if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n // const allTabs = this.stripsResultDataMap[strip.key].tabs;\n // const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n // this.resetSelectedPill(allPills)\n // if (allTabs && allTabs.length && allTabs[tabIndex]) {\n // if(allPills && allPills.length && allPills[pillIndex]){\n // allPills[pillIndex] = {\n // ...allPills[pillIndex],\n // widgets,\n // fetchTabStatus: 'done',\n // selected: true\n // };\n // }\n // allTabs[tabIndex] = {\n // ...allTabs[tabIndex],\n // widgets,\n // fetchTabStatus: 'done',\n // };\n // tabResults = allTabs;\n // }\n // }\n // this.processStrip(\n // strip,\n // widgets,\n // 'done',\n // calculateParentStatus,\n // response.viewMoreUrl,\n // tabResults // tabResults as widgets\n // );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n \n }\n }\n\n mapAllDataWithFacets(strip :any, content : any, facets:any, calculateParentStatus: any) {\n console.log(strip, content)\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n let facet: any = []\n allTabs.forEach((ele: any)=> {\n ele['fetchTabStatus']= 'done'\n let filteredData = content.filter((contEle: any) => contEle.nlwUserExp.includes(ele.value))\n // filteredData.forEach(element => {\n // facet = [...facet,..._.difference(element.nlwOrgs ,facet)];\n // });\n ele['widgets'] = filteredData\n ele.pillsData.forEach((pill: any) => {\n if(pill.value === 'all') {\n pill['widgets'] = this.transformContentsToWidgets(filteredData, strip);\n pill['fetchTabStatus']= 'done'\n } else if(pill.value === 'course') {\n let contentFilteredData = filteredData.filter((contEle: any) => contEle.courseCategory.toLowerCase() === pill.value)\n pill['widgets'] = this.transformContentsToWidgets(contentFilteredData, strip);\n pill['fetchTabStatus']= 'done'\n } else {\n let contentFilteredData = filteredData.filter((contEle: any) => contEle.courseCategory.toLowerCase() !== 'course')\n pill['widgets'] = this.transformContentsToWidgets(contentFilteredData, strip);\n pill['fetchTabStatus']= 'done'\n }\n })\n\n // ele['facets'] = [{\n // name:'nlwOrgs',\n // values: facet\n // }]\n ele['facets'] = facets\n })\n strip.tabs[0].pillsData[0].fetchTabStatus = 'done';\n strip.tabs[0].pillsData[0].tabLoading = false;\n strip.showOnLoader = false;\n this.resetSelectedPill(strip.tabs[0].pillsData)\n strip.tabs[0].pillsData[0]['selected']=true\n this.processStrip(\n strip,\n [],\n 'done',\n calculateParentStatus,\n strip.viewMoreUrl,\n allTabs // tabResults as widgets\n );\n }\n\n private transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithFacets.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n getorgData(eventData: any, stripMap: any, tabIndex: any) {\n console.log(eventData)\n let selectedValue = eventData.target.value\n let pillIndex: any = this.getSelectedPillIndex(stripMap.tabs[tabIndex], tabIndex)\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n let returnedValues = stripMap.tabs[tabIndex].widgets.filter((ele: any) => {\n var words = ele.nlwOrgs.map(v => v.toLowerCase());\n return words.includes(selectedValue)\n })\n stripMap.tabs[tabIndex].pillsData[pillIndex]['widgets'] = this.transformContentsToWidgets(returnedValues, stripMap);\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n\n resetFilter(stripMap: any, tabIndex: any, pillIndex: any) {\n // let selectedValue = eventData.target.value\n if(pillIndex) {\n pillIndex = this.getSelectedPillIndex(stripMap.tabs[tabIndex], tabIndex)\n }\n this.facetForm.reset({\n org: 0\n });\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n // let returnedValues = stripMap.tabs[tabIndex].widgets.filter((ele: any) => {\n // var words = ele.nlwOrgs.map(v => v.toLowerCase());\n // return words.includes(selectedValue)\n // })\n let contentData: any = stripMap.tabs[tabIndex].widgets || []\n stripMap.tabs[tabIndex].pillsData[pillIndex]['widgets'] = this.transformContentsToWidgets(contentData, stripMap);\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n}\n","import { Component, OnInit, Input, OnDestroy, HostBinding, Inject, EventEmitter, Output } from '@angular/core';\nimport { NsWidgetResolver, WidgetBaseComponent } from '@sunbird-cb/resolver-v2';\nimport { NsContentStripWithTabsAndPills } from './content-strip-with-tabs-pills.model';\n// import { HttpClient } from '@angular/common/http'\nimport { WidgetContentLibService } from '../../../_services/widget-content-lib.service';\nimport { NsContent } from '../../../_models/widget-content.model';\nimport { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';\nimport {\n TFetchStatus,\n LoggerService,\n EventService,\n ConfigurationsService,\n UtilityService,\n WsEvents,\n} from '@sunbird-cb/utils-v2';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { WidgetUserServiceLib } from '../../../_services/widget-user-lib.service';\n// import { environment } from 'src/environments/environment'\n// tslint:disable-next-line\nimport * as _ from 'lodash'\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NsCardContent } from '../../../_models/card-content-v2.model';\nimport { ITodayEvents } from '../../../_models/event';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\ninterface IStripUnitContentData {\n key: string;\n canHideStrip: boolean;\n mode?: string;\n showStrip: boolean;\n disableTranslate: boolean;\n widgets?: NsWidgetResolver.IRenderConfigWithAnyData[];\n stripTitle: string;\n stripTitleLink?: {\n link: {\n queryParams: string\n },\n icon: string,\n queryParams: string\n };\n sliderConfig?: {\n showNavs: boolean,\n showDots: boolean,\n maxWidgets?: number\n cerificateCardMargin?: boolean\n };\n stripConfig: any;\n tabs?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined;\n stripName?: string;\n stripLogo?: string;\n description?: string;\n stripInfo?: NsContentStripWithTabsAndPills.IStripInfo;\n noDataWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n errorWidget?: NsWidgetResolver.IRenderConfigWithAnyData;\n showOnNoData: boolean;\n showOnLoader: boolean;\n showOnError: boolean;\n loaderWidgets?: any;\n stripBackground?: string;\n secondaryHeading?: any;\n viewMoreUrl: any;\n request?: any\n \n}\n\n\n@Component({\n selector: 'sb-uic-content-strip-with-tabs-pills',\n templateUrl: './content-strip-with-tabs-pills.component.html',\n styleUrls: ['./content-strip-with-tabs-pills.component.scss']\n})\nexport class ContentStripWithTabsPillsComponent extends WidgetBaseComponent\nimplements\nOnInit,\nOnDestroy,\nNsWidgetResolver.IWidgetData<NsContentStripWithTabsAndPills.IContentStripMultiple> {\n @Input() widgetData!: NsContentStripWithTabsAndPills.IContentStripMultiple;\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() viewAllResponse = new EventEmitter<any>()\n @Output() telemtryResponse = new EventEmitter<any>()\n @Input() providerId : any = ''\n @Input() emitViewAll : boolean = false\n @Input() channnelName: any = ''\n @HostBinding('id')\n public id = `ws-strip-miltiple_${Math.random()}`;\n stripsResultDataMap: { [key: string]: IStripUnitContentData } = {};\n stripsKeyOrder: string[] = [];\n showAccordionData = true;\n showParentLoader = false;\n showParentError = false;\n showParentNoData = false;\n errorDataCount = 0;\n noDataCount = 0;\n successDataCount = 0;\n contentAvailable = true;\n baseUrl = this.configSvc.sitePath || '';\n veifiedKarmayogi = false;\n environment!: any;\n changeEventSubscription: Subscription | null = null;\n defaultMaxWidgets = 12;\n enrollInterval: any;\n todaysEvents: any = [];\n\n constructor(\n // private contentStripSvc: ContentStripNewMultipleService,\n @Inject('environment') environment: any,\n private contentSvc: WidgetContentLibService,\n private loggerSvc: LoggerService,\n private eventSvc: EventService,\n private configSvc: ConfigurationsService,\n public utilitySvc: UtilityService,\n // private http: HttpClient,\n // private searchServSvc: SearchServService,\n public router: Router,\n private userSvc: WidgetUserServiceLib,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService\n ) {\n super();\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en');\n let lang = JSON.stringify(localStorage.getItem('websiteLanguage'));\n lang = lang.replace(/\\\"/g, '');\n this.translate.use(lang);\n }\n this.environment = environment\n }\n\n ngOnInit() {\n // const url = window.location.href\n this.initData();\n this.contentSvc.telemetryData$.subscribe((data: any) => {\n this.telemtryResponse.emit(data)\n })\n\n \n }\n\n ngOnDestroy() {\n if (this.changeEventSubscription) {\n this.changeEventSubscription.unsubscribe();\n }\n }\n\n showAccordion(key: string) {\n if (this.utilitySvc.isMobile && this.stripsResultDataMap[key].mode === 'accordion') {\n return this.showAccordionData;\n }\n return true;\n }\n\n setHiddenForStrip(key: string) {\n this.stripsResultDataMap[key].showStrip = false;\n sessionStorage.setItem(`cstrip_${key}`, '1');\n }\n private getIfStripHidden(key: string): boolean {\n const storageItem = sessionStorage.getItem(`cstrip_${key}`);\n return Boolean(storageItem !== '1');\n }\n\n private initData() {\n this.stripsKeyOrder = this.widgetData && this.widgetData.strips && this.widgetData.strips.map(strip => strip.key) || [];\n if (this.widgetData.loader && this.widgetData.strips.length) {\n this.showParentLoader = true;\n }\n // Fetch the data\n for (const strip of this.widgetData.strips) {\n if (this.checkForEmptyWidget(strip)) {\n this.fetchStripFromRequestData(strip, false);\n } else {\n this.processStrip(strip, [], 'done', true, null);\n }\n }\n // Subscription for changes\n const keyAndEvent: { key: string; type: string; from: string }[] = this.widgetData.strips\n .map(strip => ({\n key: strip.key,\n type: (strip.refreshEvent && strip.refreshEvent.eventType) || '',\n from: (strip.refreshEvent && strip.refreshEvent.from.toString()) || '',\n }))\n .filter(({ key, type, from }) => key && type && from);\n const eventTypeSet = new Set(keyAndEvent.map(e => e.type));\n this.changeEventSubscription = this.eventSvc.events$\n .pipe(filter(event => eventTypeSet.has(event.eventType)))\n .subscribe(event => {\n keyAndEvent\n .filter(e => e.type === event.eventType && e.from === event.from)\n .map(e => e.key)\n .forEach(k => this.fetchStripFromKey(k, false));\n });\n }\n\n private fetchStripFromKey(key: string, calculateParentStatus = true) {\n const stripData = this.widgetData.strips.find(strip => strip.key === key);\n if (stripData) {\n this.fetchStripFromRequestData(stripData, calculateParentStatus);\n }\n }\n\n isStripShowing(data: any) {\n let count = 0;\n \n if (data && data.key === this.environment.programStripKey && (!data.tabs || !data.tabs.length) &&\n data.stripTitle === this.environment.programStripName && data.widgets.length > 0) {\n data.widgets.forEach((key: any) => {\n if (key && key.widgetData.content.primaryCategory === this.environment.programStripPrimaryCategory) {\n count = count + 1;\n }\n });\n if (count > 0) {\n data.showStrip = true;\n } else {\n data.showStrip = false;\n }\n }\n // console.log('data.key', data, data.key, data.widgets);\n return data.showStrip;\n }\n\n get isMobile() {\n return this.utilitySvc.isMobile || false;\n }\n\n getdata(data: IStripUnitContentData) {\n if (data.stripInfo) {\n return data.stripInfo.widget;\n }\n return {};\n\n }\n checkCondition(wData: NsContentStripWithTabsAndPills.IContentStripMultiple, data: IStripUnitContentData) {\n if (wData.strips[0].stripConfig && wData.strips[0].stripConfig.hideShowAll) {\n return !wData.strips[0].stripConfig.hideShowAll;\n }\n return wData.strips[0].viewMoreUrl && data.widgets && data.widgets.length >= 4;\n }\n checkVisible(data: IStripUnitContentData) {\n return data.stripInfo && data.stripInfo.visibilityMode === 'visible';\n }\n\n getContineuLearningLenth(data: IStripUnitContentData) {\n return data.widgets ? data.widgets.length : 0;\n }\n getLength(data: IStripUnitContentData) {\n if (!data.tabs || !data.tabs.length) {\n return data.widgets ? data.widgets.length : 0;\n } {\n // if tabs are there check if each tab has widgets and get the tab with max widgets\n let tabWithMaxWidgets: any = {}\n data.tabs.forEach((tab: any)=>{\n if(tab.pillsData && tab.pillsData.length){\n tabWithMaxWidgets = tab.pillsData.reduce(\n (prev: any, current: any) => {\n if (!prev.widgets && !current.widgets) {\n return current;\n }\n if (prev.widgets && current.widgets) {\n return (prev.widgets.length > current.widgets.length) ? prev : current;\n }\n if (current.widgets && !prev.widgets) {\n return current;\n }\n if (!current.widgets && prev.widgets) {\n return prev;\n }\n return current;\n // return (prev.widgets && current.widgets && (prev.widgets.length > current.widgets.length) ) ? prev : current\n // tslint:disable-next-line: align\n }, data.tabs[0]);\n\n }\n })\n // if tabs has atleast 1 widgets then strip will show or else not\n return tabWithMaxWidgets.widgets ? tabWithMaxWidgets.widgets.length : 0;\n }\n }\n\n private getFiltersFromArray(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n private transformSearchV6FiltersV2(v6filters: any) {\n const filters: any = {};\n if (v6filters.constructor === Array) {\n v6filters.forEach(((f: any) => {\n Object.keys(f).forEach(key => {\n filters[key] = f[key];\n });\n }));\n return filters;\n }\n return v6filters;\n }\n\n checkForDateFilters(filters: any) {\n let userData: any;\n if (this.configSvc.userProfile) {\n userData = this.configSvc.userProfile;\n }\n\n if (filters && filters.hasOwnProperty('batches.endDate')) {\n // tslint:disable-next-line\n filters['batches.endDate']['>='] = eval(filters['batches.endDate']['>='])\n } else if (filters && filters.hasOwnProperty('batches.enrollmentEndDate')) {\n // tslint:disable-next-line\n filters['batches.enrollmentEndDate']['>='] = eval(filters['batches.enrollmentEndDate']['>='])\n } else if (filters.organisation &&\n filters.organisation.indexOf('<orgID>') >= 0\n ) {\n if(this.providerId) {\n filters.organisation = this.providerId;\n } else {\n filters.organisation = userData && userData.rootOrgId;\n\n if (filters && filters.hasOwnProperty('designation')) {\n filters.designation = userData.professionalDetails.length > 0 ?\n userData.professionalDetails[0].designation : '';\n }\n }\n \n }\n return filters;\n }\n\n private fetchStripFromRequestData(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n calculateParentStatus = true,\n ) {\n // setting initial values\n strip.loaderWidgets = this.transformSkeletonToWidgets(strip);\n this.processStrip(strip, [], 'fetching', false, null);\n this.fetchFromSearchV6(strip, calculateParentStatus);\n this.fetchForYouData(strip, calculateParentStatus)\n this.fetchAllCbpPlans(strip, calculateParentStatus);\n \n // this.enrollInterval = setInterval(() => {\n // this.fetchAllCbpPlans(strip, calculateParentStatus)\n // }, 1000)\n }\n\n toggleInfo(data: IStripUnitContentData) {\n const stripInfo = this.stripsResultDataMap[data.key].stripInfo;\n if (stripInfo) {\n if (stripInfo.mode !== 'below') {\n this.loggerSvc.warn(`strip info mode: ${stripInfo.mode} not implemented yet`);\n stripInfo.mode = 'below';\n }\n if (stripInfo.mode === 'below') {\n this.stripsResultDataMap[data.key].stripInfo = {\n ...stripInfo,\n visibilityMode: stripInfo.visibilityMode === 'hidden' ? 'visible' : 'hidden',\n };\n }\n }\n }\n\n private transformContentsToWidgets(\n contents: NsContent.IContent[],\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n ) {\n return (contents || []).map((content, idx) => (\n content ? {\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n ...(content.batch && { batch: content.batch }),\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'cardContent',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n\n private transformEventsToWidgets(\n contents: ITodayEvents[],\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n ) {\n this.eventSvc.setEventListData(contents);\n return (this.eventSvc.todaysEvents || []).map((content: any, idx: any) => (content ? {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {\n content,\n cardSubType: strip.stripConfig && strip.stripConfig.cardSubType,\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n context: { pageSection: strip.key, position: idx },\n intranetMode: strip.stripConfig && strip.stripConfig.intranetMode,\n deletedMode: strip.stripConfig && strip.stripConfig.deletedMode,\n contentTags: strip.stripConfig && strip.stripConfig.contentTags,\n },\n } : {\n widgetType: 'card',\n widgetSubType: 'eventHubCard',\n widgetHostClass: 'mb-2',\n widgetData: {},\n }\n ));\n }\n private transformSkeletonToWidgets(\n strip: any\n ) {\n return [1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10].map(_content => ({\n widgetType: 'cardLib',\n widgetSubType: 'cardContentLib',\n widgetHostClass: 'mb-2',\n widgetData: {\n cardSubType: strip.loaderConfig && strip.loaderConfig.cardSubType || 'card-standard-skeleton',\n cardCustomeClass: strip.customeClass ? strip.customeClass : '',\n },\n }));\n }\n\n private async processStrip(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n results: NsWidgetResolver.IRenderConfigWithAnyData[] = [],\n fetchStatus: TFetchStatus,\n calculateParentStatus = true,\n _viewMoreUrl: any,\n tabsResults?: NsContentStripWithTabsAndPills.IContentStripTab[] | undefined,\n // calculateParentStatus is used so that parents' status is not re-calculated if the API is called again coz of filters, etc.\n ) {\n const stripData = {\n viewMoreUrl: strip.viewMoreUrl,\n key: strip.key,\n canHideStrip: Boolean(strip.canHideStrip),\n showStrip: this.getIfStripHidden(strip.key),\n noDataWidget: strip.noDataWidget,\n errorWidget: strip.errorWidget,\n stripInfo: strip.info,\n stripTitle: strip.title,\n stripTitleLink: strip.stripTitleLink,\n disableTranslate: strip.disableTranslate,\n sliderConfig: strip.sliderConfig,\n tabs: tabsResults ? tabsResults : strip.tabs,\n stripName: strip.name,\n mode: strip.mode,\n stripConfig: strip.stripConfig,\n stripBackground: strip.stripBackground,\n secondaryHeading: strip.secondaryHeading,\n loaderWidgets: strip.loaderWidgets || [],\n widgets:\n fetchStatus === 'done'\n ? [\n ...(strip.preWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ...results,\n ...(strip.postWidgets || []).map(w => ({\n ...w,\n widgetHostClass: `mb-2 ${w.widgetHostClass}`,\n })),\n ]\n : [],\n showOnNoData: Boolean(\n strip.noDataWidget &&\n !((strip.preWidgets || []).length + results.length + (strip.postWidgets || []).length) &&\n fetchStatus === 'done',\n ),\n showOnLoader: Boolean(strip.loader && fetchStatus === 'fetching'),\n showOnError: Boolean(strip.errorWidget && fetchStatus === 'error'),\n };\n // const stripData = this.stripsResultDataMap[strip.key]\n this.stripsResultDataMap = {\n ...this.stripsResultDataMap,\n [strip.key]: stripData,\n };\n if (!tabsResults) {\n if (\n calculateParentStatus &&\n (fetchStatus === 'done' || fetchStatus === 'error') &&\n stripData.widgets\n ) {\n this.checkParentStatus(fetchStatus, stripData.widgets.length);\n }\n if (calculateParentStatus && !(results && results.length > 0)) {\n this.contentAvailable = false;\n } else if (results && results.length > 0) {\n this.contentAvailable = true;\n }\n } else {\n this.contentAvailable = true;\n }\n }\n private checkParentStatus(fetchStatus: TFetchStatus, stripWidgetsCount: number): void {\n if (fetchStatus === 'done' && !stripWidgetsCount) {\n this.noDataCount += 1;\n } else if (fetchStatus === 'done' && stripWidgetsCount) {\n this.successDataCount += 1;\n } else if (fetchStatus === 'error') {\n this.errorDataCount += 1;\n }\n const settledCount = this.noDataCount + this.successDataCount + this.errorDataCount;\n const totalCount = this.widgetData.strips.length;\n if (this.successDataCount > 0 && settledCount < totalCount) {\n return;\n }\n this.showParentLoader = settledCount !== totalCount;\n this.showParentNoData =\n this.noDataCount > 0 && this.noDataCount + this.errorDataCount === totalCount;\n this.showParentError = this.errorDataCount === totalCount;\n }\n checkForEmptyWidget(strip: NsContentStripWithTabsAndPills.IContentStripUnit): boolean {\n if (\n strip.request &&\n ((strip.request.api && Object.keys(strip.request.api).length) ||\n (strip.request.search && Object.keys(strip.request.search).length) ||\n (strip.request.searchRegionRecommendation &&\n Object.keys(strip.request.searchRegionRecommendation).length) ||\n (strip.request.cbpList && Object.keys(strip.request.cbpList).length) ||\n (strip && strip.tabs.length)\n )\n ) {\n return true;\n }\n return false;\n }\n\n\n getTabDataByfilter(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n // tslint:disable:no-console\n console.log('strip -- ', strip);\n // tslint:disable:no-console\n console.log('currentTab -- ', currentTab);\n // tslint:disable:no-console\n console.log('calculateParentStatus-- ', calculateParentStatus);\n // TODO: Write logic for individual filter if passed in config\n // add switch case based on config key passed\n }\n\n getSelectedIndex(stripsResultDataMap: any, key: any): number {\n let returnValue = 0;\n return returnValue;\n }\n\n translateLabels(label: string, type: any) {\n return this.langtranslations.translateLabel(label, type, '');\n }\n\n identify(index: number, item: any) {\n if (index >= 0) { }\n return item;\n }\n tracker(index: number, item: any) {\n if (index >= 0) { }\n return _.get(item, 'widgetData.content.identifier')\n }\n\n raiseTelemetry(stripData: any){\n this.telemtryResponse.emit(stripData)\n }\n\n redirectViewAll(stripData: any, path: string, queryParamsData: any) {\n if(this.emitViewAll) {\n this.viewAllResponse.emit(stripData)\n } else {\n this.router.navigate([path], { queryParams: queryParamsData })\n }\n }\n\n // new code writting from here====new====\n\n fetchForYouData(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\n if (strip && strip.type === 'forYou') {\n if (strip.tabs && strip.tabs.length) {\n const firstTab = strip.tabs[0];\n const pillData = firstTab.pillsData[0]\n if (pillData.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allPills = this.stripsResultDataMap[strip.key].tabs[0].pillsData;\n const currenPillsFromMap = (allPills && allPills.length && allPills[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\n this.getTabDataByNewReqTrending(strip, 0, 0, currenPillsFromMap, calculateParentStatus);\n if (this.stripsResultDataMap[strip.key] && currenPillsFromMap) {\n this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[strip.key].viewMoreUrl.queryParams,\n key:strip.key,\n tabSelected: firstTab.value,\n pillSelected: pillData.value,\n };\n }\n }\n }\n \n }\n }\n }\n\n async fetchFromSearchV6(strip: NsContentStripWithTabsAndPills.IContentStripUnit, calculateParentStatus = true) {\n if (strip.request && strip.request.searchV6 && Object.keys(strip.request.searchV6).length) {\n // if (!(strip.request.searchV6.locale && strip.request.searchV6.locale.length > 0)) {\n // if (this.configSvc.activeLocale) {\n // strip.request.searchV6.locale = [this.configSvc.activeLocale.locals[0]]\n // } else {\n // strip.request.searchV6.locale = ['en']\n // }\n // }\n let originalFilters: any = [];\n // tslint:disable:no-console\n if (strip.request &&\n strip.request.searchV6 &&\n strip.request.searchV6.request &&\n strip.request.searchV6.request.filters) {\n originalFilters = strip.request.searchV6.request.filters;\n strip.request.searchV6.request.filters = this.checkForDateFilters(strip.request.searchV6.request.filters);\n strip.request.searchV6.request.filters = this.getFiltersFromArray(\n strip.request.searchV6.request.filters,\n );\n }\n if (strip.tabs && strip.tabs.length) {\n // TODO: Have to extract requestRequired to outer level of tabs config\n const firstTab = strip.tabs[0];\n if (firstTab.requestRequired) {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const currentTabFromMap = (allTabs && allTabs.length && allTabs[0]) as NsContentStripWithTabsAndPills.IContentStripTab;\n\n this.getTabDataByNewReqSearchV6(strip, 0, 0, currentTabFromMap, calculateParentStatus);\n }\n }\n\n } else {\n try {\n const response = await this.searchV6Request(strip, strip.request, calculateParentStatus);\n // console.log('calling after - response, ', response)\n if (response && response.results) {\n // console.log('calling after-- ')\n if (response.results.result.content) {\n \n this.processStrip(\n strip,\n this.transformContentsToWidgets(response.results.result.content, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n \n \n } else if (response.results.result.Event) {\n this.processStrip(\n strip,\n this.transformEventsToWidgets(response.results.result.Event, strip),\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n }\n }\n\n async getTabDataByNewReqTrending(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n tabIndex: number,\n pillIndex: number,\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.trendingSearchRequest(strip, currentTab.request, calculateParentStatus);\n let tabResults: any[] = [];\n if (response && response.results && response.results.response) {\n const content = response.results.response[currentTab.value] || [];\n const widgets = this.transformContentsToWidgets(content, strip);\n \n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n this.resetSelectedPill(allPills)\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n if(allPills && allPills.length && allPills[pillIndex]){\n allPills[pillIndex] = {\n ...allPills[pillIndex],\n widgets,\n fetchTabStatus: 'done',\n selected: true\n };\n }\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n this.resetSelectedPill(allPills)\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n if(allPills && allPills.length && allPills[pillIndex]){\n allPills[pillIndex] = {\n ...allPills[pillIndex],\n widgets:[],\n fetchTabStatus: 'done',\n selected: true\n };\n }\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets:[],\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n }\n\n async getTabDataByNewReqSearchV6(\n strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n tabIndex: number,\n pillIndex: number,\n currentTab: NsContentStripWithTabsAndPills.IContentStripTab,\n calculateParentStatus: boolean\n ) {\n try {\n const response = await this.searchV6Request(strip, currentTab.request, calculateParentStatus);\n if (response && response.results) {\n const widgets = this.transformContentsToWidgets(response.results.result.content, strip);\n let tabResults: any[] = [];\n if (this.stripsResultDataMap[strip.key] && this.stripsResultDataMap[strip.key].tabs) {\n const allTabs = this.stripsResultDataMap[strip.key].tabs;\n const allPills = this.stripsResultDataMap[strip.key].tabs[tabIndex].pillsData;\n this.resetSelectedPill(allPills)\n if (allTabs && allTabs.length && allTabs[tabIndex]) {\n if(allPills && allPills.length && allPills[pillIndex]){\n allPills[pillIndex] = {\n ...allPills[pillIndex],\n widgets,\n fetchTabStatus: 'done',\n selected: true\n };\n }\n allTabs[tabIndex] = {\n ...allTabs[tabIndex],\n widgets,\n fetchTabStatus: 'done',\n };\n tabResults = allTabs;\n }\n }\n this.processStrip(\n strip,\n widgets,\n 'done',\n calculateParentStatus,\n response.viewMoreUrl,\n tabResults // tabResults as widgets\n );\n } else {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n async trendingSearchRequest(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.trendingSearch) {\n // check for the request if it has dynamic values]\n if (request.trendingSearch.request.filters.organisation &&\n request.trendingSearch.request.filters.organisation.indexOf('<orgID>') >= 0\n ) {\n let userRootOrgId;\n if (this.configSvc.userProfile) {\n userRootOrgId = this.configSvc.userProfile.rootOrgId;\n }\n request.trendingSearch.request.filters.organisation = userRootOrgId;\n }\n this.contentSvc.trendingContentSearch(request.trendingSearch).subscribe(results => {\n const showViewMore = Boolean(\n results.result &&\n strip.request &&\n results.result[strip.request.trendingSearch.responseKey] &&\n results.result[strip.request.trendingSearch.responseKey].length > 5 &&\n strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.trendingSearch &&\n request.trendingSearch.request &&\n request.trendingSearch.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n\n let proccesedResult: any = []\n if (results && results.response && results.response.certifications) {\n results.response.certifications.map((result: any) => {\n if (result.source === this.channnelName) {\n proccesedResult.push(result)\n }\n })\n results = {response: {certifications: proccesedResult}}\n }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n if (error.error && error.error.status === 400) {\n this.processStrip(strip, [], 'done', calculateParentStatus, null);\n }\n // this.processStrip(strip, [], 'done', calculateParentStatus, null)\n reject(error);\n },);\n }\n });\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent, pillIndex: any, stripMap: IStripUnitContentData, stripKey: string) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const data: WsEvents.ITelemetryTabData = {\n label: `${tabEvent.tab.textLabel}`,\n index: tabEvent.index,\n };\n this.eventSvc.raiseInteractTelemetry(\n {\n type: WsEvents.EnumInteractTypes.CLICK,\n subType: WsEvents.EnumInteractSubTypes.HOME_PAGE_STRIP_TABS,\n id: `${_.camelCase(data.label)}-tab`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.HOME,\n }\n );\n\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabEvent.index].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentPillFromMap.request.searchV6) {\n this.getTabDataByNewReqSearchV6(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\n } else if (currentPillFromMap.request.trendingSearch) {\n this.getTabDataByNewReqTrending(currentStrip, tabEvent.index, 0, currentPillFromMap, true);\n }\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // }\n\n stripMap.tabs[tabEvent.index].pillsData[pillIndex].tabLoading = false;\n } else {\n // this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n // setTimeout(() => {\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // stripMap.tabs[tabEvent.index].fetchTabStatus = 'done';\n // stripMap.showOnLoader = false;\n // }\n // }, 200);\n }\n }\n }\n\n pillClicked(event: any, stripMap: IStripUnitContentData, stripKey: any, pillIndex: any, tabIndex: any) {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = true;\n stripMap.showOnLoader = true;\n }\n const currentTabFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex];\n const currentPillFromMap: any = stripMap.tabs && stripMap.tabs[tabIndex].pillsData[pillIndex];\n const currentStrip = this.widgetData.strips.find(s => s.key === stripKey);\n if (this.stripsResultDataMap[stripKey] && currentTabFromMap) {\n this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams = {\n ...this.stripsResultDataMap[stripKey].viewMoreUrl.queryParams,\n tabSelected: currentTabFromMap.value,\n pillSelected: currentPillFromMap.value,\n };\n }\n if (currentStrip && currentTabFromMap && !currentTabFromMap.computeDataOnClick && currentPillFromMap) {\n if (currentPillFromMap.requestRequired && currentPillFromMap.request) {\n // call API to get tab data and process\n // this.processStrip(currentStrip, [], 'fetching', true, null)\n if (currentPillFromMap.request.searchV6) {\n this.getTabDataByNewReqSearchV6(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n } else if (currentPillFromMap.request.trendingSearch) {\n this.getTabDataByNewReqTrending(currentStrip, tabIndex, pillIndex, currentPillFromMap, true);\n }\n // if (stripMap && stripMap.tabs && stripMap.tabs[tabEvent.index]) {\n // stripMap.tabs[tabEvent.index].tabLoading = false;\n // }\n\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n } else {\n this.getTabDataByfilter(currentStrip, currentTabFromMap, true);\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'inprogress';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = true;\n }\n setTimeout(() => {\n if (stripMap && stripMap.tabs && stripMap.tabs[tabIndex]) {\n stripMap.tabs[tabIndex].pillsData[pillIndex].fetchTabStatus = 'done';\n stripMap.tabs[tabIndex].pillsData[pillIndex].tabLoading = false;\n stripMap.showOnLoader = false;\n this.resetSelectedPill(stripMap.tabs[tabIndex].pillsData)\n stripMap.tabs[tabIndex].pillsData[pillIndex]['selected']=true\n }\n }, 200);\n }\n }\n }\n\n async searchV6Request(strip: NsContentStripWithTabsAndPills.IContentStripUnit,\n request: NsContentStripWithTabsAndPills.IContentStripUnit['request'],\n calculateParentStatus: boolean\n ): Promise<any> {\n const originalFilters: any = [];\n return new Promise<any>((resolve, reject) => {\n if (request && request.searchV6) {\n this.contentSvc.searchV6(request.searchV6).subscribe(results => {\n const showViewMore = Boolean(\n results.result.content && results.result.content.length > 5 && strip.stripConfig && strip.stripConfig.postCardForSearch,\n );\n const viewMoreUrl = showViewMore\n ? {\n path: strip.viewMoreUrl && strip.viewMoreUrl.path || '',\n queryParams: {\n tab: 'Learn',\n q: strip.viewMoreUrl && strip.viewMoreUrl.queryParams,\n f:\n request &&\n request.searchV6 &&\n request.searchV6.request &&\n request.searchV6.request.filters\n ? JSON.stringify(\n this.transformSearchV6FiltersV2(\n originalFilters,\n )\n )\n : {},\n },\n }\n : null;\n // if (viewMoreUrl && viewMoreUrl.queryParams) {\n // viewMoreUrl.queryParams = viewMoreUrl.queryParams\n // }\n resolve({ results, viewMoreUrl });\n }, (error: any) => {\n this.processStrip(strip, [], 'error', calculateParentStatus, null);\n reject(error);\n },\n );\n }\n });\n }\n\n\n getSelectedPillIndex(tabdata: any, tabIndex: any) {\n if(tabdata.pillsData && tabdata.pillsData.length) {\n let index = tabdata.pillsData.findIndex((pill: any) => {\n return pill.selected\n });\n return index\n }\n return 0\n }\n\n\n\n\n\n // cbp plans\n\n async fetchAllCbpPlans(strip: any, calculateParentStatus = true) {\n if (strip.request && strip.request.cbpList && Object.keys(strip.request.cbpList).length) {\n\n let courses: NsContent.IContent[];\n let tabResults: any[] = [];\n let userId = this.configSvc.userProfile.userId\n const response = await this.userSvc.fetchCbpPlanList(userId).toPromise();\n if (response) {\n courses = response;\n if (strip.tabs && strip.tabs.length) {\n tabResults = this.splitCbpTabsData(courses, strip);\n let countOfWidget = true\n if(strip && strip.tabs && strip.tabs.length) {\n strip.tabs.forEach((tab:any)=> {\n if(tab.pillsData && tab.pillsData.length) {\n tab.pillsData.forEach((pill: any) => {\n if(pill && pill.widgets && pill.widgets.length){\n if(countOfWidget){\n pill.selected = true\n countOfWidget= false\n }\n }\n });\n }\n })\n }\n await this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n '',\n tabResults\n );\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n 'viewMoreUrl',\n );\n }\n } else {\n this.processStrip(\n strip,\n this.transformContentsToWidgets(courses, strip),\n 'done',\n calculateParentStatus,\n '',\n tabResults\n );\n }\n clearInterval(this.enrollInterval);\n }\n }\n\n splitCbpTabsData(contentNew: NsContent.IContent[], strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\n let tabResults: any[] = [];\n const splitData = this.getTabsList(\n contentNew,\n strip,\n );\n if (strip.tabs && strip.tabs.length) {\n for (let i = 0; i < strip.tabs.length; i += 1) {\n if( strip.tabs[i].value === \"myIgotPlans\") {\n let checkWidgetAndActivePill = true\n if (strip.tabs[i].pillsData && strip.tabs[i].pillsData.length) {\n for (let j = 0; j < strip.tabs[i].pillsData.length; j += 1) {\n // if(j === 0 ){\n // if(strip.tabs[i].pillsData[j].widgets && strip.tabs[i].pillsData[j].widgets.length ) {\n // strip.tabs[i].pillsData[j].selected = true\n // checkWidgetAndActivePill = false\n // }\n // strip.tabs[i].pillsData[j].selected = true\n // }\n if (strip.tabs[i].pillsData[j]) {\n tabResults.push(\n {\n ...strip.tabs[i].pillsData[j],\n fetchTabStatus: 'done',\n ...(splitData.find(itmInner => {\n if (strip.tabs[i].pillsData&& strip.tabs[i].pillsData[j] && itmInner.value === strip.tabs[i].pillsData[j].value) {\n return itmInner;\n }\n return undefined;\n })),\n }\n );\n }\n }\n strip.tabs[i].pillsData = tabResults\n }\n }\n }\n }\n \n return strip.tabs;\n }\n\n getTabsList(array: NsContent.IContent[],\n strip: NsContentStripWithTabsAndPills.IContentStripUnit) {\n let all: any[] = [];\n let upcoming: any[] = [];\n let overdue: any[] = [];\n array.forEach((e: any) => {\n all.push(e);\n if (e.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n overdue.push(e);\n } else if (e.planDuration === NsCardContent.ACBPConst.UPCOMING) {\n upcoming.push(e);\n }\n });\n const allCompleted = all.filter((allData: any) => allData.contentStatus === 2);\n let allInCompleted = all.filter((allData: any) => allData.contentStatus < 2);\n\n let allCompletedOverDue = allCompleted.filter((allData: any) => allData.planDuration === NsCardContent.ACBPConst.OVERDUE);\n const allCompletedAll = allCompleted.filter((allData: any) => allData.planDuration !== NsCardContent.ACBPConst.OVERDUE);\n\n allCompletedOverDue = allCompletedOverDue.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n allInCompleted = allInCompleted.sort((a: any, b: any): any => {\n if (a.planDuration === NsCardContent.ACBPConst.OVERDUE && b.planDuration === NsCardContent.ACBPConst.OVERDUE) {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n }\n });\n\n all = [...allInCompleted, ...allCompletedAll, ...allCompletedOverDue];\n\n overdue = overdue.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n\n overdue = overdue.sort((a: any, b: any): any => {\n const firstDate: any = new Date(a.endDate);\n const secondDate: any = new Date(b.endDate);\n return firstDate > secondDate ? -1 : 1;\n });\n\n upcoming = upcoming.filter((data: any): any => {\n return data.contentStatus < 2;\n });\n \n return [\n { value: 'all', widgets: this.transformContentsToWidgets(all, strip) },\n { value: 'upcoming', widgets: this.transformContentsToWidgets(upcoming, strip) },\n { value: 'completed', widgets: this.transformContentsToWidgets(allCompleted, strip) },\n { value: 'overdue', widgets: this.transformContentsToWidgets(overdue, strip) }];\n }\n resetSelectedPill(pillData: any){\n if(pillData && pillData.length){\n pillData.forEach((pill: any) => {\n pill['selected'] = false\n });\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { HorizontalScrollerV2Module } from '../../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { ContentStripWithTabsPillsComponent } from './content-strip-with-tabs-pills.component';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\n\n// tslint:disable-next-line:function-name\nexport function HttpLoaderFactory1(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [ContentStripWithTabsPillsComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory1,\n deps: [HttpClient],\n },\n }),\n ],\n entryComponents: [ContentStripWithTabsPillsComponent],\n exports: [ContentStripWithTabsPillsComponent],\n})\nexport class ContentStripWithTabsPillsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { HorizontalScrollerV2Module } from '../../horizontal-scroller-v2/horizontal-scroller-v2.module';\n\nimport {\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n MatAutocompleteModule} from '@angular/material';\nimport { ContentStripFacetFilterComponent } from './content-strip-facet-filter.component';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { SbUiResolverModule } from '@sunbird-cb/resolver-v2';\nimport { HttpLoaderFactory1 } from '../content-strip-with-tabs-pills/content-strip-with-tabs-pills.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n\n@NgModule({\n declarations: [ContentStripFacetFilterComponent],\n imports: [\n SbUiResolverModule,\n CommonModule,\n RouterModule,\n HorizontalScrollerV2Module,\n MatProgressSpinnerModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatSidenavModule,\n MatCardModule,\n MatExpansionModule,\n MatRadioModule,\n MatChipsModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatSnackBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatTableModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatButtonToggleModule,\n MatTabsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory1,\n deps: [HttpClient],\n },\n }),\n ],\n entryComponents: [ContentStripFacetFilterComponent],\n exports: [ContentStripFacetFilterComponent],\n})\nexport class ContentStripFacetFilterModule { }\n","import { Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { Observable } from 'rxjs'\n\nconst API_POINTS = {\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\n COMPETENCY_LIST_V2: `apis/proxies/v8/searchBy/v2/competency`,\n CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,\n}\n\n@Injectable({ providedIn: 'root' })\n\nexport class CompetencyPassbookService {\n // tslint: disable-next-line: whitespace\n constructor(private http: HttpClient) { }\n getCompetencyList(payload: any): Observable<any> {\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\n }\n getCompetencyListv_V2(): Observable<any> {\n return this.http.get(API_POINTS.COMPETENCY_LIST_V2)\n }\n\n fetchCertificate(certId: string): Observable<any> {\n return this.http.get(API_POINTS.CERTIFICATE_URL + certId)\n }\n}\n","\nimport { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { CompetencyPassbookService } from './competency-passbook.service';\nimport { Router } from '@angular/router';\nimport { NsCompentency } from '../../_models/compentencies.model'\n\n@Component({\n selector: 'sb-uic-competency-passbook',\n templateUrl: './competency-passbook.component.html',\n styleUrls: ['./competency-passbook.component.scss']\n})\nexport class CompetencyPassbookComponent implements OnInit {\n\n @Input() objectData: any\n @Input() providerId: any\n @Input() cardDisplayCount: any = 3\n @Input() dynamicClass: any\n @Input() dynamicColor: any\n @Input() dynamicAlignPills: any = 'center'\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() temeletryResponse = new EventEmitter<any>()\n loadCometency: boolean = false\n loadCompetencyArea: boolean = false\n originalCompetencyArray: any\n competencyArea: any []\n selectedValue: any;\n competencyVersion:string = ''\n competencyTheme: any = []\n allcompetencyTheme: any ={}\n competencyStrength: any = 0\n competencyThemeLength: any = 6\n showAllTheme : any = [{name:'Show all', showAll: false}]\n environment!: any;\n comeptencyKeys: NsCompentency.CompentencyKeys;\n // subTheme = ['Behavioural']\n // currentFilter = 'Behavioural'\n // currentCompetencies: any = []\n // competencyData: any\n constructor(public configSvc: ConfigurationsService,\n public contentSvc:WidgetContentLibService,\n public competencySvc: CompetencyPassbookService,\n public router : Router,\n @Inject('environment') environment: any,\n ) { \n this.environment = environment\n }\n\n \n ngOnInit() {\n this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey]\n \n this.getAllCompetencies()\n // this.competencyData = this.objectData\n // this.filter(this.currentFilter)\n }\n // filter(filterValue: string) {\n // this.currentFilter = filterValue\n // this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)\n // }\n showMore() {\n this.objectData.viewMore = !this.objectData.viewMore\n }\n\n // to get competency area from facets\n async getCompetencyArea(){\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n this.loadCompetencyArea = true\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addfilter,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n this.competencyStrength = 0\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n response.results.result.facets.forEach((fact: any) => {\n\n if(fact.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`) {\n this.competencyArea = fact.values\n }\n });\n this.selectedValue = this.competencyArea[0].name.toLowerCase()\n this.competencyArea.forEach(async (area: any, indexValue: any)=> {\n let addFilter = {\n \"createdFor\": [\n this.providerId\n ]\n }\n let data = await this.getcompetencyThemeCount(area, addFilter)\n area['themeData'] = data\n area['count'] = data.length\n\n this.competencyStrength = this.competencyStrength + data.length\n if(indexValue === 0) {\n \n this.getThemeDataByArea(area)\n }\n })\n this.loadCompetencyArea = false\n }\n }\n } catch (error) {\n this.loadCompetencyArea = false\n this.emptyResponse.emit(true)\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n async callCompetencySearch(request){\n return new Promise<any>((resolve, reject) => {\n if (request && request) {\n this.contentSvc.searchV6(request).subscribe(results => {\n resolve({ results });\n },(error: any) => {\n reject(error);\n },\n );\n }\n });\n }\n\n // competency theam change\n competencyChange(e){\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n\n this.temeletryResponse.emit(e.name)\n \n this.getThemeDataByArea(e)\n this.selectedValue = e.name\n }\n getAllCompetencies(){\n this.loadCometency = true\n this.competencySvc.getCompetencyListv_V2().subscribe((response: any) => {\n this.allcompetencyTheme = {}\n if(response && response.result && response.result.content) {\n this.originalCompetencyArray = response.result.content\n this.getCompetencyArea()\n response.result.content.forEach(element => {\n element.children.forEach((childEle) => {\n let name = childEle.name.toLowerCase()\n this.allcompetencyTheme[name] = childEle\n this.allcompetencyTheme[name]['viewMore'] = false\n });\n });\n }\n this.loadCometency = false\n })\n }\n\n async getcompetencyTheme(value: any,addFilter?: any) {\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addFilter,\n [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`] : value,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n this.loadCometency = true\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n let competencyThemeData : any = response.results.result.facets[0].values \n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === value) {\n this.competencyTheme = competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n this.resetViewMore()\n }\n this.loadCometency = false\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n getThemeDataByArea(areaData: any){\n let competencyThemeData : any = areaData.themeData\n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === areaData.name) {\n this.competencyTheme = competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n this.getcompetencySubTheme(areaData,addfilter)\n }\n\n async getcompetencyThemeCount(area: any,addFilter?: any) {\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addFilter,\n [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`] : area.name,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n let returnedData : any = \n this.loadCometency = true\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n let competencyThemeData : any = response.results.result.facets[0].values \n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === area.name) {\n returnedData = competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n }\n this.loadCometency = false\n return returnedData\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n\n resetViewMore(){\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\n this.allcompetencyTheme[comp]['viewMore'] = false\n })\n }\n viewMoreChildren(data: any) {\n data.viewMore = !data.viewMore\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\n }\n displayAllTheme(event: any) {\n this.showAllTheme[0]['showAll'] = !event.showAll \n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\n this.temeletryResponse.emit(event.name)\n }\n\n navigateToCompetency(compData: any){\n this.router.navigateByUrl(`/app/learn/browse-by/competency/${compData.name}`)\n }\n\n\n async getcompetencySubTheme(compArea: any,addFilter?: any) {\n let request = {\n \"request\": {\n \"query\": \"\",\n \"filters\": {\n \"contentType\":\"Course\",\n ...addFilter,\n [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`] : compArea.name,\n \"status\": [\n \"Live\"\n ]\n },\n \"sort_by\": {\n \"lastUpdatedOn\": \"desc\"\n },\n \"facets\": [\n `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencySubTheme}`\n ],\n \"limit\": 0,\n \"offset\": 0,\n \"fields\": [\n ]\n }\n }\n \n try {\n this.loadCometency = true\n const response = await this.callCompetencySearch(request);\n if (response && response.results) {\n if(response.results.result.facets){\n let competencySubThemeData : any = response.results.result.facets[0].values \n this.competencyArea.forEach((areaEle: any) => {\n if(areaEle.name === compArea.name) {\n areaEle.themeData.forEach((themeEle) => {\n if(this.allcompetencyTheme[themeEle.name.toLowerCase()] &&\n this.allcompetencyTheme[themeEle.name.toLowerCase()].children && \n this.allcompetencyTheme[themeEle.name.toLowerCase()].children.length) {\n let data = this.allcompetencyTheme[themeEle.name.toLowerCase()].children.filter(obj1 => \n competencySubThemeData.some(obj2 => \n Object.keys(obj1).every(key => obj1['name'] === (obj2['name']))\n )\n );\n \n this.allcompetencyTheme[themeEle.name.toLowerCase()]['children'] = data\n }\n });\n }\n })\n }\n\n this.loadCometency = false\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-pills',\n templateUrl: './pills.component.html',\n styleUrls: ['./pills.component.scss']\n})\nexport class PillsComponent implements OnInit {\n\n @Input() pillsData: any\n @Input() selectedValue: any\n @Input() isLoading: boolean = false\n @Output() pillClick = new EventEmitter<any>()\n @Input() dynamicClass: any = ''\n @Input() dynamicColor: any = ''\n @Input() requiredTitlecase: boolean = true\n\n constructor() { }\n\n ngOnInit() {\n }\n selectedPill(pillData: any) {\n this.pillClick.emit(pillData)\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule } from '@angular/material';\nimport { PillsComponent } from './pills.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [PillsComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule\n ],\n exports: [PillsComponent]\n})\nexport class PillsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CompetencyPassbookComponent } from './competency-passbook.component';\nimport { MatIconModule } from '@angular/material';\nimport { PillsModule } from './../pills/pills.module';\nimport { CompetencyPassbookService } from './competency-passbook.service';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [CompetencyPassbookComponent],\n imports: [\n CommonModule,\n MatIconModule,\n PillsModule,\n SkeletonLoaderLibModule\n ],\n exports: [CompetencyPassbookComponent],\n providers:[CompetencyPassbookService]\n})\nexport class CompetencyPassbookModule { }\n","import { Injectable } from '@angular/core'\nimport { HttpClient } from '@angular/common/http'\nimport { Observable } from 'rxjs'\n\nconst API_POINTS = {\n COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,\n competency_URL: `apis/proxies/v8/v1/search/competenciesByOrg/`,\n COMPETENCY_LIST_V2: `apis/proxies/v8/searchBy/v2/competency`,\n}\n\n@Injectable({ providedIn: 'root' })\n\nexport class CompetencyPassbookMdoService {\n // tslint: disable-next-line: whitespace\n constructor(private http: HttpClient) { }\n getCompetencyList(payload: any): Observable<any> {\n return this.http.post(API_POINTS.COMPETENCY_LIST, payload)\n }\n getCompetencyListv_V2(): Observable<any> {\n return this.http.get(API_POINTS.COMPETENCY_LIST_V2)\n }\n mdoCompetency(providerId: string): Observable<any> {\n return this.http.get(API_POINTS.competency_URL + providerId)\n }\n}\n","import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { ConfigurationsService, EventService } from '@sunbird-cb/utils-v2';\nimport { WidgetContentLibService } from '../../_services/widget-content-lib.service';\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\nimport { Router } from '@angular/router';\nimport { NsCompentency } from '../../_models/compentencies.model';\n@Component({\n selector: 'sb-uic-competency-passbook-mdo',\n templateUrl: './competency-passbook-mdo.component.html',\n styleUrls: ['./competency-passbook-mdo.component.scss']\n})\nexport class CompetencyPassbookMdoComponent implements OnInit {\n\n @Input() objectData: any\n @Input() providerId: any\n @Input() cardDisplayCount: any = 3\n @Input() dynamicClass: any\n @Input() dynamicColor: any\n @Input() dynamicAlignPills: any = 'center'\n @Output() emptyResponse = new EventEmitter<any>()\n @Output() temeletryResponse = new EventEmitter<any>()\n loadCometency: boolean = false\n loadCompetencyArea: boolean = false\n originalCompetencyArray: any\n competencyArea: any []\n selectedValue: any = 'functional';\n competencyVersion:string = ''\n competencyThemeData: any\n competencyTheme: any = []\n allcompetencyTheme: any ={}\n competencyStrength: any = 0\n competencyThemeLength: any = 6\n showAllTheme : any = [{name:'Show all', showAll: false}]\n\n environment!: any;\n comeptencyKeys: NsCompentency.CompentencyKeys;\n \n // subTheme = ['Behavioural']\n // currentFilter = 'Behavioural'\n // currentCompetencies: any = []\n // competencyData: any\n constructor(public configSvc: ConfigurationsService,\n public contentSvc:WidgetContentLibService,\n public competencySvc: CompetencyPassbookMdoService,\n public router : Router,\n @Inject('environment') environment: any,\n\n ) {\n this.environment = environment\n }\n\n \n ngOnInit() {\n this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey]\n \n this.getAllCompetencies()\n }\n\n\n getAllCompetencies(){\n this.loadCometency = true\n let request = {\"search\":{\"type\":\"Competency Area\"},\"filter\":{\"isDetail\":true}}\n this.competencySvc.getCompetencyListv_V2().subscribe((response: any) => {\n this.allcompetencyTheme = {}\n if(response && response.result && response.result.content) {\n this.originalCompetencyArray = response.result.content\n this.getMdoCompetencies()\n // this.getCompetencyArea()\n response.result.content.forEach(element => {\n element.children.forEach((childEle) => {\n let name = childEle.name.toLowerCase()\n this.allcompetencyTheme[name] = childEle\n this.allcompetencyTheme[name]['viewMore'] = false\n });\n });\n }\n this.loadCometency = false\n })\n }\n \n\n\n async getMdoCompetencies(){\n try {\n this.loadCometency = true\n const response = await this.getMdoCompetency();\n if (response && response.results) {\n if(response.results.result.facets && response.results.result.facets.length){\n let facetData = response.results.result.facets\n facetData.forEach((facet: any) => {\n if(facet.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`) {\n this.competencyArea = facet.values\n this.selectedValue = facet.values[0].name\n } else if(facet.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`) {\n this.competencyThemeData = facet.values\n this.getCompetencyTheme()\n }\n });\n\n } else {\n this.emptyResponse.emit(true)\n }\n this.loadCometency = false\n }\n } catch (error) {\n // Handle errors\n // console.error('Error:', error);\n this.emptyResponse.emit(true)\n }\n }\n\n getCompetencyTheme(){\n this.originalCompetencyArray.forEach((element: any) => {\n if(element.name.toLowerCase() === this.selectedValue) {\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n } else if('Behavioral'.toLowerCase() === this.selectedValue) {\n this.competencyTheme = this.competencyThemeData.filter((ele1: any) => {\n return element.children.find((ele2: any) => ele2.name.toLowerCase() === ele1.name.toLowerCase())\n })\n this.showAllTheme = [{name:'Show all', showAll: false}]\n this.competencyThemeLength = 6\n }\n });\n this.resetViewMore()\n }\n\n\n async getMdoCompetency(){\n return new Promise<any>((resolve, reject) => {\n if (this.providerId) {\n this.competencySvc.mdoCompetency(this.providerId).subscribe(results => {\n resolve({ results });\n },(error: any) => {\n reject(error);\n },\n );\n }\n });\n }\n\n // competency theam change\n competencyChange(e){\n let addfilter: any = {}\n if(this.providerId) {\n addfilter = {\n \"createdFor\": [\n this.providerId\n ],\n }\n }\n\n this.temeletryResponse.emit(e.name)\n this.selectedValue = e.name\n this.getCompetencyTheme()\n }\n\n\n\n resetViewMore(){\n Object.keys(this.allcompetencyTheme).forEach((comp: any) => {\n this.allcompetencyTheme[comp]['viewMore'] = false\n })\n }\n viewMoreChildren(data: any) {\n data.viewMore = !data.viewMore\n this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore\n }\n displayAllTheme(event: any) {\n this.showAllTheme[0]['showAll'] = !event.showAll \n this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6\n this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all'\n this.temeletryResponse.emit(event.name)\n }\n\n navigateToCompetency(compData: any){\n this.router.navigateByUrl(`app/learn/browse-by/competency/${compData.name}`)\n }\n\n showMore() {\n this.objectData.viewMore = !this.objectData.viewMore\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CompetencyPassbookMdoComponent } from './competency-passbook-mdo.component';\nimport { MatIconModule } from '@angular/material';\nimport { PillsModule } from './../pills/pills.module';\nimport { CompetencyPassbookMdoService } from './competency-passbook-mdo.service';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\n\n\n\n@NgModule({\n declarations: [CompetencyPassbookMdoComponent],\n imports: [\n CommonModule,\n MatIconModule,\n PillsModule,\n SkeletonLoaderLibModule\n ],\n exports: [CompetencyPassbookMdoComponent],\n providers:[CompetencyPassbookMdoService]\n})\nexport class CompetencyPassbookMdoModule { }\n","import { Injectable } from '@angular/core'\nimport { Observable, of } from 'rxjs'\nimport { HttpClient } from '@angular/common/http'\nimport { NsAppRating } from '../_models/rating.model'\n\nconst PROXY_SLAG_V8 = '/apis/proxies/v8'\nconst API_END_POINTS = {\n GET_RATING: (contentId: string, contentType: string, userId: string) =>\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`,\n ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,\n GET_RATING_SUMMARY: (contentId: string, contentType: string) =>\n `${PROXY_SLAG_V8}/ratings/v1/summary/${contentId}/${contentType}`,\n GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,\n GET_AUTHOR_REPLY: (contentId: string, userID: string) =>\n `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`,\n POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,\n}\n\n@Injectable({\n providedIn: 'root',\n})\n\nexport class RatingService {\n\n constructor(public http: HttpClient) { }\n\n getRating(contentId: string, contentType: string, userId: string): Observable<any> {\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\n if (!forPreview) {\n return this.http.get<any>(\n API_END_POINTS.GET_RATING(contentId, contentType, userId)\n )\n }\n return of({})\n }\n\n addOrUpdateRating(req: NsAppRating.IRating): Observable<any> {\n return this.http.post<any>(\n API_END_POINTS.ADD_OR_UPDATE, req\n )\n }\n\n getRatingSummary(contentId: string, contentType: string): Observable<any> {\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\n if (!forPreview) {\n return this.http.get<any>(\n API_END_POINTS.GET_RATING_SUMMARY(contentId, contentType)\n )\n }\n return of({})\n }\n\n getRatingLookup(req: NsAppRating.ILookupRequest): Observable<any> {\n return this.http.post<any>(\n API_END_POINTS.GET_RATING_LOOKUP, req\n )\n }\n\n getRatingReply(req: any): Observable<any> {\n const forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true')\n if (!forPreview) {\n return this.http.post<any>(\n API_END_POINTS.POST_AUTHOR_REPLY, req\n )\n }\n return of({})\n }\n\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\n if (avg) {\n const avgRating = avg\n const ratingFloor = Math.floor(avgRating)\n // const difference = avgRating - ratingIndex\n if (ratingIndex <= ratingFloor) {\n return 'star'\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\n return 'star_half'\n }\n }\n return 'star'\n }\n\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\n if (avg) {\n const avgRating = avg\n const ratingFloor = Math.floor(avgRating)\n if (ratingIndex <= ratingFloor) {\n return true\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 >= 0.29 && avgRating % 1 < 0.71) {\n return true\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 > 0.71) {\n return true\n }\n if (ratingFloor === ratingIndex - 1 && avgRating % 1 < 0.29) {\n return false\n }\n }\n return false\n }\n\n getAuthorReply(contentId: string, userID: string): Observable<any> {\n return this.http.get<any>(\n API_END_POINTS.GET_AUTHOR_REPLY(contentId, userID)\n )\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nconst API_END_POINTS = {\n TOP_REVIEWS: `/apis/proxies/v8/ratings/v1/topReviews`\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class UserContentRatingLibService {\n\n constructor(private http: HttpClient) { }\n fetchTopReviews(doId: any): Observable<any> {\n return this.http.get<any>(`${API_END_POINTS.TOP_REVIEWS}/${doId}`)\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { RatingService } from '../../_services/rating.service';\nimport { ScrollableItemDirective } from './../../_directives/scrollable-item/scrollable-item.directive';\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\n\n@Component({\n selector: 'sb-uic-user-content-rating',\n templateUrl: './user-content-rating-lib.component.html',\n styleUrls: ['./user-content-rating-lib.component.scss']\n})\nexport class UserContentRatingLibComponent implements OnInit {\n currentIndex: any =0\n @Input() providerId : any = ''\n @Input() formData : any = ''\n @Output() emptyResponse = new EventEmitter<any>()\n styleData: any = {} \n contentdata: any = []\n\n\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor(public ratingService: RatingService,\n public userRatingSvc: UserContentRatingLibService\n ) { }\n\n ngOnInit() {\n this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData\n this.getTopReviews();\n }\n\n getTopReviews() {\n this.contentdata = []\n this.userRatingSvc.fetchTopReviews(this.providerId).subscribe((response: any) => {\n if(response && response.result && response.result.content.length) {\n response.result.content.forEach((contentEle: any) => {\n let localData = {}\n localData['content'] = contentEle.contentInfo\n localData['rating'] = contentEle.rating\n localData['review'] = contentEle.review\n localData['userDetails'] = contentEle.userDetails\n localData['cardSubType'] = \"card-wide-lib\"\n localData['cardCustomeClass'] = \"\"\n this.contentdata.push(localData)\n });\n } else {\n this.emptyResponse.emit(true)\n }\n },(_error: any)=> {\n this.emptyResponse.emit(true)\n })\n }\n\n getRatingIcon(ratingIndex: number, avg: number): 'star' | 'star_border' | 'star_half' {\n return this.ratingService.getRatingIcon(ratingIndex, avg)\n }\n getRatingIconClass(ratingIndex: number, avg: number): boolean {\n return this.ratingService.getRatingIconClass(ratingIndex, avg)\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n this.handleScrollClick(indexValue)\n }\n\n handleScrollClick(dataValue: string) {\n const item = this.scrollableItems.find(x => x.key === dataValue)\n item.scrollIntoView(\"nearest\");\n }\n\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule } from '@angular/material';\nimport { UserContentRatingLibComponent } from './user-content-rating-lib.component';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { SlidersLibModule } from '../sliders/sliders.module';\nimport { RatingService } from '../../_services/rating.service';\nimport { CardsModule } from '../cards/cards.module';\nimport { AvatarPhotoLibModule } from '../avatar-photo-lib/avatar-photo-lib.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { UserContentRatingLibService } from './user-content-rating-lib.service';\n\n\n\n@NgModule({\n declarations: [UserContentRatingLibComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n SlidersLibModule,\n CardsModule,\n AvatarPhotoLibModule,\n SlidersNgContentLibModule,\n ScrollableItemModule\n ],\n exports: [UserContentRatingLibComponent],\n providers: [RatingService, UserContentRatingLibService],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class UserContentRatingLibModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sb-uic-mdo-channel-v1',\n templateUrl: './mdo-channel-v1.component.html',\n styleUrls: ['./mdo-channel-v1.component.scss']\n})\nexport class MdoChannelV1Component implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, HostListener, Input, OnInit } from '@angular/core'\nimport { MatTabChangeEvent } from '@angular/material'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\n/* tslint:disable */\nimport * as _ from 'lodash'\nimport { TranslateService } from '@ngx-translate/core'\nimport { MultilingualTranslationsService } from '@sunbird-cb/utils-v2'\n\n@Component({\n selector: 'sb-uic-mdo-channel-v2',\n templateUrl: './mdo-channel-v2.component.html',\n styleUrls: ['./mdo-channel-v2.component.scss']\n})\nexport class MdoChannelV2Component implements OnInit {\n @Input() sectionList:any = []\n channnelName = ''\n orgId = ''\n selectedIndex = 0\n hideCompetencyBlock: boolean = false\n contentTabEmptyResponseCount: number = 0\n titles = [\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\n {\n title: `MDO Channels`,\n url: `/app/learn/mdo-channels/all-channels`,\n icon: '', disableTranslate: true,\n },\n ]\n showModal: boolean = false\n descriptionMaxLength = 500\n isTelemetryRaised: boolean = false\n stripWidth: any\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private eventSvc: EventService,\n private translate: TranslateService,\n private langtranslations: MultilingualTranslationsService,\n ) { \n if (this.route.snapshot.data && this.route.snapshot.data.formData\n && this.route.snapshot.data.formData.data\n && this.route.snapshot.data.formData.data.result\n && this.route.snapshot.data.formData.data.result.form\n && this.route.snapshot.data.formData.data.result.form.data\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\n ) {\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\n }\n this.langtranslations.languageSelectedObservable.subscribe(() => {\n if (localStorage.getItem('websiteLanguage')) {\n this.translate.setDefaultLang('en')\n const lang = localStorage.getItem('websiteLanguage')!\n this.translate.use(lang)\n }\n })\n }\n\n @HostListener('window:resize')\n onResize() {\n this.setWidth()\n }\n\n setWidth() {\n this.stripWidth = `${(window.innerWidth - 1200 + 135)/2}px`\n\n }\n\n ngOnInit() {\n this.route.params.subscribe(params => {\n this.channnelName = params['channel']\n this.orgId = params['orgId']\n this.titles.push({\n title: this.channnelName, icon: '', url: 'none', disableTranslate: true,\n })\n })\n this.setWidth()\n }\n\n public tabClicked(tabEvent: MatTabChangeEvent) {\n this.raiseTelemetry(`${tabEvent.tab.textLabel} tab`)\n }\n hideContentStrip(event: any, colData: any) {\n if (event) {\n colData.contentStripData['hideSection'] = true\n this.contentTabEmptyResponseCount = this.contentTabEmptyResponseCount + 1\n // if(this.contentTabEmptyResponseCount === 4 ) {\n // this.selectedIndex = 1\n // }\n }\n }\n\n triggerOpenDialog(event: boolean) {\n if(event) {\n this.showModal = true\n document.body.style.overflow = 'hidden'\n }\n this.raiseTelemetry('btn open key annoucements')\n }\n\n onClose() {\n this.showModal = false\n document.body.style.overflow = 'auto'\n this.raiseTelemetry('btn close key annoucements')\n }\n\n raiseTelemetryInteratEvent(event: any) {\n if (event && event.viewMoreUrl) {\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\n }\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\n this.eventSvc.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'mdo-channel',\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\n },\n {\n id: event.identifier,\n type: event.primaryCategory,\n },\n {\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n this.isTelemetryRaised = true\n }\n }\n\n raiseCompetencyTelemetry(name: string) {\n this.raiseTelemetry(`${name} core expertise`)\n }\n\n raiseTelemetry(name: string) {\n this.eventSvc.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'mdo-channel',\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n }\n\n hideCompetency(event: any) {\n if (event) {\n this.hideCompetencyBlock = true\n }\n }\n\n showAllContent(_stripData: any, columnData: any) {\n if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {\n const stripData: any = _stripData\n let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || ''\n this.router.navigate(\n [`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`],\n { queryParams: { tabSelected, key: columnData.sectionKey } })\n }\n }\n\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\nimport { MdoChannelV1Component } from './mdo-channel-v1/mdo-channel-v1.component';\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\n\nimport {\n AnnouncementsModule,\n CardsModule,\n CommonMethodsService,\n CommonStripModule,\n CompetencyPassbookModule,\n CompetencyPassbookMdoModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n SlidersLibModule,\n HttpLoaderFactory,\n TopLearnersModule,\n CbpPlanModule,\n} from './../../../../public-api'\nimport { MdoChannelV2Component } from './mdo-channel-v2/mdo-channel-v2.component';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n declarations: [MdoChannelV1Component, MdoChannelV2Component],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n AnnouncementsModule,\n TopLearnersModule,\n CbpPlanModule,\n CardsModule,\n CommonStripModule,\n CompetencyPassbookModule,\n CompetencyPassbookMdoModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n SlidersLibModule,\n MatTabsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports: [MdoChannelV1Component, MdoChannelV2Component],\n providers:[\n CommonMethodsService],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class MDOChannelModule { }\n","import { DatePipe } from '@angular/common'\nimport { Component, Input, OnInit } from '@angular/core'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2'\nimport * as _ from 'lodash'\n\n@Component({\n selector: 'sb-uic-providers-v2',\n templateUrl: './providers-v2.component.html',\n styleUrls: ['./providers-v2.component.scss']\n})\nexport class ProvidersV2Component implements OnInit {\n\n @Input() sectionList:any = []\n providerName = ''\n providerId = ''\n navList: any\n hideCompetencyBlock = false\n // sectionList: any = []\n currentMonthAndYear: any\n titles = [\n { title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },\n { title: `All Providers`,\n url: `/app/learn/browse-by/provider/all-providers`,\n icon: '', disableTranslate: true,\n },\n ]\n\n descriptionMaxLength = 500\n isTelemetryRaised = false\n\n constructor(private route: ActivatedRoute,\n public router: Router, private datePipe: DatePipe, private events: EventService) {\n\n }\n\n ngOnInit() {\n if (this.route.snapshot.data && this.route.snapshot.data.formData\n && this.route.snapshot.data.formData.data\n && this.route.snapshot.data.formData.data.result\n && this.route.snapshot.data.formData.data.result.form\n && this.route.snapshot.data.formData.data.result.form.data\n && this.route.snapshot.data.formData.data.result.form.data.sectionList\n ) {\n this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList\n }\n this.route.params.subscribe(params => {\n this.providerName = params['provider']\n this.providerId = params['orgId']\n this.titles.push({\n title: this.providerName, icon: '', url: 'none', disableTranslate: true,\n })\n })\n this.getNavitems()\n this.currentMonthAndYear = this.datePipe.transform(new Date(), 'MMMM y')\n }\n\n getNavitems() {\n this.navList = this.sectionList.filter(\n (obj: any) => obj.enabled && obj.navigation && obj.navOrder).sort(\n (a: any, b: any) => a.navOrder - b.navOrder)\n }\n\n scrollToSection(name: string) {\n let section: HTMLElement | any\n section = document.getElementById(name)\n if (section) {\n // section.scrollIntoView({ behavior: 'smooth', block: 'start',inline: 'nearest', offsetTop: yOffset })\n window.scrollTo({\n top: section.offsetTop - 121,\n behavior: 'smooth',\n })\n }\n }\n hideCompetency(event: any, columnData: any) {\n if (event) {\n this.hideCompetencyBlock = true\n columnData['navigation'] = false\n columnData['enabled'] = false\n this.navList.forEach((navItem: any) => {\n navItem.column.forEach((colEle: any) => {\n if (colEle.key === columnData.key) {\n navItem['navigation'] = false\n }\n })\n })\n }\n }\n hideContentStrip(event: any, contentStripData: any) {\n if (event) {\n contentStripData.contentStrip['hideSection'] = true\n }\n }\n hideLearnerReview(event: any, learnerReview: any) {\n if (event) {\n learnerReview['hideSection'] = true\n }\n }\n\n showAllContent(_stripData: any, columnData: any) {\n if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {\n const stripData: any = _stripData\n let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || ''\n this.router.navigate(\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-content`],\n { queryParams: { pageDetails: true, tabSelected, key: columnData.sectionKey } })\n\n } else {\n this.router.navigate(\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`],\n { queryParams: { pageDetails: true } })\n }\n }\n\n raiseTelemetryInteratEvent(event: any) {\n if (event && event.viewMoreUrl) {\n this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`)\n }\n if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'ATI/CTI',\n id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,\n },\n {\n id: event.identifier,\n type: event.primaryCategory,\n },\n {\n pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n this.isTelemetryRaised = true\n }\n }\n\n raiseCompetencyTelemetry(name: string) {\n this.raiseTelemetry(`${name} core expertise`)\n }\n\n raiseTelemetry(name: string) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'ATI/CTI',\n id: `${_.kebabCase(name).toLocaleLowerCase()}`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n }\n\n raiseNavTelemetry(name: string) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'ATI/CTI',\n id: `${_.kebabCase(name).toLocaleLowerCase()}-navigation`,\n },\n {},\n {\n module: WsEvents.EnumTelemetrymodules.LEARN,\n }\n )\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\nimport {\n CalenderModule,\n CardsModule, \n CommonMethodsService, \n CommonStripModule, \n CompetencyPassbookModule, \n ContentStripWithTabsLibModule,\n DataPointsModule, \n HttpLoaderFactory, \n SlidersLibModule, \n UserContentRatingLibModule \n} from './../../../../public-api'\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ProvidersV2Component } from './providers-v2/providers-v2.component';\nimport { RouterModule } from '@angular/router';\n\n\n@NgModule({\n declarations: [ProvidersV2Component],\n imports: [\n CommonModule,\n MatIconModule,\n RouterModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n CalenderModule,\n CardsModule,\n CommonStripModule,\n CompetencyPassbookModule,\n UserContentRatingLibModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n SlidersLibModule,\n MatTabsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n ],\n exports: [ProvidersV2Component],\n providers:[\n CommonMethodsService],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ProvidersModule { }\n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { EventService, WsEvents } from '@sunbird-cb/utils-v2';\nimport * as _ from 'lodash'\n\n@Component({\n selector: 'sb-uic-national-learning',\n templateUrl: './national-learning.component.html',\n styleUrls: ['./national-learning.component.scss']\n})\nexport class NationalLearningComponent implements OnInit {\n @Input() sectionList:any = []\n @Input() configDetails: any\n @Input() nwlConfiguration: any\n providerId: string = '123456789'\n providerName: ''\n descriptionMaxLength = 500\n environment: any\n constructor(@Inject('environment') environment: any,public router: Router, private events: EventService) {\n this.environment = environment\n }\n\n ngOnInit(): void {\n }\n\n\n hideKeyHightlight(event: any, learnerReview: any) {\n if (event) {\n learnerReview['hideSection'] = true\n }\n }\n\n showAllContent(_stripData: any, columnData: any) {\n if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {\n const stripData: any = _stripData\n let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || ''\n this.router.navigate(\n [`app/learn/karmayogi-saptah/see-all`],\n { queryParams: { pageDetails: true, tabSelected, key: columnData.sectionKey } })\n\n } else {\n this.router.navigate(\n [`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`],\n { queryParams: { pageDetails: true } })\n }\n }\n\n hideContentStrip(event: any, contentStripData: any) {\n if (event) {\n contentStripData.contentStrip['hideSection'] = true\n }\n }\n\n raiseTabClick(event) {\n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: 'mdo-leaderboard',\n id: `${event}-tab`,\n },\n {\n },\n {\n module: 'National Learning Week',\n }\n )\n }\n\n\n raiseTelemetryInteratEvent(event: any) {\n let _subType = 'mandatory-courses'\n let _id = 'mandatory-courses-card'\n if (event.typeOfTelemetry === 'learningContent') {\n _subType = 'explore-learning-content'\n _id = 'explore-learning-content-card'\n } \n this.events.raiseInteractTelemetry(\n {\n type: 'click',\n subType: _subType,\n id: _id,\n },\n {\n id: event.identifier,\n type: event.primaryCategory,\n },\n {\n pageIdExt: _id,\n module: 'National Learning Week',\n }\n )\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\n\n@Component({\n selector: 'sb-uic-key-highlights',\n templateUrl: './key-highlights.component.html',\n styleUrls: ['./key-highlights.component.scss']\n})\nexport class KeyHighlightsComponent implements OnInit {\n currentIndex: any = 0\n @Input() providerId : any = ''\n @Input() formData : any = ''\n @Input() mode: any\n @Output() emptyResponse = new EventEmitter<any>()\n titleMaxLength = 100\n\n styleData: any = {} \n contentdata: any = []\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor() { }\n\n ngOnInit() {\n this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData\n this.contentdata = this.formData && this.formData.content ? this.formData.content : []\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KeyHighlightsComponent } from './key-highlights.component';\nimport { MatIconModule } from '@angular/material';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\n\n\n\n@NgModule({\n declarations: [KeyHighlightsComponent],\n imports: [\n CommonModule,\n MatIconModule,\n SlidersNgContentLibModule,\n ScrollableItemModule\n ],\n exports: [\n KeyHighlightsComponent\n ],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class KeyHighlightsModule { }\n","import { Component, Input, OnInit } from '@angular/core'\nimport { InsiteDataService } from '../../_services/insite-data.service'\nimport * as moment_ from 'moment';\nconst moment = moment_;\n\n@Component({\n selector: 'sb-uic-events',\n templateUrl: './events.component.html',\n styleUrls: ['./events.component.scss']\n})\nexport class EventsComponent implements OnInit {\n\n @Input() object: any\n @Input() nwlEventsConfig: any\n daysBetween: any = []\n events: any = []\n requestBody: any\n currentDay: any\n loader: boolean = false\n constructor(public insightSvc: InsiteDataService) { }\n\n ngOnInit() {\n this.requestBody = {\n locale: [\n 'en',\n ],\n query: '',\n request: {\n query: '',\n filters: {\n status: ['Live'],\n contentType: 'Event',\n category: 'Event',\n startDate\t: {\n \">=\": '',\n \"<\": ''\n }\n },\n sort_by: {\n startDate: 'desc',\n },\n },\n }\n this.getEventsList()\n }\n getDaysBetweenDates() {\n let currentDate = moment(this.nwlEventsConfig.startDate, 'DD-MM-YYYY')\n const endDate = moment(this.nwlEventsConfig.endDate, 'DD-MM-YYYY')\n while (currentDate.isSameOrBefore(endDate)) {\n let localObj = {}\n localObj['startDate'] = currentDate.format('YYYY-MM-DD')\n localObj['diplayFormat'] = currentDate.format('MMM DD, YYYY')\n if(currentDate.isSame(moment(), 'day')){\n this.currentDay = currentDate.format('YYYY-MM-DD')\n }\n currentDate.add(1, 'days').format('YYYY-MM-DD')\n this.daysBetween.push(localObj)\n }\n console.log(\"currentDay \", this.currentDay)\n }\n\n getEvents(slectedDate: any) {\n this.currentDay = slectedDate.target.value\n let nextDay = moment(slectedDate.target.value, 'YYYY-MM-DD')\n nextDay.add(1, 'days')\n this.requestBody.request.filters.startDate[\">=\"] = this.currentDay\n this.requestBody.request.filters.startDate[\"<\"] = nextDay.format('YYYY-MM-DD')\n this.loader = true\n this.insightSvc.fetchTrainingDetails(this.requestBody).subscribe((res: any)=> {\n this.events = []\n if (res && res.result && res.result.count > 0) {\n\n this.events = this.sortItemByTime(res.result.Event)\n this.loader = false\n } else {\n this.loader = false\n }\n }, error => {\n this.loader = false\n })\n }\n\n getEventsList() {\n this.getDaysBetweenDates()\n let nextDay = moment(this.currentDay, 'YYYY-MM-DD')\n nextDay.add(1, 'days')\n this.requestBody.request.filters.startDate[\">=\"] = this.currentDay\n this.requestBody.request.filters.startDate[\"<\"] = nextDay.format('YYYY-MM-DD')\n this.loader = true\n this.insightSvc.fetchTrainingDetails(this.requestBody).subscribe((res: any)=> {\n this.events = []\n if (res && res.result && res.result.count > 0) {\n this.events = this.sortItemByTime(res.result.Event)\n this.loader = false\n } else {\n this.loader = false\n }\n }, error => {\n this.loader = false\n })\n }\n\n sortItemByTime(eventsdata: any) {\n return eventsdata.sort((a:any, b:any)=> {\n return (a.startTime === b.startTime)? 0 : b.startTime? -1 : 1;\n });\n }\n\n customDateFormat(date: any, time: any) {\n const stime = time.split('+')[0]\n const hour = stime.substr(0, 2)\n const min = stime.substr(2, 3)\n return `${date} ${hour}${min}`\n }\n\n}\n","import { Component, Inject, Input } from '@angular/core'\nimport { Router } from '@angular/router'\nimport * as moment_ from 'moment'\nconst moment = moment_\n\n@Component({\n selector: 'sb-uic-event-card',\n templateUrl: './event-card.component.html',\n styleUrls: ['./event-card.component.scss']\n})\nexport class EventCardComponent {\n\n @Input() objectData: any\n @Input() eventDetails: any\n environment!: any\n @Input() loader: any\n descriptionMaxLength: number = 50\n constructor(@Inject('environment') environment: any, private router: Router) {\n this.environment = environment\n }\n\n getEventDate(event: any) {\n let timeString = event.startTime.split(\":\")\n let dataString = `${moment(event.startDate).format('MMM DD, YYYY')} ${timeString[0]}:${timeString[1]}`\n return dataString\n }\n\n getPublicUrl(url: string): string {\n const mainUrl = url.split('/content').pop() || ''\n return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\n }\n\n redirectTo(event: any) {\n this.router.navigate([\"/app/event-hub/home/\", event.identifier]);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EventsComponent } from './events.component';\nimport { EventCardComponent } from './event-card/event-card.component';\nimport { RouterModule } from '@angular/router';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { MatIconModule } from '@angular/material';\n\n\n\n@NgModule({\n declarations: [EventsComponent, EventCardComponent],\n imports: [\n CommonModule,\n RouterModule,\n SkeletonLoaderLibModule,\n MatIconModule\n ],\n exports: [EventsComponent, EventCardComponent]\n})\nexport class EventsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\n\n@Component({\n selector: 'sb-uic-mdo-leaderboard',\n templateUrl: './mdo-leaderboard.component.html',\n styleUrls: ['./mdo-leaderboard.component.scss']\n})\nexport class MdoLeaderboardComponent implements OnInit {\n\n currentTab: any = 'XL'\n result: any = []\n filteredData: any\n searchTerm: string = ''\n expand: boolean = true\n\n @Input() object: any\n @Output() tabClicked = new EventEmitter<any>()\n constructor(private insiteDataService: InsiteDataService) { }\n\n ngOnInit() {\n this.getData()\n }\n\n getData() {\n this.insiteDataService.fetchLeaderboard().subscribe((res: any) => {\n if (res && res.result) {\n this.result = res.result\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab) \n .map(user => ({ ...user, children: [], selected: false })).slice(0, 5)\n }\n \n }, error => {\n console.log(error)\n })\n }\n\n getTabData(name: any) {\n this.currentTab = name\n this.searchTerm = ''\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab) \n .map(user => ({ ...user, children: [], selected: false })).slice(0, 5)\n let nameStr: any = ''\n switch (name) {\n case 'XL':\n nameStr = 'greater-than-50K'\n break\n case 'L':\n nameStr = '10K-50K'\n break\n case 'M':\n nameStr = '1K-10K'\n break\n case 'S':\n nameStr = '500-1K'\n break\n default:\n nameStr = 'less-than-500'\n break\n }\n this.tabClicked.emit(nameStr)\n }\n\n getRank(rank: number) {\n return [1,2,3].includes(rank) ? `rank${rank}` : 'rank0'\n }\n\n getMedal(rank: number) {\n if (rank === 1) {\n return 'assets/images/national-learning/Medal1.svg'\n } else if(rank === 2) {\n return 'assets/images/national-learning/Medal2.svg'\n } else {\n return 'assets/images/national-learning/Medal3.svg'\n }\n }\n\n handleSearchQuery(e: any) {\n if (e.target.value && e.target.value.length > 0) {\n this.searchTerm = e.target.value\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab && user.org_name.toLowerCase().includes(e.target.value))\n .map(user => ({ ...user, children: []})).slice(0, 5)\n } else {\n this.filteredData = this.result.mdoLeaderBoard\n .filter(user => user.size === this.currentTab)\n .map(user => ({ ...user, children: []})).slice(0, 5)\n }\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdoLeaderboardComponent } from './mdo-leaderboard.component';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { FormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [MdoLeaderboardComponent],\n imports: [\n CommonModule,\n MatIconModule,\n SkeletonLoaderLibModule,\n FormsModule,\n MatTooltipModule\n ],\n exports: [\n MdoLeaderboardComponent\n ],\n providers: [InsiteDataService]\n})\nexport class MdoLeaderboardModule { }\n","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\n\n@Component({\n selector: 'sb-uic-highlights-of-week',\n templateUrl: './highlights-of-week.component.html',\n styleUrls: ['./highlights-of-week.component.scss']\n})\nexport class HighlightsOfWeekComponent implements OnInit {\n\n @Input() objectData: any\n currentIndex = 0\n contentdata: any = []\n styleData: any = {}\n expand: boolean = true\n \n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor() { }\n\n ngOnInit() {\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\n if (this.objectData && this.objectData.list) {\n this.objectData.list.forEach((contentEle: any) => {\n let localData = {}\n localData['title'] = contentEle.title\n localData['videoUrl'] = contentEle.videoUrl\n localData['cardSubType'] = \"card-wide-lib\"\n localData['description'] = contentEle.description\n this.contentdata.push(localData)\n })\n }\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\nimport { HighlightsOfWeekComponent } from './highlights-of-week.component';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\n\n\n\n@NgModule({\n declarations: [HighlightsOfWeekComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatTooltipModule,\n ScrollableItemModule,\n SlidersNgContentLibModule\n ],\n exports: [\n HighlightsOfWeekComponent\n ]\n})\nexport class HighlightsOfWeekModule { }\n","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'sb-uic-speakers',\n templateUrl: './speakers.component.html',\n styleUrls: ['./speakers.component.scss']\n})\nexport class SpeakersComponent implements OnInit {\n @Input() objectData: any\n currentIndex = 0\n contentdata: any = []\n styleData: any = {}\n expand: boolean = true\n \n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n\n constructor(private route: Router) { }\n\n ngOnInit() {\n this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData\n if (this.objectData && this.objectData.list) {\n this.objectData.list.forEach((contentEle: any) => {\n let localData = {}\n localData['name'] = contentEle.title\n localData['cardSubType'] = \"card-wide-lib\"\n localData['description'] = contentEle.description\n localData['initial'] = this.createInititals(contentEle.title)\n localData['profileImage'] = contentEle.profileImage ? contentEle.profileImage : ''\n localData['identifier'] = contentEle.identifier ? contentEle.identifier : ''\n this.contentdata.push(localData)\n })\n }\n }\n\n createInititals(name: string) {\n let initials = ''\n const array = name.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < name.length; i += 1) {\n if (name.charAt(i) === ' ') {\n continue\n }\n if (name.charAt(i) === name.charAt(i)) {\n initials += name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n return initials.toUpperCase()\n }\n \n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n goToEvent(eventData:any) {\n if(eventData && eventData.identifier){\n this.route.navigateByUrl(`/app/event-hub/home/${eventData.identifier}`)\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SpeakersComponent } from './speakers.component';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\n\n\n\n@NgModule({\n declarations: [SpeakersComponent],\n imports: [\n CommonModule,\n ScrollableItemModule,\n SlidersNgContentLibModule,\n MatTooltipModule,\n MatIconModule,\n ],\n exports: [\n SpeakersComponent\n ]\n})\nexport class SpeakersModule { }\n","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { InsiteDataService } from '../../_services/insite-data.service';\nimport { ScrollableItemDirective } from '../../_directives/scrollable-item/scrollable-item.directive';\nimport { ConfigurationsService } from '@sunbird-cb/utils-v2';\n\n@Component({\n selector: 'sb-uic-user-progress',\n templateUrl: './user-progress.component.html',\n styleUrls: ['./user-progress.component.scss']\n})\nexport class UserProgressComponent implements OnInit {\n\n @Input() objectData: any\n @Input() rootOrgId: any\n insitesData = []\n currentIndex = 0\n styleData: any = {}\n userProgress: any = {}\n expand: boolean = true\n @ViewChildren(ScrollableItemDirective) scrollableItems: QueryList<ScrollableItemDirective>\n constructor(public insightSvc: InsiteDataService, private configSvc: ConfigurationsService,\n ) { }\n\n ngOnInit() {\n this.styleData = this.objectData.insights.data.sliderData.styleData\n this.getUserProgress()\n this.getInsightsData()\n }\n\n getUserProgress() {\n this.insightSvc.fetchUserProgress().subscribe((res: any) => {\n if(res && res.result && res.result.userLeaderBoard) {\n this.userProgress = res.result.userLeaderBoard\n if (!this.userProgress.fullname && this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.firstName) {\n this.userProgress['fullname'] = this.configSvc.userProfile.firstName\n this.userProgress['profile_image'] = this.configSvc.userProfile.profileImageUrl\n }\n }\n }, error => {\n this.userProgress['fullname'] = this.configSvc.userProfile.firstName\n this.userProgress['profile_image'] = this.configSvc.userProfile.profileImageUrl\n })\n }\n getInsightsData() {\n const request = {\n request: {\n filters: {\n primaryCategory: 'programs',\n organisations: [\n 'across',\n this.rootOrgId,\n //\"01390354700029132834\"\n ],\n },\n },\n }\n this.insightSvc.fetchInsightsData(request).subscribe((res: any) => {\n if (res && res.result && res.result.response && res.result.response.nudges) {\n this.insitesData = res.result.response.nudges\n this.insitesData = this.insitesData.map((obj: any) => {\n return {...obj, cardSubType: 'card-wide-lib'}\n })\n }\n })\n }\n\n roundTo(number: any) {\n return Math.round(number * 100 /100)\n }\n\n getCurrentIndex(indexValue: any) {\n this.currentIndex = indexValue\n }\n\n createInititals(name: string) {\n let initials = ''\n const array = name.toString().split(' ')\n if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {\n initials += array[0].charAt(0)\n initials += array[1].charAt(0)\n } else {\n for (let i = 0; i < name.length; i += 1) {\n if (name.charAt(i) === ' ') {\n continue\n }\n if (name.charAt(i) === name.charAt(i)) {\n initials += name.charAt(i)\n\n if (initials.length === 2) {\n break\n }\n }\n }\n }\n return initials.toUpperCase()\n }\n\n toggleWeekHightlits() {\n this.expand = !this.expand\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserProgressComponent } from './user-progress.component';\nimport { MatIconModule, MatTooltipModule } from '@angular/material';\nimport { ScrollableItemModule } from '../../_directives/scrollable-item/scrollable-item.module';\nimport { SlidersNgContentLibModule } from '../sliders-ng-content/sliders-ng-content.module';\n\n\n\n@NgModule({\n declarations: [UserProgressComponent],\n imports: [\n CommonModule,\n MatTooltipModule,\n MatIconModule,\n ScrollableItemModule,\n SlidersNgContentLibModule,\n ],\n exports: [\n UserProgressComponent\n ]\n})\nexport class UserProgressModule { }\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatChipsModule, MatIconModule, MatTabsModule } from '@angular/material';\nimport { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';\nimport { NationalLearningComponent } from './national-learning/national-learning.component';\nimport { CommonMethodsService } from '../../../_services/common-methods.service';\nimport { SlidersLibModule } from '../../sliders/sliders.module';\nimport { KeyHighlightsModule } from '../../key-highlights/key-highlights.module';\nimport { ContentStripWithTabsLibModule } from '../../content-strip-with-tabs-lib/content-strip-with-tabs-lib.module';\nimport { EventsModule } from '../../events/events.module';\nimport { MdoLeaderboardModule } from '../../mdo-leaderboard/mdo-leaderboard.module';\nimport { DataPointsModule } from '../../data-points/data-points.module';\nimport { HighlightsOfWeekModule } from '../../highlights-of-week/highlights-of-week.module';\nimport { SpeakersModule } from '../../speakers/speakers.module';\nimport { UserProgressModule } from '../../user-progress/user-progress.module';\nimport { ContentStripFacetFilterModule } from '../../strips/content-strip-facet-filter/content-strip-facet-filter.module';\n\n\n\n@NgModule({\n declarations: [NationalLearningComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule,\n SkeletonLoaderLibModule,\n SlidersLibModule,\n MatTabsModule,\n KeyHighlightsModule,\n ContentStripWithTabsLibModule,\n DataPointsModule,\n EventsModule,\n MdoLeaderboardModule,\n HighlightsOfWeekModule,\n SpeakersModule,\n UserProgressModule,\n ContentStripFacetFilterModule\n ],\n exports: [\n NationalLearningComponent,\n ],\n providers:[\n CommonMethodsService\n ],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class NationalLearningModule { }\n"],"names":["Injectable","Component","EventEmitter","fromEvent","debounceTime","throttleTime","timer","ValueService","Input","Output","ViewChild","NgModule","CommonModule","MatButtonModule","MatIconModule","MatProgressSpinnerModule","throwError","catchError","HttpHeaders","map","Observable","lodash.uniqBy","lodash.orderBy","Inject","HttpClient","moment_","PROTECTED_SLAG_V8","API_END_POINTS","BehaviorSubject","Subject","of","shareReplay","retry","EMPTY","_.get","ConfigurationsService","ReplaySubject","TranslateService","tslib_1.__extends","tslib_1.__values","filter","WsEvents","_.camelCase","LoggerService","EventService","UtilityService","Router","HostBinding","WidgetBaseComponent","TranslateHttpLoader","SbUiResolverModule","RouterModule","MatToolbarModule","MatTooltipModule","MatListModule","MatSidenavModule","MatCardModule","MatExpansionModule","MatRadioModule","MatChipsModule","MatInputModule","MatFormFieldModule","MatDialogModule","MatSnackBarModule","MatSelectModule","MatDatepickerModule","MatNativeDateModule","MatTableModule","MatCheckboxModule","MatButtonToggleModule","MatTabsModule","MatAutocompleteModule","TranslateModule","TranslateLoader","interval","distinctUntilChanged","Directive","BreakpointObserver","HostListener","HammerGestureConfig","HAMMER_GESTURE_CONFIG","FormsModule","ReactiveFormsModule","DatePipe","CUSTOM_ELEMENTS_SCHEMA","moment","ElementRef","ViewChildren","MyHammerConfig","NsCardContent","MatSnackBar","Pipe","duration","moment.duration","moment.utc","MultilingualTranslationsService","jsPDF","MatDialogRef","MAT_DIALOG_DATA","MatDialog","MatProgressBarModule","MatMenuModule","PipeSafeSanitizerModule","MatRippleModule","IStripUnitContentData","FormBuilder","API_POINTS","_.kebabCase","ActivatedRoute"],"mappings":"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"}