@bnsights/bbsf-controls 1.0.94 → 1.0.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/bnsights-bbsf-controls-1.0.96.tgz +0 -0
- package/bnsights-bbsf-controls.d.ts +1 -1
- package/bnsights-bbsf-controls.metadata.json +1 -1
- package/bundles/bnsights-bbsf-controls.umd.js +531 -417
- package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
- package/esm2015/bnsights-bbsf-controls.js +2 -2
- package/esm2015/lib/Shared/{components → Components}/ng-tag-input.js +1 -1
- package/esm2015/lib/Shared/Enums/InputType.js +2 -1
- package/esm2015/lib/Shared/Models/MultilingualControlOptionsBase.js +4 -2
- package/esm2015/lib/Shared/Models/RepeaterOptions.js +2 -1
- package/esm2015/lib/Shared/services/validationErrorMassage.service.js +123 -88
- package/esm2015/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.js +4 -2
- package/esm2015/lib/controls/CheckBox/CheckBox.component.js +2 -2
- package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +3 -3
- package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +5 -2
- package/esm2015/lib/controls/DropdownList/DropdownList.component.js +12 -2
- package/esm2015/lib/controls/FileUplaod/FileUplaod.component.js +2 -2
- package/esm2015/lib/controls/HtmlEditor/HtmlEditor.component.js +2 -2
- package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +2 -2
- package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +2 -2
- package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +2 -2
- package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +6 -2
- package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +6 -2
- package/esm2015/lib/controls/Phone/Phone.component.js +9 -7
- package/esm2015/lib/controls/ProfileImageUploader/ProfileImageUploader.component.js +2 -2
- package/esm2015/lib/controls/RadioButton/RadioButton.component.js +5 -2
- package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +2 -2
- package/esm2015/lib/controls/TagsInput/TagsInput.component.js +8 -2
- package/esm2015/lib/controls/TextArea/TextArea.component.js +4 -2
- package/esm2015/lib/controls/TextBox/TextBox.component.js +78 -40
- package/esm2015/lib/controls/Toggleslide/toggleslide.component.js +5 -2
- package/esm2015/lib/controls/bbsf-controls.module.js +9 -8
- package/fesm2015/bnsights-bbsf-controls.js +527 -414
- package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
- package/lib/Shared/Enums/InputType.d.ts +2 -1
- package/lib/Shared/Models/MultilingualControlOptionsBase.d.ts +11 -9
- package/lib/Shared/Models/RepeaterOptions.d.ts +1 -0
- package/lib/controls/ConfirmationModal/ConfirmationModal.component.d.ts +2 -2
- package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +1 -0
- package/lib/controls/DropdownList/DropdownList.component.d.ts +1 -0
- package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +1 -1
- package/lib/controls/Phone/Phone.component.d.ts +6 -6
- package/lib/controls/RadioButton/RadioButton.component.d.ts +1 -0
- package/lib/controls/TagsInput/TagsInput.component.d.ts +1 -0
- package/lib/controls/TextBox/TextBox.component.d.ts +3 -0
- package/lib/controls/Toggleslide/toggleslide.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/assets/sass/base.scss +7 -0
- package/bnsights-bbsf-controls-1.0.94.tgz +0 -0
- /package/esm2015/lib/Shared/{components → Components}/app-base-component.js +0 -0
- /package/lib/Shared/{components → Components}/app-base-component.d.ts +0 -0
- /package/lib/Shared/{components → Components}/ng-tag-input.d.ts +0 -0
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public-api';
|
|
5
|
-
export { BTagsInputComponent as ɵa } from './lib/Shared/
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export { BTagsInputComponent as ɵa } from './lib/Shared/Components/ng-tag-input';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm5zaWdodHMtYmJzZi1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2Juc2lnaHRzLWJic2YtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QlRhZ3NJbnB1dENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL1NoYXJlZC9Db21wb25lbnRzL25nLXRhZy1pbnB1dCc7Il19
|
|
@@ -320,4 +320,4 @@ BTagsInputComponent.propDecorators = {
|
|
|
320
320
|
onBlurInput: [{ type: Output }]
|
|
321
321
|
};
|
|
322
322
|
export { ɵ0 };
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdGFnLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL25nLXRhZy1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNkMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7O0FBRXZCLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEgzQixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUN4QixDQUFDO0FBRUYsTUFBTSxtQ0FBbUMsR0FBUTtJQUMvQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDbEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBYUYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFFLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDZixTQUFJLEdBQWUsRUFBRSxDQUFDO1FBQ3JCLHNCQUFpQixHQUFlLElBQUksQ0FBQztRQUNyQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLFlBQVks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Q0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSztzQkFDTCxLQUFLOzhCQUNMLEtBQUs7cUNBRUwsS0FBSztnQ0FDTCxLQUFLO3NDQUNMLEtBQUs7NEJBQ0wsTUFBTTsrQkFDTixNQUFNOytCQUNOLE1BQU07MEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIERvQ2hlY2ssIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFR5cGVhaGVhZE1hdGNoIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQvcHVibGljX2FwaSc7XHJcbmltcG9ydCB7IFRhZ0lucHV0VmlldyB9IGZyb20gJy4uL0VudW1zL1RhZ0lucHV0Vmlldyc7XHJcblxyXG5jb25zdCBub29wID0gKCkgPT4geyB9O1xyXG5cclxuY29uc3QgVEFHU19JTlBVVF9URU1QTEFURSA9IGBcclxuXHJcbjxkaXYgY2xhc3M9XCJ0YWdzLWlucHV0XCI+XHJcbjxzcGFuIGNsYXNzPVwidGFncy1pbnB1dF9fdGFnIGxhYmVsIGxhYmVsLXByaW1hcnkgYmFkZ2UgYmFkZ2UtcHJpbWFyeVwiICpuZ0Zvcj1cImxldCB0YWcgb2YgdGFnc1wiPlxyXG5cclxuPHNwYW4gW25nU3dpdGNoXT1cIlZpZXdNb2RlXCI+XHJcbjxzcGFuICpuZ1N3aXRjaENhc2U9XCJ0YWdJbnB1dFZpZXdFbnVtLldpdGhJbWFnZVwiPlxyXG48aW1nIHN0eWxlPVwiYm9yZGVyLXJhZGl1czo1MCU7IGhlaWdodDo0MHB4OyB3aWR0aDogNDBweDsgZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6NXB4IDsgbWFyZ2luLXRvcDogNXB4O21hcmdpbi1yaWdodDogNXB4O1wiXHJcbnNyYz1cInt7KHRhZy5pbWFnZVVSTD90YWcuaW1hZ2VVUkw6ZGVmYXVsdEltYWdlVVJMKX19XCIgLz5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEluaXRpYWxcIj5cclxuPGRpdiBjbGFzcz1cInVzZXItaW5pdGlhbHNcIj57e2NhbGN1bGF0ZUluaXRpYWxzKHRhZy5uYW1lKX19PC9kaXY+XHJcbjwvc3Bhbj5cclxuXHJcbjxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbjwvc3Bhbj5cclxuXHJcbjwvc3Bhbj5cclxuICB7e3RhZ1tkaXNwbGF5RmllbGRdfX1cclxuICA8c3BhbiAqbmdJZj1cImlzRGVsZXRlYWJsZSh0YWcpXCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwidGFncy1pbnB1dF9fdGFnLXJlbW92ZS1idG5cIiAoY2xpY2spPVwicmVtb3ZlVGFnKHRhZylcIlxyXG4gICAgKHRvdWNoKT1cInJlbW92ZVRhZyh0YWcpXCI+XHJcbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG48L3NwYW4+XHJcblxyXG48aW5wdXQgKm5nSWY9XCJvcHRpb25zID09PSBudWxsOyBlbHNlIHdpdGhUeXBlYWhlYWRcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCIgbmFtZT1cInRhZ3NcIiAoa2V5dXAuZW50ZXIpPVwiYWRkVGFnKHRhZ0lucHV0KVwiXHJcbiAgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gIFtoaWRkZW5dPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiICN0YWdJbnB1dCAvPlxyXG5cclxuPG5nLXRlbXBsYXRlICN3aXRoVHlwZWFoZWFkPlxyXG4gIDxzcGFuIFtuZ1N3aXRjaF09XCJWaWV3TW9kZVwiPlxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEltYWdlXCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cIihvcHRpb25zICE9PSBudWxsKVwiIGNsYXNzPVwidGFncy1pbnB1dF9faW5wdXQtZmllbGRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcclxuICAgICAgICBuYW1lPVwidGFnc1wiIChrZXlkb3duLmJhY2tzcGFjZSk9XCJyZW1vdmVMYXN0VGFnKHRhZ0lucHV0KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiBbdHlwZWFoZWFkXT1cIm9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25GaWVsZF09XCJkaXNwbGF5RmllbGRcIiAodHlwZWFoZWFkT25TZWxlY3QpPVwidHlwZWFoZWFkT25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgKHR5cGVhaGVhZE5vUmVzdWx0cyk9XCJ0eXBlYWhlYWRPbk5vTWF0Y2goJGV2ZW50KVwiIFt0eXBlYWhlYWRNaW5MZW5ndGhdPVwibWluTGVuZ3RoQmVmb3JlT3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZFNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZU9wdGlvbnNcIiBbdHlwZWFoZWFkTGF0aW5pemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3R5cGVhaGVhZEl0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVXaXRoSW1hZ2VcIiBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICN0YWdJbnB1dCAvPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCJ0YWdJbnB1dFZpZXdFbnVtLldpdGhvdXRJbWFnZVwiPlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIob3B0aW9ucyAhPT0gbnVsbClcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgbmFtZT1cInRhZ3NcIiAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgW3R5cGVhaGVhZF09XCJvcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uRmllbGRdPVwiZGlzcGxheUZpZWxkXCIgKHR5cGVhaGVhZE9uU2VsZWN0KT1cInR5cGVhaGVhZE9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICh0eXBlYWhlYWROb1Jlc3VsdHMpPVwidHlwZWFoZWFkT25Ob01hdGNoKCRldmVudClcIiBbdHlwZWFoZWFkTWluTGVuZ3RoXT1cIm1pbkxlbmd0aEJlZm9yZU9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInNjcm9sbGFibGVPcHRpb25zXCIgW3R5cGVhaGVhZExhdGluaXplXT1cInRydWVcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRJdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlV2l0aG91dEltYWdlXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEluaXRpYWxcIj5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiKG9wdGlvbnMgIT09IG51bGwpXCIgY2xhc3M9XCJ0YWdzLWlucHV0X19pbnB1dC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIG5hbWU9XCJ0YWdzXCIgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIFt0eXBlYWhlYWRdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbkZpZWxkXT1cImRpc3BsYXlGaWVsZFwiICh0eXBlYWhlYWRPblNlbGVjdCk9XCJ0eXBlYWhlYWRPblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAodHlwZWFoZWFkTm9SZXN1bHRzKT1cInR5cGVhaGVhZE9uTm9NYXRjaCgkZXZlbnQpXCIgW3R5cGVhaGVhZE1pbkxlbmd0aF09XCJtaW5MZW5ndGhCZWZvcmVPcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkU2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlT3B0aW9uc1wiIFt0eXBlYWhlYWRMYXRpbml6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVdpdGhvdXRJbml0aWFsXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiKG9wdGlvbnMgIT09IG51bGwpXCIgY2xhc3M9XCJ0YWdzLWlucHV0X19pbnB1dC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIG5hbWU9XCJ0YWdzXCIgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIFt0eXBlYWhlYWRdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbkZpZWxkXT1cImRpc3BsYXlGaWVsZFwiICh0eXBlYWhlYWRPblNlbGVjdCk9XCJ0eXBlYWhlYWRPblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAodHlwZWFoZWFkTm9SZXN1bHRzKT1cInR5cGVhaGVhZE9uTm9NYXRjaCgkZXZlbnQpXCIgW3R5cGVhaGVhZE1pbkxlbmd0aF09XCJtaW5MZW5ndGhCZWZvcmVPcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkU2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlT3B0aW9uc1wiIFt0eXBlYWhlYWRMYXRpbml6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVdpdGhvdXRJbWFnZVwiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbnNJblNjcm9sbGFibGVWaWV3XT1cInNjcm9sbGFibGVPcHRpb25zSW5WaWV3XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiIFtoaWRkZW5dPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICN0YWdJbnB1dCAvPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICA8L3NwYW4+XHJcblxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVXaXRoSW1hZ2UgbGV0LW1vZGVsPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgPGltZ1xyXG4gICAgc3R5bGU9XCJib3JkZXItcmFkaXVzOjUwJTsgaGVpZ2h0OjQwcHg7IHdpZHRoOiA0MHB4OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo1cHggOyBtYXJnaW4tdG9wOiA1cHg7bWFyZ2luLXJpZ2h0OiA1cHg7XCJcclxuICAgIHNyYz1cInt7KG1vZGVsLmltYWdlVVJMP21vZGVsLmltYWdlVVJMOmRlZmF1bHRJbWFnZVVSTCl9fVwiIC8+XHJcbiAgPGRpdj5cclxuICAgIDxhIFtpbm5lckhUTUxdPVwibW9kZWwubmFtZVwiPjwvYT5cclxuICAgIDxwICpuZ0lmPVwic2hvd0Rlc2NyaXB0aW9uXCI+XHJcbiAgICAgIHt7bW9kZWwuZGVzY3JpcHRpb259fVxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVXaXRob3V0SW1hZ2UgbGV0LW1vZGVsPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgPGRpdj5cclxuICAgIDxhIFtpbm5lckhUTUxdPVwibW9kZWwubmFtZVwiPjwvYT5cclxuICAgIDxwICpuZ0lmPVwic2hvd0Rlc2NyaXB0aW9uXCI+XHJcbiAgICAgIHt7bW9kZWwuZGVzY3JpcHRpb259fVxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVXaXRob3V0SW5pdGlhbCBsZXQtbW9kZWw9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICA8ZGl2IGNsYXNzPVwidXNlci1pbWFnZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInVzZXItaW5pdGlhbHNcIj57e2NhbGN1bGF0ZUluaXRpYWxzKG1vZGVsLm5hbWUpfX08L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPGEgW2lubmVySFRNTF09XCJtb2RlbC5uYW1lXCI+PC9hPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93RGVzY3JpcHRpb25cIj5cclxuICAgICAge3ttb2RlbC5kZXNjcmlwdGlvbn19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5gO1xyXG5cclxuY29uc3QgVEFHU19JTlBVVF9TVFlMRSA9IGBcclxuICAgIDpob3N0IHtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWdzLWlucHV0IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWdzLWlucHV0X190YWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXRfX3RhZy1yZW1vdmUtYnRuIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBtYXJnaW46IC0zcHggMCAwIDNweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbmA7XHJcblxyXG5jb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJUYWdzSW5wdXRDb21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhZ3NDaGFuZ2VkRXZlbnQge1xyXG4gIGNoYW5nZTogc3RyaW5nLFxyXG4gIHRhZzogYW55XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYi10YWdzLWlucHV0JyxcclxuICB0ZW1wbGF0ZTogVEFHU19JTlBVVF9URU1QTEFURSxcclxuICBzdHlsZXM6IFtUQUdTX0lOUFVUX1NUWUxFXSxcclxuICBwcm92aWRlcnM6IFtDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJUYWdzSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIHNlbGVjdGVkOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgdGFnczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xyXG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgcHVibGljIHRhZ0lucHV0Vmlld0VudW0gPSBUYWdJbnB1dFZpZXc7XHJcbiAgQElucHV0KCkgbWF4VGFnczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHJlbW92ZUxhc3RPbkJhY2tzcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbkRlbGV0ZVRhZ3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhbkFkZFRhZ3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIFZpZXdNb2RlOiBUYWdJbnB1dFZpZXcgPSBUYWdJbnB1dFZpZXcuV2l0aG91dEltYWdlO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBzaG93RGVzY3JpcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgZGVmYXVsdEltYWdlVVJMOiBhbnkgPSBudWxsO1xyXG4gIGRpc3BsYXlGaWVsZDogc3RyaW5nID0gJ25hbWUnO1xyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aEJlZm9yZU9wdGlvbnM6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgc2Nyb2xsYWJsZU9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzY3JvbGxhYmxlT3B0aW9uc0luVmlldzogbnVtYmVyID0gNTtcclxuICBAT3V0cHV0KCkgb25UYWdzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFRhZ3NDaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1heFRhZ3NSZWFjaGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTm9PcHRpb25zTWF0Y2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25CbHVySW5wdXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMudGFncyAmJiB0aGlzLnRhZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdGFnc0NoYW5nZWQodHlwZTogc3RyaW5nLCB0YWc6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudGFncyk7XHJcbiAgICB0aGlzLm9uVGFnc0NoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGNoYW5nZTogdHlwZSxcclxuICAgICAgdGFnOiB0YWdcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMubWF4aW11bU9mVGFnc1JlYWNoZWQoKSkge1xyXG4gICAgICB0aGlzLm9uTWF4VGFnc1JlYWNoZWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTGFzdFRhZyh0YWdJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnJlbW92ZUxhc3RPbkJhY2tzcGFjZSB8fCAhdGhpcy50YWdzPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0YWdJbnB1dC52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5yZW1vdmVUYWcodGhpcy50YWdzW3RoaXMudGFncy5sZW5ndGggLSAxXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRUYWcodGFnSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGlmICh0YWdJbnB1dC52YWx1ZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgIGxldCB0YWcgPSB7XHJcbiAgICAgICAgW3RoaXMuZGlzcGxheUZpZWxkXTogdGFnSW5wdXQudmFsdWVcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hZGRQcmVkZWZpbmVkVGFnKHRhZyk7XHJcbiAgICB9XHJcbiAgICB0YWdJbnB1dC52YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRQcmVkZWZpbmVkVGFnKHRhZzogT2JqZWN0KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWdzID09IG51bGwpXHJcbiAgICAgIHRoaXMudGFncyA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLm1heGltdW1PZlRhZ3NSZWFjaGVkKCkpIHtcclxuICAgICAgdGhpcy50YWdzLnB1c2godGFnKTtcclxuICAgICAgdGhpcy50YWdzQ2hhbmdlZCgnYWRkJywgdGFnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZVRhZyh0YWdUb1JlbW92ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNEZWxldGVhYmxlKHRhZ1RvUmVtb3ZlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhZ3MgPSB0aGlzLnRhZ3MuZmlsdGVyKHRhZyA9PiB0YWdUb1JlbW92ZSAhPT0gdGFnKTtcclxuICAgIHRoaXMudGFnc0NoYW5nZWQoJ3JlbW92ZScsIHRhZ1RvUmVtb3ZlKTtcclxuICB9XHJcblxyXG4gIG1heGltdW1PZlRhZ3NSZWFjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLm1heFRhZ3MgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudGFncyAmJiB0aGlzLnRhZ3MubGVuZ3RoID49IHRoaXMubWF4VGFncztcclxuICB9XHJcblxyXG4gIGlzRGVsZXRlYWJsZSh0YWc6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiB0YWcuZGVsZXRlYWJsZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhdGFnLmRlbGV0ZWFibGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2FuRGVsZXRlVGFncztcclxuICB9XHJcblxyXG4gIHR5cGVhaGVhZE9uU2VsZWN0KGU6IFR5cGVhaGVhZE1hdGNoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIGUuaXRlbSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5hZGRQcmVkZWZpbmVkVGFnKHtcclxuICAgICAgICBbdGhpcy5kaXNwbGF5RmllbGRdOiBlLnZhbHVlXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRQcmVkZWZpbmVkVGFnKGUuaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gJyc7XHJcbiAgfVxyXG5cclxuICB0eXBlYWhlYWRPbk5vTWF0Y2goZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMub25Ob09wdGlvbnNNYXRjaCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5vbk5vT3B0aW9uc01hdGNoLmVtaXQoZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnRhZ3MpIHtcclxuICAgICAgdGhpcy50YWdzID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlSW5pdGlhbHMobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHZhciBmdWxsTmFtZSA9IG5hbWUuc3BsaXQoJyAnKTtcclxuICAgIHZhciBpbml0aWFscyA9IFwiXCJcclxuICAgIGlmIChmdWxsTmFtZS5sZW5ndGggPiAxKVxyXG4gICAgICBpbml0aWFscyA9IGZ1bGxOYW1lLnNoaWZ0KCkuY2hhckF0KDApICsgZnVsbE5hbWUucG9wKCkuY2hhckF0KDApO1xyXG4gICAgZWxzZVxyXG4gICAgICBpbml0aWFscyA9IGZ1bGxOYW1lLnNoaWZ0KCkuY2hhckF0KDApXHJcbiAgICByZXR1cm4gaW5pdGlhbHMudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25CbHVySW5wdXQuZW1pdCgpO1xyXG4gIH1cclxuICAvLyAoa2V5ZG93bi5UYWIpID0gXCJvblRhYigkZXZlbnQpXCJcclxuICAvL29uVGFiKGV2ZW50KSB7XHJcbiAgLy8gIHRoaXMub25UYWJJbnB1dC5lbWl0KCk7XHJcbiAgLy8gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgLy8gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIC8vfVxyXG59XHJcbiJdfQ==
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdGFnLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Db21wb25lbnRzL25nLXRhZy1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNkMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7O0FBRXZCLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEgzQixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUN4QixDQUFDO0FBRUYsTUFBTSxtQ0FBbUMsR0FBUTtJQUMvQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDbEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBYUYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFFLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDZixTQUFJLEdBQWUsRUFBRSxDQUFDO1FBQ3JCLHNCQUFpQixHQUFlLElBQUksQ0FBQztRQUNyQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLFlBQVks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Q0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSztzQkFDTCxLQUFLOzhCQUNMLEtBQUs7cUNBRUwsS0FBSztnQ0FDTCxLQUFLO3NDQUNMLEtBQUs7NEJBQ0wsTUFBTTsrQkFDTixNQUFNOytCQUNOLE1BQU07MEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIERvQ2hlY2ssIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFR5cGVhaGVhZE1hdGNoIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQvcHVibGljX2FwaSc7XHJcbmltcG9ydCB7IFRhZ0lucHV0VmlldyB9IGZyb20gJy4uL0VudW1zL1RhZ0lucHV0Vmlldyc7XHJcblxyXG5jb25zdCBub29wID0gKCkgPT4geyB9O1xyXG5cclxuY29uc3QgVEFHU19JTlBVVF9URU1QTEFURSA9IGBcclxuXHJcbjxkaXYgY2xhc3M9XCJ0YWdzLWlucHV0XCI+XHJcbjxzcGFuIGNsYXNzPVwidGFncy1pbnB1dF9fdGFnIGxhYmVsIGxhYmVsLXByaW1hcnkgYmFkZ2UgYmFkZ2UtcHJpbWFyeVwiICpuZ0Zvcj1cImxldCB0YWcgb2YgdGFnc1wiPlxyXG5cclxuPHNwYW4gW25nU3dpdGNoXT1cIlZpZXdNb2RlXCI+XHJcbjxzcGFuICpuZ1N3aXRjaENhc2U9XCJ0YWdJbnB1dFZpZXdFbnVtLldpdGhJbWFnZVwiPlxyXG48aW1nIHN0eWxlPVwiYm9yZGVyLXJhZGl1czo1MCU7IGhlaWdodDo0MHB4OyB3aWR0aDogNDBweDsgZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6NXB4IDsgbWFyZ2luLXRvcDogNXB4O21hcmdpbi1yaWdodDogNXB4O1wiXHJcbnNyYz1cInt7KHRhZy5pbWFnZVVSTD90YWcuaW1hZ2VVUkw6ZGVmYXVsdEltYWdlVVJMKX19XCIgLz5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEluaXRpYWxcIj5cclxuPGRpdiBjbGFzcz1cInVzZXItaW5pdGlhbHNcIj57e2NhbGN1bGF0ZUluaXRpYWxzKHRhZy5uYW1lKX19PC9kaXY+XHJcbjwvc3Bhbj5cclxuXHJcbjxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbjwvc3Bhbj5cclxuXHJcbjwvc3Bhbj5cclxuICB7e3RhZ1tkaXNwbGF5RmllbGRdfX1cclxuICA8c3BhbiAqbmdJZj1cImlzRGVsZXRlYWJsZSh0YWcpXCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwidGFncy1pbnB1dF9fdGFnLXJlbW92ZS1idG5cIiAoY2xpY2spPVwicmVtb3ZlVGFnKHRhZylcIlxyXG4gICAgKHRvdWNoKT1cInJlbW92ZVRhZyh0YWcpXCI+XHJcbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG48L3NwYW4+XHJcblxyXG48aW5wdXQgKm5nSWY9XCJvcHRpb25zID09PSBudWxsOyBlbHNlIHdpdGhUeXBlYWhlYWRcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCIgbmFtZT1cInRhZ3NcIiAoa2V5dXAuZW50ZXIpPVwiYWRkVGFnKHRhZ0lucHV0KVwiXHJcbiAgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gIFtoaWRkZW5dPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiICN0YWdJbnB1dCAvPlxyXG5cclxuPG5nLXRlbXBsYXRlICN3aXRoVHlwZWFoZWFkPlxyXG4gIDxzcGFuIFtuZ1N3aXRjaF09XCJWaWV3TW9kZVwiPlxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEltYWdlXCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cIihvcHRpb25zICE9PSBudWxsKVwiIGNsYXNzPVwidGFncy1pbnB1dF9faW5wdXQtZmllbGRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcclxuICAgICAgICBuYW1lPVwidGFnc1wiIChrZXlkb3duLmJhY2tzcGFjZSk9XCJyZW1vdmVMYXN0VGFnKHRhZ0lucHV0KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiBbdHlwZWFoZWFkXT1cIm9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25GaWVsZF09XCJkaXNwbGF5RmllbGRcIiAodHlwZWFoZWFkT25TZWxlY3QpPVwidHlwZWFoZWFkT25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgKHR5cGVhaGVhZE5vUmVzdWx0cyk9XCJ0eXBlYWhlYWRPbk5vTWF0Y2goJGV2ZW50KVwiIFt0eXBlYWhlYWRNaW5MZW5ndGhdPVwibWluTGVuZ3RoQmVmb3JlT3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZFNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZU9wdGlvbnNcIiBbdHlwZWFoZWFkTGF0aW5pemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3R5cGVhaGVhZEl0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVXaXRoSW1hZ2VcIiBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICN0YWdJbnB1dCAvPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCJ0YWdJbnB1dFZpZXdFbnVtLldpdGhvdXRJbWFnZVwiPlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIob3B0aW9ucyAhPT0gbnVsbClcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgbmFtZT1cInRhZ3NcIiAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgW3R5cGVhaGVhZF09XCJvcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uRmllbGRdPVwiZGlzcGxheUZpZWxkXCIgKHR5cGVhaGVhZE9uU2VsZWN0KT1cInR5cGVhaGVhZE9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICh0eXBlYWhlYWROb1Jlc3VsdHMpPVwidHlwZWFoZWFkT25Ob01hdGNoKCRldmVudClcIiBbdHlwZWFoZWFkTWluTGVuZ3RoXT1cIm1pbkxlbmd0aEJlZm9yZU9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInNjcm9sbGFibGVPcHRpb25zXCIgW3R5cGVhaGVhZExhdGluaXplXT1cInRydWVcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRJdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlV2l0aG91dEltYWdlXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEluaXRpYWxcIj5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiKG9wdGlvbnMgIT09IG51bGwpXCIgY2xhc3M9XCJ0YWdzLWlucHV0X19pbnB1dC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIG5hbWU9XCJ0YWdzXCIgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIFt0eXBlYWhlYWRdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbkZpZWxkXT1cImRpc3BsYXlGaWVsZFwiICh0eXBlYWhlYWRPblNlbGVjdCk9XCJ0eXBlYWhlYWRPblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAodHlwZWFoZWFkTm9SZXN1bHRzKT1cInR5cGVhaGVhZE9uTm9NYXRjaCgkZXZlbnQpXCIgW3R5cGVhaGVhZE1pbkxlbmd0aF09XCJtaW5MZW5ndGhCZWZvcmVPcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkU2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlT3B0aW9uc1wiIFt0eXBlYWhlYWRMYXRpbml6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVdpdGhvdXRJbml0aWFsXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiKG9wdGlvbnMgIT09IG51bGwpXCIgY2xhc3M9XCJ0YWdzLWlucHV0X19pbnB1dC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIG5hbWU9XCJ0YWdzXCIgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIFt0eXBlYWhlYWRdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbkZpZWxkXT1cImRpc3BsYXlGaWVsZFwiICh0eXBlYWhlYWRPblNlbGVjdCk9XCJ0eXBlYWhlYWRPblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAodHlwZWFoZWFkTm9SZXN1bHRzKT1cInR5cGVhaGVhZE9uTm9NYXRjaCgkZXZlbnQpXCIgW3R5cGVhaGVhZE1pbkxlbmd0aF09XCJtaW5MZW5ndGhCZWZvcmVPcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkU2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlT3B0aW9uc1wiIFt0eXBlYWhlYWRMYXRpbml6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVdpdGhvdXRJbWFnZVwiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbnNJblNjcm9sbGFibGVWaWV3XT1cInNjcm9sbGFibGVPcHRpb25zSW5WaWV3XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiIFtoaWRkZW5dPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICN0YWdJbnB1dCAvPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICA8L3NwYW4+XHJcblxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVXaXRoSW1hZ2UgbGV0LW1vZGVsPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgPGltZ1xyXG4gICAgc3R5bGU9XCJib3JkZXItcmFkaXVzOjUwJTsgaGVpZ2h0OjQwcHg7IHdpZHRoOiA0MHB4OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo1cHggOyBtYXJnaW4tdG9wOiA1cHg7bWFyZ2luLXJpZ2h0OiA1cHg7XCJcclxuICAgIHNyYz1cInt7KG1vZGVsLmltYWdlVVJMP21vZGVsLmltYWdlVVJMOmRlZmF1bHRJbWFnZVVSTCl9fVwiIC8+XHJcbiAgPGRpdj5cclxuICAgIDxhIFtpbm5lckhUTUxdPVwibW9kZWwubmFtZVwiPjwvYT5cclxuICAgIDxwICpuZ0lmPVwic2hvd0Rlc2NyaXB0aW9uXCI+XHJcbiAgICAgIHt7bW9kZWwuZGVzY3JpcHRpb259fVxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVXaXRob3V0SW1hZ2UgbGV0LW1vZGVsPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgPGRpdj5cclxuICAgIDxhIFtpbm5lckhUTUxdPVwibW9kZWwubmFtZVwiPjwvYT5cclxuICAgIDxwICpuZ0lmPVwic2hvd0Rlc2NyaXB0aW9uXCI+XHJcbiAgICAgIHt7bW9kZWwuZGVzY3JpcHRpb259fVxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVXaXRob3V0SW5pdGlhbCBsZXQtbW9kZWw9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICA8ZGl2IGNsYXNzPVwidXNlci1pbWFnZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInVzZXItaW5pdGlhbHNcIj57e2NhbGN1bGF0ZUluaXRpYWxzKG1vZGVsLm5hbWUpfX08L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPGEgW2lubmVySFRNTF09XCJtb2RlbC5uYW1lXCI+PC9hPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93RGVzY3JpcHRpb25cIj5cclxuICAgICAge3ttb2RlbC5kZXNjcmlwdGlvbn19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5gO1xyXG5cclxuY29uc3QgVEFHU19JTlBVVF9TVFlMRSA9IGBcclxuICAgIDpob3N0IHtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWdzLWlucHV0IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWdzLWlucHV0X190YWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXRfX3RhZy1yZW1vdmUtYnRuIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBtYXJnaW46IC0zcHggMCAwIDNweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbmA7XHJcblxyXG5jb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJUYWdzSW5wdXRDb21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhZ3NDaGFuZ2VkRXZlbnQge1xyXG4gIGNoYW5nZTogc3RyaW5nLFxyXG4gIHRhZzogYW55XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYi10YWdzLWlucHV0JyxcclxuICB0ZW1wbGF0ZTogVEFHU19JTlBVVF9URU1QTEFURSxcclxuICBzdHlsZXM6IFtUQUdTX0lOUFVUX1NUWUxFXSxcclxuICBwcm92aWRlcnM6IFtDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJUYWdzSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIHNlbGVjdGVkOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgdGFnczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xyXG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgcHVibGljIHRhZ0lucHV0Vmlld0VudW0gPSBUYWdJbnB1dFZpZXc7XHJcbiAgQElucHV0KCkgbWF4VGFnczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHJlbW92ZUxhc3RPbkJhY2tzcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbkRlbGV0ZVRhZ3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhbkFkZFRhZ3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIFZpZXdNb2RlOiBUYWdJbnB1dFZpZXcgPSBUYWdJbnB1dFZpZXcuV2l0aG91dEltYWdlO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBzaG93RGVzY3JpcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgZGVmYXVsdEltYWdlVVJMOiBhbnkgPSBudWxsO1xyXG4gIGRpc3BsYXlGaWVsZDogc3RyaW5nID0gJ25hbWUnO1xyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aEJlZm9yZU9wdGlvbnM6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgc2Nyb2xsYWJsZU9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzY3JvbGxhYmxlT3B0aW9uc0luVmlldzogbnVtYmVyID0gNTtcclxuICBAT3V0cHV0KCkgb25UYWdzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFRhZ3NDaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1heFRhZ3NSZWFjaGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTm9PcHRpb25zTWF0Y2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25CbHVySW5wdXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMudGFncyAmJiB0aGlzLnRhZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdGFnc0NoYW5nZWQodHlwZTogc3RyaW5nLCB0YWc6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudGFncyk7XHJcbiAgICB0aGlzLm9uVGFnc0NoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGNoYW5nZTogdHlwZSxcclxuICAgICAgdGFnOiB0YWdcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMubWF4aW11bU9mVGFnc1JlYWNoZWQoKSkge1xyXG4gICAgICB0aGlzLm9uTWF4VGFnc1JlYWNoZWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTGFzdFRhZyh0YWdJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnJlbW92ZUxhc3RPbkJhY2tzcGFjZSB8fCAhdGhpcy50YWdzPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0YWdJbnB1dC52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5yZW1vdmVUYWcodGhpcy50YWdzW3RoaXMudGFncy5sZW5ndGggLSAxXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRUYWcodGFnSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGlmICh0YWdJbnB1dC52YWx1ZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgIGxldCB0YWcgPSB7XHJcbiAgICAgICAgW3RoaXMuZGlzcGxheUZpZWxkXTogdGFnSW5wdXQudmFsdWVcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hZGRQcmVkZWZpbmVkVGFnKHRhZyk7XHJcbiAgICB9XHJcbiAgICB0YWdJbnB1dC52YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRQcmVkZWZpbmVkVGFnKHRhZzogT2JqZWN0KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWdzID09IG51bGwpXHJcbiAgICAgIHRoaXMudGFncyA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLm1heGltdW1PZlRhZ3NSZWFjaGVkKCkpIHtcclxuICAgICAgdGhpcy50YWdzLnB1c2godGFnKTtcclxuICAgICAgdGhpcy50YWdzQ2hhbmdlZCgnYWRkJywgdGFnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZVRhZyh0YWdUb1JlbW92ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNEZWxldGVhYmxlKHRhZ1RvUmVtb3ZlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhZ3MgPSB0aGlzLnRhZ3MuZmlsdGVyKHRhZyA9PiB0YWdUb1JlbW92ZSAhPT0gdGFnKTtcclxuICAgIHRoaXMudGFnc0NoYW5nZWQoJ3JlbW92ZScsIHRhZ1RvUmVtb3ZlKTtcclxuICB9XHJcblxyXG4gIG1heGltdW1PZlRhZ3NSZWFjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLm1heFRhZ3MgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudGFncyAmJiB0aGlzLnRhZ3MubGVuZ3RoID49IHRoaXMubWF4VGFncztcclxuICB9XHJcblxyXG4gIGlzRGVsZXRlYWJsZSh0YWc6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiB0YWcuZGVsZXRlYWJsZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhdGFnLmRlbGV0ZWFibGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2FuRGVsZXRlVGFncztcclxuICB9XHJcblxyXG4gIHR5cGVhaGVhZE9uU2VsZWN0KGU6IFR5cGVhaGVhZE1hdGNoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIGUuaXRlbSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5hZGRQcmVkZWZpbmVkVGFnKHtcclxuICAgICAgICBbdGhpcy5kaXNwbGF5RmllbGRdOiBlLnZhbHVlXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRQcmVkZWZpbmVkVGFnKGUuaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gJyc7XHJcbiAgfVxyXG5cclxuICB0eXBlYWhlYWRPbk5vTWF0Y2goZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMub25Ob09wdGlvbnNNYXRjaCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5vbk5vT3B0aW9uc01hdGNoLmVtaXQoZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnRhZ3MpIHtcclxuICAgICAgdGhpcy50YWdzID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlSW5pdGlhbHMobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHZhciBmdWxsTmFtZSA9IG5hbWUuc3BsaXQoJyAnKTtcclxuICAgIHZhciBpbml0aWFscyA9IFwiXCJcclxuICAgIGlmIChmdWxsTmFtZS5sZW5ndGggPiAxKVxyXG4gICAgICBpbml0aWFscyA9IGZ1bGxOYW1lLnNoaWZ0KCkuY2hhckF0KDApICsgZnVsbE5hbWUucG9wKCkuY2hhckF0KDApO1xyXG4gICAgZWxzZVxyXG4gICAgICBpbml0aWFscyA9IGZ1bGxOYW1lLnNoaWZ0KCkuY2hhckF0KDApXHJcbiAgICByZXR1cm4gaW5pdGlhbHMudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25CbHVySW5wdXQuZW1pdCgpO1xyXG4gIH1cclxuICAvLyAoa2V5ZG93bi5UYWIpID0gXCJvblRhYigkZXZlbnQpXCJcclxuICAvL29uVGFiKGV2ZW50KSB7XHJcbiAgLy8gIHRoaXMub25UYWJJbnB1dC5lbWl0KCk7XHJcbiAgLy8gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgLy8gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIC8vfVxyXG59XHJcbiJdfQ==
|
|
@@ -5,5 +5,6 @@ export var InputType;
|
|
|
5
5
|
InputType[InputType["Email"] = 3] = "Email";
|
|
6
6
|
InputType[InputType["Number"] = 4] = "Number";
|
|
7
7
|
InputType[InputType["EID"] = 5] = "EID";
|
|
8
|
+
InputType[InputType["URL"] = 6] = "URL";
|
|
8
9
|
})(InputType || (InputType = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9FbnVtcy9JbnB1dFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQix5Q0FBUSxDQUFBO0lBQ1IsaURBQVksQ0FBQTtJQUNaLDJDQUFTLENBQUE7SUFDVCw2Q0FBVSxDQUFBO0lBQ1YsdUNBQU8sQ0FBQTtJQUNQLHVDQUFPLENBQUE7QUFDVCxDQUFDLEVBUFcsU0FBUyxLQUFULFNBQVMsUUFPcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBJbnB1dFR5cGUge1xyXG4gIFRleHQgPSAxLFxyXG4gIFBhc3N3b3JkID0gMixcclxuICBFbWFpbCA9IDMsXHJcbiAgTnVtYmVyID0gNCxcclxuICBFSUQgPSA1LFxyXG4gIFVSTCA9IDZcclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnglishArabicDTO } from
|
|
1
|
+
import { EnglishArabicDTO } from './EnglishArabicDTO';
|
|
2
2
|
export class MultilingualControlOptionsBase {
|
|
3
3
|
constructor() {
|
|
4
4
|
/** to set type of view if MultipleLanguageText is Vertical or Horizontal */
|
|
@@ -9,6 +9,8 @@ export class MultilingualControlOptionsBase {
|
|
|
9
9
|
this.LanguageMode = null;
|
|
10
10
|
/** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage */
|
|
11
11
|
this.CustomValidation = [];
|
|
12
|
+
/** Sets an attribute readonly */
|
|
13
|
+
this.IsReadonly = false;
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlsaW5ndWFsQ29udHJvbE9wdGlvbnNCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Nb2RlbHMvTXVsdGlsaW5ndWFsQ29udHJvbE9wdGlvbnNCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sT0FBTyw4QkFBOEI7SUFBM0M7UUErQkUsOEVBQThFO1FBQzlFLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRy9CLG1GQUFtRjtRQUNuRixVQUFLLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQTRCakQsaURBQWlEO1FBQ2pELGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQUNsQyxnSEFBZ0g7UUFDaEgscUJBQWdCLEdBQXVCLEVBQUUsQ0FBQztRQUsxQyxrQ0FBa0M7UUFDbEMsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUM5QixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sTGF5b3V0IH0gZnJvbSAnLi4vRW51bXMvQ29udHJvbExheW91dCc7XHJcbmltcG9ydCB7IExhbmd1YWdlTW9kZSB9IGZyb20gJy4uL0VudW1zL0xhbmd1YWdlTW9kZSc7XHJcbmltcG9ydCB7IEN1c3RvbVZhbGlkYXRpb24gfSBmcm9tICcuL0N1c3RvbVZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBFbmdsaXNoQXJhYmljRFRPIH0gZnJvbSAnLi9FbmdsaXNoQXJhYmljRFRPJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNdWx0aWxpbmd1YWxDb250cm9sT3B0aW9uc0Jhc2Uge1xyXG4gIC8qKiBSZXByZXNlbnQgTmFtZSBPZiBGb3JtIENvbnRyb2wqL1xyXG4gIE5hbWU6IHN0cmluZztcclxuICAvKiogIFJlcHJlc2VudCBrZXkgb2YgdGhlIExhYmVsKi9cclxuICBMYWJlbEtleTogc3RyaW5nO1xyXG4gIC8qKiAgUmVwcmVzZW50IHZhbHVlIG9mIHRoZSBMYWJlbCovXHJcbiAgTGFiZWxWYWx1ZTogc3RyaW5nO1xyXG4gIC8qKiAgUmVwcmVzZW50IEtleSBvZiB0aGUgbGFiZWwqL1xyXG4gIEFyYWJpY0xhYmVsS2V5OiBzdHJpbmc7XHJcbiAgLyoqICBSZXByZXNlbnQgS2V5IG9mIHRoZSBsYWJlbCovXHJcbiAgRW5nbGlzaExhYmVsS2V5OiBzdHJpbmc7XHJcbiAgLyoqICBSZXByZXNlbnQgdmFsdWUgb2YgdGhlIEFyYWJpY0xhYmVsKi9cclxuICBBcmFiaWNMYWJlbFZhbHVlOiBzdHJpbmc7XHJcbiAgLyoqICBSZXByZXNlbnQgdmFsdWUgb2YgdGhlIEVuZ2xpc2hMYWJlbCovXHJcbiAgRW5nbGlzaExhYmVsVmFsdWU6IHN0cmluZztcclxuICAvKiogIFJlcHJlc2VudCB2YWx1ZSBvZiB0aGUgTGFiZWxEZXNjcmlwdGlvbiBzaG93IHVuZGVyIHRleHRib3gqL1xyXG4gIExhYmVsRGVzY3JpcHRpb246IHN0cmluZztcclxuICAvKiogIFJlcHJlc2VudCB2YWx1ZSBvZiB0aGUgQXJhYmljTGFiZWxEZXNjcmlwdGlvbiBzaG93IHVuZGVyIE11bHRpcGxlTGFuZ3VhZ2VUZXh0Ki9cclxuICBBcmFiaWNMYWJlbERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgLyoqICBSZXByZXNlbnQgdmFsdWUgb2YgdGhlIEVuZ2xpc2hMYWJlbERlc2NyaXB0aW9uIHNob3cgdW5kZXIgTXVsdGlwbGVMYW5ndWFnZVRleHQqL1xyXG4gIEVuZ2xpc2hMYWJlbERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgLyoqUmVwcmVzZW50IEFyYWJpY1BsYWNlaG9sZGVyIE9mIEZvcm0gQ29udHJvbCovXHJcbiAgQXJhYmljUGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAvKipSZXByZXNlbnQgRW5nbGlzaFBsYWNlaG9sZGVyIE9mIEZvcm0gQ29udHJvbCovXHJcbiAgRW5nbGlzaFBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgLyoqIFJlcHJlc2VudCBjbGFzc2VzIHRvIGxhYmVsIHRoYXQgYWxsb3cgdXMgdG8gc2VsZWN0IHRoZSBDb250cm9sIGJ5IGpxdWVyeSBvciBqYXZhc2NyaXB0ICovXHJcbiAgTGFiZWxFeHRyYUNsYXNzZXM6IHN0cmluZztcclxuICAvKipSZXByZXNlbnQgY2xhc3NlcyB0byBBcmFiaWMgdGV4dGJveCB0aGF0IGFsbG93IHVzIHRvIHNlbGVjdCB0aGUgTXVsdGlwbGVMYW5ndWFnZVRleHQgYnkganF1ZXJ5IG9yIGphdmFzY3JpcHQgKi9cclxuICBFeHRyYUNsYXNzZXNfQVI6IHN0cmluZztcclxuICAvKipSZXByZXNlbnQgY2xhc3NlcyB0byBFbmdsaXNoIHRleHRib3ggdGhhdCBhbGxvdyB1cyB0byBzZWxlY3QgdGhlIE11bHRpcGxlTGFuZ3VhZ2VUZXh0IGJ5IGpxdWVyeSBvciBqYXZhc2NyaXB0ICovXHJcbiAgRXh0cmFDbGFzc2VzX0VOOiBzdHJpbmc7XHJcbiAgLyoqICB0byBzZXQgdHlwZSBvZiB2aWV3ICBpZiBNdWx0aXBsZUxhbmd1YWdlVGV4dCBpcyBWZXJ0aWNhbCBvciBIb3Jpem9udGFsICovXHJcbiAgVmlld1R5cGU6IENvbnRyb2xMYXlvdXQgPSBudWxsO1xyXG4gIC8qKiBhZGQgYnV0dG9uIHRvIGZvciBjb3BpbmcgdG8gY2xpcGJvYXJkICovXHJcbiAgRW5hYmxlQ29weVRvQ2xpcGJvYXJkOiBib29sZWFuO1xyXG4gIC8qKlRvIFNldCBWYWx1ZSBUbyBNdWx0aXBsZUxhbmd1YWdlVGV4dCB3aXRoIE9iamVjdCBGcm9tIFR5cGUgXCJFbmdsaXNoQXJhYmljRFRPXCIgKi9cclxuICBWYWx1ZTogRW5nbGlzaEFyYWJpY0RUTyA9IG5ldyBFbmdsaXNoQXJhYmljRFRPKCk7XHJcbiAgLyoqU2V0IHRoZSBNaW5MZW5ndGggb2YgY2hhcmFjdGVycyBJbiBUZXh0Qm94ICAqL1xyXG4gIE1pbkxlbmd0aDogbnVtYmVyO1xyXG4gIC8vKiogU2V0IHRoZSBNYXhMZW5ndGggb2YgY2hhcmFjdGVycyBJbiBUZXh0Qm94ICovXHJcbiAgTWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgLy8qKiBTZXQgdGhlIE1heFdvcmRDb3VudCBvZiBjaGFyYWN0ZXJzIEluIFRleHRCb3ggKi9cclxuICBNYXhXb3JkQ291bnQ6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBEaXNwbGF5IFwiKlwiIGJlc2lkZSB0aGUgbGFiZWxcclxuICAgKiBpZiBGb3JjZUFzdGVyaXNrPXRydWUgYW5kIElzUmVxdWlyZWQ9VHJ1ZSBoaXMgZGlzcGxheSBcIipcIiAsXHJcbiAgICogaWYgaWYgRm9yY2VBc3Rlcmlzaz1mYWxzZSBhbmQgSXNSZXF1aXJlZD1mYWxzZSB0aGlzIHJlbW92ZSBcIipcIixcclxuICAgKmlmIEZvcmNlQXN0ZXJpc2s9ZmFsc2UgYW5kIElzUmVxdWlyZWQ9VHJ1ZSB0aGlzIGRpc3BsYXkgXCIqXCIgLFxyXG4gICAqL1xyXG4gIFNob3dBc3RlcmlzazogYm9vbGVhbjtcclxuICAvKiogQWJpbGl0eSB0byBzZXQgIE11bHRpcGxlTGFuZ3VhZ2VUZXh0IHJlcXVpcmVkICovXHJcbiAgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICAvKiogU2V0cyBhbiBhdHRyaWJ1dGUgZGlzYWJsZT1cImRpc2FibGVkXCIgICovXHJcbiAgSXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICAvKiogQWJpbGl0eSB0byBkaXNwbGF5IG9yIGhpZGUgdGhlIEVuZ2xpc2hGaWVsZCBvZiBNdWx0aXBsZUxhbmd1YWdlVGV4dCAqL1xyXG4gIElzSGlkZUVuZ2xpc2hGaWVsZHM6IGJvb2xlYW47XHJcbiAgLyoqIEFiaWxpdHkgdG8gZGlzcGxheSBvciBoaWRlIHRoZSBBcmFiaWNGaWVsZCBvZiBNdWx0aXBsZUxhbmd1YWdlVGV4dCAqL1xyXG4gIElzSGlkZUFyYWJpY0ZpZWxkczogYm9vbGVhbjtcclxuICAvKiogQWJpbGl0eSB0byBkaXNwbGF5IG9yIGhpZGUgdGhlIEVuZ2xpc2hMYWJlbCBvZiBNdWx0aXBsZUxhbmd1YWdlVGV4dCAqL1xyXG4gIElzSGlkZUVuZ2xpc2hMYWJlbDogYm9vbGVhbjtcclxuICAvKiogQWJpbGl0eSB0byBkaXNwbGF5IG9yIGhpZGUgdGhlIEFyYWJpY0xhYmxlIG9mIE11bHRpcGxlTGFuZ3VhZ2VUZXh0ICovXHJcbiAgSXNIaWRlQXJhYmljTGFiZWw6IGJvb2xlYW47XHJcbiAgLyoqICB0cmltIGlucHV0IG9uIGNoYW5nZSAgKi9cclxuICBUcmltVGV4dE9uQ2hhbmdlOiBib29sZWFuO1xyXG4gIC8qKlRvIFNldCBMYW5ndWFnZU1vZGUgVG8gTXVsdGlwbGVMYW5ndWFnZVRleHQgKi9cclxuICBMYW5ndWFnZU1vZGU6IExhbmd1YWdlTW9kZSA9IG51bGw7XHJcbiAgLyoqIEFsbG93IHRvIFBhc3MgT2JqZWN0IFdpdGggQm9keSBvZiBGdW5jdGlvbiB3aGljaCByZXByZXNlbnQgQ3VzdG9tVmFsaWRhdGlvbiBhbmQgbWFzc2FnZSBmb3IgZXJyb3IgbWFzc2FnZSAqL1xyXG4gIEN1c3RvbVZhbGlkYXRpb246IEN1c3RvbVZhbGlkYXRpb25bXSA9IFtdO1xyXG4gIC8qKiBQYXRoIG9mIHByb3ByaWV0eSB3aGljaCB3ZSBuZWVkIHRvIHBhdGNoIHZhbHVlICovXHJcbiAgUGF0Y2hQYXRoOiBzdHJpbmc7XHJcbiAgLyoqIEZ1bmN0aW9uIHdoaWNoIGNhbGwgdG8gcGF0Y2ggdmFsdWUgKi9cclxuICBQYXRjaEZ1bmN0aW9uOiBGdW5jdGlvbjtcclxuICAvKiogU2V0cyBhbiBhdHRyaWJ1dGUgcmVhZG9ubHkgICovXHJcbiAgSXNSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiJdfQ==
|
|
@@ -7,6 +7,7 @@ export class RepeaterOptions {
|
|
|
7
7
|
this.RepeaterStructure = [];
|
|
8
8
|
this.DisableAddButton = false;
|
|
9
9
|
this.DisableDeleteButton = false;
|
|
10
|
+
this.IsReadonly = false;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwZWF0ZXJPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Nb2RlbHMvUmVwZWF0ZXJPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBS0UsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFJNUIsa0JBQWEsR0FBVyxLQUFLLENBQUM7UUFFOUIscUJBQWdCLEdBQVcsUUFBUSxDQUFDO1FBQ3BDLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLHNCQUFpQixHQUFvQixFQUFFLENBQUM7UUFDeEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxlQUFVLEdBQVksS0FBSyxDQUFDO0lBQzlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcGVhdGVyRmllbGQgfSBmcm9tIFwiLi9SZXBlYXRlckZpZWxkXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwZWF0ZXJPcHRpb25zIHtcclxuICBJc1JlcXVpcmVkOiBib29sZWFuO1xyXG4gIE1pblJlcXVpcmVkSXRlbXM6IG51bWJlcjtcclxuICBFeHRyYUNsYXNzZXM6IHN0cmluZztcclxuICBOYW1lOiBzdHJpbmc7XHJcbiAgQWN0aW9uTGFiZWxLZXk6IHN0cmluZyA9IFwiXCI7XHJcbiAgQWRkQnV0dG9uRXh0cmFDbGFzc2VzOiBzdHJpbmc7XHJcbiAgUmVwZWF0ZXJUYWJsZUV4dHJhQ2xhc3Nlczogc3RyaW5nXHJcbiAgUmVwZWF0ZXJUYWJsZVJvd0V4dHJhQ2xhc3Nlczogc3RyaW5nXHJcbiAgQWRkQnV0dG9uVGV4dDogc3RyaW5nID0gXCJBZGRcIjtcclxuICBEZWxldGVCdXR0b25FeHRyYUNsYXNzZXM6IHN0cmluZztcclxuICBEZWxldGVCdXR0b25UZXh0OiBzdHJpbmcgPSBcIkRlbGV0ZVwiO1xyXG4gIFJlcGVhdGVyVmFsdWU6IGFueVtdID0gW107XHJcbiAgUmVwZWF0ZXJTdHJ1Y3R1cmU6IFJlcGVhdGVyRmllbGRbXSA9IFtdO1xyXG4gIERpc2FibGVBZGRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBEaXNhYmxlRGVsZXRlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgSXNSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiJdfQ==
|
|
@@ -13,14 +13,14 @@ export class ErrorMassageValidation {
|
|
|
13
13
|
}
|
|
14
14
|
// tslint:disable-next-line: deprecation
|
|
15
15
|
static showerror(FormControlName) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
let form = ErrorMassageValidation.controlContainerstatic
|
|
17
|
+
.control;
|
|
18
18
|
let control = form.get(FormControlName);
|
|
19
19
|
//console.log(control)
|
|
20
|
-
control.setErrors({
|
|
20
|
+
control.setErrors({ minlength: true });
|
|
21
21
|
control.markAsTouched();
|
|
22
22
|
}
|
|
23
|
-
// isEmailRegisterd(Email: string)
|
|
23
|
+
// isEmailRegisterd(Email: string)
|
|
24
24
|
// {
|
|
25
25
|
// let resource:object={
|
|
26
26
|
// email:Email
|
|
@@ -32,92 +32,127 @@ export class ErrorMassageValidation {
|
|
|
32
32
|
// .pipe(map(response => response.json()))
|
|
33
33
|
// }
|
|
34
34
|
getErrorMassageValidation(error) {
|
|
35
|
-
;
|
|
36
|
-
let result = "";
|
|
35
|
+
let result = '';
|
|
37
36
|
switch (error.key) {
|
|
38
|
-
case
|
|
39
|
-
result = this.utilityService.getResourceValue(
|
|
37
|
+
case 'required':
|
|
38
|
+
result = this.utilityService.getResourceValue('RequiredValidationKey');
|
|
40
39
|
break;
|
|
41
|
-
case
|
|
42
|
-
result = this.utilityService.getResourceValue(
|
|
40
|
+
case 'email':
|
|
41
|
+
result = this.utilityService.getResourceValue('EmailValidationKey');
|
|
42
|
+
break;
|
|
43
|
+
case 'EmailValidationKey':
|
|
44
|
+
result = this.utilityService.getResourceValue('EmailValidationKey');
|
|
45
|
+
break;
|
|
46
|
+
case 'URLValidationKey':
|
|
47
|
+
result = this.utilityService.getResourceValue('urlValidationError');
|
|
48
|
+
break;
|
|
49
|
+
case 'pattern':
|
|
50
|
+
result = this.utilityService.getResourceValue('NumberValidationKey');
|
|
51
|
+
break;
|
|
52
|
+
case 'maxlength':
|
|
53
|
+
result =
|
|
54
|
+
this.utilityService.getResourceValue('MaxLenghtValidationKey') +
|
|
55
|
+
' ' +
|
|
56
|
+
error.value.requiredLength;
|
|
57
|
+
break;
|
|
58
|
+
case 'minlength':
|
|
59
|
+
result =
|
|
60
|
+
this.utilityService.getResourceValue('MinLenghtValidationKey') +
|
|
61
|
+
' ' +
|
|
62
|
+
error.value.requiredLength;
|
|
63
|
+
break;
|
|
64
|
+
case 'min':
|
|
65
|
+
result =
|
|
66
|
+
this.utilityService.getResourceValue('MinValueValidationKey') +
|
|
67
|
+
' ' +
|
|
68
|
+
error.value.min;
|
|
69
|
+
break;
|
|
70
|
+
case 'max':
|
|
71
|
+
result =
|
|
72
|
+
this.utilityService.getResourceValue('MaxValueValidationKey') +
|
|
73
|
+
' ' +
|
|
74
|
+
error.value.max;
|
|
75
|
+
break;
|
|
76
|
+
case 'IntegerNumberValidationKey':
|
|
77
|
+
result = this.utilityService.getResourceValue('IntegerNumberValidationKey');
|
|
78
|
+
break;
|
|
79
|
+
case 'PositiveNumberValidationKey':
|
|
80
|
+
result = this.utilityService.getResourceValue('PositiveNumberValidationKey');
|
|
81
|
+
break;
|
|
82
|
+
case 'validatePhoneNumber':
|
|
83
|
+
result = this.utilityService.getResourceValue('PhoneNumberValidationKey');
|
|
84
|
+
break;
|
|
85
|
+
case 'mask':
|
|
86
|
+
result =
|
|
87
|
+
this.utilityService.getResourceValue('MaskValidationKey') +
|
|
88
|
+
' ' +
|
|
89
|
+
error.value.requiredMask;
|
|
90
|
+
break;
|
|
91
|
+
case 'PasswordComplexityHasNumber':
|
|
92
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasNumber');
|
|
93
|
+
break;
|
|
94
|
+
case 'ArabicLetterOnly':
|
|
95
|
+
result = this.utilityService.getResourceValue('ArabicLetterOnly');
|
|
96
|
+
break;
|
|
97
|
+
case 'EnglishLetterOnly':
|
|
98
|
+
result = this.utilityService.getResourceValue('EnglishLetterOnly');
|
|
99
|
+
break;
|
|
100
|
+
case 'ArabicIsRequiredAndOnly50CharactersEnglish':
|
|
101
|
+
result = this.utilityService.getResourceValue('ArabicIsRequiredAndOnly50CharactersEnglish');
|
|
102
|
+
break;
|
|
103
|
+
case 'PasswordComplexityHasCapitalLetter':
|
|
104
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasCapitalLetter');
|
|
105
|
+
break;
|
|
106
|
+
case 'PasswordComplexityHasSmallLetter':
|
|
107
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasSmallLetter');
|
|
108
|
+
break;
|
|
109
|
+
case 'PasswordComplexityHasSpecialLetter':
|
|
110
|
+
result = this.utilityService.getResourceValue('PasswordComplexityHasSpecialLetter');
|
|
111
|
+
break;
|
|
112
|
+
case 'MaxWordCountValidationKey':
|
|
113
|
+
result =
|
|
114
|
+
this.utilityService.getResourceValue('MaxWordCountValidationKey') +
|
|
115
|
+
' ' +
|
|
116
|
+
error.value;
|
|
117
|
+
break;
|
|
118
|
+
case 'NewSelectionValidationKey':
|
|
119
|
+
result = this.utilityService.getResourceValue('NewSelectionValidationKey');
|
|
120
|
+
break;
|
|
121
|
+
case 'MaxFileCountValidationKey':
|
|
122
|
+
result =
|
|
123
|
+
this.utilityService.getResourceValue('MaxFileCountValidationKey') +
|
|
124
|
+
' ' +
|
|
125
|
+
error.value;
|
|
126
|
+
break;
|
|
127
|
+
case 'MinFileCountValidationKey':
|
|
128
|
+
result =
|
|
129
|
+
this.utilityService.getResourceValue('MinFileCountValidationKey') +
|
|
130
|
+
' ' +
|
|
131
|
+
error.value;
|
|
132
|
+
break;
|
|
133
|
+
case 'MaxSizeForAllFilesInMB':
|
|
134
|
+
result =
|
|
135
|
+
this.utilityService.getResourceValue('MaxSizeForAllFilesInMB') +
|
|
136
|
+
' ' +
|
|
137
|
+
error.value;
|
|
43
138
|
break;
|
|
44
|
-
case
|
|
45
|
-
result =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
break;
|
|
50
|
-
case
|
|
51
|
-
result =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
break;
|
|
56
|
-
case
|
|
57
|
-
result = this.utilityService.getResourceValue(
|
|
58
|
-
break;
|
|
59
|
-
case
|
|
60
|
-
result = this.utilityService.getResourceValue(
|
|
61
|
-
break;
|
|
62
|
-
case "IntegerNumberValidationKey":
|
|
63
|
-
result = this.utilityService.getResourceValue("IntegerNumberValidationKey");
|
|
64
|
-
break;
|
|
65
|
-
case "PositiveNumberValidationKey":
|
|
66
|
-
result = this.utilityService.getResourceValue("PositiveNumberValidationKey");
|
|
67
|
-
break;
|
|
68
|
-
case "validatePhoneNumber":
|
|
69
|
-
result = this.utilityService.getResourceValue("PhoneNumberValidationKey");
|
|
70
|
-
break;
|
|
71
|
-
case "mask":
|
|
72
|
-
result = this.utilityService.getResourceValue("MaskValidationKey") + " " + error.value.requiredMask;
|
|
73
|
-
break;
|
|
74
|
-
case "PasswordComplexityHasNumber":
|
|
75
|
-
result = this.utilityService.getResourceValue("PasswordComplexityHasNumber");
|
|
76
|
-
break;
|
|
77
|
-
case "ArabicLetterOnly":
|
|
78
|
-
result = this.utilityService.getResourceValue("ArabicLetterOnly");
|
|
79
|
-
break;
|
|
80
|
-
case "EnglishLetterOnly":
|
|
81
|
-
result = this.utilityService.getResourceValue("EnglishLetterOnly");
|
|
82
|
-
break;
|
|
83
|
-
case "ArabicIsRequiredAndOnly50CharactersEnglish":
|
|
84
|
-
result = this.utilityService.getResourceValue("ArabicIsRequiredAndOnly50CharactersEnglish");
|
|
85
|
-
break;
|
|
86
|
-
case "PasswordComplexityHasCapitalLetter":
|
|
87
|
-
result = this.utilityService.getResourceValue("PasswordComplexityHasCapitalLetter");
|
|
88
|
-
break;
|
|
89
|
-
case "PasswordComplexityHasSmallLetter":
|
|
90
|
-
result = this.utilityService.getResourceValue("PasswordComplexityHasSmallLetter");
|
|
91
|
-
break;
|
|
92
|
-
case "PasswordComplexityHasSpecialLetter":
|
|
93
|
-
result = this.utilityService.getResourceValue("PasswordComplexityHasSpecialLetter");
|
|
94
|
-
break;
|
|
95
|
-
case "MaxWordCountValidationKey":
|
|
96
|
-
result = this.utilityService.getResourceValue("MaxWordCountValidationKey") + " " + error.value;
|
|
97
|
-
break;
|
|
98
|
-
case "NewSelectionValidationKey":
|
|
99
|
-
result = this.utilityService.getResourceValue("NewSelectionValidationKey");
|
|
100
|
-
break;
|
|
101
|
-
case "MaxFileCountValidationKey":
|
|
102
|
-
result = this.utilityService.getResourceValue("MaxFileCountValidationKey") + " " + error.value;
|
|
103
|
-
break;
|
|
104
|
-
case "MinFileCountValidationKey":
|
|
105
|
-
result = this.utilityService.getResourceValue("MinFileCountValidationKey") + " " + error.value;
|
|
106
|
-
break;
|
|
107
|
-
case "MaxSizeForAllFilesInMB":
|
|
108
|
-
result = this.utilityService.getResourceValue("MaxSizeForAllFilesInMB") + " " + error.value;
|
|
109
|
-
break;
|
|
110
|
-
case "FileMaxSizeInMB":
|
|
111
|
-
result = this.utilityService.getResourceValue("FileMaxSizeInMB") + " " + error.value;
|
|
112
|
-
break;
|
|
113
|
-
case "ToolTipTypeError":
|
|
114
|
-
result = this.utilityService.getResourceValue("ToolTipTypeError") + " " + error.value;
|
|
115
|
-
break;
|
|
116
|
-
case "InvalidEndDate":
|
|
117
|
-
result = this.utilityService.getResourceValue("InvalidEndDate");
|
|
118
|
-
break;
|
|
119
|
-
case "InvalidStartDate":
|
|
120
|
-
result = this.utilityService.getResourceValue("InvalidStartDate");
|
|
139
|
+
case 'FileMaxSizeInMB':
|
|
140
|
+
result =
|
|
141
|
+
this.utilityService.getResourceValue('FileMaxSizeInMB') +
|
|
142
|
+
' ' +
|
|
143
|
+
error.value;
|
|
144
|
+
break;
|
|
145
|
+
case 'ToolTipTypeError':
|
|
146
|
+
result =
|
|
147
|
+
this.utilityService.getResourceValue('ToolTipTypeError') +
|
|
148
|
+
' ' +
|
|
149
|
+
error.value;
|
|
150
|
+
break;
|
|
151
|
+
case 'InvalidEndDate':
|
|
152
|
+
result = this.utilityService.getResourceValue('InvalidEndDate');
|
|
153
|
+
break;
|
|
154
|
+
case 'InvalidStartDate':
|
|
155
|
+
result = this.utilityService.getResourceValue('InvalidStartDate');
|
|
121
156
|
break;
|
|
122
157
|
default:
|
|
123
158
|
break;
|
|
@@ -134,4 +169,4 @@ ErrorMassageValidation.ctorParameters = () => [
|
|
|
134
169
|
{ type: ControlContainer, decorators: [{ type: Optional }] },
|
|
135
170
|
{ type: UtilityService }
|
|
136
171
|
];
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbkVycm9yTWFzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0aW9uRXJyb3JNYXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUkxRCxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLHdDQUF3QztJQUN4QyxZQUFvQixJQUFVLEVBQXNCLGdCQUFrQyxFQUFVLGNBQThCO1FBQTFHLFNBQUksR0FBSixJQUFJLENBQU07UUFBc0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUk5SCxRQUFHLEdBQUcsc0JBQXNCLENBQUM7UUFGM0Isc0JBQXNCLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFBO0lBQ3ZFLENBQUM7SUFFRCx3Q0FBd0M7SUFJeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUF1QjtRQUN0QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsc0JBQXNCLENBQUMsT0FBb0IsQ0FBQztRQUM5RSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBZ0IsQ0FBQztRQUN2RCxzQkFBc0I7UUFDdEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLEtBQUs7SUFDTCwyQkFBMkI7SUFDM0IsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUiwwQ0FBMEM7SUFDMUMsd0VBQXdFO0lBQ3hFLDZEQUE2RDtJQUM3RCxzRUFBc0U7SUFDdEUsNkNBQTZDO0lBQzdDLEtBQUs7SUFFTCx5QkFBeUIsQ0FBQyxLQUFVO1FBQ2xDLENBQUM7UUFDRCxJQUFJLE1BQU0sR0FBVyxFQUFFLENBQUE7UUFDdkIsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2pCLEtBQUssVUFBVTtnQkFDYixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUN2RSxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3BFLE1BQU07WUFDUixLQUFLLG9CQUFvQjtnQkFDdkIsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDcEUsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNyRSxNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO2dCQUMzRyxNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO2dCQUMzRyxNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUMvRixNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUMvRixNQUFNO1lBQ1IsS0FBSyw0QkFBNEI7Z0JBQy9CLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQzVFLE1BQU07WUFDUixLQUFLLDZCQUE2QjtnQkFDaEMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDN0UsTUFBTTtZQUNSLEtBQUsscUJBQXFCO2dCQUN4QixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUMxRSxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUNwRyxNQUFNO1lBQ1IsS0FBSyw2QkFBNkI7Z0JBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzdFLE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDbEUsTUFBTTtZQUNSLEtBQUssbUJBQW1CO2dCQUN0QixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNO1lBQ1IsS0FBSyw0Q0FBNEM7Z0JBQy9DLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7Z0JBQzVGLE1BQU07WUFDUixLQUFLLG9DQUFvQztnQkFDdkMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQUMsQ0FBQztnQkFDcEYsTUFBTTtZQUNSLEtBQUssa0NBQWtDO2dCQUNyQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUNsRixNQUFNO1lBQ1IsS0FBSyxvQ0FBb0M7Z0JBQ3ZDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQ3BGLE1BQU07WUFDUixLQUFLLDJCQUEyQjtnQkFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDL0YsTUFBTTtZQUNSLEtBQUssMkJBQTJCO2dCQUM5QixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUMzRSxNQUFNO1lBQ1IsS0FBSywyQkFBMkI7Z0JBQzlCLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQy9GLE1BQU07WUFDUixLQUFLLDJCQUEyQjtnQkFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDL0YsTUFBTTtZQUNSLEtBQUssd0JBQXdCO2dCQUMzQixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUM1RixNQUFNO1lBQ1IsS0FBSyxpQkFBaUI7Z0JBQ3BCLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ3JGLE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDdEYsTUFBTTtZQUNSLEtBQUssZ0JBQWdCO2dCQUNuQixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNoRSxNQUFNO1lBQ1IsS0FBSyxrQkFBa0I7Z0JBQ3JCLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ2xFLE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQTdITSw2Q0FBc0IsR0FBRyxJQUFJLENBQUM7O1lBSnRDLFVBQVU7OztZQUxGLElBQUk7WUFFSixnQkFBZ0IsdUJBVVUsUUFBUTtZQVRsQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cCwgUmVzcG9uc2UsIEhlYWRlcnMsIFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvaHR0cCc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIEVycm9yTWFzc2FnZVZhbGlkYXRpb24ge1xyXG5cclxuICBzdGF0aWMgY29udHJvbENvbnRhaW5lcnN0YXRpYyA9IG51bGw7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGVwcmVjYXRpb25cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHAsIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lciwgcHJpdmF0ZSB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UpIHtcclxuXHJcbiAgICBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uLmNvbnRyb2xDb250YWluZXJzdGF0aWMgPSB0aGlzLmNvbnRyb2xDb250YWluZXJcclxuICB9XHJcbiAgdXJsID0gJ0NoZWNrRW1haWxWYWxpZGF0aW9uJztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRlcHJlY2F0aW9uXHJcblxyXG5cclxuXHJcbiAgc3RhdGljIHNob3dlcnJvcihGb3JtQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgO1xyXG4gICAgbGV0IGZvcm0gPSBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uLmNvbnRyb2xDb250YWluZXJzdGF0aWMuY29udHJvbCBhcyBGb3JtR3JvdXA7XHJcbiAgICBsZXQgY29udHJvbCA9IGZvcm0uZ2V0KEZvcm1Db250cm9sTmFtZSkgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAvL2NvbnNvbGUubG9nKGNvbnRyb2wpXHJcbiAgICBjb250cm9sLnNldEVycm9ycyh7ICdtaW5sZW5ndGgnOiB0cnVlIH0pO1xyXG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKClcclxuICB9XHJcblxyXG4gIC8vICBpc0VtYWlsUmVnaXN0ZXJkKEVtYWlsOiBzdHJpbmcpIFxyXG4gIC8vICB7XHJcbiAgLy8gICAgbGV0IHJlc291cmNlOm9iamVjdD17XHJcbiAgLy8gICAgICBlbWFpbDpFbWFpbFxyXG4gIC8vICAgIH07XHJcbiAgLy8gICAgbGV0IGJvZHkgPSBKU09OLnN0cmluZ2lmeShyZXNvdXJjZSk7XHJcbiAgLy8gICAgbGV0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSk7XHJcbiAgLy8gICAgbGV0IG9wdGlvbnMgPSBuZXcgUmVxdWVzdE9wdGlvbnMoeyBoZWFkZXJzOiBoZWFkZXJzIH0pO1xyXG4gIC8vICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChlbnZpcm9ubWVudC5iYXNlVXJsK3RoaXMudXJsLGJvZHksb3B0aW9ucylcclxuICAvLyAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKSlcclxuICAvLyAgfVxyXG5cclxuICBnZXRFcnJvck1hc3NhZ2VWYWxpZGF0aW9uKGVycm9yOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgO1xyXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nID0gXCJcIlxyXG4gICAgc3dpdGNoIChlcnJvci5rZXkpIHtcclxuICAgICAgY2FzZSBcInJlcXVpcmVkXCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUmVxdWlyZWRWYWxpZGF0aW9uS2V5XCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiZW1haWxcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbWFpbFZhbGlkYXRpb25LZXlcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJFbWFpbFZhbGlkYXRpb25LZXlcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbWFpbFZhbGlkYXRpb25LZXlcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJwYXR0ZXJuXCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTnVtYmVyVmFsaWRhdGlvbktleVwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIm1heGxlbmd0aFwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk1heExlbmdodFZhbGlkYXRpb25LZXlcIikgKyBcIiBcIiArIGVycm9yLnZhbHVlLnJlcXVpcmVkTGVuZ3RoO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwibWlubGVuZ3RoXCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWluTGVuZ2h0VmFsaWRhdGlvbktleVwiKSArIFwiIFwiICsgZXJyb3IudmFsdWUucmVxdWlyZWRMZW5ndGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJtaW5cIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJNaW5WYWx1ZVZhbGlkYXRpb25LZXlcIikgKyBcIiBcIiArIGVycm9yLnZhbHVlLm1pbjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIm1heFwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk1heFZhbHVlVmFsaWRhdGlvbktleVwiKSArIFwiIFwiICsgZXJyb3IudmFsdWUubWF4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiSW50ZWdlck51bWJlclZhbGlkYXRpb25LZXlcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJJbnRlZ2VyTnVtYmVyVmFsaWRhdGlvbktleVwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlBvc2l0aXZlTnVtYmVyVmFsaWRhdGlvbktleVwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlBvc2l0aXZlTnVtYmVyVmFsaWRhdGlvbktleVwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcInZhbGlkYXRlUGhvbmVOdW1iZXJcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQaG9uZU51bWJlclZhbGlkYXRpb25LZXlcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJtYXNrXCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWFza1ZhbGlkYXRpb25LZXlcIikgKyBcIiBcIiArIGVycm9yLnZhbHVlLnJlcXVpcmVkTWFzaztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlBhc3N3b3JkQ29tcGxleGl0eUhhc051bWJlclwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlBhc3N3b3JkQ29tcGxleGl0eUhhc051bWJlclwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIkFyYWJpY0xldHRlck9ubHlcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBcmFiaWNMZXR0ZXJPbmx5XCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiRW5nbGlzaExldHRlck9ubHlcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbmdsaXNoTGV0dGVyT25seVwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIkFyYWJpY0lzUmVxdWlyZWRBbmRPbmx5NTBDaGFyYWN0ZXJzRW5nbGlzaFwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFyYWJpY0lzUmVxdWlyZWRBbmRPbmx5NTBDaGFyYWN0ZXJzRW5nbGlzaFwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlBhc3N3b3JkQ29tcGxleGl0eUhhc0NhcGl0YWxMZXR0ZXJcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXNzd29yZENvbXBsZXhpdHlIYXNDYXBpdGFsTGV0dGVyXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiUGFzc3dvcmRDb21wbGV4aXR5SGFzU21hbGxMZXR0ZXJcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXNzd29yZENvbXBsZXhpdHlIYXNTbWFsbExldHRlclwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlBhc3N3b3JkQ29tcGxleGl0eUhhc1NwZWNpYWxMZXR0ZXJcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXNzd29yZENvbXBsZXhpdHlIYXNTcGVjaWFsTGV0dGVyXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiTWF4V29yZENvdW50VmFsaWRhdGlvbktleVwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk1heFdvcmRDb3VudFZhbGlkYXRpb25LZXlcIikgKyBcIiBcIiArIGVycm9yLnZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiTmV3U2VsZWN0aW9uVmFsaWRhdGlvbktleVwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk5ld1NlbGVjdGlvblZhbGlkYXRpb25LZXlcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJNYXhGaWxlQ291bnRWYWxpZGF0aW9uS2V5XCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWF4RmlsZUNvdW50VmFsaWRhdGlvbktleVwiKSArIFwiIFwiICsgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJNaW5GaWxlQ291bnRWYWxpZGF0aW9uS2V5XCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWluRmlsZUNvdW50VmFsaWRhdGlvbktleVwiKSArIFwiIFwiICsgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJNYXhTaXplRm9yQWxsRmlsZXNJbk1CXCI6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWF4U2l6ZUZvckFsbEZpbGVzSW5NQlwiKSArIFwiIFwiICsgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJGaWxlTWF4U2l6ZUluTUJcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJGaWxlTWF4U2l6ZUluTUJcIikgKyBcIiBcIiArIGVycm9yLnZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiVG9vbFRpcFR5cGVFcnJvclwiOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlRvb2xUaXBUeXBlRXJyb3JcIikgKyBcIiBcIiArIGVycm9yLnZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiSW52YWxpZEVuZERhdGVcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJJbnZhbGlkRW5kRGF0ZVwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIkludmFsaWRTdGFydERhdGVcIjpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJJbnZhbGlkU3RhcnREYXRlXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbkVycm9yTWFzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0aW9uRXJyb3JNYXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUcxRCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLHdDQUF3QztJQUN4QyxZQUNVLElBQVUsRUFDRSxnQkFBa0MsRUFDOUMsY0FBOEI7UUFGOUIsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDOUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSXhDLFFBQUcsR0FBRyxzQkFBc0IsQ0FBQztRQUYzQixzQkFBc0IsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDeEUsQ0FBQztJQUVELHdDQUF3QztJQUV4QyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQXVCO1FBQ3RDLElBQUksSUFBSSxHQUFHLHNCQUFzQixDQUFDLHNCQUFzQjthQUNyRCxPQUFvQixDQUFDO1FBQ3hCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFnQixDQUFDO1FBQ3ZELHNCQUFzQjtRQUN0QixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkMsT0FBTyxDQUFDLGFBQWEsRUFBRSxD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cmUnO1xyXG5pbXBvcnQgeyBIdHRwLCBSZXNwb25zZSwgSGVhZGVycywgUmVxdWVzdE9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9odHRwJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uIHtcclxuICBzdGF0aWMgY29udHJvbENvbnRhaW5lcnN0YXRpYyA9IG51bGw7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGVwcmVjYXRpb25cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cCxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcclxuICAgIHByaXZhdGUgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uLmNvbnRyb2xDb250YWluZXJzdGF0aWMgPSB0aGlzLmNvbnRyb2xDb250YWluZXI7XHJcbiAgfVxyXG4gIHVybCA9ICdDaGVja0VtYWlsVmFsaWRhdGlvbic7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkZXByZWNhdGlvblxyXG5cclxuICBzdGF0aWMgc2hvd2Vycm9yKEZvcm1Db250cm9sTmFtZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZm9ybSA9IEVycm9yTWFzc2FnZVZhbGlkYXRpb24uY29udHJvbENvbnRhaW5lcnN0YXRpY1xyXG4gICAgICAuY29udHJvbCBhcyBGb3JtR3JvdXA7XHJcbiAgICBsZXQgY29udHJvbCA9IGZvcm0uZ2V0KEZvcm1Db250cm9sTmFtZSkgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAvL2NvbnNvbGUubG9nKGNvbnRyb2wpXHJcbiAgICBjb250cm9sLnNldEVycm9ycyh7IG1pbmxlbmd0aDogdHJ1ZSB9KTtcclxuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gIGlzRW1haWxSZWdpc3RlcmQoRW1haWw6IHN0cmluZylcclxuICAvLyAge1xyXG4gIC8vICAgIGxldCByZXNvdXJjZTpvYmplY3Q9e1xyXG4gIC8vICAgICAgZW1haWw6RW1haWxcclxuICAvLyAgICB9O1xyXG4gIC8vICAgIGxldCBib2R5ID0gSlNPTi5zdHJpbmdpZnkocmVzb3VyY2UpO1xyXG4gIC8vICAgIGxldCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xyXG4gIC8vICAgIGxldCBvcHRpb25zID0gbmV3IFJlcXVlc3RPcHRpb25zKHsgaGVhZGVyczogaGVhZGVycyB9KTtcclxuICAvLyAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoZW52aXJvbm1lbnQuYmFzZVVybCt0aGlzLnVybCxib2R5LG9wdGlvbnMpXHJcbiAgLy8gICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSkpXHJcbiAgLy8gIH1cclxuXHJcbiAgZ2V0RXJyb3JNYXNzYWdlVmFsaWRhdGlvbihlcnJvcjogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQ6IHN0cmluZyA9ICcnO1xyXG4gICAgc3dpdGNoIChlcnJvci5rZXkpIHtcclxuICAgICAgY2FzZSAncmVxdWlyZWQnOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnUmVxdWlyZWRWYWxpZGF0aW9uS2V5Jyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2VtYWlsJzpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ0VtYWlsVmFsaWRhdGlvbktleScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdFbWFpbFZhbGlkYXRpb25LZXknOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnRW1haWxWYWxpZGF0aW9uS2V5Jyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ1VSTFZhbGlkYXRpb25LZXknOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgndXJsVmFsaWRhdGlvbkVycm9yJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3BhdHRlcm4nOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnTnVtYmVyVmFsaWRhdGlvbktleScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtYXhsZW5ndGgnOlxyXG4gICAgICAgIHJlc3VsdCA9XHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ01heExlbmdodFZhbGlkYXRpb25LZXknKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWUucmVxdWlyZWRMZW5ndGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21pbmxlbmd0aCc6XHJcbiAgICAgICAgcmVzdWx0ID1cclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnTWluTGVuZ2h0VmFsaWRhdGlvbktleScpICtcclxuICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICBlcnJvci52YWx1ZS5yZXF1aXJlZExlbmd0aDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWluJzpcclxuICAgICAgICByZXN1bHQgPVxyXG4gICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdNaW5WYWx1ZVZhbGlkYXRpb25LZXknKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWUubWluO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtYXgnOlxyXG4gICAgICAgIHJlc3VsdCA9XHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ01heFZhbHVlVmFsaWRhdGlvbktleScpICtcclxuICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICBlcnJvci52YWx1ZS5tYXg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0ludGVnZXJOdW1iZXJWYWxpZGF0aW9uS2V5JzpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXHJcbiAgICAgICAgICAnSW50ZWdlck51bWJlclZhbGlkYXRpb25LZXknXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnUG9zaXRpdmVOdW1iZXJWYWxpZGF0aW9uS2V5JzpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXHJcbiAgICAgICAgICAnUG9zaXRpdmVOdW1iZXJWYWxpZGF0aW9uS2V5J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3ZhbGlkYXRlUGhvbmVOdW1iZXInOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcclxuICAgICAgICAgICdQaG9uZU51bWJlclZhbGlkYXRpb25LZXknXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWFzayc6XHJcbiAgICAgICAgcmVzdWx0ID1cclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnTWFza1ZhbGlkYXRpb25LZXknKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWUucmVxdWlyZWRNYXNrO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdQYXNzd29yZENvbXBsZXhpdHlIYXNOdW1iZXInOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcclxuICAgICAgICAgICdQYXNzd29yZENvbXBsZXhpdHlIYXNOdW1iZXInXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQXJhYmljTGV0dGVyT25seSc6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdBcmFiaWNMZXR0ZXJPbmx5Jyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0VuZ2xpc2hMZXR0ZXJPbmx5JzpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ0VuZ2xpc2hMZXR0ZXJPbmx5Jyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0FyYWJpY0lzUmVxdWlyZWRBbmRPbmx5NTBDaGFyYWN0ZXJzRW5nbGlzaCc6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFxyXG4gICAgICAgICAgJ0FyYWJpY0lzUmVxdWlyZWRBbmRPbmx5NTBDaGFyYWN0ZXJzRW5nbGlzaCdcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdQYXNzd29yZENvbXBsZXhpdHlIYXNDYXBpdGFsTGV0dGVyJzpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXHJcbiAgICAgICAgICAnUGFzc3dvcmRDb21wbGV4aXR5SGFzQ2FwaXRhbExldHRlcidcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdQYXNzd29yZENvbXBsZXhpdHlIYXNTbWFsbExldHRlcic6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFxyXG4gICAgICAgICAgJ1Bhc3N3b3JkQ29tcGxleGl0eUhhc1NtYWxsTGV0dGVyJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ1Bhc3N3b3JkQ29tcGxleGl0eUhhc1NwZWNpYWxMZXR0ZXInOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcclxuICAgICAgICAgICdQYXNzd29yZENvbXBsZXhpdHlIYXNTcGVjaWFsTGV0dGVyJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ01heFdvcmRDb3VudFZhbGlkYXRpb25LZXknOlxyXG4gICAgICAgIHJlc3VsdCA9XHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ01heFdvcmRDb3VudFZhbGlkYXRpb25LZXknKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ05ld1NlbGVjdGlvblZhbGlkYXRpb25LZXknOlxyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcclxuICAgICAgICAgICdOZXdTZWxlY3Rpb25WYWxpZGF0aW9uS2V5J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ01heEZpbGVDb3VudFZhbGlkYXRpb25LZXknOlxyXG4gICAgICAgIHJlc3VsdCA9XHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ01heEZpbGVDb3VudFZhbGlkYXRpb25LZXknKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ01pbkZpbGVDb3VudFZhbGlkYXRpb25LZXknOlxyXG4gICAgICAgIHJlc3VsdCA9XHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ01pbkZpbGVDb3VudFZhbGlkYXRpb25LZXknKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ01heFNpemVGb3JBbGxGaWxlc0luTUInOlxyXG4gICAgICAgIHJlc3VsdCA9XHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ01heFNpemVGb3JBbGxGaWxlc0luTUInKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgZXJyb3IudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0ZpbGVNYXhTaXplSW5NQic6XHJcbiAgICAgICAgcmVzdWx0ID1cclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnRmlsZU1heFNpemVJbk1CJykgK1xyXG4gICAgICAgICAgJyAnICtcclxuICAgICAgICAgIGVycm9yLnZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdUb29sVGlwVHlwZUVycm9yJzpcclxuICAgICAgICByZXN1bHQgPVxyXG4gICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdUb29sVGlwVHlwZUVycm9yJykgK1xyXG4gICAgICAgICAgJyAnICtcclxuICAgICAgICAgIGVycm9yLnZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdJbnZhbGlkRW5kRGF0ZSc6XHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdJbnZhbGlkRW5kRGF0ZScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdJbnZhbGlkU3RhcnREYXRlJzpcclxuICAgICAgICByZXN1bHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ0ludmFsaWRTdGFydERhdGUnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|