@taiga-ui/kit 3.25.0-dev.main-6e585e7 → 3.25.0-dev.main-c3bbfaa

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":"taiga-ui-kit-components-tag.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/kit/components/tag/tag-options.ts","../../../projects/kit/components/tag/tag.component.ts","../../../projects/kit/components/tag/tag.template.html","../../../projects/kit/components/tag/tag.module.ts","../../../projects/kit/components/tag/taiga-ui-kit-components-tag.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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {TuiStatus} from '@taiga-ui/kit/types';\n\nexport interface TuiTagOptions {\n readonly size: TuiSizeL | TuiSizeS;\n readonly status: TuiStatus;\n readonly autoColor: boolean;\n}\n\n/** Default values for the tag options. */\nexport const TUI_TAG_DEFAULT_OPTIONS: TuiTagOptions = {\n size: `m`,\n status: `default`,\n autoColor: false,\n};\n\n/**\n * Default parameters for Tag component\n */\nexport const TUI_TAG_OPTIONS = new InjectionToken<TuiTagOptions>(`[TUI_TAG_OPTIONS]`, {\n factory: () => TUI_TAG_DEFAULT_OPTIONS,\n});\n\nexport const tuiTagOptionsProvider: (options: Partial<TuiTagOptions>) => ValueProvider = (\n options: Partial<TuiTagOptions>,\n) => ({\n provide: TUI_TAG_OPTIONS,\n useValue: {...TUI_TAG_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_MODE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n tuiSizeBigger,\n TuiSizeL,\n TuiSizeS,\n TuiSizeXS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStatus} from '@taiga-ui/kit/types';\nimport {tuiStringHashToHsl} from '@taiga-ui/kit/utils/format';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_TAG_OPTIONS, TuiTagOptions} from './tag-options';\n\n@Component({\n selector: 'tui-tag, a[tuiTag]',\n templateUrl: './tag.template.html',\n styleUrls: ['./tag.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER, MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiTagComponent {\n // TODO: Possibly implement standard focus mechanisms and outline\n @Input()\n @tuiDefaultProp()\n value = '';\n\n @Input()\n @tuiDefaultProp()\n editable = false;\n\n @Input()\n @tuiDefaultProp()\n separator: RegExp | string = ',';\n\n @Input()\n @tuiDefaultProp()\n maxLength: number | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL | TuiSizeS = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-status')\n @tuiDefaultProp()\n status: TuiStatus = this.options.status;\n\n @Input()\n @HostBinding('class._hoverable')\n @tuiDefaultProp()\n hoverable = false;\n\n @Input()\n @tuiDefaultProp()\n removable = false;\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @HostBinding('class._autocolor')\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = '';\n\n @Output()\n readonly edited = new EventEmitter<string>();\n\n @HostBinding('class._editing')\n editing = false;\n\n editedText: string | null = null;\n\n @ViewChild('input', {read: ElementRef})\n set input(input: ElementRef<HTMLInputElement>) {\n if (input) {\n input.nativeElement.focus();\n }\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAG_OPTIONS) private readonly options: TuiTagOptions,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {}\n\n get backgroundColor(): string | null {\n return this.autoColor ? tuiStringHashToHsl(this.value) : null;\n }\n\n get canRemove(): boolean {\n return this.removable && !this.disabled && !this.showLoader;\n }\n\n get displayText(): string {\n return this.editedText === null ? this.value : this.editedText;\n }\n\n get loaderSize(): TuiSizeXS {\n return tuiSizeBigger(this.size) ? 's' : 'xs';\n }\n\n get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n @HostListener('keydown.enter', ['$event'])\n edit(event: Event): void {\n if (!this.canEdit) {\n return;\n }\n\n event.preventDefault();\n this.editing = true;\n this.editedText = this.value;\n }\n\n @HostListener('keydown.delete', ['$event'])\n @HostListener('keydown.backspace', ['$event'])\n remove(event: Event): void {\n if (!this.canRemove) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.edited.emit('');\n }\n\n onInput(value: string): void {\n const newTags = value.split(this.separator);\n\n if (newTags.length > 1) {\n this.save(String(newTags));\n\n return;\n }\n\n this.editedText = value;\n }\n\n onKeyDown(event: KeyboardEvent): void {\n event.stopPropagation();\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n event.preventDefault();\n this.save(this.editedText || '');\n break;\n case 'escape':\n case 'esc':\n event.preventDefault();\n this.stopEditing();\n this.el.nativeElement.focus();\n break;\n default:\n break;\n }\n }\n\n onBlur(): void {\n if (this.editedText !== null) {\n this.save(this.editedText);\n }\n }\n\n private get canEdit(): boolean {\n return this.editable && !this.disabled && !this.showLoader;\n }\n\n private stopEditing(): void {\n this.editing = false;\n this.editedText = null;\n }\n\n private save(value: string): void {\n this.stopEditing();\n this.edited.emit(value.trim());\n }\n}\n","<div\n class=\"t-tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n <div\n *ngIf=\"leftContent\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n ></tui-loader>\n <ng-container *ngIf=\"canRemove\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-tag__remove\"\n class=\"t-icon\"\n [src]=\"src\"\n (click)=\"remove($event)\"\n ></tui-svg>\n </ng-container>\n</div>\n<input\n *ngIf=\"editing\"\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"t-edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n (ngModelChange)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTagComponent} from './tag.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiPreventDefaultModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTagComponent],\n exports: [TuiTagComponent],\n})\nexport class TuiTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","EventEmitter","tuiStringHashToHsl","tuiSizeBigger","i0","ElementRef","TUI_MODE","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER","MODE_PROVIDER","i1","i2","i3","i4","i5","tuiDefaultProp","Component","ChangeDetectionStrategy","Inject","Input","HostBinding","Output","ViewChild","HostListener","CommonModule","FormsModule","TuiPreventDefaultModule","TuiSvgModule","TuiLoaderModule","PolymorpheusModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-tag.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/kit/components/tag/tag-options.ts","../../../projects/kit/components/tag/tag.component.ts","../../../projects/kit/components/tag/tag.template.html","../../../projects/kit/components/tag/tag.module.ts","../../../projects/kit/components/tag/taiga-ui-kit-components-tag.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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {TuiStatus} from '@taiga-ui/kit/types';\n\nexport interface TuiTagOptions {\n readonly size: TuiSizeL | TuiSizeS;\n readonly status: TuiStatus;\n readonly autoColor: boolean;\n}\n\n/** Default values for the tag options. */\nexport const TUI_TAG_DEFAULT_OPTIONS: TuiTagOptions = {\n size: `m`,\n status: `default`,\n autoColor: false,\n};\n\n/**\n * Default parameters for Tag component\n */\nexport const TUI_TAG_OPTIONS = new InjectionToken<TuiTagOptions>(`[TUI_TAG_OPTIONS]`, {\n factory: () => TUI_TAG_DEFAULT_OPTIONS,\n});\n\nexport const tuiTagOptionsProvider: (options: Partial<TuiTagOptions>) => ValueProvider = (\n options: Partial<TuiTagOptions>,\n) => ({\n provide: TUI_TAG_OPTIONS,\n useValue: {...TUI_TAG_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_MODE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n tuiSizeBigger,\n TuiSizeL,\n TuiSizeS,\n TuiSizeXS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStatus} from '@taiga-ui/kit/types';\nimport {tuiStringHashToHsl} from '@taiga-ui/kit/utils/format';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_TAG_OPTIONS, TuiTagOptions} from './tag-options';\n\n@Component({\n selector: 'tui-tag, a[tuiTag], button[tuiTag]',\n templateUrl: './tag.template.html',\n styleUrls: ['./tag.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER, MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiTagComponent {\n // TODO: Possibly implement standard focus mechanisms and outline\n @Input()\n @tuiDefaultProp()\n value = '';\n\n @Input()\n @tuiDefaultProp()\n editable = false;\n\n @Input()\n @tuiDefaultProp()\n separator: RegExp | string = ',';\n\n @Input()\n @tuiDefaultProp()\n maxLength: number | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL | TuiSizeS = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-status')\n @tuiDefaultProp()\n status: TuiStatus = this.options.status;\n\n @Input()\n @HostBinding('class._hoverable')\n @tuiDefaultProp()\n hoverable = false;\n\n @Input()\n @tuiDefaultProp()\n removable = false;\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @HostBinding('class._autocolor')\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = '';\n\n @Output()\n readonly edited = new EventEmitter<string>();\n\n @HostBinding('class._editing')\n editing = false;\n\n editedText: string | null = null;\n\n @ViewChild('input', {read: ElementRef})\n set input(input: ElementRef<HTMLInputElement>) {\n if (input) {\n input.nativeElement.focus();\n }\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAG_OPTIONS) private readonly options: TuiTagOptions,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {}\n\n get backgroundColor(): string | null {\n return this.autoColor ? tuiStringHashToHsl(this.value) : null;\n }\n\n get canRemove(): boolean {\n return this.removable && !this.disabled && !this.showLoader;\n }\n\n get displayText(): string {\n return this.editedText === null ? this.value : this.editedText;\n }\n\n get loaderSize(): TuiSizeXS {\n return tuiSizeBigger(this.size) ? 's' : 'xs';\n }\n\n get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n @HostListener('keydown.enter', ['$event'])\n edit(event: Event): void {\n if (!this.canEdit) {\n return;\n }\n\n event.preventDefault();\n this.editing = true;\n this.editedText = this.value;\n }\n\n @HostListener('keydown.delete', ['$event'])\n @HostListener('keydown.backspace', ['$event'])\n remove(event: Event): void {\n if (!this.canRemove) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.edited.emit('');\n }\n\n onInput(value: string): void {\n const newTags = value.split(this.separator);\n\n if (newTags.length > 1) {\n this.save(String(newTags));\n\n return;\n }\n\n this.editedText = value;\n }\n\n onKeyDown(event: KeyboardEvent): void {\n event.stopPropagation();\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n event.preventDefault();\n this.save(this.editedText || '');\n break;\n case 'escape':\n case 'esc':\n event.preventDefault();\n this.stopEditing();\n this.el.nativeElement.focus();\n break;\n default:\n break;\n }\n }\n\n onBlur(): void {\n if (this.editedText !== null) {\n this.save(this.editedText);\n }\n }\n\n private get canEdit(): boolean {\n return this.editable && !this.disabled && !this.showLoader;\n }\n\n private stopEditing(): void {\n this.editing = false;\n this.editedText = null;\n }\n\n private save(value: string): void {\n this.stopEditing();\n this.edited.emit(value.trim());\n }\n}\n","<div\n class=\"t-tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n <div\n *ngIf=\"leftContent\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <span\n automation-id=\"tui-tag__text\"\n class=\"t-text\"\n [textContent]=\"displayText\"\n ></span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-content\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n ></tui-loader>\n <ng-container *ngIf=\"canRemove\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-tag__remove\"\n class=\"t-icon\"\n [src]=\"src\"\n (click)=\"remove($event)\"\n ></tui-svg>\n </ng-container>\n</div>\n<input\n *ngIf=\"editing\"\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"t-edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n (ngModelChange)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTagComponent} from './tag.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiPreventDefaultModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTagComponent],\n exports: [TuiTagComponent],\n})\nexport class TuiTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","EventEmitter","tuiStringHashToHsl","tuiSizeBigger","i0","ElementRef","TUI_MODE","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER","MODE_PROVIDER","i1","i2","i3","i4","i5","tuiDefaultProp","Component","ChangeDetectionStrategy","Inject","Input","HostBinding","Output","ViewChild","HostListener","CommonModule","FormsModule","TuiPreventDefaultModule","TuiSvgModule","TuiLoaderModule","PolymorpheusModule","NgModule"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SafeResourceUrl } from '@angular/platform-browser';
1
+ import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
2
2
  import { TuiAvatarOptions } from './avatar-options';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiAvatarComponent {
@@ -6,6 +6,7 @@ export declare class TuiAvatarComponent {
6
6
  size: "m" | "l" | "xl" | "xxl" | "s" | "xs" | "xxs";
7
7
  set avatarUrlSetter(avatarUrl: SafeResourceUrl | string | null);
8
8
  text: string;
9
+ fallback: SafeHtml | string | null;
9
10
  autoColor: boolean;
10
11
  rounded: boolean;
11
12
  avatarUrl: SafeResourceUrl | string | null;
@@ -14,9 +15,11 @@ export declare class TuiAvatarComponent {
14
15
  get bgColor(): string;
15
16
  get hasAvatar(): boolean;
16
17
  get iconAvatar(): boolean;
18
+ get useFallback(): boolean;
17
19
  get computedText(): string;
18
20
  get stringAvatar(): string;
19
21
  onError(): void;
22
+ private getSlicedText;
20
23
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAvatarComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiAvatarComponent, "tui-avatar", never, { "size": "size"; "avatarUrlSetter": "avatarUrl"; "text": "text"; "autoColor": "autoColor"; "rounded": "rounded"; }, {}, never, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiAvatarComponent, "tui-avatar", never, { "size": "size"; "avatarUrlSetter": "avatarUrl"; "text": "text"; "fallback": "fallback"; "autoColor": "autoColor"; "rounded": "rounded"; }, {}, never, never>;
22
25
  }
@@ -42,5 +42,5 @@ export declare class TuiTagComponent {
42
42
  private stopEditing;
43
43
  private save;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTagComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTagComponent, "tui-tag, a[tuiTag]", never, { "value": "value"; "editable": "editable"; "separator": "separator"; "maxLength": "maxLength"; "size": "size"; "showLoader": "showLoader"; "status": "status"; "hoverable": "hoverable"; "removable": "removable"; "disabled": "disabled"; "autoColor": "autoColor"; "leftContent": "leftContent"; }, { "edited": "edited"; }, never, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTagComponent, "tui-tag, a[tuiTag], button[tuiTag]", never, { "value": "value"; "editable": "editable"; "separator": "separator"; "maxLength": "maxLength"; "size": "size"; "showLoader": "showLoader"; "status": "status"; "hoverable": "hoverable"; "removable": "removable"; "disabled": "disabled"; "autoColor": "autoColor"; "leftContent": "leftContent"; }, { "edited": "edited"; }, never, never>;
46
46
  }
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, } from '@angular/core';
3
- import { tuiDefaultProp, tuiIsString, tuiRequiredSetter } from '@taiga-ui/cdk';
3
+ import { tuiDefaultProp, tuiIsString, tuiPure, tuiRequiredSetter } from '@taiga-ui/cdk';
4
4
  import { tuiSizeBigger } from '@taiga-ui/core';
5
5
  import { tuiStringHashToHsl } from '@taiga-ui/kit/utils/format';
6
6
  import { TUI_AVATAR_OPTIONS } from './avatar-options';
@@ -13,6 +13,7 @@ export class TuiAvatarComponent {
13
13
  this.options = options;
14
14
  this.size = this.options.size;
15
15
  this.text = '';
16
+ this.fallback = null;
16
17
  this.autoColor = this.options.autoColor;
17
18
  this.rounded = this.options.rounded;
18
19
  this.avatarUrl = null;
@@ -32,14 +33,13 @@ export class TuiAvatarComponent {
32
33
  var _a;
33
34
  return tuiIsString(this.avatarUrl) && !!((_a = this.avatarUrl) === null || _a === void 0 ? void 0 : _a.startsWith('tuiIcon'));
34
35
  }
36
+ get useFallback() {
37
+ return (!!this.fallback && !!this.avatarUrl && !this.isUrlValid && !this.text.length);
38
+ }
35
39
  get computedText() {
36
- if (this.hasAvatar || this.iconAvatar || this.text === '') {
37
- return '';
38
- }
39
- const words = this.text.split(' ');
40
- return words.length > 1 && tuiSizeBigger(this.size)
41
- ? words[0].slice(0, 1) + words[1].slice(0, 1)
42
- : words[0].slice(0, 1);
40
+ return this.hasAvatar || this.iconAvatar || this.text === ''
41
+ ? ''
42
+ : this.getSlicedText(this.text, this.size);
43
43
  }
44
44
  get stringAvatar() {
45
45
  return this.iconAvatar ? String(this.avatarUrl) : '';
@@ -47,9 +47,15 @@ export class TuiAvatarComponent {
47
47
  onError() {
48
48
  this.isUrlValid = false;
49
49
  }
50
+ getSlicedText(text, size) {
51
+ const words = text.split(' ');
52
+ return words.length > 1 && tuiSizeBigger(size)
53
+ ? words[0].slice(0, 1) + words[1].slice(0, 1)
54
+ : words[0].slice(0, 1);
55
+ }
50
56
  }
51
57
  TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
52
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/require-img-alt -->\n<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-xl)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-xl)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", fallback: "fallback", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/require-img-alt -->\n<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"useFallback\"\n class=\"t-icon\"\n [src]=\"fallback!\"\n></tui-svg>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-xl)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-xl)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
59
  __decorate([
54
60
  tuiDefaultProp()
55
61
  ], TuiAvatarComponent.prototype, "size", void 0);
@@ -59,12 +65,18 @@ __decorate([
59
65
  __decorate([
60
66
  tuiDefaultProp()
61
67
  ], TuiAvatarComponent.prototype, "text", void 0);
68
+ __decorate([
69
+ tuiDefaultProp()
70
+ ], TuiAvatarComponent.prototype, "fallback", void 0);
62
71
  __decorate([
63
72
  tuiDefaultProp()
64
73
  ], TuiAvatarComponent.prototype, "autoColor", void 0);
65
74
  __decorate([
66
75
  tuiDefaultProp()
67
76
  ], TuiAvatarComponent.prototype, "rounded", void 0);
77
+ __decorate([
78
+ tuiPure
79
+ ], TuiAvatarComponent.prototype, "getSlicedText", null);
68
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, decorators: [{
69
81
  type: Component,
70
82
  args: [{
@@ -86,6 +98,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
86
98
  args: ['avatarUrl']
87
99
  }], text: [{
88
100
  type: Input
101
+ }], fallback: [{
102
+ type: Input
89
103
  }], autoColor: [{
90
104
  type: Input
91
105
  }], rounded: [{
@@ -99,5 +113,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
99
113
  }], hasAvatar: [{
100
114
  type: HostBinding,
101
115
  args: ['class._has-avatar']
102
- }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFDLGtCQUFrQixFQUFtQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQVF0RSxNQUFNLE9BQU8sa0JBQWtCO0lBOEIzQixZQUF5RCxPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQTFCbEYsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBV3pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFJVixjQUFTLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFLNUMsWUFBTyxHQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRXhDLGNBQVMsR0FBb0MsSUFBSSxDQUFDO1FBRWxELGVBQVUsR0FBRyxLQUFLLENBQUM7SUFFa0UsQ0FBQztJQXRCdEYsSUFBSSxlQUFlLENBQUMsU0FBMEM7UUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN0RCxDQUFDO0lBcUJELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxVQUFVOztRQUNWLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFDO0lBQ2xGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUN2RCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDOztnSEFoRVEsa0JBQWtCLGtCQThCUCxrQkFBa0I7b0dBOUI3QixrQkFBa0IsK1ZDcEIvQixtWEFlQTtBRFNJO0lBREMsY0FBYyxFQUFFO2dEQUNRO0FBSXpCO0lBREMsaUJBQWlCLEVBQUU7eURBSW5CO0FBSUQ7SUFEQyxjQUFjLEVBQUU7Z0RBQ1A7QUFJVjtJQURDLGNBQWMsRUFBRTtxREFDMkI7QUFLNUM7SUFEQyxjQUFjLEVBQUU7bURBQ3VCOzRGQXhCL0Isa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkErQmdCLE1BQU07MkJBQUMsa0JBQWtCOzRDQTFCdEMsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsZUFBZTtzQkFGbEIsS0FBSzt1QkFBQyxXQUFXO2dCQVNsQixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sU0FBUztzQkFGUixLQUFLO2dCQU9OLE9BQU87c0JBSE4sS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBV3pCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgdHVpSXNTdHJpbmcsIHR1aVJlcXVpcmVkU2V0dGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpU2l6ZUJpZ2dlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHt0dWlTdHJpbmdIYXNoVG9Ic2x9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvZm9ybWF0JztcblxuaW1wb3J0IHtUVUlfQVZBVEFSX09QVElPTlMsIFR1aUF2YXRhck9wdGlvbnN9IGZyb20gJy4vYXZhdGFyLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXZhdGFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZSA9IHRoaXMub3B0aW9ucy5zaXplO1xuXG4gICAgQElucHV0KCdhdmF0YXJVcmwnKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGF2YXRhclVybFNldHRlcihhdmF0YXJVcmw6IFNhZmVSZXNvdXJjZVVybCB8IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5hdmF0YXJVcmwgPSBhdmF0YXJVcmw7XG4gICAgICAgIHRoaXMuaXNVcmxWYWxpZCA9ICEhYXZhdGFyVXJsICYmICF0aGlzLmljb25BdmF0YXI7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRleHQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvQ29sb3I6IGJvb2xlYW4gPSB0aGlzLm9wdGlvbnMuYXV0b0NvbG9yO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9yb3VuZGVkJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvdW5kZWQ6IGJvb2xlYW4gPSB0aGlzLm9wdGlvbnMucm91bmRlZDtcblxuICAgIGF2YXRhclVybDogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpc1VybFZhbGlkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFRVSV9BVkFUQVJfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlBdmF0YXJPcHRpb25zKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kJylcbiAgICBnZXQgYmdDb2xvcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvQ29sb3IgPyB0dWlTdHJpbmdIYXNoVG9Ic2wodGhpcy50ZXh0KSA6ICcnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy1hdmF0YXInKVxuICAgIGdldCBoYXNBdmF0YXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF2YXRhclVybCAhPT0gbnVsbCAmJiB0aGlzLmlzVXJsVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BdmF0YXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh0aGlzLmF2YXRhclVybCkgJiYgISF0aGlzLmF2YXRhclVybD8uc3RhcnRzV2l0aCgndHVpSWNvbicpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzQXZhdGFyIHx8IHRoaXMuaWNvbkF2YXRhciB8fCB0aGlzLnRleHQgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3b3JkcyA9IHRoaXMudGV4dC5zcGxpdCgnICcpO1xuXG4gICAgICAgIHJldHVybiB3b3Jkcy5sZW5ndGggPiAxICYmIHR1aVNpemVCaWdnZXIodGhpcy5zaXplKVxuICAgICAgICAgICAgPyB3b3Jkc1swXS5zbGljZSgwLCAxKSArIHdvcmRzWzFdLnNsaWNlKDAsIDEpXG4gICAgICAgICAgICA6IHdvcmRzWzBdLnNsaWNlKDAsIDEpO1xuICAgIH1cblxuICAgIGdldCBzdHJpbmdBdmF0YXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbkF2YXRhciA/IFN0cmluZyh0aGlzLmF2YXRhclVybCkgOiAnJztcbiAgICB9XG5cbiAgICBvbkVycm9yKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVXJsVmFsaWQgPSBmYWxzZTtcbiAgICB9XG59XG4iLCI8IS0tIGVzbGludC1kaXNhYmxlIEBodG1sLWVzbGludC9yZXF1aXJlLWltZy1hbHQgLS0+XG48aW1nXG4gICAgKm5nSWY9XCJpc1VybFZhbGlkXCJcbiAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgY2xhc3M9XCJ0LWltYWdlXCJcbiAgICBbYXR0ci5hbHRdPVwidGV4dFwiXG4gICAgW3NyY109XCJhdmF0YXJVcmwgfHwgJydcIlxuICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuLz5cbjx0dWktc3ZnXG4gICAgKm5nSWY9XCJzdHJpbmdBdmF0YXJcIlxuICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICBbc3JjXT1cInN0cmluZ0F2YXRhclwiXG4+PC90dWktc3ZnPlxuPHNwYW4gY2xhc3M9XCJ0LXRleHRcIj57eyBjb21wdXRlZFRleHQgfX08L3NwYW4+XG4iXX0=
116
+ }], getSlicedText: [] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFDLGFBQWEsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBUXRFLE1BQU0sT0FBTyxrQkFBa0I7SUFrQzNCLFlBQXlELE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBOUJsRixTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFXekIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUlWLGFBQVEsR0FBNkIsSUFBSSxDQUFDO1FBSTFDLGNBQVMsR0FBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUs1QyxZQUFPLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFFeEMsY0FBUyxHQUFvQyxJQUFJLENBQUM7UUFFbEQsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUVrRSxDQUFDO0lBMUJ0RixJQUFJLGVBQWUsQ0FBQyxTQUEwQztRQUMxRCxJQUFJLENBQUMsU0FBUyxH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QkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsZUFBZTtzQkFGbEIsS0FBSzt1QkFBQyxXQUFXO2dCQVNsQixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sUUFBUTtzQkFGUCxLQUFLO2dCQU1OLFNBQVM7c0JBRlIsS0FBSztnQkFPTixPQUFPO3NCQUhOLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQVd6QixPQUFPO3NCQURWLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsbUJBQW1CO2dCQThCeEIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NhZmVIdG1sLCBTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgdHVpSXNTdHJpbmcsIHR1aVB1cmUsIHR1aVJlcXVpcmVkU2V0dGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpU2l6ZUJpZ2dlciwgVHVpU2l6ZVhYTCwgVHVpU2l6ZVhYU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHt0dWlTdHJpbmdIYXNoVG9Ic2x9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvZm9ybWF0JztcblxuaW1wb3J0IHtUVUlfQVZBVEFSX09QVElPTlMsIFR1aUF2YXRhck9wdGlvbnN9IGZyb20gJy4vYXZhdGFyLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXZhdGFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZSA9IHRoaXMub3B0aW9ucy5zaXplO1xuXG4gICAgQElucHV0KCdhdmF0YXJVcmwnKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGF2YXRhclVybFNldHRlcihhdmF0YXJVcmw6IFNhZmVSZXNvdXJjZVVybCB8IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5hdmF0YXJVcmwgPSBhdmF0YXJVcmw7XG4gICAgICAgIHRoaXMuaXNVcmxWYWxpZCA9ICEhYXZhdGFyVXJsICYmICF0aGlzLmljb25BdmF0YXI7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRleHQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBmYWxsYmFjazogU2FmZUh0bWwgfCBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvQ29sb3I6IGJvb2xlYW4gPSB0aGlzLm9wdGlvbnMuYXV0b0NvbG9yO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9yb3VuZGVkJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvdW5kZWQ6IGJvb2xlYW4gPSB0aGlzLm9wdGlvbnMucm91bmRlZDtcblxuICAgIGF2YXRhclVybDogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpc1VybFZhbGlkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFRVSV9BVkFUQVJfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlBdmF0YXJPcHRpb25zKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kJylcbiAgICBnZXQgYmdDb2xvcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvQ29sb3IgPyB0dWlTdHJpbmdIYXNoVG9Ic2wodGhpcy50ZXh0KSA6ICcnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy1hdmF0YXInKVxuICAgIGdldCBoYXNBdmF0YXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF2YXRhclVybCAhPT0gbnVsbCAmJiB0aGlzLmlzVXJsVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BdmF0YXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh0aGlzLmF2YXRhclVybCkgJiYgISF0aGlzLmF2YXRhclVybD8uc3RhcnRzV2l0aCgndHVpSWNvbicpO1xuICAgIH1cblxuICAgIGdldCB1c2VGYWxsYmFjaygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5mYWxsYmFjayAmJiAhIXRoaXMuYXZhdGFyVXJsICYmICF0aGlzLmlzVXJsVmFsaWQgJiYgIXRoaXMudGV4dC5sZW5ndGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0F2YXRhciB8fCB0aGlzLmljb25BdmF0YXIgfHwgdGhpcy50ZXh0ID09PSAnJ1xuICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgOiB0aGlzLmdldFNsaWNlZFRleHQodGhpcy50ZXh0LCB0aGlzLnNpemUpO1xuICAgIH1cblxuICAgIGdldCBzdHJpbmdBdmF0YXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbkF2YXRhciA/IFN0cmluZyh0aGlzLmF2YXRhclVybCkgOiAnJztcbiAgICB9XG5cbiAgICBvbkVycm9yKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVXJsVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U2xpY2VkVGV4dCh0ZXh0OiBzdHJpbmcsIHNpemU6IFR1aVNpemVYWEwgfCBUdWlTaXplWFhTKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgd29yZHMgPSB0ZXh0LnNwbGl0KCcgJyk7XG5cbiAgICAgICAgcmV0dXJuIHdvcmRzLmxlbmd0aCA+IDEgJiYgdHVpU2l6ZUJpZ2dlcihzaXplKVxuICAgICAgICAgICAgPyB3b3Jkc1swXS5zbGljZSgwLCAxKSArIHdvcmRzWzFdLnNsaWNlKDAsIDEpXG4gICAgICAgICAgICA6IHdvcmRzWzBdLnNsaWNlKDAsIDEpO1xuICAgIH1cbn1cbiIsIjwhLS0gZXNsaW50LWRpc2FibGUgQGh0bWwtZXNsaW50L3JlcXVpcmUtaW1nLWFsdCAtLT5cbjxpbWdcbiAgICAqbmdJZj1cImlzVXJsVmFsaWRcIlxuICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICBjbGFzcz1cInQtaW1hZ2VcIlxuICAgIFthdHRyLmFsdF09XCJ0ZXh0XCJcbiAgICBbc3JjXT1cImF2YXRhclVybCB8fCAnJ1wiXG4gICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4vPlxuPHR1aS1zdmdcbiAgICAqbmdJZj1cInVzZUZhbGxiYWNrXCJcbiAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgW3NyY109XCJmYWxsYmFjayFcIlxuPjwvdHVpLXN2Zz5cbjx0dWktc3ZnXG4gICAgKm5nSWY9XCJzdHJpbmdBdmF0YXJcIlxuICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICBbc3JjXT1cInN0cmluZ0F2YXRhclwiXG4+PC90dWktc3ZnPlxuPHNwYW4gY2xhc3M9XCJ0LXRleHRcIj57eyBjb21wdXRlZFRleHQgfX08L3NwYW4+XG4iXX0=
@@ -59,11 +59,13 @@ export class TuiComboBoxComponent extends AbstractTuiNullableControl {
59
59
  this.updateSearch(null);
60
60
  }
61
61
  handleOption(item) {
62
- this.setNativeValue(this.stringify(item));
63
62
  this.focusInput();
64
63
  this.close();
65
64
  this.updateSearch(null);
66
65
  this.value = item;
66
+ if (this.value) {
67
+ this.setNativeValue(this.stringify(item));
68
+ }
67
69
  }
68
70
  onFieldKeyDownEnter(event) {
69
71
  var _a;
@@ -208,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
208
210
  type: ContentChild,
209
211
  args: [TuiDataListDirective, { read: TemplateRef }]
210
212
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29tYm8tYm94L2NvbWJvLWJveC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBRWxCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsY0FBYyxFQUVkLGtCQUFrQixFQUNsQixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBRWxCLG9CQUFvQixFQUVwQiwwQkFBMEIsRUFDMUIsOEJBQThCLEdBS2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQWdCMUUsTUFBTSxPQUFPLG9CQUNULFNBQVEsMEJBQTZCO0lBK0NyQyxZQUlJ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QkFBQyxvQkFBb0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgVFVJX1NUUklDVF9NQVRDSEVSLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgVHVpU3RyaW5nTWF0Y2hlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IsXG4gICAgdHVpQXNEYXRhTGlzdEhvc3QsXG4gICAgdHVpQXNPcHRpb25Db250ZW50LFxuICAgIFR1aURhdGFMaXN0QWNjZXNzb3IsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplTSxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlWYWx1ZUNvbnRlbnRDb250ZXh0LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9BUlJPV19NT0RFLCBUdWlBcnJvd01vZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1RVSV9TRUxFQ1RfT1BUSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbic7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTLCBUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNvbWJvLWJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbWJvLWJveC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb21iby1ib3guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlDb21ib0JveENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzRGF0YUxpc3RIb3N0KFR1aUNvbWJvQm94Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUNvbWJvQm94Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNPcHRpb25Db250ZW50KFRVSV9TRUxFQ1RfT1BUSU9OKSxcbiAgICBdLFxuICAgIHZpZXdQcm92aWRlcnM6IFtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ29tYm9Cb3hDb21wb25lbnQ8VD5cbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxUPlxue1xuICAgIEBDb250ZW50Q2hpbGQoVFVJX0RBVEFfTElTVF9BQ0NFU1NPUiBhcyBhbnkpXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3Nvcj86IFR1aURhdGFMaXN0QWNjZXNzb3I8VD47XG5cbiAgICBAVmlld0NoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdGVkRHJvcGRvd24/OiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmluZ2lmeTogVHVpSXRlbXNIYW5kbGVyczxUPlsnc3RyaW5naWZ5J10gPSB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmljdE1hdGNoZXI6IFR1aVN0cmluZ01hdGNoZXI8VD4gPSBUVUlfU1RSSUNUX01BVENIRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWRlbnRpdHlNYXRjaGVyOiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydpZGVudGl0eU1hdGNoZXInXSA9XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5pZGVudGl0eU1hdGNoZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aVZhbHVlQ29udGVudENvbnRleHQ8VD4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RyaWN0ID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWFyY2g6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkYXRhbGlzdDogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPlxuICAgID4gPSAnJztcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93TW9kZTogVHVpQXJyb3dNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIpO1xuICAgIH1cblxuICAgIGdldCBhcnJvdygpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZU0gfCBUdWlTaXplUz5cbiAgICA+IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmludGVyYWN0aXZlID8gdGhpcy5hcnJvd01vZGUuZGlzYWJsZWQgOiB0aGlzLmFycm93TW9kZS5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/PyBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuaG9zdGVkRHJvcGRvd24gJiYgdGhpcy5ob3N0ZWREcm9wZG93bi5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCA/IHRoaXMuc2VhcmNoIHx8ICcnIDogdGhpcy5zdHJpbmdpZnkodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dWYWx1ZVRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmICF0aGlzLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQ29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aVZhbHVlQ29udGVudENvbnRleHQ8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVDb250ZW50IHx8IHRoaXMubmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBjaGVja09wdGlvbihvcHRpb246IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU3RyaWN0TWF0Y2gob3B0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbjtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gobnVsbCk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXROYXRpdmVWYWx1ZSh0aGlzLnN0cmluZ2lmeShpdGVtKSk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkVudGVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3I/LmdldE9wdGlvbnMoKSB8fCBbXTtcblxuICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBvcHRpb25zWzBdO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCh2YWx1ZSk7XG5cbiAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLmFjY2Vzc29yPy5nZXRPcHRpb25zKCkuZmluZChpdGVtID0+IHRoaXMuaXNTdHJpY3RNYXRjaChpdGVtKSk7XG5cbiAgICAgICAgaWYgKG1hdGNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtYXRjaDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zdHJpY3QgfHwgdGhpcy5zZWFyY2ggPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4odHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSAndmFsdWUnIHNldHRlciAqL1xuICAgIG92ZXJyaWRlIHVwZGF0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNTdHJpY3RNYXRjaChpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmljdE1hdGNoZXIoaXRlbSwgdGhpcy5zZWFyY2ggfHwgJycsIHRoaXMuc3RyaW5naWZ5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaChzZWFyY2g6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoID09PSBzZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXROYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGx9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiaW50ZXJhY3RpdmVcIlxuICAgIFtjb250ZW50XT1cImRhdGFsaXN0IHx8ICcnXCJcbiAgICBbKG9wZW4pXT1cIm9wZW5cIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jb21iby1ib3hfX3RleHRmaWVsZFwiXG4gICAgICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgICAgICBbcHNldWRvRm9jdXNdPVwiY29tcHV0ZWRGb2N1c2VkXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiYXJyb3cgPyBpY29uIDogJydcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICBbdmFsdWVdPVwibmF0aXZlVmFsdWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25GaWVsZEtleURvd25FbnRlcigkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNob3dWYWx1ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwidHVpQ29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNvbWJvLWJveF9fdGVtcGxhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb21wdXRlZENvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogdmFsdWUhLCBhY3RpdmU6IGNvbXB1dGVkRm9jdXNlZH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpY29uPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29tYm8tYm94L2NvbWJvLWJveC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBRWxCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsY0FBYyxFQUVkLGtCQUFrQixFQUNsQixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBRWxCLG9CQUFvQixFQUVwQiwwQkFBMEIsRUFDMUIsOEJBQThCLEdBS2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQWdCMUUsTUFBTSxPQUFPLG9CQUNULFNBQVEsMEJBQTZCO0lBK0NyQyxZQUlJ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QkFEcEIsTUFBTTtnQkFJRSxRQUFRO3NCQURoQixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBUVUlfU1RSSUNUX01BVENIRVIsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzUHJlc2VudCxcbiAgICBUdWlTdHJpbmdNYXRjaGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEFfTElTVF9BQ0NFU1NPUixcbiAgICB0dWlBc0RhdGFMaXN0SG9zdCxcbiAgICB0dWlBc09wdGlvbkNvbnRlbnQsXG4gICAgVHVpRGF0YUxpc3RBY2Nlc3NvcixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVNLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVZhbHVlQ29udGVudENvbnRleHQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0FSUk9XX01PREUsIFR1aUFycm93TW9kZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Fycm93JztcbmltcG9ydCB7VFVJX1NFTEVDVF9PUFRJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7RklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlMsIFR1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY29tYm8tYm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tYm8tYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbWJvLWJveC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUNvbWJvQm94Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpQ29tYm9Cb3hDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpQ29tYm9Cb3hDb21wb25lbnQpLFxuICAgICAgICB0dWlBc09wdGlvbkNvbnRlbnQoVFVJX1NFTEVDVF9PUFRJT04pLFxuICAgIF0sXG4gICAgdmlld1Byb3ZpZGVyczogW0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDb21ib0JveENvbXBvbmVudDxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFQ+XG57XG4gICAgQENvbnRlbnRDaGlsZChUVUlfREFUQV9MSVNUX0FDQ0VTU09SIGFzIGFueSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpRGF0YUxpc3RBY2Nlc3NvcjxUPjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RyaW5naWZ5OiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydzdHJpbmdpZnknXSA9IHRoaXMuaXRlbXNIYW5kbGVycy5zdHJpbmdpZnk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RyaWN0TWF0Y2hlcjogVHVpU3RyaW5nTWF0Y2hlcjxUPiA9IFRVSV9TVFJJQ1RfTUFUQ0hFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpZGVudGl0eU1hdGNoZXI6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ2lkZW50aXR5TWF0Y2hlciddID1cbiAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmlkZW50aXR5TWF0Y2hlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpVmFsdWVDb250ZW50Q29udGV4dDxUPj4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9ICcnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0FSUk9XX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3dNb2RlOiBUdWlBcnJvd01vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkcik7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgPyB0aGlzLmFycm93TW9kZS5kaXNhYmxlZCA6IHRoaXMuYXJyb3dNb2RlLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5ob3N0ZWREcm9wZG93biAmJiB0aGlzLmhvc3RlZERyb3Bkb3duLmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBudWxsID8gdGhpcy5zZWFyY2ggfHwgJycgOiB0aGlzLnN0cmluZ2lmeSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlVGVtcGxhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1ByZXNlbnQodGhpcy52YWx1ZSkgJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpVmFsdWVDb250ZW50Q29udGV4dDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnRlbnQgfHwgdGhpcy5uYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIGNoZWNrT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdHJpY3RNYXRjaChvcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gb3B0aW9uO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24oaXRlbTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW07XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TmF0aXZlVmFsdWUodGhpcy5zdHJpbmdpZnkoaXRlbSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmFjY2Vzc29yPy5nZXRPcHRpb25zKCkgfHwgW107XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gb3B0aW9uc1swXTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gobnVsbCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2godmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5hY2Nlc3Nvcj8uZ2V0T3B0aW9ucygpLmZpbmQoaXRlbSA9PiB0aGlzLmlzU3RyaWN0TWF0Y2goaXRlbSkpO1xuXG4gICAgICAgIGlmIChtYXRjaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbWF0Y2g7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RyaWN0IHx8IHRoaXMuc2VhcmNoID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgJ3ZhbHVlJyBzZXR0ZXIgKi9cbiAgICBvdmVycmlkZSB1cGRhdGVWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzU3RyaWN0TWF0Y2goaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdHJpY3RNYXRjaGVyKGl0ZW0sIHRoaXMuc2VhcmNoIHx8ICcnLCB0aGlzLnN0cmluZ2lmeSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbihmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWFyY2goc2VhcmNoOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaDtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdChzZWFyY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dHVpLWhvc3RlZC1kcm9wZG93blxuICAgIGNsYXNzPVwidC1ob3N0ZWRcIlxuICAgIFtjYW5PcGVuXT1cImludGVyYWN0aXZlXCJcbiAgICBbY29udGVudF09XCJkYXRhbGlzdCB8fCAnJ1wiXG4gICAgWyhvcGVuKV09XCJvcGVuXCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmUoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY29tYm8tYm94X190ZXh0ZmllbGRcIlxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cImFycm93ID8gaWNvbiA6ICcnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbZm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAgICAgW3ZhbHVlXT1cIm5hdGl2ZVZhbHVlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRmllbGRLZXlEb3duRW50ZXIoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgPjwvbmctY29udGVudD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93VmFsdWVUZW1wbGF0ZVwiXG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cInR1aUNvbnRlbnRcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jb21iby1ib3hfX3RlbXBsYXRlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC12YWx1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29tcHV0ZWRDb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHZhbHVlISwgYWN0aXZlOiBjb21wdXRlZEZvY3VzZWR9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJhcnJvd1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19