UNPKG

@kre-form/survey

Version:

179 lines (177 loc) 21.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ViewContainerRef, ViewChild, ChangeDetectorRef, ComponentFactoryResolver } from "@angular/core"; import { KreSurveySettingCascader } from "./basic/setting_cascader"; import { KreSurveySettingCheckBox } from "./basic/setting_checkbox"; import { KreSurveySettingDropdown } from "./basic/setting_dropdown"; import { KreSurveySettingInput } from "./basic/setting_input"; import { KreSurveySettingLine } from "./basic/setting_line"; import { KreSurveySettingRadio } from "./basic/setting_radio"; import { KreSurveySettingRemark } from "./basic/setting_remark"; import { KreSurveySettingScaler } from "./basic/setting_scaler"; import { KreSurveySettingScore } from "./basic/setting_score"; import { KreSurveySettingDate } from "./basic/setting_date"; import { KreSurveySettingTime } from "./basic/setting_time"; import { KreSurveySettingNPS } from "./basic/setting_nps"; import { KreSurveySettingProportion } from "./basic/setting_proportion"; import { KreSurveySettingEvaluation } from "./basic/setting_evaluation"; import { KreSurveySettingMatrixRadio } from "./basic/setting_matrix_radio"; import { KreSurveySettingMatrixCheckBox } from "./basic/setting_matrix_checkbox"; import { KreSurveySettingMatrixScore } from "./basic/setting_matrix_score"; import { KreSurveySettingMatrixInput } from "./basic/setting_matrix_input"; import { KreSurveySettingInputGroup } from "./basic/setting_input_group"; export class KreSurveySettingTemplate { /** * @param {?} componentFactoryResolver * @param {?} changeDetectorRef */ constructor(componentFactoryResolver, changeDetectorRef) { this.componentFactoryResolver = componentFactoryResolver; this.changeDetectorRef = changeDetectorRef; this.dynamicComponents = { "radio": KreSurveySettingRadio, "checkbox": KreSurveySettingCheckBox, "dropdown": KreSurveySettingDropdown, "input": KreSurveySettingInput, "line": KreSurveySettingLine, "remark": KreSurveySettingRemark, "cascader": KreSurveySettingCascader, "scaler": KreSurveySettingScaler, "score": KreSurveySettingScore, "date": KreSurveySettingDate, "time": KreSurveySettingTime, "nps": KreSurveySettingNPS, "proportion": KreSurveySettingProportion, "evaluation": KreSurveySettingEvaluation, "matrix_radio": KreSurveySettingMatrixRadio, "matrix_checkbox": KreSurveySettingMatrixCheckBox, "matrix_score": KreSurveySettingMatrixScore, "matrix_input": KreSurveySettingMatrixInput, "input_group": KreSurveySettingInputGroup // "select_single": KreSettingSelectSingle, // "select_multiple": KreSettingSelectMultiple, // "select_image": KreSettingSelectImage, // "select_voteimage": KreSettingSelectVoteImage, // "select_votefont": KreSettingSelectVoteFont, // "select_dropdown": KreSettingSelectDropdown, // "select_cascader": KreSettingSelectCascader, // "select_scaler": KreSettingSelectScaler, // "select_classification": KreSettingSelectClassification, // "blank": KreSettingBlank, // "blank_multiple": KreSettingBlankMultiple, // "blank_horizontal": KreSettingBlankHorizontal, // "blank_table": KreSettingBlankTable, // //"score": KreSettingScore, // "score_sort": KreSettingScoreSort, // "score_nps": KreSettingScoreNPS, // "score_proportion": KreSettingScoreProportion, // "score_evaluation": KreSettingScoreEvaluation, // "other_page": KreSettingOtherPage, // "other_line": KreSettingOtherLine, // "other_upload": KreSettingOtherUpload, // "other_remark": KreSettingOtherRemark, // "emp_name": KreSettingEmpName, // "emp_mobile": KreSettingEmpMobile, // "emp_email": KreSettingEmpEmail, // "emp_gender": KreSettingEmpGender, // "emp_date": KreSettingEmpDate, // "emp_time": KreSettingEmpTime, // "emp_age": KreSettingEmpAge, // "emp_education": KreSettingEmpEducation, // "emp_major": KreSettingEmpmajor, // "emp_university": KreSettingEmpUniversity, // "emp_industry": KreSettingIndustry, // "emp_occupation": KreSettingEmpOccupation, // "emp_address": KreSettingEmpAddress, // "emp_geography": KreSettingEmpGeography, // "matrix_select": KreSettingMatrixSelect, // "matrix_score": KreSettingMatrixScore, // "matrix_blank": KreSettingMatrixBlank, // "matrix_scale": KreSettingMatrixScale }; this.questionField = { key: "", type: "radio", templateOptions: { label: "", description: "", maxLength: 500, minLength: 0, max: 0, min: 0, precision: 0, placeholder: "", required: false, tips: "", pattern: "", options: [] }, origin: { refdatasourcetype: "", datatype: "" } }; } /** * @param {?} value * @return {?} */ set field(value) { if (value != null && value != undefined) { this.questionField = value; } if (this.componentHost) { this.componentHost.clear(); if (this.questionField != undefined && this.questionField != null && this.questionField.type != undefined && this.questionField.type != null) { /** @type {?} */ const compFactory = this.componentFactoryResolver.resolveComponentFactory(this.dynamicComponents[this.questionField.type]); this.component = this.componentHost.createComponent(compFactory); this.component.instance.field = this.questionField; } } } /** * @return {?} */ ngOnInit() { } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { } } KreSurveySettingTemplate.decorators = [ { type: Component, args: [{ selector: "setting-template", template: ` <ng-container #componentHost></ng-container> ` }] } ]; /** @nocollapse */ KreSurveySettingTemplate.ctorParameters = () => [ { type: ComponentFactoryResolver }, { type: ChangeDetectorRef } ]; KreSurveySettingTemplate.propDecorators = { componentHost: [{ type: ViewChild, args: ['componentHost', { read: ViewContainerRef, static: true },] }], field: [{ type: Input }] }; if (false) { /** @type {?} */ KreSurveySettingTemplate.prototype.dynamicComponents; /** @type {?} */ KreSurveySettingTemplate.prototype.component; /** @type {?} */ KreSurveySettingTemplate.prototype.componentHost; /** @type {?} */ KreSurveySettingTemplate.prototype.questionField; /** @type {?} */ KreSurveySettingTemplate.prototype.componentFactoryResolver; /** @type {?} */ KreSurveySettingTemplate.prototype.changeDetectorRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy50ZXBsYXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL3N1cnZleS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NldHRpbmcudGVwbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBS0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFHVCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwy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dGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBDb21wb25lbnRSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBLcmVGb3JtRmllbGRDb25maWcgfSBmcm9tIFwiQGtyZS1mb3JtL2NvcmVcIjtcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nQ2FzY2FkZXIgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX2Nhc2NhZGVyXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdDaGVja0JveCB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgS3JlU3VydmV5U2V0dGluZ0Ryb3Bkb3duIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ19kcm9wZG93blwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXQgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX2lucHV0XCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdMaW5lIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ19saW5lXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdSYWRpbyB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfcmFkaW9cIjtcclxuaW1wb3J0IHsgS3JlU3VydmV5U2V0dGluZ1JlbWFyayB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfcmVtYXJrXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdTY2FsZXIgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX3NjYWxlclwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nU2NvcmUgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX3Njb3JlXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdEYXRlIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ19kYXRlXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdUaW1lIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ190aW1lXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdOUFMgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX25wc1wiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nUHJvcG9ydGlvbiB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfcHJvcG9ydGlvblwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nRXZhbHVhdGlvbiB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfZXZhbHVhdGlvblwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4UmFkaW8gfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9yYWRpb1wiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4Q2hlY2tCb3ggfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4U2NvcmUgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9zY29yZVwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4SW5wdXQgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9pbnB1dFwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXRHcm91cCB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfaW5wdXRfZ3JvdXBcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNldHRpbmctdGVtcGxhdGVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgXHJcbiAgXHJcbiAgPG5nLWNvbnRhaW5lciAjY29tcG9uZW50SG9zdD48L25nLWNvbnRhaW5lcj5cclxuICBgXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3JlU3VydmV5U2V0dGluZ1RlbXBsYXRlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBkeW5hbWljQ29tcG9uZW50czogYW55ID0ge1xyXG4gICAgXCJyYWRpb1wiOiBLcmVTdXJ2ZXlTZXR0aW5nUmFkaW8sXHJcbiAgICBcImNoZWNrYm94XCI6IEtyZVN1cnZleVNldHRpbmdDaGVja0JveCxcclxuICAgIFwiZHJvcGRvd25cIjogS3JlU3VydmV5U2V0dGluZ0Ryb3Bkb3duLFxyXG4gICAgXCJpbnB1dFwiOiBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXQsXHJcbiAgICBcImxpbmVcIjogS3JlU3VydmV5U2V0dGluZ0xpbmUsXHJcbiAgICBcInJlbWFya1wiOiBLcmVTdXJ2ZXlTZXR0aW5nUmVtYXJrLFxyXG4gICAgXCJjYXNjYWRlclwiOiBLcmVTdXJ2ZXlTZXR0aW5nQ2FzY2FkZXIsXHJcbiAgICBcInNjYWxlclwiOiBLcmVTdXJ2ZXlTZXR0aW5nU2NhbGVyLFxyXG4gICAgXCJzY29yZVwiOiBLcmVTdXJ2ZXlTZXR0aW5nU2NvcmUsXHJcbiAgICBcImRhdGVcIjogS3JlU3VydmV5U2V0dGluZ0RhdGUsXHJcbiAgICBcInRpbWVcIjogS3JlU3VydmV5U2V0dGluZ1RpbWUsXHJcbiAgICBcIm5wc1wiOiBLcmVTdXJ2ZXlTZXR0aW5nTlBTLFxyXG4gICAgXCJwcm9wb3J0aW9uXCI6IEtyZVN1cnZleVNldHRpbmdQcm9wb3J0aW9uLFxyXG4gICAgXCJldmFsdWF0aW9uXCI6IEtyZVN1cnZleVNldHRpbmdFdmFsdWF0aW9uLFxyXG4gICAgXCJtYXRyaXhfcmFkaW9cIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeFJhZGlvLFxyXG4gICAgXCJtYXRyaXhfY2hlY2tib3hcIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeENoZWNrQm94LFxyXG4gICAgXCJtYXRyaXhfc2NvcmVcIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeFNjb3JlLFxyXG4gICAgXCJtYXRyaXhfaW5wdXRcIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeElucHV0LFxyXG4gICAgXCJpbnB1dF9ncm91cFwiOiBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXRHcm91cFxyXG4gICAgLy8gXCJzZWxlY3Rfc2luZ2xlXCI6IEtyZVNldHRpbmdTZWxlY3RTaW5nbGUsXHJcbiAgICAvLyBcInNlbGVjdF9tdWx0aXBsZVwiOiBLcmVTZXR0aW5nU2VsZWN0TXVsdGlwbGUsXHJcbiAgICAvLyBcInNlbGVjdF9pbWFnZVwiOiBLcmVTZXR0aW5nU2VsZWN0SW1hZ2UsXHJcbiAgICAvLyBcInNlbGVjdF92b3RlaW1hZ2VcIjogS3JlU2V0dGluZ1NlbGVjdFZvdGVJbWFnZSxcclxuICAgIC8vIFwic2VsZWN0X3ZvdGVmb250XCI6IEtyZVNldHRpbmdTZWxlY3RWb3RlRm9udCxcclxuICAgIC8vIFwic2VsZWN0X2Ryb3Bkb3duXCI6IEtyZVNldHRpbmdTZWxlY3REcm9wZG93bixcclxuICAgIC8vIFwic2VsZWN0X2Nhc2NhZGVyXCI6IEtyZVNldHRpbmdTZWxlY3RDYXNjYWRlcixcclxuICAgIC8vIFwic2VsZWN0X3NjYWxlclwiOiBLcmVTZXR0aW5nU2VsZWN0U2NhbGVyLFxyXG4gICAgLy8gXCJzZWxlY3RfY2xhc3NpZmljYXRpb25cIjogS3JlU2V0dGluZ1NlbGVjdENsYXNzaWZpY2F0aW9uLFxyXG5cclxuICAgIC8vIFwiYmxhbmtcIjogS3JlU2V0dGluZ0JsYW5rLFxyXG4gICAgLy8gXCJibGFua19tdWx0aXBsZVwiOiBLcmVTZXR0aW5nQmxhbmtNdWx0aXBsZSxcclxuICAgIC8vIFwiYmxhbmtfaG9yaXpvbnRhbFwiOiBLcmVTZXR0aW5nQmxhbmtIb3Jpem9udGFsLFxyXG4gICAgLy8gXCJibGFua190YWJsZVwiOiBLcmVTZXR0aW5nQmxhbmtUYWJsZSxcclxuICAgIC8vIC8vXCJzY29yZVwiOiBLcmVTZXR0aW5nU2NvcmUsXHJcbiAgICAvLyBcInNjb3JlX3NvcnRcIjogS3JlU2V0dGluZ1Njb3JlU29ydCxcclxuICAgIC8vIFwic2NvcmVfbnBzXCI6IEtyZVNldHRpbmdTY29yZU5QUyxcclxuICAgIC8vIFwic2NvcmVfcHJvcG9ydGlvblwiOiBLcmVTZXR0aW5nU2NvcmVQcm9wb3J0aW9uLFxyXG4gICAgLy8gXCJzY29yZV9ldmFsdWF0aW9uXCI6IEtyZVNldHRpbmdTY29yZUV2YWx1YXRpb24sXHJcbiAgICAvLyBcIm90aGVyX3BhZ2VcIjogS3JlU2V0dGluZ090aGVyUGFnZSxcclxuICAgIC8vIFwib3RoZXJfbGluZVwiOiBLcmVTZXR0aW5nT3RoZXJMaW5lLFxyXG4gICAgLy8gXCJvdGhlcl91cGxvYWRcIjogS3JlU2V0dGluZ090aGVyVXBsb2FkLFxyXG4gICAgLy8gXCJvdGhlcl9yZW1hcmtcIjogS3JlU2V0dGluZ090aGVyUmVtYXJrLFxyXG4gICAgLy8gXCJlbXBfbmFtZVwiOiBLcmVTZXR0aW5nRW1wTmFtZSxcclxuICAgIC8vIFwiZW1wX21vYmlsZVwiOiBLcmVTZXR0aW5nRW1wTW9iaWxlLFxyXG4gICAgLy8gXCJlbXBfZW1haWxcIjogS3JlU2V0dGluZ0VtcEVtYWlsLFxyXG4gICAgLy8gXCJlbXBfZ2VuZGVyXCI6IEtyZVNldHRpbmdFbXBHZW5kZXIsXHJcbiAgICAvLyBcImVtcF9kYXRlXCI6IEtyZVNldHRpbmdFbXBEYXRlLFxyXG4gICAgLy8gXCJlbXBfdGltZVwiOiBLcmVTZXR0aW5nRW1wVGltZSxcclxuICAgIC8vIFwiZW1wX2FnZVwiOiBLcmVTZXR0aW5nRW1wQWdlLFxyXG4gICAgLy8gXCJlbXBfZWR1Y2F0aW9uXCI6IEtyZVNldHRpbmdFbXBFZHVjYXRpb24sXHJcbiAgICAvLyBcImVtcF9tYWpvclwiOiBLcmVTZXR0aW5nRW1wbWFqb3IsXHJcbiAgICAvLyBcImVtcF91bml2ZXJzaXR5XCI6IEtyZVNldHRpbmdFbXBVbml2ZXJzaXR5LFxyXG4gICAgLy8gXCJlbXBfaW5kdXN0cnlcIjogS3JlU2V0dGluZ0luZHVzdHJ5LFxyXG4gICAgLy8gXCJlbXBfb2NjdXBhdGlvblwiOiBLcmVTZXR0aW5nRW1wT2NjdXBhdGlvbixcclxuICAgIC8vIFwiZW1wX2FkZHJlc3NcIjogS3JlU2V0dGluZ0VtcEFkZHJlc3MsXHJcbiAgICAvLyBcImVtcF9nZW9ncmFwaHlcIjogS3JlU2V0dGluZ0VtcEdlb2dyYXBoeSxcclxuICAgIC8vIFwibWF0cml4X3NlbGVjdFwiOiBLcmVTZXR0aW5nTWF0cml4U2VsZWN0LFxyXG4gICAgLy8gXCJtYXRyaXhfc2NvcmVcIjogS3JlU2V0dGluZ01hdHJpeFNjb3JlLFxyXG4gICAgLy8gXCJtYXRyaXhfYmxhbmtcIjogS3JlU2V0dGluZ01hdHJpeEJsYW5rLFxyXG4gICAgLy8gXCJtYXRyaXhfc2NhbGVcIjogS3JlU2V0dGluZ01hdHJpeFNjYWxlXHJcbiAgfTtcclxuXHJcbiAgY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29tcG9uZW50SG9zdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbXBvbmVudEhvc3Q6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XHJcbiAgcXVlc3Rpb25GaWVsZDogYW55ID0ge1xyXG4gICAga2V5OiBcIlwiLFxyXG4gICAgdHlwZTogXCJyYWRpb1wiLFxyXG4gICAgdGVtcGxhdGVPcHRpb25zOiB7XHJcbiAgICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJcIixcclxuICAgICAgbWF4TGVuZ3RoOiA1MDAsXHJcbiAgICAgIG1pbkxlbmd0aDogMCxcclxuICAgICAgbWF4OiAwLFxyXG4gICAgICBtaW46IDAsXHJcbiAgICAgIHByZWNpc2lvbjogMCxcclxuICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXHJcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgdGlwczogXCJcIixcclxuICAgICAgcGF0dGVybjogXCJcIixcclxuICAgICAgb3B0aW9uczogW11cclxuICAgIH0sXHJcbiAgICBvcmlnaW46IHtcclxuICAgICAgcmVmZGF0YXNvdXJjZXR5cGU6IFwiXCIsXHJcbiAgICAgIGRhdGF0eXBlOiBcIlwiXHJcbiAgICB9XHJcbiAgfTtcclxuICBASW5wdXQoKSBzZXQgZmllbGQodmFsdWU6IEtyZUZvcm1GaWVsZENvbmZpZykge1xyXG5cclxuICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uRmllbGQgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbXBvbmVudEhvc3QpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRIb3N0LmNsZWFyKCk7XHJcbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9uRmllbGQgIT0gdW5kZWZpbmVkICYmIHRoaXMucXVlc3Rpb25GaWVsZCAhPSBudWxsICYmIHRoaXMucXVlc3Rpb25GaWVsZC50eXBlICE9IHVuZGVmaW5lZCAmJiB0aGlzLnF1ZXN0aW9uRmllbGQudHlwZSAhPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgY29tcEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxyXG4gICAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50c1t0aGlzLnF1ZXN0aW9uRmllbGQudHlwZV0sXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50SG9zdC5jcmVhdGVDb21wb25lbnQoY29tcEZhY3RvcnkpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpZWxkID0gdGhpcy5xdWVzdGlvbkZpZWxkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHsgfVxyXG59XHJcbiJdfQ==