@yibozhang/pro-table 16.1.8 → 16.1.9
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/esm2022/lib/components/colmuns-setting/colmuns-setting.component.mjs +9 -12
- package/esm2022/lib/components/dynamic-search-field/dynamic-search-field.component.mjs +9 -12
- package/esm2022/lib/directives/trim-input.directive.mjs +3 -5
- package/esm2022/lib/directives/trim-input.module.mjs +4 -4
- package/esm2022/lib/page-container/page-container.component.mjs +7 -8
- package/esm2022/lib/page-container/page-container.module.mjs +6 -6
- package/esm2022/lib/page-public/antd-form.mjs +23 -25
- package/esm2022/lib/page-public/array-form.mjs +6 -5
- package/esm2022/lib/plate-input/plate-input.component.mjs +11 -15
- package/esm2022/lib/plate-input/plate-input.module.mjs +6 -6
- package/esm2022/lib/plate-input/plate-prefix-load.service.mjs +4 -5
- package/esm2022/lib/pro-table.component.mjs +74 -82
- package/esm2022/lib/pro-table.module.mjs +6 -6
- package/esm2022/lib/table-search-bar/table-search-bar-module.mjs +6 -6
- package/esm2022/lib/table-search-bar/table-search-bar.component.mjs +11 -13
- package/fesm2022/yibozhang-pro-table.mjs +170 -195
- package/fesm2022/yibozhang-pro-table.mjs.map +1 -1
- package/index.d.ts +0 -1
- package/lib/components/colmuns-setting/colmuns-setting.component.d.ts +0 -1
- package/lib/components/dynamic-search-field/dynamic-search-field.component.d.ts +0 -1
- package/lib/constants.d.ts +0 -1
- package/lib/directives/trim-input.directive.d.ts +0 -1
- package/lib/directives/trim-input.module.d.ts +0 -1
- package/lib/page-container/page-container.component.d.ts +0 -1
- package/lib/page-container/page-container.module.d.ts +0 -1
- package/lib/page-public/antd-form.d.ts +0 -1
- package/lib/page-public/array-form.d.ts +0 -1
- package/lib/plate-input/plate-input.component.d.ts +0 -1
- package/lib/plate-input/plate-input.module.d.ts +0 -1
- package/lib/plate-input/plate-prefix-load.service.d.ts +0 -1
- package/lib/pro-table.component.d.ts +0 -1
- package/lib/pro-table.module.d.ts +0 -1
- package/lib/table-search-bar/table-search-bar-module.d.ts +0 -1
- package/lib/table-search-bar/table-search-bar.component.d.ts +0 -1
- package/lib/tokens.d.ts +0 -1
- package/lib/type.d.ts +0 -1
- package/lib/utils/modal-width-detector.d.ts +0 -1
- package/lib/utils/select-width-detector.d.ts +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/lib/components/colmuns-setting/colmuns-setting.component.d.ts.map +0 -1
- package/lib/components/dynamic-search-field/dynamic-search-field.component.d.ts.map +0 -1
- package/lib/constants.d.ts.map +0 -1
- package/lib/directives/trim-input.directive.d.ts.map +0 -1
- package/lib/directives/trim-input.module.d.ts.map +0 -1
- package/lib/page-container/page-container.component.d.ts.map +0 -1
- package/lib/page-container/page-container.module.d.ts.map +0 -1
- package/lib/page-public/antd-form.d.ts.map +0 -1
- package/lib/page-public/array-form.d.ts.map +0 -1
- package/lib/plate-input/plate-input.component.d.ts.map +0 -1
- package/lib/plate-input/plate-input.module.d.ts.map +0 -1
- package/lib/plate-input/plate-prefix-load.service.d.ts.map +0 -1
- package/lib/pro-table.component.d.ts.map +0 -1
- package/lib/pro-table.module.d.ts.map +0 -1
- package/lib/table-search-bar/table-search-bar-module.d.ts.map +0 -1
- package/lib/table-search-bar/table-search-bar.component.d.ts.map +0 -1
- package/lib/tokens.d.ts.map +0 -1
- package/lib/type.d.ts.map +0 -1
- package/lib/utils/modal-width-detector.d.ts.map +0 -1
- package/lib/utils/select-width-detector.d.ts.map +0 -1
- package/public-api.d.ts.map +0 -1
- package/yibozhang-pro-table.d.ts.map +0 -1
|
@@ -3,8 +3,9 @@ import { v4 as uuidv4 } from "uuid";
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/** 数组型数据收集基础服务 */
|
|
5
5
|
export class ArrayFormService {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
this.formStore = {};
|
|
8
|
+
}
|
|
8
9
|
/** 深度克隆值 */
|
|
9
10
|
cloneValue(value) {
|
|
10
11
|
if (value === null || value === undefined) {
|
|
@@ -390,8 +391,8 @@ export class ArrayFormService {
|
|
|
390
391
|
// 6. 如果配置了自动更新,更新外部数组引用
|
|
391
392
|
this.autoUpdateArrayReference(formName);
|
|
392
393
|
}
|
|
393
|
-
static
|
|
394
|
-
static
|
|
394
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ArrayFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
395
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ArrayFormService, providedIn: "root" }); }
|
|
395
396
|
}
|
|
396
397
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ArrayFormService, decorators: [{
|
|
397
398
|
type: Injectable,
|
|
@@ -399,4 +400,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
399
400
|
providedIn: "root",
|
|
400
401
|
}]
|
|
401
402
|
}], ctorParameters: function () { return []; } });
|
|
402
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byby10YWJsZS9zcmMvbGliL3BhZ2UtcHVibGljL2FycmF5LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUF3RHBDLGtCQUFrQjtBQUlsQixNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRXZDLGdCQUFlLENBQUM7SUFFaEIsWUFBWTtJQUNKLFVBQVUsQ0FBQyxLQUFVO1FBQzNCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3pDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDM0M7WUFDRCxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsZ0JBQWdCO0lBQ1IsT0FBTyxDQUFDLENBQU0sRUFBRSxDQUFNO1FBQzVCLElBQUks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QUMsQ0FBQztRQUVILGlCQUFpQjtRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRTVCLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVyQix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7d0dBcGZVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tIFwidXVpZFwiO1xyXG5cclxuLyoqIOWtl+auteagoemqjOe7k+aenOexu+WeiyAqL1xyXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uUmVzdWx0ID0gc3RyaW5nO1xyXG5cclxuLyoqIOWtl+auteagoemqjOaWueazleexu+WeiyAqL1xyXG5leHBvcnQgdHlwZSBGaWVsZFZhbGlkYXRvciA9IChcclxuICB2YWx1ZTogYW55LFxyXG4gIHJvdzogQXJyYXlGb3JtUm93LFxyXG4gIGZpZWxkTmFtZTogc3RyaW5nXHJcbikgPT4gVmFsaWRhdGlvblJlc3VsdDtcclxuXHJcbi8qKiDlrZfmrrXphY3nva7mjqXlj6MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZENvbmZpZyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbGlkYXRvcj86IEZpZWxkVmFsaWRhdG9yO1xyXG59XHJcblxyXG4vKiog5pWw57uE6KGo5Y2V6KGM5pWw5o2u5o6l5Y+jICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXJyYXlGb3JtUm93IHtcclxuICB1aWQ/OiBzdHJpbmc7XHJcbiAgaXNFZGl0PzogYm9vbGVhbjtcclxuICBpc0FkZD86IGJvb2xlYW47XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqIOaVsOe7hOihqOWNlemFjee9ruaOpeWPoyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5Rm9ybUNvbmZpZyB7XHJcbiAgZmllbGRzOiBGaWVsZENvbmZpZ1tdO1xyXG4gIGRlZmF1bHRWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIC8vIOiHquWKqOabtOaWsOebruagh+WvueixoeWSjOWxnuaAp+WQje+8jOeUqOS6juinpuWPkSBBbmd1bGFyIOWPmOWMluajgOa1i1xyXG4gIHRhcmdldE9iamVjdD86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgYXJyYXlQcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKiDooajljZXlrZjlgqjpobnmjqXlj6MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBBcnJheUZvcm1TdG9yZUl0ZW0ge1xyXG4gIGRhdGE6IEFycmF5Rm9ybVJvd1tdO1xyXG4gIGNvbmZpZzogQXJyYXlGb3JtQ29uZmlnO1xyXG4gIHZhbGlkYXRpb25SZXN1bHRzPzogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgVmFsaWRhdGlvblJlc3VsdD4+O1xyXG4gIC8qKiDliJ3lp4vlgLzlv6vnhafvvIznlKjkuo7oh6rliqjmo4DmtYvlrZfmrrXmmK/lkKbooqvkv67mlLkgKi9cclxuICBpbml0aWFsU25hcHNob3Q6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+O1xyXG4gIC8qKiDnvJbovpHml7blv6vnhafvvIznlKjkuo7lj5bmtojnvJbovpHml7bmgaLlpI3mlbDmja4gKi9cclxuICBlZGl0aW5nU25hcHNob3Q6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+O1xyXG4gIC8qKiDmmK/lkKbmoIforrDmiYDmnInlrZfmrrXkuLrlt7Lop6bnorDvvIjmlbTkuKrooajljZXmj5DkuqTml7borr7kuLogdHJ1Ze+8iSAqL1xyXG4gIGFsbFRvdWNoZWQ6IGJvb2xlYW47XHJcbiAgLyoqIOavj+ihjOeahCB0b3VjaGVkIOeKtuaAge+8iOWNleihjOS/neWtmOaXtuiuvuS4uiB0cnVl77yJICovXHJcbiAgcm93VG91Y2hlZDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XHJcbn1cclxuXHJcbi8qKiDooajljZXlrZjlgqjmjqXlj6MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBBcnJheUZvcm1TdG9yZSB7XHJcbiAgW2Zvcm1OYW1lOiBzdHJpbmddOiBBcnJheUZvcm1TdG9yZUl0ZW07XHJcbn1cclxuXHJcbi8qKiDmlbDnu4TlnovmlbDmja7mlLbpm4bln7rnoYDmnI3liqEgKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJyYXlGb3JtU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBmb3JtU3RvcmU6IEFycmF5Rm9ybVN0b3JlID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgLyoqIOa3seW6puWFi+mahuWAvCAqL1xyXG4gIHByaXZhdGUgY2xvbmVWYWx1ZSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtKSA9PiB0aGlzLmNsb25lVmFsdWUoaXRlbSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICBjb25zdCBjbG9uZWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModmFsdWUpKSB7XHJcbiAgICAgICAgY2xvbmVkW2tleV0gPSB0aGlzLmNsb25lVmFsdWUodmFsdWVba2V5XSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNsb25lZDtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKiDmr5TovoPkuKTkuKrlgLzmmK/lkKbnm7jnrYkgKi9cclxuICBwcml2YXRlIGlzRXF1YWwoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGlmIChhID09PSBiKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmIChhID09PSBudWxsIHx8IGIgPT09IG51bGwpIHJldHVybiBhID09PSBiO1xyXG4gICAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQpIHJldHVybiBhID09PSBiO1xyXG4gICAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIEFycmF5LmlzQXJyYXkoYikpIHtcclxuICAgICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gYS5ldmVyeSgoaXRlbSwgaW5kZXgpID0+IHRoaXMuaXNFcXVhbChpdGVtLCBiW2luZGV4XSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgYSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgYiA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICBjb25zdCBrZXlzQSA9IE9iamVjdC5rZXlzKGEpO1xyXG4gICAgICBjb25zdCBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xyXG4gICAgICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHJldHVybiBmYWxzZTtcclxuICAgICAgcmV0dXJuIGtleXNBLmV2ZXJ5KChrZXkpID0+IHRoaXMuaXNFcXVhbChhW2tleV0sIGJba2V5XSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKiDliJvlu7rooYznmoTliJ3lp4vlgLzlv6vnhacgKi9cclxuICBwcml2YXRlIGNyZWF0ZVJvd1NuYXBzaG90KFxyXG4gICAgcm93OiBBcnJheUZvcm1Sb3csXHJcbiAgICBmaWVsZHM6IEZpZWxkQ29uZmlnW11cclxuICApOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIGNvbnN0IHNuYXBzaG90OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgc25hcHNob3RbZmllbGQubmFtZV0gPSB0aGlzLmNsb25lVmFsdWUocm93W2ZpZWxkLm5hbWVdKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHNuYXBzaG90O1xyXG4gIH1cclxuXHJcbiAgLyoqIOWIneWni+WMluaVsOe7hOaVsOaNru+8jOa3u+WKoCB1aWQg5ZKMIGlzRWRpdCDlrZfmrrUgKi9cclxuICBwcml2YXRlIGluaXRpYWxpemVEYXRhKGRhdGE6IGFueVtdKTogQXJyYXlGb3JtUm93W10ge1xyXG4gICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiB0aGlzLmVucmljaFJvdyhpdGVtKSk7XHJcbiAgfVxyXG5cclxuICAvKiog5Li65Y2V6KGM5pWw5o2u5re75YqgIHVpZCDlkowgaXNFZGl0IOWtl+autSAqL1xyXG4gIHByaXZhdGUgZW5yaWNoUm93KHJvdzogYW55KTogQXJyYXlGb3JtUm93IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnJvdyxcclxuICAgICAgdWlkOiByb3cudWlkIHx8IHV1aWR2NCgpLFxyXG4gICAgICBpc0VkaXQ6IHJvdy5pc0VkaXQgIT09IHVuZGVmaW5lZCA/IHJvdy5pc0VkaXQgOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQ6IHJvdy5kaXNhYmxlZCAhPT0gdW5kZWZpbmVkID8gcm93LmRpc2FibGVkIDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqIOaWsOWinuS4gOihjOaVsOaNriAqL1xyXG4gIHByaXZhdGUgYWRkUm93KFxyXG4gICAgZGF0YTogQXJyYXlGb3JtUm93W10sXHJcbiAgICBkZWZhdWx0VmFsdWVzPzogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICk6IEFycmF5Rm9ybVJvdyB7XHJcbiAgICBjb25zdCBuZXdSb3c6IEFycmF5Rm9ybVJvdyA9IHtcclxuICAgICAgLi4uZGVmYXVsdFZhbHVlcyxcclxuICAgICAgdWlkOiB1dWlkdjQoKSxcclxuICAgICAgaXNFZGl0OiB0cnVlLFxyXG4gICAgICBpc0FkZDogdHJ1ZSxcclxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgfTtcclxuICAgIGRhdGEucHVzaChuZXdSb3cpO1xyXG4gICAgcmV0dXJuIG5ld1JvdztcclxuICB9XHJcblxyXG4gIC8qKiDmoKHpqozljZXkuKrlrZfmrrUgKi9cclxuICBwcml2YXRlIHZhbGlkYXRlRmllbGQoXHJcbiAgICByb3c6IEFycmF5Rm9ybVJvdyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgY29uZmlnOiBBcnJheUZvcm1Db25maWdcclxuICApOiBWYWxpZGF0aW9uUmVzdWx0IHtcclxuICAgIGNvbnN0IGZpZWxkQ29uZmlnID0gY29uZmlnLmZpZWxkcy5maW5kKChmKSA9PiBmLm5hbWUgPT09IGZpZWxkTmFtZSk7XHJcblxyXG4gICAgaWYgKCFmaWVsZENvbmZpZykge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmllbGRDb25maWcudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmaWVsZENvbmZpZy52YWxpZGF0b3Iocm93W2ZpZWxkTmFtZV0sIHJvdywgZmllbGROYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIC8qKiDmoKHpqozmlbTooYzmlbDmja4gKi9cclxuICBwcml2YXRlIHZhbGlkYXRlUm93KFxyXG4gICAgcm93OiBBcnJheUZvcm1Sb3csXHJcbiAgICBjb25maWc6IEFycmF5Rm9ybUNvbmZpZ1xyXG4gICk6IFJlY29yZDxzdHJpbmcsIFZhbGlkYXRpb25SZXN1bHQ+IHtcclxuICAgIGNvbnN0IHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFZhbGlkYXRpb25SZXN1bHQ+ID0ge307XHJcblxyXG4gICAgY29uZmlnLmZpZWxkcy5mb3JFYWNoKChmaWVsZENvbmZpZykgPT4ge1xyXG4gICAgICByZXN1bHRzW2ZpZWxkQ29uZmlnLm5hbWVdID0gdGhpcy52YWxpZGF0ZUZpZWxkKFxyXG4gICAgICAgIHJvdyxcclxuICAgICAgICBmaWVsZENvbmZpZy5uYW1lLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICAvKiog5qCh6aqM5pW05Liq5pWw57uEICovXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZURhdGEoXHJcbiAgICBkYXRhOiBBcnJheUZvcm1Sb3dbXSxcclxuICAgIGNvbmZpZzogQXJyYXlGb3JtQ29uZmlnXHJcbiAgKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgVmFsaWRhdGlvblJlc3VsdD4+IHtcclxuICAgIGNvbnN0IHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFZhbGlkYXRpb25SZXN1bHQ+PiA9IHt9O1xyXG5cclxuICAgIGRhdGEuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgIHJlc3VsdHNbcm93LnVpZF0gPSB0aGlzLnZhbGlkYXRlUm93KHJvdywgY29uZmlnKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgLyoqIOazqOWGjOihqOWNleWIsOWtmOWCqCAqL1xyXG4gIHJlZ2lzdGVyRm9ybShcclxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXHJcbiAgICBkYXRhOiBBcnJheUZvcm1Sb3dbXSxcclxuICAgIGNvbmZpZzogQXJyYXlGb3JtQ29uZmlnXHJcbiAgKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbml0aWFsaXplZERhdGEgPSB0aGlzLmluaXRpYWxpemVEYXRhKGRhdGEpO1xyXG5cclxuICAgIC8vIOiusOW9leWIneWni+WAvOW/q+eFp1xyXG4gICAgY29uc3QgaW5pdGlhbFNuYXBzaG90OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHt9O1xyXG4gICAgaW5pdGlhbGl6ZWREYXRhLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICBpbml0aWFsU25hcHNob3Rbcm93LnVpZCFdID0gdGhpcy5jcmVhdGVSb3dTbmFwc2hvdChyb3csIGNvbmZpZy5maWVsZHMpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdID0ge1xyXG4gICAgICBkYXRhOiBpbml0aWFsaXplZERhdGEsXHJcbiAgICAgIGNvbmZpZyxcclxuICAgICAgdmFsaWRhdGlvblJlc3VsdHM6IHt9LFxyXG4gICAgICBpbml0aWFsU25hcHNob3QsXHJcbiAgICAgIGVkaXRpbmdTbmFwc2hvdDoge30sXHJcbiAgICAgIGFsbFRvdWNoZWQ6IGZhbHNlLFxyXG4gICAgICByb3dUb3VjaGVkOiB7fSxcclxuICAgIH07XHJcbiAgICAvLyDlpoLmnpzphY3nva7kuoboh6rliqjmm7TmlrDvvIznq4vljbPmm7TmlrDkuIDmrKFcclxuICAgIHRoaXMuYXV0b1VwZGF0ZUFycmF5UmVmZXJlbmNlKGZvcm1OYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKiDku47lrZjlgqjkuK3ojrflj5booajljZUgKi9cclxuICBnZXRGb3JtKGZvcm1OYW1lOiBzdHJpbmcpOiBBcnJheUZvcm1TdG9yZUl0ZW0gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICB9XHJcblxyXG4gIC8qKiDku47lrZjlgqjkuK3ojrflj5booajljZXmlbDmja4gKi9cclxuICBnZXRGb3JtRGF0YShcclxuICAgIGZvcm1OYW1lOiBzdHJpbmdcclxuICApOlxyXG4gICAgfCBBcnJheTxQaWNrPEFycmF5Rm9ybVJvdywgXCJ1aWRcIiB8IFwiaXNFZGl0XCIgfCBcImlzQWRkXCIgfCBrZXlvZiBBcnJheUZvcm1Sb3c+PlxyXG4gICAgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm0uZGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgZGVsZXRlIGl0ZW0uaXNFZGl0O1xyXG4gICAgICBkZWxldGUgaXRlbS5pc0FkZDtcclxuICAgICAgZGVsZXRlIGl0ZW0udWlkO1xyXG4gICAgICBkZWxldGUgaXRlbS5kaXNhYmxlZDtcclxuICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiDlkJHooajljZXmt7vliqDooYwgKi9cclxuICBhZGRSb3dUb0Zvcm0oXHJcbiAgICBmb3JtTmFtZTogc3RyaW5nLFxyXG4gICAgZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIGFueT5cclxuICApOiBBcnJheUZvcm1Sb3cgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbmV3Um93ID0gdGhpcy5hZGRSb3coZm9ybS5kYXRhLCBkZWZhdWx0VmFsdWVzKTtcclxuICAgIC8vIOS4uuaWsOihjOiusOW9leWIneWni+WAvOW/q+eFp1xyXG4gICAgZm9ybS5pbml0aWFsU25hcHNob3RbbmV3Um93LnVpZCFdID0gdGhpcy5jcmVhdGVSb3dTbmFwc2hvdChcclxuICAgICAgbmV3Um93LFxyXG4gICAgICBmb3JtLmNvbmZpZy5maWVsZHNcclxuICAgICk7XHJcbiAgICAvLyDoh6rliqjmm7TmlrDlpJbpg6jmlbDnu4TlvJXnlKhcclxuICAgIHRoaXMuYXV0b1VwZGF0ZUFycmF5UmVmZXJlbmNlKGZvcm1OYW1lKTtcclxuICAgIHJldHVybiBuZXdSb3c7XHJcbiAgfVxyXG5cclxuICAvKiog5qCh6aqM6KGo5Y2V77yM6Ieq5Yqo5qCH6K6w5omA5pyJ5a2X5q615Li65bey6Kem56KwICovXHJcbiAgdmFsaWRhdGVGb3JtKGZvcm1OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoIWZvcm0pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvLyDmoIforrDmiYDmnInlrZfmrrXkuLrlt7Lop6bnorBcclxuICAgIGZvcm0uYWxsVG91Y2hlZCA9IHRydWU7XHJcbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy52YWxpZGF0ZURhdGEoZm9ybS5kYXRhLCBmb3JtLmNvbmZpZyk7XHJcbiAgICBmb3JtLnZhbGlkYXRpb25SZXN1bHRzID0gcmVzdWx0cztcclxuXHJcbiAgICAvLyDmo4Dmn6XmmK/lkKbmnInku7vkvZXplJnor69cclxuICAgIGZvciAoY29uc3QgdWlkIG9mIE9iamVjdC5rZXlzKHJlc3VsdHMpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgZmllbGROYW1lIG9mIE9iamVjdC5rZXlzKHJlc3VsdHNbdWlkXSkpIHtcclxuICAgICAgICBpZiAocmVzdWx0c1t1aWRdW2ZpZWxkTmFtZV0pIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIOW8gOWQr+e8lui+keaooeW8j++8jOS/neWtmOW/q+eFp+eUqOS6juWPlua2iOaBouWkjSAqL1xyXG4gIGVuYWJsZUVkaXQoZm9ybU5hbWU6IHN0cmluZywgcm93OiBBcnJheUZvcm1Sb3cpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoZm9ybSAmJiByb3cudWlkKSB7XHJcbiAgICAgIC8vIOS/neWtmOe8lui+keWJjeeahOW/q+eFp1xyXG4gICAgICBmb3JtLmVkaXRpbmdTbmFwc2hvdFtyb3cudWlkXSA9IHRoaXMuY3JlYXRlUm93U25hcHNob3QoXHJcbiAgICAgICAgcm93LFxyXG4gICAgICAgIGZvcm0uY29uZmlnLmZpZWxkc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcm93LmlzRWRpdCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiog5Y+W5raI57yW6L6R77yM5oGi5aSN5Yiw57yW6L6R5YmN55qE5pWw5o2uICovXHJcbiAgZGlzYWJsZUVkaXQoZm9ybU5hbWU6IHN0cmluZywgcm93OiBBcnJheUZvcm1Sb3cpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoZm9ybSAmJiByb3cudWlkICYmIGZvcm0uZWRpdGluZ1NuYXBzaG90W3Jvdy51aWRdKSB7XHJcbiAgICAgIC8vIOaBouWkjee8lui+keWJjeeahOaVsOaNrlxyXG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGZvcm0uZWRpdGluZ1NuYXBzaG90W3Jvdy51aWRdO1xyXG4gICAgICBmb3JtLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICByb3dbZmllbGQubmFtZV0gPSB0aGlzLmNsb25lVmFsdWUoc25hcHNob3RbZmllbGQubmFtZV0pO1xyXG4gICAgICB9KTtcclxuICAgICAgLy8g5pu05paw5Yid5aeL5b+r54Wn5Li65oGi5aSN5ZCO55qE5YC877yM5raI6ZmkIHRvdWNoZWQg54q25oCBXHJcbiAgICAgIGZvcm0uaW5pdGlhbFNuYXBzaG90W3Jvdy51aWRdID0gdGhpcy5jbG9uZVZhbHVlKHNuYXBzaG90KTtcclxuICAgICAgLy8g5riF55CG57yW6L6R5b+r54Wn5ZKMIHRvdWNoZWQg54q25oCBXHJcbiAgICAgIGRlbGV0ZSBmb3JtLmVkaXRpbmdTbmFwc2hvdFtyb3cudWlkXTtcclxuICAgICAgZGVsZXRlIGZvcm0ucm93VG91Y2hlZFtyb3cudWlkXTtcclxuICAgICAgLy8g5riF55CG6K+l6KGM55qE5qCh6aqM57uT5p6cXHJcbiAgICAgIGlmIChmb3JtLnZhbGlkYXRpb25SZXN1bHRzKSB7XHJcbiAgICAgICAgZGVsZXRlIGZvcm0udmFsaWRhdGlvblJlc3VsdHNbcm93LnVpZF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJvdy5pc0VkaXQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKiDnoa7orqTnvJbovpHvvIzkv53nlZnkv67mlLnlkI7nmoTmlbDmja4gKi9cclxuICBjb25maXJtRWRpdChmb3JtTmFtZTogc3RyaW5nLCByb3c6IEFycmF5Rm9ybVJvdyk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmIChmb3JtICYmIHJvdy51aWQpIHtcclxuICAgICAgLy8g5riF55CG57yW6L6R5b+r54Wn77yI5L+d55WZ5b2T5YmN5pWw5o2u77yJXHJcbiAgICAgIGlmIChmb3JtLmVkaXRpbmdTbmFwc2hvdFtyb3cudWlkXSkge1xyXG4gICAgICAgIGRlbGV0ZSBmb3JtLmVkaXRpbmdTbmFwc2hvdFtyb3cudWlkXTtcclxuICAgICAgfVxyXG4gICAgICAvLyDmm7TmlrDliJ3lp4vlv6vnhafkuLrlvZPliY3lgLzvvIjnlKjkuo7lkI7nu60gdG91Y2hlZCDmo4DmtYvvvIlcclxuICAgICAgZm9ybS5pbml0aWFsU25hcHNob3Rbcm93LnVpZF0gPSB0aGlzLmNyZWF0ZVJvd1NuYXBzaG90KFxyXG4gICAgICAgIHJvdyxcclxuICAgICAgICBmb3JtLmNvbmZpZy5maWVsZHNcclxuICAgICAgKTtcclxuICAgICAgLy8g5riF6ZmkIHRvdWNoZWQg54q25oCB77yM5Z+65LqO5paw55qEIGluaXRpYWxTbmFwc2hvdCDph43mlrDliKTmlq1cclxuICAgICAgZGVsZXRlIGZvcm0ucm93VG91Y2hlZFtyb3cudWlkXTtcclxuICAgIH1cclxuICAgIHJvdy5pc0VkaXQgPSBmYWxzZTtcclxuICAgIHJvdy5pc0FkZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqIOS7juihqOWNleS4reWIoOmZpOaMh+WumuihjCAqL1xyXG4gIGRlbGV0ZVJvd0Zyb21Gb3JtKGZvcm1OYW1lOiBzdHJpbmcsIHJvdzogQXJyYXlGb3JtUm93KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtIHx8ICFyb3cudWlkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGluZGV4ID0gZm9ybS5kYXRhLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS51aWQgPT09IHJvdy51aWQpO1xyXG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBmb3JtLmRhdGEuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIC8vIOa4heeQhuivpeihjOeahOaJgOacieW/q+eFp+OAgXRvdWNoZWQg54q25oCB5ZKM5qCh6aqM57uT5p6cXHJcbiAgICBkZWxldGUgZm9ybS5pbml0aWFsU25hcHNob3Rbcm93LnVpZF07XHJcbiAgICBkZWxldGUgZm9ybS5lZGl0aW5nU25hcHNob3Rbcm93LnVpZF07XHJcbiAgICBkZWxldGUgZm9ybS5yb3dUb3VjaGVkW3Jvdy51aWRdO1xyXG4gICAgaWYgKGZvcm0udmFsaWRhdGlvblJlc3VsdHMpIHtcclxuICAgICAgZGVsZXRlIGZvcm0udmFsaWRhdGlvblJlc3VsdHNbcm93LnVpZF07XHJcbiAgICB9XHJcbiAgICAvLyDoh6rliqjmm7TmlrDlpJbpg6jmlbDnu4TlvJXnlKhcclxuICAgIHRoaXMuYXV0b1VwZGF0ZUFycmF5UmVmZXJlbmNlKGZvcm1OYW1lKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIOajgOa1i+Wtl+auteaYr+WQpuW3suiiq+inpueisCAqL1xyXG4gIHByaXZhdGUgaXNGaWVsZFRvdWNoZWQoXHJcbiAgICBmb3JtOiBBcnJheUZvcm1TdG9yZUl0ZW0sXHJcbiAgICByb3c6IEFycmF5Rm9ybVJvdyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICAvLyDmlbTkuKrooajljZXlt7IgdG91Y2hlZO+8iOaVtOS4quihqOWNleaPkOS6pOaXtu+8iVxyXG4gICAgaWYgKGZvcm0uYWxsVG91Y2hlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8vIOW9k+WJjeihjOW3siB0b3VjaGVk77yI5Y2V6KGM5L+d5a2Y5pe277yJXHJcbiAgICBpZiAoZm9ybS5yb3dUb3VjaGVkW3Jvdy51aWQhXSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8vIOajgOa1i+W9k+WJjeWAvOS4juWIneWni+WAvOaYr+WQpuS4jeWQjFxyXG4gICAgY29uc3QgaW5pdGlhbFZhbHVlID0gZm9ybS5pbml0aWFsU25hcHNob3Rbcm93LnVpZCFdPy5bZmllbGROYW1lXTtcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHJvd1tmaWVsZE5hbWVdO1xyXG4gICAgcmV0dXJuICF0aGlzLmlzRXF1YWwoaW5pdGlhbFZhbHVlLCBjdXJyZW50VmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIOagoemqjOaMh+WumuihjOeahOaMh+WumuWtl+aute+8jOacquS/ruaUueaXtuS4jeaYvuekuuagoemqjOeKtuaAgSAqL1xyXG4gIHZhbGlkYXRlRmllbGRJblJvdyhcclxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXHJcbiAgICByb3c6IEFycmF5Rm9ybVJvdyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nXHJcbiAgKTogXCJzdWNjZXNzXCIgfCBcImVycm9yXCIgfCBcIlwiIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoIWZvcm0pIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmllbGRDb25maWcgPSBmb3JtLmNvbmZpZy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZE5hbWUpO1xyXG4gICAgaWYgKCFmaWVsZENvbmZpZykge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICAvLyDmiafooYzmoKHpqoxcclxuICAgIGxldCByZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQgPSBcIlwiO1xyXG4gICAgaWYgKGZpZWxkQ29uZmlnLnZhbGlkYXRvcikge1xyXG4gICAgICByZXN1bHQgPSBmaWVsZENvbmZpZy52YWxpZGF0b3Iocm93W2ZpZWxkTmFtZV0sIHJvdywgZmllbGROYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyDmm7TmlrDmoKHpqoznu5PmnpzlrZjlgqhcclxuICAgIGlmICghZm9ybS52YWxpZGF0aW9uUmVzdWx0cykge1xyXG4gICAgICBmb3JtLnZhbGlkYXRpb25SZXN1bHRzID0ge307XHJcbiAgICB9XHJcbiAgICBpZiAoIWZvcm0udmFsaWRhdGlvblJlc3VsdHNbcm93LnVpZCFdKSB7XHJcbiAgICAgIGZvcm0udmFsaWRhdGlvblJlc3VsdHNbcm93LnVpZCFdID0ge307XHJcbiAgICB9XHJcbiAgICBmb3JtLnZhbGlkYXRpb25SZXN1bHRzW3Jvdy51aWQhXVtmaWVsZE5hbWVdID0gcmVzdWx0O1xyXG5cclxuICAgIC8vIOWmguaenOWtl+auteacquiiq+inpueisO+8jOS4jeaYvuekuuagoemqjOeKtuaAgVxyXG4gICAgaWYgKCF0aGlzLmlzRmllbGRUb3VjaGVkKGZvcm0sIHJvdywgZmllbGROYW1lKSkge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0ID8gXCJlcnJvclwiIDogXCJzdWNjZXNzXCI7XHJcbiAgfVxyXG5cclxuICAvKiog6I635Y+W5oyH5a6a6KGM5oyH5a6a5a2X5q6155qE5qCh6aqM6ZSZ6K+v5L+h5oGvICovXHJcbiAgZ2V0RmllbGRFcnJvck1lc3NhZ2UoXHJcbiAgICBmb3JtTmFtZTogc3RyaW5nLFxyXG4gICAgcm93OiBBcnJheUZvcm1Sb3csXHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtIHx8ICFyb3cudWlkKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgLy8g5aaC5p6c5a2X5q615pyq6KKr6Kem56Kw77yM5LiN5pi+56S66ZSZ6K+v5L+h5oGvXHJcbiAgICBpZiAoIXRoaXMuaXNGaWVsZFRvdWNoZWQoZm9ybSwgcm93LCBmaWVsZE5hbWUpKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm0udmFsaWRhdGlvblJlc3VsdHM/Lltyb3cudWlkXT8uW2ZpZWxkTmFtZV0gfHwgXCJcIjtcclxuICB9XHJcblxyXG4gIC8qKiDmoKHpqozmjIflrprooYznmoTmiYDmnInlrZfmrrUgKi9cclxuICB2YWxpZGF0ZVJvd0FsbEZpZWxkcyhmb3JtTmFtZTogc3RyaW5nLCByb3c6IEFycmF5Rm9ybVJvdyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmICghZm9ybSB8fCAhcm93LnVpZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyDmm7TmlrDliJ3lp4vlv6vnhafkuLrlvZPliY3lgLxcclxuICAgIGZvcm0uaW5pdGlhbFNuYXBzaG90W3Jvdy51aWRdID0gdGhpcy5jcmVhdGVSb3dTbmFwc2hvdChcclxuICAgICAgcm93LFxyXG4gICAgICBmb3JtLmNvbmZpZy5maWVsZHNcclxuICAgICk7XHJcbiAgICAvLyDmoIforrDlvZPliY3ooYzkuLogdG91Y2hlZO+8iOWPquW9seWTjeW9k+WJjeihjO+8jOS4jeW9seWTjeWFtuS7luihjO+8iVxyXG4gICAgZm9ybS5yb3dUb3VjaGVkW3Jvdy51aWRdID0gdHJ1ZTtcclxuXHJcbiAgICBsZXQgaGFzRXJyb3IgPSBmYWxzZTtcclxuXHJcbiAgICBmb3JtLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoZmllbGRDb25maWcpID0+IHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy52YWxpZGF0ZUZpZWxkSW5Sb3coZm9ybU5hbWUsIHJvdywgZmllbGRDb25maWcubmFtZSk7XHJcbiAgICAgIGlmIChyZXN1bHQgPT09IFwiZXJyb3JcIikge1xyXG4gICAgICAgIGhhc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuICFoYXNFcnJvcjtcclxuICB9XHJcblxyXG4gIC8qKiDoh6rliqjmm7TmlrDlpJbpg6jmlbDnu4TlvJXnlKggKi9cclxuICBwcml2YXRlIGF1dG9VcGRhdGVBcnJheVJlZmVyZW5jZShmb3JtTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtIHx8ICFmb3JtLmNvbmZpZy50YXJnZXRPYmplY3QgfHwgIWZvcm0uY29uZmlnLmFycmF5UHJvcGVydHlOYW1lKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IG5ld0FycmF5ID0gZm9ybS5kYXRhID8gWy4uLmZvcm0uZGF0YV0gOiBbXTtcclxuICAgIC8vIOabtOaWsOebruagh+WvueixoeeahOaVsOe7hOWxnuaAp+S4uuaWsOaVsOe7hOW8leeUqFxyXG4gICAgKGZvcm0uY29uZmlnLnRhcmdldE9iamVjdCBhcyBhbnkpW2Zvcm0uY29uZmlnLmFycmF5UHJvcGVydHlOYW1lXSA9IG5ld0FycmF5O1xyXG4gIH1cclxuXHJcbiAgLyoqIOaYr+WQpuacieato+WcqOe8lui+keeahOihjCAqL1xyXG4gIGhhc0VkaXRpbmdSb3coZm9ybU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybS5kYXRhLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaXNFZGl0KTtcclxuICB9XHJcblxyXG4gIC8vIOmUgOavgeWvueW6lOeahOihqOWNlVxyXG4gIGRlc3RvcnkobmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1TdG9yZVtuYW1lXSkge1xyXG4gICAgICAgIC8vIOa4heeQhuihqOWNleaVsOaNrlxyXG4gICAgICAgIGRlbGV0ZSB0aGlzLmZvcm1TdG9yZVtuYW1lXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyDph43nva7ooajljZXmlbDnu4RcclxuICByZXNldEZvcm1BcnJheShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtuYW1lXTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gMS4g5riF56m65pWw5o2u5pWw57uEXHJcbiAgICBmb3JtLmRhdGEgPSBbXTtcclxuXHJcbiAgICAvLyAyLiDmuIXnkIbmiYDmnInlv6vnhadcclxuICAgIGZvcm0uaW5pdGlhbFNuYXBzaG90ID0ge307XHJcbiAgICBmb3JtLmVkaXRpbmdTbmFwc2hvdCA9IHt9O1xyXG5cclxuICAgIC8vIDMuIOa4heeQhuagoemqjOe7k+aenFxyXG4gICAgZm9ybS52YWxpZGF0aW9uUmVzdWx0cyA9IHt9O1xyXG5cclxuICAgIC8vIDQuIOmHjee9riB0b3VjaGVkIOeKtuaAgVxyXG4gICAgZm9ybS5hbGxUb3VjaGVkID0gZmFsc2U7XHJcbiAgICBmb3JtLnJvd1RvdWNoZWQgPSB7fTtcclxuXHJcbiAgICAvLyA1LiDlpoLmnpzphY3nva7kuoboh6rliqjmm7TmlrDvvIzmm7TmlrDlpJbpg6jmlbDnu4TlvJXnlKhcclxuICAgIHRoaXMuYXV0b1VwZGF0ZUFycmF5UmVmZXJlbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIOaJuemHj+iuvue9ruihqOWNleaVsOaNru+8iOeUqOS6juWbnuWhq+aVsOaNru+8iSAqL1xyXG4gIHNldEZvcm1EYXRhKGZvcm1OYW1lOiBzdHJpbmcsIGRhdGE6IGFueVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyAxLiDliJ3lp4vljJbmlbDmja7vvIjmt7vliqAgdWlk44CBaXNFZGl0IOetieWtl+aute+8iVxyXG4gICAgY29uc3QgaW5pdGlhbGl6ZWREYXRhID0gdGhpcy5pbml0aWFsaXplRGF0YShkYXRhKTtcclxuXHJcbiAgICAvLyAyLiDmm7TmlrDooajljZXmlbDmja5cclxuICAgIGZvcm0uZGF0YSA9IGluaXRpYWxpemVkRGF0YTtcclxuXHJcbiAgICAvLyAzLiDph43mlrDliJvlu7rliJ3lp4vlgLzlv6vnhadcclxuICAgIGZvcm0uaW5pdGlhbFNuYXBzaG90ID0ge307XHJcbiAgICBpbml0aWFsaXplZERhdGEuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgIGZvcm0uaW5pdGlhbFNuYXBzaG90W3Jvdy51aWQhXSA9IHRoaXMuY3JlYXRlUm93U25hcHNob3QoXHJcbiAgICAgICAgcm93LFxyXG4gICAgICAgIGZvcm0uY29uZmlnLmZpZWxkc1xyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gNC4g5riF55CG57yW6L6R5b+r54Wn5ZKM5qCh6aqM57uT5p6cXHJcbiAgICBmb3JtLmVkaXRpbmdTbmFwc2hvdCA9IHt9O1xyXG4gICAgZm9ybS52YWxpZGF0aW9uUmVzdWx0cyA9IHt9O1xyXG5cclxuICAgIC8vIDUuIOmHjee9riB0b3VjaGVkIOeKtuaAgVxyXG4gICAgZm9ybS5hbGxUb3VjaGVkID0gZmFsc2U7XHJcbiAgICBmb3JtLnJvd1RvdWNoZWQgPSB7fTtcclxuXHJcbiAgICAvLyA2LiDlpoLmnpzphY3nva7kuoboh6rliqjmm7TmlrDvvIzmm7TmlrDlpJbpg6jmlbDnu4TlvJXnlKhcclxuICAgIHRoaXMuYXV0b1VwZGF0ZUFycmF5UmVmZXJlbmNlKGZvcm1OYW1lKTtcclxuICB9XHJcbn1cclxuIl19
|
|
403
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byby10YWJsZS9zcmMvbGliL3BhZ2UtcHVibGljL2FycmF5LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUF3RHBDLGtCQUFrQjtBQUlsQixNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCO1FBRlEsY0FBUyxHQUFtQixFQUFFLENBQUM7SUFFeEIsQ0FBQztJQUVoQixZQUFZO0lBQ0osVUFBVSxDQUFDLEtBQVU7UUFDM0IsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDekMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7WUFDdkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxnQkFBZ0I7SUFDUixPQUFPLENBQUMsQ0FBTSxFQUFFLENBQU07UUFDNUIsSUFBSSxD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QyxDQUFDO1FBRUgsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFNUIsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzsrR0FwZlUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCI7XHJcblxyXG4vKiog5a2X5q615qCh6aqM57uT5p6c57G75Z6LICovXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXN1bHQgPSBzdHJpbmc7XHJcblxyXG4vKiog5a2X5q615qCh6aqM5pa55rOV57G75Z6LICovXHJcbmV4cG9ydCB0eXBlIEZpZWxkVmFsaWRhdG9yID0gKFxyXG4gIHZhbHVlOiBhbnksXHJcbiAgcm93OiBBcnJheUZvcm1Sb3csXHJcbiAgZmllbGROYW1lOiBzdHJpbmdcclxuKSA9PiBWYWxpZGF0aW9uUmVzdWx0O1xyXG5cclxuLyoqIOWtl+autemFjee9ruaOpeWPoyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQ29uZmlnIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsaWRhdG9yPzogRmllbGRWYWxpZGF0b3I7XHJcbn1cclxuXHJcbi8qKiDmlbDnu4TooajljZXooYzmlbDmja7mjqXlj6MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBBcnJheUZvcm1Sb3cge1xyXG4gIHVpZD86IHN0cmluZztcclxuICBpc0VkaXQ/OiBib29sZWFuO1xyXG4gIGlzQWRkPzogYm9vbGVhbjtcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKiog5pWw57uE6KGo5Y2V6YWN572u5o6l5Y+jICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXJyYXlGb3JtQ29uZmlnIHtcclxuICBmaWVsZHM6IEZpZWxkQ29uZmlnW107XHJcbiAgZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgLy8g6Ieq5Yqo5pu05paw55uu5qCH5a+56LGh5ZKM5bGe5oCn5ZCN77yM55So5LqO6Kem5Y+RIEFuZ3VsYXIg5Y+Y5YyW5qOA5rWLXHJcbiAgdGFyZ2V0T2JqZWN0PzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICBhcnJheVByb3BlcnR5TmFtZT86IHN0cmluZztcclxufVxyXG5cclxuLyoqIOihqOWNleWtmOWCqOmhueaOpeWPoyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5Rm9ybVN0b3JlSXRlbSB7XHJcbiAgZGF0YTogQXJyYXlGb3JtUm93W107XHJcbiAgY29uZmlnOiBBcnJheUZvcm1Db25maWc7XHJcbiAgdmFsaWRhdGlvblJlc3VsdHM/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBWYWxpZGF0aW9uUmVzdWx0Pj47XHJcbiAgLyoqIOWIneWni+WAvOW/q+eFp++8jOeUqOS6juiHquWKqOajgOa1i+Wtl+auteaYr+WQpuiiq+S/ruaUuSAqL1xyXG4gIGluaXRpYWxTbmFwc2hvdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj47XHJcbiAgLyoqIOe8lui+keaXtuW/q+eFp++8jOeUqOS6juWPlua2iOe8lui+keaXtuaBouWkjeaVsOaNriAqL1xyXG4gIGVkaXRpbmdTbmFwc2hvdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj47XHJcbiAgLyoqIOaYr+WQpuagh+iusOaJgOacieWtl+auteS4uuW3suinpueisO+8iOaVtOS4quihqOWNleaPkOS6pOaXtuiuvuS4uiB0cnVl77yJICovXHJcbiAgYWxsVG91Y2hlZDogYm9vbGVhbjtcclxuICAvKiog5q+P6KGM55qEIHRvdWNoZWQg54q25oCB77yI5Y2V6KGM5L+d5a2Y5pe26K6+5Li6IHRydWXvvIkgKi9cclxuICByb3dUb3VjaGVkOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcclxufVxyXG5cclxuLyoqIOihqOWNleWtmOWCqOaOpeWPoyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5Rm9ybVN0b3JlIHtcclxuICBbZm9ybU5hbWU6IHN0cmluZ106IEFycmF5Rm9ybVN0b3JlSXRlbTtcclxufVxyXG5cclxuLyoqIOaVsOe7hOWei+aVsOaNruaUtumbhuWfuuehgOacjeWKoSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1TZXJ2aWNlIHtcclxuICBwcml2YXRlIGZvcm1TdG9yZTogQXJyYXlGb3JtU3RvcmUgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAvKiog5rex5bqm5YWL6ZqG5YC8ICovXHJcbiAgcHJpdmF0ZSBjbG9uZVZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGl0ZW0pID0+IHRoaXMuY2xvbmVWYWx1ZShpdGVtKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgIGNvbnN0IGNsb25lZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcclxuICAgICAgICBjbG9uZWRba2V5XSA9IHRoaXMuY2xvbmVWYWx1ZSh2YWx1ZVtrZXldKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY2xvbmVkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIOavlOi+g+S4pOS4quWAvOaYr+WQpuebuOetiSAqL1xyXG4gIHByaXZhdGUgaXNFcXVhbChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGEgPT09IGIpIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKGEgPT09IG51bGwgfHwgYiA9PT0gbnVsbCkgcmV0dXJuIGEgPT09IGI7XHJcbiAgICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGEgPT09IGI7XHJcbiAgICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYgQXJyYXkuaXNBcnJheShiKSkge1xyXG4gICAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIHJldHVybiBhLmV2ZXJ5KChpdGVtLCBpbmRleCkgPT4gdGhpcy5pc0VxdWFsKGl0ZW0sIGJbaW5kZXhdKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBhID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBiID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgIGNvbnN0IGtleXNBID0gT2JqZWN0LmtleXMoYSk7XHJcbiAgICAgIGNvbnN0IGtleXNCID0gT2JqZWN0LmtleXMoYik7XHJcbiAgICAgIGlmIChrZXlzQS5sZW5ndGggIT09IGtleXNCLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4ga2V5c0EuZXZlcnkoKGtleSkgPT4gdGhpcy5pc0VxdWFsKGFba2V5XSwgYltrZXldKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqIOWIm+W7uuihjOeahOWIneWni+WAvOW/q+eFpyAqL1xyXG4gIHByaXZhdGUgY3JlYXRlUm93U25hcHNob3QoXHJcbiAgICByb3c6IEFycmF5Rm9ybVJvdyxcclxuICAgIGZpZWxkczogRmllbGRDb25maWdbXVxyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgY29uc3Qgc25hcHNob3Q6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICBzbmFwc2hvdFtmaWVsZC5uYW1lXSA9IHRoaXMuY2xvbmVWYWx1ZShyb3dbZmllbGQubmFtZV0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc25hcHNob3Q7XHJcbiAgfVxyXG5cclxuICAvKiog5Yid5aeL5YyW5pWw57uE5pWw5o2u77yM5re75YqgIHVpZCDlkowgaXNFZGl0IOWtl+autSAqL1xyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURhdGEoZGF0YTogYW55W10pOiBBcnJheUZvcm1Sb3dbXSB7XHJcbiAgICByZXR1cm4gZGF0YS5tYXAoKGl0ZW0pID0+IHRoaXMuZW5yaWNoUm93KGl0ZW0pKTtcclxuICB9XHJcblxyXG4gIC8qKiDkuLrljZXooYzmlbDmja7mt7vliqAgdWlkIOWSjCBpc0VkaXQg5a2X5q61ICovXHJcbiAgcHJpdmF0ZSBlbnJpY2hSb3cocm93OiBhbnkpOiBBcnJheUZvcm1Sb3cge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4ucm93LFxyXG4gICAgICB1aWQ6IHJvdy51aWQgfHwgdXVpZHY0KCksXHJcbiAgICAgIGlzRWRpdDogcm93LmlzRWRpdCAhPT0gdW5kZWZpbmVkID8gcm93LmlzRWRpdCA6IGZhbHNlLFxyXG4gICAgICBkaXNhYmxlZDogcm93LmRpc2FibGVkICE9PSB1bmRlZmluZWQgPyByb3cuZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKiog5paw5aKe5LiA6KGM5pWw5o2uICovXHJcbiAgcHJpdmF0ZSBhZGRSb3coXHJcbiAgICBkYXRhOiBBcnJheUZvcm1Sb3dbXSxcclxuICAgIGRlZmF1bHRWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgKTogQXJyYXlGb3JtUm93IHtcclxuICAgIGNvbnN0IG5ld1JvdzogQXJyYXlGb3JtUm93ID0ge1xyXG4gICAgICAuLi5kZWZhdWx0VmFsdWVzLFxyXG4gICAgICB1aWQ6IHV1aWR2NCgpLFxyXG4gICAgICBpc0VkaXQ6IHRydWUsXHJcbiAgICAgIGlzQWRkOiB0cnVlLFxyXG4gICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gICAgZGF0YS5wdXNoKG5ld1Jvdyk7XHJcbiAgICByZXR1cm4gbmV3Um93O1xyXG4gIH1cclxuXHJcbiAgLyoqIOagoemqjOWNleS4quWtl+autSAqL1xyXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZChcclxuICAgIHJvdzogQXJyYXlGb3JtUm93LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjb25maWc6IEFycmF5Rm9ybUNvbmZpZ1xyXG4gICk6IFZhbGlkYXRpb25SZXN1bHQge1xyXG4gICAgY29uc3QgZmllbGRDb25maWcgPSBjb25maWcuZmllbGRzLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gZmllbGROYW1lKTtcclxuXHJcbiAgICBpZiAoIWZpZWxkQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWVsZENvbmZpZy52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZpZWxkQ29uZmlnLnZhbGlkYXRvcihyb3dbZmllbGROYW1lXSwgcm93LCBmaWVsZE5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgLyoqIOagoemqjOaVtOihjOaVsOaNriAqL1xyXG4gIHByaXZhdGUgdmFsaWRhdGVSb3coXHJcbiAgICByb3c6IEFycmF5Rm9ybVJvdyxcclxuICAgIGNvbmZpZzogQXJyYXlGb3JtQ29uZmlnXHJcbiAgKTogUmVjb3JkPHN0cmluZywgVmFsaWRhdGlvblJlc3VsdD4ge1xyXG4gICAgY29uc3QgcmVzdWx0czogUmVjb3JkPHN0cmluZywgVmFsaWRhdGlvblJlc3VsdD4gPSB7fTtcclxuXHJcbiAgICBjb25maWcuZmllbGRzLmZvckVhY2goKGZpZWxkQ29uZmlnKSA9PiB7XHJcbiAgICAgIHJlc3VsdHNbZmllbGRDb25maWcubmFtZV0gPSB0aGlzLnZhbGlkYXRlRmllbGQoXHJcbiAgICAgICAgcm93LFxyXG4gICAgICAgIGZpZWxkQ29uZmlnLm5hbWUsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIC8qKiDmoKHpqozmlbTkuKrmlbDnu4QgKi9cclxuICBwcml2YXRlIHZhbGlkYXRlRGF0YShcclxuICAgIGRhdGE6IEFycmF5Rm9ybVJvd1tdLFxyXG4gICAgY29uZmlnOiBBcnJheUZvcm1Db25maWdcclxuICApOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBWYWxpZGF0aW9uUmVzdWx0Pj4ge1xyXG4gICAgY29uc3QgcmVzdWx0czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgVmFsaWRhdGlvblJlc3VsdD4+ID0ge307XHJcblxyXG4gICAgZGF0YS5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgcmVzdWx0c1tyb3cudWlkXSA9IHRoaXMudmFsaWRhdGVSb3cocm93LCBjb25maWcpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICAvKiog5rOo5YaM6KGo5Y2V5Yiw5a2Y5YKoICovXHJcbiAgcmVnaXN0ZXJGb3JtKFxyXG4gICAgZm9ybU5hbWU6IHN0cmluZyxcclxuICAgIGRhdGE6IEFycmF5Rm9ybVJvd1tdLFxyXG4gICAgY29uZmlnOiBBcnJheUZvcm1Db25maWdcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGluaXRpYWxpemVkRGF0YSA9IHRoaXMuaW5pdGlhbGl6ZURhdGEoZGF0YSk7XHJcblxyXG4gICAgLy8g6K6w5b2V5Yid5aeL5YC85b+r54WnXHJcbiAgICBjb25zdCBpbml0aWFsU25hcHNob3Q6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGFueT4+ID0ge307XHJcbiAgICBpbml0aWFsaXplZERhdGEuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgIGluaXRpYWxTbmFwc2hvdFtyb3cudWlkIV0gPSB0aGlzLmNyZWF0ZVJvd1NuYXBzaG90KHJvdywgY29uZmlnLmZpZWxkcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV0gPSB7XHJcbiAgICAgIGRhdGE6IGluaXRpYWxpemVkRGF0YSxcclxuICAgICAgY29uZmlnLFxyXG4gICAgICB2YWxpZGF0aW9uUmVzdWx0czoge30sXHJcbiAgICAgIGluaXRpYWxTbmFwc2hvdCxcclxuICAgICAgZWRpdGluZ1NuYXBzaG90OiB7fSxcclxuICAgICAgYWxsVG91Y2hlZDogZmFsc2UsXHJcbiAgICAgIHJvd1RvdWNoZWQ6IHt9LFxyXG4gICAgfTtcclxuICAgIC8vIOWmguaenOmFjee9ruS6huiHquWKqOabtOaWsO+8jOeri+WNs+abtOaWsOS4gOasoVxyXG4gICAgdGhpcy5hdXRvVXBkYXRlQXJyYXlSZWZlcmVuY2UoZm9ybU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIOS7juWtmOWCqOS4reiOt+WPluihqOWNlSAqL1xyXG4gIGdldEZvcm0oZm9ybU5hbWU6IHN0cmluZyk6IEFycmF5Rm9ybVN0b3JlSXRlbSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gIH1cclxuXHJcbiAgLyoqIOS7juWtmOWCqOS4reiOt+WPluihqOWNleaVsOaNriAqL1xyXG4gIGdldEZvcm1EYXRhKFxyXG4gICAgZm9ybU5hbWU6IHN0cmluZ1xyXG4gICk6XHJcbiAgICB8IEFycmF5PFBpY2s8QXJyYXlGb3JtUm93LCBcInVpZFwiIHwgXCJpc0VkaXRcIiB8IFwiaXNBZGRcIiB8IGtleW9mIEFycmF5Rm9ybVJvdz4+XHJcbiAgICB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybS5kYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBkZWxldGUgaXRlbS5pc0VkaXQ7XHJcbiAgICAgIGRlbGV0ZSBpdGVtLmlzQWRkO1xyXG4gICAgICBkZWxldGUgaXRlbS51aWQ7XHJcbiAgICAgIGRlbGV0ZSBpdGVtLmRpc2FibGVkO1xyXG4gICAgICByZXR1cm4gaXRlbTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIOWQkeihqOWNlea3u+WKoOihjCAqL1xyXG4gIGFkZFJvd1RvRm9ybShcclxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXHJcbiAgICBkZWZhdWx0VmFsdWVzPzogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICk6IEFycmF5Rm9ybVJvdyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXdSb3cgPSB0aGlzLmFkZFJvdyhmb3JtLmRhdGEsIGRlZmF1bHRWYWx1ZXMpO1xyXG4gICAgLy8g5Li65paw6KGM6K6w5b2V5Yid5aeL5YC85b+r54WnXHJcbiAgICBmb3JtLmluaXRpYWxTbmFwc2hvdFtuZXdSb3cudWlkIV0gPSB0aGlzLmNyZWF0ZVJvd1NuYXBzaG90KFxyXG4gICAgICBuZXdSb3csXHJcbiAgICAgIGZvcm0uY29uZmlnLmZpZWxkc1xyXG4gICAgKTtcclxuICAgIC8vIOiHquWKqOabtOaWsOWklumDqOaVsOe7hOW8leeUqFxyXG4gICAgdGhpcy5hdXRvVXBkYXRlQXJyYXlSZWZlcmVuY2UoZm9ybU5hbWUpO1xyXG4gICAgcmV0dXJuIG5ld1JvdztcclxuICB9XHJcblxyXG4gIC8qKiDmoKHpqozooajljZXvvIzoh6rliqjmoIforrDmiYDmnInlrZfmrrXkuLrlt7Lop6bnorAgKi9cclxuICB2YWxpZGF0ZUZvcm0oZm9ybU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8vIOagh+iusOaJgOacieWtl+auteS4uuW3suinpueisFxyXG4gICAgZm9ybS5hbGxUb3VjaGVkID0gdHJ1ZTtcclxuICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLnZhbGlkYXRlRGF0YShmb3JtLmRhdGEsIGZvcm0uY29uZmlnKTtcclxuICAgIGZvcm0udmFsaWRhdGlvblJlc3VsdHMgPSByZXN1bHRzO1xyXG5cclxuICAgIC8vIOajgOafpeaYr+WQpuacieS7u+S9lemUmeivr1xyXG4gICAgZm9yIChjb25zdCB1aWQgb2YgT2JqZWN0LmtleXMocmVzdWx0cykpIHtcclxuICAgICAgZm9yIChjb25zdCBmaWVsZE5hbWUgb2YgT2JqZWN0LmtleXMocmVzdWx0c1t1aWRdKSkge1xyXG4gICAgICAgIGlmIChyZXN1bHRzW3VpZF1bZmllbGROYW1lXSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiog5byA5ZCv57yW6L6R5qih5byP77yM5L+d5a2Y5b+r54Wn55So5LqO5Y+W5raI5oGi5aSNICovXHJcbiAgZW5hYmxlRWRpdChmb3JtTmFtZTogc3RyaW5nLCByb3c6IEFycmF5Rm9ybVJvdyk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmIChmb3JtICYmIHJvdy51aWQpIHtcclxuICAgICAgLy8g5L+d5a2Y57yW6L6R5YmN55qE5b+r54WnXHJcbiAgICAgIGZvcm0uZWRpdGluZ1NuYXBzaG90W3Jvdy51aWRdID0gdGhpcy5jcmVhdGVSb3dTbmFwc2hvdChcclxuICAgICAgICByb3csXHJcbiAgICAgICAgZm9ybS5jb25maWcuZmllbGRzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByb3cuaXNFZGl0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiDlj5bmtojnvJbovpHvvIzmgaLlpI3liLDnvJbovpHliY3nmoTmlbDmja4gKi9cclxuICBkaXNhYmxlRWRpdChmb3JtTmFtZTogc3RyaW5nLCByb3c6IEFycmF5Rm9ybVJvdyk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmIChmb3JtICYmIHJvdy51aWQgJiYgZm9ybS5lZGl0aW5nU25hcHNob3Rbcm93LnVpZF0pIHtcclxuICAgICAgLy8g5oGi5aSN57yW6L6R5YmN55qE5pWw5o2uXHJcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZm9ybS5lZGl0aW5nU25hcHNob3Rbcm93LnVpZF07XHJcbiAgICAgIGZvcm0uY29uZmlnLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIHJvd1tmaWVsZC5uYW1lXSA9IHRoaXMuY2xvbmVWYWx1ZShzbmFwc2hvdFtmaWVsZC5uYW1lXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyDmm7TmlrDliJ3lp4vlv6vnhafkuLrmgaLlpI3lkI7nmoTlgLzvvIzmtojpmaQgdG91Y2hlZCDnirbmgIFcclxuICAgICAgZm9ybS5pbml0aWFsU25hcHNob3Rbcm93LnVpZF0gPSB0aGlzLmNsb25lVmFsdWUoc25hcHNob3QpO1xyXG4gICAgICAvLyDmuIXnkIbnvJbovpHlv6vnhaflkowgdG91Y2hlZCDnirbmgIFcclxuICAgICAgZGVsZXRlIGZvcm0uZWRpdGluZ1NuYXBzaG90W3Jvdy51aWRdO1xyXG4gICAgICBkZWxldGUgZm9ybS5yb3dUb3VjaGVkW3Jvdy51aWRdO1xyXG4gICAgICAvLyDmuIXnkIbor6XooYznmoTmoKHpqoznu5PmnpxcclxuICAgICAgaWYgKGZvcm0udmFsaWRhdGlvblJlc3VsdHMpIHtcclxuICAgICAgICBkZWxldGUgZm9ybS52YWxpZGF0aW9uUmVzdWx0c1tyb3cudWlkXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcm93LmlzRWRpdCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqIOehruiupOe8lui+ke+8jOS/neeVmeS/ruaUueWQjueahOaVsOaNriAqL1xyXG4gIGNvbmZpcm1FZGl0KGZvcm1OYW1lOiBzdHJpbmcsIHJvdzogQXJyYXlGb3JtUm93KTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKGZvcm0gJiYgcm93LnVpZCkge1xyXG4gICAgICAvLyDmuIXnkIbnvJbovpHlv6vnhafvvIjkv53nlZnlvZPliY3mlbDmja7vvIlcclxuICAgICAgaWYgKGZvcm0uZWRpdGluZ1NuYXBzaG90W3Jvdy51aWRdKSB7XHJcbiAgICAgICAgZGVsZXRlIGZvcm0uZWRpdGluZ1NuYXBzaG90W3Jvdy51aWRdO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOabtOaWsOWIneWni+W/q+eFp+S4uuW9k+WJjeWAvO+8iOeUqOS6juWQjue7rSB0b3VjaGVkIOajgOa1i++8iVxyXG4gICAgICBmb3JtLmluaXRpYWxTbmFwc2hvdFtyb3cudWlkXSA9IHRoaXMuY3JlYXRlUm93U25hcHNob3QoXHJcbiAgICAgICAgcm93LFxyXG4gICAgICAgIGZvcm0uY29uZmlnLmZpZWxkc1xyXG4gICAgICApO1xyXG4gICAgICAvLyDmuIXpmaQgdG91Y2hlZCDnirbmgIHvvIzln7rkuo7mlrDnmoQgaW5pdGlhbFNuYXBzaG90IOmHjeaWsOWIpOaWrVxyXG4gICAgICBkZWxldGUgZm9ybS5yb3dUb3VjaGVkW3Jvdy51aWRdO1xyXG4gICAgfVxyXG4gICAgcm93LmlzRWRpdCA9IGZhbHNlO1xyXG4gICAgcm93LmlzQWRkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKiog5LuO6KGo5Y2V5Lit5Yig6Zmk5oyH5a6a6KGMICovXHJcbiAgZGVsZXRlUm93RnJvbUZvcm0oZm9ybU5hbWU6IHN0cmluZywgcm93OiBBcnJheUZvcm1Sb3cpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoIWZvcm0gfHwgIXJvdy51aWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5kZXggPSBmb3JtLmRhdGEuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLnVpZCA9PT0gcm93LnVpZCk7XHJcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGZvcm0uZGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgLy8g5riF55CG6K+l6KGM55qE5omA5pyJ5b+r54Wn44CBdG91Y2hlZCDnirbmgIHlkozmoKHpqoznu5PmnpxcclxuICAgIGRlbGV0ZSBmb3JtLmluaXRpYWxTbmFwc2hvdFtyb3cudWlkXTtcclxuICAgIGRlbGV0ZSBmb3JtLmVkaXRpbmdTbmFwc2hvdFtyb3cudWlkXTtcclxuICAgIGRlbGV0ZSBmb3JtLnJvd1RvdWNoZWRbcm93LnVpZF07XHJcbiAgICBpZiAoZm9ybS52YWxpZGF0aW9uUmVzdWx0cykge1xyXG4gICAgICBkZWxldGUgZm9ybS52YWxpZGF0aW9uUmVzdWx0c1tyb3cudWlkXTtcclxuICAgIH1cclxuICAgIC8vIOiHquWKqOabtOaWsOWklumDqOaVsOe7hOW8leeUqFxyXG4gICAgdGhpcy5hdXRvVXBkYXRlQXJyYXlSZWZlcmVuY2UoZm9ybU5hbWUpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiog5qOA5rWL5a2X5q615piv5ZCm5bey6KKr6Kem56KwICovXHJcbiAgcHJpdmF0ZSBpc0ZpZWxkVG91Y2hlZChcclxuICAgIGZvcm06IEFycmF5Rm9ybVN0b3JlSXRlbSxcclxuICAgIHJvdzogQXJyYXlGb3JtUm93LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmdcclxuICApOiBib29sZWFuIHtcclxuICAgIC8vIOaVtOS4quihqOWNleW3siB0b3VjaGVk77yI5pW05Liq6KGo5Y2V5o+Q5Lqk5pe277yJXHJcbiAgICBpZiAoZm9ybS5hbGxUb3VjaGVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy8g5b2T5YmN6KGM5beyIHRvdWNoZWTvvIjljZXooYzkv53lrZjml7bvvIlcclxuICAgIGlmIChmb3JtLnJvd1RvdWNoZWRbcm93LnVpZCFdKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy8g5qOA5rWL5b2T5YmN5YC85LiO5Yid5aeL5YC85piv5ZCm5LiN5ZCMXHJcbiAgICBjb25zdCBpbml0aWFsVmFsdWUgPSBmb3JtLmluaXRpYWxTbmFwc2hvdFtyb3cudWlkIV0/LltmaWVsZE5hbWVdO1xyXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gcm93W2ZpZWxkTmFtZV07XHJcbiAgICByZXR1cm4gIXRoaXMuaXNFcXVhbChpbml0aWFsVmFsdWUsIGN1cnJlbnRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKiog5qCh6aqM5oyH5a6a6KGM55qE5oyH5a6a5a2X5q6177yM5pyq5L+u5pS55pe25LiN5pi+56S65qCh6aqM54q25oCBICovXHJcbiAgdmFsaWRhdGVGaWVsZEluUm93KFxyXG4gICAgZm9ybU5hbWU6IHN0cmluZyxcclxuICAgIHJvdzogQXJyYXlGb3JtUm93LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmdcclxuICApOiBcInN1Y2Nlc3NcIiB8IFwiZXJyb3JcIiB8IFwiXCIge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW2Zvcm1OYW1lXTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaWVsZENvbmZpZyA9IGZvcm0uY29uZmlnLmZpZWxkcy5maW5kKChmKSA9PiBmLm5hbWUgPT09IGZpZWxkTmFtZSk7XHJcbiAgICBpZiAoIWZpZWxkQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOaJp+ihjOagoemqjFxyXG4gICAgbGV0IHJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IFwiXCI7XHJcbiAgICBpZiAoZmllbGRDb25maWcudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJlc3VsdCA9IGZpZWxkQ29uZmlnLnZhbGlkYXRvcihyb3dbZmllbGROYW1lXSwgcm93LCBmaWVsZE5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOabtOaWsOagoemqjOe7k+aenOWtmOWCqFxyXG4gICAgaWYgKCFmb3JtLnZhbGlkYXRpb25SZXN1bHRzKSB7XHJcbiAgICAgIGZvcm0udmFsaWRhdGlvblJlc3VsdHMgPSB7fTtcclxuICAgIH1cclxuICAgIGlmICghZm9ybS52YWxpZGF0aW9uUmVzdWx0c1tyb3cudWlkIV0pIHtcclxuICAgICAgZm9ybS52YWxpZGF0aW9uUmVzdWx0c1tyb3cudWlkIV0gPSB7fTtcclxuICAgIH1cclxuICAgIGZvcm0udmFsaWRhdGlvblJlc3VsdHNbcm93LnVpZCFdW2ZpZWxkTmFtZV0gPSByZXN1bHQ7XHJcblxyXG4gICAgLy8g5aaC5p6c5a2X5q615pyq6KKr6Kem56Kw77yM5LiN5pi+56S65qCh6aqM54q25oCBXHJcbiAgICBpZiAoIXRoaXMuaXNGaWVsZFRvdWNoZWQoZm9ybSwgcm93LCBmaWVsZE5hbWUpKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQgPyBcImVycm9yXCIgOiBcInN1Y2Nlc3NcIjtcclxuICB9XHJcblxyXG4gIC8qKiDojrflj5bmjIflrprooYzmjIflrprlrZfmrrXnmoTmoKHpqozplJnor6/kv6Hmga8gKi9cclxuICBnZXRGaWVsZEVycm9yTWVzc2FnZShcclxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXHJcbiAgICByb3c6IEFycmF5Rm9ybVJvdyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoIWZvcm0gfHwgIXJvdy51aWQpIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgICAvLyDlpoLmnpzlrZfmrrXmnKrooqvop6bnorDvvIzkuI3mmL7npLrplJnor6/kv6Hmga9cclxuICAgIGlmICghdGhpcy5pc0ZpZWxkVG91Y2hlZChmb3JtLCByb3csIGZpZWxkTmFtZSkpIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybS52YWxpZGF0aW9uUmVzdWx0cz8uW3Jvdy51aWRdPy5bZmllbGROYW1lXSB8fCBcIlwiO1xyXG4gIH1cclxuXHJcbiAgLyoqIOagoemqjOaMh+WumuihjOeahOaJgOacieWtl+autSAqL1xyXG4gIHZhbGlkYXRlUm93QWxsRmllbGRzKGZvcm1OYW1lOiBzdHJpbmcsIHJvdzogQXJyYXlGb3JtUm93KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtIHx8ICFyb3cudWlkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOabtOaWsOWIneWni+W/q+eFp+S4uuW9k+WJjeWAvFxyXG4gICAgZm9ybS5pbml0aWFsU25hcHNob3Rbcm93LnVpZF0gPSB0aGlzLmNyZWF0ZVJvd1NuYXBzaG90KFxyXG4gICAgICByb3csXHJcbiAgICAgIGZvcm0uY29uZmlnLmZpZWxkc1xyXG4gICAgKTtcclxuICAgIC8vIOagh+iusOW9k+WJjeihjOS4uiB0b3VjaGVk77yI5Y+q5b2x5ZON5b2T5YmN6KGM77yM5LiN5b2x5ZON5YW25LuW6KGM77yJXHJcbiAgICBmb3JtLnJvd1RvdWNoZWRbcm93LnVpZF0gPSB0cnVlO1xyXG5cclxuICAgIGxldCBoYXNFcnJvciA9IGZhbHNlO1xyXG5cclxuICAgIGZvcm0uY29uZmlnLmZpZWxkcy5mb3JFYWNoKChmaWVsZENvbmZpZykgPT4ge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnZhbGlkYXRlRmllbGRJblJvdyhmb3JtTmFtZSwgcm93LCBmaWVsZENvbmZpZy5uYW1lKTtcclxuICAgICAgaWYgKHJlc3VsdCA9PT0gXCJlcnJvclwiKSB7XHJcbiAgICAgICAgaGFzRXJyb3IgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gIWhhc0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgLyoqIOiHquWKqOabtOaWsOWklumDqOaVsOe7hOW8leeUqCAqL1xyXG4gIHByaXZhdGUgYXV0b1VwZGF0ZUFycmF5UmVmZXJlbmNlKGZvcm1OYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoIWZvcm0gfHwgIWZvcm0uY29uZmlnLnRhcmdldE9iamVjdCB8fCAhZm9ybS5jb25maWcuYXJyYXlQcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbmV3QXJyYXkgPSBmb3JtLmRhdGEgPyBbLi4uZm9ybS5kYXRhXSA6IFtdO1xyXG4gICAgLy8g5pu05paw55uu5qCH5a+56LGh55qE5pWw57uE5bGe5oCn5Li65paw5pWw57uE5byV55SoXHJcbiAgICAoZm9ybS5jb25maWcudGFyZ2V0T2JqZWN0IGFzIGFueSlbZm9ybS5jb25maWcuYXJyYXlQcm9wZXJ0eU5hbWVdID0gbmV3QXJyYXk7XHJcbiAgfVxyXG5cclxuICAvKiog5piv5ZCm5pyJ5q2j5Zyo57yW6L6R55qE6KGMICovXHJcbiAgaGFzRWRpdGluZ1Jvdyhmb3JtTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RvcmVbZm9ybU5hbWVdO1xyXG4gICAgaWYgKCFmb3JtKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JtLmRhdGEuc29tZSgoaXRlbSkgPT4gaXRlbS5pc0VkaXQpO1xyXG4gIH1cclxuXHJcbiAgLy8g6ZSA5q+B5a+55bqU55qE6KGo5Y2VXHJcbiAgZGVzdG9yeShuYW1lczogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgIG5hbWVzLmZvckVhY2goKG5hbWUpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZm9ybVN0b3JlW25hbWVdKSB7XHJcbiAgICAgICAgLy8g5riF55CG6KGo5Y2V5pWw5o2uXHJcbiAgICAgICAgZGVsZXRlIHRoaXMuZm9ybVN0b3JlW25hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIOmHjee9ruihqOWNleaVsOe7hFxyXG4gIHJlc2V0Rm9ybUFycmF5KG5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0b3JlW25hbWVdO1xyXG4gICAgaWYgKCFmb3JtKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyAxLiDmuIXnqbrmlbDmja7mlbDnu4RcclxuICAgIGZvcm0uZGF0YSA9IFtdO1xyXG5cclxuICAgIC8vIDIuIOa4heeQhuaJgOacieW/q+eFp1xyXG4gICAgZm9ybS5pbml0aWFsU25hcHNob3QgPSB7fTtcclxuICAgIGZvcm0uZWRpdGluZ1NuYXBzaG90ID0ge307XHJcblxyXG4gICAgLy8gMy4g5riF55CG5qCh6aqM57uT5p6cXHJcbiAgICBmb3JtLnZhbGlkYXRpb25SZXN1bHRzID0ge307XHJcblxyXG4gICAgLy8gNC4g6YeN572uIHRvdWNoZWQg54q25oCBXHJcbiAgICBmb3JtLmFsbFRvdWNoZWQgPSBmYWxzZTtcclxuICAgIGZvcm0ucm93VG91Y2hlZCA9IHt9O1xyXG5cclxuICAgIC8vIDUuIOWmguaenOmFjee9ruS6huiHquWKqOabtOaWsO+8jOabtOaWsOWklumDqOaVsOe7hOW8leeUqFxyXG4gICAgdGhpcy5hdXRvVXBkYXRlQXJyYXlSZWZlcmVuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKiog5om56YeP6K6+572u6KGo5Y2V5pWw5o2u77yI55So5LqO5Zue5aGr5pWw5o2u77yJICovXHJcbiAgc2V0Rm9ybURhdGEoZm9ybU5hbWU6IHN0cmluZywgZGF0YTogYW55W10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdG9yZVtmb3JtTmFtZV07XHJcbiAgICBpZiAoIWZvcm0pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDEuIOWIneWni+WMluaVsOaNru+8iOa3u+WKoCB1aWTjgIFpc0VkaXQg562J5a2X5q6177yJXHJcbiAgICBjb25zdCBpbml0aWFsaXplZERhdGEgPSB0aGlzLmluaXRpYWxpemVEYXRhKGRhdGEpO1xyXG5cclxuICAgIC8vIDIuIOabtOaWsOihqOWNleaVsOaNrlxyXG4gICAgZm9ybS5kYXRhID0gaW5pdGlhbGl6ZWREYXRhO1xyXG5cclxuICAgIC8vIDMuIOmHjeaWsOWIm+W7uuWIneWni+WAvOW/q+eFp1xyXG4gICAgZm9ybS5pbml0aWFsU25hcHNob3QgPSB7fTtcclxuICAgIGluaXRpYWxpemVkRGF0YS5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgZm9ybS5pbml0aWFsU25hcHNob3Rbcm93LnVpZCFdID0gdGhpcy5jcmVhdGVSb3dTbmFwc2hvdChcclxuICAgICAgICByb3csXHJcbiAgICAgICAgZm9ybS5jb25maWcuZmllbGRzXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA0LiDmuIXnkIbnvJbovpHlv6vnhaflkozmoKHpqoznu5PmnpxcclxuICAgIGZvcm0uZWRpdGluZ1NuYXBzaG90ID0ge307XHJcbiAgICBmb3JtLnZhbGlkYXRpb25SZXN1bHRzID0ge307XHJcblxyXG4gICAgLy8gNS4g6YeN572uIHRvdWNoZWQg54q25oCBXHJcbiAgICBmb3JtLmFsbFRvdWNoZWQgPSBmYWxzZTtcclxuICAgIGZvcm0ucm93VG91Y2hlZCA9IHt9O1xyXG5cclxuICAgIC8vIDYuIOWmguaenOmFjee9ruS6huiHquWKqOabtOaWsO+8jOabtOaWsOWklumDqOaVsOe7hOW8leeUqFxyXG4gICAgdGhpcy5hdXRvVXBkYXRlQXJyYXlSZWZlcmVuY2UoZm9ybU5hbWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -9,21 +9,17 @@ import * as i4 from "ng-zorro-antd/popover";
|
|
|
9
9
|
import * as i5 from "ng-zorro-antd/icon";
|
|
10
10
|
import * as i6 from "../directives/trim-input.directive";
|
|
11
11
|
export class PlateInputComponent {
|
|
12
|
-
cdr;
|
|
13
|
-
elementRef;
|
|
14
|
-
platePrefixLoadService;
|
|
15
|
-
nzPopoverVisible = false;
|
|
16
|
-
platePrefix = "";
|
|
17
|
-
plateSuffix = "";
|
|
18
|
-
platePrefixOptions = [];
|
|
19
|
-
disabled = false;
|
|
20
|
-
onChange = (value) => { };
|
|
21
|
-
onTouched = () => { };
|
|
22
|
-
clickOutsideHandler;
|
|
23
12
|
constructor(cdr, elementRef, platePrefixLoadService) {
|
|
24
13
|
this.cdr = cdr;
|
|
25
14
|
this.elementRef = elementRef;
|
|
26
15
|
this.platePrefixLoadService = platePrefixLoadService;
|
|
16
|
+
this.nzPopoverVisible = false;
|
|
17
|
+
this.platePrefix = "";
|
|
18
|
+
this.plateSuffix = "";
|
|
19
|
+
this.platePrefixOptions = [];
|
|
20
|
+
this.disabled = false;
|
|
21
|
+
this.onChange = (value) => { };
|
|
22
|
+
this.onTouched = () => { };
|
|
27
23
|
}
|
|
28
24
|
ngOnInit() {
|
|
29
25
|
if (this.platePrefixLoadService) {
|
|
@@ -143,14 +139,14 @@ export class PlateInputComponent {
|
|
|
143
139
|
this.plateSuffix = value;
|
|
144
140
|
this.emitValue();
|
|
145
141
|
}
|
|
146
|
-
static
|
|
147
|
-
static
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: PLATE_PREFIX_LOAD_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlateInputComponent, selector: "app-plate-input", providers: [
|
|
148
144
|
{
|
|
149
145
|
provide: NG_VALUE_ACCESSOR,
|
|
150
146
|
useExisting: forwardRef(() => PlateInputComponent),
|
|
151
147
|
multi: true,
|
|
152
148
|
},
|
|
153
|
-
], ngImport: i0, template: "<div\r\n class=\"plate-antd-input-container\"\r\n [class.plate-antd-input-disabled]=\"disabled\"\r\n>\r\n <div\r\n class=\"plate-input-prefix\"\r\n [class.plate-input-prefix-disabled]=\"disabled\"\r\n nz-popover\r\n nzPopoverPlacement=\"bottom\"\r\n nzPopoverOverlayClassName=\"plate-input-popover\"\r\n [(nzPopoverVisible)]=\"nzPopoverVisible\"\r\n [nzPopoverTrigger]=\"'manual'\"\r\n [nzPopoverContent]=\"contentTemplate\"\r\n (click)=\"handlePrefixClick($event)\"\r\n >\r\n {{ platePrefix | uppercase }}\r\n <i\r\n class=\"plate-input-icon-down\"\r\n [nzRotate]=\"nzPopoverVisible ? 180 : 0\"\r\n nz-icon\r\n nzType=\"down\"\r\n nzTheme=\"outline\"\r\n ></i>\r\n </div>\r\n <ng-template #contentTemplate>\r\n <div nz-row style=\"height: 100%\">\r\n <div\r\n nz-col\r\n nzSpan=\"4\"\r\n *ngFor=\"let item of platePrefixOptions\"\r\n class=\"plate-input-popover-item\"\r\n (click)=\"!disabled && handlePlatePrefix(item.value)\"\r\n [ngClass]=\"{\r\n 'plate-input-popover-item-active': item.value === platePrefix,\r\n 'plate-input-popover-item-default': item.value !== platePrefix\r\n }\"\r\n >\r\n <div class=\"plate-input-popover-item-label\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <input\r\n class=\"plate-input-suffix\"\r\n type=\"text\"\r\n nz-input\r\n allow-trim\r\n style=\"width: 75%\"\r\n [value]=\"plateSuffix | uppercase\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"!disabled && handleAntdPlateSuffixBlur($event)\"\r\n placeholder=\"\u8BF7\u8F93\u5165\"\r\n maxlength=\"8\"\r\n />\r\n</div>\r\n", styles: ["::ng-deep .plate-input-popover{box-sizing:border-box;padding:5px 0}::ng-deep .plate-input-popover .ant-popover-inner-content{width:387px;height:264px;padding:0}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item{height:42px;box-sizing:border-box;padding:6px 12px;cursor:pointer}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item .plate-input-popover-item-label{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:1px solid #ccc}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-default:hover{background-color:#eaeaea}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-active{background-color:#096dd9;color:#fff}::ng-deep .plate-input-prefix:hover:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:transparent;z-index:2}::ng-deep .plate-antd-input-container{width:100%;display:flex;flex-wrap:nowrap}::ng-deep .plate-antd-input-container .plate-input-prefix{width:60px;text-align:center;min-height:32px;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background-color:#fff}::ng-deep .plate-antd-input-container .plate-input-prefix .plate-input-icon-down{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px}::ng-deep .plate-antd-input-container .plate-input-prefix:hover:not(.plate-input-prefix-disabled){border-color:#096dd9}::ng-deep .plate-antd-input-container .plate-input-prefix-disabled{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed;color:#7c7c7c}::ng-deep .plate-antd-input-container .plate-input-suffix{width:calc(100% - 60px)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i4.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i6.TrimInputDirective, selector: "input[nz-input]" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] });
|
|
149
|
+
], ngImport: i0, template: "<div\r\n class=\"plate-antd-input-container\"\r\n [class.plate-antd-input-disabled]=\"disabled\"\r\n>\r\n <div\r\n class=\"plate-input-prefix\"\r\n [class.plate-input-prefix-disabled]=\"disabled\"\r\n nz-popover\r\n nzPopoverPlacement=\"bottom\"\r\n nzPopoverOverlayClassName=\"plate-input-popover\"\r\n [(nzPopoverVisible)]=\"nzPopoverVisible\"\r\n [nzPopoverTrigger]=\"'manual'\"\r\n [nzPopoverContent]=\"contentTemplate\"\r\n (click)=\"handlePrefixClick($event)\"\r\n >\r\n {{ platePrefix | uppercase }}\r\n <i\r\n class=\"plate-input-icon-down\"\r\n [nzRotate]=\"nzPopoverVisible ? 180 : 0\"\r\n nz-icon\r\n nzType=\"down\"\r\n nzTheme=\"outline\"\r\n ></i>\r\n </div>\r\n <ng-template #contentTemplate>\r\n <div nz-row style=\"height: 100%\">\r\n <div\r\n nz-col\r\n nzSpan=\"4\"\r\n *ngFor=\"let item of platePrefixOptions\"\r\n class=\"plate-input-popover-item\"\r\n (click)=\"!disabled && handlePlatePrefix(item.value)\"\r\n [ngClass]=\"{\r\n 'plate-input-popover-item-active': item.value === platePrefix,\r\n 'plate-input-popover-item-default': item.value !== platePrefix\r\n }\"\r\n >\r\n <div class=\"plate-input-popover-item-label\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <input\r\n class=\"plate-input-suffix\"\r\n type=\"text\"\r\n nz-input\r\n allow-trim\r\n style=\"width: 75%\"\r\n [value]=\"plateSuffix | uppercase\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"!disabled && handleAntdPlateSuffixBlur($event)\"\r\n placeholder=\"\u8BF7\u8F93\u5165\"\r\n maxlength=\"8\"\r\n />\r\n</div>\r\n", styles: ["::ng-deep .plate-input-popover{box-sizing:border-box;padding:5px 0}::ng-deep .plate-input-popover .ant-popover-inner-content{width:387px;height:264px;padding:0}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item{height:42px;box-sizing:border-box;padding:6px 12px;cursor:pointer}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item .plate-input-popover-item-label{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border:1px solid #ccc}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-default:hover{background-color:#eaeaea}::ng-deep .plate-input-popover .ant-popover-inner-content .plate-input-popover-item-active{background-color:#096dd9;color:#fff}::ng-deep .plate-input-prefix:hover:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:transparent;z-index:2}::ng-deep .plate-antd-input-container{width:100%;display:flex;flex-wrap:nowrap}::ng-deep .plate-antd-input-container .plate-input-prefix{width:60px;text-align:center;min-height:32px;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;background-color:#fff}::ng-deep .plate-antd-input-container .plate-input-prefix .plate-input-icon-down{position:absolute;top:50%;right:5px;transform:translateY(-50%);font-size:10px}::ng-deep .plate-antd-input-container .plate-input-prefix:hover:not(.plate-input-prefix-disabled){border-color:#096dd9}::ng-deep .plate-antd-input-container .plate-input-prefix-disabled{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed;color:#7c7c7c}::ng-deep .plate-antd-input-container .plate-input-suffix{width:calc(100% - 60px)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i4.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i6.TrimInputDirective, selector: "input[nz-input]" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] }); }
|
|
154
150
|
}
|
|
155
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputComponent, decorators: [{
|
|
156
152
|
type: Component,
|
|
@@ -167,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
167
163
|
type: Inject,
|
|
168
164
|
args: [PLATE_PREFIX_LOAD_SERVICE]
|
|
169
165
|
}] }]; } });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFpQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQTZDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQWNqRyxNQUFNLE9BQU8sbUJBQW1CO0lBWXBCO0lBQ0E7SUFDK0M7SUFiekQsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixrQkFBa0IsR0FBNkIsRUFBRSxDQUFDO0lBQ2xELFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbEIsUUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDakMsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVyQixtQkFBbUIsQ0FBK0I7SUFFMUQsWUFDVSxHQUFzQixFQUN0QixVQUFzQixFQUN5QixzQkFBK0M7UUFGOUYsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN5QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXlCO0lBQ3JHLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0Isb0JBQW9CO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0I7aUJBQ3hCLGlCQUFpQixFQUFFO2lCQUNuQixJQUFJLENBQUMsQ0FBQyxJQUE4QixFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxrQkFBa0I7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUs7aUJBQ3JCLEtBQUssQ0FBQyxFQUFFLENBQUM7aUJBQ1QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2I7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJCO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFFM0IsNkJBQTZCO1FBQzdCLElBQUksZ0JBQWdCLEtBQUssVUFBVSxFQUFFO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbEMsU0FBUztZQUNULElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBWTtRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLE9BQU87U0FDUjtRQUNELHdCQUF3QjtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFFL0MsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDcEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1NBQ25DO1FBRUQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsU0FBUztJQUNwQyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUMvQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztZQUUzQyx3QkFBd0I7WUFDeEIsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFM0Usb0JBQW9CO1lBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUxRCwyQ0FBMkM7WUFDM0MsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsdUJBQXVCO1FBQ3ZCLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBVTtRQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzt3R0F0SlUsbUJBQW1CLDZFQWNSLHlCQUF5Qjs0RkFkcEMsbUJBQW1CLDBDQVJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQ2xELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNkSCw0dERBd0RBOzs0RkR4Q2EsbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQWdCRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIGZvcndhcmRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UsIFBsYXRlUHJlZml4TG9hZFNlcnZpY2UsIFBsYXRlUHJlZml4T3B0aW9uIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXBsYXRlLWlucHV0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wbGF0ZS1pbnB1dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9wbGF0ZS1pbnB1dC5jb21wb25lbnQubGVzc1wiXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBsYXRlSW5wdXRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBsYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIG56UG9wb3ZlclZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwbGF0ZVByZWZpeDogc3RyaW5nID0gXCJcIjtcclxuICBwbGF0ZVN1ZmZpeDogc3RyaW5nID0gXCJcIjtcclxuICBwbGF0ZVByZWZpeE9wdGlvbnM6IEFycmF5PFBsYXRlUHJlZml4T3B0aW9uPiA9IFtdO1xyXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7fTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICBwcml2YXRlIGNsaWNrT3V0c2lkZUhhbmRsZXI/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQTEFURV9QUkVGSVhfTE9BRF9TRVJWSUNFKSBwcml2YXRlIHBsYXRlUHJlZml4TG9hZFNlcnZpY2U/OiBQbGF0ZVByZWZpeExvYWRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBsYXRlUHJlZml4TG9hZFNlcnZpY2UpIHtcclxuICAgICAgLy8g5L2/55So5rOo5YWl55qE5YWo5bGA5pyN5Yqh5Yqg6L296L2m54mM5YmN57yA6YCJ6aG5XHJcbiAgICAgIHRoaXMucGxhdGVQcmVmaXhMb2FkU2VydmljZVxyXG4gICAgICAgIC5sb2FkUHJlZml4T3B0aW9ucygpXHJcbiAgICAgICAgLnRoZW4oKGRhdGE6IEFycmF5PFBsYXRlUHJlZml4T3B0aW9uPikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF0ZVByZWZpeE9wdGlvbnMgPSBkYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMucGxhdGVQcmVmaXhPcHRpb25zID0gW107XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyDlpoLmnpzmsqHmnInms6jlhaXmnI3liqHvvIzliJnkv53mjIHnqbrmlbDnu4RcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeE9wdGlvbnMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVBsYXRlUHJlZml4KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhdGVQcmVmaXggPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMucGxhdGVQcmVmaXggPSB2YWx1ZS5zcGxpdChcIlwiKVswXTtcclxuICAgICAgdGhpcy5wbGF0ZVN1ZmZpeCA9IHZhbHVlXHJcbiAgICAgICAgLnNwbGl0KFwiXCIpXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IGluZGV4ID4gMClcclxuICAgICAgICAuam9pbihcIlwiKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGxhdGVQcmVmaXggPSBcIlwiO1xyXG4gICAgICB0aGlzLnBsYXRlU3VmZml4ID0gXCJcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgcHJldmlvdXNEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIFxyXG4gICAgLy8g5aaC5p6c56aB55So54q25oCB5pS55Y+Y77yM5YWz6ZetIHBvcG92ZXIg5bm256e76Zmk55uR5ZCs5ZmoXHJcbiAgICBpZiAocHJldmlvdXNEaXNhYmxlZCAhPT0gaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICAvLyDlvLrliLblj5jmm7Tmo4DmtYtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUHJlZml4Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIOaJi+WKqOWIh+aNoiBwb3BvdmVyIOeahOaYvuekui/pmpDol4/nirbmgIFcclxuICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9ICF0aGlzLm56UG9wb3ZlclZpc2libGU7XHJcbiAgICBcclxuICAgIC8vIOWmguaenOaJk+W8gOS6hiBwb3BvdmVy77yM5re75Yqg5paH5qGj54K55Ye755uR5ZCs5ZmoXHJcbiAgICBpZiAodGhpcy5uelBvcG92ZXJWaXNpYmxlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXR0YWNoQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyDpmLvmraLkuovku7blhpLms6FcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXR0YWNoQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbGlja091dHNpZGVIYW5kbGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBcclxuICAgICAgLy8g5qOA5p+l5piv5ZCm54K55Ye75ZyoIHBvcG92ZXIg5YaF5a655Yy65Z+f5YaFXHJcbiAgICAgIGNvbnN0IHBvcG92ZXJDb250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBsYXRlLWlucHV0LXBvcG92ZXInKTtcclxuICAgICAgY29uc3QgY2xpY2tlZEluUG9wb3ZlciA9IHBvcG92ZXJDb250ZW50ICYmIHBvcG92ZXJDb250ZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDmo4Dmn6XmmK/lkKbngrnlh7vlnKjnu4Tku7blhoXpg6jvvIjliY3nvIDmjInpkq7vvIlcclxuICAgICAgY29uc3QgY2xpY2tlZEluQ29tcG9uZW50ID0gbmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgICBcclxuICAgICAgLy8g5aaC5p6c54K55Ye75pei5LiN5Zyo57uE5Lu25YaF6YOo77yM5Lmf5LiN5ZyoIHBvcG92ZXIg5YaF5a655Yy65Z+f77yM5YiZ5YWz6ZetIHBvcG92ZXJcclxuICAgICAgaWYgKCFjbGlja2VkSW5Db21wb25lbnQgJiYgIWNsaWNrZWRJblBvcG92ZXIpIHtcclxuICAgICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICAvLyDkvb/nlKjmjZXojrfpmLbmrrXvvIznoa7kv53lnKjlhbbku5bkuovku7blpITnkIbkuYvliY3miafooYxcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbGlja091dHNpZGVIYW5kbGVyKSB7XHJcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyLCB0cnVlKTtcclxuICAgICAgdGhpcy5jbGlja091dHNpZGVIYW5kbGVyID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRWYWx1ZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZ1bGxQbGF0ZSA9IHRoaXMucGxhdGVQcmVmaXggKyB0aGlzLnBsYXRlU3VmZml4O1xyXG4gICAgdGhpcy5vbkNoYW5nZShmdWxsUGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUFudGRQbGF0ZVN1ZmZpeEJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLnBsYXRlU3VmZml4ID0gdmFsdWU7XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJwbGF0ZS1hbnRkLWlucHV0LWNvbnRhaW5lclwiXHJcbiAgW2NsYXNzLnBsYXRlLWFudGQtaW5wdXQtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wcmVmaXhcIlxyXG4gICAgW2NsYXNzLnBsYXRlLWlucHV0LXByZWZpeC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBuei1wb3BvdmVyXHJcbiAgICBuelBvcG92ZXJQbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgbnpQb3BvdmVyT3ZlcmxheUNsYXNzTmFtZT1cInBsYXRlLWlucHV0LXBvcG92ZXJcIlxyXG4gICAgWyhuelBvcG92ZXJWaXNpYmxlKV09XCJuelBvcG92ZXJWaXNpYmxlXCJcclxuICAgIFtuelBvcG92ZXJUcmlnZ2VyXT1cIidtYW51YWwnXCJcclxuICAgIFtuelBvcG92ZXJDb250ZW50XT1cImNvbnRlbnRUZW1wbGF0ZVwiXHJcbiAgICAoY2xpY2spPVwiaGFuZGxlUHJlZml4Q2xpY2soJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAge3sgcGxhdGVQcmVmaXggfCB1cHBlcmNhc2UgfX1cclxuICAgIDxpXHJcbiAgICAgIGNsYXNzPVwicGxhdGUtaW5wdXQtaWNvbi1kb3duXCJcclxuICAgICAgW256Um90YXRlXT1cIm56UG9wb3ZlclZpc2libGUgPyAxODAgOiAwXCJcclxuICAgICAgbnotaWNvblxyXG4gICAgICBuelR5cGU9XCJkb3duXCJcclxuICAgICAgbnpUaGVtZT1cIm91dGxpbmVcIlxyXG4gICAgPjwvaT5cclxuICA8L2Rpdj5cclxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuICAgIDxkaXYgbnotcm93IHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBuei1jb2xcclxuICAgICAgICBuelNwYW49XCI0XCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwbGF0ZVByZWZpeE9wdGlvbnNcIlxyXG4gICAgICAgIGNsYXNzPVwicGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtXCJcclxuICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkICYmIGhhbmRsZVBsYXRlUHJlZml4KGl0ZW0udmFsdWUpXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAncGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtLWFjdGl2ZSc6IGl0ZW0udmFsdWUgPT09IHBsYXRlUHJlZml4LFxyXG4gICAgICAgICAgJ3BsYXRlLWlucHV0LXBvcG92ZXItaXRlbS1kZWZhdWx0JzogaXRlbS52YWx1ZSAhPT0gcGxhdGVQcmVmaXhcclxuICAgICAgICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW0tbGFiZWxcIj5cclxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxpbnB1dFxyXG4gICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1zdWZmaXhcIlxyXG4gICAgdHlwZT1cInRleHRcIlxyXG4gICAgbnotaW5wdXRcclxuICAgIGFsbG93LXRyaW1cclxuICAgIHN0eWxlPVwid2lkdGg6IDc1JVwiXHJcbiAgICBbdmFsdWVdPVwicGxhdGVTdWZmaXggfCB1cHBlcmNhc2VcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIChibHVyKT1cIiFkaXNhYmxlZCAmJiBoYW5kbGVBbnRkUGxhdGVTdWZmaXhCbHVyKCRldmVudClcIlxyXG4gICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIlxyXG4gICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgLz5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFpQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQTZDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQWNqRyxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQ1UsR0FBc0IsRUFDdEIsVUFBc0IsRUFDeUIsc0JBQStDO1FBRjlGLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtRQWJ4RyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsdUJBQWtCLEdBQTZCLEVBQUUsQ0FBQztRQUNsRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFRMUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixvQkFBb0I7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQjtpQkFDeEIsaUJBQWlCLEVBQUU7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RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQXRKVSxtQkFBbUIsNkVBY1IseUJBQXlCO21HQWRwQyxtQkFBbUIsMENBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ2RILDR0REF3REE7OzRGRHhDYSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBZ0JFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUExBVEVfUFJFRklYX0xPQURfU0VSVklDRSwgUGxhdGVQcmVmaXhMb2FkU2VydmljZSwgUGxhdGVQcmVmaXhPcHRpb24gfSBmcm9tIFwiLi4vdG9rZW5zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtcGxhdGUtaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3BsYXRlLWlucHV0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3BsYXRlLWlucHV0LmNvbXBvbmVudC5sZXNzXCJdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGxhdGVJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhdGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgbnpQb3BvdmVyVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBsYXRlUHJlZml4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYXRlU3VmZml4OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYXRlUHJlZml4T3B0aW9uczogQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+ID0gW107XHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgY2xpY2tPdXRzaWRlSGFuZGxlcj86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBMQVRFX1BSRUZJWF9MT0FEX1NFUlZJQ0UpIHByaXZhdGUgcGxhdGVQcmVmaXhMb2FkU2VydmljZT86IFBsYXRlUHJlZml4TG9hZFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGxhdGVQcmVmaXhMb2FkU2VydmljZSkge1xyXG4gICAgICAvLyDkvb/nlKjms6jlhaXnmoTlhajlsYDmnI3liqHliqDovb3ovabniYzliY3nvIDpgInpoblcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeExvYWRTZXJ2aWNlXHJcbiAgICAgICAgLmxvYWRQcmVmaXhPcHRpb25zKClcclxuICAgICAgICAudGhlbigoZGF0YTogQXJyYXk8UGxhdGVQcmVmaXhPcHRpb24+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IGRhdGE7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF0ZVByZWZpeE9wdGlvbnMgPSBbXTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIOWmguaenOayoeacieazqOWFpeacjeWKoe+8jOWImeS/neaMgeepuuaVsOe7hFxyXG4gICAgICB0aGlzLnBsYXRlUHJlZml4T3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUGxhdGVQcmVmaXgodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IHZhbHVlLnNwbGl0KFwiXCIpWzBdO1xyXG4gICAgICB0aGlzLnBsYXRlU3VmZml4ID0gdmFsdWVcclxuICAgICAgICAuc3BsaXQoXCJcIilcclxuICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPiAwKVxyXG4gICAgICAgIC5qb2luKFwiXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wbGF0ZVByZWZpeCA9IFwiXCI7XHJcbiAgICAgIHRoaXMucGxhdGVTdWZmaXggPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBwcmV2aW91c0Rpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgXHJcbiAgICAvLyDlpoLmnpznpoHnlKjnirbmgIHmlLnlj5jvvIzlhbPpl60gcG9wb3ZlciDlubbnp7vpmaTnm5HlkKzlmahcclxuICAgIGlmIChwcmV2aW91c0Rpc2FibGVkICE9PSBpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICAgIC8vIOW8uuWItuWPmOabtOajgOa1i1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQcmVmaXhDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLm56UG9wb3ZlclZpc2libGUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8g5omL5Yqo5YiH5o2iIHBvcG92ZXIg55qE5pi+56S6L+makOiXj+eKtuaAgVxyXG4gICAgdGhpcy5uelBvcG92ZXJWaXNpYmxlID0gIXRoaXMubnpQb3BvdmVyVmlzaWJsZTtcclxuICAgIFxyXG4gICAgLy8g5aaC5p6c5omT5byA5LqGIHBvcG92ZXLvvIzmt7vliqDmlofmoaPngrnlh7vnm5HlkKzlmahcclxuICAgIGlmICh0aGlzLm56UG9wb3ZlclZpc2libGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIOmYu+atouS6i+S7tuWGkuazoVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIFxyXG4gICAgICAvLyDmo4Dmn6XmmK/lkKbngrnlh7vlnKggcG9wb3ZlciDlhoXlrrnljLrln5/lhoVcclxuICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGxhdGUtaW5wdXQtcG9wb3ZlcicpO1xyXG4gICAgICBjb25zdCBjbGlja2VkSW5Qb3BvdmVyID0gcG9wb3ZlckNvbnRlbnQgJiYgcG9wb3ZlckNvbnRlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgXHJcbiAgICAgIC8vIOajgOafpeaYr+WQpueCueWHu+WcqOe7hOS7tuWGhemDqO+8iOWJjee8gOaMiemSru+8iVxyXG4gICAgICBjb25zdCBjbGlja2VkSW5Db21wb25lbnQgPSBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDlpoLmnpzngrnlh7vml6LkuI3lnKjnu4Tku7blhoXpg6jvvIzkuZ/kuI3lnKggcG9wb3ZlciDlhoXlrrnljLrln5/vvIzliJnlhbPpl60gcG9wb3ZlclxyXG4gICAgICBpZiAoIWNsaWNrZWRJbkNvbXBvbmVudCAmJiAhY2xpY2tlZEluUG9wb3Zlcikge1xyXG4gICAgICAgIHRoaXMubnpQb3BvdmVyVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBcclxuICAgIC8vIOS9v+eUqOaNleiOt+mYtuaute+8jOehruS/neWcqOWFtuS7luS6i+S7tuWkhOeQhuS5i+WJjeaJp+ihjFxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIpIHtcclxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIsIHRydWUpO1xyXG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZUhhbmRsZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFZhbHVlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnVsbFBsYXRlID0gdGhpcy5wbGF0ZVByZWZpeCArIHRoaXMucGxhdGVTdWZmaXg7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGZ1bGxQbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQW50ZFBsYXRlU3VmZml4Qmx1cihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9VcHBlckNhc2UoKTtcclxuICAgIHRoaXMucGxhdGVTdWZmaXggPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInBsYXRlLWFudGQtaW5wdXQtY29udGFpbmVyXCJcclxuICBbY2xhc3MucGxhdGUtYW50ZC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXByZWZpeFwiXHJcbiAgICBbY2xhc3MucGxhdGUtaW5wdXQtcHJlZml4LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIG56LXBvcG92ZXJcclxuICAgIG56UG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICBuelBvcG92ZXJPdmVybGF5Q2xhc3NOYW1lPVwicGxhdGUtaW5wdXQtcG9wb3ZlclwiXHJcbiAgICBbKG56UG9wb3ZlclZpc2libGUpXT1cIm56UG9wb3ZlclZpc2libGVcIlxyXG4gICAgW256UG9wb3ZlclRyaWdnZXJdPVwiJ21hbnVhbCdcIlxyXG4gICAgW256UG9wb3ZlckNvbnRlbnRdPVwiY29udGVudFRlbXBsYXRlXCJcclxuICAgIChjbGljayk9XCJoYW5kbGVQcmVmaXhDbGljaygkZXZlbnQpXCJcclxuICA+XHJcbiAgICB7eyBwbGF0ZVByZWZpeCB8IHVwcGVyY2FzZSB9fVxyXG4gICAgPGlcclxuICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1pY29uLWRvd25cIlxyXG4gICAgICBbbnpSb3RhdGVdPVwibnpQb3BvdmVyVmlzaWJsZSA/IDE4MCA6IDBcIlxyXG4gICAgICBuei1pY29uXHJcbiAgICAgIG56VHlwZT1cImRvd25cIlxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICA+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgPGRpdiBuei1yb3cgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIG56LWNvbFxyXG4gICAgICAgIG56U3Bhbj1cIjRcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBsYXRlUHJlZml4T3B0aW9uc1wiXHJcbiAgICAgICAgY2xhc3M9XCJwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgaGFuZGxlUGxhdGVQcmVmaXgoaXRlbS52YWx1ZSlcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICdwbGF0ZS1pbnB1dC1wb3BvdmVyLWl0ZW0tYWN0aXZlJzogaXRlbS52YWx1ZSA9PT0gcGxhdGVQcmVmaXgsXHJcbiAgICAgICAgICAncGxhdGUtaW5wdXQtcG9wb3Zlci1pdGVtLWRlZmF1bHQnOiBpdGVtLnZhbHVlICE9PSBwbGF0ZVByZWZpeFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYXRlLWlucHV0LXBvcG92ZXItaXRlbS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGlucHV0XHJcbiAgICBjbGFzcz1cInBsYXRlLWlucHV0LXN1ZmZpeFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBuei1pbnB1dFxyXG4gICAgYWxsb3ctdHJpbVxyXG4gICAgc3R5bGU9XCJ3aWR0aDogNzUlXCJcclxuICAgIFt2YWx1ZV09XCJwbGF0ZVN1ZmZpeCB8IHVwcGVyY2FzZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgKGJsdXIpPVwiIWRpc2FibGVkICYmIGhhbmRsZUFudGRQbGF0ZVN1ZmZpeEJsdXIoJGV2ZW50KVwiXHJcbiAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -9,21 +9,21 @@ import { PlateInputComponent } from "./plate-input.component";
|
|
|
9
9
|
import { TrimInputModule } from "../directives/trim-input.module";
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class PlateInputModule {
|
|
12
|
-
static
|
|
13
|
-
static
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PlateInputModule, declarations: [PlateInputComponent], imports: [CommonModule,
|
|
14
14
|
FormsModule,
|
|
15
15
|
NzGridModule,
|
|
16
16
|
NzInputModule,
|
|
17
17
|
NzPopoverModule,
|
|
18
18
|
NzIconModule,
|
|
19
|
-
TrimInputModule], exports: [PlateInputComponent] });
|
|
20
|
-
static
|
|
19
|
+
TrimInputModule], exports: [PlateInputComponent] }); }
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputModule, imports: [CommonModule,
|
|
21
21
|
FormsModule,
|
|
22
22
|
NzGridModule,
|
|
23
23
|
NzInputModule,
|
|
24
24
|
NzPopoverModule,
|
|
25
25
|
NzIconModule,
|
|
26
|
-
TrimInputModule] });
|
|
26
|
+
TrimInputModule] }); }
|
|
27
27
|
}
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlateInputModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
42
42
|
exports: [PlateInputComponent],
|
|
43
43
|
}]
|
|
44
44
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvLXRhYmxlL3NyYy9saWIvcGxhdGUtaW5wdXQvcGxhdGUtaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWdCbEUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBSlosbUJBQW1CLGFBUmhDLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsWUFBWTtZQUNaLGVBQWUsYUFJUCxtQkFBbUI7Z0hBRWxCLGdCQUFnQixZQVp6QixZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLFlBQVk7WUFDWixlQUFlOzs0RkFNTixnQkFBZ0I7a0JBZDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTnpHcmlkTW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvZ3JpZFwiO1xyXG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tIFwibmctem9ycm8tYW50ZC9pY29uXCI7XHJcbmltcG9ydCB7IE56SW5wdXRNb2R1bGUgfSBmcm9tIFwibmctem9ycm8tYW50ZC9pbnB1dFwiO1xyXG5pbXBvcnQgeyBOelBvcG92ZXJNb2R1bGUgfSBmcm9tIFwibmctem9ycm8tYW50ZC9wb3BvdmVyXCI7XHJcbmltcG9ydCB7IFBsYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tIFwiLi9wbGF0ZS1pbnB1dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVHJpbUlucHV0TW9kdWxlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvdHJpbS1pbnB1dC5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOekdyaWRNb2R1bGUsXHJcbiAgICBOeklucHV0TW9kdWxlLFxyXG4gICAgTnpQb3BvdmVyTW9kdWxlLFxyXG4gICAgTnpJY29uTW9kdWxlLFxyXG4gICAgVHJpbUlucHV0TW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbUGxhdGVJbnB1dENvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxuICBleHBvcnRzOiBbUGxhdGVJbnB1dENvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0ZUlucHV0TW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -7,10 +7,9 @@ import * as i1 from "@angular/common/http";
|
|
|
7
7
|
* 使用 HttpClient 调用 API 获取车牌前缀选项
|
|
8
8
|
*/
|
|
9
9
|
export class DefaultPlatePrefixLoadService {
|
|
10
|
-
http;
|
|
11
|
-
defaultApiUrl = "/PlateFirstWord/GetPlateFirstWord";
|
|
12
10
|
constructor(http) {
|
|
13
11
|
this.http = http;
|
|
12
|
+
this.defaultApiUrl = "/PlateFirstWord/GetPlateFirstWord";
|
|
14
13
|
}
|
|
15
14
|
loadPrefixOptions() {
|
|
16
15
|
return lastValueFrom(this.http
|
|
@@ -33,10 +32,10 @@ export class DefaultPlatePrefixLoadService {
|
|
|
33
32
|
return [];
|
|
34
33
|
});
|
|
35
34
|
}
|
|
36
|
-
static
|
|
37
|
-
static
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixLoadService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixLoadService }); }
|
|
38
37
|
}
|
|
39
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultPlatePrefixLoadService, decorators: [{
|
|
40
39
|
type: Injectable
|
|
41
40
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUtcHJlZml4LWxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byby10YWJsZS9zcmMvbGliL3BsYXRlLWlucHV0L3BsYXRlLXByZWZpeC1sb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRm5CLGtCQUFhLEdBQUcsbUNBQW1DLENBQUM7SUFFOUIsQ0FBQztJQUV4QyxpQkFBaUI7UUFDZixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSTthQUMzQixJQUFJLENBQVcsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7YUFDbkUsSUFBSSxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxPQUFPLEdBQXdCLEVBQUUsQ0FBQztZQUN4QyxpQkFBaUI7WUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkMsU0FBUztZQUNULEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNkLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNmLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNWLGFBQWE7WUFDYixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F6QlUsNkJBQTZCO21IQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFBsYXRlUHJlZml4TG9hZFNlcnZpY2UsIFBsYXRlUHJlZml4T3B0aW9uIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5cclxuLyoqXHJcbiAqIOm7mOiupOeahOi9pueJjOWJjee8gOWKoOi9veacjeWKoeWunueOsFxyXG4gKiDkvb/nlKggSHR0cENsaWVudCDosIPnlKggQVBJIOiOt+WPlui9pueJjOWJjee8gOmAiemhuVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBsYXRlUHJlZml4TG9hZFNlcnZpY2UgaW1wbGVtZW50cyBQbGF0ZVByZWZpeExvYWRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcGlVcmwgPSBcIi9QbGF0ZUZpcnN0V29yZC9HZXRQbGF0ZUZpcnN0V29yZFwiO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gIGxvYWRQcmVmaXhPcHRpb25zKCk6IFByb21pc2U8UGxhdGVQcmVmaXhPcHRpb25bXT4ge1xyXG4gICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PHN0cmluZ1tdPih0aGlzLmRlZmF1bHRBcGlVcmwsIHsgZGljdENvZGU6IFwiUGxhdGVGaXJzdFdvcmRcIiB9KSlcclxuICAgICAgLnRoZW4oKGxpc3Q6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9uczogUGxhdGVQcmVmaXhPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgIC8vIOa3u+WKoOepuumAiemhue+8iOS4juaXp+eJiOS/neaMgeS4gOiHtO+8iVxyXG4gICAgICAgIG9wdGlvbnMucHVzaCh7IGxhYmVsOiBcIlwiLCB2YWx1ZTogXCJcIiB9KTtcclxuICAgICAgICAvLyDovazmjaLmlbDmja7moLzlvI9cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIG9wdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgIGxhYmVsOiBsaXN0W2ldLFxyXG4gICAgICAgICAgICB2YWx1ZTogbGlzdFtpXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb3B0aW9ucztcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKCgpID0+IHtcclxuICAgICAgICAvLyDlj5HnlJ/plJnor6/ml7bov5Tlm57nqbrmlbDnu4RcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuIl19
|