ngx-histaff-alpha 3.0.6 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app/libraries/core-common-param-kit/core-common-param-kit/core-common-param-kit.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-form-control-seeker/core-form-control-seeker/core-form-control-seeker.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-grid-buffer/core-grid-buffer/core-grid-buffer.component.mjs +1 -1
- package/esm2022/lib/app/libraries/core-org-param/core-org-param.component.mjs +29 -6
- package/esm2022/lib/app/libraries/core-org-tree/core-org-tree/core-org-tree.component.mjs +3 -3
- package/esm2022/lib/app/libraries/core-page-list/core-page-list.component.mjs +3 -3
- package/esm2022/lib/app/libraries/core-page-list-content/core-page-list-content/core-page-list-content.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-param-control/core-param-control/core-param-control.component.mjs +4 -1
- package/esm2022/lib/app/libraries/core-table/core-table.component.mjs +10 -4
- package/esm2022/lib/app/root/in-memory/in-memory/in-memory.component.mjs +1 -1
- package/fesm2022/ngx-histaff-alpha.mjs +48 -17
- package/fesm2022/ngx-histaff-alpha.mjs.map +1 -1
- package/lib/app/libraries/core-org-param/core-org-param.component.d.ts +8 -2
- package/lib/app/libraries/core-table/core-table.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -33,7 +33,7 @@ export class CoreCommonParamKitComponent extends BaseComponent {
|
|
|
33
33
|
{
|
|
34
34
|
flexSize: 3,
|
|
35
35
|
name: 'orgIds',
|
|
36
|
-
ngModel:
|
|
36
|
+
ngModel: [],
|
|
37
37
|
ngModelChange: this.onNgModelChange,
|
|
38
38
|
value: '',
|
|
39
39
|
label: EnumTranslateKey.UI_ENTITY_FIELD_CAPTION_HU_ORGANIZATION_IDS,
|
|
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
214
214
|
}], onChange: [{
|
|
215
215
|
type: Output
|
|
216
216
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb21tb24tcGFyYW0ta2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbW1vbi1wYXJhbS1raXQvY29yZS1jb21tb24tcGFyYW0ta2l0L2NvcmUtY29tbW9uLXBhcmFtLWtpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21tb24tcGFyYW0ta2l0L2NvcmUtY29tbW9uLXBhcmFtLWtpdC9jb3JlLWNvbW1vbi1wYXJhbS1raXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUNySCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7OztBQW1CekgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsYUFBYTtJQTJCckIsWUFDa0IsR0FBeUIsRUFDakMs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SztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQ29yZUNoZWNrbGlzdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUtY2hlY2tsaXN0L2NvcmUtY2hlY2tsaXN0L2NvcmUtY2hlY2tsaXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElDb3JlUGFyYW1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS1oZWFkZXItcGFyYW1zL2VudW0tYW5kLWludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnVtRm9ybUJhc2VDb250b2xUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bS9FbnVtRm9ybUJhc2VDb250b2xUeXBlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUZvcm1hdGVkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVIZWFkZXJQYXJhbXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWhlYWRlci1wYXJhbXMvY29yZS1oZWFkZXItcGFyYW1zL2NvcmUtaGVhZGVyLXBhcmFtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9FbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29yZUNvbW1vblBhcmFtS2l0RXZlbnRFbWl0dGVyRGF0YSB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtY29tbW9uLXBhcmFtLWtpdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvcmVIZWFkZXJQYXJhbXNDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1jb21tb24tcGFyYW0ta2l0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLWNvbW1vbi1wYXJhbS1raXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVDb21tb25QYXJhbUtpdENvbXBvbmVudFxyXG4gIGV4dGVuZHMgQmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBlbmFibGVUaW1lWm9uZUNvbnZlcnRlckZvckRhdGVUaW1lUGVyaW9kUGFyYW1ldGVycyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleSE6IEVudW1UcmFuc2xhdGVLZXk7XHJcbiAgQElucHV0KCkgc3RhdHVzSW5jbHVzaW9uRm9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5ITogRW51bVRyYW5zbGF0ZUtleTtcclxuICBASW5wdXQoKSBzdGF0dXNPcHRpb25zQXBpITogYXBpO1xyXG4gIEBJbnB1dCgpIHNob3dPcmdQYXJhbSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGlkZURhdGVQZXJpb2RDb21wYXJpc29uITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlU3RhdHVzSW5jbHVzaW9uITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlR2VuZXJhbFNlYXJjaCE6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJQ29yZUNvbW1vblBhcmFtS2l0RXZlbnRFbWl0dGVyRGF0YT4oKTtcclxuXHJcbiAgc3RhdHVzT3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElDb3JlQ2hlY2tsaXN0T3B0aW9uW10+KFtdKTtcclxuXHJcbiAgaXNFbXBsb3llZVN0YXR1c0Nhc2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgb25OZ01vZGVsQ2hhbmdlID0gKG5nTW9kZWw6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcclxuICAgICAgZmllbGQ6IG5nTW9kZWwsXHJcbiAgICAgIHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgcGFyYW1Sb3dzITogSUNvcmVQYXJhbUNvbnRyb2xbXVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVycmlkZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtbHMpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoKHgpID0+ICh0aGlzLmxhbmcgPSB4KSkpO1xyXG5cclxuICAgIGlmICghIXRoaXMuaGlkZURhdGVQZXJpb2RDb21wYXJpc29uKSB7XHJcbiAgICAgIHRoaXMucGFyYW1Sb3dzID0gW1xyXG4gICAgICAgIFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZmxleFNpemU6IDMsXHJcbiAgICAgICAgICAgIG5hbWU6ICdvcmdJZHMnLFxyXG4gICAgICAgICAgICBuZ01vZGVsOiAnJyxcclxuICAgICAgICAgICAgbmdNb2RlbENoYW5nZTogdGhpcy5vbk5nTW9kZWxDaGFuZ2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcclxuICAgICAgICAgICAgbGFiZWw6IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fSFVfT1JHQU5JWkFUSU9OX0lEUyxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuU0VFS0VSLFxyXG4gICAgICAgICAgICBzZWVrZXJTb3VyY2VUeXBlOiBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5PUkdBTklaQVRJT05fVU5JVF9TRUVLLFxyXG4gICAgICAgICAgICBoaWRkZW46ICF0aGlzLnNob3dPcmdQYXJhbSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIHtcclxuICAgICAgICAgIC8vICAgZmxleFNpemU6IDMsXHJcbiAgICAgICAgICAvLyAgIG5hbWU6ICdnZW5lcmFsU2VhcmNoJyxcclxuICAgICAgICAgIC8vICAgbmdNb2RlbDogJycsXHJcbiAgICAgICAgICAvLyAgIG5nTW9kZWxDaGFuZ2U6IHRoaXMub25OZ01vZGVsQ2hhbmdlLFxyXG4gICAgICAgICAgLy8gICB2YWx1ZTogJycsXHJcbiAgICAgICAgICAvLyAgIGxhYmVsOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfUEFSQU1TX0dFTkVSQUxfU0VBUkNILFxyXG4gICAgICAgICAgLy8gICBjb250cm9sVHlwZTogRW51bUZvcm1CYXNlQ29udG9sVHlwZS5URVhUQk9YLFxyXG4gICAgICAgICAgLy8gICBoaWRkZW46IHRoaXMuaGlkZUdlbmVyYWxTZWFyY2hcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGZsZXhTaXplOiAhdGhpcy5oaWRlR2VuZXJhbFNlYXJjaCA/IDMgOiAxMCxcclxuICAgICAgICAgICAgbmFtZTogJ3N0YXR1c0lkcycsXHJcbiAgICAgICAgICAgIG5nTW9kZWw6IFtdLFxyXG4gICAgICAgICAgICBuZ01vZGVsQ2hhbmdlOiB0aGlzLm9uTmdNb2RlbENoYW5nZSxcclxuICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlU3RhdHVzSW5jbHVzaW9uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5zdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleSxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQ0hFQ0tMSVNULFxyXG4gICAgICAgICAgICBjaGVja2xpc3RPcHRpb25zJDogdGhpcy5zdGF0dXNPcHRpb25zJCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICBdXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhcmFtUm93cyA9IFtcclxuICAgICAgICBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGZsZXhTaXplOiAzLFxyXG4gICAgICAgICAgICBuYW1lOiAnb3JnSWRzJyxcclxuICAgICAgICAgICAgbmdNb2RlbDogJycsXHJcbiAgICAgICAgICAgIG5nTW9kZWxDaGFuZ2U6IHRoaXMub25OZ01vZGVsQ2hhbmdlLFxyXG4gICAgICAgICAgICB2YWx1ZTogJycsXHJcbiAgICAgICAgICAgIGxhYmVsOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0hVX09SR0FOSVpBVElPTl9JRFMsXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBFbnVtRm9ybUJhc2VDb250b2xUeXBlLlNFRUtFUixcclxuICAgICAgICAgICAgc2Vla2VyU291cmNlVHlwZTogRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuT1JHQU5JWkFUSU9OX1VOSVRfU0VFSyxcclxuICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5zaG93T3JnUGFyYW0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmbGV4U2l6ZTogMyxcclxuICAgICAgICAgICAgbmFtZTogJ2dlbmVyYWxTZWFyY2gnLFxyXG4gICAgICAgICAgICBuZ01vZGVsOiAnJyxcclxuICAgICAgICAgICAgbmdNb2RlbENoYW5nZTogdGhpcy5vbk5nTW9kZWxDaGFuZ2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcclxuICAgICAgICAgICAgbGFiZWw6IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09SRV9QQVJBTVNfR0VORVJBTF9TRUFSQ0gsXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBFbnVtRm9ybUJhc2VDb250b2xUeXBlLlRFWFRCT1gsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlR2VuZXJhbFNlYXJjaFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICovXHJcblxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmbGV4U2l6ZTogMyxcclxuICAgICAgICAgICAgbmFtZTogJ2RhdGVGcm9tJyxcclxuICAgICAgICAgICAgbmdNb2RlbDogbnVsbCxcclxuICAgICAgICAgICAgbmdNb2RlbENoYW5nZTogdGhpcy5vbk5nTW9kZWxDaGFuZ2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICBoaWRkZW46IHRoaXMuaGlkZURhdGVQZXJpb2RDb21wYXJpc29uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5kYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5LFxyXG4gICAgICAgICAgICBjb250cm9sVHlwZTogRW51bUZvcm1CYXNlQ29udG9sVHlwZS5EQVRFUElDS0VSLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZmxleFNpemU6IDMsXHJcbiAgICAgICAgICAgIG5hbWU6ICdkYXRlVG8nLFxyXG4gICAgICAgICAgICBuZ01vZGVsOiBudWxsLFxyXG4gICAgICAgICAgICBuZ01vZGVsQ2hhbmdlOiB0aGlzLm9uTmdNb2RlbENoYW5nZSxcclxuICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlRGF0ZVBlcmlvZENvbXBhcmlzb24sXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXksXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkRBVEVQSUNLRVIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmbGV4U2l6ZTogMyxcclxuICAgICAgICAgICAgbmFtZTogJ3N0YXR1c0lkcycsXHJcbiAgICAgICAgICAgIG5nTW9kZWw6IFtdLFxyXG4gICAgICAgICAgICBuZ01vZGVsQ2hhbmdlOiB0aGlzLm9uTmdNb2RlbENoYW5nZSxcclxuICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlU3RhdHVzSW5jbHVzaW9uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5zdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleSxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQ0hFQ0tMSVNULFxyXG4gICAgICAgICAgICBjaGVja2xpc3RPcHRpb25zJDogdGhpcy5zdGF0dXNPcHRpb25zJCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgXTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMuYXBwU2VydmljZS5nZXQodGhpcy5zdGF0dXNPcHRpb25zQXBpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIGlmICh4Lm9rICYmIHguc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgICAgICAgIGlmIChib2R5LnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG5cclxuICAgICAgICAgICAgICAvLyBO4bq/dSBsw6AgdHLhuqFuZyB0aMOhaSBuaMOibiB2acOqbiwgY2jhu4kgY2hlY2sgbeG6t2MgxJHhu4tuaCBcIsSQYW5nIGzDoG0gdmnhu4djXCJcclxuICAgICAgICAgICAgICAvLyBUcsOhaSBs4bqhaSB0aMOsIGNoZWNrIHThuqV0XHJcblxyXG4gICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYm9keS5pbm5lckJvZHkubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpID0gYm9keS5pbm5lckJvZHlbaW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgaWYgKGkudHlwZUNvZGUgPT09IFwiRU1QX1NUQVRVU1wiKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNFbXBsb3llZVN0YXR1c0Nhc2UgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbnM6IElDb3JlQ2hlY2tsaXN0T3B0aW9uW10gPSBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLm1scy50cmFucyhFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfUEFSQU1TX0NPTU1PTl9OVUxMX1NUQVRVUywgdGhpcy5sYW5nKSxcclxuICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdGhpcy5pc0VtcGxveWVlU3RhdHVzQ2FzZSA/IGZhbHNlIDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfV07XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXR1c0lkczogKG51bWJlciB8IG51bGwpW10gPSAhIXRoaXMuaXNFbXBsb3llZVN0YXR1c0Nhc2UgPyBbXSA6IFtudWxsXTtcclxuXHJcbiAgICAgICAgICAgICAgYm9keS5pbm5lckJvZHkubWFwKChtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBtLmlkLFxyXG4gICAgICAgICAgICAgICAgICB0ZXh0OiBtLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6ICEhdGhpcy5pc0VtcGxveWVlU3RhdHVzQ2FzZSA/IChtLmNvZGUgPT09IFwiRVNXXCIpIDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoISF0aGlzLmlzRW1wbG95ZWVTdGF0dXNDYXNlKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChtLmNvZGUgPT09IFwiRVNXXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBuZXdTdGF0dXNJZHMucHVzaChtLmlkKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3U3RhdHVzSWRzLnB1c2gobS5pZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzT3B0aW9ucyQubmV4dChuZXdPcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5wYXJhbVJvd3MubWFwKHJvdyA9PiB7XHJcbiAgICAgICAgICAgICAgICByb3cubWFwKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4ubmFtZSA9PT0gJ3N0YXR1c0lkcycpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4ubmdNb2RlbCA9IG5ld1N0YXR1c0lkcztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IFwic3RhdHVzSWRzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogbmV3U3RhdHVzSWRzXHJcbiAgICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtbDVcIj5cclxuICAgIDxjb3JlLWhlYWRlci1wYXJhbXMgW3Jvd3NdPVwicGFyYW1Sb3dzXCI+PC9jb3JlLWhlYWRlci1wYXJhbXM+XHJcbjwvZGl2PiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb21tb24tcGFyYW0ta2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWNvbW1vbi1wYXJhbS1raXQvY29yZS1jb21tb24tcGFyYW0ta2l0L2NvcmUtY29tbW9uLXBhcmFtLWtpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29yZS1jb21tb24tcGFyYW0ta2l0L2NvcmUtY29tbW9uLXBhcmFtLWtpdC9jb3JlLWNvbW1vbi1wYXJhbS1raXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUNySCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7OztBQW1CekgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsYUFBYTtJQTJCckIsWUFDa0IsR0FBeUIsRUFDakMs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SztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQ29yZUNoZWNrbGlzdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUtY2hlY2tsaXN0L2NvcmUtY2hlY2tsaXN0L2NvcmUtY2hlY2tsaXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElDb3JlUGFyYW1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS1oZWFkZXItcGFyYW1zL2VudW0tYW5kLWludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnVtRm9ybUJhc2VDb250b2xUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bS9FbnVtRm9ybUJhc2VDb250b2xUeXBlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUZvcm1hdGVkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVIZWFkZXJQYXJhbXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWhlYWRlci1wYXJhbXMvY29yZS1oZWFkZXItcGFyYW1zL2NvcmUtaGVhZGVyLXBhcmFtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9FbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29yZUNvbW1vblBhcmFtS2l0RXZlbnRFbWl0dGVyRGF0YSB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtY29tbW9uLXBhcmFtLWtpdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvcmVIZWFkZXJQYXJhbXNDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1jb21tb24tcGFyYW0ta2l0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLWNvbW1vbi1wYXJhbS1raXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVDb21tb25QYXJhbUtpdENvbXBvbmVudFxyXG4gIGV4dGVuZHMgQmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBlbmFibGVUaW1lWm9uZUNvbnZlcnRlckZvckRhdGVUaW1lUGVyaW9kUGFyYW1ldGVycyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleSE6IEVudW1UcmFuc2xhdGVLZXk7XHJcbiAgQElucHV0KCkgc3RhdHVzSW5jbHVzaW9uRm9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5ITogRW51bVRyYW5zbGF0ZUtleTtcclxuICBASW5wdXQoKSBzdGF0dXNPcHRpb25zQXBpITogYXBpO1xyXG4gIEBJbnB1dCgpIHNob3dPcmdQYXJhbSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGlkZURhdGVQZXJpb2RDb21wYXJpc29uITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlU3RhdHVzSW5jbHVzaW9uITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlR2VuZXJhbFNlYXJjaCE6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJQ29yZUNvbW1vblBhcmFtS2l0RXZlbnRFbWl0dGVyRGF0YT4oKTtcclxuXHJcbiAgc3RhdHVzT3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElDb3JlQ2hlY2tsaXN0T3B0aW9uW10+KFtdKTtcclxuXHJcbiAgaXNFbXBsb3llZVN0YXR1c0Nhc2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgb25OZ01vZGVsQ2hhbmdlID0gKG5nTW9kZWw6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcclxuICAgICAgZmllbGQ6IG5nTW9kZWwsXHJcbiAgICAgIHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgcGFyYW1Sb3dzITogSUNvcmVQYXJhbUNvbnRyb2xbXVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVycmlkZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtbHMpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoKHgpID0+ICh0aGlzLmxhbmcgPSB4KSkpO1xyXG5cclxuICAgIGlmICghIXRoaXMuaGlkZURhdGVQZXJpb2RDb21wYXJpc29uKSB7XHJcbiAgICAgIHRoaXMucGFyYW1Sb3dzID0gW1xyXG4gICAgICAgIFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZmxleFNpemU6IDMsXHJcbiAgICAgICAgICAgIG5hbWU6ICdvcmdJZHMnLFxyXG4gICAgICAgICAgICBuZ01vZGVsOiBbXSxcclxuICAgICAgICAgICAgbmdNb2RlbENoYW5nZTogdGhpcy5vbk5nTW9kZWxDaGFuZ2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcclxuICAgICAgICAgICAgbGFiZWw6IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fSFVfT1JHQU5JWkFUSU9OX0lEUyxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuU0VFS0VSLFxyXG4gICAgICAgICAgICBzZWVrZXJTb3VyY2VUeXBlOiBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5PUkdBTklaQVRJT05fVU5JVF9TRUVLLFxyXG4gICAgICAgICAgICBoaWRkZW46ICF0aGlzLnNob3dPcmdQYXJhbSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIHtcclxuICAgICAgICAgIC8vICAgZmxleFNpemU6IDMsXHJcbiAgICAgICAgICAvLyAgIG5hbWU6ICdnZW5lcmFsU2VhcmNoJyxcclxuICAgICAgICAgIC8vICAgbmdNb2RlbDogJycsXHJcbiAgICAgICAgICAvLyAgIG5nTW9kZWxDaGFuZ2U6IHRoaXMub25OZ01vZGVsQ2hhbmdlLFxyXG4gICAgICAgICAgLy8gICB2YWx1ZTogJycsXHJcbiAgICAgICAgICAvLyAgIGxhYmVsOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfUEFSQU1TX0dFTkVSQUxfU0VBUkNILFxyXG4gICAgICAgICAgLy8gICBjb250cm9sVHlwZTogRW51bUZvcm1CYXNlQ29udG9sVHlwZS5URVhUQk9YLFxyXG4gICAgICAgICAgLy8gICBoaWRkZW46IHRoaXMuaGlkZUdlbmVyYWxTZWFyY2hcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGZsZXhTaXplOiAhdGhpcy5oaWRlR2VuZXJhbFNlYXJjaCA/IDMgOiAxMCxcclxuICAgICAgICAgICAgbmFtZTogJ3N0YXR1c0lkcycsXHJcbiAgICAgICAgICAgIG5nTW9kZWw6IFtdLFxyXG4gICAgICAgICAgICBuZ01vZGVsQ2hhbmdlOiB0aGlzLm9uTmdNb2RlbENoYW5nZSxcclxuICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlU3RhdHVzSW5jbHVzaW9uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5zdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleSxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQ0hFQ0tMSVNULFxyXG4gICAgICAgICAgICBjaGVja2xpc3RPcHRpb25zJDogdGhpcy5zdGF0dXNPcHRpb25zJCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICBdXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhcmFtUm93cyA9IFtcclxuICAgICAgICBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGZsZXhTaXplOiAzLFxyXG4gICAgICAgICAgICBuYW1lOiAnb3JnSWRzJyxcclxuICAgICAgICAgICAgbmdNb2RlbDogJycsXHJcbiAgICAgICAgICAgIG5nTW9kZWxDaGFuZ2U6IHRoaXMub25OZ01vZGVsQ2hhbmdlLFxyXG4gICAgICAgICAgICB2YWx1ZTogJycsXHJcbiAgICAgICAgICAgIGxhYmVsOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0hVX09SR0FOSVpBVElPTl9JRFMsXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBFbnVtRm9ybUJhc2VDb250b2xUeXBlLlNFRUtFUixcclxuICAgICAgICAgICAgc2Vla2VyU291cmNlVHlwZTogRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuT1JHQU5JWkFUSU9OX1VOSVRfU0VFSyxcclxuICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5zaG93T3JnUGFyYW0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmbGV4U2l6ZTogMyxcclxuICAgICAgICAgICAgbmFtZTogJ2dlbmVyYWxTZWFyY2gnLFxyXG4gICAgICAgICAgICBuZ01vZGVsOiAnJyxcclxuICAgICAgICAgICAgbmdNb2RlbENoYW5nZTogdGhpcy5vbk5nTW9kZWxDaGFuZ2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcclxuICAgICAgICAgICAgbGFiZWw6IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09SRV9QQVJBTVNfR0VORVJBTF9TRUFSQ0gsXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBFbnVtRm9ybUJhc2VDb250b2xUeXBlLlRFWFRCT1gsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlR2VuZXJhbFNlYXJjaFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICovXHJcblxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmbGV4U2l6ZTogMyxcclxuICAgICAgICAgICAgbmFtZTogJ2RhdGVGcm9tJyxcclxuICAgICAgICAgICAgbmdNb2RlbDogbnVsbCxcclxuICAgICAgICAgICAgbmdNb2RlbENoYW5nZTogdGhpcy5vbk5nTW9kZWxDaGFuZ2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICBoaWRkZW46IHRoaXMuaGlkZURhdGVQZXJpb2RDb21wYXJpc29uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5kYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5LFxyXG4gICAgICAgICAgICBjb250cm9sVHlwZTogRW51bUZvcm1CYXNlQ29udG9sVHlwZS5EQVRFUElDS0VSLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZmxleFNpemU6IDMsXHJcbiAgICAgICAgICAgIG5hbWU6ICdkYXRlVG8nLFxyXG4gICAgICAgICAgICBuZ01vZGVsOiBudWxsLFxyXG4gICAgICAgICAgICBuZ01vZGVsQ2hhbmdlOiB0aGlzLm9uTmdNb2RlbENoYW5nZSxcclxuICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlRGF0ZVBlcmlvZENvbXBhcmlzb24sXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXksXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBFbnVtRm9ybUJhc2VDb250b2xUeXBlLkRBVEVQSUNLRVIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmbGV4U2l6ZTogMyxcclxuICAgICAgICAgICAgbmFtZTogJ3N0YXR1c0lkcycsXHJcbiAgICAgICAgICAgIG5nTW9kZWw6IFtdLFxyXG4gICAgICAgICAgICBuZ01vZGVsQ2hhbmdlOiB0aGlzLm9uTmdNb2RlbENoYW5nZSxcclxuICAgICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICAgIGhpZGRlbjogdGhpcy5oaWRlU3RhdHVzSW5jbHVzaW9uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5zdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleSxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IEVudW1Gb3JtQmFzZUNvbnRvbFR5cGUuQ0hFQ0tMSVNULFxyXG4gICAgICAgICAgICBjaGVja2xpc3RPcHRpb25zJDogdGhpcy5zdGF0dXNPcHRpb25zJCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgXTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMuYXBwU2VydmljZS5nZXQodGhpcy5zdGF0dXNPcHRpb25zQXBpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIGlmICh4Lm9rICYmIHguc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgICAgICAgIGlmIChib2R5LnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG5cclxuICAgICAgICAgICAgICAvLyBO4bq/dSBsw6AgdHLhuqFuZyB0aMOhaSBuaMOibiB2acOqbiwgY2jhu4kgY2hlY2sgbeG6t2MgxJHhu4tuaCBcIsSQYW5nIGzDoG0gdmnhu4djXCJcclxuICAgICAgICAgICAgICAvLyBUcsOhaSBs4bqhaSB0aMOsIGNoZWNrIHThuqV0XHJcblxyXG4gICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYm9keS5pbm5lckJvZHkubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpID0gYm9keS5pbm5lckJvZHlbaW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgaWYgKGkudHlwZUNvZGUgPT09IFwiRU1QX1NUQVRVU1wiKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNFbXBsb3llZVN0YXR1c0Nhc2UgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IG5ld09wdGlvbnM6IElDb3JlQ2hlY2tsaXN0T3B0aW9uW10gPSBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLm1scy50cmFucyhFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfUEFSQU1TX0NPTU1PTl9OVUxMX1NUQVRVUywgdGhpcy5sYW5nKSxcclxuICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdGhpcy5pc0VtcGxveWVlU3RhdHVzQ2FzZSA/IGZhbHNlIDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfV07XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXR1c0lkczogKG51bWJlciB8IG51bGwpW10gPSAhIXRoaXMuaXNFbXBsb3llZVN0YXR1c0Nhc2UgPyBbXSA6IFtudWxsXTtcclxuXHJcbiAgICAgICAgICAgICAgYm9keS5pbm5lckJvZHkubWFwKChtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBtLmlkLFxyXG4gICAgICAgICAgICAgICAgICB0ZXh0OiBtLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6ICEhdGhpcy5pc0VtcGxveWVlU3RhdHVzQ2FzZSA/IChtLmNvZGUgPT09IFwiRVNXXCIpIDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoISF0aGlzLmlzRW1wbG95ZWVTdGF0dXNDYXNlKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChtLmNvZGUgPT09IFwiRVNXXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBuZXdTdGF0dXNJZHMucHVzaChtLmlkKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3U3RhdHVzSWRzLnB1c2gobS5pZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzT3B0aW9ucyQubmV4dChuZXdPcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5wYXJhbVJvd3MubWFwKHJvdyA9PiB7XHJcbiAgICAgICAgICAgICAgICByb3cubWFwKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4ubmFtZSA9PT0gJ3N0YXR1c0lkcycpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4ubmdNb2RlbCA9IG5ld1N0YXR1c0lkcztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IFwic3RhdHVzSWRzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogbmV3U3RhdHVzSWRzXHJcbiAgICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtbDVcIj5cclxuICAgIDxjb3JlLWhlYWRlci1wYXJhbXMgW3Jvd3NdPVwicGFyYW1Sb3dzXCI+PC9jb3JlLWhlYWRlci1wYXJhbXM+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -479,7 +479,7 @@ export class CoreFormControlSeekerComponent extends CoreFormControlBaseComponent
|
|
|
479
479
|
CorePositionSeekerComponent,
|
|
480
480
|
CorePositionConcurrentSeekerComponent,
|
|
481
481
|
CoreTableComponent
|
|
482
|
-
], viewQueries: [{ propertyName: "avatar", first: true, predicate: ["avatar"], descendants: true }, { propertyName: "sticker", first: true, predicate: ["sticker"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"core-form-control-seeker-container\">\r\n <div class=\"input-wrapper\" [class.d-none]=\"!!multiMode\">\r\n <label #shownText type=\"text\" class=\"text form-control pointer\" [class.form-control-disabled]=\"disabled\"\r\n (click)=\"onClickSeek()\">\r\n <span [appTooltip]=\"valueToShow\">{{ valueToShow }}</span>\r\n </label>\r\n @if (!multiMode) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate: lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"seeker-icon-wrapper\" [class.form-control-disabled]=\"disabled\" [class.multi-mode]=\"!!multiMode\"\r\n (click)=\"onClickSeek()\">\r\n <div class=\"flex-wrapper\" [class.form-control-disabled]=\"disabled\">\r\n <i class=\"feather-search\"></i>\r\n </div>\r\n </div>\r\n @if (!!multiMode) {\r\n <div class=\"core-tabbe-wrapper\">\r\n <core-table [height]=\"multiModeTableHeight\" [columns]=\"multiModeColumns\" [data]=\"selectedData\"\r\n [showTools]=\"!!!disabled\" [tools]=\"tools\" [lazyLoading]=\"true\"\r\n [rowHeight]=\"(multiModeRowHeight || 46) + 'px'\" [searchSwitchDisabled]=\"true\" [disableSorting]=\"true\"\r\n (onToolClick)=\"onToolClick($event)\" (onRowDoubleClick)=\"onSelectedDataRowDoubleClick($event)\"></core-table>\r\n </div>\r\n }\r\n\r\n @if (!!sourceOpen) {\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\" [ngStyle]=\"{ padding: '0px' }\">\r\n\r\n <div class=\"source-space\" [ngStyle]=\"{\r\n height: sourceSpaceHeight + 'px',\r\n overflow: 'hidden',\r\n boxSizing: 'border-box',\r\n }\">\r\n @if (showPageHeader) {\r\n <div class=\"modal-header-panel\">\r\n <core-page-header [title]=\"title\" [hideButtonGroup]=\"true\"></core-page-header>\r\n </div>\r\n }\r\n <div class=\"source-container\" [ngStyle]=\"{\r\n height: sourceContainerHeight + 'px',\r\n paddingTop: '0px',\r\n paddingBottom: '0px'\r\n }\">\r\n <i class=\"close-icon feather-x\" (click)=\"onCancel()\"\r\n [class.d-block]=\"seekerSourceType==='ORGANIZATION_UNIT_SEEK'\"></i>\r\n\r\n @switch (seekerSourceType) {\r\n @case ('JOB_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"jobSeek\">\r\n </ng-container>\r\n }\r\n @case ('EMPLOYEE_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"employeeSeek\">\r\n </ng-container>\r\n }\r\n @case ('CONTRACT_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"contractSeek\">\r\n </ng-container>\r\n }\r\n @case ('WORKING_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"workingSeek\">\r\n </ng-container>\r\n }\r\n @case ('WAGE_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"wageSeek\">\r\n </ng-container>\r\n }\r\n @case ('ORGANIZATION_UNIT_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"organizationUnitSeek\">\r\n </ng-container>\r\n }\r\n @case ('POSITION_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"positionSeek\">\r\n </ng-container>\r\n }\r\n @case ('POSITION_CONCURRENT_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"positionConcurrentSeek\">\r\n </ng-container>\r\n }\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <div class=\"d-flex-end\">\r\n @if ((seekerSourceType === 'ORGANIZATION_UNIT_SEEK' && !!clickedItem) || (!!multiMode && !!pendingSelectedData?.length) || (!multiMode && !!clickedItemIsInTheList())) {\r\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"onSelect()\">{{\r\n 'UI_CORE_CONFIRM_DIALOG_BUTTON_SELECT' | translate: lang }}</button>\r\n }\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"onCancel()\">{{\r\n 'UI_CORE_CONFIRM_DIALOG_BUTTON_CANCEL' | translate: lang }}</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>\r\n\r\n<ng-template #jobSeek>\r\n <core-job-seeker [excludedColumns]=\"excludedColumnsJob\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-job-seeker>\r\n</ng-template>\r\n\r\n<ng-template #employeeSeek>\r\n <core-employee-seeker [excludedColumns]=\"excludedColumnsEmployee\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-employee-seeker>\r\n</ng-template>\r\n\r\n<ng-template #contractSeek>\r\n <core-contract-seeker [excludedColumns]=\"excludedColumnsContract\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-contract-seeker>\r\n</ng-template>\r\n\r\n<ng-template #workingSeek>\r\n <core-working-seeker [excludedColumns]=\"excludedColumnsWorking\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-working-seeker>\r\n</ng-template>\r\n\r\n<ng-template #wageSeek>\r\n <core-wage-seeker [excludedColumns]=\"excludedColumnsWage\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-wage-seeker>\r\n</ng-template>\r\n\r\n<ng-template #positionSeek>\r\n <core-position-seeker [excludedColumns]=\"excludedColumnsPosition\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n [seekerVerifyIgnore]=\"seekerVerifyIgnore\" (rowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (columnsInit)=\"onColumnsInit($event)\" (selectedDataChange)=\"onSelectedDataChange($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-position-seeker>\r\n</ng-template>\r\n\r\n<ng-template #positionConcurrentSeek>\r\n <core-position-concurrent-seeker [excludedColumns]=\"excludedColumnsPositionConcurrent\"\r\n [preDefinedOuterParam$]=\"preDefinedOuterParam$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" (rowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (columnsInit)=\"onColumnsInit($event)\" (selectedDataChange)=\"onSelectedDataChange($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-position-concurrent-seeker>\r\n</ng-template>\r\n\r\n<ng-template #organizationUnitSeek>\r\n <core-org-unit-seeker [excludedIds$]=\"excludedIds$\"\r\n (itemDoubleClick)=\"onItemDoubleClick($event)\"\r\n (itemClick)=\"onRowClick($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-org-unit-seeker>\r\n</ng-template>\r\n\r\n<ng-template #avatar let-avatar=\"context.avatar\">\r\n <img *ngIf=\"avatar != null\" [src]=\"avatar | mapAvatarToServer\" class=\"in-table-avatar\" appImageErrorResolver>\r\n <img *ngIf=\"avatar == null\" [src]=\"defaultAvatar\" class=\"in-table-avatar\" appImageErrorResolver>\r\n</ng-template>\r\n<ng-template #sticker let-code=\"context.actflg\">\r\n <core-status-sticker [code]=\"code\" [isTrueCode]=\"true\"></core-status-sticker>\r\n</ng-template>\r\n\r\n<div [class.d-none]=\"!showEditBuffer\">\r\n <core-page-edit-lite [sections]=\"multiModeExtendedSections\" (onFormCreated)=\"onEditBufferFormCreated($event)\"\r\n (submitLogic)=\"onEditBufferSubmit($event)\" (cancelLogic)=\"onEditBufferCancel($event)\"></core-page-edit-lite>\r\n</div>", styles: [".core-form-control-seeker-container{display:block;position:relative;background-color:#fff}.core-form-control-seeker-container>.seeker-icon-wrapper{display:block;position:absolute;background-color:#e9e9e9;right:3px;top:3px;width:29px;height:29px;border-radius:.275rem;cursor:pointer}.core-form-control-seeker-container>.seeker-icon-wrapper>.flex-wrapper{width:29px;height:29px;display:flex;align-items:center;justify-content:center}.core-form-control-seeker-container>.seeker-icon-wrapper>.flex-wrapper>i.close-icon{color:#848484;font-size:20px}.core-form-control-seeker-container .input-wrapper{height:var(--size-form-control-height)}.core-form-control-seeker-container .input-wrapper label.text span{display:block;height:calc(var(--size-form-control-height) - 12px);line-height:calc(var(--size-form-control-height) - 12px);width:calc(100% - var(--size-form-control-height));overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit}.core-form-control-seeker-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:28px;top:3px;width:29px;height:29px;border-radius:.275rem;cursor:pointer}.core-form-control-seeker-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:29px;height:29px;display:flex;align-items:center;justify-content:center}.core-form-control-seeker-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:20px}.core-form-control-seeker-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-form-control-seeker-container>.seeker-icon-wrapper.multi-mode{position:relative;width:35px;height:35px}.core-form-control-seeker-container>.seeker-icon-wrapper.multi-mode>.flex-wrapper{width:35px;height:35px}.core-form-control-seeker-container .source-container{display:block;background-color:#fff;padding:var(--size-layout-block-cell-spacing);max-width:1200px;border-radius:10px}.core-form-control-seeker-container .source-container i.close-icon{font-size:20px;cursor:pointer;position:absolute;right:15px;top:15px}.core-form-control-seeker-container .source-container.d-none{display:none}.core-form-control-seeker-container .source-container>caption{display:block;width:100%}.core-form-control-seeker-container .source-container:has(~.footer){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.core-form-control-seeker-container .footer{background-color:var(--color-bg-main);border-bottom-left-radius:10px;border-bottom-right-radius:10px;padding:var(--size-layout-block-cell-spacing);position:absolute;bottom:0;left:0;width:100%}.core-form-control-seeker-container .footer button:first-child{margin-right:var(--size-layout-block-cell-spacing)}.core-form-control-seeker-container .core-tabbe-wrapper{margin-top:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i14.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: MapAvatarToServerPipe, name: "mapAvatarToServer" }, { kind: "component", type: CoreJobSeekerComponent, selector: "core-job-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CorePageEditLiteComponent, selector: "core-page-edit-lite", inputs: ["width", "captionCode", "sections", "submitText", "checkError$"], outputs: ["onFormCreated", "submitLogic", "cancelLogic"] }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "noPaddingCell"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CoreStatusStickerComponent, selector: "core-status-sticker", inputs: ["code", "isTrueCode"] }, { kind: "component", type: CoreEmployeeSeekerComponent, selector: "core-employee-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreContractSeekerComponent, selector: "core-contract-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreWorkingSeekerComponent, selector: "core-working-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreWageSeekerComponent, selector: "core-wage-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$", "employeeId"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreOrgUnitSeekerComponent, selector: "core-org-unit-seeker", inputs: ["accessorMode", "height", "excludedIds$"], outputs: ["itemDoubleClick", "itemClick", "idsChange"] }, { kind: "component", type: CorePositionSeekerComponent, selector: "core-position-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$", "seekerVerifyIgnore"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CorePositionConcurrentSeekerComponent, selector: "core-position-concurrent-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }] }); }
|
|
482
|
+
], viewQueries: [{ propertyName: "avatar", first: true, predicate: ["avatar"], descendants: true }, { propertyName: "sticker", first: true, predicate: ["sticker"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"core-form-control-seeker-container\">\r\n <div class=\"input-wrapper\" [class.d-none]=\"!!multiMode\">\r\n <label #shownText type=\"text\" class=\"text form-control pointer\" [class.form-control-disabled]=\"disabled\"\r\n (click)=\"onClickSeek()\">\r\n <span [appTooltip]=\"valueToShow\">{{ valueToShow }}</span>\r\n </label>\r\n @if (!multiMode) {\r\n <div class=\"clear-icon-wrapper\" [class.d-none]=\"!!disabled || !!!value\" (click)=\"onClickClear()\">\r\n <div class=\"flex-wrapper\" [appTooltip]=\"'UI.CORE_CONTOL_COMMON_CLEAR' | translate: lang\">\r\n <i class=\"feather-x\"></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"seeker-icon-wrapper\" [class.form-control-disabled]=\"disabled\" [class.multi-mode]=\"!!multiMode\"\r\n (click)=\"onClickSeek()\">\r\n <div class=\"flex-wrapper\" [class.form-control-disabled]=\"disabled\">\r\n <i class=\"feather-search\"></i>\r\n </div>\r\n </div>\r\n @if (!!multiMode) {\r\n <div class=\"core-tabbe-wrapper\">\r\n <core-table [height]=\"multiModeTableHeight\" [columns]=\"multiModeColumns\" [data]=\"selectedData\"\r\n [showTools]=\"!!!disabled\" [tools]=\"tools\" [lazyLoading]=\"true\"\r\n [rowHeight]=\"(multiModeRowHeight || 46) + 'px'\" [searchSwitchDisabled]=\"true\" [disableSorting]=\"true\"\r\n (onToolClick)=\"onToolClick($event)\" (onRowDoubleClick)=\"onSelectedDataRowDoubleClick($event)\"></core-table>\r\n </div>\r\n }\r\n\r\n @if (!!sourceOpen) {\r\n <div class=\"modal-container\">\r\n <div class=\"modal-content-root\" [ngStyle]=\"{ padding: '0px' }\">\r\n\r\n <div class=\"source-space\" [ngStyle]=\"{\r\n height: sourceSpaceHeight + 'px',\r\n overflow: 'hidden',\r\n boxSizing: 'border-box',\r\n }\">\r\n @if (showPageHeader) {\r\n <div class=\"modal-header-panel\">\r\n <core-page-header [title]=\"title\" [hideButtonGroup]=\"true\"></core-page-header>\r\n </div>\r\n }\r\n <div class=\"source-container\" [ngStyle]=\"{\r\n height: sourceContainerHeight + 'px',\r\n paddingTop: '0px',\r\n paddingBottom: '0px'\r\n }\">\r\n <i class=\"close-icon feather-x\" (click)=\"onCancel()\"\r\n [class.d-block]=\"seekerSourceType==='ORGANIZATION_UNIT_SEEK'\"></i>\r\n\r\n @switch (seekerSourceType) {\r\n @case ('JOB_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"jobSeek\">\r\n </ng-container>\r\n }\r\n @case ('EMPLOYEE_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"employeeSeek\">\r\n </ng-container>\r\n }\r\n @case ('CONTRACT_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"contractSeek\">\r\n </ng-container>\r\n }\r\n @case ('WORKING_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"workingSeek\">\r\n </ng-container>\r\n }\r\n @case ('WAGE_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"wageSeek\">\r\n </ng-container>\r\n }\r\n @case ('ORGANIZATION_UNIT_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"organizationUnitSeek\">\r\n </ng-container>\r\n }\r\n @case ('POSITION_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"positionSeek\">\r\n </ng-container>\r\n }\r\n @case ('POSITION_CONCURRENT_SEEK') {\r\n <ng-container *ngTemplateOutlet=\"positionConcurrentSeek\">\r\n </ng-container>\r\n }\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <div class=\"d-flex-end\">\r\n @if ((seekerSourceType === 'ORGANIZATION_UNIT_SEEK' && !!clickedItem) || (!!multiMode && !!pendingSelectedData?.length) || (!multiMode && !!clickedItemIsInTheList())) {\r\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"onSelect()\">{{\r\n 'UI_CORE_CONFIRM_DIALOG_BUTTON_SELECT' | translate: lang }}</button>\r\n }\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"onCancel()\">{{\r\n 'UI_CORE_CONFIRM_DIALOG_BUTTON_CANCEL' | translate: lang }}</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n }\r\n\r\n</div>\r\n\r\n<ng-template #jobSeek>\r\n <core-job-seeker [excludedColumns]=\"excludedColumnsJob\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-job-seeker>\r\n</ng-template>\r\n\r\n<ng-template #employeeSeek>\r\n <core-employee-seeker [excludedColumns]=\"excludedColumnsEmployee\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-employee-seeker>\r\n</ng-template>\r\n\r\n<ng-template #contractSeek>\r\n <core-contract-seeker [excludedColumns]=\"excludedColumnsContract\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-contract-seeker>\r\n</ng-template>\r\n\r\n<ng-template #workingSeek>\r\n <core-working-seeker [excludedColumns]=\"excludedColumnsWorking\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-working-seeker>\r\n</ng-template>\r\n\r\n<ng-template #wageSeek>\r\n <core-wage-seeker [excludedColumns]=\"excludedColumnsWage\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n (rowDoubleClick)=\"onRowDoubleClick($event)\" (columnsInit)=\"onColumnsInit($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\" \r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-wage-seeker>\r\n</ng-template>\r\n\r\n<ng-template #positionSeek>\r\n <core-position-seeker [excludedColumns]=\"excludedColumnsPosition\" [preDefinedOuterParam$]=\"preDefinedOuterParam$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n [seekerVerifyIgnore]=\"seekerVerifyIgnore\" (rowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (columnsInit)=\"onColumnsInit($event)\" (selectedDataChange)=\"onSelectedDataChange($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-position-seeker>\r\n</ng-template>\r\n\r\n<ng-template #positionConcurrentSeek>\r\n <core-position-concurrent-seeker [excludedColumns]=\"excludedColumnsPositionConcurrent\"\r\n [preDefinedOuterParam$]=\"preDefinedOuterParam$\" [multiMode]=\"multiMode\" [excludedIds$]=\"excludedIds$\"\r\n [preDefinedOuterFilter$]=\"preDefinedOuterFilter$\" (rowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (columnsInit)=\"onColumnsInit($event)\" (selectedDataChange)=\"onSelectedDataChange($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (listChange)=\"onListChange($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-position-concurrent-seeker>\r\n</ng-template>\r\n\r\n<ng-template #organizationUnitSeek>\r\n <core-org-unit-seeker [excludedIds$]=\"excludedIds$\"\r\n (itemDoubleClick)=\"onItemDoubleClick($event)\"\r\n (itemClick)=\"onRowClick($event)\"\r\n [height]=\"childComponentHeight\"\r\n ></core-org-unit-seeker>\r\n</ng-template>\r\n\r\n<ng-template #avatar let-avatar=\"context.avatar\">\r\n <img *ngIf=\"avatar != null\" [src]=\"avatar | mapAvatarToServer\" class=\"in-table-avatar\" appImageErrorResolver>\r\n <img *ngIf=\"avatar == null\" [src]=\"defaultAvatar\" class=\"in-table-avatar\" appImageErrorResolver>\r\n</ng-template>\r\n<ng-template #sticker let-code=\"context.actflg\">\r\n <core-status-sticker [code]=\"code\" [isTrueCode]=\"true\"></core-status-sticker>\r\n</ng-template>\r\n\r\n<div [class.d-none]=\"!showEditBuffer\">\r\n <core-page-edit-lite [sections]=\"multiModeExtendedSections\" (onFormCreated)=\"onEditBufferFormCreated($event)\"\r\n (submitLogic)=\"onEditBufferSubmit($event)\" (cancelLogic)=\"onEditBufferCancel($event)\"></core-page-edit-lite>\r\n</div>", styles: [".core-form-control-seeker-container{display:block;position:relative;background-color:#fff}.core-form-control-seeker-container>.seeker-icon-wrapper{display:block;position:absolute;background-color:#e9e9e9;right:3px;top:3px;width:29px;height:29px;border-radius:.275rem;cursor:pointer}.core-form-control-seeker-container>.seeker-icon-wrapper>.flex-wrapper{width:29px;height:29px;display:flex;align-items:center;justify-content:center}.core-form-control-seeker-container>.seeker-icon-wrapper>.flex-wrapper>i.close-icon{color:#848484;font-size:20px}.core-form-control-seeker-container .input-wrapper{height:var(--size-form-control-height)}.core-form-control-seeker-container .input-wrapper label.text span{display:block;height:calc(var(--size-form-control-height) - 12px);line-height:calc(var(--size-form-control-height) - 12px);width:calc(100% - var(--size-form-control-height));overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit}.core-form-control-seeker-container .input-wrapper .clear-icon-wrapper{display:none;position:absolute;background-color:transparent;right:28px;top:3px;width:29px;height:29px;border-radius:.275rem;cursor:pointer}.core-form-control-seeker-container .input-wrapper .clear-icon-wrapper>.flex-wrapper{width:29px;height:29px;display:flex;align-items:center;justify-content:center}.core-form-control-seeker-container .input-wrapper .clear-icon-wrapper>.flex-wrapper>i{color:#848484;font-size:20px}.core-form-control-seeker-container .input-wrapper:hover>.clear-icon-wrapper{display:block}.core-form-control-seeker-container>.seeker-icon-wrapper.multi-mode{position:relative;width:35px;height:35px}.core-form-control-seeker-container>.seeker-icon-wrapper.multi-mode>.flex-wrapper{width:35px;height:35px}.core-form-control-seeker-container .source-container{display:block;background-color:#fff;padding:var(--size-layout-block-cell-spacing);max-width:1200px;border-radius:10px}.core-form-control-seeker-container .source-container i.close-icon{font-size:20px;cursor:pointer;position:absolute;right:15px;top:15px}.core-form-control-seeker-container .source-container.d-none{display:none}.core-form-control-seeker-container .source-container>caption{display:block;width:100%}.core-form-control-seeker-container .source-container:has(~.footer){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.core-form-control-seeker-container .footer{background-color:var(--color-bg-main);border-bottom-left-radius:10px;border-bottom-right-radius:10px;padding:var(--size-layout-block-cell-spacing);position:absolute;bottom:0;left:0;width:100%}.core-form-control-seeker-container .footer button:first-child{margin-right:var(--size-layout-block-cell-spacing)}.core-form-control-seeker-container .core-tabbe-wrapper{margin-top:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i14.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: MapAvatarToServerPipe, name: "mapAvatarToServer" }, { kind: "component", type: CoreJobSeekerComponent, selector: "core-job-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CorePageEditLiteComponent, selector: "core-page-edit-lite", inputs: ["width", "captionCode", "sections", "submitText", "checkError$"], outputs: ["onFormCreated", "submitLogic", "cancelLogic"] }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "noPaddingCell"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CoreStatusStickerComponent, selector: "core-status-sticker", inputs: ["code", "isTrueCode"] }, { kind: "component", type: CoreEmployeeSeekerComponent, selector: "core-employee-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreContractSeekerComponent, selector: "core-contract-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreWorkingSeekerComponent, selector: "core-working-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreWageSeekerComponent, selector: "core-wage-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$", "employeeId"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CoreOrgUnitSeekerComponent, selector: "core-org-unit-seeker", inputs: ["accessorMode", "height", "excludedIds$"], outputs: ["itemDoubleClick", "itemClick", "idsChange"] }, { kind: "component", type: CorePositionSeekerComponent, selector: "core-position-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$", "seekerVerifyIgnore"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CorePositionConcurrentSeekerComponent, selector: "core-position-concurrent-seeker", inputs: ["height", "preDefinedOuterFilter$", "excludedColumns", "multiMode", "preDefinedOuterParam$", "excludedIds$"], outputs: ["rowDoubleClick", "rowClick", "selectedIdsChange", "selectedDataChange", "columnsInit", "listChange"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }] }); }
|
|
483
483
|
}
|
|
484
484
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreFormControlSeekerComponent, decorators: [{
|
|
485
485
|
type: Component,
|
|
@@ -575,4 +575,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
575
575
|
type: ViewChild,
|
|
576
576
|
args: ['container']
|
|
577
577
|
}] } });
|
|
578
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsU0FBUyxFQUF5QixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTdGLE9BQU8sRUFBYSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUEyRCxNQUFNLHVDQUF1QyxDQUFDO0FBRTdLLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzdILE9BQU8s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QUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQU1HLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUlxQixnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFFaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIGlzRGV2TW9kZSwgVmlld0NoaWxkLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvcmVGb3JtQ29udHJvbEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWZvcm0tY29udHJvbC1iYXNlL2NvcmUtZm9ybS1jb250cm9sLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUgfSBmcm9tICcuLi9FbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJQ29yZUZvcm1Db250cm9sU2Vla2VyRXh0cmFCaW5kaW5nTW9kZWwsIElDb3JlRm9ybVNlY3Rpb24gfSBmcm9tICcuLi8uLi9jb3JlLWZvcm0vY29yZS1mb3JtL2VudW0taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElPcmdUcmVlSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9JT3JnVHJlZUl0ZW0nO1xyXG5pbXBvcnQgeyBDb3JlVGFibGVDb21wb25lbnQsIEVDb3JlVGFibGVUb29sQ2xhc3MsIEVDb3JlVGFibGVUb29sQ29kZSwgSUNvcmVUYWJsZVRvb2xDbGlja0V2ZW50RW1pdHRlckRhdGEsIElDb3JlVGFibGVUb29sSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUtdGFibGUvY29yZS10YWJsZS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgQ29yZUVtcGxveWVlU2Vla2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1lbXBsb3llZS1zZWVrZXIvY29yZS1lbXBsb3llZS1zZWVrZXIvY29yZS1lbXBsb3llZS1zZWVrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZUNvbnRyYWN0U2Vla2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1jb250cmFjdC1zZWVrZXIvY29yZS1jb250cmFjdC1zZWVrZXIvY29yZS1jb250cmFjdC1zZWVrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVdvcmtpbmdTZWVrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXdvcmtpbmctc2Vla2VyL2NvcmUtd29ya2luZy1zZWVrZXIvY29yZS13b3JraW5nLXNlZWtlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlV2FnZVNlZWtlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtd2FnZS1zZWVrZXIvY29yZS13YWdlLXNlZWtlci9jb3JlLXdhZ2Utc2Vla2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVQb3NpdGlvblNlZWtlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtcG9zaXRpb24tc2Vla2VyL2NvcmUtcG9zaXRpb24tc2Vla2VyL2NvcmUtcG9zaXRpb24tc2Vla2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBNdWx0aUxhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSYW5kb21BdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYWxlcnRPcHRpb25zJztcclxuaW1wb3J0IHsgSUNvcmVUYWJsZUNvbHVtbkl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlLXRhYmxlL0lDb3JlVGFibGVDb2x1bW5JdGVtJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IENvcmVQb3NpdGlvbkNvbmN1cnJlbnRTZWVrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXBvc2l0aW9uLWNvbmN1cnJlbnQtc2Vla2VyL2NvcmUtcG9zaXRpb24tY29uY3VycmVudC1zZWVrZXIvY29yZS1wb3NpdGlvbi1jb25jdXJyZW50LXNlZWtlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29yZU9yZ1VuaXRTZWVrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLW9yZy11bml0LXNlZWtlci9jb3JlLW9yZy11bml0LXNlZWtlci9jb3JlLW9yZy11bml0LXNlZWtlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXBBdmF0YXJUb1NlcnZlclBpcGUgfSBmcm9tICcuLi8uLi8uLi9hcHAtcGlwZXMvbWFwLWF2YXRhci10by1zZXJ2ZXIucGlwZSc7XHJcbmltcG9ydCB7IENvcmVQYWdlRWRpdExpdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXBhZ2UtZWRpdC1saXRlL2NvcmUtcGFnZS1lZGl0LWxpdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZUpvYlNlZWtlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtam9iLXNlZWtlci9jb3JlLWpvYi1zZWVrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVN0YXR1c1N0aWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIvY29yZS1zdGF0dXMtc3RpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVNlZWtlckNvbHVtbkNvbnRyYWN0LCBFbnVtQ29yZVNlZWtlckNvbHVtbkpvYiwgRW51bUNvcmVTZWVrZXJDb2x1bW5Qb3NpdGlvbiwgRW51bUNvcmVTZWVrZXJDb2x1bW5Qb3NpdGlvbkNvbmN1cnJlbnQsIEVudW1Db3JlU2Vla2VyQ29sdW1uU3RhZmZQcm9maWxlLCBFbnVtQ29yZVNlZWtlckNvbHVtbldhZ2UsIEVudW1Db3JlU2Vla2VyQ29sdW1uV29ya2luZyB9IGZyb20gJy4uL0VudW1Db3JlU2Vla2VyQ29sdW1uJztcclxuaW1wb3J0IHsgSUZpbHRlck9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IFNlZWtlclNlcnZpY2UgfSBmcm9tICcuLi9zZWVrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtZm9ybS1jb250cm9sLXNlZWtlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZVBpcGUsXHJcbiAgICBNYXBBdmF0YXJUb1NlcnZlclBpcGUsXHJcbiAgICBDb3JlSm9iU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBhZ2VFZGl0TGl0ZUNvbXBvbmVudCxcclxuICAgIENvcmVUYWJsZUNvbXBvbmVudCxcclxuICAgIENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZUVtcGxveWVlU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZUNvbnRyYWN0U2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVdvcmtpbmdTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlV2FnZVNlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVPcmdVbml0U2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVQYWdlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVG9vbHRpcERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IENvcmVGb3JtQ29udHJvbFNlZWtlckNvbXBvbmVudFxyXG4gICAgfSxcclxuICAgIENvcmVKb2JTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlRW1wbG95ZWVTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlQ29udHJhY3RTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlV29ya2luZ1NlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVXYWdlU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVUYWJsZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBDb3JlRm9ybUNvbnRyb2xTZWVrZXJDb21wb25lbnQgZXh0ZW5kcyBDb3JlRm9ybUNvbnRyb2xCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnYXZhdGFyJykgYXZhdGFyITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdzdGlja2VyJykgc3RpY2tlciE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcclxuXHJcbiAgaXNEZXZNb2RlID0gaXNEZXZNb2RlKCk7XHJcblxyXG4gIGxhbmchOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlITogRW51bVRyYW5zbGF0ZUtleTtcclxuICBASW5wdXQoKSBzaG93UGFnZUhlYWRlciE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcHJlRGVmaW5lZE91dGVyUGFyYW0kITogQmVoYXZpb3JTdWJqZWN0PGFueT47XHJcbiAgQElucHV0KCkgcHJlRGVmaW5lZE91dGVyRmlsdGVyJCE6IEJlaGF2aW9yU3ViamVjdDxJRmlsdGVyT3BlcmF0b3JbXT47XHJcbiAgQElucHV0KCkgY2xpY2skITogQmVoYXZpb3JTdWJqZWN0PGFueT4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgZ2V0QnlJZE9iamVjdCQhOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuICBASW5wdXQoKSBwYXJhbU1vZGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG11bHRpTW9kZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgb2JqZWN0TGlzdCQhOiBCZWhhdmlvclN1YmplY3Q8YW55W10+O1xyXG4gIEBJbnB1dCgpIHNob3duU2Vla2VyQ29sdW1ucyE6IHN0cmluZ1tdOyAvLyBSZWR1Y2UgdmlzaWJsZSBjb2x1bW5zIGZyb20gYmFzZSBjb21wb25lbnQuXHJcbiAgQElucHV0KCkgZXhjbHVkZUV4aXN0aW5nTGlzdCE6IGJvb2xlYW47IC8vIGZyb20gMjAyNC0wNS0xMFxyXG5cclxuICAvKiBXaGVuIG9iamVjdHMgZ2l2ZW4gYnkgdGhlIHNlZWtlciBkb3VibGUtY2xpY2svY2hlY2sgYXJlIGluZGlyZWN0bHkgcmVsYXRlZCB0byB0aGUgY29udHJvbCAqL1xyXG4gIEBJbnB1dCgpIGluZGlyZWN0QmluZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYmluZEdyaWRJZFRvITogc3RyaW5nO1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcbiAgLyogRXh0ZW5kZWQgc2luY2UgMjAyNC0wMy0yNCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucyE6IElDb3JlVGFibGVDb2x1bW5JdGVtW107XHJcbiAgQElucHV0KCkgbXVsdGlNb2RlRXh0ZW5kZWRTZWN0aW9ucyE6IElDb3JlRm9ybVNlY3Rpb25bXTtcclxuICBASW5wdXQoKSBlZGl0QnVmZmVyRGF0YSQhOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuICBASW5wdXQoKSBtdWx0aU1vZGVUYWJsZUhlaWdodCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtdWx0aU1vZGVSb3dIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAvKiBTVEFSVDogUkVRVUlSRUQgKi9cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZWVrZXJTb3VyY2VUeXBlITogRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGU7XHJcbiAgQElucHV0KCkgYm91bmRGcm9tITogc3RyaW5nOyAvLyB0YWtlIHRoaXMgZmllbGQgZnJvbSBHZXRCeUlkIHJlc3BvbnNlIGlubmVyQm9keSB0byBiaW5kIHRvIHRoZSB2YWx1ZVxyXG4gIEBJbnB1dCgpIHNob3duRnJvbSE6IHN0cmluZzsgLy8gdGFrZSB0aGlzIGZpZWxkIGZyb20gR2V0QnlJZCByZXNwb25zZSBpbm5lckJvZHkgdG8gYmluZCB0byB0aGUgdGV4dFxyXG4gIC8qIEVORDogUkVRVUlSRUQgd2hlbiBFTVBMT1lFRV9TRUVLRVIgKi9cclxuXHJcbiAgQElucHV0KCkgYWxzb0JpbmRUbyE6IElDb3JlRm9ybUNvbnRyb2xTZWVrZXJFeHRyYUJpbmRpbmdNb2RlbFtdO1xyXG4gIEBJbnB1dCgpIHNlZWtlclZlcmlmeUlnbm9yZSE6IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKSBvbkRvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHNvdXJjZU9wZW4hOiBib29sZWFuO1xyXG4gIHNvdXJjZVNwYWNlSGVpZ2h0ITogbnVtYmVyO1xyXG5cclxuICB2YWx1ZVRvU2hvdyE6IHN0cmluZztcclxuICBwbGFjZWhvbGRlciE6IHN0cmluZztcclxuXHJcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgLyogZm9yIG11bHRpTW9kZSAqL1xyXG4gIHBlbmRpbmdTZWxlY3RlZERhdGE6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWREYXRhOiBhbnlbXSA9IFtdO1xyXG4gIFxyXG4gIGNsaWNrZWRJdGVtOiBhbnk7XHJcbiAgbGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgbXVsdGlNb2RlQ29sdW1uczogSUNvcmVUYWJsZUNvbHVtbkl0ZW1bXSA9IFtdO1xyXG4gIHNob3dFZGl0QnVmZmVyITogYm9vbGVhbjtcclxuICBlZGl0QnVmZmVyRm9ybSE6IEZvcm1Hcm91cDtcclxuICBlZGl0aW5nSWQhOiBudW1iZXI7XHJcbiAgdG9vbHM6IElDb3JlVGFibGVUb29sSXRlbVtdID0gW3tcclxuICAgIGNvZGU6IEVDb3JlVGFibGVUb29sQ29kZS5kZWxldGUsXHJcbiAgICBjbGFzczogRUNvcmVUYWJsZVRvb2xDbGFzcy5kZWxldGUsXHJcbiAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfQ09OVFJPTF9UQUJMRV9UT09MX0RFTEVURVxyXG4gIH1dO1xyXG5cclxuICBzaG93Q2xlYXJJY29uITogYm9vbGVhbjtcclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG4gIGhpZGVGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgaW5kaXJlY3RCaW5kaW5nTGFzdFZpcnR1YWxJZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZXhjbHVkZWRJZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXJbXT4oW10pO1xyXG5cclxuICBleGNsdWRlZENvbHVtbnNKb2I6IEVudW1Db3JlU2Vla2VyQ29sdW1uSm9iW10gPSBbXHJcbiAgICBFbnVtQ29yZVNlZWtlckNvbHVtbkpvYi5KT0JfRkFNSUxZLFxyXG4gICAgRW51bUNvcmVTZWVrZXJDb2x1bW5Kb2IuSk9CX1BVUlBPU0UsXHJcbiAgICBFbnVtQ29yZVNlZWtlckNvbHVtbkpvYi5KT0JfTk9URSxcclxuICBdO1xyXG4gIGV4Y2x1ZGVkQ29sdW1uc0VtcGxveWVlOiBFbnVtQ29yZVNlZWtlckNvbHVtblN0YWZmUHJvZmlsZVtdID0gW107XHJcbiAgZXhjbHVkZWRDb2x1bW5zQ29udHJhY3Q6IEVudW1Db3JlU2Vla2VyQ29sdW1uQ29udHJhY3RbXSA9IFtdO1xyXG4gIGV4Y2x1ZGVkQ29sdW1uc1dvcmtpbmc6IEVudW1Db3JlU2Vla2VyQ29sdW1uV29ya2luZ1tdID0gW107XHJcbiAgZXhjbHVkZWRDb2x1bW5zV2FnZTogRW51bUNvcmVTZWVrZXJDb2x1bW5XYWdlW10gPSBbXTtcclxuICBleGNsdWRlZENvbHVtbnNQb3NpdGlvbjogRW51bUNvcmVTZWVrZXJDb2x1bW5Qb3NpdGlvbltdID0gW107XHJcbiAgZXhjbHVkZWRDb2x1bW5zUG9zaXRpb25Db25jdXJyZW50OiBFbnVtQ29yZVNlZWtlckNvbHVtblBvc2l0aW9uQ29uY3VycmVudFtdID0gW107XHJcblxyXG4gIHNvdXJjZUNvbnRhaW5lckhlaWdodCE6IG51bWJlcjtcclxuICBjaGlsZENvbXBvbmVudEhlaWdodCE6IG51bWJlcjtcclxuICBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVUYWJsZUNvbXBvbmVudDogQ29yZVRhYmxlQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBjb3JlSm9iU2Vla2VyQ29tcG9uZW50OiBDb3JlSm9iU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBjb3JlRW1wbG95ZWVTZWVrZXJDb21wb25lbnQ6IENvcmVFbXBsb3llZVNlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY29yZUNvbnRyYWN0U2Vla2VyQ29tcG9uZW50OiBDb3JlQ29udHJhY3RTZWVrZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGNvcmVXb3JraW5nU2Vla2VyQ29tcG9uZW50OiBDb3JlV29ya2luZ1NlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY29yZVdhZ2VTZWVrZXJDb21wb25lbnQ6IENvcmVXYWdlU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBjb3JlUG9zaXRpb25TZWVrZXJDb21wb25lbnQ6IENvcmVQb3NpdGlvblNlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudDogQ29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgcmFzOiBSYW5kb21BdmF0YXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZWVrZXJTZXJ2aWNlOiBTZWVrZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gcmFzLmdldCgpO1xyXG4gICAgdGhpcy5zZWVrZXJTZXJ2aWNlLnNvdXJjZVNwYWNlSGVpZ2h0JC5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlU3BhY2VIZWlnaHQgPSB4O1xyXG4gICAgICB0aGlzLnNvdXJjZUNvbnRhaW5lckhlaWdodCA9IHRoaXMuc2hvd1BhZ2VIZWFkZXIgPyB4IC0gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvcmVQYWdlSGVhZGVySGVpZ2h0IC0gNjggOiB4IC0gNjg7XHJcbiAgICAgIHRoaXMuY2hpbGRDb21wb25lbnRIZWlnaHQgPSB0aGlzLnNvdXJjZUNvbnRhaW5lckhlaWdodDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc2lnbk11bHRpTW9kZUNvbHVtbnMoKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuc2Vla2VyU291cmNlVHlwZSkge1xyXG4gICAgICBjYXNlIEVudW1Db3JlRm9ybUNvbnRyb2xTZWVrZXJTb3VyY2VUeXBlLkpPQl9TRUVLOlxyXG4gICAgICAgIGNvbnN0IGpvYkNvbHVtbnMgPSB0aGlzLmNvcmVKb2JTZWVrZXJDb21wb25lbnQuY29sdW1ucy5maWx0ZXIoeCA9PiAhIXguam9iU2Vla2VyQ29sdW1uQ29kZSA/ICF0aGlzLmV4Y2x1ZGVkQ29sdW1uc0pvYi5pbmNsdWRlcyh4LmpvYlNlZWtlckNvbHVtbkNvZGUpIDogdHJ1ZSlcclxuICAgICAgICBpZiAoISF0aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucykge1xyXG4gICAgICAgICAgdGhpcy5tdWx0aU1vZGVDb2x1bW5zID0gWy4uLmpvYkNvbHVtbnMsIC4uLnRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tdWx0aU1vZGVDb2x1bW5zID0gam9iQ29sdW1ucztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuRU1QTE9ZRUVfU0VFSzpcclxuICAgICAgICBjb25zdCBlbXBsb3llZUNvbHVtbnMgPSB0aGlzLmNvcmVFbXBsb3llZVNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC5lbXBsb3llZVNlZWtlckNvbHVtbkNvZGUgPyAhdGhpcy5leGNsdWRlZENvbHVtbnNFbXBsb3llZS5pbmNsdWRlcyh4LmVtcGxveWVlU2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIGlmICghIXRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zKSB7XHJcbiAgICAgICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBbLi4uZW1wbG95ZWVDb2x1bW5zLCAuLi50aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1uc107XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IGVtcGxveWVlQ29sdW1ucztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuQ09OVFJBQ1RfU0VFSzpcclxuICAgICAgICBjb25zdCBjb250cmFjdENvbHVtbnMgPSB0aGlzLmNvcmVDb250cmFjdFNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC5jb250cmFjdFNlZWtlckNvbHVtbkNvZGUgPyAhdGhpcy5leGNsdWRlZENvbHVtbnNDb250cmFjdC5pbmNsdWRlcyh4LmNvbnRyYWN0U2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IGNvbnRyYWN0Q29sdW1ucztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5XT1JLSU5HX1NFRUs6XHJcbiAgICAgICAgY29uc3Qgd29ya2luZ0NvbHVtbnMgPSB0aGlzLmNvcmVXb3JraW5nU2Vla2VyQ29tcG9uZW50LmNvbHVtbnMuZmlsdGVyKHggPT4gISF4LndvcmtpbmdTZWVrZXJDb2x1bW5Db2RlID8gIXRoaXMuZXhjbHVkZWRDb2x1bW5zV29ya2luZy5pbmNsdWRlcyh4LndvcmtpbmdTZWVrZXJDb2x1bW5Db2RlKSA6IHRydWUpXHJcbiAgICAgICAgdGhpcy5tdWx0aU1vZGVDb2x1bW5zID0gd29ya2luZ0NvbHVtbnM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuV0FHRV9TRUVLOlxyXG4gICAgICAgIGNvbnN0IHdhZ2VDb2x1bW5zID0gdGhpcy5jb3JlV2FnZVNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC53YWdlU2Vla2VyQ29sdW1uQ29kZSA/ICF0aGlzLmV4Y2x1ZGVkQ29sdW1uc1dhZ2UuaW5jbHVkZXMoeC53YWdlU2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IHdhZ2VDb2x1bW5zO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlRm9ybUNvbnRyb2xTZWVrZXJTb3VyY2VUeXBlLlBPU0lUSU9OX1NFRUs6XHJcbiAgICAgICAgY29uc3QgcG9zaXRpb25Db2x1bW5zID0gdGhpcy5jb3JlUG9zaXRpb25TZWVrZXJDb21wb25lbnQuY29sdW1ucy5maWx0ZXIoeCA9PiAhIXgucG9zaXRpb25TZWVrZXJDb2x1bW5Db2RlID8gIXRoaXMuZXhjbHVkZWRDb2x1bW5zUG9zaXRpb24uaW5jbHVkZXMoeC5wb3NpdGlvblNlZWtlckNvbHVtbkNvZGUpIDogdHJ1ZSlcclxuICAgICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBwb3NpdGlvbkNvbHVtbnM7XHJcbiAgICAgICAgaWYgKCEhIXRoaXMubXVsdGlNb2RlKSB7XHJcbiAgICAgICAgICB0aGlzLmhpZGVGb290ZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5QT1NJVElPTl9DT05DVVJSRU5UX1NFRUs6XHJcbiAgICAgICAgY29uc3QgcG9zaXRpb25Db25jdXJyZW50Q29sdW1ucyA9IHRoaXMuY29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC5wb3NpdGlvbkNvbmN1cnJlbnRTZWVrZXJDb2x1bW5Db2RlID8gIXRoaXMuZXhjbHVkZWRDb2x1bW5zUG9zaXRpb25Db25jdXJyZW50LmluY2x1ZGVzKHgucG9zaXRpb25Db25jdXJyZW50U2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IHBvc2l0aW9uQ29uY3VycmVudENvbHVtbnM7XHJcbiAgICAgICAgaWYgKCEhIXRoaXMubXVsdGlNb2RlKSB7XHJcbiAgICAgICAgICB0aGlzLmhpZGVGb290ZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5PUkdBTklaQVRJT05fVU5JVF9TRUVLOlxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IFtdO1xyXG4gICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgLypcclxuICAgIElmIHdlIHRyeSB0byBpbmplY3QgTmdDb250cm9sIGRpcmVjdGx5IHdpdGhpbiB0aGUgY29uc3RydWN0b3IsIHdlIHdpbGwgZ2V0IGFuIGVycm9yOiDigJxFcnJvcjogTkcwMjAwOiBDaXJjdWxhciBkZXBlbmRlbmN5IGluIERJIGRldGVjdGVk4oCm4oCdLlxyXG4gICAgVGh1cywgd2UgaW5qZWN0IE5nQ29udHJvbCBpbiB0aGUgT25Jbml0IGxpZmVjeWNsZSBob29rIHZpYSBJbmplY3RvciB3aXRob3V0IGFueSBlcnJvci5cclxuICAgICovXHJcbiAgICB0aGlzLm5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCk7XHJcbiAgICB0aGlzLmFzaWduTXVsdGlNb2RlQ29sdW1ucygpO1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucz8ubWFwKGMgPT4ge1xyXG4gICAgICAgIGlmIChjLmZpZWxkID09PSAnYXZhdGFyJyAmJiAhISFjLnRlbXBsYXRlUmVmKSBjLnRlbXBsYXRlUmVmID0gdGhpcy5hdmF0YXJcclxuICAgICAgICBpZiAoYy5maWVsZCA9PT0gJ2FjdGZsZycgJiYgISEhYy50ZW1wbGF0ZVJlZikgYy50ZW1wbGF0ZVJlZiA9IHRoaXMuc3RpY2tlclxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZWwgPSB0aGlzLmNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1oZWlnaHQnLCAoaGVpZ2h0IHx8IDUwKSArICdweCcpO1xyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKHggPT4gdGhpcy5sYW5nID0geClcclxuICAgICAgKVxyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgIGlmICghISF4KSB0aGlzLnZhbHVlVG9TaG93ID0gXCJcIlxyXG4gICAgICAgIH0pIVxyXG4gICAgICApXHJcblxyXG5cclxuICAgICAgLyogU1RBUlQ6IENIRUNLIElOUFVUUyAqL1xyXG5cclxuXHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIGlmICghISF0aGlzLnNlZWtlclNvdXJjZVR5cGUpIHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICBgQ29yZUZvcm1Db250cm9sU2Vla2VyQ29tcG9uZW50IEVycm9yOiBSZXF1aXJlZCBpbnB1dHM6XHJcbiAgICAgICAgICAgICAgICBzZWVrZXJTb3VyY2VUeXBlOiBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSAoZm9yICcke3RoaXMubmdDb250cm9sLm5hbWV9JylgXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcblxyXG5cclxuICAgICAgICAgIGlmICghISF0aGlzLnBhcmFtTW9kZSkge1xyXG5cclxuICAgICAgICAgICAgLy9nZXRCeUlkT2JqZWN0JFxyXG4gICAgICAgICAgICBpZiAoISEhdGhpcy5nZXRCeUlkT2JqZWN0JCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYENvcmVGb3JtQ29udHJvbFNlZWtlckNvbXBvbmVudCBFcnJvcjogUmVxdWlyZWQgaW5wdXRzOlxyXG4gICAgICAgICAgICAgICAgICBnZXRCeUlkT2JqZWN0JDogQmVoYXZpb3JTdWJqZWN0Jmx0O2FueSZndDsgKGZvciAnJHt0aGlzLm5nQ29udHJvbC5uYW1lfScpYFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIXRoaXMuYm91bmRGcm9tICYmICF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgICBgQWxsIF9TRUVLRVIgY29udHJvbHMgcmVxdWlyZSBpbnB1dDpcclxuICAgICAgICAgICAgICAgICAgICBib3VuZEZyb206IHN0cmluZzsgKGZvciAnJHt0aGlzLm5nQ29udHJvbC5uYW1lfScpYCxcclxuICAgICAgICAgICAgICBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9uc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCEhIXRoaXMuc2hvd25Gcm9tICYmICF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgICBgQWxsIF9TRUVLRVIgY29udHJvbHMgcmVxdWlyZSBpbnB1dDpcclxuICAgICAgICAgICAgICAgICAgICBzaG93bkZyb206IHN0cmluZzsgKGZvciAnJHt0aGlzLm5nQ29udHJvbC5uYW1lfScpYCxcclxuICAgICAgICAgICAgICBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9uc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICghIXRoaXMuaW5kaXJlY3RCaW5kaW5nKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5iaW5kR3JpZElkVG8pIHtcclxuICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgICAgIGBDb3JlRm9ybUNvbnRyb2xTZWVrZXJDb21wb25lbnQgRXJyb3I6IE7hur91IGluZGlyZWN0QmluZGluZyA9IHRydWUsIGLhuq90IGJ14buZYyBwaOG6o2kgY8OzIHRow6ptIHRodeG7mWMgdMOtbmggYmluZEdyaWRJZFRvICh0csaw4budbmcgJyR7dGhpcy5uZ0NvbnRyb2wubmFtZX0nKWBcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIC8qIEVORDogQ0hFQ0sgSU5QVVRTICovXHJcblxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICB0aGlzLmdldEJ5SWRPYmplY3QkPy5zdWJzY3JpYmUoeCA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKCEheCkge1xyXG4gICAgICAgICAgICBpZiAoISEhdGhpcy5tdWx0aU1vZGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlVG9TaG93ID0geFt0aGlzLnNob3duRnJvbV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWVUb1Nob3cgPSBcIlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG5cclxuICAgICAgaWYgKCEhdGhpcy5vYmplY3RMaXN0JCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5vYmplY3RMaXN0JC5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0geDtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmV4Y2x1ZGVFeGlzdGluZ0xpc3QpIHtcclxuICAgICAgICAgICAgICBjb25zdCBuZXdFeGNsdWRlZElkczogbnVtYmVyW10gPSBbXTtcclxuICAgICAgICAgICAgICB4Lm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbmRpcmVjdEJpbmRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgbmV3RXhjbHVkZWRJZHMucHVzaChpLmlkKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3RXhjbHVkZWRJZHMucHVzaChpW3RoaXMuYmluZEdyaWRJZFRvXSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIHRoaXMuZXhjbHVkZWRJZHMkLm5leHQobmV3RXhjbHVkZWRJZHMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5tYXAoeCA9PiB4Py51bnN1YnNjcmliZSgpKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnZhbHVlID0gb2JqKTtcclxuICAgIGlmICghIXRoaXMubXVsdGlNb2RlKSB7XHJcbiAgICAgIGNvbnNvbGUuZ3JvdXAoJ1dyaXRlIHZhbHVlIGZvciAnICsgdGhpcy5uZ0NvbnRyb2wubmFtZSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5tdWx0aU1vZGVDb2x1bW5zXCIsIHRoaXMubXVsdGlNb2RlQ29sdW1ucylcclxuICAgICAgY29uc29sZS5sb2coJ1RvIGRvOiBBc3NpZ24gYXBpIHJlcyB0byB0aGUgc2VsZWN0ZWREYXRhJylcclxuICAgICAgY29uc29sZS5ncm91cEVuZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbGlja1NlZWsoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsaWNrJD8ubmV4dCh0cnVlKTtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcclxuICAgIHRoaXMuc291cmNlT3BlbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdCgpOiB2b2lkIHtcclxuICAgIGlmICghIXRoaXMubXVsdGlNb2RlKSB7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuaW5kaXJlY3RCaW5kaW5nKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhLmZpbHRlcih4ID0+IHRoaXMuc2VsZWN0ZWREYXRhLmZpbHRlcih5ID0+IHkuaWQgPT09IHguaWQpLmxlbmd0aCA9PT0gMClcclxuICAgICAgICBjb25zdCBuZXdTZWxlY3RlZERhdGEgPSBbLi4udGhpcy5zZWxlY3RlZERhdGEsIC4uLmZpbHRlcl07XHJcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWRJZHM6IGFueVtdID0gW107XHJcbiAgICAgICAgbmV3U2VsZWN0ZWREYXRhLm1hcCh4ID0+IG5ld1NlbGVjdGVkSWRzLnB1c2goeC5pZCkpXHJcbiAgICAgICAgdGhpcy5vYmplY3RMaXN0JC5uZXh0KG5ld1NlbGVjdGVkRGF0YSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1NlbGVjdGVkSWRzO1xyXG4gICAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UobmV3U2VsZWN0ZWRJZHMpXHJcbiAgICAgICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zb3VyY2VPcGVuID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhLm1hcCh4ID0+IHtcclxuICAgICAgICAgIC8vIGfDoW4gaWQgY+G7p2EgbMaw4bubaSBuZ3Xhu5NuIHbDoG8gY+G7mXQgY+G6p24gdGhp4bq/dFxyXG4gICAgICAgICAgeFt0aGlzLmJpbmRHcmlkSWRUb10gPSB4LmlkXHJcbiAgICAgICAgICAvLyBzYXUgxJHDsyBob8OhbiBpZCBuw6B5IHNhbmcgZ2nDoSB0cuG7iyDhuqNvLCBlYWNoIFwieFwiIGl0ZW0gbXVzdCBoYXZlIGFuIHVuaXF1ZSBpZFxyXG4gICAgICAgICAgdGhpcy5pbmRpcmVjdEJpbmRpbmdMYXN0VmlydHVhbElkIC09IDE7XHJcbiAgICAgICAgICB4LmlkID0gdGhpcy5pbmRpcmVjdEJpbmRpbmdMYXN0VmlydHVhbElkOyAvLyB1c2luZyBuYWdhdGl2ZSB2YWx1ZSB0byBieXBhc3MgKGxvb3Npbmcgb2YvY29uZnVzaW5nIHdpdGgpIGV4aXN0aW5nIGlkc1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWREYXRhID0gWy4uLnRoaXMuc2VsZWN0ZWREYXRhLCAuLi50aGlzLnBlbmRpbmdTZWxlY3RlZERhdGFdO1xyXG4gICAgICAgIC8vIGNvbnN0IG5ld1NlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIC8vIG5ld1NlbGVjdGVkRGF0YS5tYXAoeCA9PiBuZXdTZWxlY3RlZElkcy5wdXNoKHguaWQpKVxyXG4gICAgICAgIHRoaXMub2JqZWN0TGlzdCQubmV4dChuZXdTZWxlY3RlZERhdGEpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdTZWxlY3RlZERhdGE7XHJcbiAgICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdTZWxlY3RlZERhdGEpXHJcbiAgICAgICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zb3VyY2VPcGVuID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghIXRoaXMuY2xpY2tlZEl0ZW0pIHtcclxuICAgICAgICB0aGlzLm9uUm93RG91YmxlQ2xpY2sodGhpcy5jbGlja2VkSXRlbSk7XHJcbiAgICAgICAgdGhpcy5jbGlja2VkSXRlbSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNvdXJjZU9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xpY2tlZEl0ZW0gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBvblJvd0RvdWJsZUNsaWNrKGU6IGFueSkge1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKGVbdGhpcy5ib3VuZEZyb21dKTtcclxuICAgIHRoaXMub25DaGFuZ2UoZVt0aGlzLmJvdW5kRnJvbV0pO1xyXG4gICAgdGhpcy52YWx1ZVRvU2hvdyA9IGVbdGhpcy5zaG93bkZyb21dO1xyXG4gICAgdGhpcy5zb3VyY2VPcGVuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKCEhdGhpcy5hbHNvQmluZFRvKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5wYXJlbnQ7XHJcbiAgICAgIGlmIChmb3JtKSB7XHJcbiAgICAgICAgdGhpcy5hbHNvQmluZFRvLm1hcCgoeCwgaW5kZXgpID0+IHtcclxuXHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAgc3RhcnQ6IFZhbGlkYXRlIERldmVsb3BlciBpbnB1dFxyXG4gICAgICAgICAgKi9cclxuICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSAmJiBpbmRleCA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAoISEheC50YWtlRnJvbSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwidGFrZUZyb20gd2FzIHVuZGVmaW5lZFwiLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoISEhZVt4LnRha2VGcm9tXSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYFlvdSBleHBlY3QgYSB2YWx1ZSBmcm9tICcke3gudGFrZUZyb219JywgYnV0IHRoZSBzZWVrZXIgZ3JpZCBkb2VzIG5vdCBoYXZlIHRoaXMgY29sdW1uYCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghISF4LmJpbmRUbykge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwiYmluZFRvIHdhcyB1bmRlZmluZWRcIiwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgaWYgKCEhIWZvcm0uZ2V0KHguYmluZFRvKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYFlvdSBleHBlY3QgdG8gYmluZCB2YWx1ZSB0byAnJHt4LmJpbmRUb30nLCBidXQgdGhlIGZvcm0gZ3JvdXAgZG9lcyBub3QgaGF2ZSB0aGlzIGNvbnRyb2xgLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAgZW5kOiBWYWxpZGF0ZSBEZXZlbG9wZXIgaW5wdXRcclxuICAgICAgICAgICovXHJcblxyXG4gICAgICAgICAgZm9ybS5nZXQoeC5iaW5kVG8pPy5zZXRWYWx1ZShlW3gudGFrZUZyb21dKTtcclxuICAgICAgICAgIGZvcm0uZ2V0KHguYmluZFRvKT8ubWFya0FzVG91Y2hlZDtcclxuICAgICAgICAgIGZvcm0uZ2V0KHguYmluZFRvKT8ubWFya0FzRGlydHkoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1Eb3VibGVDbGljayhlOiBJT3JnVHJlZUl0ZW0pIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShlLmlkKTtcclxuICAgIHRoaXMudmFsdWVUb1Nob3cgPSBlLnRyZWUkVGl0bGU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGUuaWQpO1xyXG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLnNvdXJjZU9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMub25Eb3VibGVDbGljay5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25Db2x1bW5zSW5pdChlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghIXRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IFsuLi5lLCAuLi50aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1uc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZERhdGFDaGFuZ2UoZTogYW55KSB7XHJcbiAgICBpZiAoISF0aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucykge1xyXG4gICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBbLi4uZS5jb2x1bW5zLCAuLi50aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1uc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBlLmNvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhID0gZS5kYXRhO1xyXG4gIH1cclxuXHJcbiAgb25Ub29sQ2xpY2soZTogSUNvcmVUYWJsZVRvb2xDbGlja0V2ZW50RW1pdHRlckRhdGEpIHtcclxuICAgIGlmIChlLmNvZGUgPT09IEVDb3JlVGFibGVUb29sQ29kZS5kZWxldGUpIHtcclxuICAgICAgY29uc3QgbmV3T2JqZWN0TGlzdCA9IHRoaXMub2JqZWN0TGlzdCQudmFsdWUuZmlsdGVyKHggPT4geC5pZCAhPT0gZS5pZClcclxuXHJcbiAgICAgIHRoaXMub2JqZWN0TGlzdCQubmV4dChuZXdPYmplY3RMaXN0KTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5pbmRpcmVjdEJpbmRpbmcpIHtcclxuICAgICAgICBjb25zdCBuZXdJZHMgPSB0aGlzLnZhbHVlLmZpbHRlcigoeDogYW55KSA9PiB4ICE9PSBlLmlkKVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdJZHM7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdJZHMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdPYmplY3RMaXN0O1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UobmV3T2JqZWN0TGlzdCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2xlYXIoKSB7XHJcblxyXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICAgIHRoaXMudmFsdWVUb1Nob3cgPSBcIlwiO1xyXG5cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWREYXRhUm93RG91YmxlQ2xpY2soZTogYW55KSB7XHJcblxyXG4gICAgaWYgKCF0aGlzLmVkaXRCdWZmZXJEYXRhJCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwiR2l2ZW4gcm93IGRhdGE6IFwiLCBlKVxyXG4gICAgaWYgKCFlLmlkKSB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwiTm8gJ2lkJyBjb2x1bW5zIGZvdW5kIG9yIGN1cnJlbnQgaWQgd2FzIG51bGxcIiwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5lZGl0QnVmZmVyRm9ybT8uZ2V0KCdpZCcpPy5wYXRjaFZhbHVlKGUuaWQpXHJcbiAgICB9IGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGV4Lm1lc3NhZ2UsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCEhdGhpcy5tdWx0aU1vZGVFeHRlbmRlZENvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zLm1hcCh4ID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgdGhpcy5lZGl0QnVmZmVyRm9ybT8uZ2V0KHguZmllbGQpPy5wYXRjaFZhbHVlKGVbeC5maWVsZF0pXHJcbiAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uOiBhbnkpIHtcclxuICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihleGNlcHRpb24ubWVzc2FnZSwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmVkaXRpbmdJZCA9IGUuaWQ7XHJcbiAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbjogYW55KSB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihleGNlcHRpb24ubWVzc2FnZSwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zaG93RWRpdEJ1ZmZlciA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVkaXRCdWZmZXJTdWJtaXQoZTogYW55KSB7XHJcbiAgICB2YXIgZm9ybURhdGEgPSB0aGlzLmVkaXRCdWZmZXJGb3JtLmdldFJhd1ZhbHVlKCk7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLnNlbGVjdGVkRGF0YT8uZmlsdGVyKHggPT4geC5pZCA9PT0gdGhpcy5lZGl0aW5nSWQpO1xyXG4gICAgICBpZiAoZmlsdGVyPy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICB0aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucz8ubWFwKGMgPT4ge1xyXG4gICAgICAgICAgZmlsdGVyWzBdW2MuZmllbGRdID0gZm9ybURhdGFbYy5maWVsZF07XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmVkaXRCdWZmZXJEYXRhJC5uZXh0KGZvcm1EYXRhKTtcclxuICAgICAgdGhpcy5zaG93RWRpdEJ1ZmZlciA9IGZhbHNlO1xyXG4gICAgfSBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhleCk7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoZXgubWVzc2FnZSB8fCAnQW4gZXJyb3Igb2NjdXJlZCB3aGlsZSB0cnlpbmcgdG8gdXBkYXRlIHNlbGVjdGVkRGF0YScsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVkaXRCdWZmZXJDYW5jZWwoZTogYW55KSB7XHJcbiAgICB0aGlzLnNob3dFZGl0QnVmZmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRCdWZmZXJGb3JtQ3JlYXRlZChlOiBGb3JtR3JvdXApIHtcclxuICAgIHRoaXMuZWRpdEJ1ZmZlckZvcm0gPSBlO1xyXG4gIH1cclxuXHJcbiAgaXNTb3VyY2VPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc291cmNlT3BlbjtcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmNsaWNrZWRJdGVtID0gZTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWRJdGVtSXNJblRoZUxpc3QoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmxpc3QuZmlsdGVyKHggPT4geC5pZCA9PT0gdGhpcy5jbGlja2VkSXRlbT8uaWQpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIG9uTGlzdENoYW5nZShlOiBhbnlbXSkge1xyXG4gICAgaWYgKGUuY29uc3RydWN0b3IgPT09IEFycmF5KSB7XHJcbiAgICAgIHRoaXMubGlzdCA9IGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxpc3QgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiPGRpdiAjY29udGFpbmVyIGNsYXNzPVwiY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBbY2xhc3MuZC1ub25lXT1cIiEhbXVsdGlNb2RlXCI+XHJcbiAgICAgICAgPGxhYmVsICNzaG93blRleHQgdHlwZT1cInRleHRcIiBjbGFzcz1cInRleHQgZm9ybS1jb250cm9sIHBvaW50ZXJcIiBbY2xhc3MuZm9ybS1jb250cm9sLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tTZWVrKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gW2FwcFRvb2x0aXBdPVwidmFsdWVUb1Nob3dcIj57eyB2YWx1ZVRvU2hvdyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIEBpZiAoIW11bHRpTW9kZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhci1pY29uLXdyYXBwZXJcIiBbY2xhc3MuZC1ub25lXT1cIiEhZGlzYWJsZWQgfHwgISEhdmFsdWVcIiAoY2xpY2spPVwib25DbGlja0NsZWFyKClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtd3JhcHBlclwiIFthcHBUb29sdGlwXT1cIidVSS5DT1JFX0NPTlRPTF9DT01NT05fQ0xFQVInIHwgdHJhbnNsYXRlOiBsYW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZlYXRoZXIteFwiPjwvaT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2Vla2VyLWljb24td3JhcHBlclwiIFtjbGFzcy5mb3JtLWNvbnRyb2wtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbY2xhc3MubXVsdGktbW9kZV09XCIhIW11bHRpTW9kZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tTZWVrKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC13cmFwcGVyXCIgW2NsYXNzLmZvcm0tY29udHJvbC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZlYXRoZXItc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKCEhbXVsdGlNb2RlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29yZS10YWJiZS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvcmUtdGFibGUgW2hlaWdodF09XCJtdWx0aU1vZGVUYWJsZUhlaWdodFwiIFtjb2x1bW5zXT1cIm11bHRpTW9kZUNvbHVtbnNcIiBbZGF0YV09XCJzZWxlY3RlZERhdGFcIlxyXG4gICAgICAgICAgICBbc2hvd1Rvb2xzXT1cIiEhIWRpc2FibGVkXCIgW3Rvb2xzXT1cInRvb2xzXCIgW2xhenlMb2FkaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbcm93SGVpZ2h0XT1cIihtdWx0aU1vZGVSb3dIZWlnaHQgfHwgNDYpICsgJ3B4J1wiIFtzZWFyY2hTd2l0Y2hEaXNhYmxlZF09XCJ0cnVlXCIgW2Rpc2FibGVTb3J0aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICAob25Ub29sQ2xpY2spPVwib25Ub29sQ2xpY2soJGV2ZW50KVwiIChvblJvd0RvdWJsZUNsaWNrKT1cIm9uU2VsZWN0ZWREYXRhUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiPjwvY29yZS10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoISFzb3VyY2VPcGVuKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnQtcm9vdFwiIFtuZ1N0eWxlXT1cInsgcGFkZGluZzogJzBweCcgfVwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZS1zcGFjZVwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgIGhlaWdodDogc291cmNlU3BhY2VIZWlnaHQgKyAncHgnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxyXG4gICAgICAgICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIEBpZiAoc2hvd1BhZ2VIZWFkZXIpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXItcGFuZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y29yZS1wYWdlLWhlYWRlciBbdGl0bGVdPVwidGl0bGVcIiBbaGlkZUJ1dHRvbkdyb3VwXT1cInRydWVcIj48L2NvcmUtcGFnZS1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2UtY29udGFpbmVyXCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogc291cmNlQ29udGFpbmVySGVpZ2h0ICsgJ3B4JyxcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAnMHB4JyxcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nQm90dG9tOiAnMHB4J1xyXG4gICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiY2xvc2UtaWNvbiBmZWF0aGVyLXhcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kLWJsb2NrXT1cInNlZWtlclNvdXJjZVR5cGU9PT0nT1JHQU5JWkFUSU9OX1VOSVRfU0VFSydcIj48L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBzd2l0Y2ggKHNlZWtlclNvdXJjZVR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ0pPQl9TRUVLJykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJqb2JTZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnRU1QTE9ZRUVfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wbG95ZWVTZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnQ09OVFJBQ1RfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJhY3RTZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnV09SS0lOR19TRUVLJykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ3b3JraW5nU2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ1dBR0VfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwid2FnZVNlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdPUkdBTklaQVRJT05fVU5JVF9TRUVLJykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcmdhbml6YXRpb25Vbml0U2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ1BPU0lUSU9OX1NFRUsnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBvc2l0aW9uU2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ1BPU0lUSU9OX0NPTkNVUlJFTlRfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9zaXRpb25Db25jdXJyZW50U2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoKHNlZWtlclNvdXJjZVR5cGUgPT09ICdPUkdBTklaQVRJT05fVU5JVF9TRUVLJyAmJiAhIWNsaWNrZWRJdGVtKSB8fCAoISFtdWx0aU1vZGUgJiYgISFwZW5kaW5nU2VsZWN0ZWREYXRhPy5sZW5ndGgpIHx8ICghbXVsdGlNb2RlICYmICEhY2xpY2tlZEl0ZW1Jc0luVGhlTGlzdCgpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvblNlbGVjdCgpXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVSV9DT1JFX0NPTkZJUk1fRElBTE9HX0JVVFRPTl9TRUxFQ1QnIHwgdHJhbnNsYXRlOiBsYW5nIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVSV9DT1JFX0NPTkZJUk1fRElBTE9HX0JVVFRPTl9DQU5DRUwnIHwgdHJhbnNsYXRlOiBsYW5nIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2pvYlNlZWs+XHJcbiAgICA8Y29yZS1qb2Itc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zSm9iXCIgW3ByZURlZmluZWRPdXRlclBhcmFtJF09XCJwcmVEZWZpbmVkT3V0ZXJQYXJhbSRcIlxyXG4gICAgICAgIFtwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXT1cInByZURlZmluZWRPdXRlckZpbHRlciRcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICAocm93RG91YmxlQ2xpY2spPVwib25Sb3dEb3VibGVDbGljaygkZXZlbnQpXCIgKGNvbHVtbnNJbml0KT1cIm9uQ29sdW1uc0luaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCIgXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxpc3RDaGFuZ2UpPVwib25MaXN0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiY2hpbGRDb21wb25lbnRIZWlnaHRcIlxyXG4gICAgICAgID48L2NvcmUtam9iLXNlZWtlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZW1wbG95ZWVTZWVrPlxyXG4gICAgPGNvcmUtZW1wbG95ZWUtc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zRW1wbG95ZWVcIiBbcHJlRGVmaW5lZE91dGVyUGFyYW0kXT1cInByZURlZmluZWRPdXRlclBhcmFtJFwiXHJcbiAgICAgICAgW3ByZURlZmluZWRPdXRlckZpbHRlciRdPVwicHJlRGVmaW5lZE91dGVyRmlsdGVyJFwiIFttdWx0aU1vZGVdPVwibXVsdGlNb2RlXCIgW2V4Y2x1ZGVkSWRzJF09XCJleGNsdWRlZElkcyRcIlxyXG4gICAgICAgIChyb3dEb3VibGVDbGljayk9XCJvblJvd0RvdWJsZUNsaWNrKCRldmVudClcIiAoY29sdW1uc0luaXQpPVwib25Db2x1bW5zSW5pdCgkZXZlbnQpXCJcclxuICAgICAgICAoc2VsZWN0ZWREYXRhQ2hhbmdlKT1cIm9uU2VsZWN0ZWREYXRhQ2hhbmdlKCRldmVudClcIiBcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobGlzdENoYW5nZSk9XCJvbkxpc3RDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2hlaWdodF09XCJjaGlsZENvbXBvbmVudEhlaWdodFwiXHJcbiAgICAgICAgPjwvY29yZS1lbXBsb3llZS1zZWVrZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRyYWN0U2Vlaz5cclxuICAgIDxjb3JlLWNvbnRyYWN0LXNlZWtlciBbZXhjbHVkZWRDb2x1bW5zXT1cImV4Y2x1ZGVkQ29sdW1uc0NvbnRyYWN0XCIgW3ByZURlZmluZWRPdXRlclBhcmFtJF09XCJwcmVEZWZpbmVkT3V0ZXJQYXJhbSRcIlxyXG4gICAgICAgIFtwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXT1cInByZURlZmluZWRPdXRlckZpbHRlciRcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICAocm93RG91YmxlQ2xpY2spPVwib25Sb3dEb3VibGVDbGljaygkZXZlbnQpXCIgKGNvbHVtbnNJbml0KT1cIm9uQ29sdW1uc0luaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCIgXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxpc3RDaGFuZ2UpPVwib25MaXN0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiY2hpbGRDb21wb25lbnRIZWlnaHRcIlxyXG4gICAgICAgID48L2NvcmUtY29udHJhY3Qtc2Vla2VyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN3b3JraW5nU2Vlaz5cclxuICAgIDxjb3JlLXdvcmtpbmctc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zV29ya2luZ1wiIFtwcmVEZWZpbmVkT3V0ZXJQYXJhbSRdPVwicHJlRGVmaW5lZE91dGVyUGFyYW0kXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbZXhjbHVkZWRJZHMkXT1cImV4Y2x1ZGVkSWRzJFwiXHJcbiAgICAgICAgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiIChjb2x1bW5zSW5pdCk9XCJvbkNvbHVtbnNJbml0KCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3RlZERhdGFDaGFuZ2UpPVwib25TZWxlY3RlZERhdGFDaGFuZ2UoJGV2ZW50KVwiIFxyXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChsaXN0Q2hhbmdlKT1cIm9uTGlzdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbaGVpZ2h0XT1cImNoaWxkQ29tcG9uZW50SGVpZ2h0XCJcclxuICAgICAgICA+PC9jb3JlLXdvcmtpbmctc2Vla2VyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN3YWdlU2Vlaz5cclxuICAgIDxjb3JlLXdhZ2Utc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zV2FnZVwiIFtwcmVEZWZpbmVkT3V0ZXJQYXJhbSRdPVwicHJlRGVmaW5lZE91dGVyUGFyYW0kXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbZXhjbHVkZWRJZHMkXT1cImV4Y2x1ZGVkSWRzJFwiXHJcbiAgICAgICAgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiIChjb2x1bW5zSW5pdCk9XCJvbkNvbHVtbnNJbml0KCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3RlZERhdGFDaGFuZ2UpPVwib25TZWxlY3RlZERhdGFDaGFuZ2UoJGV2ZW50KVwiIFxyXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChsaXN0Q2hhbmdlKT1cIm9uTGlzdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbaGVpZ2h0XT1cImNoaWxkQ29tcG9uZW50SGVpZ2h0XCJcclxuICAgICAgICA+PC9jb3JlLXdhZ2Utc2Vla2VyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwb3NpdGlvblNlZWs+XHJcbiAgICA8Y29yZS1wb3NpdGlvbi1zZWVrZXIgW2V4Y2x1ZGVkQ29sdW1uc109XCJleGNsdWRlZENvbHVtbnNQb3NpdGlvblwiIFtwcmVEZWZpbmVkT3V0ZXJQYXJhbSRdPVwicHJlRGVmaW5lZE91dGVyUGFyYW0kXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbZXhjbHVkZWRJZHMkXT1cImV4Y2x1ZGVkSWRzJFwiXHJcbiAgICAgICAgW3NlZWtlclZlcmlmeUlnbm9yZV09XCJzZWVrZXJWZXJpZnlJZ25vcmVcIiAocm93RG91YmxlQ2xpY2spPVwib25Sb3dEb3VibGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoY29sdW1uc0luaXQpPVwib25Db2x1bW5zSW5pdCgkZXZlbnQpXCIgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobGlzdENoYW5nZSk9XCJvbkxpc3RDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2hlaWdodF09XCJjaGlsZENvbXBvbmVudEhlaWdodFwiXHJcbiAgICAgICAgPjwvY29yZS1wb3NpdGlvbi1zZWVrZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3Bvc2l0aW9uQ29uY3VycmVudFNlZWs+XHJcbiAgICA8Y29yZS1wb3NpdGlvbi1jb25jdXJyZW50LXNlZWtlciBbZXhjbHVkZWRDb2x1bW5zXT1cImV4Y2x1ZGVkQ29sdW1uc1Bvc2l0aW9uQ29uY3VycmVudFwiXHJcbiAgICAgICAgW3ByZURlZmluZWRPdXRlclBhcmFtJF09XCJwcmVEZWZpbmVkT3V0ZXJQYXJhbSRcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbHVtbnNJbml0KT1cIm9uQ29sdW1uc0luaXQoJGV2ZW50KVwiIChzZWxlY3RlZERhdGFDaGFuZ2UpPVwib25TZWxlY3RlZERhdGFDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxpc3RDaGFuZ2UpPVwib25MaXN0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiY2hpbGRDb21wb25lbnRIZWlnaHRcIlxyXG4gICAgICAgID48L2NvcmUtcG9zaXRpb24tY29uY3VycmVudC1zZWVrZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI29yZ2FuaXphdGlvblVuaXRTZWVrPlxyXG4gICAgPGNvcmUtb3JnLXVuaXQtc2Vla2VyIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICAoaXRlbURvdWJsZUNsaWNrKT1cIm9uSXRlbURvdWJsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChpdGVtQ2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICBbaGVpZ2h0XT1cImNoaWxkQ29tcG9uZW50SGVpZ2h0XCJcclxuICAgICAgICA+PC9jb3JlLW9yZy11bml0LXNlZWtlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYXZhdGFyIGxldC1hdmF0YXI9XCJjb250ZXh0LmF2YXRhclwiPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciAhPSBudWxsXCIgW3NyY109XCJhdmF0YXIgfCBtYXBBdmF0YXJUb1NlcnZlclwiIGNsYXNzPVwiaW4tdGFibGUtYXZhdGFyXCIgYXBwSW1hZ2VFcnJvclJlc29sdmVyPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciA9PSBudWxsXCIgW3NyY109XCJkZWZhdWx0QXZhdGFyXCIgY2xhc3M9XCJpbi10YWJsZS1hdmF0YXJcIiBhcHBJbWFnZUVycm9yUmVzb2x2ZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc3RpY2tlciBsZXQtY29kZT1cImNvbnRleHQuYWN0ZmxnXCI+XHJcbiAgICA8Y29yZS1zdGF0dXMtc3RpY2tlciBbY29kZV09XCJjb2RlXCIgW2lzVHJ1ZUNvZGVdPVwidHJ1ZVwiPjwvY29yZS1zdGF0dXMtc3RpY2tlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgW2NsYXNzLmQtbm9uZV09XCIhc2hvd0VkaXRCdWZmZXJcIj5cclxuICAgIDxjb3JlLXBhZ2UtZWRpdC1saXRlIFtzZWN0aW9uc109XCJtdWx0aU1vZGVFeHRlbmRlZFNlY3Rpb25zXCIgKG9uRm9ybUNyZWF0ZWQpPVwib25FZGl0QnVmZmVyRm9ybUNyZWF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHN1Ym1pdExvZ2ljKT1cIm9uRWRpdEJ1ZmZlclN1Ym1pdCgkZXZlbnQpXCIgKGNhbmNlbExvZ2ljKT1cIm9uRWRpdEJ1ZmZlckNhbmNlbCgkZXZlbnQpXCI+PC9jb3JlLXBhZ2UtZWRpdC1saXRlPlxyXG48L2Rpdj4iXX0=
|
|
578
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci9jb3JlLWZvcm0tY29udHJvbC1zZWVrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsU0FBUyxFQUF5QixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTdGLE9BQU8sRUFBYSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUEyRCxNQUFNLHVDQUF1QyxDQUFDO0FBRTdLLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzdILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzdILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0saUhBQWlILENBQUM7QUFDeEssT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDNUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDekgsT0FBTyxFQUFnQyx1QkFBdUIsRUFBaUssTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQThDL1AsTUFBTSxPQUFPLDhCQUErQixTQUFRLDRCQUE0QjtJQXFHOUUsWUFDVSxZQUEwQixFQUMxQixRQUFrQixFQUNsQixHQUF5QixFQUN6QixrQkFBc0MsRUFDdEMsc0JBQThDLEVBQzlDLDJCQUF3RCxFQUN4RCwyQkFBd0QsRUFDeEQsMEJBQXNELEVBQ3RELHVCQUFnRCxFQUNoRCwyQkFBd0QsRUFDeEQscUNBQTRFLEVBQzVFLEdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLGFBQTRCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBZkEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUN6Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDNUUsUUFBRyxHQUFILEdBQUcsQ0FBcUI7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUEzR3RDLGNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQXdDZCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFVbEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBRW5DLG1CQUFtQjtRQUNuQix3QkFBbUIsR0FBVSxFQUFFLENBQUM7UUFDaEMsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFHekIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUVqQixxQkFBZ0IsR0FBMkIsRUFBRSxDQUFDO1FBSTlDLFVBQUssR0FBeUIsQ0FBQztnQkFDN0IsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07Z0JBQy9CLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxNQUFNO2dCQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsaUNBQWlDO2FBQzVELENBQUMsQ0FBQztRQUlILGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIsaUNBQTRCLEdBQVcsQ0FBQyxDQUFDO1FBRXpDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFFakQsdUJBQWtCLEdBQThCO1lBQzlDLHVCQUF1QixDQUFDLFVBQVU7WUFDbEMsdUJBQXVCLENBQUMsV0FBVztZQUNuQyx1QkFBdUIsQ0FBQyxRQUFRO1NBQ2pDLENBQUM7UUFDRiw0QkFBdUIsR0FBdUMsRUFBRSxDQUFDO1FBQ2pFLDRCQUF1QixHQUFtQyxFQUFFLENBQUM7UUFDN0QsMkJBQXNCLEdBQWtDLEVBQUUsQ0FBQztRQUMzRCx3QkFBbUIsR0FBK0IsRUFBRSxDQUFDO1FBQ3JELDRCQUF1QixHQUFtQyxFQUFFLENBQUM7UUFDN0Qsc0NBQWlDLEdBQTZDLEVBQUUsQ0FBQztRQXVCL0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzdHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLFFBQVEsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzdCLEtBQUssbUNBQW1DLENBQUMsUUFBUTtnQkFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUM3SixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7aUJBQzNFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7aUJBQ3BDO2dCQUVELElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7aUJBQ3hCO2dCQUNELE1BQU07WUFDUixLQUFLLG1DQUFtQyxDQUFDLGFBQWE7Z0JBQ3BELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdEwsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO29CQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2lCQUNoRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO2lCQUN6QztnQkFFRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2lCQUN4QjtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxtQ0FBbUMsQ0FBQyxhQUFhO2dCQUNwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3RMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLG1DQUFtQyxDQUFDLFlBQVk7Z0JBQ25ELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDakwsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztnQkFDdkMsTUFBTTtZQUNSLEtBQUssbUNBQW1DLENBQUMsU0FBUztnQkFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNsSyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO2dCQUNwQyxNQUFNO1lBQ1IsS0FBSyxtQ0FBbUMsQ0FBQyxhQUFhO2dCQUNwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3RMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7aUJBQ3hCO2dCQUNELE1BQU07WUFDUixLQUFLLG1DQUFtQyxDQUFDLHdCQUF3QjtnQkFDL0QsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3hPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztpQkFDeEI7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssbUNBQW1DLENBQUMsc0JBQXNCO2dCQUM3RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2lCQUN4QjtnQkFDRCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBRUgsQ0FBQztJQUVELFFBQVE7UUFFTjs7O1VBR0U7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRS9CLENBQUM7SUFFRCxlQUFlO1FBRWIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7b0JBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO2dCQUN6RSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO29CQUFFLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtZQUM1RSxDQUFDLENBQUMsQ0FBQTtZQUVGLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDO1lBQ3pDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqRCxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFFeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQzdDLENBQUE7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFBO1lBQ2pDLENBQUMsQ0FBRSxDQUNKLENBQUE7WUFHRCx5QkFBeUI7WUFHekIsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3JCOzhFQUNrRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUMxRixDQUFDO2lCQUNIO3FCQUFNO29CQUdMLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTt3QkFFckIsZ0JBQWdCO3dCQUNoQixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7NEJBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNyQjtxRUFDcUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FDN0UsQ0FBQzt5QkFDSDtxQkFDRjtvQkFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNyQjsrQ0FDaUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFDeEQsMEJBQTBCLENBQzNCLENBQUM7cUJBQ0g7b0JBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTt3QkFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3JCOytDQUNpQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUN4RCwwQkFBMEIsQ0FDM0IsQ0FBQztxQkFDSDtvQkFFRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO3dCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTs0QkFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3JCLDRIQUE0SCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUNwSixDQUFDO3lCQUNIO3FCQUNGO2lCQUVGO2FBQ0Y7WUFHRCx1QkFBdUI7WUFFdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUVqQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3RDO2lCQUNGO3FCQUFNO29CQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTt3QkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7cUJBQ3ZCO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtZQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7b0JBRXRCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO3dCQUM1QixNQUFNLGNBQWMsR0FBYSxFQUFFLENBQUM7d0JBQ3BDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0NBQ3pCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBOzZCQUMxQjtpQ0FBTTtnQ0FDTCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTs2QkFDMUM7d0JBQ0gsQ0FBQyxDQUFDLENBQUE7d0JBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7cUJBQ3hDO2dCQUVILENBQUMsQ0FBQyxDQUNILENBQUE7YUFDRjtRQUVILENBQUMsQ0FBQyxDQUFBO0lBR0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFUSxVQUFVLENBQUMsR0FBUTtRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1lBQzNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtZQUN4RCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUE7Z0JBQzlHLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztnQkFDakMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMvQiwwQ0FBMEM7b0JBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtvQkFDM0IsMkVBQTJFO29CQUMzRSxJQUFJLENBQUMsNEJBQTRCLElBQUksQ0FBQyxDQUFDO29CQUN2QyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLDBFQUEwRTtnQkFDdEgsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDNUUsb0NBQW9DO2dCQUNwQyxzREFBc0Q7Z0JBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFBO2dCQUM5QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQzthQUN6QjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsQ0FBTTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7WUFDNUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBRS9COztzQkFFRTtvQkFDRixJQUFJLFNBQVMsRUFBRSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7d0JBQzlCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTs0QkFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTt5QkFDOUU7NkJBQU07NEJBQ0wsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dDQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFFBQVEsa0RBQWtELEVBQUUsMEJBQTBCLENBQUMsQ0FBQTs2QkFDOUk7eUJBQ0Y7d0JBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFOzRCQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDLENBQUE7eUJBQzVFOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0NBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsTUFBTSxrREFBa0QsRUFBRSwwQkFBMEIsQ0FBQyxDQUFBOzZCQUNoSjt5QkFDRjtxQkFFRjtvQkFDRDs7c0JBRUU7b0JBRUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDO29CQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUE7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLENBQWU7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQU07UUFDbEIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBTTtRQUN6QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDMUU7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFzQztRQUNoRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsTUFBTSxFQUFFO1lBQ3hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBRXZFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDOUI7WUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUVWLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUV4QixDQUFDO0lBRUQsNEJBQTRCLENBQUMsQ0FBTTtRQUVqQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBRWxDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLFNBQVMsRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxFQUFFLDBCQUEwQixDQUFDLENBQUM7YUFDckc7U0FDRjtRQUVELElBQUk7WUFDRixJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQ2pEO1FBQUMsT0FBTyxFQUFPLEVBQUU7WUFDaEIsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLDBCQUEwQixDQUFDLENBQUM7YUFDakU7U0FDRjtRQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUU7WUFDMUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEMsSUFBSTtvQkFDRixJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtpQkFDMUQ7Z0JBQUMsT0FBTyxTQUFjLEVBQUU7b0JBQ3ZCLElBQUksU0FBUyxFQUFFLEVBQUU7d0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO3FCQUN4RTtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSTtnQkFDRixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDdkI7WUFBQyxPQUFPLFNBQWMsRUFBRTtnQkFDdkIsSUFBSSxTQUFTLEVBQUUsRUFBRTtvQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLDBCQUEwQixDQUFDLENBQUM7aUJBQ3hFO2FBQ0Y7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxDQUFNO1FBQ3ZCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkUsSUFBSSxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDckMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsQ0FBQTthQUNIO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDN0I7UUFBQyxPQUFPLEVBQU8sRUFBRTtZQUNoQixJQUFJLFNBQVMsRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksc0RBQXNELEVBQUUsMEJBQTBCLENBQUMsQ0FBQTthQUMxSDtTQUNGO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLENBQVk7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVUsQ0FBQyxDQUFNO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkUsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFRO1FBQ25CLElBQUksQ0FBQyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDZjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDOzhHQXBqQlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsZzdCQWpCOUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsOEJBQThCO2FBQzVDO1lBQ0Qsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQiwyQkFBMkI7WUFDM0IsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0IscUNBQXFDO1lBQ3JDLGtCQUFrQjtTQUNuQixpVUN6RUgsNjlVQTJNTSxreEZEcEtGLFlBQVksaVlBQ1osV0FBVywwQkFDWCxhQUFhLDZDQUNiLHFCQUFxQiwwREFDckIsc0JBQXNCLG9TQUN0Qix5QkFBeUIscU1BQ3pCLGtCQUFrQixzdEJBQ2xCLDBCQUEwQixnR0FDMUIsMkJBQTJCLHlTQUMzQiwyQkFBMkIseVNBQzNCLDBCQUEwQix3U0FDMUIsdUJBQXVCLG1UQUN2QiwwQkFBMEIsNktBQzFCLDJCQUEyQiwrVEFDM0IscUNBQXFDLG9UQUNyQyx1QkFBdUIsNkpBQ3ZCLGdCQUFnQjs7MkZBcUJQLDhCQUE4QjtrQkF6QzFDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IscUNBQXFDO3dCQUNyQyx1QkFBdUI7d0JBQ3ZCLGdCQUFnQjtxQkFDakIsYUFHVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLGdDQUFnQzt5QkFDNUM7d0JBQ0Qsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IscUNBQXFDO3dCQUNyQyxrQkFBa0I7cUJBQ25CO2dqQkFNb0IsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNHLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFRWCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQU1HLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUlxQixnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFFaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIGlzRGV2TW9kZSwgVmlld0NoaWxkLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvcmVGb3JtQ29udHJvbEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWZvcm0tY29udHJvbC1iYXNlL2NvcmUtZm9ybS1jb250cm9sLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUgfSBmcm9tICcuLi9FbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJQ29yZUZvcm1Db250cm9sU2Vla2VyRXh0cmFCaW5kaW5nTW9kZWwsIElDb3JlRm9ybVNlY3Rpb24gfSBmcm9tICcuLi8uLi9jb3JlLWZvcm0vY29yZS1mb3JtL2VudW0taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElPcmdUcmVlSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9JT3JnVHJlZUl0ZW0nO1xyXG5pbXBvcnQgeyBDb3JlVGFibGVDb21wb25lbnQsIEVDb3JlVGFibGVUb29sQ2xhc3MsIEVDb3JlVGFibGVUb29sQ29kZSwgSUNvcmVUYWJsZVRvb2xDbGlja0V2ZW50RW1pdHRlckRhdGEsIElDb3JlVGFibGVUb29sSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUtdGFibGUvY29yZS10YWJsZS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgQ29yZUVtcGxveWVlU2Vla2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1lbXBsb3llZS1zZWVrZXIvY29yZS1lbXBsb3llZS1zZWVrZXIvY29yZS1lbXBsb3llZS1zZWVrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZUNvbnRyYWN0U2Vla2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1jb250cmFjdC1zZWVrZXIvY29yZS1jb250cmFjdC1zZWVrZXIvY29yZS1jb250cmFjdC1zZWVrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVdvcmtpbmdTZWVrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXdvcmtpbmctc2Vla2VyL2NvcmUtd29ya2luZy1zZWVrZXIvY29yZS13b3JraW5nLXNlZWtlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlV2FnZVNlZWtlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtd2FnZS1zZWVrZXIvY29yZS13YWdlLXNlZWtlci9jb3JlLXdhZ2Utc2Vla2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVQb3NpdGlvblNlZWtlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtcG9zaXRpb24tc2Vla2VyL2NvcmUtcG9zaXRpb24tc2Vla2VyL2NvcmUtcG9zaXRpb24tc2Vla2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBNdWx0aUxhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSYW5kb21BdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmFuZG9tLWF2YXRhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYWxlcnRPcHRpb25zJztcclxuaW1wb3J0IHsgSUNvcmVUYWJsZUNvbHVtbkl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlLXRhYmxlL0lDb3JlVGFibGVDb2x1bW5JdGVtJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IENvcmVQb3NpdGlvbkNvbmN1cnJlbnRTZWVrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXBvc2l0aW9uLWNvbmN1cnJlbnQtc2Vla2VyL2NvcmUtcG9zaXRpb24tY29uY3VycmVudC1zZWVrZXIvY29yZS1wb3NpdGlvbi1jb25jdXJyZW50LXNlZWtlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtcGFnZS1oZWFkZXIvY29yZS1wYWdlLWhlYWRlci9jb3JlLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29yZU9yZ1VuaXRTZWVrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLW9yZy11bml0LXNlZWtlci9jb3JlLW9yZy11bml0LXNlZWtlci9jb3JlLW9yZy11bml0LXNlZWtlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXBBdmF0YXJUb1NlcnZlclBpcGUgfSBmcm9tICcuLi8uLi8uLi9hcHAtcGlwZXMvbWFwLWF2YXRhci10by1zZXJ2ZXIucGlwZSc7XHJcbmltcG9ydCB7IENvcmVQYWdlRWRpdExpdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXBhZ2UtZWRpdC1saXRlL2NvcmUtcGFnZS1lZGl0LWxpdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZUpvYlNlZWtlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtam9iLXNlZWtlci9jb3JlLWpvYi1zZWVrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29yZVN0YXR1c1N0aWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLXN0YXR1cy1zdGlja2VyL2NvcmUtc3RhdHVzLXN0aWNrZXIvY29yZS1zdGF0dXMtc3RpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVNlZWtlckNvbHVtbkNvbnRyYWN0LCBFbnVtQ29yZVNlZWtlckNvbHVtbkpvYiwgRW51bUNvcmVTZWVrZXJDb2x1bW5Qb3NpdGlvbiwgRW51bUNvcmVTZWVrZXJDb2x1bW5Qb3NpdGlvbkNvbmN1cnJlbnQsIEVudW1Db3JlU2Vla2VyQ29sdW1uU3RhZmZQcm9maWxlLCBFbnVtQ29yZVNlZWtlckNvbHVtbldhZ2UsIEVudW1Db3JlU2Vla2VyQ29sdW1uV29ya2luZyB9IGZyb20gJy4uL0VudW1Db3JlU2Vla2VyQ29sdW1uJztcclxuaW1wb3J0IHsgSUZpbHRlck9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IFNlZWtlclNlcnZpY2UgfSBmcm9tICcuLi9zZWVrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtZm9ybS1jb250cm9sLXNlZWtlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZVBpcGUsXHJcbiAgICBNYXBBdmF0YXJUb1NlcnZlclBpcGUsXHJcbiAgICBDb3JlSm9iU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBhZ2VFZGl0TGl0ZUNvbXBvbmVudCxcclxuICAgIENvcmVUYWJsZUNvbXBvbmVudCxcclxuICAgIENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZUVtcGxveWVlU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZUNvbnRyYWN0U2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVdvcmtpbmdTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlV2FnZVNlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVPcmdVbml0U2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVQYWdlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVG9vbHRpcERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtZm9ybS1jb250cm9sLXNlZWtlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IENvcmVGb3JtQ29udHJvbFNlZWtlckNvbXBvbmVudFxyXG4gICAgfSxcclxuICAgIENvcmVKb2JTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlRW1wbG95ZWVTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlQ29udHJhY3RTZWVrZXJDb21wb25lbnQsXHJcbiAgICBDb3JlV29ya2luZ1NlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVXYWdlU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgQ29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudCxcclxuICAgIENvcmVUYWJsZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBDb3JlRm9ybUNvbnRyb2xTZWVrZXJDb21wb25lbnQgZXh0ZW5kcyBDb3JlRm9ybUNvbnRyb2xCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnYXZhdGFyJykgYXZhdGFyITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdzdGlja2VyJykgc3RpY2tlciE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcclxuXHJcbiAgaXNEZXZNb2RlID0gaXNEZXZNb2RlKCk7XHJcblxyXG4gIGxhbmchOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlITogRW51bVRyYW5zbGF0ZUtleTtcclxuICBASW5wdXQoKSBzaG93UGFnZUhlYWRlciE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcHJlRGVmaW5lZE91dGVyUGFyYW0kITogQmVoYXZpb3JTdWJqZWN0PGFueT47XHJcbiAgQElucHV0KCkgcHJlRGVmaW5lZE91dGVyRmlsdGVyJCE6IEJlaGF2aW9yU3ViamVjdDxJRmlsdGVyT3BlcmF0b3JbXT47XHJcbiAgQElucHV0KCkgY2xpY2skITogQmVoYXZpb3JTdWJqZWN0PGFueT4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgZ2V0QnlJZE9iamVjdCQhOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuICBASW5wdXQoKSBwYXJhbU1vZGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG11bHRpTW9kZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgb2JqZWN0TGlzdCQhOiBCZWhhdmlvclN1YmplY3Q8YW55W10+O1xyXG4gIEBJbnB1dCgpIHNob3duU2Vla2VyQ29sdW1ucyE6IHN0cmluZ1tdOyAvLyBSZWR1Y2UgdmlzaWJsZSBjb2x1bW5zIGZyb20gYmFzZSBjb21wb25lbnQuXHJcbiAgQElucHV0KCkgZXhjbHVkZUV4aXN0aW5nTGlzdCE6IGJvb2xlYW47IC8vIGZyb20gMjAyNC0wNS0xMFxyXG5cclxuICAvKiBXaGVuIG9iamVjdHMgZ2l2ZW4gYnkgdGhlIHNlZWtlciBkb3VibGUtY2xpY2svY2hlY2sgYXJlIGluZGlyZWN0bHkgcmVsYXRlZCB0byB0aGUgY29udHJvbCAqL1xyXG4gIEBJbnB1dCgpIGluZGlyZWN0QmluZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYmluZEdyaWRJZFRvITogc3RyaW5nO1xyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcbiAgLyogRXh0ZW5kZWQgc2luY2UgMjAyNC0wMy0yNCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucyE6IElDb3JlVGFibGVDb2x1bW5JdGVtW107XHJcbiAgQElucHV0KCkgbXVsdGlNb2RlRXh0ZW5kZWRTZWN0aW9ucyE6IElDb3JlRm9ybVNlY3Rpb25bXTtcclxuICBASW5wdXQoKSBlZGl0QnVmZmVyRGF0YSQhOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuICBASW5wdXQoKSBtdWx0aU1vZGVUYWJsZUhlaWdodCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtdWx0aU1vZGVSb3dIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAvKiBTVEFSVDogUkVRVUlSRUQgKi9cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZWVrZXJTb3VyY2VUeXBlITogRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGU7XHJcbiAgQElucHV0KCkgYm91bmRGcm9tITogc3RyaW5nOyAvLyB0YWtlIHRoaXMgZmllbGQgZnJvbSBHZXRCeUlkIHJlc3BvbnNlIGlubmVyQm9keSB0byBiaW5kIHRvIHRoZSB2YWx1ZVxyXG4gIEBJbnB1dCgpIHNob3duRnJvbSE6IHN0cmluZzsgLy8gdGFrZSB0aGlzIGZpZWxkIGZyb20gR2V0QnlJZCByZXNwb25zZSBpbm5lckJvZHkgdG8gYmluZCB0byB0aGUgdGV4dFxyXG4gIC8qIEVORDogUkVRVUlSRUQgd2hlbiBFTVBMT1lFRV9TRUVLRVIgKi9cclxuXHJcbiAgQElucHV0KCkgYWxzb0JpbmRUbyE6IElDb3JlRm9ybUNvbnRyb2xTZWVrZXJFeHRyYUJpbmRpbmdNb2RlbFtdO1xyXG4gIEBJbnB1dCgpIHNlZWtlclZlcmlmeUlnbm9yZSE6IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKSBvbkRvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHNvdXJjZU9wZW4hOiBib29sZWFuO1xyXG4gIHNvdXJjZVNwYWNlSGVpZ2h0ITogbnVtYmVyO1xyXG5cclxuICB2YWx1ZVRvU2hvdyE6IHN0cmluZztcclxuICBwbGFjZWhvbGRlciE6IHN0cmluZztcclxuXHJcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgLyogZm9yIG11bHRpTW9kZSAqL1xyXG4gIHBlbmRpbmdTZWxlY3RlZERhdGE6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWREYXRhOiBhbnlbXSA9IFtdO1xyXG4gIFxyXG4gIGNsaWNrZWRJdGVtOiBhbnk7XHJcbiAgbGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgbXVsdGlNb2RlQ29sdW1uczogSUNvcmVUYWJsZUNvbHVtbkl0ZW1bXSA9IFtdO1xyXG4gIHNob3dFZGl0QnVmZmVyITogYm9vbGVhbjtcclxuICBlZGl0QnVmZmVyRm9ybSE6IEZvcm1Hcm91cDtcclxuICBlZGl0aW5nSWQhOiBudW1iZXI7XHJcbiAgdG9vbHM6IElDb3JlVGFibGVUb29sSXRlbVtdID0gW3tcclxuICAgIGNvZGU6IEVDb3JlVGFibGVUb29sQ29kZS5kZWxldGUsXHJcbiAgICBjbGFzczogRUNvcmVUYWJsZVRvb2xDbGFzcy5kZWxldGUsXHJcbiAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPUkVfQ09OVFJPTF9UQUJMRV9UT09MX0RFTEVURVxyXG4gIH1dO1xyXG5cclxuICBzaG93Q2xlYXJJY29uITogYm9vbGVhbjtcclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG4gIGhpZGVGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgaW5kaXJlY3RCaW5kaW5nTGFzdFZpcnR1YWxJZDogbnVtYmVyID0gMDtcclxuXHJcbiAgZXhjbHVkZWRJZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXJbXT4oW10pO1xyXG5cclxuICBleGNsdWRlZENvbHVtbnNKb2I6IEVudW1Db3JlU2Vla2VyQ29sdW1uSm9iW10gPSBbXHJcbiAgICBFbnVtQ29yZVNlZWtlckNvbHVtbkpvYi5KT0JfRkFNSUxZLFxyXG4gICAgRW51bUNvcmVTZWVrZXJDb2x1bW5Kb2IuSk9CX1BVUlBPU0UsXHJcbiAgICBFbnVtQ29yZVNlZWtlckNvbHVtbkpvYi5KT0JfTk9URSxcclxuICBdO1xyXG4gIGV4Y2x1ZGVkQ29sdW1uc0VtcGxveWVlOiBFbnVtQ29yZVNlZWtlckNvbHVtblN0YWZmUHJvZmlsZVtdID0gW107XHJcbiAgZXhjbHVkZWRDb2x1bW5zQ29udHJhY3Q6IEVudW1Db3JlU2Vla2VyQ29sdW1uQ29udHJhY3RbXSA9IFtdO1xyXG4gIGV4Y2x1ZGVkQ29sdW1uc1dvcmtpbmc6IEVudW1Db3JlU2Vla2VyQ29sdW1uV29ya2luZ1tdID0gW107XHJcbiAgZXhjbHVkZWRDb2x1bW5zV2FnZTogRW51bUNvcmVTZWVrZXJDb2x1bW5XYWdlW10gPSBbXTtcclxuICBleGNsdWRlZENvbHVtbnNQb3NpdGlvbjogRW51bUNvcmVTZWVrZXJDb2x1bW5Qb3NpdGlvbltdID0gW107XHJcbiAgZXhjbHVkZWRDb2x1bW5zUG9zaXRpb25Db25jdXJyZW50OiBFbnVtQ29yZVNlZWtlckNvbHVtblBvc2l0aW9uQ29uY3VycmVudFtdID0gW107XHJcblxyXG4gIHNvdXJjZUNvbnRhaW5lckhlaWdodCE6IG51bWJlcjtcclxuICBjaGlsZENvbXBvbmVudEhlaWdodCE6IG51bWJlcjtcclxuICBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVUYWJsZUNvbXBvbmVudDogQ29yZVRhYmxlQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBjb3JlSm9iU2Vla2VyQ29tcG9uZW50OiBDb3JlSm9iU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBjb3JlRW1wbG95ZWVTZWVrZXJDb21wb25lbnQ6IENvcmVFbXBsb3llZVNlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY29yZUNvbnRyYWN0U2Vla2VyQ29tcG9uZW50OiBDb3JlQ29udHJhY3RTZWVrZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGNvcmVXb3JraW5nU2Vla2VyQ29tcG9uZW50OiBDb3JlV29ya2luZ1NlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY29yZVdhZ2VTZWVrZXJDb21wb25lbnQ6IENvcmVXYWdlU2Vla2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBjb3JlUG9zaXRpb25TZWVrZXJDb21wb25lbnQ6IENvcmVQb3NpdGlvblNlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgY29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudDogQ29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgcmFzOiBSYW5kb21BdmF0YXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZWVrZXJTZXJ2aWNlOiBTZWVrZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gcmFzLmdldCgpO1xyXG4gICAgdGhpcy5zZWVrZXJTZXJ2aWNlLnNvdXJjZVNwYWNlSGVpZ2h0JC5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlU3BhY2VIZWlnaHQgPSB4O1xyXG4gICAgICB0aGlzLnNvdXJjZUNvbnRhaW5lckhlaWdodCA9IHRoaXMuc2hvd1BhZ2VIZWFkZXIgPyB4IC0gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvcmVQYWdlSGVhZGVySGVpZ2h0IC0gNjggOiB4IC0gNjg7XHJcbiAgICAgIHRoaXMuY2hpbGRDb21wb25lbnRIZWlnaHQgPSB0aGlzLnNvdXJjZUNvbnRhaW5lckhlaWdodDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc2lnbk11bHRpTW9kZUNvbHVtbnMoKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuc2Vla2VyU291cmNlVHlwZSkge1xyXG4gICAgICBjYXNlIEVudW1Db3JlRm9ybUNvbnRyb2xTZWVrZXJTb3VyY2VUeXBlLkpPQl9TRUVLOlxyXG4gICAgICAgIGNvbnN0IGpvYkNvbHVtbnMgPSB0aGlzLmNvcmVKb2JTZWVrZXJDb21wb25lbnQuY29sdW1ucy5maWx0ZXIoeCA9PiAhIXguam9iU2Vla2VyQ29sdW1uQ29kZSA/ICF0aGlzLmV4Y2x1ZGVkQ29sdW1uc0pvYi5pbmNsdWRlcyh4LmpvYlNlZWtlckNvbHVtbkNvZGUpIDogdHJ1ZSlcclxuICAgICAgICBpZiAoISF0aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucykge1xyXG4gICAgICAgICAgdGhpcy5tdWx0aU1vZGVDb2x1bW5zID0gWy4uLmpvYkNvbHVtbnMsIC4uLnRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tdWx0aU1vZGVDb2x1bW5zID0gam9iQ29sdW1ucztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuRU1QTE9ZRUVfU0VFSzpcclxuICAgICAgICBjb25zdCBlbXBsb3llZUNvbHVtbnMgPSB0aGlzLmNvcmVFbXBsb3llZVNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC5lbXBsb3llZVNlZWtlckNvbHVtbkNvZGUgPyAhdGhpcy5leGNsdWRlZENvbHVtbnNFbXBsb3llZS5pbmNsdWRlcyh4LmVtcGxveWVlU2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIGlmICghIXRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zKSB7XHJcbiAgICAgICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBbLi4uZW1wbG95ZWVDb2x1bW5zLCAuLi50aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1uc107XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IGVtcGxveWVlQ29sdW1ucztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuQ09OVFJBQ1RfU0VFSzpcclxuICAgICAgICBjb25zdCBjb250cmFjdENvbHVtbnMgPSB0aGlzLmNvcmVDb250cmFjdFNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC5jb250cmFjdFNlZWtlckNvbHVtbkNvZGUgPyAhdGhpcy5leGNsdWRlZENvbHVtbnNDb250cmFjdC5pbmNsdWRlcyh4LmNvbnRyYWN0U2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IGNvbnRyYWN0Q29sdW1ucztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5XT1JLSU5HX1NFRUs6XHJcbiAgICAgICAgY29uc3Qgd29ya2luZ0NvbHVtbnMgPSB0aGlzLmNvcmVXb3JraW5nU2Vla2VyQ29tcG9uZW50LmNvbHVtbnMuZmlsdGVyKHggPT4gISF4LndvcmtpbmdTZWVrZXJDb2x1bW5Db2RlID8gIXRoaXMuZXhjbHVkZWRDb2x1bW5zV29ya2luZy5pbmNsdWRlcyh4LndvcmtpbmdTZWVrZXJDb2x1bW5Db2RlKSA6IHRydWUpXHJcbiAgICAgICAgdGhpcy5tdWx0aU1vZGVDb2x1bW5zID0gd29ya2luZ0NvbHVtbnM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVGb3JtQ29udHJvbFNlZWtlclNvdXJjZVR5cGUuV0FHRV9TRUVLOlxyXG4gICAgICAgIGNvbnN0IHdhZ2VDb2x1bW5zID0gdGhpcy5jb3JlV2FnZVNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC53YWdlU2Vla2VyQ29sdW1uQ29kZSA/ICF0aGlzLmV4Y2x1ZGVkQ29sdW1uc1dhZ2UuaW5jbHVkZXMoeC53YWdlU2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IHdhZ2VDb2x1bW5zO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlRm9ybUNvbnRyb2xTZWVrZXJTb3VyY2VUeXBlLlBPU0lUSU9OX1NFRUs6XHJcbiAgICAgICAgY29uc3QgcG9zaXRpb25Db2x1bW5zID0gdGhpcy5jb3JlUG9zaXRpb25TZWVrZXJDb21wb25lbnQuY29sdW1ucy5maWx0ZXIoeCA9PiAhIXgucG9zaXRpb25TZWVrZXJDb2x1bW5Db2RlID8gIXRoaXMuZXhjbHVkZWRDb2x1bW5zUG9zaXRpb24uaW5jbHVkZXMoeC5wb3NpdGlvblNlZWtlckNvbHVtbkNvZGUpIDogdHJ1ZSlcclxuICAgICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBwb3NpdGlvbkNvbHVtbnM7XHJcbiAgICAgICAgaWYgKCEhIXRoaXMubXVsdGlNb2RlKSB7XHJcbiAgICAgICAgICB0aGlzLmhpZGVGb290ZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5QT1NJVElPTl9DT05DVVJSRU5UX1NFRUs6XHJcbiAgICAgICAgY29uc3QgcG9zaXRpb25Db25jdXJyZW50Q29sdW1ucyA9IHRoaXMuY29yZVBvc2l0aW9uQ29uY3VycmVudFNlZWtlckNvbXBvbmVudC5jb2x1bW5zLmZpbHRlcih4ID0+ICEheC5wb3NpdGlvbkNvbmN1cnJlbnRTZWVrZXJDb2x1bW5Db2RlID8gIXRoaXMuZXhjbHVkZWRDb2x1bW5zUG9zaXRpb25Db25jdXJyZW50LmluY2x1ZGVzKHgucG9zaXRpb25Db25jdXJyZW50U2Vla2VyQ29sdW1uQ29kZSkgOiB0cnVlKVxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IHBvc2l0aW9uQ29uY3VycmVudENvbHVtbnM7XHJcbiAgICAgICAgaWYgKCEhIXRoaXMubXVsdGlNb2RlKSB7XHJcbiAgICAgICAgICB0aGlzLmhpZGVGb290ZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZS5PUkdBTklaQVRJT05fVU5JVF9TRUVLOlxyXG4gICAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IFtdO1xyXG4gICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgdGhpcy5oaWRlRm9vdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgLypcclxuICAgIElmIHdlIHRyeSB0byBpbmplY3QgTmdDb250cm9sIGRpcmVjdGx5IHdpdGhpbiB0aGUgY29uc3RydWN0b3IsIHdlIHdpbGwgZ2V0IGFuIGVycm9yOiDigJxFcnJvcjogTkcwMjAwOiBDaXJjdWxhciBkZXBlbmRlbmN5IGluIERJIGRldGVjdGVk4oCm4oCdLlxyXG4gICAgVGh1cywgd2UgaW5qZWN0IE5nQ29udHJvbCBpbiB0aGUgT25Jbml0IGxpZmVjeWNsZSBob29rIHZpYSBJbmplY3RvciB3aXRob3V0IGFueSBlcnJvci5cclxuICAgICovXHJcbiAgICB0aGlzLm5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCk7XHJcbiAgICB0aGlzLmFzaWduTXVsdGlNb2RlQ29sdW1ucygpO1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucz8ubWFwKGMgPT4ge1xyXG4gICAgICAgIGlmIChjLmZpZWxkID09PSAnYXZhdGFyJyAmJiAhISFjLnRlbXBsYXRlUmVmKSBjLnRlbXBsYXRlUmVmID0gdGhpcy5hdmF0YXJcclxuICAgICAgICBpZiAoYy5maWVsZCA9PT0gJ2FjdGZsZycgJiYgISEhYy50ZW1wbGF0ZVJlZikgYy50ZW1wbGF0ZVJlZiA9IHRoaXMuc3RpY2tlclxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZWwgPSB0aGlzLmNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1oZWlnaHQnLCAoaGVpZ2h0IHx8IDUwKSArICdweCcpO1xyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKHggPT4gdGhpcy5sYW5nID0geClcclxuICAgICAgKVxyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgIGlmICghISF4KSB0aGlzLnZhbHVlVG9TaG93ID0gXCJcIlxyXG4gICAgICAgIH0pIVxyXG4gICAgICApXHJcblxyXG5cclxuICAgICAgLyogU1RBUlQ6IENIRUNLIElOUFVUUyAqL1xyXG5cclxuXHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIGlmICghISF0aGlzLnNlZWtlclNvdXJjZVR5cGUpIHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICBgQ29yZUZvcm1Db250cm9sU2Vla2VyQ29tcG9uZW50IEVycm9yOiBSZXF1aXJlZCBpbnB1dHM6XHJcbiAgICAgICAgICAgICAgICBzZWVrZXJTb3VyY2VUeXBlOiBFbnVtQ29yZUZvcm1Db250cm9sU2Vla2VyU291cmNlVHlwZSAoZm9yICcke3RoaXMubmdDb250cm9sLm5hbWV9JylgXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcblxyXG5cclxuICAgICAgICAgIGlmICghISF0aGlzLnBhcmFtTW9kZSkge1xyXG5cclxuICAgICAgICAgICAgLy9nZXRCeUlkT2JqZWN0JFxyXG4gICAgICAgICAgICBpZiAoISEhdGhpcy5nZXRCeUlkT2JqZWN0JCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYENvcmVGb3JtQ29udHJvbFNlZWtlckNvbXBvbmVudCBFcnJvcjogUmVxdWlyZWQgaW5wdXRzOlxyXG4gICAgICAgICAgICAgICAgICBnZXRCeUlkT2JqZWN0JDogQmVoYXZpb3JTdWJqZWN0Jmx0O2FueSZndDsgKGZvciAnJHt0aGlzLm5nQ29udHJvbC5uYW1lfScpYFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIXRoaXMuYm91bmRGcm9tICYmICF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgICBgQWxsIF9TRUVLRVIgY29udHJvbHMgcmVxdWlyZSBpbnB1dDpcclxuICAgICAgICAgICAgICAgICAgICBib3VuZEZyb206IHN0cmluZzsgKGZvciAnJHt0aGlzLm5nQ29udHJvbC5uYW1lfScpYCxcclxuICAgICAgICAgICAgICBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9uc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCEhIXRoaXMuc2hvd25Gcm9tICYmICF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgICBgQWxsIF9TRUVLRVIgY29udHJvbHMgcmVxdWlyZSBpbnB1dDpcclxuICAgICAgICAgICAgICAgICAgICBzaG93bkZyb206IHN0cmluZzsgKGZvciAnJHt0aGlzLm5nQ29udHJvbC5uYW1lfScpYCxcclxuICAgICAgICAgICAgICBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9uc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICghIXRoaXMuaW5kaXJlY3RCaW5kaW5nKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5iaW5kR3JpZElkVG8pIHtcclxuICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihcclxuICAgICAgICAgICAgICAgIGBDb3JlRm9ybUNvbnRyb2xTZWVrZXJDb21wb25lbnQgRXJyb3I6IE7hur91IGluZGlyZWN0QmluZGluZyA9IHRydWUsIGLhuq90IGJ14buZYyBwaOG6o2kgY8OzIHRow6ptIHRodeG7mWMgdMOtbmggYmluZEdyaWRJZFRvICh0csaw4budbmcgJyR7dGhpcy5uZ0NvbnRyb2wubmFtZX0nKWBcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIC8qIEVORDogQ0hFQ0sgSU5QVVRTICovXHJcblxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICB0aGlzLmdldEJ5SWRPYmplY3QkPy5zdWJzY3JpYmUoeCA9PiB7XHJcblxyXG4gICAgICAgICAgaWYgKCEheCkge1xyXG4gICAgICAgICAgICBpZiAoISEhdGhpcy5tdWx0aU1vZGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlVG9TaG93ID0geFt0aGlzLnNob3duRnJvbV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghISF0aGlzLm11bHRpTW9kZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWVUb1Nob3cgPSBcIlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG5cclxuICAgICAgaWYgKCEhdGhpcy5vYmplY3RMaXN0JCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5vYmplY3RMaXN0JC5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0geDtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmV4Y2x1ZGVFeGlzdGluZ0xpc3QpIHtcclxuICAgICAgICAgICAgICBjb25zdCBuZXdFeGNsdWRlZElkczogbnVtYmVyW10gPSBbXTtcclxuICAgICAgICAgICAgICB4Lm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbmRpcmVjdEJpbmRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgbmV3RXhjbHVkZWRJZHMucHVzaChpLmlkKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3RXhjbHVkZWRJZHMucHVzaChpW3RoaXMuYmluZEdyaWRJZFRvXSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIHRoaXMuZXhjbHVkZWRJZHMkLm5leHQobmV3RXhjbHVkZWRJZHMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5tYXAoeCA9PiB4Py51bnN1YnNjcmliZSgpKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnZhbHVlID0gb2JqKTtcclxuICAgIGlmICghIXRoaXMubXVsdGlNb2RlKSB7XHJcbiAgICAgIGNvbnNvbGUuZ3JvdXAoJ1dyaXRlIHZhbHVlIGZvciAnICsgdGhpcy5uZ0NvbnRyb2wubmFtZSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5tdWx0aU1vZGVDb2x1bW5zXCIsIHRoaXMubXVsdGlNb2RlQ29sdW1ucylcclxuICAgICAgY29uc29sZS5sb2coJ1RvIGRvOiBBc3NpZ24gYXBpIHJlcyB0byB0aGUgc2VsZWN0ZWREYXRhJylcclxuICAgICAgY29uc29sZS5ncm91cEVuZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbGlja1NlZWsoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsaWNrJD8ubmV4dCh0cnVlKTtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcclxuICAgIHRoaXMuc291cmNlT3BlbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdCgpOiB2b2lkIHtcclxuICAgIGlmICghIXRoaXMubXVsdGlNb2RlKSB7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuaW5kaXJlY3RCaW5kaW5nKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhLmZpbHRlcih4ID0+IHRoaXMuc2VsZWN0ZWREYXRhLmZpbHRlcih5ID0+IHkuaWQgPT09IHguaWQpLmxlbmd0aCA9PT0gMClcclxuICAgICAgICBjb25zdCBuZXdTZWxlY3RlZERhdGEgPSBbLi4udGhpcy5zZWxlY3RlZERhdGEsIC4uLmZpbHRlcl07XHJcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWRJZHM6IGFueVtdID0gW107XHJcbiAgICAgICAgbmV3U2VsZWN0ZWREYXRhLm1hcCh4ID0+IG5ld1NlbGVjdGVkSWRzLnB1c2goeC5pZCkpXHJcbiAgICAgICAgdGhpcy5vYmplY3RMaXN0JC5uZXh0KG5ld1NlbGVjdGVkRGF0YSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1NlbGVjdGVkSWRzO1xyXG4gICAgICAgIHRoaXMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UobmV3U2VsZWN0ZWRJZHMpXHJcbiAgICAgICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zb3VyY2VPcGVuID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhLm1hcCh4ID0+IHtcclxuICAgICAgICAgIC8vIGfDoW4gaWQgY+G7p2EgbMaw4bubaSBuZ3Xhu5NuIHbDoG8gY+G7mXQgY+G6p24gdGhp4bq/dFxyXG4gICAgICAgICAgeFt0aGlzLmJpbmRHcmlkSWRUb10gPSB4LmlkXHJcbiAgICAgICAgICAvLyBzYXUgxJHDsyBob8OhbiBpZCBuw6B5IHNhbmcgZ2nDoSB0cuG7iyDhuqNvLCBlYWNoIFwieFwiIGl0ZW0gbXVzdCBoYXZlIGFuIHVuaXF1ZSBpZFxyXG4gICAgICAgICAgdGhpcy5pbmRpcmVjdEJpbmRpbmdMYXN0VmlydHVhbElkIC09IDE7XHJcbiAgICAgICAgICB4LmlkID0gdGhpcy5pbmRpcmVjdEJpbmRpbmdMYXN0VmlydHVhbElkOyAvLyB1c2luZyBuYWdhdGl2ZSB2YWx1ZSB0byBieXBhc3MgKGxvb3Npbmcgb2YvY29uZnVzaW5nIHdpdGgpIGV4aXN0aW5nIGlkc1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWREYXRhID0gWy4uLnRoaXMuc2VsZWN0ZWREYXRhLCAuLi50aGlzLnBlbmRpbmdTZWxlY3RlZERhdGFdO1xyXG4gICAgICAgIC8vIGNvbnN0IG5ld1NlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIC8vIG5ld1NlbGVjdGVkRGF0YS5tYXAoeCA9PiBuZXdTZWxlY3RlZElkcy5wdXNoKHguaWQpKVxyXG4gICAgICAgIHRoaXMub2JqZWN0TGlzdCQubmV4dChuZXdTZWxlY3RlZERhdGEpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdTZWxlY3RlZERhdGE7XHJcbiAgICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdTZWxlY3RlZERhdGEpXHJcbiAgICAgICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zb3VyY2VPcGVuID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghIXRoaXMuY2xpY2tlZEl0ZW0pIHtcclxuICAgICAgICB0aGlzLm9uUm93RG91YmxlQ2xpY2sodGhpcy5jbGlja2VkSXRlbSk7XHJcbiAgICAgICAgdGhpcy5jbGlja2VkSXRlbSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNvdXJjZU9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xpY2tlZEl0ZW0gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBvblJvd0RvdWJsZUNsaWNrKGU6IGFueSkge1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKGVbdGhpcy5ib3VuZEZyb21dKTtcclxuICAgIHRoaXMub25DaGFuZ2UoZVt0aGlzLmJvdW5kRnJvbV0pO1xyXG4gICAgdGhpcy52YWx1ZVRvU2hvdyA9IGVbdGhpcy5zaG93bkZyb21dO1xyXG4gICAgdGhpcy5zb3VyY2VPcGVuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKCEhdGhpcy5hbHNvQmluZFRvKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5wYXJlbnQ7XHJcbiAgICAgIGlmIChmb3JtKSB7XHJcbiAgICAgICAgdGhpcy5hbHNvQmluZFRvLm1hcCgoeCwgaW5kZXgpID0+IHtcclxuXHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAgc3RhcnQ6IFZhbGlkYXRlIERldmVsb3BlciBpbnB1dFxyXG4gICAgICAgICAgKi9cclxuICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSAmJiBpbmRleCA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAoISEheC50YWtlRnJvbSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwidGFrZUZyb20gd2FzIHVuZGVmaW5lZFwiLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoISEhZVt4LnRha2VGcm9tXSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYFlvdSBleHBlY3QgYSB2YWx1ZSBmcm9tICcke3gudGFrZUZyb219JywgYnV0IHRoZSBzZWVrZXIgZ3JpZCBkb2VzIG5vdCBoYXZlIHRoaXMgY29sdW1uYCwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghISF4LmJpbmRUbykge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwiYmluZFRvIHdhcyB1bmRlZmluZWRcIiwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgaWYgKCEhIWZvcm0uZ2V0KHguYmluZFRvKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoYFlvdSBleHBlY3QgdG8gYmluZCB2YWx1ZSB0byAnJHt4LmJpbmRUb30nLCBidXQgdGhlIGZvcm0gZ3JvdXAgZG9lcyBub3QgaGF2ZSB0aGlzIGNvbnRyb2xgLCBub25lQXV0b0Nsb3NlZEFsZXJ0T3B0aW9ucylcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvKlxyXG4gICAgICAgICAgZW5kOiBWYWxpZGF0ZSBEZXZlbG9wZXIgaW5wdXRcclxuICAgICAgICAgICovXHJcblxyXG4gICAgICAgICAgZm9ybS5nZXQoeC5iaW5kVG8pPy5zZXRWYWx1ZShlW3gudGFrZUZyb21dKTtcclxuICAgICAgICAgIGZvcm0uZ2V0KHguYmluZFRvKT8ubWFya0FzVG91Y2hlZDtcclxuICAgICAgICAgIGZvcm0uZ2V0KHguYmluZFRvKT8ubWFya0FzRGlydHkoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1Eb3VibGVDbGljayhlOiBJT3JnVHJlZUl0ZW0pIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShlLmlkKTtcclxuICAgIHRoaXMudmFsdWVUb1Nob3cgPSBlLnRyZWUkVGl0bGU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGUuaWQpO1xyXG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLnNvdXJjZU9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMub25Eb3VibGVDbGljay5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25Db2x1bW5zSW5pdChlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghIXRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMubXVsdGlNb2RlQ29sdW1ucyA9IFsuLi5lLCAuLi50aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1uc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZERhdGFDaGFuZ2UoZTogYW55KSB7XHJcbiAgICBpZiAoISF0aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucykge1xyXG4gICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBbLi4uZS5jb2x1bW5zLCAuLi50aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1uc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm11bHRpTW9kZUNvbHVtbnMgPSBlLmNvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wZW5kaW5nU2VsZWN0ZWREYXRhID0gZS5kYXRhO1xyXG4gIH1cclxuXHJcbiAgb25Ub29sQ2xpY2soZTogSUNvcmVUYWJsZVRvb2xDbGlja0V2ZW50RW1pdHRlckRhdGEpIHtcclxuICAgIGlmIChlLmNvZGUgPT09IEVDb3JlVGFibGVUb29sQ29kZS5kZWxldGUpIHtcclxuICAgICAgY29uc3QgbmV3T2JqZWN0TGlzdCA9IHRoaXMub2JqZWN0TGlzdCQudmFsdWUuZmlsdGVyKHggPT4geC5pZCAhPT0gZS5pZClcclxuXHJcbiAgICAgIHRoaXMub2JqZWN0TGlzdCQubmV4dChuZXdPYmplY3RMaXN0KTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5pbmRpcmVjdEJpbmRpbmcpIHtcclxuICAgICAgICBjb25zdCBuZXdJZHMgPSB0aGlzLnZhbHVlLmZpbHRlcigoeDogYW55KSA9PiB4ICE9PSBlLmlkKVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdJZHM7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdJZHMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdPYmplY3RMaXN0O1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UobmV3T2JqZWN0TGlzdCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2xlYXIoKSB7XHJcblxyXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICAgIHRoaXMudmFsdWVUb1Nob3cgPSBcIlwiO1xyXG5cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWREYXRhUm93RG91YmxlQ2xpY2soZTogYW55KSB7XHJcblxyXG4gICAgaWYgKCF0aGlzLmVkaXRCdWZmZXJEYXRhJCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwiR2l2ZW4gcm93IGRhdGE6IFwiLCBlKVxyXG4gICAgaWYgKCFlLmlkKSB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKFwiTm8gJ2lkJyBjb2x1bW5zIGZvdW5kIG9yIGN1cnJlbnQgaWQgd2FzIG51bGxcIiwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5lZGl0QnVmZmVyRm9ybT8uZ2V0KCdpZCcpPy5wYXRjaFZhbHVlKGUuaWQpXHJcbiAgICB9IGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGV4Lm1lc3NhZ2UsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCEhdGhpcy5tdWx0aU1vZGVFeHRlbmRlZENvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubXVsdGlNb2RlRXh0ZW5kZWRDb2x1bW5zLm1hcCh4ID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgdGhpcy5lZGl0QnVmZmVyRm9ybT8uZ2V0KHguZmllbGQpPy5wYXRjaFZhbHVlKGVbeC5maWVsZF0pXHJcbiAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uOiBhbnkpIHtcclxuICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihleGNlcHRpb24ubWVzc2FnZSwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmVkaXRpbmdJZCA9IGUuaWQ7XHJcbiAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbjogYW55KSB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihleGNlcHRpb24ubWVzc2FnZSwgbm9uZUF1dG9DbG9zZWRBbGVydE9wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zaG93RWRpdEJ1ZmZlciA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVkaXRCdWZmZXJTdWJtaXQoZTogYW55KSB7XHJcbiAgICB2YXIgZm9ybURhdGEgPSB0aGlzLmVkaXRCdWZmZXJGb3JtLmdldFJhd1ZhbHVlKCk7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLnNlbGVjdGVkRGF0YT8uZmlsdGVyKHggPT4geC5pZCA9PT0gdGhpcy5lZGl0aW5nSWQpO1xyXG4gICAgICBpZiAoZmlsdGVyPy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICB0aGlzLm11bHRpTW9kZUV4dGVuZGVkQ29sdW1ucz8ubWFwKGMgPT4ge1xyXG4gICAgICAgICAgZmlsdGVyWzBdW2MuZmllbGRdID0gZm9ybURhdGFbYy5maWVsZF07XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmVkaXRCdWZmZXJEYXRhJC5uZXh0KGZvcm1EYXRhKTtcclxuICAgICAgdGhpcy5zaG93RWRpdEJ1ZmZlciA9IGZhbHNlO1xyXG4gICAgfSBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhleCk7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoZXgubWVzc2FnZSB8fCAnQW4gZXJyb3Igb2NjdXJlZCB3aGlsZSB0cnlpbmcgdG8gdXBkYXRlIHNlbGVjdGVkRGF0YScsIG5vbmVBdXRvQ2xvc2VkQWxlcnRPcHRpb25zKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVkaXRCdWZmZXJDYW5jZWwoZTogYW55KSB7XHJcbiAgICB0aGlzLnNob3dFZGl0QnVmZmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRCdWZmZXJGb3JtQ3JlYXRlZChlOiBGb3JtR3JvdXApIHtcclxuICAgIHRoaXMuZWRpdEJ1ZmZlckZvcm0gPSBlO1xyXG4gIH1cclxuXHJcbiAgaXNTb3VyY2VPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc291cmNlT3BlbjtcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmNsaWNrZWRJdGVtID0gZTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWRJdGVtSXNJblRoZUxpc3QoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmxpc3QuZmlsdGVyKHggPT4geC5pZCA9PT0gdGhpcy5jbGlja2VkSXRlbT8uaWQpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIG9uTGlzdENoYW5nZShlOiBhbnlbXSkge1xyXG4gICAgaWYgKGUuY29uc3RydWN0b3IgPT09IEFycmF5KSB7XHJcbiAgICAgIHRoaXMubGlzdCA9IGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxpc3QgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiPGRpdiAjY29udGFpbmVyIGNsYXNzPVwiY29yZS1mb3JtLWNvbnRyb2wtc2Vla2VyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBbY2xhc3MuZC1ub25lXT1cIiEhbXVsdGlNb2RlXCI+XHJcbiAgICAgICAgPGxhYmVsICNzaG93blRleHQgdHlwZT1cInRleHRcIiBjbGFzcz1cInRleHQgZm9ybS1jb250cm9sIHBvaW50ZXJcIiBbY2xhc3MuZm9ybS1jb250cm9sLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tTZWVrKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gW2FwcFRvb2x0aXBdPVwidmFsdWVUb1Nob3dcIj57eyB2YWx1ZVRvU2hvdyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIEBpZiAoIW11bHRpTW9kZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhci1pY29uLXdyYXBwZXJcIiBbY2xhc3MuZC1ub25lXT1cIiEhZGlzYWJsZWQgfHwgISEhdmFsdWVcIiAoY2xpY2spPVwib25DbGlja0NsZWFyKClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtd3JhcHBlclwiIFthcHBUb29sdGlwXT1cIidVSS5DT1JFX0NPTlRPTF9DT01NT05fQ0xFQVInIHwgdHJhbnNsYXRlOiBsYW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZlYXRoZXIteFwiPjwvaT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2Vla2VyLWljb24td3JhcHBlclwiIFtjbGFzcy5mb3JtLWNvbnRyb2wtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbY2xhc3MubXVsdGktbW9kZV09XCIhIW11bHRpTW9kZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tTZWVrKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC13cmFwcGVyXCIgW2NsYXNzLmZvcm0tY29udHJvbC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZlYXRoZXItc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKCEhbXVsdGlNb2RlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29yZS10YWJiZS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvcmUtdGFibGUgW2hlaWdodF09XCJtdWx0aU1vZGVUYWJsZUhlaWdodFwiIFtjb2x1bW5zXT1cIm11bHRpTW9kZUNvbHVtbnNcIiBbZGF0YV09XCJzZWxlY3RlZERhdGFcIlxyXG4gICAgICAgICAgICBbc2hvd1Rvb2xzXT1cIiEhIWRpc2FibGVkXCIgW3Rvb2xzXT1cInRvb2xzXCIgW2xhenlMb2FkaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbcm93SGVpZ2h0XT1cIihtdWx0aU1vZGVSb3dIZWlnaHQgfHwgNDYpICsgJ3B4J1wiIFtzZWFyY2hTd2l0Y2hEaXNhYmxlZF09XCJ0cnVlXCIgW2Rpc2FibGVTb3J0aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICAob25Ub29sQ2xpY2spPVwib25Ub29sQ2xpY2soJGV2ZW50KVwiIChvblJvd0RvdWJsZUNsaWNrKT1cIm9uU2VsZWN0ZWREYXRhUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiPjwvY29yZS10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoISFzb3VyY2VPcGVuKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnQtcm9vdFwiIFtuZ1N0eWxlXT1cInsgcGFkZGluZzogJzBweCcgfVwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZS1zcGFjZVwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgIGhlaWdodDogc291cmNlU3BhY2VIZWlnaHQgKyAncHgnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxyXG4gICAgICAgICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIEBpZiAoc2hvd1BhZ2VIZWFkZXIpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXItcGFuZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y29yZS1wYWdlLWhlYWRlciBbdGl0bGVdPVwidGl0bGVcIiBbaGlkZUJ1dHRvbkdyb3VwXT1cInRydWVcIj48L2NvcmUtcGFnZS1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2UtY29udGFpbmVyXCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogc291cmNlQ29udGFpbmVySGVpZ2h0ICsgJ3B4JyxcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAnMHB4JyxcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nQm90dG9tOiAnMHB4J1xyXG4gICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiY2xvc2UtaWNvbiBmZWF0aGVyLXhcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kLWJsb2NrXT1cInNlZWtlclNvdXJjZVR5cGU9PT0nT1JHQU5JWkFUSU9OX1VOSVRfU0VFSydcIj48L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBzd2l0Y2ggKHNlZWtlclNvdXJjZVR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ0pPQl9TRUVLJykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJqb2JTZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnRU1QTE9ZRUVfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wbG95ZWVTZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnQ09OVFJBQ1RfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJhY3RTZWVrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBjYXNlICgnV09SS0lOR19TRUVLJykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ3b3JraW5nU2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ1dBR0VfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwid2FnZVNlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdPUkdBTklaQVRJT05fVU5JVF9TRUVLJykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcmdhbml6YXRpb25Vbml0U2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ1BPU0lUSU9OX1NFRUsnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBvc2l0aW9uU2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ1BPU0lUSU9OX0NPTkNVUlJFTlRfU0VFSycpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicG9zaXRpb25Db25jdXJyZW50U2Vla1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoKHNlZWtlclNvdXJjZVR5cGUgPT09ICdPUkdBTklaQVRJT05fVU5JVF9TRUVLJyAmJiAhIWNsaWNrZWRJdGVtKSB8fCAoISFtdWx0aU1vZGUgJiYgISFwZW5kaW5nU2VsZWN0ZWREYXRhPy5sZW5ndGgpIHx8ICghbXVsdGlNb2RlICYmICEhY2xpY2tlZEl0ZW1Jc0luVGhlTGlzdCgpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvblNlbGVjdCgpXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVSV9DT1JFX0NPTkZJUk1fRElBTE9HX0JVVFRPTl9TRUxFQ1QnIHwgdHJhbnNsYXRlOiBsYW5nIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVSV9DT1JFX0NPTkZJUk1fRElBTE9HX0JVVFRPTl9DQU5DRUwnIHwgdHJhbnNsYXRlOiBsYW5nIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2pvYlNlZWs+XHJcbiAgICA8Y29yZS1qb2Itc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zSm9iXCIgW3ByZURlZmluZWRPdXRlclBhcmFtJF09XCJwcmVEZWZpbmVkT3V0ZXJQYXJhbSRcIlxyXG4gICAgICAgIFtwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXT1cInByZURlZmluZWRPdXRlckZpbHRlciRcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICAocm93RG91YmxlQ2xpY2spPVwib25Sb3dEb3VibGVDbGljaygkZXZlbnQpXCIgKGNvbHVtbnNJbml0KT1cIm9uQ29sdW1uc0luaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCIgXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxpc3RDaGFuZ2UpPVwib25MaXN0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiY2hpbGRDb21wb25lbnRIZWlnaHRcIlxyXG4gICAgICAgID48L2NvcmUtam9iLXNlZWtlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZW1wbG95ZWVTZWVrPlxyXG4gICAgPGNvcmUtZW1wbG95ZWUtc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zRW1wbG95ZWVcIiBbcHJlRGVmaW5lZE91dGVyUGFyYW0kXT1cInByZURlZmluZWRPdXRlclBhcmFtJFwiXHJcbiAgICAgICAgW3ByZURlZmluZWRPdXRlckZpbHRlciRdPVwicHJlRGVmaW5lZE91dGVyRmlsdGVyJFwiIFttdWx0aU1vZGVdPVwibXVsdGlNb2RlXCIgW2V4Y2x1ZGVkSWRzJF09XCJleGNsdWRlZElkcyRcIlxyXG4gICAgICAgIChyb3dEb3VibGVDbGljayk9XCJvblJvd0RvdWJsZUNsaWNrKCRldmVudClcIiAoY29sdW1uc0luaXQpPVwib25Db2x1bW5zSW5pdCgkZXZlbnQpXCJcclxuICAgICAgICAoc2VsZWN0ZWREYXRhQ2hhbmdlKT1cIm9uU2VsZWN0ZWREYXRhQ2hhbmdlKCRldmVudClcIiBcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobGlzdENoYW5nZSk9XCJvbkxpc3RDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2hlaWdodF09XCJjaGlsZENvbXBvbmVudEhlaWdodFwiXHJcbiAgICAgICAgPjwvY29yZS1lbXBsb3llZS1zZWVrZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRyYWN0U2Vlaz5cclxuICAgIDxjb3JlLWNvbnRyYWN0LXNlZWtlciBbZXhjbHVkZWRDb2x1bW5zXT1cImV4Y2x1ZGVkQ29sdW1uc0NvbnRyYWN0XCIgW3ByZURlZmluZWRPdXRlclBhcmFtJF09XCJwcmVEZWZpbmVkT3V0ZXJQYXJhbSRcIlxyXG4gICAgICAgIFtwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXT1cInByZURlZmluZWRPdXRlckZpbHRlciRcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICAocm93RG91YmxlQ2xpY2spPVwib25Sb3dEb3VibGVDbGljaygkZXZlbnQpXCIgKGNvbHVtbnNJbml0KT1cIm9uQ29sdW1uc0luaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCIgXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxpc3RDaGFuZ2UpPVwib25MaXN0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiY2hpbGRDb21wb25lbnRIZWlnaHRcIlxyXG4gICAgICAgID48L2NvcmUtY29udHJhY3Qtc2Vla2VyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN3b3JraW5nU2Vlaz5cclxuICAgIDxjb3JlLXdvcmtpbmctc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zV29ya2luZ1wiIFtwcmVEZWZpbmVkT3V0ZXJQYXJhbSRdPVwicHJlRGVmaW5lZE91dGVyUGFyYW0kXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbZXhjbHVkZWRJZHMkXT1cImV4Y2x1ZGVkSWRzJFwiXHJcbiAgICAgICAgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiIChjb2x1bW5zSW5pdCk9XCJvbkNvbHVtbnNJbml0KCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3RlZERhdGFDaGFuZ2UpPVwib25TZWxlY3RlZERhdGFDaGFuZ2UoJGV2ZW50KVwiIFxyXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChsaXN0Q2hhbmdlKT1cIm9uTGlzdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbaGVpZ2h0XT1cImNoaWxkQ29tcG9uZW50SGVpZ2h0XCJcclxuICAgICAgICA+PC9jb3JlLXdvcmtpbmctc2Vla2VyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN3YWdlU2Vlaz5cclxuICAgIDxjb3JlLXdhZ2Utc2Vla2VyIFtleGNsdWRlZENvbHVtbnNdPVwiZXhjbHVkZWRDb2x1bW5zV2FnZVwiIFtwcmVEZWZpbmVkT3V0ZXJQYXJhbSRdPVwicHJlRGVmaW5lZE91dGVyUGFyYW0kXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbZXhjbHVkZWRJZHMkXT1cImV4Y2x1ZGVkSWRzJFwiXHJcbiAgICAgICAgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiIChjb2x1bW5zSW5pdCk9XCJvbkNvbHVtbnNJbml0KCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3RlZERhdGFDaGFuZ2UpPVwib25TZWxlY3RlZERhdGFDaGFuZ2UoJGV2ZW50KVwiIFxyXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChsaXN0Q2hhbmdlKT1cIm9uTGlzdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbaGVpZ2h0XT1cImNoaWxkQ29tcG9uZW50SGVpZ2h0XCJcclxuICAgICAgICA+PC9jb3JlLXdhZ2Utc2Vla2VyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwb3NpdGlvblNlZWs+XHJcbiAgICA8Y29yZS1wb3NpdGlvbi1zZWVrZXIgW2V4Y2x1ZGVkQ29sdW1uc109XCJleGNsdWRlZENvbHVtbnNQb3NpdGlvblwiIFtwcmVEZWZpbmVkT3V0ZXJQYXJhbSRdPVwicHJlRGVmaW5lZE91dGVyUGFyYW0kXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbZXhjbHVkZWRJZHMkXT1cImV4Y2x1ZGVkSWRzJFwiXHJcbiAgICAgICAgW3NlZWtlclZlcmlmeUlnbm9yZV09XCJzZWVrZXJWZXJpZnlJZ25vcmVcIiAocm93RG91YmxlQ2xpY2spPVwib25Sb3dEb3VibGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoY29sdW1uc0luaXQpPVwib25Db2x1bW5zSW5pdCgkZXZlbnQpXCIgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobGlzdENoYW5nZSk9XCJvbkxpc3RDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2hlaWdodF09XCJjaGlsZENvbXBvbmVudEhlaWdodFwiXHJcbiAgICAgICAgPjwvY29yZS1wb3NpdGlvbi1zZWVrZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3Bvc2l0aW9uQ29uY3VycmVudFNlZWs+XHJcbiAgICA8Y29yZS1wb3NpdGlvbi1jb25jdXJyZW50LXNlZWtlciBbZXhjbHVkZWRDb2x1bW5zXT1cImV4Y2x1ZGVkQ29sdW1uc1Bvc2l0aW9uQ29uY3VycmVudFwiXHJcbiAgICAgICAgW3ByZURlZmluZWRPdXRlclBhcmFtJF09XCJwcmVEZWZpbmVkT3V0ZXJQYXJhbSRcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICBbcHJlRGVmaW5lZE91dGVyRmlsdGVyJF09XCJwcmVEZWZpbmVkT3V0ZXJGaWx0ZXIkXCIgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbHVtbnNJbml0KT1cIm9uQ29sdW1uc0luaXQoJGV2ZW50KVwiIChzZWxlY3RlZERhdGFDaGFuZ2UpPVwib25TZWxlY3RlZERhdGFDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGxpc3RDaGFuZ2UpPVwib25MaXN0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiY2hpbGRDb21wb25lbnRIZWlnaHRcIlxyXG4gICAgICAgID48L2NvcmUtcG9zaXRpb24tY29uY3VycmVudC1zZWVrZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI29yZ2FuaXphdGlvblVuaXRTZWVrPlxyXG4gICAgPGNvcmUtb3JnLXVuaXQtc2Vla2VyIFtleGNsdWRlZElkcyRdPVwiZXhjbHVkZWRJZHMkXCJcclxuICAgICAgICAoaXRlbURvdWJsZUNsaWNrKT1cIm9uSXRlbURvdWJsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChpdGVtQ2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICBbaGVpZ2h0XT1cImNoaWxkQ29tcG9uZW50SGVpZ2h0XCJcclxuICAgICAgICA+PC9jb3JlLW9yZy11bml0LXNlZWtlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYXZhdGFyIGxldC1hdmF0YXI9XCJjb250ZXh0LmF2YXRhclwiPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciAhPSBudWxsXCIgW3NyY109XCJhdmF0YXIgfCBtYXBBdmF0YXJUb1NlcnZlclwiIGNsYXNzPVwiaW4tdGFibGUtYXZhdGFyXCIgYXBwSW1hZ2VFcnJvclJlc29sdmVyPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciA9PSBudWxsXCIgW3NyY109XCJkZWZhdWx0QXZhdGFyXCIgY2xhc3M9XCJpbi10YWJsZS1hdmF0YXJcIiBhcHBJbWFnZUVycm9yUmVzb2x2ZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc3RpY2tlciBsZXQtY29kZT1cImNvbnRleHQuYWN0ZmxnXCI+XHJcbiAgICA8Y29yZS1zdGF0dXMtc3RpY2tlciBbY29kZV09XCJjb2RlXCIgW2lzVHJ1ZUNvZGVdPVwidHJ1ZVwiPjwvY29yZS1zdGF0dXMtc3RpY2tlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgW2NsYXNzLmQtbm9uZV09XCIhc2hvd0VkaXRCdWZmZXJcIj5cclxuICAgIDxjb3JlLXBhZ2UtZWRpdC1saXRlIFtzZWN0aW9uc109XCJtdWx0aU1vZGVFeHRlbmRlZFNlY3Rpb25zXCIgKG9uRm9ybUNyZWF0ZWQpPVwib25FZGl0QnVmZmVyRm9ybUNyZWF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHN1Ym1pdExvZ2ljKT1cIm9uRWRpdEJ1ZmZlclN1Ym1pdCgkZXZlbnQpXCIgKGNhbmNlbExvZ2ljKT1cIm9uRWRpdEJ1ZmZlckNhbmNlbCgkZXZlbnQpXCI+PC9jb3JlLXBhZ2UtZWRpdC1saXRlPlxyXG48L2Rpdj4iXX0=
|
package/esm2022/lib/app/libraries/core-grid-buffer/core-grid-buffer/core-grid-buffer.component.mjs
CHANGED
|
@@ -77,7 +77,7 @@ export class CoreGridBufferComponent extends CoreFormControlBaseComponent {
|
|
|
77
77
|
multi: true,
|
|
78
78
|
useExisting: CoreGridBufferComponent
|
|
79
79
|
}
|
|
80
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-grid-buffer-container\" *ngIf=\"!!form\">\r\n\r\n <form (ngSubmit)=\"onFormSubmit()\" [formGroup]=\"form\" autocomplete=\"off\">\r\n\r\n <div *ngFor=\"let section of formSections\" class=\"section\">\r\n\r\n <div class=\"section-header-label\" *ngIf=\"section.caption\">\r\n <div class=\"icon-info\"></div>\r\n <label>{{ section.caption | translate: lang }}</label>\r\n </div>\r\n\r\n <div *ngFor=\"let row of section.rows\" class=\"row mb15\">\r\n <div *ngFor=\"let col of row\" [class]=\"'col-md-' + col.flexSize\">\r\n <core-control-no-grid-buffer [control]=\"col\" [form]=\"form\"></core-control-no-grid-buffer>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"grid-buffer-submit d-flex-center\">\r\n <i class=\"feather-corner-left-down\" (click)=\"onFormSubmit()\"></i>\r\n </div>\r\n\r\n </form>\r\n\r\n <core-table [columns]=\"gridColumns\" [height]=\"300\" [data]=\"gridData\" [showTools]=\"showTools\" [tools]=\"tools\" headerHeight=\"60px\" rowHeight=\"46px\" [freeMode]=\"true\" (onToolClick)=\"onToolClick($event)\"></core-table>\r\n\r\n</div>", styles: [".core-grid-buffer-container .grid-buffer-submit{width:30px;height:30px;border-radius:10px;background-color:var(--color-basic-blue);margin-bottom:calc(var(--size-left-bar-block-cell-spacing) * 2);cursor:pointer}.core-grid-buffer-container .grid-buffer-submit i{font-size:20px;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CoreControlNoGridBufferComponent, selector: "core-control-no-grid-buffer", inputs: ["control", "form", "checkError$", "rangeLimit"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "noPaddingCell"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }] }); }
|
|
80
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"core-grid-buffer-container\" *ngIf=\"!!form\">\r\n\r\n <form (ngSubmit)=\"onFormSubmit()\" [formGroup]=\"form\" autocomplete=\"off\">\r\n\r\n <div *ngFor=\"let section of formSections\" class=\"section\">\r\n\r\n <div class=\"section-header-label\" *ngIf=\"section.caption\">\r\n <div class=\"icon-info\"></div>\r\n <label>{{ section.caption | translate: lang }}</label>\r\n </div>\r\n\r\n <div *ngFor=\"let row of section.rows\" class=\"row mb15\">\r\n <div *ngFor=\"let col of row\" [class]=\"'col-md-' + col.flexSize\">\r\n <core-control-no-grid-buffer [control]=\"col\" [form]=\"form\"></core-control-no-grid-buffer>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"grid-buffer-submit d-flex-center\">\r\n <i class=\"feather-corner-left-down\" (click)=\"onFormSubmit()\"></i>\r\n </div>\r\n\r\n </form>\r\n\r\n <core-table [columns]=\"gridColumns\" [height]=\"300\" [data]=\"gridData\" [showTools]=\"showTools\" [tools]=\"tools\" headerHeight=\"60px\" rowHeight=\"46px\" [freeMode]=\"true\" (onToolClick)=\"onToolClick($event)\"></core-table>\r\n\r\n</div>", styles: [".core-grid-buffer-container .grid-buffer-submit{width:30px;height:30px;border-radius:10px;background-color:var(--color-basic-blue);margin-bottom:calc(var(--size-left-bar-block-cell-spacing) * 2);cursor:pointer}.core-grid-buffer-container .grid-buffer-submit i{font-size:20px;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CoreControlNoGridBufferComponent, selector: "core-control-no-grid-buffer", inputs: ["control", "form", "checkError$", "rangeLimit"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "noPaddingCell"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }] }); }
|
|
81
81
|
}
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreGridBufferComponent, decorators: [{
|
|
83
83
|
type: Component,
|