@taiga-ui/addon-commerce 3.20.0 → 3.21.0-dev.main-92c5f00
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.
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +18 -6
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
- package/components/input-card-grouped/input-card-grouped.component.d.ts +3 -0
- package/components/input-card-grouped/input-card-grouped.module.d.ts +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +16 -7
- package/esm2015/components/input-card-grouped/input-card-grouped.module.js +6 -3
- package/esm2015/components/input-expire/input-expire.component.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +19 -7
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/addon-commerce/components/input-expire/input-expire.component.ts","../../../projects/addon-commerce/components/input-expire/input-expire.template.html","../../../projects/addon-commerce/components/input-expire/input-expire.module.ts","../../../projects/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiCreateAutoCorrectedExpirePipe} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DIGIT_REGEXP,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-input-expire',\n templateUrl: './input-expire.template.html',\n styleUrls: ['./input-expire.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputExpireComponent),\n tuiAsControl(TuiInputExpireComponent),\n ],\n})\nexport class TuiInputExpireComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-exp' : 'off';\n }\n\n onValueChange(value: string): void {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.input?.nativeFocusableElement) {\n return;\n }\n\n if (parseInt(value.slice(0, 2), 10) > 12) {\n value = `12${value.slice(2)}`;\n }\n\n if (value.slice(0, 2) === '00') {\n value = `01${value.slice(2)}`;\n }\n\n this.input.nativeFocusableElement.value = value;\n\n if (this.value !== value) {\n this.updateValue(value);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [textMask]=\"textMaskOptions\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <input\n tuiTextfield\n inputmode=\"numeric\"\n placeholder=\"00/00\"\n translate=\"no\"\n type=\"\"\n [attr.autocomplete]=\"autocomplete\"\n />\n <ng-content></ng-content>\n</tui-primitive-textfield>\n","import {NgModule} from '@angular/core';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputExpireComponent} from './input-expire.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputExpireComponent],\n exports: [TuiInputExpireComponent],\n})\nexport class TuiInputExpireModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TUI_DIGIT_REGEXP","tuiCreateAutoCorrectedExpirePipe","AbstractTuiControl","NgControl","ChangeDetectorRef","i0","tuiAsFocusableItemAccessor","tuiAsControl","TuiPrimitiveTextfieldComponent","i1","i2","tuiDefaultProp","Component","ChangeDetectionStrategy","Optional","Self","Inject","ViewChild","Input","TextMaskModule","TuiPrimitiveTextfieldModule","TuiTextfieldControllerModule","TuiValueAccessorModule","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/addon-commerce/components/input-expire/input-expire.component.ts","../../../projects/addon-commerce/components/input-expire/input-expire.template.html","../../../projects/addon-commerce/components/input-expire/input-expire.module.ts","../../../projects/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiCreateAutoCorrectedExpirePipe} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DIGIT_REGEXP,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-input-expire',\n templateUrl: './input-expire.template.html',\n styleUrls: ['./input-expire.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputExpireComponent),\n tuiAsControl(TuiInputExpireComponent),\n ],\n})\nexport class TuiInputExpireComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-exp' : 'off';\n }\n\n onValueChange(value: string): void {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.input?.nativeFocusableElement) {\n return;\n }\n\n if (parseInt(value.slice(0, 2), 10) > 12) {\n value = `12${value.slice(2)}`;\n }\n\n if (value.startsWith('00')) {\n value = `01${value.slice(2)}`;\n }\n\n this.input.nativeFocusableElement.value = value;\n\n if (this.value !== value) {\n this.updateValue(value);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [textMask]=\"textMaskOptions\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <input\n tuiTextfield\n inputmode=\"numeric\"\n placeholder=\"00/00\"\n translate=\"no\"\n type=\"\"\n [attr.autocomplete]=\"autocomplete\"\n />\n <ng-content></ng-content>\n</tui-primitive-textfield>\n","import {NgModule} from '@angular/core';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputExpireComponent} from './input-expire.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputExpireComponent],\n exports: [TuiInputExpireComponent],\n})\nexport class TuiInputExpireModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TUI_DIGIT_REGEXP","tuiCreateAutoCorrectedExpirePipe","AbstractTuiControl","NgControl","ChangeDetectorRef","i0","tuiAsFocusableItemAccessor","tuiAsControl","TuiPrimitiveTextfieldComponent","i1","i2","tuiDefaultProp","Component","ChangeDetectionStrategy","Optional","Self","Inject","ViewChild","Input","TextMaskModule","TuiPrimitiveTextfieldModule","TuiTextfieldControllerModule","TuiValueAccessorModule","NgModule"],"mappings":"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"}
|
|
@@ -14,8 +14,11 @@ export declare class TuiInputCardGroupedComponent extends AbstractTuiNullableCon
|
|
|
14
14
|
readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>;
|
|
15
15
|
readonly controller: TuiTextfieldController;
|
|
16
16
|
private readonly inputCard?;
|
|
17
|
+
private readonly cardNumberAutofocusRef?;
|
|
17
18
|
private readonly inputExpire?;
|
|
19
|
+
private readonly expireCardAutofocusRef?;
|
|
18
20
|
private readonly inputCVC?;
|
|
21
|
+
private readonly cvcCardAutofocusRef?;
|
|
19
22
|
private expireInert;
|
|
20
23
|
autocompleteEnabled: boolean;
|
|
21
24
|
cardSrc: PolymorpheusContent;
|
|
@@ -9,6 +9,6 @@ import * as i7 from "@tinkoff/ng-polymorpheus";
|
|
|
9
9
|
import * as i8 from "@taiga-ui/addon-commerce/pipes";
|
|
10
10
|
export declare class TuiInputCardGroupedModule {
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputCardGroupedModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputCardGroupedModule, [typeof i1.TuiInputCardGroupedComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.TextMaskModule, typeof i5.TuiFocusableModule, typeof i6.TuiSvgModule, typeof i6.TuiWrapperModule, typeof i5.TuiActiveZoneModule, typeof i5.TuiMapperPipeModule, typeof i6.TuiDropdownModule, typeof i5.TuiPreventDefaultModule, typeof i7.PolymorpheusModule, typeof i5.TuiLetModule, typeof i8.TuiFormatCardModule], [typeof i1.TuiInputCardGroupedComponent]>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputCardGroupedModule, [typeof i1.TuiInputCardGroupedComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.TextMaskModule, typeof i5.TuiFocusableModule, typeof i6.TuiSvgModule, typeof i6.TuiWrapperModule, typeof i5.TuiActiveZoneModule, typeof i5.TuiMapperPipeModule, typeof i6.TuiDropdownModule, typeof i5.TuiPreventDefaultModule, typeof i7.PolymorpheusModule, typeof i5.TuiLetModule, typeof i8.TuiFormatCardModule, typeof i5.TuiAutoFocusModule], [typeof i1.TuiInputCardGroupedComponent]>;
|
|
13
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<TuiInputCardGroupedModule>;
|
|
14
14
|
}
|
|
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, El
|
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { TUI_CARD_MASK, tuiDefaultCardValidator } from '@taiga-ui/addon-commerce/constants';
|
|
5
5
|
import { tuiCreateAutoCorrectedExpirePipe, tuiGetPaymentSystem, } from '@taiga-ui/addon-commerce/utils';
|
|
6
|
-
import { AbstractTuiNullableControl, tuiAsControl, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiIsElement, tuiIsInput, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiPure, tuiRequiredSetter, } from '@taiga-ui/cdk';
|
|
6
|
+
import { AbstractTuiNullableControl, tuiAsControl, tuiAsFocusableItemAccessor, TuiAutoFocusDirective, tuiDefaultProp, tuiIsElement, tuiIsInput, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiPure, tuiRequiredSetter, } from '@taiga-ui/cdk';
|
|
7
7
|
import { MODE_PROVIDER, TEXTFIELD_CONTROLLER_PROVIDER, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TUI_TEXTFIELD_WATCHED_CONTROLLER, tuiAsDataListHost, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
|
|
8
8
|
import { TUI_INPUT_CARD_GROUPED_TEXTS, } from './input-card-grouped.providers';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
@@ -206,7 +206,7 @@ export class TuiInputCardGroupedComponent extends AbstractTuiNullableControl {
|
|
|
206
206
|
if (parseInt(expire.slice(0, 2), 10) > 12) {
|
|
207
207
|
expire = `12${expire.slice(2)}`;
|
|
208
208
|
}
|
|
209
|
-
if (expire.
|
|
209
|
+
if (expire.startsWith('00')) {
|
|
210
210
|
expire = `01${expire.slice(2)}`;
|
|
211
211
|
}
|
|
212
212
|
this.inputExpire.nativeElement.value = expire;
|
|
@@ -253,15 +253,15 @@ export class TuiInputCardGroupedComponent extends AbstractTuiNullableControl {
|
|
|
253
253
|
/** Public API for manual focus management */
|
|
254
254
|
focusCard() {
|
|
255
255
|
var _a;
|
|
256
|
-
(_a = this.
|
|
256
|
+
(_a = this.cardNumberAutofocusRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
257
257
|
}
|
|
258
258
|
focusExpire() {
|
|
259
259
|
var _a;
|
|
260
|
-
(_a = this.
|
|
260
|
+
(_a = this.expireCardAutofocusRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
261
261
|
}
|
|
262
262
|
focusCVC() {
|
|
263
263
|
var _a;
|
|
264
|
-
(_a = this.
|
|
264
|
+
(_a = this.cvcCardAutofocusRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
265
265
|
}
|
|
266
266
|
get cardFocused() {
|
|
267
267
|
return !!this.inputCard && tuiIsNativeFocused(this.inputCard.nativeElement);
|
|
@@ -311,7 +311,7 @@ TuiInputCardGroupedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
311
311
|
tuiAsDataListHost(TuiInputCardGroupedComponent),
|
|
312
312
|
MODE_PROVIDER,
|
|
313
313
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
314
|
-
], queries: [{ propertyName: "dropdown", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "datalist", first: true, predicate: TuiDataListComponent, descendants: true }], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n tuiWrapper\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [tuiDropdownManual]=\"open\"\n [tuiDropdown]=\"dropdown || ''\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard : cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper : cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n translate=\"no\"\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [innerText]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n class=\"t-icon-outlet\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"text\"\n ></tui-svg>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</div>\n", styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill: var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate(100%)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate(100%)}.t-wrapper_active{transform:translate(6.5625rem)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate(4.125rem)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;border:0;padding-left:1rem;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:hover,.t-collapsed:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-collapsed:-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate(100%)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;border:0;padding:0 1rem}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder,.t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:flex}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-icon,:host._disabled .t-icon{pointer-events:none}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font-size:.9375rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-ghost{visibility:hidden}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i1.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i1.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i1.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe, "tuiFormatCard": i7.TuiFormatCardPipe, "tuiMapper": i3.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
314
|
+
], queries: [{ propertyName: "dropdown", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "datalist", first: true, predicate: TuiDataListComponent, descendants: true }], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true }, { propertyName: "cardNumberAutofocusRef", first: true, predicate: ["inputCard"], descendants: true, read: TuiAutoFocusDirective }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true }, { propertyName: "expireCardAutofocusRef", first: true, predicate: ["inputExpire"], descendants: true, read: TuiAutoFocusDirective }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true }, { propertyName: "cvcCardAutofocusRef", first: true, predicate: ["inputCVC"], descendants: true, read: TuiAutoFocusDirective }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n tuiWrapper\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [tuiDropdownManual]=\"open\"\n [tuiDropdown]=\"dropdown || ''\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard : cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input t-input_card\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper : cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n translate=\"no\"\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [innerText]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n class=\"t-icon-outlet\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"text\"\n ></tui-svg>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</div>\n", styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill: var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate(100%)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate(100%)}.t-wrapper_active{transform:translate(6.5625rem)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate(4.125rem)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;border:0;padding-left:1rem;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:hover,.t-collapsed:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-collapsed:-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate(100%)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;border:0;padding:0 1rem}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder,.t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:flex}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-icon,:host._disabled .t-icon{pointer-events:none}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font-size:.9375rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-ghost{visibility:hidden}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i1.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i1.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i1.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { type: i5.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe, "tuiFormatCard": i7.TuiFormatCardPipe, "tuiMapper": i3.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
315
315
|
__decorate([
|
|
316
316
|
tuiDefaultProp()
|
|
317
317
|
], TuiInputCardGroupedComponent.prototype, "autocompleteEnabled", void 0);
|
|
@@ -374,12 +374,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
374
374
|
}] }]; }, propDecorators: { inputCard: [{
|
|
375
375
|
type: ViewChild,
|
|
376
376
|
args: ['inputCard']
|
|
377
|
+
}], cardNumberAutofocusRef: [{
|
|
378
|
+
type: ViewChild,
|
|
379
|
+
args: ['inputCard', { read: TuiAutoFocusDirective }]
|
|
377
380
|
}], inputExpire: [{
|
|
378
381
|
type: ViewChild,
|
|
379
382
|
args: ['inputExpire']
|
|
383
|
+
}], expireCardAutofocusRef: [{
|
|
384
|
+
type: ViewChild,
|
|
385
|
+
args: ['inputExpire', { read: TuiAutoFocusDirective }]
|
|
380
386
|
}], inputCVC: [{
|
|
381
387
|
type: ViewChild,
|
|
382
388
|
args: ['inputCVC']
|
|
389
|
+
}], cvcCardAutofocusRef: [{
|
|
390
|
+
type: ViewChild,
|
|
391
|
+
args: ['inputCVC', { read: TuiAutoFocusDirective }]
|
|
383
392
|
}], autocompleteEnabled: [{
|
|
384
393
|
type: Input
|
|
385
394
|
}], cardSrc: [{
|
|
@@ -410,4 +419,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
410
419
|
type: HostListener,
|
|
411
420
|
args: ['keydown.arrowUp.prevent', ['$event.target', '-1']]
|
|
412
421
|
}], isFocusable: [] } });
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvaW5wdXQtY2FyZC1ncm91cGVkL2lucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUcxRixPQUFPLEVBQ0gsZ0NBQWdDLEVBQ2hDLG1CQUFtQixHQUN0QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsWUFBWSxFQUNaLDBCQUEwQixFQUcxQixjQUFjLEVBRWQsWUFBWSxFQUNaLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYiw2QkFBNkIsRUFDN0IsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsZ0NBQWdDLEVBQ2hDLGlCQUFpQixFQUVqQixvQkFBb0Is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TixXQUFXO3NCQUZWLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLO2dCQU1GLFVBQVU7c0JBRmIsS0FBSztnQkFXRyxnQkFBZ0I7c0JBRHhCLE1BQU07Z0JBSUUsU0FBUztzQkFEakIsTUFBTTtnQkFJRSxRQUFRO3NCQURoQixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFJOUMsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBb0tsQyxLQUFLO3NCQURKLFlBQVk7dUJBQUMsYUFBYTtnQkFPM0IsT0FBTztzQkFGTixZQUFZO3VCQUFDLDJCQUEyQixFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQzs7c0JBQ2hFLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO2dCQW1JeEQsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUVUlfQ0FSRF9NQVNLLCB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUNhcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpQ29kZUNWQ0xlbmd0aCwgVHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUsXG4gICAgdHVpR2V0UGF5bWVudFN5c3RlbSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUF1dG9maWxsRmllbGROYW1lLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNJbnB1dCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfTk9OX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICB0dWlBc0RhdGFMaXN0SG9zdCxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTLFxuICAgIFR1aUNhcmRHcm91cGVkVGV4dHMsXG59IGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLnByb3ZpZGVycyc7XG5cbmNvbnN0IFNUVUI6IFR1aUNhcmQgPSB7XG4gICAgY2FyZDogJycsXG4gICAgZXhwaXJlOiAnJyxcbiAgICBjdmM6ICcnLFxufTtcbmNvbnN0IElDT05TOiBSZWNvcmQ8VHVpUGF5bWVudFN5c3RlbSwgc3RyaW5nPiA9IHtcbiAgICBtaXI6ICd0dWlJY29uTWlyJyxcbiAgICB2aXNhOiAndHVpSWNvblZpc2EnLFxuICAgIGVsZWN0cm9uOiAndHVpSWNvbkVsZWN0cm9uJyxcbiAgICBtYXN0ZXJjYXJkOiAndHVpSWNvbk1hc3RlcmNhcmQnLFxuICAgIG1hZXN0cm86ICd0dWlJY29uTWFlc3RybycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jYXJkLWdyb3VwZWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY2FyZC1ncm91cGVkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICAgICAgJ2RhdGEtc2l6ZSc6ICdsJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlDYXJkPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8UGFydGlhbDxUdWlDYXJkPj5cbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dENhcmQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDYXJkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RXhwaXJlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RXhwaXJlPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q1ZDJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q1ZDPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4YW1wbGVUZXh0ID0gJzAwMDAgMDAwMCAwMDAwIDAwMDAnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgY29kZUxlbmd0aChsZW5ndGg6IFR1aUNvZGVDVkNMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5leGFtcGxlVGV4dENWQyA9ICcwJy5yZXBlYXQobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5tYXNrQ1ZDID0ge1xuICAgICAgICAgICAgbWFzazogbmV3IEFycmF5KGxlbmd0aCkuZmlsbChUVUlfRElHSVRfUkVHRVhQKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhdXRvZmlsbGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYmluQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkcm9wZG93bjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdENvbXBvbmVudClcbiAgICByZWFkb25seSBkYXRhbGlzdD86IFR1aURhdGFMaXN0Q29tcG9uZW50PFR1aUNhcmQ+O1xuXG4gICAgZXhhbXBsZVRleHRDVkMgPSAnMDAwJztcblxuICAgIG1hc2tDVkM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICAnLycsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUoKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBjYXJkR3JvdXBlZFRleHRzJDogT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRDYXJkID8gdGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4gfHwgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBhcHBlYXJhbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuYXBwZWFyYW5jZTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCkgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkU3JjIHx8IHRoaXMuZGVmYXVsdEljb247XG4gICAgfVxuXG4gICAgZ2V0IGJpbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUuY2FyZC5sZW5ndGggPCA2XG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZS5jYXJkLnNsaWNlKDAsIDYpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNDYXJkTnVtYmVyO1xuICAgIH1cblxuICAgIGdldCBoYXNDYXJkTnVtYmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fY2FyZGA7XG4gICAgfVxuXG4gICAgZ2V0IGlkRXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfV9leHBpcmVgO1xuICAgIH1cblxuICAgIGdldCBpZENWQygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fY3ZjYDtcbiAgICB9XG5cbiAgICBnZXQgaXNDYXJkQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmNhcmRGb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDYXJkKCk6IFR1aUF1dG9maWxsRmllbGROYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjYy1udW1iZXInIDogJ29mZic7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUV4cGlyZSgpOiBUdWlBdXRvZmlsbEZpZWxkTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyAnY2MtZXhwJyA6ICdvZmYnO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDVkMoKTogVHVpQXV0b2ZpbGxGaWVsZE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkID8gJ2NjLWNzYycgOiAnb2ZmJztcbiAgICB9XG5cbiAgICBnZXQgdGFpbExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNFeHRyYVNwYWNlID8gNSA6IDQ7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjY2V4cGlyeXllYXInIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogJyonO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJylcbiAgICBvbkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnLTEnXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSAnJywgZXhwaXJlID0gJycsIGN2YyA9ICcnfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBlbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdCgnICcpLmpvaW4oJycpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCAnY2FyZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0V4cGlyZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc2xpY2UoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSBgMTIke2V4cGlyZS5zbGljZSgyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zbGljZSgwLCAyKSA9PT0gJzAwJykge1xuICAgICAgICAgICAgZXhwaXJlID0gYDAxJHtleHBpcmUuc2xpY2UoMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGV4cGlyZTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShleHBpcmUsICdleHBpcmUnKTtcblxuICAgICAgICBpZiAoZXhwaXJlLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0NWQygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DVkNDaGFuZ2UoY3ZjOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShjdmMsICdjdmMnKTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm0oe29mZnNldFdpZHRofTogSFRNTFNwYW5FbGVtZW50KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNDYXJkQ29sbGFwc2VkID8gYHRyYW5zbGF0ZTNkKCR7b2Zmc2V0V2lkdGh9cHgsIDAsIDApYCA6ICcnO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZUNoYW5nZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGFjdGl2ZSAmJiB0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzRWxlbWVudChldmVudC50YXJnZXQpICYmIHR1aUlzSW5wdXQoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25TY3JvbGwoe2N1cnJlbnRUYXJnZXR9OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNFbGVtZW50KGN1cnJlbnRUYXJnZXQpKSB7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0LnNjcm9sbExlZnQgPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuZm9jdXNDYXJkKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIC8qKiBQdWJsaWMgQVBJIGZvciBtYW51YWwgZm9jdXMgbWFuYWdlbWVudCAqL1xuICAgIGZvY3VzQ2FyZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBmb2N1c0V4cGlyZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIGZvY3VzQ1ZDKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FyZEZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaW5wdXRDYXJkICYmIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwYXltZW50U3lzdGVtKCk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgdHVpR2V0UGF5bWVudFN5c3RlbSh0aGlzLnZhbHVlLmNhcmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGhhc0V4dHJhU3BhY2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmQubGVuZ3RoICUgNCA+IDA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGlzRm9jdXNhYmxlKGNhcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgKHRoaXMuY2FyZFZhbGlkYXRvcihjYXJkKSB8fCB0aGlzLmNhcmRQcmVmaWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluKG9sZEJpbjogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGJpbiAhPT0gb2xkQmluICYmICF0aGlzLmNhcmRQcmVmaWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYmluQ2hhbmdlLmVtaXQoYmluKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvcGVydHkocHJvcFZhbHVlOiBzdHJpbmcsIHByb3BOYW1lOiAnY2FyZCcgfCAnY3ZjJyB8ICdleHBpcmUnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjYXJkLCBleHBpcmUsIGN2Y30gPSB0aGlzLnZhbHVlIHx8IFNUVUI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiBUdWlDYXJkID0ge1xuICAgICAgICAgICAgY2FyZCxcbiAgICAgICAgICAgIGV4cGlyZSxcbiAgICAgICAgICAgIGN2YyxcbiAgICAgICAgfTtcblxuICAgICAgICBuZXdWYWx1ZVtwcm9wTmFtZV0gPSBwcm9wVmFsdWU7XG5cbiAgICAgICAgaWYgKCFuZXdWYWx1ZS5leHBpcmUgJiYgIW5ld1ZhbHVlLmN2YyAmJiAhbmV3VmFsdWUuY2FyZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICh0aGlzLmNhcmRGb2N1c2FibGUgJiYgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAodGhpcy5leHBpcmVGb2N1c2FibGUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCJjYXJkR3JvdXBlZFRleHRzJCB8IGFzeW5jIGFzIHRleHRzXCJcbiAgICB0dWlXcmFwcGVyXG4gICAgdHVpRHJvcGRvd25MaW1pdFdpZHRoPVwiZml4ZWRcIlxuICAgIGNsYXNzPVwidC1jb21tb24td3JhcHBlclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW2hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFt0dWlEcm9wZG93bk1hbnVhbF09XCJvcGVuXCJcbiAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd24gfHwgJydcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICp0dWlMZXQ9XCJ2YWx1ZT8uY2FyZCB8IHR1aUZvcm1hdENhcmQgOiBjYXJkUHJlZmlsbGVkIGFzIGZvcm1hdHRlZENhcmRcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJjbGlja1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNpbnB1dENhcmRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jYXJkLWdyb3VwZWRfX2NhcmRcIlxuICAgICAgICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT1cIm5vXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaW5wdXQgdC1pbnB1dF9jYXJkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1pbnB1dF9pbmVydF09XCJjYXJkUHJlZmlsbGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1pbnB1dF9oaWRkZW5dPVwiIWNhcmQubGVuZ3RoICYmIGZvY3VzZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImlkQ2FyZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiFjYXJkUHJlZmlsbGVkICYmICEodGhpcy5jYXJkIHwgdHVpTWFwcGVyIDogY2FyZFZhbGlkYXRvcilcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJjYXJkUHJlZmlsbGVkID8gJycgOiBleGFtcGxlVGV4dFwiXG4gICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVDYXJkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBbdGV4dE1hc2tdPVwibWFza0NhcmRcIlxuICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiY2FyZEZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZm9ybWF0dGVkQ2FyZFwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIoMClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1iZWZvcmVdPVwibWFza2VkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1jb2xsYXBzZWRfZW5hYmxlLW1hc2tdPVwiaXNDYXJkQ29sbGFwc2VkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAjZ2hvc3RcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVyVGV4dF09XCJmb3JtYXR0ZWRDYXJkLnNsaWNlKC10YWlsTGVuZ3RoKVwiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1jb2xsYXBzZWQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhbnNmb3JtKGdob3N0KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZvcm1hdHRlZENhcmQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzLmNhcmROdW1iZXJUZXh0IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInQtd3JhcHBlciB0LXdyYXBwZXJfZXhwaXJlXCJcbiAgICAgICAgW2NsYXNzLnQtd3JhcHBlcl9hY3RpdmVdPVwiaXNDYXJkQ29sbGFwc2VkXCJcbiAgICA+XG4gICAgICAgIDxsYWJlbCB0dWlQcmV2ZW50RGVmYXVsdD1cImNsaWNrXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAjaW5wdXRFeHBpcmVcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIjAwLzAwXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWNhcmQtZ3JvdXBlZF9fZXhwaXJlXCJcbiAgICAgICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1pbnB1dF9pbmVydF09XCIhZXhwaXJlRm9jdXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpZEV4cGlyZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZUV4cGlyZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJleHBpcmVGb2N1c2FibGVcIlxuICAgICAgICAgICAgICAgIFt0ZXh0TWFza109XCJtYXNrRXhwaXJlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJleHBpcmVcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRXhwaXJlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIoMClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzLmV4cGlyeVRleHQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidC13cmFwcGVyIHQtd3JhcHBlcl9jdmNcIlxuICAgICAgICBbY2xhc3MudC13cmFwcGVyX2FjdGl2ZV09XCJpc0NhcmRDb2xsYXBzZWRcIlxuICAgID5cbiAgICAgICAgPGxhYmVsIHR1aVByZXZlbnREZWZhdWx0PVwiY2xpY2tcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNpbnB1dENWQ1xuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWNhcmQtZ3JvdXBlZF9fY3ZjXCJcbiAgICAgICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1pbnB1dF9wcmVmaWxsZWRdPVwiY3ZjUHJlZmlsbGVkXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY3ZjUHJlZmlsbGVkID8gJ+KAouKAouKAoicgOiBleGFtcGxlVGV4dENWQ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaWRDVkNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgY3ZjUHJlZmlsbGVkXCJcbiAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZUNWQ1wiXG4gICAgICAgICAgICAgICAgW3RleHRNYXNrXT1cIm1hc2tDVkNcIlxuICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiY3ZjRm9jdXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjdmNcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ1ZDQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIoMClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzLmN2Y1RleHQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidC1pY29uc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24tb3V0bGV0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbiBhcyB0ZXh0XCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWNhcmQtZ3JvdXBlZF9faWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNhcmRcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwidGV4dFwiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICpuZ0lmPVwiaGFzQ2xlYW5lclwiXG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2xvc2VMYXJnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoKVwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqbmdJZj1cImhhc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgIHR1aVdyYXBwZXJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIHNyYz1cInR1aUljb25DaGV2cm9uRG93bkxhcmdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25fcm90YXRlZF09XCJvcGVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
422
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvaW5wdXQtY2FyZC1ncm91cGVkL2lucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUcxRixPQUFPLEVBQ0gsZ0NBQWdDLEVBQ2hDLG1CQUFtQixHQUN0QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsWUFBWSxFQUNaLDBCQUEwQixFQUUxQixxQkFBcUIsRUFFckIsY0FBYyxFQUVkLFlBQVksRUFDWixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2IsNkJBQTZCLEVBQzdCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLGdDQUFnQyxFQUNoQyxpQkFBaUIs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RUFBRSxFQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBQztnQkFJdEMsUUFBUTtzQkFEeEIsU0FBUzt1QkFBQyxVQUFVO2dCQUlKLG1CQUFtQjtzQkFEbkMsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUM7Z0JBT3BELG1CQUFtQjtzQkFGbEIsS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU1OLGFBQWE7c0JBRlosS0FBSztnQkFNRixVQUFVO3NCQUZiLEtBQUs7Z0JBV0csZ0JBQWdCO3NCQUR4QixNQUFNO2dCQUlFLFNBQVM7c0JBRGpCLE1BQU07Z0JBSUUsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBSTlDLFFBQVE7c0JBRGhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQW9LbEMsS0FBSztzQkFESixZQUFZO3VCQUFDLGFBQWE7Z0JBTzNCLE9BQU87c0JBRk4sWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUM7O3NCQUNoRSxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztnQkFtSXhELFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VFVJX0NBUkRfTUFTSywgdHVpRGVmYXVsdENhcmRWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlDYXJkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aUNvZGVDVkNMZW5ndGgsIFR1aVBheW1lbnRTeXN0ZW19IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxuICAgIHR1aUdldFBheW1lbnRTeXN0ZW0sXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlBdXRvZmlsbEZpZWxkTmFtZSxcbiAgICBUdWlBdXRvRm9jdXNEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc0lucHV0LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICB0dWlQdXJlLFxuICAgIHR1aVJlcXVpcmVkU2V0dGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9OT05fRElHSVRfUkVHRVhQLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpRGF0YUxpc3RDb21wb25lbnQsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMsXG4gICAgVHVpQ2FyZEdyb3VwZWRUZXh0cyxcbn0gZnJvbSAnLi9pbnB1dC1jYXJkLWdyb3VwZWQucHJvdmlkZXJzJztcblxuY29uc3QgU1RVQjogVHVpQ2FyZCA9IHtcbiAgICBjYXJkOiAnJyxcbiAgICBleHBpcmU6ICcnLFxuICAgIGN2YzogJycsXG59O1xuY29uc3QgSUNPTlM6IFJlY29yZDxUdWlQYXltZW50U3lzdGVtLCBzdHJpbmc+ID0ge1xuICAgIG1pcjogJ3R1aUljb25NaXInLFxuICAgIHZpc2E6ICd0dWlJY29uVmlzYScsXG4gICAgZWxlY3Ryb246ICd0dWlJY29uRWxlY3Ryb24nLFxuICAgIG1hc3RlcmNhcmQ6ICd0dWlJY29uTWFzdGVyY2FyZCcsXG4gICAgbWFlc3RybzogJ3R1aUljb25NYWVzdHJvJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWNhcmQtZ3JvdXBlZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNhcmQtZ3JvdXBlZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jYXJkLWdyb3VwZWQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgICAgICAnZGF0YS1zaXplJzogJ2wnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUNhcmQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxQYXJ0aWFsPFR1aUNhcmQ+Plxue1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q2FyZCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENhcmQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDYXJkJywge3JlYWQ6IFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXJkTnVtYmVyQXV0b2ZvY3VzUmVmPzogVHVpQXV0b0ZvY3VzRGlyZWN0aXZlO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFeHBpcmUnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRFeHBpcmU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFeHBpcmUnLCB7cmVhZDogVHVpQXV0b0ZvY3VzRGlyZWN0aXZlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4cGlyZUNhcmRBdXRvZm9jdXNSZWY/OiBUdWlBdXRvRm9jdXNEaXJlY3RpdmU7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dENWQycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENWQz86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dENWQycsIHtyZWFkOiBUdWlBdXRvRm9jdXNEaXJlY3RpdmV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3ZjQ2FyZEF1dG9mb2N1c1JlZj86IFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZTtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4YW1wbGVUZXh0ID0gJzAwMDAgMDAwMCAwMDAwIDAwMDAnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSB0dWlEZWZhdWx0Q2FyZFZhbGlkYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgY29kZUxlbmd0aChsZW5ndGg6IFR1aUNvZGVDVkNMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5leGFtcGxlVGV4dENWQyA9ICcwJy5yZXBlYXQobGVuZ3RoKTtcbiAgICAgICAgdGhpcy5tYXNrQ1ZDID0ge1xuICAgICAgICAgICAgbWFzazogbmV3IEFycmF5KGxlbmd0aCkuZmlsbChUVUlfRElHSVRfUkVHRVhQKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhdXRvZmlsbGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYmluQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkcm9wZG93bjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdENvbXBvbmVudClcbiAgICByZWFkb25seSBkYXRhbGlzdD86IFR1aURhdGFMaXN0Q29tcG9uZW50PFR1aUNhcmQ+O1xuXG4gICAgZXhhbXBsZVRleHRDVkMgPSAnMDAwJztcblxuICAgIG1hc2tDVkM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICAnLycsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgXSxcbiAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUoKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTKVxuICAgICAgICByZWFkb25seSBjYXJkR3JvdXBlZFRleHRzJDogT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRDYXJkID8gdGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4gfHwgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBhcHBlYXJhbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuYXBwZWFyYW5jZTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCkgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkU3JjIHx8IHRoaXMuZGVmYXVsdEljb247XG4gICAgfVxuXG4gICAgZ2V0IGJpbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUuY2FyZC5sZW5ndGggPCA2XG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZS5jYXJkLnNsaWNlKDAsIDYpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNDYXJkTnVtYmVyO1xuICAgIH1cblxuICAgIGdldCBoYXNDYXJkTnVtYmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fY2FyZGA7XG4gICAgfVxuXG4gICAgZ2V0IGlkRXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfV9leHBpcmVgO1xuICAgIH1cblxuICAgIGdldCBpZENWQygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fY3ZjYDtcbiAgICB9XG5cbiAgICBnZXQgaXNDYXJkQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmNhcmRGb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDYXJkKCk6IFR1aUF1dG9maWxsRmllbGROYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjYy1udW1iZXInIDogJ29mZic7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUV4cGlyZSgpOiBUdWlBdXRvZmlsbEZpZWxkTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyAnY2MtZXhwJyA6ICdvZmYnO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDVkMoKTogVHVpQXV0b2ZpbGxGaWVsZE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkID8gJ2NjLWNzYycgOiAnb2ZmJztcbiAgICB9XG5cbiAgICBnZXQgdGFpbExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNFeHRyYVNwYWNlID8gNSA6IDQ7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjY2V4cGlyeXllYXInIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogJyonO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJylcbiAgICBvbkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnLTEnXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSAnJywgZXhwaXJlID0gJycsIGN2YyA9ICcnfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBlbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdCgnICcpLmpvaW4oJycpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCAnY2FyZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0V4cGlyZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc2xpY2UoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSBgMTIke2V4cGlyZS5zbGljZSgyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zdGFydHNXaXRoKCcwMCcpKSB7XG4gICAgICAgICAgICBleHBpcmUgPSBgMDEke2V4cGlyZS5zbGljZSgyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gZXhwaXJlO1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGV4cGlyZSwgJ2V4cGlyZScpO1xuXG4gICAgICAgIGlmIChleHBpcmUubGVuZ3RoID09PSA1KSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzQ1ZDKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNWQ0NoYW5nZShjdmM6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGN2YywgJ2N2YycpO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh7b2Zmc2V0V2lkdGh9OiBIVE1MU3BhbkVsZW1lbnQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0NhcmRDb2xsYXBzZWQgPyBgdHJhbnNsYXRlM2QoJHtvZmZzZXRXaWR0aH1weCwgMCwgMClgIDogJyc7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNFbGVtZW50KGV2ZW50LnRhcmdldCkgJiYgdHVpSXNJbnB1dChldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbCh7Y3VycmVudFRhcmdldH06IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc0VsZW1lbnQoY3VycmVudFRhcmdldCkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRUYXJnZXQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5mb2N1c0NhcmQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpQ2FyZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISF0aGlzLmV4cGlyZSAmJiB0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgLyoqIFB1YmxpYyBBUEkgZm9yIG1hbnVhbCBmb2N1cyBtYW5hZ2VtZW50ICovXG4gICAgZm9jdXNDYXJkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcmROdW1iZXJBdXRvZm9jdXNSZWY/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgZm9jdXNFeHBpcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwaXJlQ2FyZEF1dG9mb2N1c1JlZj8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBmb2N1c0NWQygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdmNDYXJkQXV0b2ZvY3VzUmVmPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNhcmRGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmlucHV0Q2FyZCAmJiB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGF5bWVudFN5c3RlbSgpOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmIHR1aUdldFBheW1lbnRTeXN0ZW0odGhpcy52YWx1ZS5jYXJkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBoYXNFeHRyYVNwYWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkLmxlbmd0aCAlIDQgPiAwO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBpc0ZvY3VzYWJsZShjYXJkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICh0aGlzLmNhcmRWYWxpZGF0b3IoY2FyZCkgfHwgdGhpcy5jYXJkUHJlZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJpbihvbGRCaW46IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChiaW4gIT09IG9sZEJpbiAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJpbkNoYW5nZS5lbWl0KGJpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByb3BlcnR5KHByb3BWYWx1ZTogc3RyaW5nLCBwcm9wTmFtZTogJ2NhcmQnIHwgJ2N2YycgfCAnZXhwaXJlJyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y2FyZCwgZXhwaXJlLCBjdmN9ID0gdGhpcy52YWx1ZSB8fCBTVFVCO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZTogVHVpQ2FyZCA9IHtcbiAgICAgICAgICAgIGNhcmQsXG4gICAgICAgICAgICBleHBpcmUsXG4gICAgICAgICAgICBjdmMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbmV3VmFsdWVbcHJvcE5hbWVdID0gcHJvcFZhbHVlO1xuXG4gICAgICAgIGlmICghbmV3VmFsdWUuZXhwaXJlICYmICFuZXdWYWx1ZS5jdmMgJiYgIW5ld1ZhbHVlLmNhcmQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAodGhpcy5jYXJkRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRDYXJkPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKHRoaXMuZXhwaXJlRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICpuZ0lmPVwiY2FyZEdyb3VwZWRUZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiXG4gICAgdHVpV3JhcHBlclxuICAgIHR1aURyb3Bkb3duTGltaXRXaWR0aD1cImZpeGVkXCJcbiAgICBjbGFzcz1cInQtY29tbW9uLXdyYXBwZXJcIlxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwib3BlblwiXG4gICAgW3R1aURyb3Bkb3duXT1cImRyb3Bkb3duIHx8ICcnXCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAqdHVpTGV0PVwidmFsdWU/LmNhcmQgfCB0dWlGb3JtYXRDYXJkIDogY2FyZFByZWZpbGxlZCBhcyBmb3JtYXR0ZWRDYXJkXCJcbiAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwiY2xpY2tcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAjaW5wdXRDYXJkXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtY2FyZC1ncm91cGVkX19jYXJkXCJcbiAgICAgICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWlucHV0IHQtaW5wdXRfY2FyZFwiXG4gICAgICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaW5wdXRfaW5lcnRdPVwiY2FyZFByZWZpbGxlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaW5wdXRfaGlkZGVuXT1cIiFjYXJkLmxlbmd0aCAmJiBmb2N1c2VkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpZENhcmRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIhY2FyZFByZWZpbGxlZCAmJiAhKHRoaXMuY2FyZCB8IHR1aU1hcHBlciA6IGNhcmRWYWxpZGF0b3IpXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY2FyZFByZWZpbGxlZCA/ICcnIDogZXhhbXBsZVRleHRcIlxuICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlQ2FyZFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgW3RleHRNYXNrXT1cIm1hc2tDYXJkXCJcbiAgICAgICAgICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImNhcmRGb2N1c2FibGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImZvcm1hdHRlZENhcmRcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2FyZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiKDApXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT1cIm5vXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYmVmb3JlXT1cIm1hc2tlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtY29sbGFwc2VkX2VuYWJsZS1tYXNrXT1cImlzQ2FyZENvbGxhcHNlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgI2dob3N0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1naG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lclRleHRdPVwiZm9ybWF0dGVkQ2FyZC5zbGljZSgtdGFpbExlbmd0aClcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtY29sbGFwc2VkLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC12YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybShnaG9zdClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmb3JtYXR0ZWRDYXJkIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtcGxhY2Vob2xkZXJfcmFpc2VkXT1cInBsYWNlaG9sZGVyUmFpc2VkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0cy5jYXJkTnVtYmVyVGV4dCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0LXdyYXBwZXIgdC13cmFwcGVyX2V4cGlyZVwiXG4gICAgICAgIFtjbGFzcy50LXdyYXBwZXJfYWN0aXZlXT1cImlzQ2FyZENvbGxhcHNlZFwiXG4gICAgPlxuICAgICAgICA8bGFiZWwgdHVpUHJldmVudERlZmF1bHQ9XCJjbGlja1wiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI2lucHV0RXhwaXJlXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIwMC8wMFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jYXJkLWdyb3VwZWRfX2V4cGlyZVwiXG4gICAgICAgICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaW5wdXRfaW5lcnRdPVwiIWV4cGlyZUZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaWRFeHBpcmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVFeHBpcmVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiZXhwaXJlRm9jdXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbdGV4dE1hc2tdPVwibWFza0V4cGlyZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZXhwaXJlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkV4cGlyZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiKDApXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtcGxhY2Vob2xkZXJfcmFpc2VkXT1cInBsYWNlaG9sZGVyUmFpc2VkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0cy5leHBpcnlUZXh0IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInQtd3JhcHBlciB0LXdyYXBwZXJfY3ZjXCJcbiAgICAgICAgW2NsYXNzLnQtd3JhcHBlcl9hY3RpdmVdPVwiaXNDYXJkQ29sbGFwc2VkXCJcbiAgICA+XG4gICAgICAgIDxsYWJlbCB0dWlQcmV2ZW50RGVmYXVsdD1cImNsaWNrXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAjaW5wdXRDVkNcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jYXJkLWdyb3VwZWRfX2N2Y1wiXG4gICAgICAgICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW3R1aUF1dG9Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaW5wdXRfcHJlZmlsbGVkXT1cImN2Y1ByZWZpbGxlZFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImN2Y1ByZWZpbGxlZCA/ICfigKLigKLigKInIDogZXhhbXBsZVRleHRDVkNcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImlkQ1ZDXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5IHx8IGN2Y1ByZWZpbGxlZFwiXG4gICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVDVkNcIlxuICAgICAgICAgICAgICAgIFt0ZXh0TWFza109XCJtYXNrQ1ZDXCJcbiAgICAgICAgICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImN2Y0ZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY3ZjXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNWQ0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiKDApXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtcGxhY2Vob2xkZXJfcmFpc2VkXT1cInBsYWNlaG9sZGVyUmFpc2VkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0cy5jdmNUZXh0IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInQtaWNvbnNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uLW91dGxldFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgdGV4dFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jYXJkLWdyb3VwZWRfX2ljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jYXJkXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInRleHRcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqbmdJZj1cImhhc0NsZWFuZXJcIlxuICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgc3JjPVwidHVpSWNvbkNsb3NlTGFyZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgKm5nSWY9XCJoYXNEcm9wZG93blwiXG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25MYXJnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX3JvdGF0ZWRdPVwib3BlblwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgICA+PC90dWktc3ZnPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|